From d219cc394aa1a0590185d5cbd9432ad780bf89ac Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 22 Dec 2023 01:02:31 +0000 Subject: [PATCH] v1.0.16 --- dist/125.index.js | 870 + dist/125.index.js.map | 1 + dist/154.index.js | 19880 ++++++ dist/154.index.js.map | 1 + dist/327.index.js | 16370 +++++ dist/327.index.js.map | 1 + dist/394.index.js | 844 + dist/394.index.js.map | 1 + dist/885.index.js | 129850 ++++++++++++++++++++++++++++++++++ dist/885.index.js.map | 1 + dist/action.yml | 34 + dist/index.js | 24536 +++++++ dist/index.js.map | 1 + dist/licenses.txt | 1065 + dist/sourcemap-register.js | 1 + 15 files changed, 193456 insertions(+) create mode 100644 dist/125.index.js create mode 100644 dist/125.index.js.map create mode 100644 dist/154.index.js create mode 100644 dist/154.index.js.map create mode 100644 dist/327.index.js create mode 100644 dist/327.index.js.map create mode 100644 dist/394.index.js create mode 100644 dist/394.index.js.map create mode 100644 dist/885.index.js create mode 100644 dist/885.index.js.map create mode 100644 dist/action.yml create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/licenses.txt create mode 100644 dist/sourcemap-register.js diff --git a/dist/125.index.js b/dist/125.index.js new file mode 100644 index 0000000..de63cec --- /dev/null +++ b/dist/125.index.js @@ -0,0 +1,870 @@ +"use strict"; +exports.id = 125; +exports.ids = [125]; +exports.modules = { + +/***/ 19933: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BaseCollector = void 0; +const catalog_model_1 = __webpack_require__(70606); +class BaseCollector { + constructor(entities) { + this.entities = []; + this.entityCatalog = {}; + this.entities = entities; + this.entityCatalog = entities.reduce((acc, e) => ({ ...acc, [(0, catalog_model_1.stringifyEntityRef)(e)]: e }), {}); + } + getSystemEntities() { + return this.entities.filter(catalog_model_1.isSystemEntity).sort(this.sortByName); + } + getApiEntities() { + return this.entities.filter(catalog_model_1.isApiEntity).sort(this.sortByName); + } + getResourceEntities() { + return this.entities.filter(catalog_model_1.isResourceEntity).sort(this.sortByName); + } + getEntityTags(entity) { + return entity.metadata.tags?.join(" ") || "None"; + } + sortByName(a, b) { + return a.metadata.name.localeCompare(b.metadata.name); + } +} +exports.BaseCollector = BaseCollector; + + +/***/ }), + +/***/ 8554: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MetricsCollector = void 0; +const catalog_model_1 = __webpack_require__(70606); +const base_collector_1 = __webpack_require__(19933); +const multisigs_collector_1 = __webpack_require__(25498); +class MetricsCollector extends base_collector_1.BaseCollector { + constructor(entities, opts = {}) { + super(entities); + this.multisigInfos = []; + this.apiEntities = []; + this.resourceEntities = []; + this.contracts = []; + this.accessKeys = []; + this.apiEntities = this.getApiEntities(); + this.resourceEntities = this.getResourceEntities(); + this.contracts = this.apiEntities.filter((item) => item.spec?.type === "contract-deployment"); + this.accessKeys = this.resourceEntities.filter((item) => item.spec?.type === "access-key"); + this.multisigInfos = new multisigs_collector_1.MultisigsCollector(entities) + .collectSystems(opts) + .flatMap((system) => system.components.flatMap((component) => component.multisigs)) + .filter(this.isDefined); + } + getAllApis() { + return this.apiEntities; + } + getAllResources() { + return this.resourceEntities; + } + getMultisigs() { + return this.multisigInfos; + } + getNearContracts() { + return this.contracts.filter((entity) => entity.spec?.network === "near"); + } + getSigners() { + const allSigners = this.getMultisigs().flatMap((ms) => ms.signers); + const uniqueSigners = allSigners.reduce((acc, signer) => { + const uid = signer.signer.metadata.uid; + if (uid && uid in allSigners) { + return acc; + } + if (!this.isQualifiedEntity(signer.signer)) { + return acc; + } + return { ...acc, [uid]: signer }; + }, {}); + return Object.values(uniqueSigners); + } + getMultisigAccessKeys() { + const signers = this.getSigners().filter((value) => value.signer.spec?.network === "near"); + const keys = signers.flatMap((value) => { + if (!value.signer.relations) { + return []; + } + return value.signer.relations + .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY && + (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "resource") + .map((relation) => { + const key = this.entityCatalog[relation.targetRef]; + return key; + }); + }); + return keys.filter(this.isEntity).filter(this.isQualifiedEntity); + } + getAccessKeysPerSigner() { + const signers = this.getSigners().filter((value) => value.signer.spec?.network === "near"); + const keysPerSigner = signers.reduce((acc, value) => { + if (!value.signer.relations) { + return acc; + } + const spec = JSON.parse(JSON.stringify(value.signer.spec)); + const signer = spec.address; + const keys = value.signer.relations + .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY && + (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "resource") + .map((relation) => { + const key = this.entityCatalog[relation.targetRef]; + return key; + }) + .filter(this.isEntity); + return { + ...acc, + [signer]: { + owner: value.owner, + signer: value.signer, + keys, + }, + }; + }, {}); + return keysPerSigner; + } + getContractAccessKeys() { + const keys = this.contracts.flatMap((value) => { + if (!value.relations) { + return []; + } + return value.relations + .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY && + (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "resource") + .map((relation) => { + const key = this.entityCatalog[relation.targetRef]; + return key; + }); + }); + return keys.filter(this.isEntity); + } + getAllAccessKeys() { + return this.accessKeys; + } + getDeprecatedAccessKeys() { + const keys = this.getAllAccessKeys(); + const deprecated = keys.filter((entity) => entity.metadata.tags?.includes("deprecated")); + return deprecated; + } + getUnknownAccessKeys() { + const keys = this.getAllAccessKeys(); + const unknown = keys.filter((entity) => entity.metadata.tags?.includes("unknown")); + return unknown; + } + isQualifiedEntity(entity) { + return (!entity.metadata.tags?.includes("retired") && + !entity.metadata.tags?.includes("allow-unknown")); + } + isEntity(entity) { + return entity !== undefined; + } + isDefined(entity) { + return entity !== undefined; + } +} +exports.MetricsCollector = MetricsCollector; + + +/***/ }), + +/***/ 25498: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MultisigsCollector = void 0; +const catalog_model_1 = __webpack_require__(70606); +const base_collector_1 = __webpack_require__(19933); +class MultisigsCollector extends base_collector_1.BaseCollector { + collectSystems(opts) { + return this.getSystemEntities() + .reduce((acc, system) => { + if (opts.scope && system.spec?.owner !== opts.scope) { + return acc; + } + const components = this.collectComponents(system, opts); + if (components.some((c) => c.multisigs?.length)) { + return [ + ...acc, + { + title: system.metadata.title || system.metadata.name, + system, + components, + }, + ]; + } + return acc; + }, []) + .sort((a, b) => this.sortByName(a.system, b.system)); + } + collectComponents(system, opts = {}) { + const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART && + (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "component"); + return componentRefs + .reduce((acc, componentRef) => { + const component = this.entityCatalog[componentRef.targetRef]; + if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) { + return acc; + } + const multisigs = this.collectMultisigs(componentRef); + if (multisigs.length) { + return [ + ...acc, + { + title: component.metadata.title || component.metadata.name, + component, + multisigs, + tags: this.getEntityTags(component), + }, + ]; + } + return acc; + }, []) + .sort((a, b) => this.sortByName(a.component, b.component)); + } + collectMultisigs(componentRef) { + return this.getApiEntities() + .filter((item) => item.relations.some((r) => item.spec?.type === "multisig-deployment" && + r.type === catalog_model_1.RELATION_API_PROVIDED_BY && + r.targetRef === componentRef.targetRef)) + .map((entity) => ({ + entity: entity, + signers: this.collectSigners(entity), + tags: this.getEntityTags(entity), + })); + } + collectSigners(multisig) { + return multisig + .relations.filter((r) => r.type === catalog_model_1.RELATION_OWNED_BY && + (0, catalog_model_1.parseEntityRef)(r.targetRef).kind !== "group") + .map((r) => { + const signer = this.entityCatalog[r.targetRef]; + const owner = this.entityCatalog[signer.spec.owner.toString()]; + return { + signer, + owner, + tags: this.getEntityTags(signer), + }; + }) + .sort((a, b) => this.sortByName(a.owner, b.owner)); + } +} +exports.MultisigsCollector = MultisigsCollector; + + +/***/ }), + +/***/ 11125: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.backstageMetrics = exports.BackstageMetrics = void 0; +const core = __importStar(__webpack_require__(68434)); +const datadog_api_client_1 = __webpack_require__(86885); +const metrics_collector_1 = __webpack_require__(8554); +const get_backstage_entities_1 = __webpack_require__(53249); +const configuration = datadog_api_client_1.client.createConfiguration(); +configuration.setServerVariables({ site: "datadoghq.eu" }); +const apiInstance = new datadog_api_client_1.v2.MetricsApi(configuration); +const DATADOG_GAUGE_TYPE = 3; +const SIGNER_POLICY_LIMIT_MS = 180 * 86400 * 1000; // amount of days * seconds in day * milliseconds in second +class BackstageMetrics { +} +exports.BackstageMetrics = BackstageMetrics; +async function backstageMetrics({ backstage_url, testing, }) { + if (!backstage_url) + return; + const entities = await (0, get_backstage_entities_1.getBackstageEntities)({ backstage_url }); + const collector = new metrics_collector_1.MetricsCollector(entities); + try { + const multisigSeries = generateMultisigMetrics(collector, backstage_url); + const signerSeries = generateSignerMetrics(collector, backstage_url); + const keySeries = generateAccessKeyMetrics(collector, backstage_url); + const keyCountByOwnerSeries = generateUserAccessKeyMetrics(collector, backstage_url); + const keyCountByContractSeries = generateContractAccessKeyMetrics(collector, backstage_url); + const deprecatedKeysSeries = generateDeprecatedAccessKeyMetrics(collector, backstage_url); + const unknownAccessKeysSeries = generateUnknownAccessKeyMetrics(collector, backstage_url); + const unknownSignerSeries = generateUnknownSignerMetrics(collector, backstage_url); + const unknownAddressSeries = generateUnknownAddressMetrics(collector, backstage_url); + const inactiveSignerSeries = generateInactiveSignerMetrics(collector, backstage_url); + // const unverifiedContractSeries = generateUnverifiedContractsMetrics(multisigsCollector, backstage_url); + if (testing) { + return []; + } + const data = await Promise.all([ + submitMetrics(multisigSeries), + submitMetrics(signerSeries), + submitMetrics(keySeries), + submitMetrics(keyCountByOwnerSeries), + submitMetrics(keyCountByContractSeries), + submitMetrics(deprecatedKeysSeries), + submitMetrics(unknownAccessKeysSeries), + submitMetrics(unknownSignerSeries), + submitMetrics(unknownAddressSeries), + submitMetrics(inactiveSignerSeries), + // submitMetrics(unverifiedContractSeries) + ]); + core.info(`API called successfully. Returned data: ${JSON.stringify(data)}`); + return data; + } + catch (error) { + core.error(error); + } +} +exports.backstageMetrics = backstageMetrics; +async function submitMetrics(series) { + const params = { + body: { + series, + }, + }; + core.info(`Data to upload: ${JSON.stringify(params)}`); + return apiInstance.submitMetrics(params); +} +function generateMultisigMetrics(collector, backstageUrl) { + const series = collector.getMultisigs().map((multisig) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = multisig.entity; + const { name } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(multisig.entity.spec)); + const { address, network, networkType, system: rawSystem, owner: rawOwner, } = spec; + const system = rawSystem.split(":")[1]; + const owner = rawOwner.split(":")[1]; + const timestamp = Math.round(new Date(spec.multisig.fetchDate).getTime() / 1000); + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "api", name }, + { type: "address", name: address }, + { type: "kind", name: kind }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "system", name: system }, + { type: "owner", name: owner }, + ]; + const { version } = spec.multisig; + // datadog requires point value to be scalar + const value = parseFloat(version); + const points = [{ timestamp, value }]; + return { + metric: "backstage.multisigs.version", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateSignerMetrics(collector, backstageUrl) { + const series = collector.getSigners().map((signer) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = signer.signer; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(signer.signer.spec)); + const { address, network, networkType, owner: rawOwner } = spec; + const owner = rawOwner.split(":")[1].split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "address", name: address }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "owner", name: owner }, + ]; + // datadog requires point value to be scalar, 0 means unknown ownership + const value = namespace === "stub" ? 0 : 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.signers", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateUnknownSignerMetrics(collector, backstageUrl) { + const unknownSigners = collector + .getSigners() + .filter((entry) => entry.signer.metadata.tags?.includes("stub") || + entry.signer.metadata.namespace === "stub"); + const series = unknownSigners.map((signer) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = signer.signer; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(signer.signer.spec)); + const { address, network, networkType, owner: rawOwner } = spec; + const owner = rawOwner.split(":")[1].split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "address", name: address }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "owner", name: owner }, + ]; + // datadog requires point value to be scalar, 0 means unknown ownership + const value = 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.signers.unknown", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function generateUnverifiedContractsMetrics(collector, backstageUrl) { + const unverifiedContracts = collector + .getAllApis() + .filter((entity) => entity.metadata.tags?.includes("unverified")); + const series = unverifiedContracts.map((entity) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = entity; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(entity.spec)); + const { address, network, networkType, owner: rawOwner } = spec; + const owner = rawOwner.split(":")[1].split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "address", name: address }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "owner", name: owner }, + ]; + // datadog requires point value to be scalar, 0 means unknown ownership + const value = 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.reports.unverified=contracts", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateUnknownAddressMetrics(collector, backstageUrl) { + const stubAndStateEntities = collector + .getAllResources() + .filter((entry) => entry.metadata.tags?.includes("stub") && + entry.metadata.tags?.includes("contract-state")); + const series = stubAndStateEntities.map((entity) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = entity; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(entity.spec)); + const { address, network, networkType, owner: rawOwner } = spec; + const owner = rawOwner.split(":")[1].split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "address", name: address }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "owner", name: owner }, + ]; + // datadog requires point value to be scalar, 0 means unknown ownership + const value = 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.reports.unknown-addresses", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateAccessKeyMetrics(collector, backstageUrl) { + const series = collector + .getMultisigAccessKeys() + .map((key) => { + // entities are typically emitted as Resource kind, + // tracking for inconsistencies + const { kind, metadata } = key; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(key.spec)); + const { owner: rawOwner } = spec; + const [ownerKind, ownerRef] = rawOwner.split(":"); + const ownerName = ownerRef.split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "owner", name: ownerName }, + { type: "ownerKind", name: ownerKind }, + ]; + const value = namespace === "stub" || ownerKind !== "user" ? 0 : 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.access_keys", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateDeprecatedAccessKeyMetrics(collector, backstageUrl) { + const series = collector + .getDeprecatedAccessKeys() + .map((key) => { + // entities are typically emitted as Resource kind, + // tracking for inconsistencies + const { kind, metadata } = key; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(key.spec)); + const { owner: rawOwner } = spec; + const [ownerKind, ownerRef] = rawOwner.split(":"); + const ownerName = ownerRef.split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "owner", name: ownerName }, + { type: "ownerKind", name: ownerKind }, + ]; + const value = ownerKind !== "user" ? 0 : 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.access_keys.deprecated", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateUnknownAccessKeyMetrics(collector, backstageUrl) { + const series = collector + .getUnknownAccessKeys() + .map((key) => { + // entities are typically emitted as Resource kind, + // tracking for inconsistencies + const { kind, metadata } = key; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(key.spec)); + const { owner: rawOwner } = spec; + const [ownerKind, ownerRef] = rawOwner.split(":"); + const ownerName = ownerRef.split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "owner", name: ownerName }, + { type: "ownerKind", name: ownerKind }, + ]; + const value = 1; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.access_keys.unknown", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateUserAccessKeyMetrics(collector, backstageUrl) { + const series = Object.entries(collector.getAccessKeysPerSigner()).map(([signer, entry]) => { + const spec = JSON.parse(JSON.stringify(entry.signer.spec)); + const { owner } = spec; + const ownerName = `${owner}/${signer}`; + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "owner", name: ownerName }, + { type: "user", name: owner }, + { type: "signer", name: signer }, + ]; + const value = entry.keys.length; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.access_keys_owned_count", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateContractAccessKeyMetrics(collector, backstageUrl) { + const accessKeysPerContract = collector + .getContractAccessKeys() + .reduce((acc, key) => { + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(key.spec)); + const { owner } = spec; + return { + ...acc, + [owner]: [...(acc[owner] || []), key], + }; + }, {}); + const series = Object.entries(accessKeysPerContract).map(([owner, keys]) => { + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "owner", name: owner }, + ]; + const value = keys.length; + const timestamp = Math.round(new Date().getTime() / 1000); + const points = [{ timestamp, value }]; + return { + metric: "backstage.access_keys_by_contract_count", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} +function generateInactiveSignerMetrics(collector, backstageUrl) { + const series = collector.getSigners().map((entity) => { + // entities are typically emitted as API kind, + // tracking for inconsistencies + const { kind, metadata } = entity.signer; + const { name, namespace } = metadata; + // inferred type is JsonObject, this converts to any + const spec = JSON.parse(JSON.stringify(entity.signer.spec)); + const { address, network, networkType, owner: rawOwner } = spec; + const owner = rawOwner.split(":")[1].split("/")[1]; + // this tags timeseries with distinguishing + // properties for filtering purposes + const resources = [ + { + type: "host", + name: backstageUrl.split("@")[1], + }, + { type: "kind", name: kind }, + { type: "name", name }, + { type: "namespace", name: namespace }, + { type: "address", name: address }, + { type: "network", name: network }, + { type: "networkType", name: networkType }, + { type: "owner", name: owner }, + ]; + const now = new Date().getTime(); + const isPastThreshold = now - Number(spec.lastSigned) > SIGNER_POLICY_LIMIT_MS; + const value = isPastThreshold ? 1 : 0; + const points = [{ timestamp: now, value }]; + return { + metric: "backstage.signers.inactive", + type: DATADOG_GAUGE_TYPE, + points, + resources, + }; + }); + return series; +} + + +/***/ }), + +/***/ 53249: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getBackstageEntities = void 0; +const core = __importStar(__webpack_require__(68434)); +const catalog_client_1 = __webpack_require__(55497); +const simple_git_1 = __webpack_require__(84543); +const getBackstageEntities = async ({ backstage_url: backstageUrl, backstage_entities_repo: backstageEntitiesRepo, }) => { + if (backstageUrl) { + try { + return fetchBackstageEntitiesFromURL(backstageUrl); + } + catch (err) { + /* empty */ + } + } + // repo used as fallback to the URL in order to avoid unnecessary runtime + // dependency + if (backstageEntitiesRepo) { + return fetchBackstageEntitiesFromRepo(backstageEntitiesRepo); + } + throw new Error("Backstage URL or entities repo is required. Set BACKSTAGE_URL (github secret) or pass backstage_entities_repo argument to this action"); +}; +exports.getBackstageEntities = getBackstageEntities; +async function getFileContentFromRepo(repoUrl, filePath) { + const cloneDir = `/tmp/github-helpers-${Date.now()}`; + const git = (0, simple_git_1.simpleGit)(); + try { + await git.clone(repoUrl, cloneDir, ["--depth=1"]); + await git.cwd(cloneDir); + const { current } = await git.branch(); + const defaultBranch = current || "main"; + const fileContent = await git.show([ + `${defaultBranch}:${filePath}`, + ]); + await git.raw(["rm", "-rf", "."]); + return fileContent; + } + catch (error) { + throw new Error(`Failed to fetch ${repoUrl}/${filePath}: ${error}`); + } +} +async function fetchBackstageEntitiesFromURL(backstageUrl) { + core.info("Connecting to Backstage to fetch available entities"); + const discoveryApi = { + async getBaseUrl() { + return `${backstageUrl}/api/catalog`; + }, + }; + const catalogClient = new catalog_client_1.CatalogClient({ + discoveryApi, + }); + const entities = await catalogClient.getEntities({}); + core.info(`Total backstage entities: ${entities.items.length}`); + return entities.items; +} +async function fetchBackstageEntitiesFromRepo(backstageEntitiesRepo) { + const serverUrl = process.env.GITHUB_SERVER_URL || "https://github.com"; + const repoUrl = `${serverUrl}/${backstageEntitiesRepo}`; + core.info(`Cloning ${repoUrl}`); + const content = await getFileContentFromRepo(repoUrl, "filteredEntities.json"); + return JSON.parse(content); +} + + +/***/ }) + +}; +; +//# sourceMappingURL=125.index.js.map \ No newline at end of file diff --git a/dist/125.index.js.map b/dist/125.index.js.map new file mode 100644 index 0000000..3a1de31 --- /dev/null +++ b/dist/125.index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"125.index.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://backstage-blockchain-actions/./src/core/base-collector.ts","webpack://backstage-blockchain-actions/./src/core/metrics-collector.ts","webpack://backstage-blockchain-actions/./src/core/multisigs-collector.ts","webpack://backstage-blockchain-actions/./src/helpers/backstage-metrics.ts","webpack://backstage-blockchain-actions/./src/utils/get-backstage-entities.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nclass BaseCollector {\n constructor(entities) {\n this.entities = [];\n this.entityCatalog = {};\n this.entities = entities;\n this.entityCatalog = entities.reduce((acc, e) => ({ ...acc, [(0, catalog_model_1.stringifyEntityRef)(e)]: e }), {});\n }\n getSystemEntities() {\n return this.entities.filter(catalog_model_1.isSystemEntity).sort(this.sortByName);\n }\n getApiEntities() {\n return this.entities.filter(catalog_model_1.isApiEntity).sort(this.sortByName);\n }\n getResourceEntities() {\n return this.entities.filter(catalog_model_1.isResourceEntity).sort(this.sortByName);\n }\n getEntityTags(entity) {\n return entity.metadata.tags?.join(\" \") || \"None\";\n }\n sortByName(a, b) {\n return a.metadata.name.localeCompare(b.metadata.name);\n }\n}\nexports.BaseCollector = BaseCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nconst base_collector_1 = require(\"./base-collector\");\nconst multisigs_collector_1 = require(\"./multisigs-collector\");\nclass MetricsCollector extends base_collector_1.BaseCollector {\n constructor(entities, opts = {}) {\n super(entities);\n this.multisigInfos = [];\n this.apiEntities = [];\n this.resourceEntities = [];\n this.contracts = [];\n this.accessKeys = [];\n this.apiEntities = this.getApiEntities();\n this.resourceEntities = this.getResourceEntities();\n this.contracts = this.apiEntities.filter((item) => item.spec?.type === \"contract-deployment\");\n this.accessKeys = this.resourceEntities.filter((item) => item.spec?.type === \"access-key\");\n this.multisigInfos = new multisigs_collector_1.MultisigsCollector(entities)\n .collectSystems(opts)\n .flatMap((system) => system.components.flatMap((component) => component.multisigs))\n .filter(this.isDefined);\n }\n getAllApis() {\n return this.apiEntities;\n }\n getAllResources() {\n return this.resourceEntities;\n }\n getMultisigs() {\n return this.multisigInfos;\n }\n getNearContracts() {\n return this.contracts.filter((entity) => entity.spec?.network === \"near\");\n }\n getSigners() {\n const allSigners = this.getMultisigs().flatMap((ms) => ms.signers);\n const uniqueSigners = allSigners.reduce((acc, signer) => {\n const uid = signer.signer.metadata.uid;\n if (uid && uid in allSigners) {\n return acc;\n }\n if (!this.isQualifiedEntity(signer.signer)) {\n return acc;\n }\n return { ...acc, [uid]: signer };\n }, {});\n return Object.values(uniqueSigners);\n }\n getMultisigAccessKeys() {\n const signers = this.getSigners().filter((value) => value.signer.spec?.network === \"near\");\n const keys = signers.flatMap((value) => {\n if (!value.signer.relations) {\n return [];\n }\n return value.signer.relations\n .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY &&\n (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"resource\")\n .map((relation) => {\n const key = this.entityCatalog[relation.targetRef];\n return key;\n });\n });\n return keys.filter(this.isEntity).filter(this.isQualifiedEntity);\n }\n getAccessKeysPerSigner() {\n const signers = this.getSigners().filter((value) => value.signer.spec?.network === \"near\");\n const keysPerSigner = signers.reduce((acc, value) => {\n if (!value.signer.relations) {\n return acc;\n }\n const spec = JSON.parse(JSON.stringify(value.signer.spec));\n const signer = spec.address;\n const keys = value.signer.relations\n .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY &&\n (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"resource\")\n .map((relation) => {\n const key = this.entityCatalog[relation.targetRef];\n return key;\n })\n .filter(this.isEntity);\n return {\n ...acc,\n [signer]: {\n owner: value.owner,\n signer: value.signer,\n keys,\n },\n };\n }, {});\n return keysPerSigner;\n }\n getContractAccessKeys() {\n const keys = this.contracts.flatMap((value) => {\n if (!value.relations) {\n return [];\n }\n return value.relations\n .filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY &&\n (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"resource\")\n .map((relation) => {\n const key = this.entityCatalog[relation.targetRef];\n return key;\n });\n });\n return keys.filter(this.isEntity);\n }\n getAllAccessKeys() {\n return this.accessKeys;\n }\n getDeprecatedAccessKeys() {\n const keys = this.getAllAccessKeys();\n const deprecated = keys.filter((entity) => entity.metadata.tags?.includes(\"deprecated\"));\n return deprecated;\n }\n getUnknownAccessKeys() {\n const keys = this.getAllAccessKeys();\n const unknown = keys.filter((entity) => entity.metadata.tags?.includes(\"unknown\"));\n return unknown;\n }\n isQualifiedEntity(entity) {\n return (!entity.metadata.tags?.includes(\"retired\") &&\n !entity.metadata.tags?.includes(\"allow-unknown\"));\n }\n isEntity(entity) {\n return entity !== undefined;\n }\n isDefined(entity) {\n return entity !== undefined;\n }\n}\nexports.MetricsCollector = MetricsCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MultisigsCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nconst base_collector_1 = require(\"./base-collector\");\nclass MultisigsCollector extends base_collector_1.BaseCollector {\n collectSystems(opts) {\n return this.getSystemEntities()\n .reduce((acc, system) => {\n if (opts.scope && system.spec?.owner !== opts.scope) {\n return acc;\n }\n const components = this.collectComponents(system, opts);\n if (components.some((c) => c.multisigs?.length)) {\n return [\n ...acc,\n {\n title: system.metadata.title || system.metadata.name,\n system,\n components,\n },\n ];\n }\n return acc;\n }, [])\n .sort((a, b) => this.sortByName(a.system, b.system));\n }\n collectComponents(system, opts = {}) {\n const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&\n (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"component\");\n return componentRefs\n .reduce((acc, componentRef) => {\n const component = this.entityCatalog[componentRef.targetRef];\n if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {\n return acc;\n }\n const multisigs = this.collectMultisigs(componentRef);\n if (multisigs.length) {\n return [\n ...acc,\n {\n title: component.metadata.title || component.metadata.name,\n component,\n multisigs,\n tags: this.getEntityTags(component),\n },\n ];\n }\n return acc;\n }, [])\n .sort((a, b) => this.sortByName(a.component, b.component));\n }\n collectMultisigs(componentRef) {\n return this.getApiEntities()\n .filter((item) => item.relations.some((r) => item.spec?.type === \"multisig-deployment\" &&\n r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&\n r.targetRef === componentRef.targetRef))\n .map((entity) => ({\n entity: entity,\n signers: this.collectSigners(entity),\n tags: this.getEntityTags(entity),\n }));\n }\n collectSigners(multisig) {\n return multisig\n .relations.filter((r) => r.type === catalog_model_1.RELATION_OWNED_BY &&\n (0, catalog_model_1.parseEntityRef)(r.targetRef).kind !== \"group\")\n .map((r) => {\n const signer = this.entityCatalog[r.targetRef];\n const owner = this.entityCatalog[signer.spec.owner.toString()];\n return {\n signer,\n owner,\n tags: this.getEntityTags(signer),\n };\n })\n .sort((a, b) => this.sortByName(a.owner, b.owner));\n }\n}\nexports.MultisigsCollector = MultisigsCollector;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.backstageMetrics = exports.BackstageMetrics = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst datadog_api_client_1 = require(\"@datadog/datadog-api-client\");\nconst metrics_collector_1 = require(\"../core/metrics-collector\");\nconst get_backstage_entities_1 = require(\"../utils/get-backstage-entities\");\nconst configuration = datadog_api_client_1.client.createConfiguration();\nconfiguration.setServerVariables({ site: \"datadoghq.eu\" });\nconst apiInstance = new datadog_api_client_1.v2.MetricsApi(configuration);\nconst DATADOG_GAUGE_TYPE = 3;\nconst SIGNER_POLICY_LIMIT_MS = 180 * 86400 * 1000; // amount of days * seconds in day * milliseconds in second\nclass BackstageMetrics {\n}\nexports.BackstageMetrics = BackstageMetrics;\nasync function backstageMetrics({ backstage_url, testing, }) {\n if (!backstage_url)\n return;\n const entities = await (0, get_backstage_entities_1.getBackstageEntities)({ backstage_url });\n const collector = new metrics_collector_1.MetricsCollector(entities);\n try {\n const multisigSeries = generateMultisigMetrics(collector, backstage_url);\n const signerSeries = generateSignerMetrics(collector, backstage_url);\n const keySeries = generateAccessKeyMetrics(collector, backstage_url);\n const keyCountByOwnerSeries = generateUserAccessKeyMetrics(collector, backstage_url);\n const keyCountByContractSeries = generateContractAccessKeyMetrics(collector, backstage_url);\n const deprecatedKeysSeries = generateDeprecatedAccessKeyMetrics(collector, backstage_url);\n const unknownAccessKeysSeries = generateUnknownAccessKeyMetrics(collector, backstage_url);\n const unknownSignerSeries = generateUnknownSignerMetrics(collector, backstage_url);\n const unknownAddressSeries = generateUnknownAddressMetrics(collector, backstage_url);\n const inactiveSignerSeries = generateInactiveSignerMetrics(collector, backstage_url);\n // const unverifiedContractSeries = generateUnverifiedContractsMetrics(multisigsCollector, backstage_url);\n if (testing) {\n return [];\n }\n const data = await Promise.all([\n submitMetrics(multisigSeries),\n submitMetrics(signerSeries),\n submitMetrics(keySeries),\n submitMetrics(keyCountByOwnerSeries),\n submitMetrics(keyCountByContractSeries),\n submitMetrics(deprecatedKeysSeries),\n submitMetrics(unknownAccessKeysSeries),\n submitMetrics(unknownSignerSeries),\n submitMetrics(unknownAddressSeries),\n submitMetrics(inactiveSignerSeries),\n // submitMetrics(unverifiedContractSeries)\n ]);\n core.info(`API called successfully. Returned data: ${JSON.stringify(data)}`);\n return data;\n }\n catch (error) {\n core.error(error);\n }\n}\nexports.backstageMetrics = backstageMetrics;\nasync function submitMetrics(series) {\n const params = {\n body: {\n series,\n },\n };\n core.info(`Data to upload: ${JSON.stringify(params)}`);\n return apiInstance.submitMetrics(params);\n}\nfunction generateMultisigMetrics(collector, backstageUrl) {\n const series = collector.getMultisigs().map((multisig) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = multisig.entity;\n const { name } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(multisig.entity.spec));\n const { address, network, networkType, system: rawSystem, owner: rawOwner, } = spec;\n const system = rawSystem.split(\":\")[1];\n const owner = rawOwner.split(\":\")[1];\n const timestamp = Math.round(new Date(spec.multisig.fetchDate).getTime() / 1000);\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"api\", name },\n { type: \"address\", name: address },\n { type: \"kind\", name: kind },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"system\", name: system },\n { type: \"owner\", name: owner },\n ];\n const { version } = spec.multisig;\n // datadog requires point value to be scalar\n const value = parseFloat(version);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.multisigs.version\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateSignerMetrics(collector, backstageUrl) {\n const series = collector.getSigners().map((signer) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = signer.signer;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(signer.signer.spec));\n const { address, network, networkType, owner: rawOwner } = spec;\n const owner = rawOwner.split(\":\")[1].split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"address\", name: address },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"owner\", name: owner },\n ];\n // datadog requires point value to be scalar, 0 means unknown ownership\n const value = namespace === \"stub\" ? 0 : 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.signers\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateUnknownSignerMetrics(collector, backstageUrl) {\n const unknownSigners = collector\n .getSigners()\n .filter((entry) => entry.signer.metadata.tags?.includes(\"stub\") ||\n entry.signer.metadata.namespace === \"stub\");\n const series = unknownSigners.map((signer) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = signer.signer;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(signer.signer.spec));\n const { address, network, networkType, owner: rawOwner } = spec;\n const owner = rawOwner.split(\":\")[1].split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"address\", name: address },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"owner\", name: owner },\n ];\n // datadog requires point value to be scalar, 0 means unknown ownership\n const value = 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.signers.unknown\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction generateUnverifiedContractsMetrics(collector, backstageUrl) {\n const unverifiedContracts = collector\n .getAllApis()\n .filter((entity) => entity.metadata.tags?.includes(\"unverified\"));\n const series = unverifiedContracts.map((entity) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = entity;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(entity.spec));\n const { address, network, networkType, owner: rawOwner } = spec;\n const owner = rawOwner.split(\":\")[1].split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"address\", name: address },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"owner\", name: owner },\n ];\n // datadog requires point value to be scalar, 0 means unknown ownership\n const value = 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.reports.unverified=contracts\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateUnknownAddressMetrics(collector, backstageUrl) {\n const stubAndStateEntities = collector\n .getAllResources()\n .filter((entry) => entry.metadata.tags?.includes(\"stub\") &&\n entry.metadata.tags?.includes(\"contract-state\"));\n const series = stubAndStateEntities.map((entity) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = entity;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(entity.spec));\n const { address, network, networkType, owner: rawOwner } = spec;\n const owner = rawOwner.split(\":\")[1].split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"address\", name: address },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"owner\", name: owner },\n ];\n // datadog requires point value to be scalar, 0 means unknown ownership\n const value = 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.reports.unknown-addresses\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateAccessKeyMetrics(collector, backstageUrl) {\n const series = collector\n .getMultisigAccessKeys()\n .map((key) => {\n // entities are typically emitted as Resource kind,\n // tracking for inconsistencies\n const { kind, metadata } = key;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(key.spec));\n const { owner: rawOwner } = spec;\n const [ownerKind, ownerRef] = rawOwner.split(\":\");\n const ownerName = ownerRef.split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"owner\", name: ownerName },\n { type: \"ownerKind\", name: ownerKind },\n ];\n const value = namespace === \"stub\" || ownerKind !== \"user\" ? 0 : 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.access_keys\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateDeprecatedAccessKeyMetrics(collector, backstageUrl) {\n const series = collector\n .getDeprecatedAccessKeys()\n .map((key) => {\n // entities are typically emitted as Resource kind,\n // tracking for inconsistencies\n const { kind, metadata } = key;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(key.spec));\n const { owner: rawOwner } = spec;\n const [ownerKind, ownerRef] = rawOwner.split(\":\");\n const ownerName = ownerRef.split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"owner\", name: ownerName },\n { type: \"ownerKind\", name: ownerKind },\n ];\n const value = ownerKind !== \"user\" ? 0 : 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.access_keys.deprecated\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateUnknownAccessKeyMetrics(collector, backstageUrl) {\n const series = collector\n .getUnknownAccessKeys()\n .map((key) => {\n // entities are typically emitted as Resource kind,\n // tracking for inconsistencies\n const { kind, metadata } = key;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(key.spec));\n const { owner: rawOwner } = spec;\n const [ownerKind, ownerRef] = rawOwner.split(\":\");\n const ownerName = ownerRef.split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"owner\", name: ownerName },\n { type: \"ownerKind\", name: ownerKind },\n ];\n const value = 1;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.access_keys.unknown\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateUserAccessKeyMetrics(collector, backstageUrl) {\n const series = Object.entries(collector.getAccessKeysPerSigner()).map(([signer, entry]) => {\n const spec = JSON.parse(JSON.stringify(entry.signer.spec));\n const { owner } = spec;\n const ownerName = `${owner}/${signer}`;\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"owner\", name: ownerName },\n { type: \"user\", name: owner },\n { type: \"signer\", name: signer },\n ];\n const value = entry.keys.length;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.access_keys_owned_count\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateContractAccessKeyMetrics(collector, backstageUrl) {\n const accessKeysPerContract = collector\n .getContractAccessKeys()\n .reduce((acc, key) => {\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(key.spec));\n const { owner } = spec;\n return {\n ...acc,\n [owner]: [...(acc[owner] || []), key],\n };\n }, {});\n const series = Object.entries(accessKeysPerContract).map(([owner, keys]) => {\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"owner\", name: owner },\n ];\n const value = keys.length;\n const timestamp = Math.round(new Date().getTime() / 1000);\n const points = [{ timestamp, value }];\n return {\n metric: \"backstage.access_keys_by_contract_count\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\nfunction generateInactiveSignerMetrics(collector, backstageUrl) {\n const series = collector.getSigners().map((entity) => {\n // entities are typically emitted as API kind,\n // tracking for inconsistencies\n const { kind, metadata } = entity.signer;\n const { name, namespace } = metadata;\n // inferred type is JsonObject, this converts to any\n const spec = JSON.parse(JSON.stringify(entity.signer.spec));\n const { address, network, networkType, owner: rawOwner } = spec;\n const owner = rawOwner.split(\":\")[1].split(\"/\")[1];\n // this tags timeseries with distinguishing\n // properties for filtering purposes\n const resources = [\n {\n type: \"host\",\n name: backstageUrl.split(\"@\")[1],\n },\n { type: \"kind\", name: kind },\n { type: \"name\", name },\n { type: \"namespace\", name: namespace },\n { type: \"address\", name: address },\n { type: \"network\", name: network },\n { type: \"networkType\", name: networkType },\n { type: \"owner\", name: owner },\n ];\n const now = new Date().getTime();\n const isPastThreshold = now - Number(spec.lastSigned) > SIGNER_POLICY_LIMIT_MS;\n const value = isPastThreshold ? 1 : 0;\n const points = [{ timestamp: now, value }];\n return {\n metric: \"backstage.signers.inactive\",\n type: DATADOG_GAUGE_TYPE,\n points,\n resources,\n };\n });\n return series;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBackstageEntities = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst catalog_client_1 = require(\"@backstage/catalog-client\");\nconst simple_git_1 = require(\"simple-git\");\nconst getBackstageEntities = async ({ backstage_url: backstageUrl, backstage_entities_repo: backstageEntitiesRepo, }) => {\n if (backstageUrl) {\n try {\n return fetchBackstageEntitiesFromURL(backstageUrl);\n }\n catch (err) {\n /* empty */\n }\n }\n // repo used as fallback to the URL in order to avoid unnecessary runtime\n // dependency\n if (backstageEntitiesRepo) {\n return fetchBackstageEntitiesFromRepo(backstageEntitiesRepo);\n }\n throw new Error(\"Backstage URL or entities repo is required. Set BACKSTAGE_URL (github secret) or pass backstage_entities_repo argument to this action\");\n};\nexports.getBackstageEntities = getBackstageEntities;\nasync function getFileContentFromRepo(repoUrl, filePath) {\n const cloneDir = `/tmp/github-helpers-${Date.now()}`;\n const git = (0, simple_git_1.simpleGit)();\n try {\n await git.clone(repoUrl, cloneDir, [\"--depth=1\"]);\n await git.cwd(cloneDir);\n const { current } = await git.branch();\n const defaultBranch = current || \"main\";\n const fileContent = await git.show([\n `${defaultBranch}:${filePath}`,\n ]);\n await git.raw([\"rm\", \"-rf\", \".\"]);\n return fileContent;\n }\n catch (error) {\n throw new Error(`Failed to fetch ${repoUrl}/${filePath}: ${error}`);\n }\n}\nasync function fetchBackstageEntitiesFromURL(backstageUrl) {\n core.info(\"Connecting to Backstage to fetch available entities\");\n const discoveryApi = {\n async getBaseUrl() {\n return `${backstageUrl}/api/catalog`;\n },\n };\n const catalogClient = new catalog_client_1.CatalogClient({\n discoveryApi,\n });\n const entities = await catalogClient.getEntities({});\n core.info(`Total backstage entities: ${entities.items.length}`);\n return entities.items;\n}\nasync function fetchBackstageEntitiesFromRepo(backstageEntitiesRepo) {\n const serverUrl = process.env.GITHUB_SERVER_URL || \"https://github.com\";\n const repoUrl = `${serverUrl}/${backstageEntitiesRepo}`;\n core.info(`Cloning ${repoUrl}`);\n const content = await getFileContentFromRepo(repoUrl, \"filteredEntities.json\");\n return JSON.parse(content);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/154.index.js b/dist/154.index.js new file mode 100644 index 0000000..d32453b --- /dev/null +++ b/dist/154.index.js @@ -0,0 +1,19880 @@ +exports.id = 154; +exports.ids = [154]; +exports.modules = { + +/***/ 55497: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var catalogModel = __webpack_require__(70606); +var errors = __webpack_require__(45141); +var crossFetch = __webpack_require__(75226); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var crossFetch__default = /*#__PURE__*/_interopDefaultLegacy(crossFetch); + +const CATALOG_FILTER_EXISTS = Symbol.for( + // Random UUID to ensure no collisions + "CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111" +); + +function isQueryEntitiesInitialRequest(request) { + return !request.cursor; +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class CatalogClient { + constructor(options) { + __publicField(this, "discoveryApi"); + __publicField(this, "fetchApi"); + this.discoveryApi = options.discoveryApi; + this.fetchApi = options.fetchApi || { fetch: crossFetch__default["default"] }; + } + /** + * {@inheritdoc CatalogApi.getEntityAncestors} + */ + async getEntityAncestors(request, options) { + const { kind, namespace, name } = catalogModel.parseEntityRef(request.entityRef); + return await this.requestRequired( + "GET", + `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent( + namespace + )}/${encodeURIComponent(name)}/ancestry`, + options + ); + } + /** + * {@inheritdoc CatalogApi.getLocationById} + */ + async getLocationById(id, options) { + return await this.requestOptional( + "GET", + `/locations/${encodeURIComponent(id)}`, + options + ); + } + /** + * {@inheritdoc CatalogApi.getEntities} + */ + async getEntities(request, options) { + const { + filter = [], + fields = [], + order, + offset, + limit, + after + } = request != null ? request : {}; + const params = this.getParams(filter); + if (fields.length) { + params.push(`fields=${fields.map(encodeURIComponent).join(",")}`); + } + if (order) { + for (const directive of [order].flat()) { + if (directive) { + params.push( + `order=${encodeURIComponent(directive.order)}:${encodeURIComponent( + directive.field + )}` + ); + } + } + } + if (offset !== void 0) { + params.push(`offset=${offset}`); + } + if (limit !== void 0) { + params.push(`limit=${limit}`); + } + if (after !== void 0) { + params.push(`after=${encodeURIComponent(after)}`); + } + const query = params.length ? `?${params.join("&")}` : ""; + const entities = await this.requestRequired( + "GET", + `/entities${query}`, + options + ); + const refCompare = (a, b) => { + var _a, _b; + if (((_a = a.metadata) == null ? void 0 : _a.name) === void 0 || a.kind === void 0 || ((_b = b.metadata) == null ? void 0 : _b.name) === void 0 || b.kind === void 0) { + return 0; + } + const aRef = catalogModel.stringifyEntityRef(a); + const bRef = catalogModel.stringifyEntityRef(b); + if (aRef < bRef) { + return -1; + } + if (aRef > bRef) { + return 1; + } + return 0; + }; + return { items: entities.sort(refCompare) }; + } + /** + * {@inheritdoc CatalogApi.getEntitiesByRefs} + */ + async getEntitiesByRefs(request, options) { + var _a; + const body = { entityRefs: request.entityRefs }; + if ((_a = request.fields) == null ? void 0 : _a.length) { + body.fields = request.fields; + } + const baseUrl = await this.discoveryApi.getBaseUrl("catalog"); + const url = `${baseUrl}/entities/by-refs`; + const response = await this.fetchApi.fetch(url, { + headers: { + "Content-Type": "application/json", + ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` } + }, + method: "POST", + body: JSON.stringify(body) + }); + if (!response.ok) { + throw await errors.ResponseError.fromResponse(response); + } + const { items } = await response.json(); + return { items: items.map((i) => i != null ? i : void 0) }; + } + /** + * {@inheritdoc CatalogApi.queryEntities} + */ + async queryEntities(request = {}, options) { + var _a, _b; + const params = []; + if (isQueryEntitiesInitialRequest(request)) { + const { + fields = [], + filter, + limit, + orderFields, + fullTextFilter + } = request; + params.push(...this.getParams(filter)); + if (limit !== void 0) { + params.push(`limit=${limit}`); + } + if (orderFields !== void 0) { + (Array.isArray(orderFields) ? orderFields : [orderFields]).forEach( + ({ field, order }) => params.push(`orderField=${field},${order}`) + ); + } + if (fields.length) { + params.push(`fields=${fields.map(encodeURIComponent).join(",")}`); + } + const normalizedFullTextFilterTerm = (_a = fullTextFilter == null ? void 0 : fullTextFilter.term) == null ? void 0 : _a.trim(); + if (normalizedFullTextFilterTerm) { + params.push(`fullTextFilterTerm=${normalizedFullTextFilterTerm}`); + } + if ((_b = fullTextFilter == null ? void 0 : fullTextFilter.fields) == null ? void 0 : _b.length) { + params.push(`fullTextFilterFields=${fullTextFilter.fields.join(",")}`); + } + } else { + const { fields = [], limit, cursor } = request; + params.push(`cursor=${cursor}`); + if (limit !== void 0) { + params.push(`limit=${limit}`); + } + if (fields.length) { + params.push(`fields=${fields.map(encodeURIComponent).join(",")}`); + } + } + const query = params.length ? `?${params.join("&")}` : ""; + return this.requestRequired( + "GET", + `/entities/by-query${query}`, + options + ); + } + /** + * {@inheritdoc CatalogApi.getEntityByRef} + */ + async getEntityByRef(entityRef, options) { + const { kind, namespace, name } = catalogModel.parseEntityRef(entityRef); + return this.requestOptional( + "GET", + `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent( + namespace + )}/${encodeURIComponent(name)}`, + options + ); + } + // NOTE(freben): When we deprecate getEntityByName from the interface, we may + // still want to leave this implementation in place for quite some time + // longer, to minimize the risk for breakages. Suggested date for removal: + // August 2022 + /** + * @deprecated Use getEntityByRef instead + */ + async getEntityByName(compoundName, options) { + const { kind, namespace = "default", name } = compoundName; + return this.requestOptional( + "GET", + `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent( + namespace + )}/${encodeURIComponent(name)}`, + options + ); + } + /** + * {@inheritdoc CatalogApi.refreshEntity} + */ + async refreshEntity(entityRef, options) { + const response = await this.fetchApi.fetch( + `${await this.discoveryApi.getBaseUrl("catalog")}/refresh`, + { + headers: { + "Content-Type": "application/json", + ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` } + }, + method: "POST", + body: JSON.stringify({ entityRef }) + } + ); + if (response.status !== 200) { + throw new Error(await response.text()); + } + } + /** + * {@inheritdoc CatalogApi.getEntityFacets} + */ + async getEntityFacets(request, options) { + const { filter = [], facets } = request; + const params = this.getParams(filter); + for (const facet of facets) { + params.push(`facet=${encodeURIComponent(facet)}`); + } + const query = params.length ? `?${params.join("&")}` : ""; + return await this.requestOptional("GET", `/entity-facets${query}`, options); + } + /** + * {@inheritdoc CatalogApi.addLocation} + */ + async addLocation(request, options) { + const { type = "url", target, dryRun } = request; + const response = await this.fetchApi.fetch( + `${await this.discoveryApi.getBaseUrl("catalog")}/locations${dryRun ? "?dryRun=true" : ""}`, + { + headers: { + "Content-Type": "application/json", + ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` } + }, + method: "POST", + body: JSON.stringify({ type, target }) + } + ); + if (response.status !== 201) { + throw new Error(await response.text()); + } + const { location, entities, exists } = await response.json(); + if (!location) { + throw new Error(`Location wasn't added: ${target}`); + } + return { + location, + entities, + exists + }; + } + /** + * {@inheritdoc CatalogApi.getLocationByRef} + */ + async getLocationByRef(locationRef, options) { + const all = await this.requestRequired( + "GET", + "/locations", + options + ); + return all.map((r) => r.data).find((l) => locationRef === catalogModel.stringifyLocationRef(l)); + } + /** + * {@inheritdoc CatalogApi.removeLocationById} + */ + async removeLocationById(id, options) { + await this.requestIgnored( + "DELETE", + `/locations/${encodeURIComponent(id)}`, + options + ); + } + /** + * {@inheritdoc CatalogApi.removeEntityByUid} + */ + async removeEntityByUid(uid, options) { + await this.requestIgnored( + "DELETE", + `/entities/by-uid/${encodeURIComponent(uid)}`, + options + ); + } + /** + * {@inheritdoc CatalogApi.validateEntity} + */ + async validateEntity(entity, locationRef, options) { + const response = await this.fetchApi.fetch( + `${await this.discoveryApi.getBaseUrl("catalog")}/validate-entity`, + { + headers: { + "Content-Type": "application/json", + ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` } + }, + method: "POST", + body: JSON.stringify({ entity, location: locationRef }) + } + ); + if (response.ok) { + return { + valid: true + }; + } + if (response.status !== 400) { + throw await errors.ResponseError.fromResponse(response); + } + const { errors: errors$1 = [] } = await response.json(); + return { + valid: false, + errors: errors$1 + }; + } + // + // Private methods + // + async requestIgnored(method, path, options) { + const url = `${await this.discoveryApi.getBaseUrl("catalog")}${path}`; + const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {}; + const response = await this.fetchApi.fetch(url, { method, headers }); + if (!response.ok) { + throw await errors.ResponseError.fromResponse(response); + } + } + async requestRequired(method, path, options) { + const url = `${await this.discoveryApi.getBaseUrl("catalog")}${path}`; + const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {}; + const response = await this.fetchApi.fetch(url, { method, headers }); + if (!response.ok) { + throw await errors.ResponseError.fromResponse(response); + } + return response.json(); + } + async requestOptional(method, path, options) { + const url = `${await this.discoveryApi.getBaseUrl("catalog")}${path}`; + const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {}; + const response = await this.fetchApi.fetch(url, { method, headers }); + if (!response.ok) { + if (response.status === 404) { + return void 0; + } + throw await errors.ResponseError.fromResponse(response); + } + return await response.json(); + } + getParams(filter = []) { + const params = []; + for (const filterItem of [filter].flat()) { + const filterParts = []; + for (const [key, value] of Object.entries(filterItem)) { + for (const v of [value].flat()) { + if (v === CATALOG_FILTER_EXISTS) { + filterParts.push(encodeURIComponent(key)); + } else if (typeof v === "string") { + filterParts.push( + `${encodeURIComponent(key)}=${encodeURIComponent(v)}` + ); + } + } + } + if (filterParts.length) { + params.push(`filter=${filterParts.join(",")}`); + } + } + return params; + } +} + +const ENTITY_STATUS_CATALOG_PROCESSING_TYPE = "backstage.io/catalog-processing"; + +exports.CATALOG_FILTER_EXISTS = CATALOG_FILTER_EXISTS; +exports.CatalogClient = CatalogClient; +exports.ENTITY_STATUS_CATALOG_PROCESSING_TYPE = ENTITY_STATUS_CATALOG_PROCESSING_TYPE; +//# sourceMappingURL=index.cjs.js.map + + +/***/ }), + +/***/ 70606: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var lodash = __webpack_require__(8749); +var Ajv = __webpack_require__(60698); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +var lodash__default = /*#__PURE__*/_interopDefaultLegacy(lodash); +var Ajv__default = /*#__PURE__*/_interopDefaultLegacy(Ajv); + +function isApiEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "API"; +} +function isComponentEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "COMPONENT"; +} +function isDomainEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "DOMAIN"; +} +function isGroupEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "GROUP"; +} +function isLocationEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "LOCATION"; +} +function isResourceEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "RESOURCE"; +} +function isSystemEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "SYSTEM"; +} +function isUserEntity(entity) { + return entity.kind.toLocaleUpperCase("en-US") === "USER"; +} + +const DEFAULT_NAMESPACE = "default"; +const ANNOTATION_VIEW_URL = "backstage.io/view-url"; +const ANNOTATION_EDIT_URL = "backstage.io/edit-url"; +const ANNOTATION_KUBERNETES_API_SERVER = "kubernetes.io/api-server"; +const ANNOTATION_KUBERNETES_API_SERVER_CA = "kubernetes.io/api-server-certificate-authority"; +const ANNOTATION_KUBERNETES_AUTH_PROVIDER = "kubernetes.io/auth-provider"; + +var __defProp$4 = Object.defineProperty; +var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$4 = (obj, key, value) => { + __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class DefaultNamespaceEntityPolicy { + constructor(namespace = DEFAULT_NAMESPACE) { + __publicField$4(this, "namespace"); + this.namespace = namespace; + } + async enforce(entity) { + if (entity.metadata.namespace) { + return entity; + } + return lodash__default["default"].merge({ metadata: { namespace: this.namespace } }, entity); + } +} + +function parseRefString(ref) { + let colonI = ref.indexOf(":"); + const slashI = ref.indexOf("/"); + if (slashI !== -1 && slashI < colonI) { + colonI = -1; + } + const kind = colonI === -1 ? void 0 : ref.slice(0, colonI); + const namespace = slashI === -1 ? void 0 : ref.slice(colonI + 1, slashI); + const name = ref.slice(Math.max(colonI + 1, slashI + 1)); + if (kind === "" || namespace === "" || name === "") { + throw new TypeError( + `Entity reference "${ref}" was not on the form [:][/]` + ); + } + return { kind, namespace, name }; +} +function getCompoundEntityRef(entity) { + return { + kind: entity.kind, + namespace: entity.metadata.namespace || DEFAULT_NAMESPACE, + name: entity.metadata.name + }; +} +function parseEntityRef(ref, context) { + var _a, _b, _c, _d; + if (!ref) { + throw new Error(`Entity reference must not be empty`); + } + const defaultKind = context == null ? void 0 : context.defaultKind; + const defaultNamespace = (context == null ? void 0 : context.defaultNamespace) || DEFAULT_NAMESPACE; + let kind; + let namespace; + let name; + if (typeof ref === "string") { + const parsed = parseRefString(ref); + kind = (_a = parsed.kind) != null ? _a : defaultKind; + namespace = (_b = parsed.namespace) != null ? _b : defaultNamespace; + name = parsed.name; + } else { + kind = (_c = ref.kind) != null ? _c : defaultKind; + namespace = (_d = ref.namespace) != null ? _d : defaultNamespace; + name = ref.name; + } + if (!kind) { + const textual = JSON.stringify(ref); + throw new Error( + `Entity reference ${textual} had missing or empty kind (e.g. did not start with "component:" or similar)` + ); + } else if (!namespace) { + const textual = JSON.stringify(ref); + throw new Error( + `Entity reference ${textual} had missing or empty namespace` + ); + } else if (!name) { + const textual = JSON.stringify(ref); + throw new Error(`Entity reference ${textual} had missing or empty name`); + } + return { kind, namespace, name }; +} +function stringifyEntityRef(ref) { + var _a, _b; + let kind; + let namespace; + let name; + if ("metadata" in ref) { + kind = ref.kind; + namespace = (_a = ref.metadata.namespace) != null ? _a : DEFAULT_NAMESPACE; + name = ref.metadata.name; + } else { + kind = ref.kind; + namespace = (_b = ref.namespace) != null ? _b : DEFAULT_NAMESPACE; + name = ref.name; + } + return `${kind.toLocaleLowerCase("en-US")}:${namespace.toLocaleLowerCase( + "en-US" + )}/${name.toLocaleLowerCase("en-US")}`; +} + +var __defProp$3 = Object.defineProperty; +var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$3 = (obj, key, value) => { + __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class GroupDefaultParentEntityPolicy { + constructor(parentEntityRef) { + __publicField$3(this, "parentRef"); + const { kind, namespace, name } = parseEntityRef(parentEntityRef, { + defaultKind: "Group", + defaultNamespace: DEFAULT_NAMESPACE + }); + if (kind.toLocaleUpperCase("en-US") !== "GROUP") { + throw new TypeError("group parent must be a group"); + } + this.parentRef = stringifyEntityRef({ + kind, + namespace, + name + }); + } + async enforce(entity) { + if (entity.kind !== "Group") { + return entity; + } + const group = entity; + if (group.spec.parent) { + return group; + } + if (stringifyEntityRef(group) !== this.parentRef) { + group.spec.parent = this.parentRef; + } + return group; + } +} + +class CommonValidatorFunctions { + /** + * Checks that the value is on the form `` or ``, and validates + * those parts separately. + * + * @param value - The value to check + * @param separator - The separator between parts + * @param isValidPrefix - Checks that the part before the separator is valid, if present + * @param isValidSuffix - Checks that the part after the separator (or the entire value if there is no separator) is valid + */ + static isValidPrefixAndOrSuffix(value, separator, isValidPrefix, isValidSuffix) { + if (typeof value !== "string") { + return false; + } + const parts = value.split(separator); + if (parts.length === 1) { + return isValidSuffix(parts[0]); + } else if (parts.length === 2) { + return isValidPrefix(parts[0]) && isValidSuffix(parts[1]); + } + return false; + } + /** + * Checks that the value can be safely transferred as JSON. + * + * @param value - The value to check + */ + static isJsonSafe(value) { + try { + return lodash__default["default"].isEqual(value, JSON.parse(JSON.stringify(value))); + } catch { + return false; + } + } + /** + * Checks that the value is a valid DNS subdomain name. + * + * @param value - The value to check + * @see https://tools.ietf.org/html/rfc1123 + */ + static isValidDnsSubdomain(value) { + return typeof value === "string" && value.length >= 1 && value.length <= 253 && value.split(".").every(CommonValidatorFunctions.isValidDnsLabel); + } + /** + * Checks that the value is a valid DNS label. + * + * @param value - The value to check + * @see https://tools.ietf.org/html/rfc1123 + */ + static isValidDnsLabel(value) { + return typeof value === "string" && value.length >= 1 && value.length <= 63 && /^[a-z0-9]+(?:\-+[a-z0-9]+)*$/.test(value); + } + /** + * Checks that the value is a valid tag. + * + * @deprecated This will be removed in a future release + * @param value - The value to check + */ + static isValidTag(value) { + return typeof value === "string" && value.length >= 1 && value.length <= 63 && /^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test(value); + } + /** + * Checks that the value is a valid string URL. + * + * @param value - The value to check + */ + static isValidUrl(value) { + if (typeof value !== "string") { + return false; + } + try { + new URL(value); + return true; + } catch { + return false; + } + } + /** + * Checks that the value is a non empty string value. + * + * @deprecated use isNonEmptyString instead + * @param value - The value to check + */ + static isValidString(value) { + var _a; + return typeof value === "string" && ((_a = value == null ? void 0 : value.trim()) == null ? void 0 : _a.length) >= 1; + } + /** + * Checks that the value is a string value that's not empty. + * + * @param value - The value to check + */ + static isNonEmptyString(value) { + var _a; + return typeof value === "string" && ((_a = value == null ? void 0 : value.trim()) == null ? void 0 : _a.length) >= 1; + } +} + +var $schema$b = "http://json-schema.org/draft-07/schema"; +var $id$b = "EntityEnvelope"; +var description$b = "The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking."; +var examples$a = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Component", + metadata: { + name: "LoremService" + } + } +]; +var type$3 = "object"; +var required$2 = [ + "apiVersion", + "kind", + "metadata" +]; +var additionalProperties$2 = true; +var properties$2 = { + apiVersion: { + type: "string", + description: "The version of specification format for this particular entity that this is written against.", + minLength: 1, + examples: [ + "backstage.io/v1alpha1", + "my-company.net/v1", + "1.0" + ] + }, + kind: { + type: "string", + description: "The high level entity type being described.", + minLength: 1, + examples: [ + "API", + "Component", + "Domain", + "Group", + "Location", + "Resource", + "System", + "Template", + "User" + ] + }, + metadata: { + type: "object", + required: [ + "name" + ], + additionalProperties: true, + properties: { + name: { + type: "string", + description: "The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.", + examples: [ + "metadata-proxy" + ], + minLength: 1 + }, + namespace: { + type: "string", + description: "The namespace that the entity belongs to.", + "default": "default", + examples: [ + "default", + "admin" + ], + minLength: 1 + } + } + } +}; +var entityEnvelopeSchema = { + $schema: $schema$b, + $id: $id$b, + description: description$b, + examples: examples$a, + type: type$3, + required: required$2, + additionalProperties: additionalProperties$2, + properties: properties$2 +}; + +var $schema$a = "http://json-schema.org/draft-07/schema"; +var $id$a = "Entity"; +var description$a = "The parts of the format that's common to all versions/kinds of entity."; +var examples$9 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Component", + metadata: { + name: "LoremService", + description: "Creates Lorems like a pro.", + labels: { + product_name: "Random value Generator" + }, + annotations: { + docs: "https://github.com/..../tree/develop/doc" + } + }, + spec: { + type: "service", + lifecycle: "production", + owner: "tools" + } + } +]; +var type$2 = "object"; +var required$1 = [ + "apiVersion", + "kind", + "metadata" +]; +var additionalProperties$1 = false; +var properties$1 = { + apiVersion: { + type: "string", + description: "The version of specification format for this particular entity that this is written against.", + minLength: 1, + examples: [ + "backstage.io/v1alpha1", + "my-company.net/v1", + "1.0" + ] + }, + kind: { + type: "string", + description: "The high level entity type being described.", + minLength: 1, + examples: [ + "API", + "Component", + "Domain", + "Group", + "Location", + "Resource", + "System", + "Template", + "User" + ] + }, + metadata: { + $ref: "EntityMeta" + }, + spec: { + type: "object", + description: "The specification data describing the entity itself." + }, + relations: { + type: "array", + description: "The relations that this entity has with other entities.", + items: { + $ref: "common#relation" + } + }, + status: { + $ref: "common#status" + } +}; +var entitySchema = { + $schema: $schema$a, + $id: $id$a, + description: description$a, + examples: examples$9, + type: type$2, + required: required$1, + additionalProperties: additionalProperties$1, + properties: properties$1 +}; + +var $schema$9 = "http://json-schema.org/draft-07/schema"; +var $id$9 = "EntityMeta"; +var description$9 = "Metadata fields common to all versions/kinds of entity."; +var examples$8 = [ + { + uid: "e01199ab-08cc-44c2-8e19-5c29ded82521", + etag: "lsndfkjsndfkjnsdfkjnsd==", + name: "my-component-yay", + namespace: "the-namespace", + labels: { + "backstage.io/custom": "ValueStuff" + }, + annotations: { + "example.com/bindings": "are-secret" + }, + tags: [ + "java", + "data" + ] + } +]; +var type$1 = "object"; +var required = [ + "name" +]; +var additionalProperties = true; +var properties = { + uid: { + type: "string", + description: "A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.", + examples: [ + "e01199ab-08cc-44c2-8e19-5c29ded82521" + ], + minLength: 1 + }, + etag: { + type: "string", + description: "An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.", + examples: [ + "lsndfkjsndfkjnsdfkjnsd==" + ], + minLength: 1 + }, + name: { + type: "string", + description: "The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.", + examples: [ + "metadata-proxy" + ], + minLength: 1 + }, + namespace: { + type: "string", + description: "The namespace that the entity belongs to.", + "default": "default", + examples: [ + "default", + "admin" + ], + minLength: 1 + }, + title: { + type: "string", + description: "A display name of the entity, to be presented in user interfaces instead of the name property, when available.", + examples: [ + "React SSR Template" + ], + minLength: 1 + }, + description: { + type: "string", + description: "A short (typically relatively few words, on one line) description of the entity." + }, + labels: { + type: "object", + description: "Key/value pairs of identifying information attached to the entity.", + additionalProperties: true, + patternProperties: { + "^.+$": { + type: "string" + } + } + }, + annotations: { + type: "object", + description: "Key/value pairs of non-identifying auxiliary information attached to the entity.", + additionalProperties: true, + patternProperties: { + "^.+$": { + type: "string" + } + } + }, + tags: { + type: "array", + description: "A list of single-valued strings, to for example classify catalog entities in various ways.", + items: { + type: "string", + minLength: 1 + } + }, + links: { + type: "array", + description: "A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.", + items: { + type: "object", + required: [ + "url" + ], + properties: { + url: { + type: "string", + description: "A url in a standard uri format.", + examples: [ + "https://admin.example-org.com" + ], + minLength: 1 + }, + title: { + type: "string", + description: "A user friendly display name for the link.", + examples: [ + "Admin Dashboard" + ], + minLength: 1 + }, + icon: { + type: "string", + description: "A key representing a visual icon to be displayed in the UI.", + examples: [ + "dashboard" + ], + minLength: 1 + }, + type: { + type: "string", + description: "An optional value to categorize links into specific groups.", + examples: [ + "runbook", + "documentation", + "logs", + "dashboard" + ], + minLength: 1 + } + } + } + } +}; +var entityMetaSchema = { + $schema: $schema$9, + $id: $id$9, + description: description$9, + examples: examples$8, + type: type$1, + required: required, + additionalProperties: additionalProperties, + properties: properties +}; + +var $schema$8 = "http://json-schema.org/draft-07/schema"; +var $id$8 = "common"; +var type = "object"; +var description$8 = "Common definitions to import from other schemas"; +var definitions = { + reference: { + $id: "#reference", + type: "object", + description: "A reference by name to another entity.", + required: [ + "kind", + "namespace", + "name" + ], + additionalProperties: false, + properties: { + kind: { + type: "string", + description: "The kind field of the entity.", + minLength: 1 + }, + namespace: { + type: "string", + description: "The metadata.namespace field of the entity.", + minLength: 1 + }, + name: { + type: "string", + description: "The metadata.name field of the entity.", + minLength: 1 + } + } + }, + relation: { + $id: "#relation", + type: "object", + description: "A directed relation from one entity to another.", + required: [ + "type", + "targetRef" + ], + additionalProperties: false, + properties: { + type: { + type: "string", + minLength: 1, + pattern: "^\\w+$", + description: "The type of relation." + }, + target: { + $ref: "#reference", + deprecated: true + }, + targetRef: { + type: "string", + minLength: 1, + description: "The entity ref of the target of this relation." + } + } + }, + status: { + $id: "#status", + type: "object", + description: "The current status of the entity, as claimed by various sources.", + required: [ + ], + additionalProperties: true, + properties: { + items: { + type: "array", + items: { + $ref: "#statusItem" + } + } + } + }, + statusItem: { + $id: "#statusItem", + type: "object", + description: "A specific status item on a well known format.", + required: [ + "type", + "level", + "message" + ], + additionalProperties: true, + properties: { + type: { + type: "string", + minLength: 1 + }, + level: { + $ref: "#statusLevel", + description: "The status level / severity of the status item." + }, + message: { + type: "string", + description: "A brief message describing the status, intended for human consumption." + }, + error: { + $ref: "#error", + description: "An optional serialized error object related to the status." + } + } + }, + statusLevel: { + $id: "#statusLevel", + type: "string", + description: "A status level / severity.", + "enum": [ + "info", + "warning", + "error" + ] + }, + error: { + $id: "#error", + type: "object", + description: "A serialized error object.", + required: [ + "name", + "message" + ], + additionalProperties: true, + properties: { + name: { + type: "string", + examples: [ + "Error", + "InputError" + ], + description: "The type name of the error", + minLength: 1 + }, + message: { + type: "string", + description: "The message of the error" + }, + code: { + type: "string", + description: "An error code associated with the error" + }, + stack: { + type: "string", + description: "An error stack trace" + } + } + } +}; +var commonSchema = { + $schema: $schema$8, + $id: $id$8, + type: type, + description: description$8, + definitions: definitions +}; + +const compiledSchemaCache = /* @__PURE__ */ new Map(); +const refDependencyCandidates = [ + entityEnvelopeSchema, + entitySchema, + entityMetaSchema, + commonSchema +]; +function throwAjvError(errors) { + if (!(errors == null ? void 0 : errors.length)) { + throw new TypeError("Unknown error"); + } + const error = errors[0]; + throw new TypeError( + `${error.instancePath || ""} ${error.message}${error.params ? ` - ${Object.entries(error.params).map(([key, val]) => `${key}: ${val}`).join(", ")}` : ""}` + ); +} +function compileAjvSchema(schema, options = {}) { + var _a; + const disableCache = (_a = options == null ? void 0 : options.disableCache) != null ? _a : false; + const cacheKey = disableCache ? "" : JSON.stringify(schema); + if (!disableCache) { + const cached = compiledSchemaCache.get(cacheKey); + if (cached) { + return cached; + } + } + const extraSchemas = getExtraSchemas(schema); + const ajv = new Ajv__default["default"]({ + allowUnionTypes: true, + allErrors: true, + validateSchema: true + }); + if (extraSchemas.length) { + ajv.addSchema(extraSchemas, void 0, void 0, true); + } + const compiled = ajv.compile(schema); + if (!disableCache) { + compiledSchemaCache.set(cacheKey, compiled); + } + return compiled; +} +function getExtraSchemas(schema) { + if (typeof schema !== "object") { + return []; + } + const seen = /* @__PURE__ */ new Set(); + if (schema.$id) { + seen.add(schema.$id); + } + const selected = new Array(); + const todo = [schema]; + while (todo.length) { + const current = todo.pop(); + for (const ref of getAllRefs(current)) { + if (!seen.has(ref)) { + seen.add(ref); + const match = refDependencyCandidates.find((c) => c.$id === ref); + if (match) { + selected.push(match); + todo.push(match); + } + } + } + } + return selected; +} +function* getAllRefs(schema) { + const todo = [schema]; + while (todo.length) { + const current = todo.pop(); + if (typeof current === "object" && current) { + for (const [key, value] of Object.entries(current)) { + if (key === "$ref" && typeof value === "string") { + yield value.split("#")[0]; + } else { + todo.push(value); + } + } + } + } +} + +function entityEnvelopeSchemaValidator(schema) { + const validate = compileAjvSchema( + schema ? schema : entityEnvelopeSchema + ); + return (data) => { + const result = validate(data); + if (result === true) { + return data; + } + throw throwAjvError(validate.errors); + }; +} + +function entityKindSchemaValidator(schema) { + const validate = compileAjvSchema(schema); + return (data) => { + var _a; + const result = validate(data); + if (result === true) { + return data; + } + const softCandidates = (_a = validate.errors) == null ? void 0 : _a.filter( + (e) => ["/kind", "/apiVersion"].includes(e.instancePath) + ); + if ((softCandidates == null ? void 0 : softCandidates.length) && softCandidates.every((e) => e.keyword === "enum")) { + return false; + } + throw throwAjvError(validate.errors); + }; +} + +function entitySchemaValidator(schema) { + const validate = compileAjvSchema(schema ? schema : entitySchema); + return (data) => { + const result = validate(data); + if (result === true) { + return data; + } + throw throwAjvError(validate.errors); + }; +} + +class KubernetesValidatorFunctions { + static isValidApiVersion(value) { + return CommonValidatorFunctions.isValidPrefixAndOrSuffix( + value, + "/", + CommonValidatorFunctions.isValidDnsSubdomain, + (n) => n.length >= 1 && n.length <= 63 && /^[a-z0-9A-Z]+$/.test(n) + ); + } + static isValidKind(value) { + return typeof value === "string" && value.length >= 1 && value.length <= 63 && /^[a-zA-Z][a-z0-9A-Z]*$/.test(value); + } + static isValidObjectName(value) { + return typeof value === "string" && value.length >= 1 && value.length <= 63 && /^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(value); + } + static isValidNamespace(value) { + return CommonValidatorFunctions.isValidDnsLabel(value); + } + static isValidLabelKey(value) { + return CommonValidatorFunctions.isValidPrefixAndOrSuffix( + value, + "/", + CommonValidatorFunctions.isValidDnsSubdomain, + KubernetesValidatorFunctions.isValidObjectName + ); + } + static isValidLabelValue(value) { + return value === "" || KubernetesValidatorFunctions.isValidObjectName(value); + } + static isValidAnnotationKey(value) { + return CommonValidatorFunctions.isValidPrefixAndOrSuffix( + value, + "/", + CommonValidatorFunctions.isValidDnsSubdomain, + KubernetesValidatorFunctions.isValidObjectName + ); + } + static isValidAnnotationValue(value) { + return typeof value === "string"; + } +} + +const defaultValidators = { + isValidApiVersion: KubernetesValidatorFunctions.isValidApiVersion, + isValidKind: KubernetesValidatorFunctions.isValidKind, + isValidEntityName: KubernetesValidatorFunctions.isValidObjectName, + isValidNamespace: KubernetesValidatorFunctions.isValidNamespace, + isValidLabelKey: KubernetesValidatorFunctions.isValidLabelKey, + isValidLabelValue: KubernetesValidatorFunctions.isValidLabelValue, + isValidAnnotationKey: KubernetesValidatorFunctions.isValidAnnotationKey, + isValidAnnotationValue: KubernetesValidatorFunctions.isValidAnnotationValue, + isValidTag: (value) => { + return typeof value === "string" && value.length >= 1 && value.length <= 63 && /^[a-z0-9:+#]+(\-[a-z0-9:+#]+)*$/.test(value); + } +}; +function makeValidator(overrides = {}) { + return { + ...defaultValidators, + ...overrides + }; +} + +var __defProp$2 = Object.defineProperty; +var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$2 = (obj, key, value) => { + __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class FieldFormatEntityPolicy { + constructor(validators = makeValidator()) { + __publicField$2(this, "validators"); + this.validators = validators; + } + async enforce(entity) { + var _a, _b, _c, _d, _e, _f, _g; + function require2(field, value, validator) { + if (value === void 0 || value === null) { + throw new Error(`${field} must have a value`); + } + let isValid; + try { + isValid = validator(value); + } catch (e) { + throw new Error(`${field} could not be validated, ${e}`); + } + if (!isValid) { + let expectation; + switch (validator.name) { + case "isValidLabelValue": + case "isValidObjectName": + expectation = "a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total"; + break; + case "isValidLabelKey": + case "isValidApiVersion": + case "isValidAnnotationKey": + expectation = "a valid prefix and/or suffix"; + break; + case "isValidNamespace": + case "isValidDnsLabel": + expectation = "a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total"; + break; + case "isValidTag": + expectation = "a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total"; + break; + case "isValidAnnotationValue": + expectation = "a string"; + break; + case "isValidKind": + expectation = "a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total"; + break; + case "isValidUrl": + expectation = "a string that is a valid url"; + break; + case "isValidString": + case "isNonEmptyString": + expectation = "a non empty string"; + break; + default: + expectation = void 0; + break; + } + const message = expectation ? ` expected ${expectation} but found "${value}".` : ""; + throw new Error( + `"${field}" is not valid;${message} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md` + ); + } + } + function optional(field, value, validator) { + return value === void 0 || require2(field, value, validator); + } + require2("apiVersion", entity.apiVersion, this.validators.isValidApiVersion); + require2("kind", entity.kind, this.validators.isValidKind); + require2("metadata.name", entity.metadata.name, this.validators.isValidEntityName); + optional( + "metadata.namespace", + entity.metadata.namespace, + this.validators.isValidNamespace + ); + for (const [k, v] of Object.entries((_a = entity.metadata.labels) != null ? _a : [])) { + require2(`labels.${k}`, k, this.validators.isValidLabelKey); + require2(`labels.${k}`, v, this.validators.isValidLabelValue); + } + for (const [k, v] of Object.entries((_b = entity.metadata.annotations) != null ? _b : [])) { + require2(`annotations.${k}`, k, this.validators.isValidAnnotationKey); + require2(`annotations.${k}`, v, this.validators.isValidAnnotationValue); + } + const tags = (_c = entity.metadata.tags) != null ? _c : []; + for (let i = 0; i < tags.length; ++i) { + require2(`tags.${i}`, tags[i], this.validators.isValidTag); + } + const links = (_d = entity.metadata.links) != null ? _d : []; + for (let i = 0; i < links.length; ++i) { + require2(`links.${i}.url`, (_e = links[i]) == null ? void 0 : _e.url, CommonValidatorFunctions.isValidUrl); + optional( + `links.${i}.title`, + (_f = links[i]) == null ? void 0 : _f.title, + CommonValidatorFunctions.isNonEmptyString + ); + optional( + `links.${i}.icon`, + (_g = links[i]) == null ? void 0 : _g.icon, + KubernetesValidatorFunctions.isValidObjectName + ); + } + return entity; + } +} + +var __defProp$1 = Object.defineProperty; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$1 = (obj, key, value) => { + __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +const defaultKnownFields = ["apiVersion", "kind", "metadata", "spec"]; +class NoForeignRootFieldsEntityPolicy { + constructor(knownFields = defaultKnownFields) { + __publicField$1(this, "knownFields"); + this.knownFields = knownFields; + } + async enforce(entity) { + for (const field of Object.keys(entity)) { + if (!this.knownFields.includes(field)) { + throw new Error(`Unknown field ${field}`); + } + } + return entity; + } +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class SchemaValidEntityPolicy { + constructor() { + __publicField(this, "validate"); + } + async enforce(entity) { + if (!this.validate) { + const ajv = new Ajv__default["default"]({ allowUnionTypes: true }); + this.validate = ajv.addSchema([commonSchema, entityMetaSchema], void 0, void 0, true).compile(entitySchema); + } + const result = this.validate(entity); + if (result === true) { + return entity; + } + const [error] = this.validate.errors || []; + if (!error) { + throw new Error(`Malformed envelope, Unknown error`); + } + throw new Error( + `Malformed envelope, ${error.instancePath || ""} ${error.message}` + ); + } +} + +class AllEntityPolicies { + constructor(policies) { + this.policies = policies; + } + async enforce(entity) { + let result = entity; + for (const policy of this.policies) { + const output = await policy.enforce(result); + if (!output) { + throw new Error( + `Policy ${policy.constructor.name} did not return a result` + ); + } + result = output; + } + return result; + } +} +class AnyEntityPolicy { + constructor(policies) { + this.policies = policies; + } + async enforce(entity) { + for (const policy of this.policies) { + const output = await policy.enforce(entity); + if (output) { + return output; + } + } + throw new Error(`The entity did not match any known policy`); + } +} +const EntityPolicies = { + allOf(policies) { + return new AllEntityPolicies(policies); + }, + oneOf(policies) { + return new AnyEntityPolicy(policies); + } +}; + +var $schema$7 = "http://json-schema.org/draft-07/schema"; +var $id$7 = "ApiV1alpha1"; +var description$7 = "An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats."; +var examples$7 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "API", + metadata: { + name: "artist-api", + description: "Retrieve artist details", + labels: { + product_name: "Random value Generator" + }, + annotations: { + docs: "https://github.com/..../tree/develop/doc" + } + }, + spec: { + type: "openapi", + lifecycle: "production", + owner: "artist-relations-team", + system: "artist-engagement-portal", + definition: "openapi: \"3.0.0\"\ninfo:..." + } + } +]; +var allOf$7 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "API" + ] + }, + spec: { + type: "object", + required: [ + "type", + "lifecycle", + "owner", + "definition" + ], + properties: { + type: { + type: "string", + description: "The type of the API definition.", + examples: [ + "openapi", + "asyncapi", + "graphql", + "grpc", + "trpc" + ], + minLength: 1 + }, + lifecycle: { + type: "string", + description: "The lifecycle state of the API.", + examples: [ + "experimental", + "production", + "deprecated" + ], + minLength: 1 + }, + owner: { + type: "string", + description: "An entity reference to the owner of the API.", + examples: [ + "artist-relations-team", + "user:john.johnson" + ], + minLength: 1 + }, + system: { + type: "string", + description: "An entity reference to the system that the API belongs to.", + minLength: 1 + }, + definition: { + type: "string", + description: "The definition of the API, based on the format defined by the type.", + minLength: 1 + } + } + } + } + } +]; +var schema$7 = { + $schema: $schema$7, + $id: $id$7, + description: description$7, + examples: examples$7, + allOf: allOf$7 +}; + +function ajvCompiledJsonSchemaValidator(schema) { + let validator; + return { + async check(data) { + if (!validator) { + validator = entityKindSchemaValidator(schema); + } + return validator(data) === data; + } + }; +} + +const apiEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$7); + +var $schema$6 = "http://json-schema.org/draft-07/schema"; +var $id$6 = "ComponentV1alpha1"; +var description$6 = "A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \"unit of software\", usually with a distinct deployable or linkable artifact."; +var examples$6 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Component", + metadata: { + name: "LoremService", + description: "Creates Lorems like a pro.", + labels: { + product_name: "Random value Generator" + }, + annotations: { + docs: "https://github.com/..../tree/develop/doc" + } + }, + spec: { + type: "service", + lifecycle: "production", + owner: "tools" + } + } +]; +var allOf$6 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "Component" + ] + }, + spec: { + type: "object", + required: [ + "type", + "lifecycle", + "owner" + ], + properties: { + type: { + type: "string", + description: "The type of component.", + examples: [ + "service", + "website", + "library" + ], + minLength: 1 + }, + lifecycle: { + type: "string", + description: "The lifecycle state of the component.", + examples: [ + "experimental", + "production", + "deprecated" + ], + minLength: 1 + }, + owner: { + type: "string", + description: "An entity reference to the owner of the component.", + examples: [ + "artist-relations-team", + "user:john.johnson" + ], + minLength: 1 + }, + system: { + type: "string", + description: "An entity reference to the system that the component belongs to.", + minLength: 1 + }, + subcomponentOf: { + type: "string", + description: "An entity reference to another component of which the component is a part.", + minLength: 1 + }, + providesApis: { + type: "array", + description: "An array of entity references to the APIs that are provided by the component.", + items: { + type: "string", + minLength: 1 + } + }, + consumesApis: { + type: "array", + description: "An array of entity references to the APIs that are consumed by the component.", + items: { + type: "string", + minLength: 1 + } + }, + dependsOn: { + type: "array", + description: "An array of references to other entities that the component depends on to function.", + items: { + type: "string", + minLength: 1 + } + } + } + } + } + } +]; +var schema$6 = { + $schema: $schema$6, + $id: $id$6, + description: description$6, + examples: examples$6, + allOf: allOf$6 +}; + +const componentEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$6); + +var $schema$5 = "http://json-schema.org/draft-07/schema"; +var $id$5 = "DomainV1alpha1"; +var description$5 = "A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context."; +var examples$5 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Domain", + metadata: { + name: "artists", + description: "Everything about artists" + }, + spec: { + owner: "artist-relations-team" + } + } +]; +var allOf$5 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "Domain" + ] + }, + spec: { + type: "object", + required: [ + "owner" + ], + properties: { + owner: { + type: "string", + description: "An entity reference to the owner of the component.", + examples: [ + "artist-relations-team", + "user:john.johnson" + ], + minLength: 1 + } + } + } + } + } +]; +var schema$5 = { + $schema: $schema$5, + $id: $id$5, + description: description$5, + examples: examples$5, + allOf: allOf$5 +}; + +const domainEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$5); + +var $schema$4 = "http://json-schema.org/draft-07/schema"; +var $id$4 = "GroupV1alpha1"; +var description$4 = "A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User."; +var examples$4 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Group", + metadata: { + name: "infrastructure", + description: "The infra business unit" + }, + spec: { + type: "business-unit", + profile: { + displayName: "Infrastructure", + email: "infrastructure@example.com", + picture: "https://example.com/groups/bu-infrastructure.jpeg" + }, + parent: "ops", + children: [ + "backstage", + "other" + ] + } + } +]; +var allOf$4 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "Group" + ] + }, + spec: { + type: "object", + required: [ + "type", + "children" + ], + properties: { + type: { + type: "string", + description: "The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.", + examples: [ + "team", + "business-unit", + "product-area", + "root" + ], + minLength: 1 + }, + profile: { + type: "object", + description: "Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.", + properties: { + displayName: { + type: "string", + description: "A simple display name to present to users.", + examples: [ + "Infrastructure" + ], + minLength: 1 + }, + email: { + type: "string", + description: "An email where this entity can be reached.", + examples: [ + "infrastructure@example.com" + ], + minLength: 1 + }, + picture: { + type: "string", + description: "The URL of an image that represents this entity.", + examples: [ + "https://example.com/groups/bu-infrastructure.jpeg" + ], + minLength: 1 + } + } + }, + parent: { + type: "string", + description: "The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.", + examples: [ + "ops" + ], + minLength: 1 + }, + children: { + type: "array", + description: "The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.", + items: { + type: "string", + examples: [ + "backstage", + "other" + ], + minLength: 1 + } + }, + members: { + type: "array", + description: "The users that are members of this group. The entries of this array are entity references.", + items: { + type: "string", + examples: [ + "jdoe" + ], + minLength: 1 + } + } + } + } + } + } +]; +var schema$4 = { + $schema: $schema$4, + $id: $id$4, + description: description$4, + examples: examples$4, + allOf: allOf$4 +}; + +const groupEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$4); + +var $schema$3 = "http://json-schema.org/draft-07/schema"; +var $id$3 = "LocationV1alpha1"; +var description$3 = "A location is a marker that references other places to look for catalog data."; +var examples$3 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Location", + metadata: { + name: "org-data" + }, + spec: { + type: "url", + targets: [ + "http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml", + "http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml" + ] + } + } +]; +var allOf$3 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "Location" + ] + }, + spec: { + type: "object", + required: [ + ], + properties: { + type: { + type: "string", + description: "The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.", + examples: [ + "url" + ], + minLength: 1 + }, + target: { + type: "string", + description: "A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.", + examples: [ + "./details/catalog-info.yaml" + ], + minLength: 1 + }, + targets: { + type: "array", + description: "A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.", + items: { + type: "string", + examples: [ + "./details/catalog-info.yaml", + "http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml" + ], + minLength: 1 + } + }, + presence: { + type: "string", + description: "Whether the presence of the location target is required and it should be considered an error if it can not be found", + "default": "required", + examples: [ + "required" + ], + "enum": [ + "required", + "optional" + ] + } + } + } + } + } +]; +var schema$3 = { + $schema: $schema$3, + $id: $id$3, + description: description$3, + examples: examples$3, + allOf: allOf$3 +}; + +const locationEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$3); + +const RELATION_OWNED_BY = "ownedBy"; +const RELATION_OWNER_OF = "ownerOf"; +const RELATION_CONSUMES_API = "consumesApi"; +const RELATION_API_CONSUMED_BY = "apiConsumedBy"; +const RELATION_PROVIDES_API = "providesApi"; +const RELATION_API_PROVIDED_BY = "apiProvidedBy"; +const RELATION_DEPENDS_ON = "dependsOn"; +const RELATION_DEPENDENCY_OF = "dependencyOf"; +const RELATION_PARENT_OF = "parentOf"; +const RELATION_CHILD_OF = "childOf"; +const RELATION_MEMBER_OF = "memberOf"; +const RELATION_HAS_MEMBER = "hasMember"; +const RELATION_PART_OF = "partOf"; +const RELATION_HAS_PART = "hasPart"; + +var $schema$2 = "http://json-schema.org/draft-07/schema"; +var $id$2 = "ResourceV1alpha1"; +var description$2 = "A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them."; +var examples$2 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "Resource", + metadata: { + name: "artists-db", + description: "Stores artist details" + }, + spec: { + type: "database", + owner: "artist-relations-team", + system: "artist-engagement-portal" + } + } +]; +var allOf$2 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "Resource" + ] + }, + spec: { + type: "object", + required: [ + "type", + "owner" + ], + properties: { + type: { + type: "string", + description: "The type of resource.", + examples: [ + "database", + "s3-bucket", + "cluster" + ], + minLength: 1 + }, + owner: { + type: "string", + description: "An entity reference to the owner of the resource.", + examples: [ + "artist-relations-team", + "user:john.johnson" + ], + minLength: 1 + }, + dependsOn: { + type: "array", + description: "An array of references to other entities that the resource depends on to function.", + items: { + type: "string", + minLength: 1 + } + }, + system: { + type: "string", + description: "An entity reference to the system that the resource belongs to.", + minLength: 1 + } + } + } + } + } +]; +var schema$2 = { + $schema: $schema$2, + $id: $id$2, + description: description$2, + examples: examples$2, + allOf: allOf$2 +}; + +const resourceEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$2); + +var $schema$1 = "http://json-schema.org/draft-07/schema"; +var $id$1 = "SystemV1alpha1"; +var description$1 = "A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs."; +var examples$1 = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "System", + metadata: { + name: "artist-engagement-portal", + description: "Handy tools to keep artists in the loop" + }, + spec: { + owner: "artist-relations-team", + domain: "artists" + } + } +]; +var allOf$1 = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "System" + ] + }, + spec: { + type: "object", + required: [ + "owner" + ], + properties: { + owner: { + type: "string", + description: "An entity reference to the owner of the component.", + examples: [ + "artist-relations-team", + "user:john.johnson" + ], + minLength: 1 + }, + domain: { + type: "string", + description: "An entity reference to the domain that the system belongs to.", + examples: [ + "artists" + ], + minLength: 1 + } + } + } + } + } +]; +var schema$1 = { + $schema: $schema$1, + $id: $id$1, + description: description$1, + examples: examples$1, + allOf: allOf$1 +}; + +const systemEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$1); + +var $schema = "http://json-schema.org/draft-07/schema"; +var $id = "UserV1alpha1"; +var description = "A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts."; +var examples = [ + { + apiVersion: "backstage.io/v1alpha1", + kind: "User", + metadata: { + name: "jdoe" + }, + spec: { + profile: { + displayName: "Jenny Doe", + email: "jenny-doe@example.com", + picture: "https://example.com/staff/jenny-with-party-hat.jpeg" + }, + memberOf: [ + "team-b", + "employees" + ] + } + } +]; +var allOf = [ + { + $ref: "Entity" + }, + { + type: "object", + required: [ + "spec" + ], + properties: { + apiVersion: { + "enum": [ + "backstage.io/v1alpha1", + "backstage.io/v1beta1" + ] + }, + kind: { + "enum": [ + "User" + ] + }, + spec: { + type: "object", + required: [ + "memberOf" + ], + properties: { + profile: { + type: "object", + description: "Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.", + properties: { + displayName: { + type: "string", + description: "A simple display name to present to users.", + examples: [ + "Jenny Doe" + ], + minLength: 1 + }, + email: { + type: "string", + description: "An email where this user can be reached.", + examples: [ + "jenny-doe@example.com" + ], + minLength: 1 + }, + picture: { + type: "string", + description: "The URL of an image that represents this user.", + examples: [ + "https://example.com/staff/jenny-with-party-hat.jpeg" + ], + minLength: 1 + } + } + }, + memberOf: { + type: "array", + description: "The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.", + items: { + type: "string", + examples: [ + "team-b", + "employees" + ], + minLength: 1 + } + } + } + } + } + } +]; +var schema = { + $schema: $schema, + $id: $id, + description: description, + examples: examples, + allOf: allOf +}; + +const userEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema); + +const ANNOTATION_LOCATION = "backstage.io/managed-by-location"; +const ANNOTATION_ORIGIN_LOCATION = "backstage.io/managed-by-origin-location"; +const ANNOTATION_SOURCE_LOCATION = "backstage.io/source-location"; + +const scriptProtocolPattern = ( + // eslint-disable-next-line no-control-regex + /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i +); +function parseLocationRef(ref) { + if (typeof ref !== "string") { + throw new TypeError( + `Unable to parse location ref '${ref}', unexpected argument ${typeof ref}` + ); + } + const splitIndex = ref.indexOf(":"); + if (splitIndex < 0) { + throw new TypeError( + `Unable to parse location ref '${ref}', expected ':', e.g. 'url:https://host/path'` + ); + } + const type = ref.substring(0, splitIndex).trim(); + const target = ref.substring(splitIndex + 1).trim(); + if (!type || !target) { + throw new TypeError( + `Unable to parse location ref '${ref}', expected ':', e.g. 'url:https://host/path'` + ); + } + if (type === "http" || type === "https") { + throw new TypeError( + `Invalid location ref '${ref}', please prefix it with 'url:', e.g. 'url:${ref}'` + ); + } + if (scriptProtocolPattern.test(target)) { + throw new TypeError( + `Invalid location ref '${ref}', target is a javascript: URL` + ); + } + return { type, target }; +} +function stringifyLocationRef(ref) { + const { type, target } = ref; + if (!type) { + throw new TypeError(`Unable to stringify location ref, empty type`); + } else if (!target) { + throw new TypeError(`Unable to stringify location ref, empty target`); + } + if (scriptProtocolPattern.test(target)) { + throw new TypeError( + `Invalid location ref '${type}:${target}', target is a javascript: URL` + ); + } + return `${type}:${target}`; +} +function getEntitySourceLocation(entity) { + var _a, _b, _c, _d, _e; + const locationRef = (_e = (_b = (_a = entity.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b[ANNOTATION_SOURCE_LOCATION]) != null ? _e : (_d = (_c = entity.metadata) == null ? void 0 : _c.annotations) == null ? void 0 : _d[ANNOTATION_LOCATION]; + if (!locationRef) { + throw new Error( + `Entity '${stringifyEntityRef(entity)}' is missing location` + ); + } + return parseLocationRef(locationRef); +} + +exports.ANNOTATION_EDIT_URL = ANNOTATION_EDIT_URL; +exports.ANNOTATION_KUBERNETES_API_SERVER = ANNOTATION_KUBERNETES_API_SERVER; +exports.ANNOTATION_KUBERNETES_API_SERVER_CA = ANNOTATION_KUBERNETES_API_SERVER_CA; +exports.ANNOTATION_KUBERNETES_AUTH_PROVIDER = ANNOTATION_KUBERNETES_AUTH_PROVIDER; +exports.ANNOTATION_LOCATION = ANNOTATION_LOCATION; +exports.ANNOTATION_ORIGIN_LOCATION = ANNOTATION_ORIGIN_LOCATION; +exports.ANNOTATION_SOURCE_LOCATION = ANNOTATION_SOURCE_LOCATION; +exports.ANNOTATION_VIEW_URL = ANNOTATION_VIEW_URL; +exports.CommonValidatorFunctions = CommonValidatorFunctions; +exports.DEFAULT_NAMESPACE = DEFAULT_NAMESPACE; +exports.DefaultNamespaceEntityPolicy = DefaultNamespaceEntityPolicy; +exports.EntityPolicies = EntityPolicies; +exports.FieldFormatEntityPolicy = FieldFormatEntityPolicy; +exports.GroupDefaultParentEntityPolicy = GroupDefaultParentEntityPolicy; +exports.KubernetesValidatorFunctions = KubernetesValidatorFunctions; +exports.NoForeignRootFieldsEntityPolicy = NoForeignRootFieldsEntityPolicy; +exports.RELATION_API_CONSUMED_BY = RELATION_API_CONSUMED_BY; +exports.RELATION_API_PROVIDED_BY = RELATION_API_PROVIDED_BY; +exports.RELATION_CHILD_OF = RELATION_CHILD_OF; +exports.RELATION_CONSUMES_API = RELATION_CONSUMES_API; +exports.RELATION_DEPENDENCY_OF = RELATION_DEPENDENCY_OF; +exports.RELATION_DEPENDS_ON = RELATION_DEPENDS_ON; +exports.RELATION_HAS_MEMBER = RELATION_HAS_MEMBER; +exports.RELATION_HAS_PART = RELATION_HAS_PART; +exports.RELATION_MEMBER_OF = RELATION_MEMBER_OF; +exports.RELATION_OWNED_BY = RELATION_OWNED_BY; +exports.RELATION_OWNER_OF = RELATION_OWNER_OF; +exports.RELATION_PARENT_OF = RELATION_PARENT_OF; +exports.RELATION_PART_OF = RELATION_PART_OF; +exports.RELATION_PROVIDES_API = RELATION_PROVIDES_API; +exports.SchemaValidEntityPolicy = SchemaValidEntityPolicy; +exports.apiEntityV1alpha1Validator = apiEntityV1alpha1Validator; +exports.componentEntityV1alpha1Validator = componentEntityV1alpha1Validator; +exports.domainEntityV1alpha1Validator = domainEntityV1alpha1Validator; +exports.entityEnvelopeSchemaValidator = entityEnvelopeSchemaValidator; +exports.entityKindSchemaValidator = entityKindSchemaValidator; +exports.entitySchemaValidator = entitySchemaValidator; +exports.getCompoundEntityRef = getCompoundEntityRef; +exports.getEntitySourceLocation = getEntitySourceLocation; +exports.groupEntityV1alpha1Validator = groupEntityV1alpha1Validator; +exports.isApiEntity = isApiEntity; +exports.isComponentEntity = isComponentEntity; +exports.isDomainEntity = isDomainEntity; +exports.isGroupEntity = isGroupEntity; +exports.isLocationEntity = isLocationEntity; +exports.isResourceEntity = isResourceEntity; +exports.isSystemEntity = isSystemEntity; +exports.isUserEntity = isUserEntity; +exports.locationEntityV1alpha1Validator = locationEntityV1alpha1Validator; +exports.makeValidator = makeValidator; +exports.parseEntityRef = parseEntityRef; +exports.parseLocationRef = parseLocationRef; +exports.resourceEntityV1alpha1Validator = resourceEntityV1alpha1Validator; +exports.stringifyEntityRef = stringifyEntityRef; +exports.stringifyLocationRef = stringifyLocationRef; +exports.systemEntityV1alpha1Validator = systemEntityV1alpha1Validator; +exports.userEntityV1alpha1Validator = userEntityV1alpha1Validator; +//# sourceMappingURL=index.cjs.js.map + + +/***/ }), + +/***/ 45141: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var serializeError$1 = __webpack_require__(45765); + +function isError(value) { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + return false; + } + const maybe = value; + if (typeof maybe.name !== "string" || maybe.name === "") { + return false; + } + if (typeof maybe.message !== "string") { + return false; + } + return true; +} +function assertError(value) { + if (typeof value !== "object" || value === null || Array.isArray(value)) { + throw new Error(`Encountered invalid error, not an object, got '${value}'`); + } + const maybe = value; + if (typeof maybe.name !== "string" || maybe.name === "") { + throw new Error(`Encountered error object without a name, got '${value}'`); + } + if (typeof maybe.message !== "string") { + throw new Error( + `Encountered error object without a message, got '${value}'` + ); + } +} + +function serializeError(error, options) { + const serialized = serializeError$1.serializeError(error); + const result = { + name: "Unknown", + message: "", + ...serialized + }; + if (!(options == null ? void 0 : options.includeStack)) { + delete result.stack; + } + return result; +} +function deserializeError(data) { + const result = serializeError$1.deserializeError(data); + if (!data.stack) { + result.stack = void 0; + } + return result; +} +function stringifyError(error) { + if (isError(error)) { + const str = String(error); + return str !== "[object Object]" ? str : `${error.name}: ${error.message}`; + } + return `unknown error '${error}'`; +} + +var __defProp$2 = Object.defineProperty; +var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$2 = (obj, key, value) => { + __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class CustomErrorBase extends Error { + constructor(message, cause) { + var _a; + let fullMessage = message; + if (cause !== void 0) { + const causeStr = stringifyError(cause); + if (fullMessage) { + fullMessage += `; caused by ${causeStr}`; + } else { + fullMessage = `caused by ${causeStr}`; + } + } + super(fullMessage); + /** + * An inner error that caused this error to be thrown, if any. + */ + __publicField$2(this, "cause"); + (_a = Error.captureStackTrace) == null ? void 0 : _a.call(Error, this, this.constructor); + if (!this.name || this.name === "Error") { + const baseName = this.constructor.name; + if (baseName !== "Error") { + this.name = this.constructor.name; + } + } + this.cause = isError(cause) ? cause : void 0; + } +} + +var __defProp$1 = Object.defineProperty; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$1 = (obj, key, value) => { + __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class InputError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "InputError"); + } +} +class AuthenticationError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "AuthenticationError"); + } +} +class NotAllowedError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "NotAllowedError"); + } +} +class NotFoundError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "NotFoundError"); + } +} +class ConflictError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "ConflictError"); + } +} +class NotModifiedError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "NotModifiedError"); + } +} +class NotImplementedError extends CustomErrorBase { + constructor() { + super(...arguments); + __publicField$1(this, "name", "NotImplementedError"); + } +} +class ServiceUnavailableError extends CustomErrorBase { +} +class ForwardedError extends CustomErrorBase { + constructor(message, cause) { + super(message, cause); + this.name = isError(cause) ? cause.name : "Error"; + } +} + +async function parseErrorResponseBody(response) { + var _a; + try { + const text = await response.text(); + if (text) { + if ((_a = response.headers.get("content-type")) == null ? void 0 : _a.startsWith("application/json")) { + try { + const body = JSON.parse(text); + if (body.error && body.response) { + return body; + } + } catch { + } + } + return { + error: { + name: "Error", + message: `Request failed with status ${response.status} ${response.statusText}, ${text}` + }, + response: { + statusCode: response.status + } + }; + } + } catch { + } + return { + error: { + name: "Error", + message: `Request failed with status ${response.status} ${response.statusText}` + }, + response: { + statusCode: response.status + } + }; +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class ResponseError extends Error { + constructor(props) { + super(props.message); + /** + * The actual response, as seen by the client. + * + * Note that the body of this response is always consumed. Its parsed form is + * in the `body` field. + */ + __publicField(this, "response"); + /** + * The parsed JSON error body, as sent by the server. + */ + __publicField(this, "body"); + /** + * The Error cause, as seen by the remote server. This is parsed out of the + * JSON error body. + * + * This error always has the plain Error constructor, however all + * serializable enumerable fields on the remote error including its name are + * preserved. Therefore, if you want to check the error type, use its name + * property rather than checking typeof or its constructor or prototype. + */ + __publicField(this, "cause"); + this.name = "ResponseError"; + this.response = props.response; + this.body = props.data; + this.cause = props.cause; + } + /** + * Constructs a ResponseError based on a failed response. + * + * Assumes that the response has already been checked to be not ok. This + * function consumes the body of the response, and assumes that it hasn't + * been consumed before. + */ + static async fromResponse(response) { + const data = await parseErrorResponseBody(response); + const status = data.response.statusCode || response.status; + const statusText = data.error.name || response.statusText; + const message = `Request failed with ${status} ${statusText}`; + const cause = deserializeError(data.error); + return new ResponseError({ + message, + response, + data, + cause + }); + } +} + +exports.AuthenticationError = AuthenticationError; +exports.ConflictError = ConflictError; +exports.CustomErrorBase = CustomErrorBase; +exports.ForwardedError = ForwardedError; +exports.InputError = InputError; +exports.NotAllowedError = NotAllowedError; +exports.NotFoundError = NotFoundError; +exports.NotImplementedError = NotImplementedError; +exports.NotModifiedError = NotModifiedError; +exports.ResponseError = ResponseError; +exports.ServiceUnavailableError = ServiceUnavailableError; +exports.assertError = assertError; +exports.deserializeError = deserializeError; +exports.isError = isError; +exports.parseErrorResponseBody = parseErrorResponseBody; +exports.serializeError = serializeError; +exports.stringifyError = stringifyError; +//# sourceMappingURL=index.cjs.js.map + + +/***/ }), + +/***/ 30891: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", ({ value: true })); +__export(__webpack_require__(74974)); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 74974: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +const fs_1 = __webpack_require__(57147); +const debug_1 = __importDefault(__webpack_require__(23510)); +const log = debug_1.default('@kwsites/file-exists'); +function check(path, isFile, isDirectory) { + log(`checking %s`, path); + try { + const stat = fs_1.statSync(path); + if (stat.isFile() && isFile) { + log(`[OK] path represents a file`); + return true; + } + if (stat.isDirectory() && isDirectory) { + log(`[OK] path represents a directory`); + return true; + } + log(`[FAIL] path represents something other than a file or directory`); + return false; + } + catch (e) { + if (e.code === 'ENOENT') { + log(`[FAIL] path is not accessible: %o`, e); + return false; + } + log(`[FATAL] %o`, e); + throw e; + } +} +/** + * Synchronous validation of a path existing either as a file or as a directory. + * + * @param {string} path The path to check + * @param {number} type One or both of the exported numeric constants + */ +function exists(path, type = exports.READABLE) { + return check(path, (type & exports.FILE) > 0, (type & exports.FOLDER) > 0); +} +exports.exists = exists; +/** + * Constant representing a file + */ +exports.FILE = 1; +/** + * Constant representing a folder + */ +exports.FOLDER = 2; +/** + * Constant representing either a file or a folder + */ +exports.READABLE = exports.FILE + exports.FOLDER; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 9634: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.createDeferred = exports.deferred = void 0; +/** + * Creates a new `DeferredPromise` + * + * ```typescript + import {deferred} from '@kwsites/promise-deferred`; + ``` + */ +function deferred() { + let done; + let fail; + let status = 'pending'; + const promise = new Promise((_done, _fail) => { + done = _done; + fail = _fail; + }); + return { + promise, + done(result) { + if (status === 'pending') { + status = 'resolved'; + done(result); + } + }, + fail(error) { + if (status === 'pending') { + status = 'rejected'; + fail(error); + } + }, + get fulfilled() { + return status !== 'pending'; + }, + get status() { + return status; + }, + }; +} +exports.deferred = deferred; +/** + * Alias of the exported `deferred` function, to help consumers wanting to use `deferred` as the + * local variable name rather than the factory import name, without needing to rename on import. + * + * ```typescript + import {createDeferred} from '@kwsites/promise-deferred`; + ``` + */ +exports.createDeferred = deferred; +/** + * Default export allows use as: + * + * ```typescript + import deferred from '@kwsites/promise-deferred`; + ``` + */ +exports["default"] = deferred; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 60698: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; +const core_1 = __webpack_require__(54634); +const draft7_1 = __webpack_require__(44840); +const discriminator_1 = __webpack_require__(8622); +const draft7MetaSchema = __webpack_require__(64746); +const META_SUPPORT_DATA = ["/properties"]; +const META_SCHEMA_ID = "http://json-schema.org/draft-07/schema"; +class Ajv extends core_1.default { + _addVocabularies() { + super._addVocabularies(); + draft7_1.default.forEach((v) => this.addVocabulary(v)); + if (this.opts.discriminator) + this.addKeyword(discriminator_1.default); + } + _addDefaultMetaSchema() { + super._addDefaultMetaSchema(); + if (!this.opts.meta) + return; + const metaSchema = this.opts.$data + ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) + : draft7MetaSchema; + this.addMetaSchema(metaSchema, META_SCHEMA_ID, false); + this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; + } + defaultMeta() { + return (this.opts.defaultMeta = + super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined)); + } +} +module.exports = exports = Ajv; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports["default"] = Ajv; +var validate_1 = __webpack_require__(24587); +Object.defineProperty(exports, "KeywordCxt", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } })); +var codegen_1 = __webpack_require__(61089); +Object.defineProperty(exports, "_", ({ enumerable: true, get: function () { return codegen_1._; } })); +Object.defineProperty(exports, "str", ({ enumerable: true, get: function () { return codegen_1.str; } })); +Object.defineProperty(exports, "stringify", ({ enumerable: true, get: function () { return codegen_1.stringify; } })); +Object.defineProperty(exports, "nil", ({ enumerable: true, get: function () { return codegen_1.nil; } })); +Object.defineProperty(exports, "Name", ({ enumerable: true, get: function () { return codegen_1.Name; } })); +Object.defineProperty(exports, "CodeGen", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } })); +var validation_error_1 = __webpack_require__(99401); +Object.defineProperty(exports, "ValidationError", ({ enumerable: true, get: function () { return validation_error_1.default; } })); +var ref_error_1 = __webpack_require__(60010); +Object.defineProperty(exports, "MissingRefError", ({ enumerable: true, get: function () { return ref_error_1.default; } })); +//# sourceMappingURL=ajv.js.map + +/***/ }), + +/***/ 40345: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0; +class _CodeOrName { +} +exports._CodeOrName = _CodeOrName; +exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; +class Name extends _CodeOrName { + constructor(s) { + super(); + if (!exports.IDENTIFIER.test(s)) + throw new Error("CodeGen: name must be a valid identifier"); + this.str = s; + } + toString() { + return this.str; + } + emptyStr() { + return false; + } + get names() { + return { [this.str]: 1 }; + } +} +exports.Name = Name; +class _Code extends _CodeOrName { + constructor(code) { + super(); + this._items = typeof code === "string" ? [code] : code; + } + toString() { + return this.str; + } + emptyStr() { + if (this._items.length > 1) + return false; + const item = this._items[0]; + return item === "" || item === '""'; + } + get str() { + var _a; + return ((_a = this._str) !== null && _a !== void 0 ? _a : (this._str = this._items.reduce((s, c) => `${s}${c}`, ""))); + } + get names() { + var _a; + return ((_a = this._names) !== null && _a !== void 0 ? _a : (this._names = this._items.reduce((names, c) => { + if (c instanceof Name) + names[c.str] = (names[c.str] || 0) + 1; + return names; + }, {}))); + } +} +exports._Code = _Code; +exports.nil = new _Code(""); +function _(strs, ...args) { + const code = [strs[0]]; + let i = 0; + while (i < args.length) { + addCodeArg(code, args[i]); + code.push(strs[++i]); + } + return new _Code(code); +} +exports._ = _; +const plus = new _Code("+"); +function str(strs, ...args) { + const expr = [safeStringify(strs[0])]; + let i = 0; + while (i < args.length) { + expr.push(plus); + addCodeArg(expr, args[i]); + expr.push(plus, safeStringify(strs[++i])); + } + optimize(expr); + return new _Code(expr); +} +exports.str = str; +function addCodeArg(code, arg) { + if (arg instanceof _Code) + code.push(...arg._items); + else if (arg instanceof Name) + code.push(arg); + else + code.push(interpolate(arg)); +} +exports.addCodeArg = addCodeArg; +function optimize(expr) { + let i = 1; + while (i < expr.length - 1) { + if (expr[i] === plus) { + const res = mergeExprItems(expr[i - 1], expr[i + 1]); + if (res !== undefined) { + expr.splice(i - 1, 3, res); + continue; + } + expr[i++] = "+"; + } + i++; + } +} +function mergeExprItems(a, b) { + if (b === '""') + return a; + if (a === '""') + return b; + if (typeof a == "string") { + if (b instanceof Name || a[a.length - 1] !== '"') + return; + if (typeof b != "string") + return `${a.slice(0, -1)}${b}"`; + if (b[0] === '"') + return a.slice(0, -1) + b.slice(1); + return; + } + if (typeof b == "string" && b[0] === '"' && !(a instanceof Name)) + return `"${a}${b.slice(1)}`; + return; +} +function strConcat(c1, c2) { + return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str `${c1}${c2}`; +} +exports.strConcat = strConcat; +// TODO do not allow arrays here +function interpolate(x) { + return typeof x == "number" || typeof x == "boolean" || x === null + ? x + : safeStringify(Array.isArray(x) ? x.join(",") : x); +} +function stringify(x) { + return new _Code(safeStringify(x)); +} +exports.stringify = stringify; +function safeStringify(x) { + return JSON.stringify(x) + .replace(/\u2028/g, "\\u2028") + .replace(/\u2029/g, "\\u2029"); +} +exports.safeStringify = safeStringify; +function getProperty(key) { + return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _ `[${key}]`; +} +exports.getProperty = getProperty; +//Does best effort to format the name properly +function getEsmExportName(key) { + if (typeof key == "string" && exports.IDENTIFIER.test(key)) { + return new _Code(`${key}`); + } + throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`); +} +exports.getEsmExportName = getEsmExportName; +function regexpCode(rx) { + return new _Code(rx.toString()); +} +exports.regexpCode = regexpCode; +//# sourceMappingURL=code.js.map + +/***/ }), + +/***/ 61089: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0; +const code_1 = __webpack_require__(40345); +const scope_1 = __webpack_require__(58108); +var code_2 = __webpack_require__(40345); +Object.defineProperty(exports, "_", ({ enumerable: true, get: function () { return code_2._; } })); +Object.defineProperty(exports, "str", ({ enumerable: true, get: function () { return code_2.str; } })); +Object.defineProperty(exports, "strConcat", ({ enumerable: true, get: function () { return code_2.strConcat; } })); +Object.defineProperty(exports, "nil", ({ enumerable: true, get: function () { return code_2.nil; } })); +Object.defineProperty(exports, "getProperty", ({ enumerable: true, get: function () { return code_2.getProperty; } })); +Object.defineProperty(exports, "stringify", ({ enumerable: true, get: function () { return code_2.stringify; } })); +Object.defineProperty(exports, "regexpCode", ({ enumerable: true, get: function () { return code_2.regexpCode; } })); +Object.defineProperty(exports, "Name", ({ enumerable: true, get: function () { return code_2.Name; } })); +var scope_2 = __webpack_require__(58108); +Object.defineProperty(exports, "Scope", ({ enumerable: true, get: function () { return scope_2.Scope; } })); +Object.defineProperty(exports, "ValueScope", ({ enumerable: true, get: function () { return scope_2.ValueScope; } })); +Object.defineProperty(exports, "ValueScopeName", ({ enumerable: true, get: function () { return scope_2.ValueScopeName; } })); +Object.defineProperty(exports, "varKinds", ({ enumerable: true, get: function () { return scope_2.varKinds; } })); +exports.operators = { + GT: new code_1._Code(">"), + GTE: new code_1._Code(">="), + LT: new code_1._Code("<"), + LTE: new code_1._Code("<="), + EQ: new code_1._Code("==="), + NEQ: new code_1._Code("!=="), + NOT: new code_1._Code("!"), + OR: new code_1._Code("||"), + AND: new code_1._Code("&&"), + ADD: new code_1._Code("+"), +}; +class Node { + optimizeNodes() { + return this; + } + optimizeNames(_names, _constants) { + return this; + } +} +class Def extends Node { + constructor(varKind, name, rhs) { + super(); + this.varKind = varKind; + this.name = name; + this.rhs = rhs; + } + render({ es5, _n }) { + const varKind = es5 ? scope_1.varKinds.var : this.varKind; + const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`; + return `${varKind} ${this.name}${rhs};` + _n; + } + optimizeNames(names, constants) { + if (!names[this.name.str]) + return; + if (this.rhs) + this.rhs = optimizeExpr(this.rhs, names, constants); + return this; + } + get names() { + return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; + } +} +class Assign extends Node { + constructor(lhs, rhs, sideEffects) { + super(); + this.lhs = lhs; + this.rhs = rhs; + this.sideEffects = sideEffects; + } + render({ _n }) { + return `${this.lhs} = ${this.rhs};` + _n; + } + optimizeNames(names, constants) { + if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) + return; + this.rhs = optimizeExpr(this.rhs, names, constants); + return this; + } + get names() { + const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }; + return addExprNames(names, this.rhs); + } +} +class AssignOp extends Assign { + constructor(lhs, op, rhs, sideEffects) { + super(lhs, rhs, sideEffects); + this.op = op; + } + render({ _n }) { + return `${this.lhs} ${this.op}= ${this.rhs};` + _n; + } +} +class Label extends Node { + constructor(label) { + super(); + this.label = label; + this.names = {}; + } + render({ _n }) { + return `${this.label}:` + _n; + } +} +class Break extends Node { + constructor(label) { + super(); + this.label = label; + this.names = {}; + } + render({ _n }) { + const label = this.label ? ` ${this.label}` : ""; + return `break${label};` + _n; + } +} +class Throw extends Node { + constructor(error) { + super(); + this.error = error; + } + render({ _n }) { + return `throw ${this.error};` + _n; + } + get names() { + return this.error.names; + } +} +class AnyCode extends Node { + constructor(code) { + super(); + this.code = code; + } + render({ _n }) { + return `${this.code};` + _n; + } + optimizeNodes() { + return `${this.code}` ? this : undefined; + } + optimizeNames(names, constants) { + this.code = optimizeExpr(this.code, names, constants); + return this; + } + get names() { + return this.code instanceof code_1._CodeOrName ? this.code.names : {}; + } +} +class ParentNode extends Node { + constructor(nodes = []) { + super(); + this.nodes = nodes; + } + render(opts) { + return this.nodes.reduce((code, n) => code + n.render(opts), ""); + } + optimizeNodes() { + const { nodes } = this; + let i = nodes.length; + while (i--) { + const n = nodes[i].optimizeNodes(); + if (Array.isArray(n)) + nodes.splice(i, 1, ...n); + else if (n) + nodes[i] = n; + else + nodes.splice(i, 1); + } + return nodes.length > 0 ? this : undefined; + } + optimizeNames(names, constants) { + const { nodes } = this; + let i = nodes.length; + while (i--) { + // iterating backwards improves 1-pass optimization + const n = nodes[i]; + if (n.optimizeNames(names, constants)) + continue; + subtractNames(names, n.names); + nodes.splice(i, 1); + } + return nodes.length > 0 ? this : undefined; + } + get names() { + return this.nodes.reduce((names, n) => addNames(names, n.names), {}); + } +} +class BlockNode extends ParentNode { + render(opts) { + return "{" + opts._n + super.render(opts) + "}" + opts._n; + } +} +class Root extends ParentNode { +} +class Else extends BlockNode { +} +Else.kind = "else"; +class If extends BlockNode { + constructor(condition, nodes) { + super(nodes); + this.condition = condition; + } + render(opts) { + let code = `if(${this.condition})` + super.render(opts); + if (this.else) + code += "else " + this.else.render(opts); + return code; + } + optimizeNodes() { + super.optimizeNodes(); + const cond = this.condition; + if (cond === true) + return this.nodes; // else is ignored here + let e = this.else; + if (e) { + const ns = e.optimizeNodes(); + e = this.else = Array.isArray(ns) ? new Else(ns) : ns; + } + if (e) { + if (cond === false) + return e instanceof If ? e : e.nodes; + if (this.nodes.length) + return this; + return new If(not(cond), e instanceof If ? [e] : e.nodes); + } + if (cond === false || !this.nodes.length) + return undefined; + return this; + } + optimizeNames(names, constants) { + var _a; + this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); + if (!(super.optimizeNames(names, constants) || this.else)) + return; + this.condition = optimizeExpr(this.condition, names, constants); + return this; + } + get names() { + const names = super.names; + addExprNames(names, this.condition); + if (this.else) + addNames(names, this.else.names); + return names; + } +} +If.kind = "if"; +class For extends BlockNode { +} +For.kind = "for"; +class ForLoop extends For { + constructor(iteration) { + super(); + this.iteration = iteration; + } + render(opts) { + return `for(${this.iteration})` + super.render(opts); + } + optimizeNames(names, constants) { + if (!super.optimizeNames(names, constants)) + return; + this.iteration = optimizeExpr(this.iteration, names, constants); + return this; + } + get names() { + return addNames(super.names, this.iteration.names); + } +} +class ForRange extends For { + constructor(varKind, name, from, to) { + super(); + this.varKind = varKind; + this.name = name; + this.from = from; + this.to = to; + } + render(opts) { + const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind; + const { name, from, to } = this; + return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts); + } + get names() { + const names = addExprNames(super.names, this.from); + return addExprNames(names, this.to); + } +} +class ForIter extends For { + constructor(loop, varKind, name, iterable) { + super(); + this.loop = loop; + this.varKind = varKind; + this.name = name; + this.iterable = iterable; + } + render(opts) { + return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts); + } + optimizeNames(names, constants) { + if (!super.optimizeNames(names, constants)) + return; + this.iterable = optimizeExpr(this.iterable, names, constants); + return this; + } + get names() { + return addNames(super.names, this.iterable.names); + } +} +class Func extends BlockNode { + constructor(name, args, async) { + super(); + this.name = name; + this.args = args; + this.async = async; + } + render(opts) { + const _async = this.async ? "async " : ""; + return `${_async}function ${this.name}(${this.args})` + super.render(opts); + } +} +Func.kind = "func"; +class Return extends ParentNode { + render(opts) { + return "return " + super.render(opts); + } +} +Return.kind = "return"; +class Try extends BlockNode { + render(opts) { + let code = "try" + super.render(opts); + if (this.catch) + code += this.catch.render(opts); + if (this.finally) + code += this.finally.render(opts); + return code; + } + optimizeNodes() { + var _a, _b; + super.optimizeNodes(); + (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes(); + (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes(); + return this; + } + optimizeNames(names, constants) { + var _a, _b; + super.optimizeNames(names, constants); + (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); + (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants); + return this; + } + get names() { + const names = super.names; + if (this.catch) + addNames(names, this.catch.names); + if (this.finally) + addNames(names, this.finally.names); + return names; + } +} +class Catch extends BlockNode { + constructor(error) { + super(); + this.error = error; + } + render(opts) { + return `catch(${this.error})` + super.render(opts); + } +} +Catch.kind = "catch"; +class Finally extends BlockNode { + render(opts) { + return "finally" + super.render(opts); + } +} +Finally.kind = "finally"; +class CodeGen { + constructor(extScope, opts = {}) { + this._values = {}; + this._blockStarts = []; + this._constants = {}; + this.opts = { ...opts, _n: opts.lines ? "\n" : "" }; + this._extScope = extScope; + this._scope = new scope_1.Scope({ parent: extScope }); + this._nodes = [new Root()]; + } + toString() { + return this._root.render(this.opts); + } + // returns unique name in the internal scope + name(prefix) { + return this._scope.name(prefix); + } + // reserves unique name in the external scope + scopeName(prefix) { + return this._extScope.name(prefix); + } + // reserves unique name in the external scope and assigns value to it + scopeValue(prefixOrName, value) { + const name = this._extScope.value(prefixOrName, value); + const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set()); + vs.add(name); + return name; + } + getScopeValue(prefix, keyOrRef) { + return this._extScope.getValue(prefix, keyOrRef); + } + // return code that assigns values in the external scope to the names that are used internally + // (same names that were returned by gen.scopeName or gen.scopeValue) + scopeRefs(scopeName) { + return this._extScope.scopeRefs(scopeName, this._values); + } + scopeCode() { + return this._extScope.scopeCode(this._values); + } + _def(varKind, nameOrPrefix, rhs, constant) { + const name = this._scope.toName(nameOrPrefix); + if (rhs !== undefined && constant) + this._constants[name.str] = rhs; + this._leafNode(new Def(varKind, name, rhs)); + return name; + } + // `const` declaration (`var` in es5 mode) + const(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant); + } + // `let` declaration with optional assignment (`var` in es5 mode) + let(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant); + } + // `var` declaration with optional assignment + var(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant); + } + // assignment code + assign(lhs, rhs, sideEffects) { + return this._leafNode(new Assign(lhs, rhs, sideEffects)); + } + // `+=` code + add(lhs, rhs) { + return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs)); + } + // appends passed SafeExpr to code or executes Block + code(c) { + if (typeof c == "function") + c(); + else if (c !== code_1.nil) + this._leafNode(new AnyCode(c)); + return this; + } + // returns code for object literal for the passed argument list of key-value pairs + object(...keyValues) { + const code = ["{"]; + for (const [key, value] of keyValues) { + if (code.length > 1) + code.push(","); + code.push(key); + if (key !== value || this.opts.es5) { + code.push(":"); + (0, code_1.addCodeArg)(code, value); + } + } + code.push("}"); + return new code_1._Code(code); + } + // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed) + if(condition, thenBody, elseBody) { + this._blockNode(new If(condition)); + if (thenBody && elseBody) { + this.code(thenBody).else().code(elseBody).endIf(); + } + else if (thenBody) { + this.code(thenBody).endIf(); + } + else if (elseBody) { + throw new Error('CodeGen: "else" body without "then" body'); + } + return this; + } + // `else if` clause - invalid without `if` or after `else` clauses + elseIf(condition) { + return this._elseNode(new If(condition)); + } + // `else` clause - only valid after `if` or `else if` clauses + else() { + return this._elseNode(new Else()); + } + // end `if` statement (needed if gen.if was used only with condition) + endIf() { + return this._endBlockNode(If, Else); + } + _for(node, forBody) { + this._blockNode(node); + if (forBody) + this.code(forBody).endFor(); + return this; + } + // a generic `for` clause (or statement if `forBody` is passed) + for(iteration, forBody) { + return this._for(new ForLoop(iteration), forBody); + } + // `for` statement for a range of values + forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) { + const name = this._scope.toName(nameOrPrefix); + return this._for(new ForRange(varKind, name, from, to), () => forBody(name)); + } + // `for-of` statement (in es5 mode replace with a normal for loop) + forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) { + const name = this._scope.toName(nameOrPrefix); + if (this.opts.es5) { + const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable); + return this.forRange("_i", 0, (0, code_1._) `${arr}.length`, (i) => { + this.var(name, (0, code_1._) `${arr}[${i}]`); + forBody(name); + }); + } + return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name)); + } + // `for-in` statement. + // With option `ownProperties` replaced with a `for-of` loop for object keys + forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) { + if (this.opts.ownProperties) { + return this.forOf(nameOrPrefix, (0, code_1._) `Object.keys(${obj})`, forBody); + } + const name = this._scope.toName(nameOrPrefix); + return this._for(new ForIter("in", varKind, name, obj), () => forBody(name)); + } + // end `for` loop + endFor() { + return this._endBlockNode(For); + } + // `label` statement + label(label) { + return this._leafNode(new Label(label)); + } + // `break` statement + break(label) { + return this._leafNode(new Break(label)); + } + // `return` statement + return(value) { + const node = new Return(); + this._blockNode(node); + this.code(value); + if (node.nodes.length !== 1) + throw new Error('CodeGen: "return" should have one node'); + return this._endBlockNode(Return); + } + // `try` statement + try(tryBody, catchCode, finallyCode) { + if (!catchCode && !finallyCode) + throw new Error('CodeGen: "try" without "catch" and "finally"'); + const node = new Try(); + this._blockNode(node); + this.code(tryBody); + if (catchCode) { + const error = this.name("e"); + this._currNode = node.catch = new Catch(error); + catchCode(error); + } + if (finallyCode) { + this._currNode = node.finally = new Finally(); + this.code(finallyCode); + } + return this._endBlockNode(Catch, Finally); + } + // `throw` statement + throw(error) { + return this._leafNode(new Throw(error)); + } + // start self-balancing block + block(body, nodeCount) { + this._blockStarts.push(this._nodes.length); + if (body) + this.code(body).endBlock(nodeCount); + return this; + } + // end the current self-balancing block + endBlock(nodeCount) { + const len = this._blockStarts.pop(); + if (len === undefined) + throw new Error("CodeGen: not in self-balancing block"); + const toClose = this._nodes.length - len; + if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) { + throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`); + } + this._nodes.length = len; + return this; + } + // `function` heading (or definition if funcBody is passed) + func(name, args = code_1.nil, async, funcBody) { + this._blockNode(new Func(name, args, async)); + if (funcBody) + this.code(funcBody).endFunc(); + return this; + } + // end function definition + endFunc() { + return this._endBlockNode(Func); + } + optimize(n = 1) { + while (n-- > 0) { + this._root.optimizeNodes(); + this._root.optimizeNames(this._root.names, this._constants); + } + } + _leafNode(node) { + this._currNode.nodes.push(node); + return this; + } + _blockNode(node) { + this._currNode.nodes.push(node); + this._nodes.push(node); + } + _endBlockNode(N1, N2) { + const n = this._currNode; + if (n instanceof N1 || (N2 && n instanceof N2)) { + this._nodes.pop(); + return this; + } + throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); + } + _elseNode(node) { + const n = this._currNode; + if (!(n instanceof If)) { + throw new Error('CodeGen: "else" without "if"'); + } + this._currNode = n.else = node; + return this; + } + get _root() { + return this._nodes[0]; + } + get _currNode() { + const ns = this._nodes; + return ns[ns.length - 1]; + } + set _currNode(node) { + const ns = this._nodes; + ns[ns.length - 1] = node; + } +} +exports.CodeGen = CodeGen; +function addNames(names, from) { + for (const n in from) + names[n] = (names[n] || 0) + (from[n] || 0); + return names; +} +function addExprNames(names, from) { + return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names; +} +function optimizeExpr(expr, names, constants) { + if (expr instanceof code_1.Name) + return replaceName(expr); + if (!canOptimize(expr)) + return expr; + return new code_1._Code(expr._items.reduce((items, c) => { + if (c instanceof code_1.Name) + c = replaceName(c); + if (c instanceof code_1._Code) + items.push(...c._items); + else + items.push(c); + return items; + }, [])); + function replaceName(n) { + const c = constants[n.str]; + if (c === undefined || names[n.str] !== 1) + return n; + delete names[n.str]; + return c; + } + function canOptimize(e) { + return (e instanceof code_1._Code && + e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined)); + } +} +function subtractNames(names, from) { + for (const n in from) + names[n] = (names[n] || 0) - (from[n] || 0); +} +function not(x) { + return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._) `!${par(x)}`; +} +exports.not = not; +const andCode = mappend(exports.operators.AND); +// boolean AND (&&) expression with the passed arguments +function and(...args) { + return args.reduce(andCode); +} +exports.and = and; +const orCode = mappend(exports.operators.OR); +// boolean OR (||) expression with the passed arguments +function or(...args) { + return args.reduce(orCode); +} +exports.or = or; +function mappend(op) { + return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._) `${par(x)} ${op} ${par(y)}`); +} +function par(x) { + return x instanceof code_1.Name ? x : (0, code_1._) `(${x})`; +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 58108: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0; +const code_1 = __webpack_require__(40345); +class ValueError extends Error { + constructor(name) { + super(`CodeGen: "code" for ${name} not defined`); + this.value = name.value; + } +} +var UsedValueState; +(function (UsedValueState) { + UsedValueState[UsedValueState["Started"] = 0] = "Started"; + UsedValueState[UsedValueState["Completed"] = 1] = "Completed"; +})(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {})); +exports.varKinds = { + const: new code_1.Name("const"), + let: new code_1.Name("let"), + var: new code_1.Name("var"), +}; +class Scope { + constructor({ prefixes, parent } = {}) { + this._names = {}; + this._prefixes = prefixes; + this._parent = parent; + } + toName(nameOrPrefix) { + return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix); + } + name(prefix) { + return new code_1.Name(this._newName(prefix)); + } + _newName(prefix) { + const ng = this._names[prefix] || this._nameGroup(prefix); + return `${prefix}${ng.index++}`; + } + _nameGroup(prefix) { + var _a, _b; + if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || (this._prefixes && !this._prefixes.has(prefix))) { + throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`); + } + return (this._names[prefix] = { prefix, index: 0 }); + } +} +exports.Scope = Scope; +class ValueScopeName extends code_1.Name { + constructor(prefix, nameStr) { + super(nameStr); + this.prefix = prefix; + } + setValue(value, { property, itemIndex }) { + this.value = value; + this.scopePath = (0, code_1._) `.${new code_1.Name(property)}[${itemIndex}]`; + } +} +exports.ValueScopeName = ValueScopeName; +const line = (0, code_1._) `\n`; +class ValueScope extends Scope { + constructor(opts) { + super(opts); + this._values = {}; + this._scope = opts.scope; + this.opts = { ...opts, _n: opts.lines ? line : code_1.nil }; + } + get() { + return this._scope; + } + name(prefix) { + return new ValueScopeName(prefix, this._newName(prefix)); + } + value(nameOrPrefix, value) { + var _a; + if (value.ref === undefined) + throw new Error("CodeGen: ref must be passed in value"); + const name = this.toName(nameOrPrefix); + const { prefix } = name; + const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref; + let vs = this._values[prefix]; + if (vs) { + const _name = vs.get(valueKey); + if (_name) + return _name; + } + else { + vs = this._values[prefix] = new Map(); + } + vs.set(valueKey, name); + const s = this._scope[prefix] || (this._scope[prefix] = []); + const itemIndex = s.length; + s[itemIndex] = value.ref; + name.setValue(value, { property: prefix, itemIndex }); + return name; + } + getValue(prefix, keyOrRef) { + const vs = this._values[prefix]; + if (!vs) + return; + return vs.get(keyOrRef); + } + scopeRefs(scopeName, values = this._values) { + return this._reduceValues(values, (name) => { + if (name.scopePath === undefined) + throw new Error(`CodeGen: name "${name}" has no value`); + return (0, code_1._) `${scopeName}${name.scopePath}`; + }); + } + scopeCode(values = this._values, usedValues, getCode) { + return this._reduceValues(values, (name) => { + if (name.value === undefined) + throw new Error(`CodeGen: name "${name}" has no value`); + return name.value.code; + }, usedValues, getCode); + } + _reduceValues(values, valueCode, usedValues = {}, getCode) { + let code = code_1.nil; + for (const prefix in values) { + const vs = values[prefix]; + if (!vs) + continue; + const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map()); + vs.forEach((name) => { + if (nameSet.has(name)) + return; + nameSet.set(name, UsedValueState.Started); + let c = valueCode(name); + if (c) { + const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const; + code = (0, code_1._) `${code}${def} ${name} = ${c};${this.opts._n}`; + } + else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) { + code = (0, code_1._) `${code}${c}${this.opts._n}`; + } + else { + throw new ValueError(name); + } + nameSet.set(name, UsedValueState.Completed); + }); + } + return code; + } +} +exports.ValueScope = ValueScope; +//# sourceMappingURL=scope.js.map + +/***/ }), + +/***/ 2439: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const names_1 = __webpack_require__(16842); +exports.keywordError = { + message: ({ keyword }) => (0, codegen_1.str) `must pass "${keyword}" keyword validation`, +}; +exports.keyword$DataError = { + message: ({ keyword, schemaType }) => schemaType + ? (0, codegen_1.str) `"${keyword}" keyword must be ${schemaType} ($data)` + : (0, codegen_1.str) `"${keyword}" keyword is invalid ($data)`, +}; +function reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) { + const { it } = cxt; + const { gen, compositeRule, allErrors } = it; + const errObj = errorObjectCode(cxt, error, errorPaths); + if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : (compositeRule || allErrors)) { + addError(gen, errObj); + } + else { + returnErrors(it, (0, codegen_1._) `[${errObj}]`); + } +} +exports.reportError = reportError; +function reportExtraError(cxt, error = exports.keywordError, errorPaths) { + const { it } = cxt; + const { gen, compositeRule, allErrors } = it; + const errObj = errorObjectCode(cxt, error, errorPaths); + addError(gen, errObj); + if (!(compositeRule || allErrors)) { + returnErrors(it, names_1.default.vErrors); + } +} +exports.reportExtraError = reportExtraError; +function resetErrorsCount(gen, errsCount) { + gen.assign(names_1.default.errors, errsCount); + gen.if((0, codegen_1._) `${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._) `${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null))); +} +exports.resetErrorsCount = resetErrorsCount; +function extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }) { + /* istanbul ignore if */ + if (errsCount === undefined) + throw new Error("ajv implementation error"); + const err = gen.name("err"); + gen.forRange("i", errsCount, names_1.default.errors, (i) => { + gen.const(err, (0, codegen_1._) `${names_1.default.vErrors}[${i}]`); + gen.if((0, codegen_1._) `${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._) `${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath))); + gen.assign((0, codegen_1._) `${err}.schemaPath`, (0, codegen_1.str) `${it.errSchemaPath}/${keyword}`); + if (it.opts.verbose) { + gen.assign((0, codegen_1._) `${err}.schema`, schemaValue); + gen.assign((0, codegen_1._) `${err}.data`, data); + } + }); +} +exports.extendErrors = extendErrors; +function addError(gen, errObj) { + const err = gen.const("err", errObj); + gen.if((0, codegen_1._) `${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._) `[${err}]`), (0, codegen_1._) `${names_1.default.vErrors}.push(${err})`); + gen.code((0, codegen_1._) `${names_1.default.errors}++`); +} +function returnErrors(it, errs) { + const { gen, validateName, schemaEnv } = it; + if (schemaEnv.$async) { + gen.throw((0, codegen_1._) `new ${it.ValidationError}(${errs})`); + } + else { + gen.assign((0, codegen_1._) `${validateName}.errors`, errs); + gen.return(false); + } +} +const E = { + keyword: new codegen_1.Name("keyword"), + schemaPath: new codegen_1.Name("schemaPath"), + params: new codegen_1.Name("params"), + propertyName: new codegen_1.Name("propertyName"), + message: new codegen_1.Name("message"), + schema: new codegen_1.Name("schema"), + parentSchema: new codegen_1.Name("parentSchema"), +}; +function errorObjectCode(cxt, error, errorPaths) { + const { createErrors } = cxt.it; + if (createErrors === false) + return (0, codegen_1._) `{}`; + return errorObject(cxt, error, errorPaths); +} +function errorObject(cxt, error, errorPaths = {}) { + const { gen, it } = cxt; + const keyValues = [ + errorInstancePath(it, errorPaths), + errorSchemaPath(cxt, errorPaths), + ]; + extraErrorProps(cxt, error, keyValues); + return gen.object(...keyValues); +} +function errorInstancePath({ errorPath }, { instancePath }) { + const instPath = instancePath + ? (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` + : errorPath; + return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)]; +} +function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) { + let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str) `${errSchemaPath}/${keyword}`; + if (schemaPath) { + schPath = (0, codegen_1.str) `${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`; + } + return [E.schemaPath, schPath]; +} +function extraErrorProps(cxt, { params, message }, keyValues) { + const { keyword, data, schemaValue, it } = cxt; + const { opts, propertyName, topSchemaRef, schemaPath } = it; + keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._) `{}`]); + if (opts.messages) { + keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]); + } + if (opts.verbose) { + keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._) `${topSchemaRef}${schemaPath}`], [names_1.default.data, data]); + } + if (propertyName) + keyValues.push([E.propertyName, propertyName]); +} +//# sourceMappingURL=errors.js.map + +/***/ }), + +/***/ 84029: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0; +const codegen_1 = __webpack_require__(61089); +const validation_error_1 = __webpack_require__(99401); +const names_1 = __webpack_require__(16842); +const resolve_1 = __webpack_require__(17325); +const util_1 = __webpack_require__(86824); +const validate_1 = __webpack_require__(24587); +class SchemaEnv { + constructor(env) { + var _a; + this.refs = {}; + this.dynamicAnchors = {}; + let schema; + if (typeof env.schema == "object") + schema = env.schema; + this.schema = env.schema; + this.schemaId = env.schemaId; + this.root = env.root || this; + this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || "$id"]); + this.schemaPath = env.schemaPath; + this.localRefs = env.localRefs; + this.meta = env.meta; + this.$async = schema === null || schema === void 0 ? void 0 : schema.$async; + this.refs = {}; + } +} +exports.SchemaEnv = SchemaEnv; +// let codeSize = 0 +// let nodeCount = 0 +// Compiles schema in SchemaEnv +function compileSchema(sch) { + // TODO refactor - remove compilations + const _sch = getCompilingSchema.call(this, sch); + if (_sch) + return _sch; + const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails + const { es5, lines } = this.opts.code; + const { ownProperties } = this.opts; + const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties }); + let _ValidationError; + if (sch.$async) { + _ValidationError = gen.scopeValue("Error", { + ref: validation_error_1.default, + code: (0, codegen_1._) `require("ajv/dist/runtime/validation_error").default`, + }); + } + const validateName = gen.scopeName("validate"); + sch.validateName = validateName; + const schemaCxt = { + gen, + allErrors: this.opts.allErrors, + data: names_1.default.data, + parentData: names_1.default.parentData, + parentDataProperty: names_1.default.parentDataProperty, + dataNames: [names_1.default.data], + dataPathArr: [codegen_1.nil], + dataLevel: 0, + dataTypes: [], + definedProperties: new Set(), + topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true + ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } + : { ref: sch.schema }), + validateName, + ValidationError: _ValidationError, + schema: sch.schema, + schemaEnv: sch, + rootId, + baseId: sch.baseId || rootId, + schemaPath: codegen_1.nil, + errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"), + errorPath: (0, codegen_1._) `""`, + opts: this.opts, + self: this, + }; + let sourceCode; + try { + this._compilations.add(sch); + (0, validate_1.validateFunctionCode)(schemaCxt); + gen.optimize(this.opts.code.optimize); + // gen.optimize(1) + const validateCode = gen.toString(); + sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`; + // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount)) + if (this.opts.code.process) + sourceCode = this.opts.code.process(sourceCode, sch); + // console.log("\n\n\n *** \n", sourceCode) + const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); + const validate = makeValidate(this, this.scope.get()); + this.scope.value(validateName, { ref: validate }); + validate.errors = null; + validate.schema = sch.schema; + validate.schemaEnv = sch; + if (sch.$async) + validate.$async = true; + if (this.opts.code.source === true) { + validate.source = { validateName, validateCode, scopeValues: gen._values }; + } + if (this.opts.unevaluated) { + const { props, items } = schemaCxt; + validate.evaluated = { + props: props instanceof codegen_1.Name ? undefined : props, + items: items instanceof codegen_1.Name ? undefined : items, + dynamicProps: props instanceof codegen_1.Name, + dynamicItems: items instanceof codegen_1.Name, + }; + if (validate.source) + validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated); + } + sch.validate = validate; + return sch; + } + catch (e) { + delete sch.validate; + delete sch.validateName; + if (sourceCode) + this.logger.error("Error compiling schema, function code:", sourceCode); + // console.log("\n\n\n *** \n", sourceCode, this.opts) + throw e; + } + finally { + this._compilations.delete(sch); + } +} +exports.compileSchema = compileSchema; +function resolveRef(root, baseId, ref) { + var _a; + ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref); + const schOrFunc = root.refs[ref]; + if (schOrFunc) + return schOrFunc; + let _sch = resolve.call(this, root, ref); + if (_sch === undefined) { + const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv + const { schemaId } = this.opts; + if (schema) + _sch = new SchemaEnv({ schema, schemaId, root, baseId }); + } + if (_sch === undefined) + return; + return (root.refs[ref] = inlineOrCompile.call(this, _sch)); +} +exports.resolveRef = resolveRef; +function inlineOrCompile(sch) { + if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) + return sch.schema; + return sch.validate ? sch : compileSchema.call(this, sch); +} +// Index of schema compilation in the currently compiled list +function getCompilingSchema(schEnv) { + for (const sch of this._compilations) { + if (sameSchemaEnv(sch, schEnv)) + return sch; + } +} +exports.getCompilingSchema = getCompilingSchema; +function sameSchemaEnv(s1, s2) { + return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId; +} +// resolve and compile the references ($ref) +// TODO returns AnySchemaObject (if the schema can be inlined) or validation function +function resolve(root, // information about the root schema for the current schema +ref // reference to resolve +) { + let sch; + while (typeof (sch = this.refs[ref]) == "string") + ref = sch; + return sch || this.schemas[ref] || resolveSchema.call(this, root, ref); +} +// Resolve schema, its root and baseId +function resolveSchema(root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it +ref // reference to resolve +) { + const p = this.opts.uriResolver.parse(ref); + const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p); + let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined); + // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests + if (Object.keys(root.schema).length > 0 && refPath === baseId) { + return getJsonPointer.call(this, p, root); + } + const id = (0, resolve_1.normalizeId)(refPath); + const schOrRef = this.refs[id] || this.schemas[id]; + if (typeof schOrRef == "string") { + const sch = resolveSchema.call(this, root, schOrRef); + if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") + return; + return getJsonPointer.call(this, p, sch); + } + if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") + return; + if (!schOrRef.validate) + compileSchema.call(this, schOrRef); + if (id === (0, resolve_1.normalizeId)(ref)) { + const { schema } = schOrRef; + const { schemaId } = this.opts; + const schId = schema[schemaId]; + if (schId) + baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); + return new SchemaEnv({ schema, schemaId, root, baseId }); + } + return getJsonPointer.call(this, p, schOrRef); +} +exports.resolveSchema = resolveSchema; +const PREVENT_SCOPE_CHANGE = new Set([ + "properties", + "patternProperties", + "enum", + "dependencies", + "definitions", +]); +function getJsonPointer(parsedRef, { baseId, schema, root }) { + var _a; + if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== "/") + return; + for (const part of parsedRef.fragment.slice(1).split("/")) { + if (typeof schema === "boolean") + return; + const partSchema = schema[(0, util_1.unescapeFragment)(part)]; + if (partSchema === undefined) + return; + schema = partSchema; + // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def? + const schId = typeof schema === "object" && schema[this.opts.schemaId]; + if (!PREVENT_SCOPE_CHANGE.has(part) && schId) { + baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); + } + } + let env; + if (typeof schema != "boolean" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) { + const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref); + env = resolveSchema.call(this, root, $ref); + } + // even though resolution failed we need to return SchemaEnv to throw exception + // so that compileAsync loads missing schema. + const { schemaId } = this.opts; + env = env || new SchemaEnv({ schema, schemaId, root, baseId }); + if (env.schema !== env.root.schema) + return env; + return undefined; +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 16842: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const names = { + // validation function arguments + data: new codegen_1.Name("data"), + // args passed from referencing schema + valCxt: new codegen_1.Name("valCxt"), + instancePath: new codegen_1.Name("instancePath"), + parentData: new codegen_1.Name("parentData"), + parentDataProperty: new codegen_1.Name("parentDataProperty"), + rootData: new codegen_1.Name("rootData"), + dynamicAnchors: new codegen_1.Name("dynamicAnchors"), + // function scoped variables + vErrors: new codegen_1.Name("vErrors"), + errors: new codegen_1.Name("errors"), + this: new codegen_1.Name("this"), + // "globals" + self: new codegen_1.Name("self"), + scope: new codegen_1.Name("scope"), + // JTD serialize/parse name for JSON string and position + json: new codegen_1.Name("json"), + jsonPos: new codegen_1.Name("jsonPos"), + jsonLen: new codegen_1.Name("jsonLen"), + jsonPart: new codegen_1.Name("jsonPart"), +}; +exports["default"] = names; +//# sourceMappingURL=names.js.map + +/***/ }), + +/***/ 60010: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const resolve_1 = __webpack_require__(17325); +class MissingRefError extends Error { + constructor(resolver, baseId, ref, msg) { + super(msg || `can't resolve reference ${ref} from id ${baseId}`); + this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref); + this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef)); + } +} +exports["default"] = MissingRefError; +//# sourceMappingURL=ref_error.js.map + +/***/ }), + +/***/ 17325: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0; +const util_1 = __webpack_require__(86824); +const equal = __webpack_require__(92417); +const traverse = __webpack_require__(19358); +// TODO refactor to use keyword definitions +const SIMPLE_INLINED = new Set([ + "type", + "format", + "pattern", + "maxLength", + "minLength", + "maxProperties", + "minProperties", + "maxItems", + "minItems", + "maximum", + "minimum", + "uniqueItems", + "multipleOf", + "required", + "enum", + "const", +]); +function inlineRef(schema, limit = true) { + if (typeof schema == "boolean") + return true; + if (limit === true) + return !hasRef(schema); + if (!limit) + return false; + return countKeys(schema) <= limit; +} +exports.inlineRef = inlineRef; +const REF_KEYWORDS = new Set([ + "$ref", + "$recursiveRef", + "$recursiveAnchor", + "$dynamicRef", + "$dynamicAnchor", +]); +function hasRef(schema) { + for (const key in schema) { + if (REF_KEYWORDS.has(key)) + return true; + const sch = schema[key]; + if (Array.isArray(sch) && sch.some(hasRef)) + return true; + if (typeof sch == "object" && hasRef(sch)) + return true; + } + return false; +} +function countKeys(schema) { + let count = 0; + for (const key in schema) { + if (key === "$ref") + return Infinity; + count++; + if (SIMPLE_INLINED.has(key)) + continue; + if (typeof schema[key] == "object") { + (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch))); + } + if (count === Infinity) + return Infinity; + } + return count; +} +function getFullPath(resolver, id = "", normalize) { + if (normalize !== false) + id = normalizeId(id); + const p = resolver.parse(id); + return _getFullPath(resolver, p); +} +exports.getFullPath = getFullPath; +function _getFullPath(resolver, p) { + const serialized = resolver.serialize(p); + return serialized.split("#")[0] + "#"; +} +exports._getFullPath = _getFullPath; +const TRAILING_SLASH_HASH = /#\/?$/; +function normalizeId(id) { + return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; +} +exports.normalizeId = normalizeId; +function resolveUrl(resolver, baseId, id) { + id = normalizeId(id); + return resolver.resolve(baseId, id); +} +exports.resolveUrl = resolveUrl; +const ANCHOR = /^[a-z_][-a-z0-9._]*$/i; +function getSchemaRefs(schema, baseId) { + if (typeof schema == "boolean") + return {}; + const { schemaId, uriResolver } = this.opts; + const schId = normalizeId(schema[schemaId] || baseId); + const baseIds = { "": schId }; + const pathPrefix = getFullPath(uriResolver, schId, false); + const localRefs = {}; + const schemaRefs = new Set(); + traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => { + if (parentJsonPtr === undefined) + return; + const fullPath = pathPrefix + jsonPtr; + let baseId = baseIds[parentJsonPtr]; + if (typeof sch[schemaId] == "string") + baseId = addRef.call(this, sch[schemaId]); + addAnchor.call(this, sch.$anchor); + addAnchor.call(this, sch.$dynamicAnchor); + baseIds[jsonPtr] = baseId; + function addRef(ref) { + // eslint-disable-next-line @typescript-eslint/unbound-method + const _resolve = this.opts.uriResolver.resolve; + ref = normalizeId(baseId ? _resolve(baseId, ref) : ref); + if (schemaRefs.has(ref)) + throw ambiguos(ref); + schemaRefs.add(ref); + let schOrRef = this.refs[ref]; + if (typeof schOrRef == "string") + schOrRef = this.refs[schOrRef]; + if (typeof schOrRef == "object") { + checkAmbiguosRef(sch, schOrRef.schema, ref); + } + else if (ref !== normalizeId(fullPath)) { + if (ref[0] === "#") { + checkAmbiguosRef(sch, localRefs[ref], ref); + localRefs[ref] = sch; + } + else { + this.refs[ref] = fullPath; + } + } + return ref; + } + function addAnchor(anchor) { + if (typeof anchor == "string") { + if (!ANCHOR.test(anchor)) + throw new Error(`invalid anchor "${anchor}"`); + addRef.call(this, `#${anchor}`); + } + } + }); + return localRefs; + function checkAmbiguosRef(sch1, sch2, ref) { + if (sch2 !== undefined && !equal(sch1, sch2)) + throw ambiguos(ref); + } + function ambiguos(ref) { + return new Error(`reference "${ref}" resolves to more than one schema`); + } +} +exports.getSchemaRefs = getSchemaRefs; +//# sourceMappingURL=resolve.js.map + +/***/ }), + +/***/ 54964: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getRules = exports.isJSONType = void 0; +const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"]; +const jsonTypes = new Set(_jsonTypes); +function isJSONType(x) { + return typeof x == "string" && jsonTypes.has(x); +} +exports.isJSONType = isJSONType; +function getRules() { + const groups = { + number: { type: "number", rules: [] }, + string: { type: "string", rules: [] }, + array: { type: "array", rules: [] }, + object: { type: "object", rules: [] }, + }; + return { + types: { ...groups, integer: true, boolean: true, null: true }, + rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object], + post: { rules: [] }, + all: {}, + keywords: {}, + }; +} +exports.getRules = getRules; +//# sourceMappingURL=rules.js.map + +/***/ }), + +/***/ 86824: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0; +const codegen_1 = __webpack_require__(61089); +const code_1 = __webpack_require__(40345); +// TODO refactor to use Set +function toHash(arr) { + const hash = {}; + for (const item of arr) + hash[item] = true; + return hash; +} +exports.toHash = toHash; +function alwaysValidSchema(it, schema) { + if (typeof schema == "boolean") + return schema; + if (Object.keys(schema).length === 0) + return true; + checkUnknownRules(it, schema); + return !schemaHasRules(schema, it.self.RULES.all); +} +exports.alwaysValidSchema = alwaysValidSchema; +function checkUnknownRules(it, schema = it.schema) { + const { opts, self } = it; + if (!opts.strictSchema) + return; + if (typeof schema === "boolean") + return; + const rules = self.RULES.keywords; + for (const key in schema) { + if (!rules[key]) + checkStrictMode(it, `unknown keyword: "${key}"`); + } +} +exports.checkUnknownRules = checkUnknownRules; +function schemaHasRules(schema, rules) { + if (typeof schema == "boolean") + return !schema; + for (const key in schema) + if (rules[key]) + return true; + return false; +} +exports.schemaHasRules = schemaHasRules; +function schemaHasRulesButRef(schema, RULES) { + if (typeof schema == "boolean") + return !schema; + for (const key in schema) + if (key !== "$ref" && RULES.all[key]) + return true; + return false; +} +exports.schemaHasRulesButRef = schemaHasRulesButRef; +function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) { + if (!$data) { + if (typeof schema == "number" || typeof schema == "boolean") + return schema; + if (typeof schema == "string") + return (0, codegen_1._) `${schema}`; + } + return (0, codegen_1._) `${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`; +} +exports.schemaRefOrVal = schemaRefOrVal; +function unescapeFragment(str) { + return unescapeJsonPointer(decodeURIComponent(str)); +} +exports.unescapeFragment = unescapeFragment; +function escapeFragment(str) { + return encodeURIComponent(escapeJsonPointer(str)); +} +exports.escapeFragment = escapeFragment; +function escapeJsonPointer(str) { + if (typeof str == "number") + return `${str}`; + return str.replace(/~/g, "~0").replace(/\//g, "~1"); +} +exports.escapeJsonPointer = escapeJsonPointer; +function unescapeJsonPointer(str) { + return str.replace(/~1/g, "/").replace(/~0/g, "~"); +} +exports.unescapeJsonPointer = unescapeJsonPointer; +function eachItem(xs, f) { + if (Array.isArray(xs)) { + for (const x of xs) + f(x); + } + else { + f(xs); + } +} +exports.eachItem = eachItem; +function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName, }) { + return (gen, from, to, toName) => { + const res = to === undefined + ? from + : to instanceof codegen_1.Name + ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) + : from instanceof codegen_1.Name + ? (mergeToName(gen, to, from), from) + : mergeValues(from, to); + return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res; + }; +} +exports.mergeEvaluated = { + props: makeMergeEvaluated({ + mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => { + gen.if((0, codegen_1._) `${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._) `${to} || {}`).code((0, codegen_1._) `Object.assign(${to}, ${from})`)); + }), + mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => { + if (from === true) { + gen.assign(to, true); + } + else { + gen.assign(to, (0, codegen_1._) `${to} || {}`); + setEvaluated(gen, to, from); + } + }), + mergeValues: (from, to) => (from === true ? true : { ...from, ...to }), + resultToName: evaluatedPropsToName, + }), + items: makeMergeEvaluated({ + mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._) `${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)), + mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._) `${to} > ${from} ? ${to} : ${from}`)), + mergeValues: (from, to) => (from === true ? true : Math.max(from, to)), + resultToName: (gen, items) => gen.var("items", items), + }), +}; +function evaluatedPropsToName(gen, ps) { + if (ps === true) + return gen.var("props", true); + const props = gen.var("props", (0, codegen_1._) `{}`); + if (ps !== undefined) + setEvaluated(gen, props, ps); + return props; +} +exports.evaluatedPropsToName = evaluatedPropsToName; +function setEvaluated(gen, props, ps) { + Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true)); +} +exports.setEvaluated = setEvaluated; +const snippets = {}; +function useFunc(gen, f) { + return gen.scopeValue("func", { + ref: f, + code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)), + }); +} +exports.useFunc = useFunc; +var Type; +(function (Type) { + Type[Type["Num"] = 0] = "Num"; + Type[Type["Str"] = 1] = "Str"; +})(Type = exports.Type || (exports.Type = {})); +function getErrorPath(dataProp, dataPropType, jsPropertySyntax) { + // let path + if (dataProp instanceof codegen_1.Name) { + const isNumber = dataPropType === Type.Num; + return jsPropertySyntax + ? isNumber + ? (0, codegen_1._) `"[" + ${dataProp} + "]"` + : (0, codegen_1._) `"['" + ${dataProp} + "']"` + : isNumber + ? (0, codegen_1._) `"/" + ${dataProp}` + : (0, codegen_1._) `"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`; // TODO maybe use global escapePointer + } + return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp); +} +exports.getErrorPath = getErrorPath; +function checkStrictMode(it, msg, mode = it.opts.strictSchema) { + if (!mode) + return; + msg = `strict mode: ${msg}`; + if (mode === true) + throw new Error(msg); + it.self.logger.warn(msg); +} +exports.checkStrictMode = checkStrictMode; +//# sourceMappingURL=util.js.map + +/***/ }), + +/***/ 58039: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; +function schemaHasRulesForType({ schema, self }, type) { + const group = self.RULES.types[type]; + return group && group !== true && shouldUseGroup(schema, group); +} +exports.schemaHasRulesForType = schemaHasRulesForType; +function shouldUseGroup(schema, group) { + return group.rules.some((rule) => shouldUseRule(schema, rule)); +} +exports.shouldUseGroup = shouldUseGroup; +function shouldUseRule(schema, rule) { + var _a; + return (schema[rule.keyword] !== undefined || + ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined))); +} +exports.shouldUseRule = shouldUseRule; +//# sourceMappingURL=applicability.js.map + +/***/ }), + +/***/ 34042: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; +const errors_1 = __webpack_require__(2439); +const codegen_1 = __webpack_require__(61089); +const names_1 = __webpack_require__(16842); +const boolError = { + message: "boolean schema is false", +}; +function topBoolOrEmptySchema(it) { + const { gen, schema, validateName } = it; + if (schema === false) { + falseSchemaError(it, false); + } + else if (typeof schema == "object" && schema.$async === true) { + gen.return(names_1.default.data); + } + else { + gen.assign((0, codegen_1._) `${validateName}.errors`, null); + gen.return(true); + } +} +exports.topBoolOrEmptySchema = topBoolOrEmptySchema; +function boolOrEmptySchema(it, valid) { + const { gen, schema } = it; + if (schema === false) { + gen.var(valid, false); // TODO var + falseSchemaError(it); + } + else { + gen.var(valid, true); // TODO var + } +} +exports.boolOrEmptySchema = boolOrEmptySchema; +function falseSchemaError(it, overrideAllErrors) { + const { gen, data } = it; + // TODO maybe some other interface should be used for non-keyword validation errors... + const cxt = { + gen, + keyword: "false schema", + data, + schema: false, + schemaCode: false, + schemaValue: false, + params: {}, + it, + }; + (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors); +} +//# sourceMappingURL=boolSchema.js.map + +/***/ }), + +/***/ 50723: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0; +const rules_1 = __webpack_require__(54964); +const applicability_1 = __webpack_require__(58039); +const errors_1 = __webpack_require__(2439); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +var DataType; +(function (DataType) { + DataType[DataType["Correct"] = 0] = "Correct"; + DataType[DataType["Wrong"] = 1] = "Wrong"; +})(DataType = exports.DataType || (exports.DataType = {})); +function getSchemaTypes(schema) { + const types = getJSONTypes(schema.type); + const hasNull = types.includes("null"); + if (hasNull) { + if (schema.nullable === false) + throw new Error("type: null contradicts nullable: false"); + } + else { + if (!types.length && schema.nullable !== undefined) { + throw new Error('"nullable" cannot be used without "type"'); + } + if (schema.nullable === true) + types.push("null"); + } + return types; +} +exports.getSchemaTypes = getSchemaTypes; +function getJSONTypes(ts) { + const types = Array.isArray(ts) ? ts : ts ? [ts] : []; + if (types.every(rules_1.isJSONType)) + return types; + throw new Error("type must be JSONType or JSONType[]: " + types.join(",")); +} +exports.getJSONTypes = getJSONTypes; +function coerceAndCheckDataType(it, types) { + const { gen, data, opts } = it; + const coerceTo = coerceToTypes(types, opts.coerceTypes); + const checkTypes = types.length > 0 && + !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0])); + if (checkTypes) { + const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong); + gen.if(wrongType, () => { + if (coerceTo.length) + coerceData(it, types, coerceTo); + else + reportTypeError(it); + }); + } + return checkTypes; +} +exports.coerceAndCheckDataType = coerceAndCheckDataType; +const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null"]); +function coerceToTypes(types, coerceTypes) { + return coerceTypes + ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === "array" && t === "array")) + : []; +} +function coerceData(it, types, coerceTo) { + const { gen, data, opts } = it; + const dataType = gen.let("dataType", (0, codegen_1._) `typeof ${data}`); + const coerced = gen.let("coerced", (0, codegen_1._) `undefined`); + if (opts.coerceTypes === "array") { + gen.if((0, codegen_1._) `${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen + .assign(data, (0, codegen_1._) `${data}[0]`) + .assign(dataType, (0, codegen_1._) `typeof ${data}`) + .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))); + } + gen.if((0, codegen_1._) `${coerced} !== undefined`); + for (const t of coerceTo) { + if (COERCIBLE.has(t) || (t === "array" && opts.coerceTypes === "array")) { + coerceSpecificType(t); + } + } + gen.else(); + reportTypeError(it); + gen.endIf(); + gen.if((0, codegen_1._) `${coerced} !== undefined`, () => { + gen.assign(data, coerced); + assignParentData(it, coerced); + }); + function coerceSpecificType(t) { + switch (t) { + case "string": + gen + .elseIf((0, codegen_1._) `${dataType} == "number" || ${dataType} == "boolean"`) + .assign(coerced, (0, codegen_1._) `"" + ${data}`) + .elseIf((0, codegen_1._) `${data} === null`) + .assign(coerced, (0, codegen_1._) `""`); + return; + case "number": + gen + .elseIf((0, codegen_1._) `${dataType} == "boolean" || ${data} === null + || (${dataType} == "string" && ${data} && ${data} == +${data})`) + .assign(coerced, (0, codegen_1._) `+${data}`); + return; + case "integer": + gen + .elseIf((0, codegen_1._) `${dataType} === "boolean" || ${data} === null + || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`) + .assign(coerced, (0, codegen_1._) `+${data}`); + return; + case "boolean": + gen + .elseIf((0, codegen_1._) `${data} === "false" || ${data} === 0 || ${data} === null`) + .assign(coerced, false) + .elseIf((0, codegen_1._) `${data} === "true" || ${data} === 1`) + .assign(coerced, true); + return; + case "null": + gen.elseIf((0, codegen_1._) `${data} === "" || ${data} === 0 || ${data} === false`); + gen.assign(coerced, null); + return; + case "array": + gen + .elseIf((0, codegen_1._) `${dataType} === "string" || ${dataType} === "number" + || ${dataType} === "boolean" || ${data} === null`) + .assign(coerced, (0, codegen_1._) `[${data}]`); + } + } +} +function assignParentData({ gen, parentData, parentDataProperty }, expr) { + // TODO use gen.property + gen.if((0, codegen_1._) `${parentData} !== undefined`, () => gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, expr)); +} +function checkDataType(dataType, data, strictNums, correct = DataType.Correct) { + const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ; + let cond; + switch (dataType) { + case "null": + return (0, codegen_1._) `${data} ${EQ} null`; + case "array": + cond = (0, codegen_1._) `Array.isArray(${data})`; + break; + case "object": + cond = (0, codegen_1._) `${data} && typeof ${data} == "object" && !Array.isArray(${data})`; + break; + case "integer": + cond = numCond((0, codegen_1._) `!(${data} % 1) && !isNaN(${data})`); + break; + case "number": + cond = numCond(); + break; + default: + return (0, codegen_1._) `typeof ${data} ${EQ} ${dataType}`; + } + return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond); + function numCond(_cond = codegen_1.nil) { + return (0, codegen_1.and)((0, codegen_1._) `typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._) `isFinite(${data})` : codegen_1.nil); + } +} +exports.checkDataType = checkDataType; +function checkDataTypes(dataTypes, data, strictNums, correct) { + if (dataTypes.length === 1) { + return checkDataType(dataTypes[0], data, strictNums, correct); + } + let cond; + const types = (0, util_1.toHash)(dataTypes); + if (types.array && types.object) { + const notObj = (0, codegen_1._) `typeof ${data} != "object"`; + cond = types.null ? notObj : (0, codegen_1._) `!${data} || ${notObj}`; + delete types.null; + delete types.array; + delete types.object; + } + else { + cond = codegen_1.nil; + } + if (types.number) + delete types.integer; + for (const t in types) + cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct)); + return cond; +} +exports.checkDataTypes = checkDataTypes; +const typeError = { + message: ({ schema }) => `must be ${schema}`, + params: ({ schema, schemaValue }) => typeof schema == "string" ? (0, codegen_1._) `{type: ${schema}}` : (0, codegen_1._) `{type: ${schemaValue}}`, +}; +function reportTypeError(it) { + const cxt = getTypeErrorContext(it); + (0, errors_1.reportError)(cxt, typeError); +} +exports.reportTypeError = reportTypeError; +function getTypeErrorContext(it) { + const { gen, data, schema } = it; + const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, "type"); + return { + gen, + keyword: "type", + data, + schema: schema.type, + schemaCode, + schemaValue: schemaCode, + parentSchema: schema, + params: {}, + it, + }; +} +//# sourceMappingURL=dataType.js.map + +/***/ }), + +/***/ 87820: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.assignDefaults = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +function assignDefaults(it, ty) { + const { properties, items } = it.schema; + if (ty === "object" && properties) { + for (const key in properties) { + assignDefault(it, key, properties[key].default); + } + } + else if (ty === "array" && Array.isArray(items)) { + items.forEach((sch, i) => assignDefault(it, i, sch.default)); + } +} +exports.assignDefaults = assignDefaults; +function assignDefault(it, prop, defaultValue) { + const { gen, compositeRule, data, opts } = it; + if (defaultValue === undefined) + return; + const childData = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(prop)}`; + if (compositeRule) { + (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`); + return; + } + let condition = (0, codegen_1._) `${childData} === undefined`; + if (opts.useDefaults === "empty") { + condition = (0, codegen_1._) `${condition} || ${childData} === null || ${childData} === ""`; + } + // `${childData} === undefined` + + // (opts.useDefaults === "empty" ? ` || ${childData} === null || ${childData} === ""` : "") + gen.if(condition, (0, codegen_1._) `${childData} = ${(0, codegen_1.stringify)(defaultValue)}`); +} +//# sourceMappingURL=defaults.js.map + +/***/ }), + +/***/ 24587: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; +const boolSchema_1 = __webpack_require__(34042); +const dataType_1 = __webpack_require__(50723); +const applicability_1 = __webpack_require__(58039); +const dataType_2 = __webpack_require__(50723); +const defaults_1 = __webpack_require__(87820); +const keyword_1 = __webpack_require__(63702); +const subschema_1 = __webpack_require__(99206); +const codegen_1 = __webpack_require__(61089); +const names_1 = __webpack_require__(16842); +const resolve_1 = __webpack_require__(17325); +const util_1 = __webpack_require__(86824); +const errors_1 = __webpack_require__(2439); +// schema compilation - generates validation function, subschemaCode (below) is used for subschemas +function validateFunctionCode(it) { + if (isSchemaObj(it)) { + checkKeywords(it); + if (schemaCxtHasRules(it)) { + topSchemaObjCode(it); + return; + } + } + validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it)); +} +exports.validateFunctionCode = validateFunctionCode; +function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) { + if (opts.code.es5) { + gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => { + gen.code((0, codegen_1._) `"use strict"; ${funcSourceUrl(schema, opts)}`); + destructureValCxtES5(gen, opts); + gen.code(body); + }); + } + else { + gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body)); + } +} +function destructureValCxt(opts) { + return (0, codegen_1._) `{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`; +} +function destructureValCxtES5(gen, opts) { + gen.if(names_1.default.valCxt, () => { + gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`); + gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`); + gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`); + gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`); + if (opts.dynamicRef) + gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`); + }, () => { + gen.var(names_1.default.instancePath, (0, codegen_1._) `""`); + gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`); + gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`); + gen.var(names_1.default.rootData, names_1.default.data); + if (opts.dynamicRef) + gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`); + }); +} +function topSchemaObjCode(it) { + const { schema, opts, gen } = it; + validateFunction(it, () => { + if (opts.$comment && schema.$comment) + commentKeyword(it); + checkNoDefault(it); + gen.let(names_1.default.vErrors, null); + gen.let(names_1.default.errors, 0); + if (opts.unevaluated) + resetEvaluated(it); + typeAndKeywords(it); + returnResults(it); + }); + return; +} +function resetEvaluated(it) { + // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated + const { gen, validateName } = it; + it.evaluated = gen.const("evaluated", (0, codegen_1._) `${validateName}.evaluated`); + gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`)); + gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`)); +} +function funcSourceUrl(schema, opts) { + const schId = typeof schema == "object" && schema[opts.schemaId]; + return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil; +} +// schema compilation - this function is used recursively to generate code for sub-schemas +function subschemaCode(it, valid) { + if (isSchemaObj(it)) { + checkKeywords(it); + if (schemaCxtHasRules(it)) { + subSchemaObjCode(it, valid); + return; + } + } + (0, boolSchema_1.boolOrEmptySchema)(it, valid); +} +function schemaCxtHasRules({ schema, self }) { + if (typeof schema == "boolean") + return !schema; + for (const key in schema) + if (self.RULES.all[key]) + return true; + return false; +} +function isSchemaObj(it) { + return typeof it.schema != "boolean"; +} +function subSchemaObjCode(it, valid) { + const { schema, gen, opts } = it; + if (opts.$comment && schema.$comment) + commentKeyword(it); + updateContext(it); + checkAsyncSchema(it); + const errsCount = gen.const("_errs", names_1.default.errors); + typeAndKeywords(it, errsCount); + // TODO var + gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`); +} +function checkKeywords(it) { + (0, util_1.checkUnknownRules)(it); + checkRefsAndKeywords(it); +} +function typeAndKeywords(it, errsCount) { + if (it.opts.jtd) + return schemaKeywords(it, [], false, errsCount); + const types = (0, dataType_1.getSchemaTypes)(it.schema); + const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types); + schemaKeywords(it, types, !checkedTypes, errsCount); +} +function checkRefsAndKeywords(it) { + const { schema, errSchemaPath, opts, self } = it; + if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) { + self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`); + } +} +function checkNoDefault(it) { + const { schema, opts } = it; + if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) { + (0, util_1.checkStrictMode)(it, "default is ignored in the schema root"); + } +} +function updateContext(it) { + const schId = it.schema[it.opts.schemaId]; + if (schId) + it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId); +} +function checkAsyncSchema(it) { + if (it.schema.$async && !it.schemaEnv.$async) + throw new Error("async schema in sync schema"); +} +function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) { + const msg = schema.$comment; + if (opts.$comment === true) { + gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`); + } + else if (typeof opts.$comment == "function") { + const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`; + const rootName = gen.scopeValue("root", { ref: schemaEnv.root }); + gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`); + } +} +function returnResults(it) { + const { gen, schemaEnv, validateName, ValidationError, opts } = it; + if (schemaEnv.$async) { + // TODO assign unevaluated + gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`)); + } + else { + gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors); + if (opts.unevaluated) + assignEvaluated(it); + gen.return((0, codegen_1._) `${names_1.default.errors} === 0`); + } +} +function assignEvaluated({ gen, evaluated, props, items }) { + if (props instanceof codegen_1.Name) + gen.assign((0, codegen_1._) `${evaluated}.props`, props); + if (items instanceof codegen_1.Name) + gen.assign((0, codegen_1._) `${evaluated}.items`, items); +} +function schemaKeywords(it, types, typeErrors, errsCount) { + const { gen, schema, data, allErrors, opts, self } = it; + const { RULES } = self; + if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) { + gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast + return; + } + if (!opts.jtd) + checkStrictTypes(it, types); + gen.block(() => { + for (const group of RULES.rules) + groupKeywords(group); + groupKeywords(RULES.post); + }); + function groupKeywords(group) { + if (!(0, applicability_1.shouldUseGroup)(schema, group)) + return; + if (group.type) { + gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers)); + iterateKeywords(it, group); + if (types.length === 1 && types[0] === group.type && typeErrors) { + gen.else(); + (0, dataType_2.reportTypeError)(it); + } + gen.endIf(); + } + else { + iterateKeywords(it, group); + } + // TODO make it "ok" call? + if (!allErrors) + gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`); + } +} +function iterateKeywords(it, group) { + const { gen, schema, opts: { useDefaults }, } = it; + if (useDefaults) + (0, defaults_1.assignDefaults)(it, group.type); + gen.block(() => { + for (const rule of group.rules) { + if ((0, applicability_1.shouldUseRule)(schema, rule)) { + keywordCode(it, rule.keyword, rule.definition, group.type); + } + } + }); +} +function checkStrictTypes(it, types) { + if (it.schemaEnv.meta || !it.opts.strictTypes) + return; + checkContextTypes(it, types); + if (!it.opts.allowUnionTypes) + checkMultipleTypes(it, types); + checkKeywordTypes(it, it.dataTypes); +} +function checkContextTypes(it, types) { + if (!types.length) + return; + if (!it.dataTypes.length) { + it.dataTypes = types; + return; + } + types.forEach((t) => { + if (!includesType(it.dataTypes, t)) { + strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`); + } + }); + narrowSchemaTypes(it, types); +} +function checkMultipleTypes(it, ts) { + if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) { + strictTypesError(it, "use allowUnionTypes to allow union type keyword"); + } +} +function checkKeywordTypes(it, ts) { + const rules = it.self.RULES.all; + for (const keyword in rules) { + const rule = rules[keyword]; + if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) { + const { type } = rule.definition; + if (type.length && !type.some((t) => hasApplicableType(ts, t))) { + strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`); + } + } + } +} +function hasApplicableType(schTs, kwdT) { + return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer")); +} +function includesType(ts, t) { + return ts.includes(t) || (t === "integer" && ts.includes("number")); +} +function narrowSchemaTypes(it, withTypes) { + const ts = []; + for (const t of it.dataTypes) { + if (includesType(withTypes, t)) + ts.push(t); + else if (withTypes.includes("integer") && t === "number") + ts.push("integer"); + } + it.dataTypes = ts; +} +function strictTypesError(it, msg) { + const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; + msg += ` at "${schemaPath}" (strictTypes)`; + (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes); +} +class KeywordCxt { + constructor(it, def, keyword) { + (0, keyword_1.validateKeywordUsage)(it, def, keyword); + this.gen = it.gen; + this.allErrors = it.allErrors; + this.keyword = keyword; + this.data = it.data; + this.schema = it.schema[keyword]; + this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data; + this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data); + this.schemaType = def.schemaType; + this.parentSchema = it.schema; + this.params = {}; + this.it = it; + this.def = def; + if (this.$data) { + this.schemaCode = it.gen.const("vSchema", getData(this.$data, it)); + } + else { + this.schemaCode = this.schemaValue; + if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) { + throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`); + } + } + if ("code" in def ? def.trackErrors : def.errors !== false) { + this.errsCount = it.gen.const("_errs", names_1.default.errors); + } + } + result(condition, successAction, failAction) { + this.failResult((0, codegen_1.not)(condition), successAction, failAction); + } + failResult(condition, successAction, failAction) { + this.gen.if(condition); + if (failAction) + failAction(); + else + this.error(); + if (successAction) { + this.gen.else(); + successAction(); + if (this.allErrors) + this.gen.endIf(); + } + else { + if (this.allErrors) + this.gen.endIf(); + else + this.gen.else(); + } + } + pass(condition, failAction) { + this.failResult((0, codegen_1.not)(condition), undefined, failAction); + } + fail(condition) { + if (condition === undefined) { + this.error(); + if (!this.allErrors) + this.gen.if(false); // this branch will be removed by gen.optimize + return; + } + this.gen.if(condition); + this.error(); + if (this.allErrors) + this.gen.endIf(); + else + this.gen.else(); + } + fail$data(condition) { + if (!this.$data) + return this.fail(condition); + const { schemaCode } = this; + this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`); + } + error(append, errorParams, errorPaths) { + if (errorParams) { + this.setParams(errorParams); + this._error(append, errorPaths); + this.setParams({}); + return; + } + this._error(append, errorPaths); + } + _error(append, errorPaths) { + ; + (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths); + } + $dataError() { + (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError); + } + reset() { + if (this.errsCount === undefined) + throw new Error('add "trackErrors" to keyword definition'); + (0, errors_1.resetErrorsCount)(this.gen, this.errsCount); + } + ok(cond) { + if (!this.allErrors) + this.gen.if(cond); + } + setParams(obj, assign) { + if (assign) + Object.assign(this.params, obj); + else + this.params = obj; + } + block$data(valid, codeBlock, $dataValid = codegen_1.nil) { + this.gen.block(() => { + this.check$data(valid, $dataValid); + codeBlock(); + }); + } + check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) { + if (!this.$data) + return; + const { gen, schemaCode, schemaType, def } = this; + gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid)); + if (valid !== codegen_1.nil) + gen.assign(valid, true); + if (schemaType.length || def.validateSchema) { + gen.elseIf(this.invalid$data()); + this.$dataError(); + if (valid !== codegen_1.nil) + gen.assign(valid, false); + } + gen.else(); + } + invalid$data() { + const { gen, schemaCode, schemaType, def, it } = this; + return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema()); + function wrong$DataType() { + if (schemaType.length) { + /* istanbul ignore if */ + if (!(schemaCode instanceof codegen_1.Name)) + throw new Error("ajv implementation error"); + const st = Array.isArray(schemaType) ? schemaType : [schemaType]; + return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`; + } + return codegen_1.nil; + } + function invalid$DataSchema() { + if (def.validateSchema) { + const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone + return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`; + } + return codegen_1.nil; + } + } + subschema(appl, valid) { + const subschema = (0, subschema_1.getSubschema)(this.it, appl); + (0, subschema_1.extendSubschemaData)(subschema, this.it, appl); + (0, subschema_1.extendSubschemaMode)(subschema, appl); + const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined }; + subschemaCode(nextContext, valid); + return nextContext; + } + mergeEvaluated(schemaCxt, toName) { + const { it, gen } = this; + if (!it.opts.unevaluated) + return; + if (it.props !== true && schemaCxt.props !== undefined) { + it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName); + } + if (it.items !== true && schemaCxt.items !== undefined) { + it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName); + } + } + mergeValidEvaluated(schemaCxt, valid) { + const { it, gen } = this; + if (it.opts.unevaluated && (it.props !== true || it.items !== true)) { + gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name)); + return true; + } + } +} +exports.KeywordCxt = KeywordCxt; +function keywordCode(it, keyword, def, ruleType) { + const cxt = new KeywordCxt(it, def, keyword); + if ("code" in def) { + def.code(cxt, ruleType); + } + else if (cxt.$data && def.validate) { + (0, keyword_1.funcKeywordCode)(cxt, def); + } + else if ("macro" in def) { + (0, keyword_1.macroKeywordCode)(cxt, def); + } + else if (def.compile || def.validate) { + (0, keyword_1.funcKeywordCode)(cxt, def); + } +} +const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; +const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; +function getData($data, { dataLevel, dataNames, dataPathArr }) { + let jsonPointer; + let data; + if ($data === "") + return names_1.default.rootData; + if ($data[0] === "/") { + if (!JSON_POINTER.test($data)) + throw new Error(`Invalid JSON-pointer: ${$data}`); + jsonPointer = $data; + data = names_1.default.rootData; + } + else { + const matches = RELATIVE_JSON_POINTER.exec($data); + if (!matches) + throw new Error(`Invalid JSON-pointer: ${$data}`); + const up = +matches[1]; + jsonPointer = matches[2]; + if (jsonPointer === "#") { + if (up >= dataLevel) + throw new Error(errorMsg("property/index", up)); + return dataPathArr[dataLevel - up]; + } + if (up > dataLevel) + throw new Error(errorMsg("data", up)); + data = dataNames[dataLevel - up]; + if (!jsonPointer) + return data; + } + let expr = data; + const segments = jsonPointer.split("/"); + for (const segment of segments) { + if (segment) { + data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`; + expr = (0, codegen_1._) `${expr} && ${data}`; + } + } + return expr; + function errorMsg(pointerType, up) { + return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`; + } +} +exports.getData = getData; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 63702: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0; +const codegen_1 = __webpack_require__(61089); +const names_1 = __webpack_require__(16842); +const code_1 = __webpack_require__(68185); +const errors_1 = __webpack_require__(2439); +function macroKeywordCode(cxt, def) { + const { gen, keyword, schema, parentSchema, it } = cxt; + const macroSchema = def.macro.call(it.self, schema, parentSchema, it); + const schemaRef = useKeyword(gen, keyword, macroSchema); + if (it.opts.validateSchema !== false) + it.self.validateSchema(macroSchema, true); + const valid = gen.name("valid"); + cxt.subschema({ + schema: macroSchema, + schemaPath: codegen_1.nil, + errSchemaPath: `${it.errSchemaPath}/${keyword}`, + topSchemaRef: schemaRef, + compositeRule: true, + }, valid); + cxt.pass(valid, () => cxt.error(true)); +} +exports.macroKeywordCode = macroKeywordCode; +function funcKeywordCode(cxt, def) { + var _a; + const { gen, keyword, schema, parentSchema, $data, it } = cxt; + checkAsyncKeyword(it, def); + const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate; + const validateRef = useKeyword(gen, keyword, validate); + const valid = gen.let("valid"); + cxt.block$data(valid, validateKeyword); + cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid); + function validateKeyword() { + if (def.errors === false) { + assignValid(); + if (def.modifying) + modifyData(cxt); + reportErrs(() => cxt.error()); + } + else { + const ruleErrs = def.async ? validateAsync() : validateSync(); + if (def.modifying) + modifyData(cxt); + reportErrs(() => addErrs(cxt, ruleErrs)); + } + } + function validateAsync() { + const ruleErrs = gen.let("ruleErrs", null); + gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e))); + return ruleErrs; + } + function validateSync() { + const validateErrs = (0, codegen_1._) `${validateRef}.errors`; + gen.assign(validateErrs, null); + assignValid(codegen_1.nil); + return validateErrs; + } + function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) { + const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self; + const passSchema = !(("compile" in def && !$data) || def.schema === false); + gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying); + } + function reportErrs(errors) { + var _a; + gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors); + } +} +exports.funcKeywordCode = funcKeywordCode; +function modifyData(cxt) { + const { gen, data, it } = cxt; + gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`)); +} +function addErrs(cxt, errs) { + const { gen } = cxt; + gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => { + gen + .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`) + .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`); + (0, errors_1.extendErrors)(cxt); + }, () => cxt.error()); +} +function checkAsyncKeyword({ schemaEnv }, def) { + if (def.async && !schemaEnv.$async) + throw new Error("async keyword in sync schema"); +} +function useKeyword(gen, keyword, result) { + if (result === undefined) + throw new Error(`keyword "${keyword}" failed to compile`); + return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) }); +} +function validSchemaType(schema, schemaType, allowUndefined = false) { + // TODO add tests + return (!schemaType.length || + schemaType.some((st) => st === "array" + ? Array.isArray(schema) + : st === "object" + ? schema && typeof schema == "object" && !Array.isArray(schema) + : typeof schema == st || (allowUndefined && typeof schema == "undefined"))); +} +exports.validSchemaType = validSchemaType; +function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) { + /* istanbul ignore if */ + if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) { + throw new Error("ajv implementation error"); + } + const deps = def.dependencies; + if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) { + throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`); + } + if (def.validateSchema) { + const valid = def.validateSchema(schema[keyword]); + if (!valid) { + const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + + self.errorsText(def.validateSchema.errors); + if (opts.validateSchema === "log") + self.logger.error(msg); + else + throw new Error(msg); + } + } +} +exports.validateKeywordUsage = validateKeywordUsage; +//# sourceMappingURL=keyword.js.map + +/***/ }), + +/***/ 99206: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) { + if (keyword !== undefined && schema !== undefined) { + throw new Error('both "keyword" and "schema" passed, only one allowed'); + } + if (keyword !== undefined) { + const sch = it.schema[keyword]; + return schemaProp === undefined + ? { + schema: sch, + schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`, + errSchemaPath: `${it.errSchemaPath}/${keyword}`, + } + : { + schema: sch[schemaProp], + schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`, + errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`, + }; + } + if (schema !== undefined) { + if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) { + throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"'); + } + return { + schema, + schemaPath, + topSchemaRef, + errSchemaPath, + }; + } + throw new Error('either "keyword" or "schema" must be passed'); +} +exports.getSubschema = getSubschema; +function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) { + if (data !== undefined && dataProp !== undefined) { + throw new Error('both "data" and "dataProp" passed, only one allowed'); + } + const { gen } = it; + if (dataProp !== undefined) { + const { errorPath, dataPathArr, opts } = it; + const nextData = gen.let("data", (0, codegen_1._) `${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true); + dataContextProps(nextData); + subschema.errorPath = (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`; + subschema.parentDataProperty = (0, codegen_1._) `${dataProp}`; + subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]; + } + if (data !== undefined) { + const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true); // replaceable if used once? + dataContextProps(nextData); + if (propertyName !== undefined) + subschema.propertyName = propertyName; + // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr + } + if (dataTypes) + subschema.dataTypes = dataTypes; + function dataContextProps(_nextData) { + subschema.data = _nextData; + subschema.dataLevel = it.dataLevel + 1; + subschema.dataTypes = []; + it.definedProperties = new Set(); + subschema.parentData = it.data; + subschema.dataNames = [...it.dataNames, _nextData]; + } +} +exports.extendSubschemaData = extendSubschemaData; +function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) { + if (compositeRule !== undefined) + subschema.compositeRule = compositeRule; + if (createErrors !== undefined) + subschema.createErrors = createErrors; + if (allErrors !== undefined) + subschema.allErrors = allErrors; + subschema.jtdDiscriminator = jtdDiscriminator; // not inherited + subschema.jtdMetadata = jtdMetadata; // not inherited +} +exports.extendSubschemaMode = extendSubschemaMode; +//# sourceMappingURL=subschema.js.map + +/***/ }), + +/***/ 54634: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; +var validate_1 = __webpack_require__(24587); +Object.defineProperty(exports, "KeywordCxt", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } })); +var codegen_1 = __webpack_require__(61089); +Object.defineProperty(exports, "_", ({ enumerable: true, get: function () { return codegen_1._; } })); +Object.defineProperty(exports, "str", ({ enumerable: true, get: function () { return codegen_1.str; } })); +Object.defineProperty(exports, "stringify", ({ enumerable: true, get: function () { return codegen_1.stringify; } })); +Object.defineProperty(exports, "nil", ({ enumerable: true, get: function () { return codegen_1.nil; } })); +Object.defineProperty(exports, "Name", ({ enumerable: true, get: function () { return codegen_1.Name; } })); +Object.defineProperty(exports, "CodeGen", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } })); +const validation_error_1 = __webpack_require__(99401); +const ref_error_1 = __webpack_require__(60010); +const rules_1 = __webpack_require__(54964); +const compile_1 = __webpack_require__(84029); +const codegen_2 = __webpack_require__(61089); +const resolve_1 = __webpack_require__(17325); +const dataType_1 = __webpack_require__(50723); +const util_1 = __webpack_require__(86824); +const $dataRefSchema = __webpack_require__(50199); +const uri_1 = __webpack_require__(76172); +const defaultRegExp = (str, flags) => new RegExp(str, flags); +defaultRegExp.code = "new RegExp"; +const META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"]; +const EXT_SCOPE_NAMES = new Set([ + "validate", + "serialize", + "parse", + "wrapper", + "root", + "schema", + "keyword", + "pattern", + "formats", + "validate$data", + "func", + "obj", + "Error", +]); +const removedOptions = { + errorDataPath: "", + format: "`validateFormats: false` can be used instead.", + nullable: '"nullable" keyword is supported by default.', + jsonPointers: "Deprecated jsPropertySyntax can be used instead.", + extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.", + missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.", + processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`", + sourceCode: "Use option `code: {source: true}`", + strictDefaults: "It is default now, see option `strict`.", + strictKeywords: "It is default now, see option `strict`.", + uniqueItems: '"uniqueItems" keyword is always validated.', + unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).", + cache: "Map is used as cache, schema object as key.", + serialize: "Map is used as cache, schema object as key.", + ajvErrors: "It is default now.", +}; +const deprecatedOptions = { + ignoreKeywordsWithRef: "", + jsPropertySyntax: "", + unicode: '"minLength"/"maxLength" account for unicode characters by default.', +}; +const MAX_EXPRESSION = 200; +// eslint-disable-next-line complexity +function requiredOptions(o) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0; + const s = o.strict; + const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize; + const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0; + const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp; + const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default; + return { + strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true, + strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true, + strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log", + strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log", + strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false, + code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp }, + loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION, + loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION, + meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true, + messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true, + inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true, + schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id", + addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true, + validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true, + validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true, + unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true, + int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true, + uriResolver: uriResolver, + }; +} +class Ajv { + constructor(opts = {}) { + this.schemas = {}; + this.refs = {}; + this.formats = {}; + this._compilations = new Set(); + this._loading = {}; + this._cache = new Map(); + opts = this.opts = { ...opts, ...requiredOptions(opts) }; + const { es5, lines } = this.opts.code; + this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines }); + this.logger = getLogger(opts.logger); + const formatOpt = opts.validateFormats; + opts.validateFormats = false; + this.RULES = (0, rules_1.getRules)(); + checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED"); + checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn"); + this._metaOpts = getMetaSchemaOptions.call(this); + if (opts.formats) + addInitialFormats.call(this); + this._addVocabularies(); + this._addDefaultMetaSchema(); + if (opts.keywords) + addInitialKeywords.call(this, opts.keywords); + if (typeof opts.meta == "object") + this.addMetaSchema(opts.meta); + addInitialSchemas.call(this); + opts.validateFormats = formatOpt; + } + _addVocabularies() { + this.addKeyword("$async"); + } + _addDefaultMetaSchema() { + const { $data, meta, schemaId } = this.opts; + let _dataRefSchema = $dataRefSchema; + if (schemaId === "id") { + _dataRefSchema = { ...$dataRefSchema }; + _dataRefSchema.id = _dataRefSchema.$id; + delete _dataRefSchema.$id; + } + if (meta && $data) + this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false); + } + defaultMeta() { + const { meta, schemaId } = this.opts; + return (this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : undefined); + } + validate(schemaKeyRef, // key, ref or schema object + data // to be validated + ) { + let v; + if (typeof schemaKeyRef == "string") { + v = this.getSchema(schemaKeyRef); + if (!v) + throw new Error(`no schema with key or ref "${schemaKeyRef}"`); + } + else { + v = this.compile(schemaKeyRef); + } + const valid = v(data); + if (!("$async" in v)) + this.errors = v.errors; + return valid; + } + compile(schema, _meta) { + const sch = this._addSchema(schema, _meta); + return (sch.validate || this._compileSchemaEnv(sch)); + } + compileAsync(schema, meta) { + if (typeof this.opts.loadSchema != "function") { + throw new Error("options.loadSchema should be a function"); + } + const { loadSchema } = this.opts; + return runCompileAsync.call(this, schema, meta); + async function runCompileAsync(_schema, _meta) { + await loadMetaSchema.call(this, _schema.$schema); + const sch = this._addSchema(_schema, _meta); + return sch.validate || _compileAsync.call(this, sch); + } + async function loadMetaSchema($ref) { + if ($ref && !this.getSchema($ref)) { + await runCompileAsync.call(this, { $ref }, true); + } + } + async function _compileAsync(sch) { + try { + return this._compileSchemaEnv(sch); + } + catch (e) { + if (!(e instanceof ref_error_1.default)) + throw e; + checkLoaded.call(this, e); + await loadMissingSchema.call(this, e.missingSchema); + return _compileAsync.call(this, sch); + } + } + function checkLoaded({ missingSchema: ref, missingRef }) { + if (this.refs[ref]) { + throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`); + } + } + async function loadMissingSchema(ref) { + const _schema = await _loadSchema.call(this, ref); + if (!this.refs[ref]) + await loadMetaSchema.call(this, _schema.$schema); + if (!this.refs[ref]) + this.addSchema(_schema, ref, meta); + } + async function _loadSchema(ref) { + const p = this._loading[ref]; + if (p) + return p; + try { + return await (this._loading[ref] = loadSchema(ref)); + } + finally { + delete this._loading[ref]; + } + } + } + // Adds schema to the instance + addSchema(schema, // If array is passed, `key` will be ignored + key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead. + ) { + if (Array.isArray(schema)) { + for (const sch of schema) + this.addSchema(sch, undefined, _meta, _validateSchema); + return this; + } + let id; + if (typeof schema === "object") { + const { schemaId } = this.opts; + id = schema[schemaId]; + if (id !== undefined && typeof id != "string") { + throw new Error(`schema ${schemaId} must be string`); + } + } + key = (0, resolve_1.normalizeId)(key || id); + this._checkUnique(key); + this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true); + return this; + } + // Add schema that will be used to validate other schemas + // options in META_IGNORE_OPTIONS are alway set to false + addMetaSchema(schema, key, // schema key + _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema + ) { + this.addSchema(schema, key, true, _validateSchema); + return this; + } + // Validate schema against its meta-schema + validateSchema(schema, throwOrLogError) { + if (typeof schema == "boolean") + return true; + let $schema; + $schema = schema.$schema; + if ($schema !== undefined && typeof $schema != "string") { + throw new Error("$schema must be a string"); + } + $schema = $schema || this.opts.defaultMeta || this.defaultMeta(); + if (!$schema) { + this.logger.warn("meta-schema not available"); + this.errors = null; + return true; + } + const valid = this.validate($schema, schema); + if (!valid && throwOrLogError) { + const message = "schema is invalid: " + this.errorsText(); + if (this.opts.validateSchema === "log") + this.logger.error(message); + else + throw new Error(message); + } + return valid; + } + // Get compiled schema by `key` or `ref`. + // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id) + getSchema(keyRef) { + let sch; + while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") + keyRef = sch; + if (sch === undefined) { + const { schemaId } = this.opts; + const root = new compile_1.SchemaEnv({ schema: {}, schemaId }); + sch = compile_1.resolveSchema.call(this, root, keyRef); + if (!sch) + return; + this.refs[keyRef] = sch; + } + return (sch.validate || this._compileSchemaEnv(sch)); + } + // Remove cached schema(s). + // If no parameter is passed all schemas but meta-schemas are removed. + // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. + // Even if schema is referenced by other schemas it still can be removed as other schemas have local references. + removeSchema(schemaKeyRef) { + if (schemaKeyRef instanceof RegExp) { + this._removeAllSchemas(this.schemas, schemaKeyRef); + this._removeAllSchemas(this.refs, schemaKeyRef); + return this; + } + switch (typeof schemaKeyRef) { + case "undefined": + this._removeAllSchemas(this.schemas); + this._removeAllSchemas(this.refs); + this._cache.clear(); + return this; + case "string": { + const sch = getSchEnv.call(this, schemaKeyRef); + if (typeof sch == "object") + this._cache.delete(sch.schema); + delete this.schemas[schemaKeyRef]; + delete this.refs[schemaKeyRef]; + return this; + } + case "object": { + const cacheKey = schemaKeyRef; + this._cache.delete(cacheKey); + let id = schemaKeyRef[this.opts.schemaId]; + if (id) { + id = (0, resolve_1.normalizeId)(id); + delete this.schemas[id]; + delete this.refs[id]; + } + return this; + } + default: + throw new Error("ajv.removeSchema: invalid parameter"); + } + } + // add "vocabulary" - a collection of keywords + addVocabulary(definitions) { + for (const def of definitions) + this.addKeyword(def); + return this; + } + addKeyword(kwdOrDef, def // deprecated + ) { + let keyword; + if (typeof kwdOrDef == "string") { + keyword = kwdOrDef; + if (typeof def == "object") { + this.logger.warn("these parameters are deprecated, see docs for addKeyword"); + def.keyword = keyword; + } + } + else if (typeof kwdOrDef == "object" && def === undefined) { + def = kwdOrDef; + keyword = def.keyword; + if (Array.isArray(keyword) && !keyword.length) { + throw new Error("addKeywords: keyword must be string or non-empty array"); + } + } + else { + throw new Error("invalid addKeywords parameters"); + } + checkKeyword.call(this, keyword, def); + if (!def) { + (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd)); + return this; + } + keywordMetaschema.call(this, def); + const definition = { + ...def, + type: (0, dataType_1.getJSONTypes)(def.type), + schemaType: (0, dataType_1.getJSONTypes)(def.schemaType), + }; + (0, util_1.eachItem)(keyword, definition.type.length === 0 + ? (k) => addRule.call(this, k, definition) + : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))); + return this; + } + getKeyword(keyword) { + const rule = this.RULES.all[keyword]; + return typeof rule == "object" ? rule.definition : !!rule; + } + // Remove keyword + removeKeyword(keyword) { + // TODO return type should be Ajv + const { RULES } = this; + delete RULES.keywords[keyword]; + delete RULES.all[keyword]; + for (const group of RULES.rules) { + const i = group.rules.findIndex((rule) => rule.keyword === keyword); + if (i >= 0) + group.rules.splice(i, 1); + } + return this; + } + // Add format + addFormat(name, format) { + if (typeof format == "string") + format = new RegExp(format); + this.formats[name] = format; + return this; + } + errorsText(errors = this.errors, // optional array of validation errors + { separator = ", ", dataVar = "data" } = {} // optional options with properties `separator` and `dataVar` + ) { + if (!errors || errors.length === 0) + return "No errors"; + return errors + .map((e) => `${dataVar}${e.instancePath} ${e.message}`) + .reduce((text, msg) => text + separator + msg); + } + $dataMetaSchema(metaSchema, keywordsJsonPointers) { + const rules = this.RULES.all; + metaSchema = JSON.parse(JSON.stringify(metaSchema)); + for (const jsonPointer of keywordsJsonPointers) { + const segments = jsonPointer.split("/").slice(1); // first segment is an empty string + let keywords = metaSchema; + for (const seg of segments) + keywords = keywords[seg]; + for (const key in rules) { + const rule = rules[key]; + if (typeof rule != "object") + continue; + const { $data } = rule.definition; + const schema = keywords[key]; + if ($data && schema) + keywords[key] = schemaOrData(schema); + } + } + return metaSchema; + } + _removeAllSchemas(schemas, regex) { + for (const keyRef in schemas) { + const sch = schemas[keyRef]; + if (!regex || regex.test(keyRef)) { + if (typeof sch == "string") { + delete schemas[keyRef]; + } + else if (sch && !sch.meta) { + this._cache.delete(sch.schema); + delete schemas[keyRef]; + } + } + } + } + _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) { + let id; + const { schemaId } = this.opts; + if (typeof schema == "object") { + id = schema[schemaId]; + } + else { + if (this.opts.jtd) + throw new Error("schema must be object"); + else if (typeof schema != "boolean") + throw new Error("schema must be object or boolean"); + } + let sch = this._cache.get(schema); + if (sch !== undefined) + return sch; + baseId = (0, resolve_1.normalizeId)(id || baseId); + const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId); + sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs }); + this._cache.set(sch.schema, sch); + if (addSchema && !baseId.startsWith("#")) { + // TODO atm it is allowed to overwrite schemas without id (instead of not adding them) + if (baseId) + this._checkUnique(baseId); + this.refs[baseId] = sch; + } + if (validateSchema) + this.validateSchema(schema, true); + return sch; + } + _checkUnique(id) { + if (this.schemas[id] || this.refs[id]) { + throw new Error(`schema with key or id "${id}" already exists`); + } + } + _compileSchemaEnv(sch) { + if (sch.meta) + this._compileMetaSchema(sch); + else + compile_1.compileSchema.call(this, sch); + /* istanbul ignore if */ + if (!sch.validate) + throw new Error("ajv implementation error"); + return sch.validate; + } + _compileMetaSchema(sch) { + const currentOpts = this.opts; + this.opts = this._metaOpts; + try { + compile_1.compileSchema.call(this, sch); + } + finally { + this.opts = currentOpts; + } + } +} +exports["default"] = Ajv; +Ajv.ValidationError = validation_error_1.default; +Ajv.MissingRefError = ref_error_1.default; +function checkOptions(checkOpts, options, msg, log = "error") { + for (const key in checkOpts) { + const opt = key; + if (opt in options) + this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`); + } +} +function getSchEnv(keyRef) { + keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line + return this.schemas[keyRef] || this.refs[keyRef]; +} +function addInitialSchemas() { + const optsSchemas = this.opts.schemas; + if (!optsSchemas) + return; + if (Array.isArray(optsSchemas)) + this.addSchema(optsSchemas); + else + for (const key in optsSchemas) + this.addSchema(optsSchemas[key], key); +} +function addInitialFormats() { + for (const name in this.opts.formats) { + const format = this.opts.formats[name]; + if (format) + this.addFormat(name, format); + } +} +function addInitialKeywords(defs) { + if (Array.isArray(defs)) { + this.addVocabulary(defs); + return; + } + this.logger.warn("keywords option as map is deprecated, pass array"); + for (const keyword in defs) { + const def = defs[keyword]; + if (!def.keyword) + def.keyword = keyword; + this.addKeyword(def); + } +} +function getMetaSchemaOptions() { + const metaOpts = { ...this.opts }; + for (const opt of META_IGNORE_OPTIONS) + delete metaOpts[opt]; + return metaOpts; +} +const noLogs = { log() { }, warn() { }, error() { } }; +function getLogger(logger) { + if (logger === false) + return noLogs; + if (logger === undefined) + return console; + if (logger.log && logger.warn && logger.error) + return logger; + throw new Error("logger must implement log, warn and error methods"); +} +const KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i; +function checkKeyword(keyword, def) { + const { RULES } = this; + (0, util_1.eachItem)(keyword, (kwd) => { + if (RULES.keywords[kwd]) + throw new Error(`Keyword ${kwd} is already defined`); + if (!KEYWORD_NAME.test(kwd)) + throw new Error(`Keyword ${kwd} has invalid name`); + }); + if (!def) + return; + if (def.$data && !("code" in def || "validate" in def)) { + throw new Error('$data keyword must have "code" or "validate" function'); + } +} +function addRule(keyword, definition, dataType) { + var _a; + const post = definition === null || definition === void 0 ? void 0 : definition.post; + if (dataType && post) + throw new Error('keyword with "post" flag cannot have "type"'); + const { RULES } = this; + let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType); + if (!ruleGroup) { + ruleGroup = { type: dataType, rules: [] }; + RULES.rules.push(ruleGroup); + } + RULES.keywords[keyword] = true; + if (!definition) + return; + const rule = { + keyword, + definition: { + ...definition, + type: (0, dataType_1.getJSONTypes)(definition.type), + schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType), + }, + }; + if (definition.before) + addBeforeRule.call(this, ruleGroup, rule, definition.before); + else + ruleGroup.rules.push(rule); + RULES.all[keyword] = rule; + (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd)); +} +function addBeforeRule(ruleGroup, rule, before) { + const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before); + if (i >= 0) { + ruleGroup.rules.splice(i, 0, rule); + } + else { + ruleGroup.rules.push(rule); + this.logger.warn(`rule ${before} is not defined`); + } +} +function keywordMetaschema(def) { + let { metaSchema } = def; + if (metaSchema === undefined) + return; + if (def.$data && this.opts.$data) + metaSchema = schemaOrData(metaSchema); + def.validateSchema = this.compile(metaSchema, true); +} +const $dataRef = { + $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", +}; +function schemaOrData(schema) { + return { anyOf: [schema, $dataRef] }; +} +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 33839: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +// https://github.com/ajv-validator/ajv/issues/889 +const equal = __webpack_require__(92417); +equal.code = 'require("ajv/dist/runtime/equal").default'; +exports["default"] = equal; +//# sourceMappingURL=equal.js.map + +/***/ }), + +/***/ 1987: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +// https://mathiasbynens.be/notes/javascript-encoding +// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode +function ucs2length(str) { + const len = str.length; + let length = 0; + let pos = 0; + let value; + while (pos < len) { + length++; + value = str.charCodeAt(pos++); + if (value >= 0xd800 && value <= 0xdbff && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xfc00) === 0xdc00) + pos++; // low surrogate + } + } + return length; +} +exports["default"] = ucs2length; +ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default'; +//# sourceMappingURL=ucs2length.js.map + +/***/ }), + +/***/ 76172: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const uri = __webpack_require__(16462); +uri.code = 'require("ajv/dist/runtime/uri").default'; +exports["default"] = uri; +//# sourceMappingURL=uri.js.map + +/***/ }), + +/***/ 99401: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +class ValidationError extends Error { + constructor(errors) { + super("validation failed"); + this.errors = errors; + this.ajv = this.validation = true; + } +} +exports["default"] = ValidationError; +//# sourceMappingURL=validation_error.js.map + +/***/ }), + +/***/ 84896: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.validateAdditionalItems = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`, + params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`, +}; +const def = { + keyword: "additionalItems", + type: "array", + schemaType: ["boolean", "object"], + before: "uniqueItems", + error, + code(cxt) { + const { parentSchema, it } = cxt; + const { items } = parentSchema; + if (!Array.isArray(items)) { + (0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas'); + return; + } + validateAdditionalItems(cxt, items); + }, +}; +function validateAdditionalItems(cxt, items) { + const { gen, schema, data, keyword, it } = cxt; + it.items = true; + const len = gen.const("len", (0, codegen_1._) `${data}.length`); + if (schema === false) { + cxt.setParams({ len: items.length }); + cxt.pass((0, codegen_1._) `${len} <= ${items.length}`); + } + else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.var("valid", (0, codegen_1._) `${len} <= ${items.length}`); // TODO var + gen.if((0, codegen_1.not)(valid), () => validateItems(valid)); + cxt.ok(valid); + } + function validateItems(valid) { + gen.forRange("i", items.length, len, (i) => { + cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid); + if (!it.allErrors) + gen.if((0, codegen_1.not)(valid), () => gen.break()); + }); + } +} +exports.validateAdditionalItems = validateAdditionalItems; +exports["default"] = def; +//# sourceMappingURL=additionalItems.js.map + +/***/ }), + +/***/ 85333: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const code_1 = __webpack_require__(68185); +const codegen_1 = __webpack_require__(61089); +const names_1 = __webpack_require__(16842); +const util_1 = __webpack_require__(86824); +const error = { + message: "must NOT have additional properties", + params: ({ params }) => (0, codegen_1._) `{additionalProperty: ${params.additionalProperty}}`, +}; +const def = { + keyword: "additionalProperties", + type: ["object"], + schemaType: ["boolean", "object"], + allowUndefined: true, + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, data, errsCount, it } = cxt; + /* istanbul ignore if */ + if (!errsCount) + throw new Error("ajv implementation error"); + const { allErrors, opts } = it; + it.props = true; + if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema)) + return; + const props = (0, code_1.allSchemaProperties)(parentSchema.properties); + const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties); + checkAdditionalProperties(); + cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`); + function checkAdditionalProperties() { + gen.forIn("key", data, (key) => { + if (!props.length && !patProps.length) + additionalPropertyCode(key); + else + gen.if(isAdditional(key), () => additionalPropertyCode(key)); + }); + } + function isAdditional(key) { + let definedProp; + if (props.length > 8) { + // TODO maybe an option instead of hard-coded 8? + const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties"); + definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key); + } + else if (props.length) { + definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._) `${key} === ${p}`)); + } + else { + definedProp = codegen_1.nil; + } + if (patProps.length) { + definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._) `${(0, code_1.usePattern)(cxt, p)}.test(${key})`)); + } + return (0, codegen_1.not)(definedProp); + } + function deleteAdditional(key) { + gen.code((0, codegen_1._) `delete ${data}[${key}]`); + } + function additionalPropertyCode(key) { + if (opts.removeAdditional === "all" || (opts.removeAdditional && schema === false)) { + deleteAdditional(key); + return; + } + if (schema === false) { + cxt.setParams({ additionalProperty: key }); + cxt.error(); + if (!allErrors) + gen.break(); + return; + } + if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.name("valid"); + if (opts.removeAdditional === "failing") { + applyAdditionalSchema(key, valid, false); + gen.if((0, codegen_1.not)(valid), () => { + cxt.reset(); + deleteAdditional(key); + }); + } + else { + applyAdditionalSchema(key, valid); + if (!allErrors) + gen.if((0, codegen_1.not)(valid), () => gen.break()); + } + } + } + function applyAdditionalSchema(key, valid, errors) { + const subschema = { + keyword: "additionalProperties", + dataProp: key, + dataPropType: util_1.Type.Str, + }; + if (errors === false) { + Object.assign(subschema, { + compositeRule: true, + createErrors: false, + allErrors: false, + }); + } + cxt.subschema(subschema, valid); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=additionalProperties.js.map + +/***/ }), + +/***/ 55031: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const util_1 = __webpack_require__(86824); +const def = { + keyword: "allOf", + schemaType: "array", + code(cxt) { + const { gen, schema, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) + throw new Error("ajv implementation error"); + const valid = gen.name("valid"); + schema.forEach((sch, i) => { + if ((0, util_1.alwaysValidSchema)(it, sch)) + return; + const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i }, valid); + cxt.ok(valid); + cxt.mergeEvaluated(schCxt); + }); + }, +}; +exports["default"] = def; +//# sourceMappingURL=allOf.js.map + +/***/ }), + +/***/ 15572: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const code_1 = __webpack_require__(68185); +const def = { + keyword: "anyOf", + schemaType: "array", + trackErrors: true, + code: code_1.validateUnion, + error: { message: "must match a schema in anyOf" }, +}; +exports["default"] = def; +//# sourceMappingURL=anyOf.js.map + +/***/ }), + +/***/ 78896: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: ({ params: { min, max } }) => max === undefined + ? (0, codegen_1.str) `must contain at least ${min} valid item(s)` + : (0, codegen_1.str) `must contain at least ${min} and no more than ${max} valid item(s)`, + params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._) `{minContains: ${min}}` : (0, codegen_1._) `{minContains: ${min}, maxContains: ${max}}`, +}; +const def = { + keyword: "contains", + type: "array", + schemaType: ["object", "boolean"], + before: "uniqueItems", + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, data, it } = cxt; + let min; + let max; + const { minContains, maxContains } = parentSchema; + if (it.opts.next) { + min = minContains === undefined ? 1 : minContains; + max = maxContains; + } + else { + min = 1; + } + const len = gen.const("len", (0, codegen_1._) `${data}.length`); + cxt.setParams({ min, max }); + if (max === undefined && min === 0) { + (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`); + return; + } + if (max !== undefined && min > max) { + (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`); + cxt.fail(); + return; + } + if ((0, util_1.alwaysValidSchema)(it, schema)) { + let cond = (0, codegen_1._) `${len} >= ${min}`; + if (max !== undefined) + cond = (0, codegen_1._) `${cond} && ${len} <= ${max}`; + cxt.pass(cond); + return; + } + it.items = true; + const valid = gen.name("valid"); + if (max === undefined && min === 1) { + validateItems(valid, () => gen.if(valid, () => gen.break())); + } + else if (min === 0) { + gen.let(valid, true); + if (max !== undefined) + gen.if((0, codegen_1._) `${data}.length > 0`, validateItemsWithCount); + } + else { + gen.let(valid, false); + validateItemsWithCount(); + } + cxt.result(valid, () => cxt.reset()); + function validateItemsWithCount() { + const schValid = gen.name("_valid"); + const count = gen.let("count", 0); + validateItems(schValid, () => gen.if(schValid, () => checkLimits(count))); + } + function validateItems(_valid, block) { + gen.forRange("i", 0, len, (i) => { + cxt.subschema({ + keyword: "contains", + dataProp: i, + dataPropType: util_1.Type.Num, + compositeRule: true, + }, _valid); + block(); + }); + } + function checkLimits(count) { + gen.code((0, codegen_1._) `${count}++`); + if (max === undefined) { + gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true).break()); + } + else { + gen.if((0, codegen_1._) `${count} > ${max}`, () => gen.assign(valid, false).break()); + if (min === 1) + gen.assign(valid, true); + else + gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true)); + } + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=contains.js.map + +/***/ }), + +/***/ 76037: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const code_1 = __webpack_require__(68185); +exports.error = { + message: ({ params: { property, depsCount, deps } }) => { + const property_ies = depsCount === 1 ? "property" : "properties"; + return (0, codegen_1.str) `must have ${property_ies} ${deps} when property ${property} is present`; + }, + params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._) `{property: ${property}, + missingProperty: ${missingProperty}, + depsCount: ${depsCount}, + deps: ${deps}}`, // TODO change to reference +}; +const def = { + keyword: "dependencies", + type: "object", + schemaType: "object", + error: exports.error, + code(cxt) { + const [propDeps, schDeps] = splitDependencies(cxt); + validatePropertyDeps(cxt, propDeps); + validateSchemaDeps(cxt, schDeps); + }, +}; +function splitDependencies({ schema }) { + const propertyDeps = {}; + const schemaDeps = {}; + for (const key in schema) { + if (key === "__proto__") + continue; + const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps; + deps[key] = schema[key]; + } + return [propertyDeps, schemaDeps]; +} +function validatePropertyDeps(cxt, propertyDeps = cxt.schema) { + const { gen, data, it } = cxt; + if (Object.keys(propertyDeps).length === 0) + return; + const missing = gen.let("missing"); + for (const prop in propertyDeps) { + const deps = propertyDeps[prop]; + if (deps.length === 0) + continue; + const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties); + cxt.setParams({ + property: prop, + depsCount: deps.length, + deps: deps.join(", "), + }); + if (it.allErrors) { + gen.if(hasProperty, () => { + for (const depProp of deps) { + (0, code_1.checkReportMissingProp)(cxt, depProp); + } + }); + } + else { + gen.if((0, codegen_1._) `${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`); + (0, code_1.reportMissingProp)(cxt, missing); + gen.else(); + } + } +} +exports.validatePropertyDeps = validatePropertyDeps; +function validateSchemaDeps(cxt, schemaDeps = cxt.schema) { + const { gen, data, keyword, it } = cxt; + const valid = gen.name("valid"); + for (const prop in schemaDeps) { + if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) + continue; + gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => { + const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid); + cxt.mergeValidEvaluated(schCxt, valid); + }, () => gen.var(valid, true) // TODO var + ); + cxt.ok(valid); + } +} +exports.validateSchemaDeps = validateSchemaDeps; +exports["default"] = def; +//# sourceMappingURL=dependencies.js.map + +/***/ }), + +/***/ 97474: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: ({ params }) => (0, codegen_1.str) `must match "${params.ifClause}" schema`, + params: ({ params }) => (0, codegen_1._) `{failingKeyword: ${params.ifClause}}`, +}; +const def = { + keyword: "if", + schemaType: ["object", "boolean"], + trackErrors: true, + error, + code(cxt) { + const { gen, parentSchema, it } = cxt; + if (parentSchema.then === undefined && parentSchema.else === undefined) { + (0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored'); + } + const hasThen = hasSchema(it, "then"); + const hasElse = hasSchema(it, "else"); + if (!hasThen && !hasElse) + return; + const valid = gen.let("valid", true); + const schValid = gen.name("_valid"); + validateIf(); + cxt.reset(); + if (hasThen && hasElse) { + const ifClause = gen.let("ifClause"); + cxt.setParams({ ifClause }); + gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause)); + } + else if (hasThen) { + gen.if(schValid, validateClause("then")); + } + else { + gen.if((0, codegen_1.not)(schValid), validateClause("else")); + } + cxt.pass(valid, () => cxt.error(true)); + function validateIf() { + const schCxt = cxt.subschema({ + keyword: "if", + compositeRule: true, + createErrors: false, + allErrors: false, + }, schValid); + cxt.mergeEvaluated(schCxt); + } + function validateClause(keyword, ifClause) { + return () => { + const schCxt = cxt.subschema({ keyword }, schValid); + gen.assign(valid, schValid); + cxt.mergeValidEvaluated(schCxt, valid); + if (ifClause) + gen.assign(ifClause, (0, codegen_1._) `${keyword}`); + else + cxt.setParams({ ifClause: keyword }); + }; + } + }, +}; +function hasSchema(it, keyword) { + const schema = it.schema[keyword]; + return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema); +} +exports["default"] = def; +//# sourceMappingURL=if.js.map + +/***/ }), + +/***/ 39322: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const additionalItems_1 = __webpack_require__(84896); +const prefixItems_1 = __webpack_require__(32947); +const items_1 = __webpack_require__(46718); +const items2020_1 = __webpack_require__(12252); +const contains_1 = __webpack_require__(78896); +const dependencies_1 = __webpack_require__(76037); +const propertyNames_1 = __webpack_require__(5961); +const additionalProperties_1 = __webpack_require__(85333); +const properties_1 = __webpack_require__(27649); +const patternProperties_1 = __webpack_require__(9454); +const not_1 = __webpack_require__(84488); +const anyOf_1 = __webpack_require__(15572); +const oneOf_1 = __webpack_require__(28761); +const allOf_1 = __webpack_require__(55031); +const if_1 = __webpack_require__(97474); +const thenElse_1 = __webpack_require__(38227); +function getApplicator(draft2020 = false) { + const applicator = [ + // any + not_1.default, + anyOf_1.default, + oneOf_1.default, + allOf_1.default, + if_1.default, + thenElse_1.default, + // object + propertyNames_1.default, + additionalProperties_1.default, + dependencies_1.default, + properties_1.default, + patternProperties_1.default, + ]; + // array + if (draft2020) + applicator.push(prefixItems_1.default, items2020_1.default); + else + applicator.push(additionalItems_1.default, items_1.default); + applicator.push(contains_1.default); + return applicator; +} +exports["default"] = getApplicator; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 46718: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.validateTuple = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const code_1 = __webpack_require__(68185); +const def = { + keyword: "items", + type: "array", + schemaType: ["object", "array", "boolean"], + before: "uniqueItems", + code(cxt) { + const { schema, it } = cxt; + if (Array.isArray(schema)) + return validateTuple(cxt, "additionalItems", schema); + it.items = true; + if ((0, util_1.alwaysValidSchema)(it, schema)) + return; + cxt.ok((0, code_1.validateArray)(cxt)); + }, +}; +function validateTuple(cxt, extraItems, schArr = cxt.schema) { + const { gen, parentSchema, data, keyword, it } = cxt; + checkStrictTuple(parentSchema); + if (it.opts.unevaluated && schArr.length && it.items !== true) { + it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items); + } + const valid = gen.name("valid"); + const len = gen.const("len", (0, codegen_1._) `${data}.length`); + schArr.forEach((sch, i) => { + if ((0, util_1.alwaysValidSchema)(it, sch)) + return; + gen.if((0, codegen_1._) `${len} > ${i}`, () => cxt.subschema({ + keyword, + schemaProp: i, + dataProp: i, + }, valid)); + cxt.ok(valid); + }); + function checkStrictTuple(sch) { + const { opts, errSchemaPath } = it; + const l = schArr.length; + const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false); + if (opts.strictTuples && !fullTuple) { + const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`; + (0, util_1.checkStrictMode)(it, msg, opts.strictTuples); + } + } +} +exports.validateTuple = validateTuple; +exports["default"] = def; +//# sourceMappingURL=items.js.map + +/***/ }), + +/***/ 12252: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const code_1 = __webpack_require__(68185); +const additionalItems_1 = __webpack_require__(84896); +const error = { + message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`, + params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`, +}; +const def = { + keyword: "items", + type: "array", + schemaType: ["object", "boolean"], + before: "uniqueItems", + error, + code(cxt) { + const { schema, parentSchema, it } = cxt; + const { prefixItems } = parentSchema; + it.items = true; + if ((0, util_1.alwaysValidSchema)(it, schema)) + return; + if (prefixItems) + (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems); + else + cxt.ok((0, code_1.validateArray)(cxt)); + }, +}; +exports["default"] = def; +//# sourceMappingURL=items2020.js.map + +/***/ }), + +/***/ 84488: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const util_1 = __webpack_require__(86824); +const def = { + keyword: "not", + schemaType: ["object", "boolean"], + trackErrors: true, + code(cxt) { + const { gen, schema, it } = cxt; + if ((0, util_1.alwaysValidSchema)(it, schema)) { + cxt.fail(); + return; + } + const valid = gen.name("valid"); + cxt.subschema({ + keyword: "not", + compositeRule: true, + createErrors: false, + allErrors: false, + }, valid); + cxt.failResult(valid, () => cxt.reset(), () => cxt.error()); + }, + error: { message: "must NOT be valid" }, +}; +exports["default"] = def; +//# sourceMappingURL=not.js.map + +/***/ }), + +/***/ 28761: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: "must match exactly one schema in oneOf", + params: ({ params }) => (0, codegen_1._) `{passingSchemas: ${params.passing}}`, +}; +const def = { + keyword: "oneOf", + schemaType: "array", + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) + throw new Error("ajv implementation error"); + if (it.opts.discriminator && parentSchema.discriminator) + return; + const schArr = schema; + const valid = gen.let("valid", false); + const passing = gen.let("passing", null); + const schValid = gen.name("_valid"); + cxt.setParams({ passing }); + // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas + gen.block(validateOneOf); + cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); + function validateOneOf() { + schArr.forEach((sch, i) => { + let schCxt; + if ((0, util_1.alwaysValidSchema)(it, sch)) { + gen.var(schValid, true); + } + else { + schCxt = cxt.subschema({ + keyword: "oneOf", + schemaProp: i, + compositeRule: true, + }, schValid); + } + if (i > 0) { + gen + .if((0, codegen_1._) `${schValid} && ${valid}`) + .assign(valid, false) + .assign(passing, (0, codegen_1._) `[${passing}, ${i}]`) + .else(); + } + gen.if(schValid, () => { + gen.assign(valid, true); + gen.assign(passing, i); + if (schCxt) + cxt.mergeEvaluated(schCxt, codegen_1.Name); + }); + }); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=oneOf.js.map + +/***/ }), + +/***/ 9454: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const code_1 = __webpack_require__(68185); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const util_2 = __webpack_require__(86824); +const def = { + keyword: "patternProperties", + type: "object", + schemaType: "object", + code(cxt) { + const { gen, schema, data, parentSchema, it } = cxt; + const { opts } = it; + const patterns = (0, code_1.allSchemaProperties)(schema); + const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p])); + if (patterns.length === 0 || + (alwaysValidPatterns.length === patterns.length && + (!it.opts.unevaluated || it.props === true))) { + return; + } + const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; + const valid = gen.name("valid"); + if (it.props !== true && !(it.props instanceof codegen_1.Name)) { + it.props = (0, util_2.evaluatedPropsToName)(gen, it.props); + } + const { props } = it; + validatePatternProperties(); + function validatePatternProperties() { + for (const pat of patterns) { + if (checkProperties) + checkMatchingProperties(pat); + if (it.allErrors) { + validateProperties(pat); + } + else { + gen.var(valid, true); // TODO var + validateProperties(pat); + gen.if(valid); + } + } + } + function checkMatchingProperties(pat) { + for (const prop in checkProperties) { + if (new RegExp(pat).test(prop)) { + (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`); + } + } + } + function validateProperties(pat) { + gen.forIn("key", data, (key) => { + gen.if((0, codegen_1._) `${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => { + const alwaysValid = alwaysValidPatterns.includes(pat); + if (!alwaysValid) { + cxt.subschema({ + keyword: "patternProperties", + schemaProp: pat, + dataProp: key, + dataPropType: util_2.Type.Str, + }, valid); + } + if (it.opts.unevaluated && props !== true) { + gen.assign((0, codegen_1._) `${props}[${key}]`, true); + } + else if (!alwaysValid && !it.allErrors) { + // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false) + // or if all properties were evaluated (props === true) + gen.if((0, codegen_1.not)(valid), () => gen.break()); + } + }); + }); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=patternProperties.js.map + +/***/ }), + +/***/ 32947: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const items_1 = __webpack_require__(46718); +const def = { + keyword: "prefixItems", + type: "array", + schemaType: ["array"], + before: "uniqueItems", + code: (cxt) => (0, items_1.validateTuple)(cxt, "items"), +}; +exports["default"] = def; +//# sourceMappingURL=prefixItems.js.map + +/***/ }), + +/***/ 27649: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const validate_1 = __webpack_require__(24587); +const code_1 = __webpack_require__(68185); +const util_1 = __webpack_require__(86824); +const additionalProperties_1 = __webpack_require__(85333); +const def = { + keyword: "properties", + type: "object", + schemaType: "object", + code(cxt) { + const { gen, schema, parentSchema, data, it } = cxt; + if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === undefined) { + additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties")); + } + const allProps = (0, code_1.allSchemaProperties)(schema); + for (const prop of allProps) { + it.definedProperties.add(prop); + } + if (it.opts.unevaluated && allProps.length && it.props !== true) { + it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props); + } + const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p])); + if (properties.length === 0) + return; + const valid = gen.name("valid"); + for (const prop of properties) { + if (hasDefault(prop)) { + applyPropertySchema(prop); + } + else { + gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties)); + applyPropertySchema(prop); + if (!it.allErrors) + gen.else().var(valid, true); + gen.endIf(); + } + cxt.it.definedProperties.add(prop); + cxt.ok(valid); + } + function hasDefault(prop) { + return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined; + } + function applyPropertySchema(prop) { + cxt.subschema({ + keyword: "properties", + schemaProp: prop, + dataProp: prop, + }, valid); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=properties.js.map + +/***/ }), + +/***/ 5961: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: "property name must be valid", + params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`, +}; +const def = { + keyword: "propertyNames", + type: "object", + schemaType: ["object", "boolean"], + error, + code(cxt) { + const { gen, schema, data, it } = cxt; + if ((0, util_1.alwaysValidSchema)(it, schema)) + return; + const valid = gen.name("valid"); + gen.forIn("key", data, (key) => { + cxt.setParams({ propertyName: key }); + cxt.subschema({ + keyword: "propertyNames", + data: key, + dataTypes: ["string"], + propertyName: key, + compositeRule: true, + }, valid); + gen.if((0, codegen_1.not)(valid), () => { + cxt.error(true); + if (!it.allErrors) + gen.break(); + }); + }); + cxt.ok(valid); + }, +}; +exports["default"] = def; +//# sourceMappingURL=propertyNames.js.map + +/***/ }), + +/***/ 38227: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const util_1 = __webpack_require__(86824); +const def = { + keyword: ["then", "else"], + schemaType: ["object", "boolean"], + code({ keyword, parentSchema, it }) { + if (parentSchema.if === undefined) + (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=thenElse.js.map + +/***/ }), + +/***/ 68185: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0; +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const names_1 = __webpack_require__(16842); +const util_2 = __webpack_require__(86824); +function checkReportMissingProp(cxt, prop) { + const { gen, data, it } = cxt; + gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => { + cxt.setParams({ missingProperty: (0, codegen_1._) `${prop}` }, true); + cxt.error(); + }); +} +exports.checkReportMissingProp = checkReportMissingProp; +function checkMissingProp({ gen, data, it: { opts } }, properties, missing) { + return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._) `${missing} = ${prop}`))); +} +exports.checkMissingProp = checkMissingProp; +function reportMissingProp(cxt, missing) { + cxt.setParams({ missingProperty: missing }, true); + cxt.error(); +} +exports.reportMissingProp = reportMissingProp; +function hasPropFunc(gen) { + return gen.scopeValue("func", { + // eslint-disable-next-line @typescript-eslint/unbound-method + ref: Object.prototype.hasOwnProperty, + code: (0, codegen_1._) `Object.prototype.hasOwnProperty`, + }); +} +exports.hasPropFunc = hasPropFunc; +function isOwnProperty(gen, data, property) { + return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`; +} +exports.isOwnProperty = isOwnProperty; +function propertyInData(gen, data, property, ownProperties) { + const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} !== undefined`; + return ownProperties ? (0, codegen_1._) `${cond} && ${isOwnProperty(gen, data, property)}` : cond; +} +exports.propertyInData = propertyInData; +function noPropertyInData(gen, data, property, ownProperties) { + const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} === undefined`; + return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond; +} +exports.noPropertyInData = noPropertyInData; +function allSchemaProperties(schemaMap) { + return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : []; +} +exports.allSchemaProperties = allSchemaProperties; +function schemaProperties(it, schemaMap) { + return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p])); +} +exports.schemaProperties = schemaProperties; +function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) { + const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data; + const valCxt = [ + [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)], + [names_1.default.parentData, it.parentData], + [names_1.default.parentDataProperty, it.parentDataProperty], + [names_1.default.rootData, names_1.default.rootData], + ]; + if (it.opts.dynamicRef) + valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); + const args = (0, codegen_1._) `${dataAndSchema}, ${gen.object(...valCxt)}`; + return context !== codegen_1.nil ? (0, codegen_1._) `${func}.call(${context}, ${args})` : (0, codegen_1._) `${func}(${args})`; +} +exports.callValidateCode = callValidateCode; +const newRegExp = (0, codegen_1._) `new RegExp`; +function usePattern({ gen, it: { opts } }, pattern) { + const u = opts.unicodeRegExp ? "u" : ""; + const { regExp } = opts.code; + const rx = regExp(pattern, u); + return gen.scopeValue("pattern", { + key: rx.toString(), + ref: rx, + code: (0, codegen_1._) `${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`, + }); +} +exports.usePattern = usePattern; +function validateArray(cxt) { + const { gen, data, keyword, it } = cxt; + const valid = gen.name("valid"); + if (it.allErrors) { + const validArr = gen.let("valid", true); + validateItems(() => gen.assign(validArr, false)); + return validArr; + } + gen.var(valid, true); + validateItems(() => gen.break()); + return valid; + function validateItems(notValid) { + const len = gen.const("len", (0, codegen_1._) `${data}.length`); + gen.forRange("i", 0, len, (i) => { + cxt.subschema({ + keyword, + dataProp: i, + dataPropType: util_1.Type.Num, + }, valid); + gen.if((0, codegen_1.not)(valid), notValid); + }); + } +} +exports.validateArray = validateArray; +function validateUnion(cxt) { + const { gen, schema, keyword, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) + throw new Error("ajv implementation error"); + const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch)); + if (alwaysValid && !it.opts.unevaluated) + return; + const valid = gen.let("valid", false); + const schValid = gen.name("_valid"); + gen.block(() => schema.forEach((_sch, i) => { + const schCxt = cxt.subschema({ + keyword, + schemaProp: i, + compositeRule: true, + }, schValid); + gen.assign(valid, (0, codegen_1._) `${valid} || ${schValid}`); + const merged = cxt.mergeValidEvaluated(schCxt, schValid); + // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true) + // or if all properties and items were evaluated (it.props === true && it.items === true) + if (!merged) + gen.if((0, codegen_1.not)(valid)); + })); + cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); +} +exports.validateUnion = validateUnion; +//# sourceMappingURL=code.js.map + +/***/ }), + +/***/ 31240: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const def = { + keyword: "id", + code() { + throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); + }, +}; +exports["default"] = def; +//# sourceMappingURL=id.js.map + +/***/ }), + +/***/ 74176: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const id_1 = __webpack_require__(31240); +const ref_1 = __webpack_require__(31578); +const core = [ + "$schema", + "$id", + "$defs", + "$vocabulary", + { keyword: "$comment" }, + "definitions", + id_1.default, + ref_1.default, +]; +exports["default"] = core; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 31578: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.callRef = exports.getValidate = void 0; +const ref_error_1 = __webpack_require__(60010); +const code_1 = __webpack_require__(68185); +const codegen_1 = __webpack_require__(61089); +const names_1 = __webpack_require__(16842); +const compile_1 = __webpack_require__(84029); +const util_1 = __webpack_require__(86824); +const def = { + keyword: "$ref", + schemaType: "string", + code(cxt) { + const { gen, schema: $ref, it } = cxt; + const { baseId, schemaEnv: env, validateName, opts, self } = it; + const { root } = env; + if (($ref === "#" || $ref === "#/") && baseId === root.baseId) + return callRootRef(); + const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref); + if (schOrEnv === undefined) + throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref); + if (schOrEnv instanceof compile_1.SchemaEnv) + return callValidate(schOrEnv); + return inlineRefSchema(schOrEnv); + function callRootRef() { + if (env === root) + return callRef(cxt, validateName, env, env.$async); + const rootName = gen.scopeValue("root", { ref: root }); + return callRef(cxt, (0, codegen_1._) `${rootName}.validate`, root, root.$async); + } + function callValidate(sch) { + const v = getValidate(cxt, sch); + callRef(cxt, v, sch, sch.$async); + } + function inlineRefSchema(sch) { + const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch }); + const valid = gen.name("valid"); + const schCxt = cxt.subschema({ + schema: sch, + dataTypes: [], + schemaPath: codegen_1.nil, + topSchemaRef: schName, + errSchemaPath: $ref, + }, valid); + cxt.mergeEvaluated(schCxt); + cxt.ok(valid); + } + }, +}; +function getValidate(cxt, sch) { + const { gen } = cxt; + return sch.validate + ? gen.scopeValue("validate", { ref: sch.validate }) + : (0, codegen_1._) `${gen.scopeValue("wrapper", { ref: sch })}.validate`; +} +exports.getValidate = getValidate; +function callRef(cxt, v, sch, $async) { + const { gen, it } = cxt; + const { allErrors, schemaEnv: env, opts } = it; + const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil; + if ($async) + callAsyncRef(); + else + callSyncRef(); + function callAsyncRef() { + if (!env.$async) + throw new Error("async schema referenced by sync schema"); + const valid = gen.let("valid"); + gen.try(() => { + gen.code((0, codegen_1._) `await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`); + addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result + if (!allErrors) + gen.assign(valid, true); + }, (e) => { + gen.if((0, codegen_1._) `!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e)); + addErrorsFrom(e); + if (!allErrors) + gen.assign(valid, false); + }); + cxt.ok(valid); + } + function callSyncRef() { + cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v)); + } + function addErrorsFrom(source) { + const errs = (0, codegen_1._) `${source}.errors`; + gen.assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); // TODO tagged + gen.assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`); + } + function addEvaluatedFrom(source) { + var _a; + if (!it.opts.unevaluated) + return; + const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated; + // TODO refactor + if (it.props !== true) { + if (schEvaluated && !schEvaluated.dynamicProps) { + if (schEvaluated.props !== undefined) { + it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props); + } + } + else { + const props = gen.var("props", (0, codegen_1._) `${source}.evaluated.props`); + it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name); + } + } + if (it.items !== true) { + if (schEvaluated && !schEvaluated.dynamicItems) { + if (schEvaluated.items !== undefined) { + it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items); + } + } + else { + const items = gen.var("items", (0, codegen_1._) `${source}.evaluated.items`); + it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name); + } + } + } +} +exports.callRef = callRef; +exports["default"] = def; +//# sourceMappingURL=ref.js.map + +/***/ }), + +/***/ 8622: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const types_1 = __webpack_require__(5485); +const compile_1 = __webpack_require__(84029); +const util_1 = __webpack_require__(86824); +const error = { + message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag + ? `tag "${tagName}" must be string` + : `value of tag "${tagName}" must be in oneOf`, + params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._) `{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`, +}; +const def = { + keyword: "discriminator", + type: "object", + schemaType: "object", + error, + code(cxt) { + const { gen, data, schema, parentSchema, it } = cxt; + const { oneOf } = parentSchema; + if (!it.opts.discriminator) { + throw new Error("discriminator: requires discriminator option"); + } + const tagName = schema.propertyName; + if (typeof tagName != "string") + throw new Error("discriminator: requires propertyName"); + if (schema.mapping) + throw new Error("discriminator: mapping is not supported"); + if (!oneOf) + throw new Error("discriminator: requires oneOf keyword"); + const valid = gen.let("valid", false); + const tag = gen.const("tag", (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(tagName)}`); + gen.if((0, codegen_1._) `typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName })); + cxt.ok(valid); + function validateMapping() { + const mapping = getMapping(); + gen.if(false); + for (const tagValue in mapping) { + gen.elseIf((0, codegen_1._) `${tag} === ${tagValue}`); + gen.assign(valid, applyTagSchema(mapping[tagValue])); + } + gen.else(); + cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName }); + gen.endIf(); + } + function applyTagSchema(schemaProp) { + const _valid = gen.name("valid"); + const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid); + cxt.mergeEvaluated(schCxt, codegen_1.Name); + return _valid; + } + function getMapping() { + var _a; + const oneOfMapping = {}; + const topRequired = hasRequired(parentSchema); + let tagRequired = true; + for (let i = 0; i < oneOf.length; i++) { + let sch = oneOf[i]; + if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) { + sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref); + if (sch instanceof compile_1.SchemaEnv) + sch = sch.schema; + } + const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName]; + if (typeof propSch != "object") { + throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`); + } + tagRequired = tagRequired && (topRequired || hasRequired(sch)); + addMappings(propSch, i); + } + if (!tagRequired) + throw new Error(`discriminator: "${tagName}" must be required`); + return oneOfMapping; + function hasRequired({ required }) { + return Array.isArray(required) && required.includes(tagName); + } + function addMappings(sch, i) { + if (sch.const) { + addMapping(sch.const, i); + } + else if (sch.enum) { + for (const tagValue of sch.enum) { + addMapping(tagValue, i); + } + } + else { + throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`); + } + } + function addMapping(tagValue, i) { + if (typeof tagValue != "string" || tagValue in oneOfMapping) { + throw new Error(`discriminator: "${tagName}" values must be unique strings`); + } + oneOfMapping[tagValue] = i; + } + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 5485: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DiscrError = void 0; +var DiscrError; +(function (DiscrError) { + DiscrError["Tag"] = "tag"; + DiscrError["Mapping"] = "mapping"; +})(DiscrError = exports.DiscrError || (exports.DiscrError = {})); +//# sourceMappingURL=types.js.map + +/***/ }), + +/***/ 44840: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const core_1 = __webpack_require__(74176); +const validation_1 = __webpack_require__(87271); +const applicator_1 = __webpack_require__(39322); +const format_1 = __webpack_require__(17047); +const metadata_1 = __webpack_require__(53936); +const draft7Vocabularies = [ + core_1.default, + validation_1.default, + (0, applicator_1.default)(), + format_1.default, + metadata_1.metadataVocabulary, + metadata_1.contentVocabulary, +]; +exports["default"] = draft7Vocabularies; +//# sourceMappingURL=draft7.js.map + +/***/ }), + +/***/ 896: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const error = { + message: ({ schemaCode }) => (0, codegen_1.str) `must match format "${schemaCode}"`, + params: ({ schemaCode }) => (0, codegen_1._) `{format: ${schemaCode}}`, +}; +const def = { + keyword: "format", + type: ["number", "string"], + schemaType: "string", + $data: true, + error, + code(cxt, ruleType) { + const { gen, data, $data, schema, schemaCode, it } = cxt; + const { opts, errSchemaPath, schemaEnv, self } = it; + if (!opts.validateFormats) + return; + if ($data) + validate$DataFormat(); + else + validateFormat(); + function validate$DataFormat() { + const fmts = gen.scopeValue("formats", { + ref: self.formats, + code: opts.code.formats, + }); + const fDef = gen.const("fDef", (0, codegen_1._) `${fmts}[${schemaCode}]`); + const fType = gen.let("fType"); + const format = gen.let("format"); + // TODO simplify + gen.if((0, codegen_1._) `typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._) `${fDef}.type || "string"`).assign(format, (0, codegen_1._) `${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._) `"string"`).assign(format, fDef)); + cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt())); + function unknownFmt() { + if (opts.strictSchema === false) + return codegen_1.nil; + return (0, codegen_1._) `${schemaCode} && !${format}`; + } + function invalidFmt() { + const callFormat = schemaEnv.$async + ? (0, codegen_1._) `(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))` + : (0, codegen_1._) `${format}(${data})`; + const validData = (0, codegen_1._) `(typeof ${format} == "function" ? ${callFormat} : ${format}.test(${data}))`; + return (0, codegen_1._) `${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`; + } + } + function validateFormat() { + const formatDef = self.formats[schema]; + if (!formatDef) { + unknownFormat(); + return; + } + if (formatDef === true) + return; + const [fmtType, format, fmtRef] = getFormat(formatDef); + if (fmtType === ruleType) + cxt.pass(validCondition()); + function unknownFormat() { + if (opts.strictSchema === false) { + self.logger.warn(unknownMsg()); + return; + } + throw new Error(unknownMsg()); + function unknownMsg() { + return `unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`; + } + } + function getFormat(fmtDef) { + const code = fmtDef instanceof RegExp + ? (0, codegen_1.regexpCode)(fmtDef) + : opts.code.formats + ? (0, codegen_1._) `${opts.code.formats}${(0, codegen_1.getProperty)(schema)}` + : undefined; + const fmt = gen.scopeValue("formats", { key: schema, ref: fmtDef, code }); + if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) { + return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._) `${fmt}.validate`]; + } + return ["string", fmtDef, fmt]; + } + function validCondition() { + if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) { + if (!schemaEnv.$async) + throw new Error("async format in sync schema"); + return (0, codegen_1._) `await ${fmtRef}(${data})`; + } + return typeof format == "function" ? (0, codegen_1._) `${fmtRef}(${data})` : (0, codegen_1._) `${fmtRef}.test(${data})`; + } + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=format.js.map + +/***/ }), + +/***/ 17047: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const format_1 = __webpack_require__(896); +const format = [format_1.default]; +exports["default"] = format; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 53936: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.contentVocabulary = exports.metadataVocabulary = void 0; +exports.metadataVocabulary = [ + "title", + "description", + "default", + "deprecated", + "readOnly", + "writeOnly", + "examples", +]; +exports.contentVocabulary = [ + "contentMediaType", + "contentEncoding", + "contentSchema", +]; +//# sourceMappingURL=metadata.js.map + +/***/ }), + +/***/ 11211: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const equal_1 = __webpack_require__(33839); +const error = { + message: "must be equal to constant", + params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`, +}; +const def = { + keyword: "const", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schemaCode, schema } = cxt; + if ($data || (schema && typeof schema == "object")) { + cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`); + } + else { + cxt.fail((0, codegen_1._) `${schema} !== ${data}`); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=const.js.map + +/***/ }), + +/***/ 81835: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const equal_1 = __webpack_require__(33839); +const error = { + message: "must be equal to one of the allowed values", + params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`, +}; +const def = { + keyword: "enum", + schemaType: "array", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schema, schemaCode, it } = cxt; + if (!$data && schema.length === 0) + throw new Error("enum must have non-empty array"); + const useLoop = schema.length >= it.opts.loopEnum; + let eql; + const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default))); + let valid; + if (useLoop || $data) { + valid = gen.let("valid"); + cxt.block$data(valid, loopEnum); + } + else { + /* istanbul ignore if */ + if (!Array.isArray(schema)) + throw new Error("ajv implementation error"); + const vSchema = gen.const("vSchema", schemaCode); + valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i))); + } + cxt.pass(valid); + function loopEnum() { + gen.assign(valid, false); + gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())); + } + function equalCode(vSchema, i) { + const sch = schema[i]; + return typeof sch === "object" && sch !== null + ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])` + : (0, codegen_1._) `${data} === ${sch}`; + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=enum.js.map + +/***/ }), + +/***/ 87271: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const limitNumber_1 = __webpack_require__(90094); +const multipleOf_1 = __webpack_require__(89696); +const limitLength_1 = __webpack_require__(23716); +const pattern_1 = __webpack_require__(54622); +const limitProperties_1 = __webpack_require__(66784); +const required_1 = __webpack_require__(84888); +const limitItems_1 = __webpack_require__(19202); +const uniqueItems_1 = __webpack_require__(4218); +const const_1 = __webpack_require__(11211); +const enum_1 = __webpack_require__(81835); +const validation = [ + // number + limitNumber_1.default, + multipleOf_1.default, + // string + limitLength_1.default, + pattern_1.default, + // object + limitProperties_1.default, + required_1.default, + // array + limitItems_1.default, + uniqueItems_1.default, + // any + { keyword: "type", schemaType: ["string", "array"] }, + { keyword: "nullable", schemaType: "boolean" }, + const_1.default, + enum_1.default, +]; +exports["default"] = validation; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 19202: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxItems" ? "more" : "fewer"; + return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`; + }, + params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, +}; +const def = { + keyword: ["maxItems", "minItems"], + type: "array", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT; + cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=limitItems.js.map + +/***/ }), + +/***/ 23716: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const ucs2length_1 = __webpack_require__(1987); +const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxLength" ? "more" : "fewer"; + return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} characters`; + }, + params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, +}; +const def = { + keyword: ["maxLength", "minLength"], + type: "string", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode, it } = cxt; + const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT; + const len = it.opts.unicode === false ? (0, codegen_1._) `${data}.length` : (0, codegen_1._) `${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`; + cxt.fail$data((0, codegen_1._) `${len} ${op} ${schemaCode}`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=limitLength.js.map + +/***/ }), + +/***/ 90094: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const ops = codegen_1.operators; +const KWDs = { + maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, + minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, + exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, + exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE }, +}; +const error = { + message: ({ keyword, schemaCode }) => (0, codegen_1.str) `must be ${KWDs[keyword].okStr} ${schemaCode}`, + params: ({ keyword, schemaCode }) => (0, codegen_1._) `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`, +}; +const def = { + keyword: Object.keys(KWDs), + type: "number", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + cxt.fail$data((0, codegen_1._) `${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=limitNumber.js.map + +/***/ }), + +/***/ 66784: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxProperties" ? "more" : "fewer"; + return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`; + }, + params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, +}; +const def = { + keyword: ["maxProperties", "minProperties"], + type: "object", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT; + cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=limitProperties.js.map + +/***/ }), + +/***/ 89696: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const codegen_1 = __webpack_require__(61089); +const error = { + message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`, + params: ({ schemaCode }) => (0, codegen_1._) `{multipleOf: ${schemaCode}}`, +}; +const def = { + keyword: "multipleOf", + type: "number", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { gen, data, schemaCode, it } = cxt; + // const bdt = bad$DataType(schemaCode, def.schemaType, $data) + const prec = it.opts.multipleOfPrecision; + const res = gen.let("res"); + const invalid = prec + ? (0, codegen_1._) `Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` + : (0, codegen_1._) `${res} !== parseInt(${res})`; + cxt.fail$data((0, codegen_1._) `(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=multipleOf.js.map + +/***/ }), + +/***/ 54622: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const code_1 = __webpack_require__(68185); +const codegen_1 = __webpack_require__(61089); +const error = { + message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern "${schemaCode}"`, + params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`, +}; +const def = { + keyword: "pattern", + type: "string", + schemaType: "string", + $data: true, + error, + code(cxt) { + const { data, $data, schema, schemaCode, it } = cxt; + // TODO regexp should be wrapped in try/catchs + const u = it.opts.unicodeRegExp ? "u" : ""; + const regExp = $data ? (0, codegen_1._) `(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); + cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`); + }, +}; +exports["default"] = def; +//# sourceMappingURL=pattern.js.map + +/***/ }), + +/***/ 84888: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const code_1 = __webpack_require__(68185); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const error = { + message: ({ params: { missingProperty } }) => (0, codegen_1.str) `must have required property '${missingProperty}'`, + params: ({ params: { missingProperty } }) => (0, codegen_1._) `{missingProperty: ${missingProperty}}`, +}; +const def = { + keyword: "required", + type: "object", + schemaType: "array", + $data: true, + error, + code(cxt) { + const { gen, schema, schemaCode, data, $data, it } = cxt; + const { opts } = it; + if (!$data && schema.length === 0) + return; + const useLoop = schema.length >= opts.loopRequired; + if (it.allErrors) + allErrorsMode(); + else + exitOnErrorMode(); + if (opts.strictRequired) { + const props = cxt.parentSchema.properties; + const { definedProperties } = cxt.it; + for (const requiredKey of schema) { + if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) { + const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; + const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`; + (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired); + } + } + } + function allErrorsMode() { + if (useLoop || $data) { + cxt.block$data(codegen_1.nil, loopAllRequired); + } + else { + for (const prop of schema) { + (0, code_1.checkReportMissingProp)(cxt, prop); + } + } + } + function exitOnErrorMode() { + const missing = gen.let("missing"); + if (useLoop || $data) { + const valid = gen.let("valid", true); + cxt.block$data(valid, () => loopUntilMissing(missing, valid)); + cxt.ok(valid); + } + else { + gen.if((0, code_1.checkMissingProp)(cxt, schema, missing)); + (0, code_1.reportMissingProp)(cxt, missing); + gen.else(); + } + } + function loopAllRequired() { + gen.forOf("prop", schemaCode, (prop) => { + cxt.setParams({ missingProperty: prop }); + gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error()); + }); + } + function loopUntilMissing(missing, valid) { + cxt.setParams({ missingProperty: missing }); + gen.forOf(missing, schemaCode, () => { + gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties)); + gen.if((0, codegen_1.not)(valid), () => { + cxt.error(); + gen.break(); + }); + }, codegen_1.nil); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=required.js.map + +/***/ }), + +/***/ 4218: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const dataType_1 = __webpack_require__(50723); +const codegen_1 = __webpack_require__(61089); +const util_1 = __webpack_require__(86824); +const equal_1 = __webpack_require__(33839); +const error = { + message: ({ params: { i, j } }) => (0, codegen_1.str) `must NOT have duplicate items (items ## ${j} and ${i} are identical)`, + params: ({ params: { i, j } }) => (0, codegen_1._) `{i: ${i}, j: ${j}}`, +}; +const def = { + keyword: "uniqueItems", + type: "array", + schemaType: "boolean", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt; + if (!$data && !schema) + return; + const valid = gen.let("valid"); + const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : []; + cxt.block$data(valid, validateUniqueItems, (0, codegen_1._) `${schemaCode} === false`); + cxt.ok(valid); + function validateUniqueItems() { + const i = gen.let("i", (0, codegen_1._) `${data}.length`); + const j = gen.let("j"); + cxt.setParams({ i, j }); + gen.assign(valid, true); + gen.if((0, codegen_1._) `${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j)); + } + function canOptimize() { + return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array"); + } + function loopN(i, j) { + const item = gen.name("item"); + const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong); + const indices = gen.const("indices", (0, codegen_1._) `{}`); + gen.for((0, codegen_1._) `;${i}--;`, () => { + gen.let(item, (0, codegen_1._) `${data}[${i}]`); + gen.if(wrongType, (0, codegen_1._) `continue`); + if (itemTypes.length > 1) + gen.if((0, codegen_1._) `typeof ${item} == "string"`, (0, codegen_1._) `${item} += "_"`); + gen + .if((0, codegen_1._) `typeof ${indices}[${item}] == "number"`, () => { + gen.assign(j, (0, codegen_1._) `${indices}[${item}]`); + cxt.error(); + gen.assign(valid, false).break(); + }) + .code((0, codegen_1._) `${indices}[${item}] = ${i}`); + }); + } + function loopN2(i, j) { + const eql = (0, util_1.useFunc)(gen, equal_1.default); + const outer = gen.name("outer"); + gen.label(outer).for((0, codegen_1._) `;${i}--;`, () => gen.for((0, codegen_1._) `${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._) `${eql}(${data}[${i}], ${data}[${j}])`, () => { + cxt.error(); + gen.assign(valid, false).break(outer); + }))); + } + }, +}; +exports["default"] = def; +//# sourceMappingURL=uniqueItems.js.map + +/***/ }), + +/***/ 75226: +/***/ ((module, exports, __webpack_require__) => { + +const nodeFetch = __webpack_require__(12837) +const realFetch = nodeFetch.default || nodeFetch + +const fetch = function (url, options) { + // Support schemaless URIs on the server for parity with the browser. + // Ex: //github.com/ -> https://github.com/ + if (/^\/\//.test(url)) { + url = 'https:' + url + } + return realFetch.call(this, url, options) +} + +fetch.ponyfill = true + +module.exports = exports = fetch +exports.fetch = fetch +exports.Headers = nodeFetch.Headers +exports.Request = nodeFetch.Request +exports.Response = nodeFetch.Response + +// Needed for TypeScript consumers without esModuleInterop. +exports["default"] = fetch + + +/***/ }), + +/***/ 54786: +/***/ ((module, exports, __webpack_require__) => { + +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = __webpack_require__(50509)(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + + +/***/ }), + +/***/ 50509: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = __webpack_require__(6269); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + let i; + const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + const len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + let i; + let len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + function toNamespace(regexp) { + return regexp.toString() + .substring(2, regexp.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; + + +/***/ }), + +/***/ 23510: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = __webpack_require__(54786); +} else { + module.exports = __webpack_require__(29923); +} + + +/***/ }), + +/***/ 29923: +/***/ ((module, exports, __webpack_require__) => { + +/** + * Module dependencies. + */ + +const tty = __webpack_require__(76224); +const util = __webpack_require__(73837); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = __webpack_require__(95427); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.format(...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = __webpack_require__(50509)(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + + +/***/ }), + +/***/ 92417: +/***/ ((module) => { + +"use strict"; + + +// do not edit .js files directly - edit src/index.jst + + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + + +/***/ }), + +/***/ 61802: +/***/ ((module) => { + +"use strict"; + +module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + + +/***/ }), + +/***/ 19358: +/***/ ((module) => { + +"use strict"; + + +var traverse = module.exports = function (schema, opts, cb) { + // Legacy support for v0.3.1 and earlier. + if (typeof opts == 'function') { + cb = opts; + opts = {}; + } + + cb = opts.cb || cb; + var pre = (typeof cb == 'function') ? cb : cb.pre || function() {}; + var post = cb.post || function() {}; + + _traverse(opts, pre, post, schema, '', schema); +}; + + +traverse.keywords = { + additionalItems: true, + items: true, + contains: true, + additionalProperties: true, + propertyNames: true, + not: true, + if: true, + then: true, + else: true +}; + +traverse.arrayKeywords = { + items: true, + allOf: true, + anyOf: true, + oneOf: true +}; + +traverse.propsKeywords = { + $defs: true, + definitions: true, + properties: true, + patternProperties: true, + dependencies: true +}; + +traverse.skipKeywords = { + default: true, + enum: true, + const: true, + required: true, + maximum: true, + minimum: true, + exclusiveMaximum: true, + exclusiveMinimum: true, + multipleOf: true, + maxLength: true, + minLength: true, + pattern: true, + format: true, + maxItems: true, + minItems: true, + uniqueItems: true, + maxProperties: true, + minProperties: true +}; + + +function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { + if (schema && typeof schema == 'object' && !Array.isArray(schema)) { + pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + for (var key in schema) { + var sch = schema[key]; + if (Array.isArray(sch)) { + if (key in traverse.arrayKeywords) { + for (var i=0; i { + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + + +/***/ }), + +/***/ 12837: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(__webpack_require__(12781)); +var http = _interopDefault(__webpack_require__(13685)); +var Url = _interopDefault(__webpack_require__(57310)); +var whatwgUrl = _interopDefault(__webpack_require__(88533)); +var https = _interopDefault(__webpack_require__(95687)); +var zlib = _interopDefault(__webpack_require__(59796)); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = (__webpack_require__(35543).convert); +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports["default"] = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; +exports.AbortError = AbortError; + + +/***/ }), + +/***/ 45765: +/***/ ((module) => { + +"use strict"; + + +class NonError extends Error { + constructor(message) { + super(NonError._prepareSuperMessage(message)); + Object.defineProperty(this, 'name', { + value: 'NonError', + configurable: true, + writable: true + }); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, NonError); + } + } + + static _prepareSuperMessage(message) { + try { + return JSON.stringify(message); + } catch { + return String(message); + } + } +} + +const commonProperties = [ + {property: 'name', enumerable: false}, + {property: 'message', enumerable: false}, + {property: 'stack', enumerable: false}, + {property: 'code', enumerable: true} +]; + +const isCalled = Symbol('.toJSON called'); + +const toJSON = from => { + from[isCalled] = true; + const json = from.toJSON(); + delete from[isCalled]; + return json; +}; + +const destroyCircular = ({ + from, + seen, + to_, + forceEnumerable, + maxDepth, + depth +}) => { + const to = to_ || (Array.isArray(from) ? [] : {}); + + seen.push(from); + + if (depth >= maxDepth) { + return to; + } + + if (typeof from.toJSON === 'function' && from[isCalled] !== true) { + return toJSON(from); + } + + for (const [key, value] of Object.entries(from)) { + if (typeof Buffer === 'function' && Buffer.isBuffer(value)) { + to[key] = '[object Buffer]'; + continue; + } + + if (typeof value === 'function') { + continue; + } + + if (!value || typeof value !== 'object') { + to[key] = value; + continue; + } + + if (!seen.includes(from[key])) { + depth++; + + to[key] = destroyCircular({ + from: from[key], + seen: seen.slice(), + forceEnumerable, + maxDepth, + depth + }); + continue; + } + + to[key] = '[Circular]'; + } + + for (const {property, enumerable} of commonProperties) { + if (typeof from[property] === 'string') { + Object.defineProperty(to, property, { + value: from[property], + enumerable: forceEnumerable ? true : enumerable, + configurable: true, + writable: true + }); + } + } + + return to; +}; + +const serializeError = (value, options = {}) => { + const {maxDepth = Number.POSITIVE_INFINITY} = options; + + if (typeof value === 'object' && value !== null) { + return destroyCircular({ + from: value, + seen: [], + forceEnumerable: true, + maxDepth, + depth: 0 + }); + } + + // People sometimes throw things besides Error objects… + if (typeof value === 'function') { + // `JSON.stringify()` discards functions. We do too, unless a function is thrown directly. + return `[Function: ${(value.name || 'anonymous')}]`; + } + + return value; +}; + +const deserializeError = (value, options = {}) => { + const {maxDepth = Number.POSITIVE_INFINITY} = options; + + if (value instanceof Error) { + return value; + } + + if (typeof value === 'object' && value !== null && !Array.isArray(value)) { + const newError = new Error(); // eslint-disable-line unicorn/error-message + destroyCircular({ + from: value, + seen: [], + to_: newError, + maxDepth, + depth: 0 + }); + return newError; + } + + return new NonError(value); +}; + +module.exports = { + serializeError, + deserializeError +}; + + +/***/ }), + +/***/ 84543: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __reExport = (target, module2, copyDefault, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) + __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); + } + return target; +}; +var __toESM = (module2, isNodeMode) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __toCommonJS = /* @__PURE__ */ ((cache2) => { + return (module2, temp) => { + return cache2 && cache2.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache2 && cache2.set(module2, temp), temp); + }; +})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; + +// src/lib/errors/git-error.ts +var GitError; +var init_git_error = __esm({ + "src/lib/errors/git-error.ts"() { + GitError = class extends Error { + constructor(task, message) { + super(message); + this.task = task; + Object.setPrototypeOf(this, new.target.prototype); + } + }; + } +}); + +// src/lib/errors/git-response-error.ts +var GitResponseError; +var init_git_response_error = __esm({ + "src/lib/errors/git-response-error.ts"() { + init_git_error(); + GitResponseError = class extends GitError { + constructor(git, message) { + super(void 0, message || String(git)); + this.git = git; + } + }; + } +}); + +// src/lib/args/pathspec.ts +function pathspec(...paths) { + const key = new String(paths); + cache.set(key, paths); + return key; +} +function isPathSpec(path) { + return path instanceof String && cache.has(path); +} +function toPaths(pathSpec) { + return cache.get(pathSpec) || []; +} +var cache; +var init_pathspec = __esm({ + "src/lib/args/pathspec.ts"() { + cache = /* @__PURE__ */ new WeakMap(); + } +}); + +// src/lib/errors/git-construct-error.ts +var GitConstructError; +var init_git_construct_error = __esm({ + "src/lib/errors/git-construct-error.ts"() { + init_git_error(); + GitConstructError = class extends GitError { + constructor(config, message) { + super(void 0, message); + this.config = config; + } + }; + } +}); + +// src/lib/errors/git-plugin-error.ts +var GitPluginError; +var init_git_plugin_error = __esm({ + "src/lib/errors/git-plugin-error.ts"() { + init_git_error(); + GitPluginError = class extends GitError { + constructor(task, plugin, message) { + super(task, message); + this.task = task; + this.plugin = plugin; + Object.setPrototypeOf(this, new.target.prototype); + } + }; + } +}); + +// src/lib/errors/task-configuration-error.ts +var TaskConfigurationError; +var init_task_configuration_error = __esm({ + "src/lib/errors/task-configuration-error.ts"() { + init_git_error(); + TaskConfigurationError = class extends GitError { + constructor(message) { + super(void 0, message); + } + }; + } +}); + +// src/lib/utils/util.ts +function asFunction(source) { + return typeof source === "function" ? source : NOOP; +} +function isUserFunction(source) { + return typeof source === "function" && source !== NOOP; +} +function splitOn(input, char) { + const index = input.indexOf(char); + if (index <= 0) { + return [input, ""]; + } + return [input.substr(0, index), input.substr(index + 1)]; +} +function first(input, offset = 0) { + return isArrayLike(input) && input.length > offset ? input[offset] : void 0; +} +function last(input, offset = 0) { + if (isArrayLike(input) && input.length > offset) { + return input[input.length - 1 - offset]; + } +} +function isArrayLike(input) { + return !!(input && typeof input.length === "number"); +} +function toLinesWithContent(input = "", trimmed2 = true, separator = "\n") { + return input.split(separator).reduce((output, line) => { + const lineContent = trimmed2 ? line.trim() : line; + if (lineContent) { + output.push(lineContent); + } + return output; + }, []); +} +function forEachLineWithContent(input, callback) { + return toLinesWithContent(input, true).map((line) => callback(line)); +} +function folderExists(path) { + return (0, import_file_exists.exists)(path, import_file_exists.FOLDER); +} +function append(target, item) { + if (Array.isArray(target)) { + if (!target.includes(item)) { + target.push(item); + } + } else { + target.add(item); + } + return item; +} +function including(target, item) { + if (Array.isArray(target) && !target.includes(item)) { + target.push(item); + } + return target; +} +function remove(target, item) { + if (Array.isArray(target)) { + const index = target.indexOf(item); + if (index >= 0) { + target.splice(index, 1); + } + } else { + target.delete(item); + } + return item; +} +function asArray(source) { + return Array.isArray(source) ? source : [source]; +} +function asStringArray(source) { + return asArray(source).map(String); +} +function asNumber(source, onNaN = 0) { + if (source == null) { + return onNaN; + } + const num = parseInt(source, 10); + return isNaN(num) ? onNaN : num; +} +function prefixedArray(input, prefix) { + const output = []; + for (let i = 0, max = input.length; i < max; i++) { + output.push(prefix, input[i]); + } + return output; +} +function bufferToString(input) { + return (Array.isArray(input) ? Buffer.concat(input) : input).toString("utf-8"); +} +function pick(source, properties) { + return Object.assign({}, ...properties.map((property) => property in source ? { [property]: source[property] } : {})); +} +function delay(duration = 0) { + return new Promise((done) => setTimeout(done, duration)); +} +var import_file_exists, NULL, NOOP, objectToString; +var init_util = __esm({ + "src/lib/utils/util.ts"() { + import_file_exists = __webpack_require__(30891); + NULL = "\0"; + NOOP = () => { + }; + objectToString = Object.prototype.toString.call.bind(Object.prototype.toString); + } +}); + +// src/lib/utils/argument-filters.ts +function filterType(input, filter, def) { + if (filter(input)) { + return input; + } + return arguments.length > 2 ? def : void 0; +} +function filterPrimitives(input, omit) { + const type = isPathSpec(input) ? "string" : typeof input; + return /number|string|boolean/.test(type) && (!omit || !omit.includes(type)); +} +function filterPlainObject(input) { + return !!input && objectToString(input) === "[object Object]"; +} +function filterFunction(input) { + return typeof input === "function"; +} +var filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength; +var init_argument_filters = __esm({ + "src/lib/utils/argument-filters.ts"() { + init_util(); + init_pathspec(); + filterArray = (input) => { + return Array.isArray(input); + }; + filterString = (input) => { + return typeof input === "string"; + }; + filterStringArray = (input) => { + return Array.isArray(input) && input.every(filterString); + }; + filterStringOrStringArray = (input) => { + return filterString(input) || Array.isArray(input) && input.every(filterString); + }; + filterHasLength = (input) => { + if (input == null || "number|boolean|function".includes(typeof input)) { + return false; + } + return Array.isArray(input) || typeof input === "string" || typeof input.length === "number"; + }; + } +}); + +// src/lib/utils/exit-codes.ts +var ExitCodes; +var init_exit_codes = __esm({ + "src/lib/utils/exit-codes.ts"() { + ExitCodes = /* @__PURE__ */ ((ExitCodes2) => { + ExitCodes2[ExitCodes2["SUCCESS"] = 0] = "SUCCESS"; + ExitCodes2[ExitCodes2["ERROR"] = 1] = "ERROR"; + ExitCodes2[ExitCodes2["NOT_FOUND"] = -2] = "NOT_FOUND"; + ExitCodes2[ExitCodes2["UNCLEAN"] = 128] = "UNCLEAN"; + return ExitCodes2; + })(ExitCodes || {}); + } +}); + +// src/lib/utils/git-output-streams.ts +var GitOutputStreams; +var init_git_output_streams = __esm({ + "src/lib/utils/git-output-streams.ts"() { + GitOutputStreams = class { + constructor(stdOut, stdErr) { + this.stdOut = stdOut; + this.stdErr = stdErr; + } + asStrings() { + return new GitOutputStreams(this.stdOut.toString("utf8"), this.stdErr.toString("utf8")); + } + }; + } +}); + +// src/lib/utils/line-parser.ts +var LineParser, RemoteLineParser; +var init_line_parser = __esm({ + "src/lib/utils/line-parser.ts"() { + LineParser = class { + constructor(regExp, useMatches) { + this.matches = []; + this.parse = (line, target) => { + this.resetMatches(); + if (!this._regExp.every((reg, index) => this.addMatch(reg, index, line(index)))) { + return false; + } + return this.useMatches(target, this.prepareMatches()) !== false; + }; + this._regExp = Array.isArray(regExp) ? regExp : [regExp]; + if (useMatches) { + this.useMatches = useMatches; + } + } + useMatches(target, match) { + throw new Error(`LineParser:useMatches not implemented`); + } + resetMatches() { + this.matches.length = 0; + } + prepareMatches() { + return this.matches; + } + addMatch(reg, index, line) { + const matched = line && reg.exec(line); + if (matched) { + this.pushMatch(index, matched); + } + return !!matched; + } + pushMatch(_index, matched) { + this.matches.push(...matched.slice(1)); + } + }; + RemoteLineParser = class extends LineParser { + addMatch(reg, index, line) { + return /^remote:\s/.test(String(line)) && super.addMatch(reg, index, line); + } + pushMatch(index, matched) { + if (index > 0 || matched.length > 1) { + super.pushMatch(index, matched); + } + } + }; + } +}); + +// src/lib/utils/simple-git-options.ts +function createInstanceConfig(...options) { + const baseDir = process.cwd(); + const config = Object.assign(__spreadValues({ baseDir }, defaultOptions), ...options.filter((o) => typeof o === "object" && o)); + config.baseDir = config.baseDir || baseDir; + config.trimmed = config.trimmed === true; + return config; +} +var defaultOptions; +var init_simple_git_options = __esm({ + "src/lib/utils/simple-git-options.ts"() { + defaultOptions = { + binary: "git", + maxConcurrentProcesses: 5, + config: [], + trimmed: false + }; + } +}); + +// src/lib/utils/task-options.ts +function appendTaskOptions(options, commands = []) { + if (!filterPlainObject(options)) { + return commands; + } + return Object.keys(options).reduce((commands2, key) => { + const value = options[key]; + if (isPathSpec(value)) { + commands2.push(value); + } else if (filterPrimitives(value, ["boolean"])) { + commands2.push(key + "=" + value); + } else { + commands2.push(key); + } + return commands2; + }, commands); +} +function getTrailingOptions(args, initialPrimitive = 0, objectOnly = false) { + const command = []; + for (let i = 0, max = initialPrimitive < 0 ? args.length : initialPrimitive; i < max; i++) { + if ("string|number".includes(typeof args[i])) { + command.push(String(args[i])); + } + } + appendTaskOptions(trailingOptionsArgument(args), command); + if (!objectOnly) { + command.push(...trailingArrayArgument(args)); + } + return command; +} +function trailingArrayArgument(args) { + const hasTrailingCallback = typeof last(args) === "function"; + return filterType(last(args, hasTrailingCallback ? 1 : 0), filterArray, []); +} +function trailingOptionsArgument(args) { + const hasTrailingCallback = filterFunction(last(args)); + return filterType(last(args, hasTrailingCallback ? 1 : 0), filterPlainObject); +} +function trailingFunctionArgument(args, includeNoop = true) { + const callback = asFunction(last(args)); + return includeNoop || isUserFunction(callback) ? callback : void 0; +} +var init_task_options = __esm({ + "src/lib/utils/task-options.ts"() { + init_argument_filters(); + init_util(); + init_pathspec(); + } +}); + +// src/lib/utils/task-parser.ts +function callTaskParser(parser3, streams) { + return parser3(streams.stdOut, streams.stdErr); +} +function parseStringResponse(result, parsers12, texts, trim = true) { + asArray(texts).forEach((text) => { + for (let lines = toLinesWithContent(text, trim), i = 0, max = lines.length; i < max; i++) { + const line = (offset = 0) => { + if (i + offset >= max) { + return; + } + return lines[i + offset]; + }; + parsers12.some(({ parse }) => parse(line, result)); + } + }); + return result; +} +var init_task_parser = __esm({ + "src/lib/utils/task-parser.ts"() { + init_util(); + } +}); + +// src/lib/utils/index.ts +var utils_exports = {}; +__export(utils_exports, { + ExitCodes: () => ExitCodes, + GitOutputStreams: () => GitOutputStreams, + LineParser: () => LineParser, + NOOP: () => NOOP, + NULL: () => NULL, + RemoteLineParser: () => RemoteLineParser, + append: () => append, + appendTaskOptions: () => appendTaskOptions, + asArray: () => asArray, + asFunction: () => asFunction, + asNumber: () => asNumber, + asStringArray: () => asStringArray, + bufferToString: () => bufferToString, + callTaskParser: () => callTaskParser, + createInstanceConfig: () => createInstanceConfig, + delay: () => delay, + filterArray: () => filterArray, + filterFunction: () => filterFunction, + filterHasLength: () => filterHasLength, + filterPlainObject: () => filterPlainObject, + filterPrimitives: () => filterPrimitives, + filterString: () => filterString, + filterStringArray: () => filterStringArray, + filterStringOrStringArray: () => filterStringOrStringArray, + filterType: () => filterType, + first: () => first, + folderExists: () => folderExists, + forEachLineWithContent: () => forEachLineWithContent, + getTrailingOptions: () => getTrailingOptions, + including: () => including, + isUserFunction: () => isUserFunction, + last: () => last, + objectToString: () => objectToString, + parseStringResponse: () => parseStringResponse, + pick: () => pick, + prefixedArray: () => prefixedArray, + remove: () => remove, + splitOn: () => splitOn, + toLinesWithContent: () => toLinesWithContent, + trailingFunctionArgument: () => trailingFunctionArgument, + trailingOptionsArgument: () => trailingOptionsArgument +}); +var init_utils = __esm({ + "src/lib/utils/index.ts"() { + init_argument_filters(); + init_exit_codes(); + init_git_output_streams(); + init_line_parser(); + init_simple_git_options(); + init_task_options(); + init_task_parser(); + init_util(); + } +}); + +// src/lib/tasks/check-is-repo.ts +var check_is_repo_exports = {}; +__export(check_is_repo_exports, { + CheckRepoActions: () => CheckRepoActions, + checkIsBareRepoTask: () => checkIsBareRepoTask, + checkIsRepoRootTask: () => checkIsRepoRootTask, + checkIsRepoTask: () => checkIsRepoTask +}); +function checkIsRepoTask(action) { + switch (action) { + case "bare" /* BARE */: + return checkIsBareRepoTask(); + case "root" /* IS_REPO_ROOT */: + return checkIsRepoRootTask(); + } + const commands = ["rev-parse", "--is-inside-work-tree"]; + return { + commands, + format: "utf-8", + onError, + parser + }; +} +function checkIsRepoRootTask() { + const commands = ["rev-parse", "--git-dir"]; + return { + commands, + format: "utf-8", + onError, + parser(path) { + return /^\.(git)?$/.test(path.trim()); + } + }; +} +function checkIsBareRepoTask() { + const commands = ["rev-parse", "--is-bare-repository"]; + return { + commands, + format: "utf-8", + onError, + parser + }; +} +function isNotRepoMessage(error) { + return /(Not a git repository|Kein Git-Repository)/i.test(String(error)); +} +var CheckRepoActions, onError, parser; +var init_check_is_repo = __esm({ + "src/lib/tasks/check-is-repo.ts"() { + init_utils(); + CheckRepoActions = /* @__PURE__ */ ((CheckRepoActions2) => { + CheckRepoActions2["BARE"] = "bare"; + CheckRepoActions2["IN_TREE"] = "tree"; + CheckRepoActions2["IS_REPO_ROOT"] = "root"; + return CheckRepoActions2; + })(CheckRepoActions || {}); + onError = ({ exitCode }, error, done, fail) => { + if (exitCode === 128 /* UNCLEAN */ && isNotRepoMessage(error)) { + return done(Buffer.from("false")); + } + fail(error); + }; + parser = (text) => { + return text.trim() === "true"; + }; + } +}); + +// src/lib/responses/CleanSummary.ts +function cleanSummaryParser(dryRun, text) { + const summary = new CleanResponse(dryRun); + const regexp = dryRun ? dryRunRemovalRegexp : removalRegexp; + toLinesWithContent(text).forEach((line) => { + const removed = line.replace(regexp, ""); + summary.paths.push(removed); + (isFolderRegexp.test(removed) ? summary.folders : summary.files).push(removed); + }); + return summary; +} +var CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp; +var init_CleanSummary = __esm({ + "src/lib/responses/CleanSummary.ts"() { + init_utils(); + CleanResponse = class { + constructor(dryRun) { + this.dryRun = dryRun; + this.paths = []; + this.files = []; + this.folders = []; + } + }; + removalRegexp = /^[a-z]+\s*/i; + dryRunRemovalRegexp = /^[a-z]+\s+[a-z]+\s*/i; + isFolderRegexp = /\/$/; + } +}); + +// src/lib/tasks/task.ts +var task_exports = {}; +__export(task_exports, { + EMPTY_COMMANDS: () => EMPTY_COMMANDS, + adhocExecTask: () => adhocExecTask, + configurationErrorTask: () => configurationErrorTask, + isBufferTask: () => isBufferTask, + isEmptyTask: () => isEmptyTask, + straightThroughBufferTask: () => straightThroughBufferTask, + straightThroughStringTask: () => straightThroughStringTask +}); +function adhocExecTask(parser3) { + return { + commands: EMPTY_COMMANDS, + format: "empty", + parser: parser3 + }; +} +function configurationErrorTask(error) { + return { + commands: EMPTY_COMMANDS, + format: "empty", + parser() { + throw typeof error === "string" ? new TaskConfigurationError(error) : error; + } + }; +} +function straightThroughStringTask(commands, trimmed2 = false) { + return { + commands, + format: "utf-8", + parser(text) { + return trimmed2 ? String(text).trim() : text; + } + }; +} +function straightThroughBufferTask(commands) { + return { + commands, + format: "buffer", + parser(buffer) { + return buffer; + } + }; +} +function isBufferTask(task) { + return task.format === "buffer"; +} +function isEmptyTask(task) { + return task.format === "empty" || !task.commands.length; +} +var EMPTY_COMMANDS; +var init_task = __esm({ + "src/lib/tasks/task.ts"() { + init_task_configuration_error(); + EMPTY_COMMANDS = []; + } +}); + +// src/lib/tasks/clean.ts +var clean_exports = {}; +__export(clean_exports, { + CONFIG_ERROR_INTERACTIVE_MODE: () => CONFIG_ERROR_INTERACTIVE_MODE, + CONFIG_ERROR_MODE_REQUIRED: () => CONFIG_ERROR_MODE_REQUIRED, + CONFIG_ERROR_UNKNOWN_OPTION: () => CONFIG_ERROR_UNKNOWN_OPTION, + CleanOptions: () => CleanOptions, + cleanTask: () => cleanTask, + cleanWithOptionsTask: () => cleanWithOptionsTask, + isCleanOptionsArray: () => isCleanOptionsArray +}); +function cleanWithOptionsTask(mode, customArgs) { + const { cleanMode, options, valid } = getCleanOptions(mode); + if (!cleanMode) { + return configurationErrorTask(CONFIG_ERROR_MODE_REQUIRED); + } + if (!valid.options) { + return configurationErrorTask(CONFIG_ERROR_UNKNOWN_OPTION + JSON.stringify(mode)); + } + options.push(...customArgs); + if (options.some(isInteractiveMode)) { + return configurationErrorTask(CONFIG_ERROR_INTERACTIVE_MODE); + } + return cleanTask(cleanMode, options); +} +function cleanTask(mode, customArgs) { + const commands = ["clean", `-${mode}`, ...customArgs]; + return { + commands, + format: "utf-8", + parser(text) { + return cleanSummaryParser(mode === "n" /* DRY_RUN */, text); + } + }; +} +function isCleanOptionsArray(input) { + return Array.isArray(input) && input.every((test) => CleanOptionValues.has(test)); +} +function getCleanOptions(input) { + let cleanMode; + let options = []; + let valid = { cleanMode: false, options: true }; + input.replace(/[^a-z]i/g, "").split("").forEach((char) => { + if (isCleanMode(char)) { + cleanMode = char; + valid.cleanMode = true; + } else { + valid.options = valid.options && isKnownOption(options[options.length] = `-${char}`); + } + }); + return { + cleanMode, + options, + valid + }; +} +function isCleanMode(cleanMode) { + return cleanMode === "f" /* FORCE */ || cleanMode === "n" /* DRY_RUN */; +} +function isKnownOption(option) { + return /^-[a-z]$/i.test(option) && CleanOptionValues.has(option.charAt(1)); +} +function isInteractiveMode(option) { + if (/^-[^\-]/.test(option)) { + return option.indexOf("i") > 0; + } + return option === "--interactive"; +} +var CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues; +var init_clean = __esm({ + "src/lib/tasks/clean.ts"() { + init_CleanSummary(); + init_utils(); + init_task(); + CONFIG_ERROR_INTERACTIVE_MODE = "Git clean interactive mode is not supported"; + CONFIG_ERROR_MODE_REQUIRED = 'Git clean mode parameter ("n" or "f") is required'; + CONFIG_ERROR_UNKNOWN_OPTION = "Git clean unknown option found in: "; + CleanOptions = /* @__PURE__ */ ((CleanOptions2) => { + CleanOptions2["DRY_RUN"] = "n"; + CleanOptions2["FORCE"] = "f"; + CleanOptions2["IGNORED_INCLUDED"] = "x"; + CleanOptions2["IGNORED_ONLY"] = "X"; + CleanOptions2["EXCLUDING"] = "e"; + CleanOptions2["QUIET"] = "q"; + CleanOptions2["RECURSIVE"] = "d"; + return CleanOptions2; + })(CleanOptions || {}); + CleanOptionValues = /* @__PURE__ */ new Set([ + "i", + ...asStringArray(Object.values(CleanOptions)) + ]); + } +}); + +// src/lib/responses/ConfigList.ts +function configListParser(text) { + const config = new ConfigList(); + for (const item of configParser(text)) { + config.addValue(item.file, String(item.key), item.value); + } + return config; +} +function configGetParser(text, key) { + let value = null; + const values = []; + const scopes = /* @__PURE__ */ new Map(); + for (const item of configParser(text, key)) { + if (item.key !== key) { + continue; + } + values.push(value = item.value); + if (!scopes.has(item.file)) { + scopes.set(item.file, []); + } + scopes.get(item.file).push(value); + } + return { + key, + paths: Array.from(scopes.keys()), + scopes, + value, + values + }; +} +function configFilePath(filePath) { + return filePath.replace(/^(file):/, ""); +} +function* configParser(text, requestedKey = null) { + const lines = text.split("\0"); + for (let i = 0, max = lines.length - 1; i < max; ) { + const file = configFilePath(lines[i++]); + let value = lines[i++]; + let key = requestedKey; + if (value.includes("\n")) { + const line = splitOn(value, "\n"); + key = line[0]; + value = line[1]; + } + yield { file, key, value }; + } +} +var ConfigList; +var init_ConfigList = __esm({ + "src/lib/responses/ConfigList.ts"() { + init_utils(); + ConfigList = class { + constructor() { + this.files = []; + this.values = /* @__PURE__ */ Object.create(null); + } + get all() { + if (!this._all) { + this._all = this.files.reduce((all, file) => { + return Object.assign(all, this.values[file]); + }, {}); + } + return this._all; + } + addFile(file) { + if (!(file in this.values)) { + const latest = last(this.files); + this.values[file] = latest ? Object.create(this.values[latest]) : {}; + this.files.push(file); + } + return this.values[file]; + } + addValue(file, key, value) { + const values = this.addFile(file); + if (!values.hasOwnProperty(key)) { + values[key] = value; + } else if (Array.isArray(values[key])) { + values[key].push(value); + } else { + values[key] = [values[key], value]; + } + this._all = void 0; + } + }; + } +}); + +// src/lib/tasks/config.ts +function asConfigScope(scope, fallback) { + if (typeof scope === "string" && GitConfigScope.hasOwnProperty(scope)) { + return scope; + } + return fallback; +} +function addConfigTask(key, value, append2, scope) { + const commands = ["config", `--${scope}`]; + if (append2) { + commands.push("--add"); + } + commands.push(key, value); + return { + commands, + format: "utf-8", + parser(text) { + return text; + } + }; +} +function getConfigTask(key, scope) { + const commands = ["config", "--null", "--show-origin", "--get-all", key]; + if (scope) { + commands.splice(1, 0, `--${scope}`); + } + return { + commands, + format: "utf-8", + parser(text) { + return configGetParser(text, key); + } + }; +} +function listConfigTask(scope) { + const commands = ["config", "--list", "--show-origin", "--null"]; + if (scope) { + commands.push(`--${scope}`); + } + return { + commands, + format: "utf-8", + parser(text) { + return configListParser(text); + } + }; +} +function config_default() { + return { + addConfig(key, value, ...rest) { + return this._runTask(addConfigTask(key, value, rest[0] === true, asConfigScope(rest[1], "local" /* local */)), trailingFunctionArgument(arguments)); + }, + getConfig(key, scope) { + return this._runTask(getConfigTask(key, asConfigScope(scope, void 0)), trailingFunctionArgument(arguments)); + }, + listConfig(...rest) { + return this._runTask(listConfigTask(asConfigScope(rest[0], void 0)), trailingFunctionArgument(arguments)); + } + }; +} +var GitConfigScope; +var init_config = __esm({ + "src/lib/tasks/config.ts"() { + init_ConfigList(); + init_utils(); + GitConfigScope = /* @__PURE__ */ ((GitConfigScope2) => { + GitConfigScope2["system"] = "system"; + GitConfigScope2["global"] = "global"; + GitConfigScope2["local"] = "local"; + GitConfigScope2["worktree"] = "worktree"; + return GitConfigScope2; + })(GitConfigScope || {}); + } +}); + +// src/lib/tasks/grep.ts +function grepQueryBuilder(...params) { + return new GrepQuery().param(...params); +} +function parseGrep(grep) { + const paths = /* @__PURE__ */ new Set(); + const results = {}; + forEachLineWithContent(grep, (input) => { + const [path, line, preview] = input.split(NULL); + paths.add(path); + (results[path] = results[path] || []).push({ + line: asNumber(line), + path, + preview + }); + }); + return { + paths, + results + }; +} +function grep_default() { + return { + grep(searchTerm) { + const then = trailingFunctionArgument(arguments); + const options = getTrailingOptions(arguments); + for (const option of disallowedOptions) { + if (options.includes(option)) { + return this._runTask(configurationErrorTask(`git.grep: use of "${option}" is not supported.`), then); + } + } + if (typeof searchTerm === "string") { + searchTerm = grepQueryBuilder().param(searchTerm); + } + const commands = ["grep", "--null", "-n", "--full-name", ...options, ...searchTerm]; + return this._runTask({ + commands, + format: "utf-8", + parser(stdOut) { + return parseGrep(stdOut); + } + }, then); + } + }; +} +var disallowedOptions, Query, _a, GrepQuery; +var init_grep = __esm({ + "src/lib/tasks/grep.ts"() { + init_utils(); + init_task(); + disallowedOptions = ["-h"]; + Query = Symbol("grepQuery"); + GrepQuery = class { + constructor() { + this[_a] = []; + } + *[(_a = Query, Symbol.iterator)]() { + for (const query of this[Query]) { + yield query; + } + } + and(...and) { + and.length && this[Query].push("--and", "(", ...prefixedArray(and, "-e"), ")"); + return this; + } + param(...param) { + this[Query].push(...prefixedArray(param, "-e")); + return this; + } + }; + } +}); + +// src/lib/tasks/reset.ts +var reset_exports = {}; +__export(reset_exports, { + ResetMode: () => ResetMode, + getResetMode: () => getResetMode, + resetTask: () => resetTask +}); +function resetTask(mode, customArgs) { + const commands = ["reset"]; + if (isValidResetMode(mode)) { + commands.push(`--${mode}`); + } + commands.push(...customArgs); + return straightThroughStringTask(commands); +} +function getResetMode(mode) { + if (isValidResetMode(mode)) { + return mode; + } + switch (typeof mode) { + case "string": + case "undefined": + return "soft" /* SOFT */; + } + return; +} +function isValidResetMode(mode) { + return ResetModes.includes(mode); +} +var ResetMode, ResetModes; +var init_reset = __esm({ + "src/lib/tasks/reset.ts"() { + init_task(); + ResetMode = /* @__PURE__ */ ((ResetMode2) => { + ResetMode2["MIXED"] = "mixed"; + ResetMode2["SOFT"] = "soft"; + ResetMode2["HARD"] = "hard"; + ResetMode2["MERGE"] = "merge"; + ResetMode2["KEEP"] = "keep"; + return ResetMode2; + })(ResetMode || {}); + ResetModes = Array.from(Object.values(ResetMode)); + } +}); + +// src/lib/api.ts +var api_exports = {}; +__export(api_exports, { + CheckRepoActions: () => CheckRepoActions, + CleanOptions: () => CleanOptions, + GitConfigScope: () => GitConfigScope, + GitConstructError: () => GitConstructError, + GitError: () => GitError, + GitPluginError: () => GitPluginError, + GitResponseError: () => GitResponseError, + ResetMode: () => ResetMode, + TaskConfigurationError: () => TaskConfigurationError, + grepQueryBuilder: () => grepQueryBuilder, + pathspec: () => pathspec +}); +var init_api = __esm({ + "src/lib/api.ts"() { + init_pathspec(); + init_git_construct_error(); + init_git_error(); + init_git_plugin_error(); + init_git_response_error(); + init_task_configuration_error(); + init_check_is_repo(); + init_clean(); + init_config(); + init_grep(); + init_reset(); + } +}); + +// src/lib/plugins/abort-plugin.ts +function abortPlugin(signal) { + if (!signal) { + return; + } + const onSpawnAfter = { + type: "spawn.after", + action(_data, context) { + function kill() { + context.kill(new GitPluginError(void 0, "abort", "Abort signal received")); + } + signal.addEventListener("abort", kill); + context.spawned.on("close", () => signal.removeEventListener("abort", kill)); + } + }; + const onSpawnBefore = { + type: "spawn.before", + action(_data, context) { + if (signal.aborted) { + context.kill(new GitPluginError(void 0, "abort", "Abort already signaled")); + } + } + }; + return [onSpawnBefore, onSpawnAfter]; +} +var init_abort_plugin = __esm({ + "src/lib/plugins/abort-plugin.ts"() { + init_git_plugin_error(); + } +}); + +// src/lib/plugins/block-unsafe-operations-plugin.ts +function isConfigSwitch(arg) { + return typeof arg === "string" && arg.trim().toLowerCase() === "-c"; +} +function preventProtocolOverride(arg, next) { + if (!isConfigSwitch(arg)) { + return; + } + if (!/^\s*protocol(.[a-z]+)?.allow/.test(next)) { + return; + } + throw new GitPluginError(void 0, "unsafe", "Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol"); +} +function preventUploadPack(arg, method) { + if (/^\s*--(upload|receive)-pack/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`); + } + if (method === "clone" && /^\s*-u\b/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of clone with option -u is not permitted without enabling allowUnsafePack`); + } + if (method === "push" && /^\s*--exec\b/.test(arg)) { + throw new GitPluginError(void 0, "unsafe", `Use of push with option --exec is not permitted without enabling allowUnsafePack`); + } +} +function blockUnsafeOperationsPlugin({ + allowUnsafeProtocolOverride = false, + allowUnsafePack = false +} = {}) { + return { + type: "spawn.args", + action(args, context) { + args.forEach((current, index) => { + const next = index < args.length ? args[index + 1] : ""; + allowUnsafeProtocolOverride || preventProtocolOverride(current, next); + allowUnsafePack || preventUploadPack(current, context.method); + }); + return args; + } + }; +} +var init_block_unsafe_operations_plugin = __esm({ + "src/lib/plugins/block-unsafe-operations-plugin.ts"() { + init_git_plugin_error(); + } +}); + +// src/lib/plugins/command-config-prefixing-plugin.ts +function commandConfigPrefixingPlugin(configuration) { + const prefix = prefixedArray(configuration, "-c"); + return { + type: "spawn.args", + action(data) { + return [...prefix, ...data]; + } + }; +} +var init_command_config_prefixing_plugin = __esm({ + "src/lib/plugins/command-config-prefixing-plugin.ts"() { + init_utils(); + } +}); + +// src/lib/plugins/completion-detection.plugin.ts +function completionDetectionPlugin({ + onClose = true, + onExit = 50 +} = {}) { + function createEvents() { + let exitCode = -1; + const events = { + close: (0, import_promise_deferred.deferred)(), + closeTimeout: (0, import_promise_deferred.deferred)(), + exit: (0, import_promise_deferred.deferred)(), + exitTimeout: (0, import_promise_deferred.deferred)() + }; + const result = Promise.race([ + onClose === false ? never : events.closeTimeout.promise, + onExit === false ? never : events.exitTimeout.promise + ]); + configureTimeout(onClose, events.close, events.closeTimeout); + configureTimeout(onExit, events.exit, events.exitTimeout); + return { + close(code) { + exitCode = code; + events.close.done(); + }, + exit(code) { + exitCode = code; + events.exit.done(); + }, + get exitCode() { + return exitCode; + }, + result + }; + } + function configureTimeout(flag, event, timeout) { + if (flag === false) { + return; + } + (flag === true ? event.promise : event.promise.then(() => delay(flag))).then(timeout.done); + } + return { + type: "spawn.after", + action(_0, _1) { + return __async(this, arguments, function* (_data, { spawned, close }) { + var _a2, _b; + const events = createEvents(); + let deferClose = true; + let quickClose = () => void (deferClose = false); + (_a2 = spawned.stdout) == null ? void 0 : _a2.on("data", quickClose); + (_b = spawned.stderr) == null ? void 0 : _b.on("data", quickClose); + spawned.on("error", quickClose); + spawned.on("close", (code) => events.close(code)); + spawned.on("exit", (code) => events.exit(code)); + try { + yield events.result; + if (deferClose) { + yield delay(50); + } + close(events.exitCode); + } catch (err) { + close(events.exitCode, err); + } + }); + } + }; +} +var import_promise_deferred, never; +var init_completion_detection_plugin = __esm({ + "src/lib/plugins/completion-detection.plugin.ts"() { + import_promise_deferred = __webpack_require__(9634); + init_utils(); + never = (0, import_promise_deferred.deferred)().promise; + } +}); + +// src/lib/plugins/error-detection.plugin.ts +function isTaskError(result) { + return !!(result.exitCode && result.stdErr.length); +} +function getErrorMessage(result) { + return Buffer.concat([...result.stdOut, ...result.stdErr]); +} +function errorDetectionHandler(overwrite = false, isError = isTaskError, errorMessage = getErrorMessage) { + return (error, result) => { + if (!overwrite && error || !isError(result)) { + return error; + } + return errorMessage(result); + }; +} +function errorDetectionPlugin(config) { + return { + type: "task.error", + action(data, context) { + const error = config(data.error, { + stdErr: context.stdErr, + stdOut: context.stdOut, + exitCode: context.exitCode + }); + if (Buffer.isBuffer(error)) { + return { error: new GitError(void 0, error.toString("utf-8")) }; + } + return { + error + }; + } + }; +} +var init_error_detection_plugin = __esm({ + "src/lib/plugins/error-detection.plugin.ts"() { + init_git_error(); + } +}); + +// src/lib/plugins/plugin-store.ts +var PluginStore; +var init_plugin_store = __esm({ + "src/lib/plugins/plugin-store.ts"() { + init_utils(); + PluginStore = class { + constructor() { + this.plugins = /* @__PURE__ */ new Set(); + } + add(plugin) { + const plugins = []; + asArray(plugin).forEach((plugin2) => plugin2 && this.plugins.add(append(plugins, plugin2))); + return () => { + plugins.forEach((plugin2) => this.plugins.delete(plugin2)); + }; + } + exec(type, data, context) { + let output = data; + const contextual = Object.freeze(Object.create(context)); + for (const plugin of this.plugins) { + if (plugin.type === type) { + output = plugin.action(output, contextual); + } + } + return output; + } + }; + } +}); + +// src/lib/plugins/progress-monitor-plugin.ts +function progressMonitorPlugin(progress) { + const progressCommand = "--progress"; + const progressMethods = ["checkout", "clone", "fetch", "pull", "push"]; + const onProgress = { + type: "spawn.after", + action(_data, context) { + var _a2; + if (!context.commands.includes(progressCommand)) { + return; + } + (_a2 = context.spawned.stderr) == null ? void 0 : _a2.on("data", (chunk) => { + const message = /^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(chunk.toString("utf8")); + if (!message) { + return; + } + progress({ + method: context.method, + stage: progressEventStage(message[1]), + progress: asNumber(message[2]), + processed: asNumber(message[3]), + total: asNumber(message[4]) + }); + }); + } + }; + const onArgs = { + type: "spawn.args", + action(args, context) { + if (!progressMethods.includes(context.method)) { + return args; + } + return including(args, progressCommand); + } + }; + return [onArgs, onProgress]; +} +function progressEventStage(input) { + return String(input.toLowerCase().split(" ", 1)) || "unknown"; +} +var init_progress_monitor_plugin = __esm({ + "src/lib/plugins/progress-monitor-plugin.ts"() { + init_utils(); + } +}); + +// src/lib/plugins/simple-git-plugin.ts +var init_simple_git_plugin = __esm({ + "src/lib/plugins/simple-git-plugin.ts"() { + } +}); + +// src/lib/plugins/spawn-options-plugin.ts +function spawnOptionsPlugin(spawnOptions) { + const options = pick(spawnOptions, ["uid", "gid"]); + return { + type: "spawn.options", + action(data) { + return __spreadValues(__spreadValues({}, options), data); + } + }; +} +var init_spawn_options_plugin = __esm({ + "src/lib/plugins/spawn-options-plugin.ts"() { + init_utils(); + } +}); + +// src/lib/plugins/timout-plugin.ts +function timeoutPlugin({ + block, + stdErr = true, + stdOut = true +}) { + if (block > 0) { + return { + type: "spawn.after", + action(_data, context) { + var _a2, _b; + let timeout; + function wait() { + timeout && clearTimeout(timeout); + timeout = setTimeout(kill, block); + } + function stop() { + var _a3, _b2; + (_a3 = context.spawned.stdout) == null ? void 0 : _a3.off("data", wait); + (_b2 = context.spawned.stderr) == null ? void 0 : _b2.off("data", wait); + context.spawned.off("exit", stop); + context.spawned.off("close", stop); + timeout && clearTimeout(timeout); + } + function kill() { + stop(); + context.kill(new GitPluginError(void 0, "timeout", `block timeout reached`)); + } + stdOut && ((_a2 = context.spawned.stdout) == null ? void 0 : _a2.on("data", wait)); + stdErr && ((_b = context.spawned.stderr) == null ? void 0 : _b.on("data", wait)); + context.spawned.on("exit", stop); + context.spawned.on("close", stop); + wait(); + } + }; + } +} +var init_timout_plugin = __esm({ + "src/lib/plugins/timout-plugin.ts"() { + init_git_plugin_error(); + } +}); + +// src/lib/plugins/index.ts +var init_plugins = __esm({ + "src/lib/plugins/index.ts"() { + init_abort_plugin(); + init_block_unsafe_operations_plugin(); + init_command_config_prefixing_plugin(); + init_completion_detection_plugin(); + init_error_detection_plugin(); + init_plugin_store(); + init_progress_monitor_plugin(); + init_simple_git_plugin(); + init_spawn_options_plugin(); + init_timout_plugin(); + } +}); + +// src/lib/plugins/suffix-paths.plugin.ts +function suffixPathsPlugin() { + return { + type: "spawn.args", + action(data) { + const prefix = []; + let suffix; + function append2(args) { + (suffix = suffix || []).push(...args); + } + for (let i = 0; i < data.length; i++) { + const param = data[i]; + if (isPathSpec(param)) { + append2(toPaths(param)); + continue; + } + if (param === "--") { + append2(data.slice(i + 1).flatMap((item) => isPathSpec(item) && toPaths(item) || item)); + break; + } + prefix.push(param); + } + return !suffix ? prefix : [...prefix, "--", ...suffix.map(String)]; + } + }; +} +var init_suffix_paths_plugin = __esm({ + "src/lib/plugins/suffix-paths.plugin.ts"() { + init_pathspec(); + } +}); + +// src/lib/git-logger.ts +function createLog() { + return (0, import_debug.default)("simple-git"); +} +function prefixedLogger(to, prefix, forward) { + if (!prefix || !String(prefix).replace(/\s*/, "")) { + return !forward ? to : (message, ...args) => { + to(message, ...args); + forward(message, ...args); + }; + } + return (message, ...args) => { + to(`%s ${message}`, prefix, ...args); + if (forward) { + forward(message, ...args); + } + }; +} +function childLoggerName(name, childDebugger, { namespace: parentNamespace }) { + if (typeof name === "string") { + return name; + } + const childNamespace = childDebugger && childDebugger.namespace || ""; + if (childNamespace.startsWith(parentNamespace)) { + return childNamespace.substr(parentNamespace.length + 1); + } + return childNamespace || parentNamespace; +} +function createLogger(label, verbose, initialStep, infoDebugger = createLog()) { + const labelPrefix = label && `[${label}]` || ""; + const spawned = []; + const debugDebugger = typeof verbose === "string" ? infoDebugger.extend(verbose) : verbose; + const key = childLoggerName(filterType(verbose, filterString), debugDebugger, infoDebugger); + return step(initialStep); + function sibling(name, initial) { + return append(spawned, createLogger(label, key.replace(/^[^:]+/, name), initial, infoDebugger)); + } + function step(phase) { + const stepPrefix = phase && `[${phase}]` || ""; + const debug2 = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || NOOP; + const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug2); + return Object.assign(debugDebugger ? debug2 : info, { + label, + sibling, + info, + step + }); + } +} +var import_debug; +var init_git_logger = __esm({ + "src/lib/git-logger.ts"() { + import_debug = __toESM(__webpack_require__(23510)); + init_utils(); + import_debug.default.formatters.L = (value) => String(filterHasLength(value) ? value.length : "-"); + import_debug.default.formatters.B = (value) => { + if (Buffer.isBuffer(value)) { + return value.toString("utf8"); + } + return objectToString(value); + }; + } +}); + +// src/lib/runners/tasks-pending-queue.ts +var _TasksPendingQueue, TasksPendingQueue; +var init_tasks_pending_queue = __esm({ + "src/lib/runners/tasks-pending-queue.ts"() { + init_git_error(); + init_git_logger(); + _TasksPendingQueue = class { + constructor(logLabel = "GitExecutor") { + this.logLabel = logLabel; + this._queue = /* @__PURE__ */ new Map(); + } + withProgress(task) { + return this._queue.get(task); + } + createProgress(task) { + const name = _TasksPendingQueue.getName(task.commands[0]); + const logger = createLogger(this.logLabel, name); + return { + task, + logger, + name + }; + } + push(task) { + const progress = this.createProgress(task); + progress.logger("Adding task to the queue, commands = %o", task.commands); + this._queue.set(task, progress); + return progress; + } + fatal(err) { + for (const [task, { logger }] of Array.from(this._queue.entries())) { + if (task === err.task) { + logger.info(`Failed %o`, err); + logger(`Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`); + } else { + logger.info(`A fatal exception occurred in a previous task, the queue has been purged: %o`, err.message); + } + this.complete(task); + } + if (this._queue.size !== 0) { + throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`); + } + } + complete(task) { + const progress = this.withProgress(task); + if (progress) { + this._queue.delete(task); + } + } + attempt(task) { + const progress = this.withProgress(task); + if (!progress) { + throw new GitError(void 0, "TasksPendingQueue: attempt called for an unknown task"); + } + progress.logger("Starting task"); + return progress; + } + static getName(name = "empty") { + return `task:${name}:${++_TasksPendingQueue.counter}`; + } + }; + TasksPendingQueue = _TasksPendingQueue; + TasksPendingQueue.counter = 0; + } +}); + +// src/lib/runners/git-executor-chain.ts +function pluginContext(task, commands) { + return { + method: first(task.commands) || "", + commands + }; +} +function onErrorReceived(target, logger) { + return (err) => { + logger(`[ERROR] child process exception %o`, err); + target.push(Buffer.from(String(err.stack), "ascii")); + }; +} +function onDataReceived(target, name, logger, output) { + return (buffer) => { + logger(`%s received %L bytes`, name, buffer); + output(`%B`, buffer); + target.push(buffer); + }; +} +var import_child_process, GitExecutorChain; +var init_git_executor_chain = __esm({ + "src/lib/runners/git-executor-chain.ts"() { + import_child_process = __webpack_require__(32081); + init_git_error(); + init_task(); + init_utils(); + init_tasks_pending_queue(); + GitExecutorChain = class { + constructor(_executor, _scheduler, _plugins) { + this._executor = _executor; + this._scheduler = _scheduler; + this._plugins = _plugins; + this._chain = Promise.resolve(); + this._queue = new TasksPendingQueue(); + } + get binary() { + return this._executor.binary; + } + get cwd() { + return this._cwd || this._executor.cwd; + } + set cwd(cwd) { + this._cwd = cwd; + } + get env() { + return this._executor.env; + } + get outputHandler() { + return this._executor.outputHandler; + } + chain() { + return this; + } + push(task) { + this._queue.push(task); + return this._chain = this._chain.then(() => this.attemptTask(task)); + } + attemptTask(task) { + return __async(this, null, function* () { + const onScheduleComplete = yield this._scheduler.next(); + const onQueueComplete = () => this._queue.complete(task); + try { + const { logger } = this._queue.attempt(task); + return yield isEmptyTask(task) ? this.attemptEmptyTask(task, logger) : this.attemptRemoteTask(task, logger); + } catch (e) { + throw this.onFatalException(task, e); + } finally { + onQueueComplete(); + onScheduleComplete(); + } + }); + } + onFatalException(task, e) { + const gitError = e instanceof GitError ? Object.assign(e, { task }) : new GitError(task, e && String(e)); + this._chain = Promise.resolve(); + this._queue.fatal(gitError); + return gitError; + } + attemptRemoteTask(task, logger) { + return __async(this, null, function* () { + const args = this._plugins.exec("spawn.args", [...task.commands], pluginContext(task, task.commands)); + const raw = yield this.gitResponse(task, this.binary, args, this.outputHandler, logger.step("SPAWN")); + const outputStreams = yield this.handleTaskData(task, args, raw, logger.step("HANDLE")); + logger(`passing response to task's parser as a %s`, task.format); + if (isBufferTask(task)) { + return callTaskParser(task.parser, outputStreams); + } + return callTaskParser(task.parser, outputStreams.asStrings()); + }); + } + attemptEmptyTask(task, logger) { + return __async(this, null, function* () { + logger(`empty task bypassing child process to call to task's parser`); + return task.parser(this); + }); + } + handleTaskData(task, args, result, logger) { + const { exitCode, rejection, stdOut, stdErr } = result; + return new Promise((done, fail) => { + logger(`Preparing to handle process response exitCode=%d stdOut=`, exitCode); + const { error } = this._plugins.exec("task.error", { error: rejection }, __spreadValues(__spreadValues({}, pluginContext(task, args)), result)); + if (error && task.onError) { + logger.info(`exitCode=%s handling with custom error handler`); + return task.onError(result, error, (newStdOut) => { + logger.info(`custom error handler treated as success`); + logger(`custom error returned a %s`, objectToString(newStdOut)); + done(new GitOutputStreams(Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut, Buffer.concat(stdErr))); + }, fail); + } + if (error) { + logger.info(`handling as error: exitCode=%s stdErr=%s rejection=%o`, exitCode, stdErr.length, rejection); + return fail(error); + } + logger.info(`retrieving task output complete`); + done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr))); + }); + } + gitResponse(task, command, args, outputHandler, logger) { + return __async(this, null, function* () { + const outputLogger = logger.sibling("output"); + const spawnOptions = this._plugins.exec("spawn.options", { + cwd: this.cwd, + env: this.env, + windowsHide: true + }, pluginContext(task, task.commands)); + return new Promise((done) => { + const stdOut = []; + const stdErr = []; + logger.info(`%s %o`, command, args); + logger("%O", spawnOptions); + let rejection = this._beforeSpawn(task, args); + if (rejection) { + return done({ + stdOut, + stdErr, + exitCode: 9901, + rejection + }); + } + this._plugins.exec("spawn.before", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), { + kill(reason) { + rejection = reason || rejection; + } + })); + const spawned = (0, import_child_process.spawn)(command, args, spawnOptions); + spawned.stdout.on("data", onDataReceived(stdOut, "stdOut", logger, outputLogger.step("stdOut"))); + spawned.stderr.on("data", onDataReceived(stdErr, "stdErr", logger, outputLogger.step("stdErr"))); + spawned.on("error", onErrorReceived(stdErr, logger)); + if (outputHandler) { + logger(`Passing child process stdOut/stdErr to custom outputHandler`); + outputHandler(command, spawned.stdout, spawned.stderr, [...args]); + } + this._plugins.exec("spawn.after", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), { + spawned, + close(exitCode, reason) { + done({ + stdOut, + stdErr, + exitCode, + rejection: rejection || reason + }); + }, + kill(reason) { + if (spawned.killed) { + return; + } + rejection = reason; + spawned.kill("SIGINT"); + } + })); + }); + }); + } + _beforeSpawn(task, args) { + let rejection; + this._plugins.exec("spawn.before", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), { + kill(reason) { + rejection = reason || rejection; + } + })); + return rejection; + } + }; + } +}); + +// src/lib/runners/git-executor.ts +var git_executor_exports = {}; +__export(git_executor_exports, { + GitExecutor: () => GitExecutor +}); +var GitExecutor; +var init_git_executor = __esm({ + "src/lib/runners/git-executor.ts"() { + init_git_executor_chain(); + GitExecutor = class { + constructor(binary = "git", cwd, _scheduler, _plugins) { + this.binary = binary; + this.cwd = cwd; + this._scheduler = _scheduler; + this._plugins = _plugins; + this._chain = new GitExecutorChain(this, this._scheduler, this._plugins); + } + chain() { + return new GitExecutorChain(this, this._scheduler, this._plugins); + } + push(task) { + return this._chain.push(task); + } + }; + } +}); + +// src/lib/task-callback.ts +function taskCallback(task, response, callback = NOOP) { + const onSuccess = (data) => { + callback(null, data); + }; + const onError2 = (err) => { + if ((err == null ? void 0 : err.task) === task) { + callback(err instanceof GitResponseError ? addDeprecationNoticeToError(err) : err, void 0); + } + }; + response.then(onSuccess, onError2); +} +function addDeprecationNoticeToError(err) { + let log = (name) => { + console.warn(`simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}, this will no longer be available in version 3`); + log = NOOP; + }; + return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {})); + function descriptorReducer(all, name) { + if (name in err) { + return all; + } + all[name] = { + enumerable: false, + configurable: false, + get() { + log(name); + return err.git[name]; + } + }; + return all; + } +} +var init_task_callback = __esm({ + "src/lib/task-callback.ts"() { + init_git_response_error(); + init_utils(); + } +}); + +// src/lib/tasks/change-working-directory.ts +function changeWorkingDirectoryTask(directory, root) { + return adhocExecTask((instance) => { + if (!folderExists(directory)) { + throw new Error(`Git.cwd: cannot change to non-directory "${directory}"`); + } + return (root || instance).cwd = directory; + }); +} +var init_change_working_directory = __esm({ + "src/lib/tasks/change-working-directory.ts"() { + init_utils(); + init_task(); + } +}); + +// src/lib/tasks/checkout.ts +function checkoutTask(args) { + const commands = ["checkout", ...args]; + if (commands[1] === "-b" && commands.includes("-B")) { + commands[1] = remove(commands, "-B"); + } + return straightThroughStringTask(commands); +} +function checkout_default() { + return { + checkout() { + return this._runTask(checkoutTask(getTrailingOptions(arguments, 1)), trailingFunctionArgument(arguments)); + }, + checkoutBranch(branchName, startPoint) { + return this._runTask(checkoutTask(["-b", branchName, startPoint, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + }, + checkoutLocalBranch(branchName) { + return this._runTask(checkoutTask(["-b", branchName, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + } + }; +} +var init_checkout = __esm({ + "src/lib/tasks/checkout.ts"() { + init_utils(); + init_task(); + } +}); + +// src/lib/parsers/parse-commit.ts +function parseCommitResult(stdOut) { + const result = { + author: null, + branch: "", + commit: "", + root: false, + summary: { + changes: 0, + insertions: 0, + deletions: 0 + } + }; + return parseStringResponse(result, parsers, stdOut); +} +var parsers; +var init_parse_commit = __esm({ + "src/lib/parsers/parse-commit.ts"() { + init_utils(); + parsers = [ + new LineParser(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/, (result, [branch, root, commit]) => { + result.branch = branch; + result.commit = commit; + result.root = !!root; + }), + new LineParser(/\s*Author:\s(.+)/i, (result, [author]) => { + const parts = author.split("<"); + const email = parts.pop(); + if (!email || !email.includes("@")) { + return; + } + result.author = { + email: email.substr(0, email.length - 1), + name: parts.join("<").trim() + }; + }), + new LineParser(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g, (result, [changes, insertions, deletions]) => { + result.summary.changes = parseInt(changes, 10) || 0; + result.summary.insertions = parseInt(insertions, 10) || 0; + result.summary.deletions = parseInt(deletions, 10) || 0; + }), + new LineParser(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/, (result, [changes, lines, direction]) => { + result.summary.changes = parseInt(changes, 10) || 0; + const count = parseInt(lines, 10) || 0; + if (direction === "-") { + result.summary.deletions = count; + } else if (direction === "+") { + result.summary.insertions = count; + } + }) + ]; + } +}); + +// src/lib/tasks/commit.ts +function commitTask(message, files, customArgs) { + const commands = [ + "-c", + "core.abbrev=40", + "commit", + ...prefixedArray(message, "-m"), + ...files, + ...customArgs + ]; + return { + commands, + format: "utf-8", + parser: parseCommitResult + }; +} +function commit_default() { + return { + commit(message, ...rest) { + const next = trailingFunctionArgument(arguments); + const task = rejectDeprecatedSignatures(message) || commitTask(asArray(message), asArray(filterType(rest[0], filterStringOrStringArray, [])), [...filterType(rest[1], filterArray, []), ...getTrailingOptions(arguments, 0, true)]); + return this._runTask(task, next); + } + }; + function rejectDeprecatedSignatures(message) { + return !filterStringOrStringArray(message) && configurationErrorTask(`git.commit: requires the commit message to be supplied as a string/string[]`); + } +} +var init_commit = __esm({ + "src/lib/tasks/commit.ts"() { + init_parse_commit(); + init_utils(); + init_task(); + } +}); + +// src/lib/tasks/hash-object.ts +function hashObjectTask(filePath, write) { + const commands = ["hash-object", filePath]; + if (write) { + commands.push("-w"); + } + return straightThroughStringTask(commands, true); +} +var init_hash_object = __esm({ + "src/lib/tasks/hash-object.ts"() { + init_task(); + } +}); + +// src/lib/responses/InitSummary.ts +function parseInit(bare, path, text) { + const response = String(text).trim(); + let result; + if (result = initResponseRegex.exec(response)) { + return new InitSummary(bare, path, false, result[1]); + } + if (result = reInitResponseRegex.exec(response)) { + return new InitSummary(bare, path, true, result[1]); + } + let gitDir = ""; + const tokens = response.split(" "); + while (tokens.length) { + const token = tokens.shift(); + if (token === "in") { + gitDir = tokens.join(" "); + break; + } + } + return new InitSummary(bare, path, /^re/i.test(response), gitDir); +} +var InitSummary, initResponseRegex, reInitResponseRegex; +var init_InitSummary = __esm({ + "src/lib/responses/InitSummary.ts"() { + InitSummary = class { + constructor(bare, path, existing, gitDir) { + this.bare = bare; + this.path = path; + this.existing = existing; + this.gitDir = gitDir; + } + }; + initResponseRegex = /^Init.+ repository in (.+)$/; + reInitResponseRegex = /^Rein.+ in (.+)$/; + } +}); + +// src/lib/tasks/init.ts +function hasBareCommand(command) { + return command.includes(bareCommand); +} +function initTask(bare = false, path, customArgs) { + const commands = ["init", ...customArgs]; + if (bare && !hasBareCommand(commands)) { + commands.splice(1, 0, bareCommand); + } + return { + commands, + format: "utf-8", + parser(text) { + return parseInit(commands.includes("--bare"), path, text); + } + }; +} +var bareCommand; +var init_init = __esm({ + "src/lib/tasks/init.ts"() { + init_InitSummary(); + bareCommand = "--bare"; + } +}); + +// src/lib/args/log-format.ts +function logFormatFromCommand(customArgs) { + for (let i = 0; i < customArgs.length; i++) { + const format = logFormatRegex.exec(customArgs[i]); + if (format) { + return `--${format[1]}`; + } + } + return "" /* NONE */; +} +function isLogFormat(customArg) { + return logFormatRegex.test(customArg); +} +var logFormatRegex; +var init_log_format = __esm({ + "src/lib/args/log-format.ts"() { + logFormatRegex = /^--(stat|numstat|name-only|name-status)(=|$)/; + } +}); + +// src/lib/responses/DiffSummary.ts +var DiffSummary; +var init_DiffSummary = __esm({ + "src/lib/responses/DiffSummary.ts"() { + DiffSummary = class { + constructor() { + this.changed = 0; + this.deletions = 0; + this.insertions = 0; + this.files = []; + } + }; + } +}); + +// src/lib/parsers/parse-diff-summary.ts +function getDiffParser(format = "" /* NONE */) { + const parser3 = diffSummaryParsers[format]; + return (stdOut) => parseStringResponse(new DiffSummary(), parser3, stdOut, false); +} +var statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers; +var init_parse_diff_summary = __esm({ + "src/lib/parsers/parse-diff-summary.ts"() { + init_log_format(); + init_DiffSummary(); + init_utils(); + statParser = [ + new LineParser(/(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/, (result, [file, changes, alterations = ""]) => { + result.files.push({ + file: file.trim(), + changes: asNumber(changes), + insertions: alterations.replace(/[^+]/g, "").length, + deletions: alterations.replace(/[^-]/g, "").length, + binary: false + }); + }), + new LineParser(/(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/, (result, [file, before, after]) => { + result.files.push({ + file: file.trim(), + before: asNumber(before), + after: asNumber(after), + binary: true + }); + }), + new LineParser(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/, (result, [changed, summary]) => { + const inserted = /(\d+) i/.exec(summary); + const deleted = /(\d+) d/.exec(summary); + result.changed = asNumber(changed); + result.insertions = asNumber(inserted == null ? void 0 : inserted[1]); + result.deletions = asNumber(deleted == null ? void 0 : deleted[1]); + }) + ]; + numStatParser = [ + new LineParser(/(\d+)\t(\d+)\t(.+)$/, (result, [changesInsert, changesDelete, file]) => { + const insertions = asNumber(changesInsert); + const deletions = asNumber(changesDelete); + result.changed++; + result.insertions += insertions; + result.deletions += deletions; + result.files.push({ + file, + changes: insertions + deletions, + insertions, + deletions, + binary: false + }); + }), + new LineParser(/-\t-\t(.+)$/, (result, [file]) => { + result.changed++; + result.files.push({ + file, + after: 0, + before: 0, + binary: true + }); + }) + ]; + nameOnlyParser = [ + new LineParser(/(.+)$/, (result, [file]) => { + result.changed++; + result.files.push({ + file, + changes: 0, + insertions: 0, + deletions: 0, + binary: false + }); + }) + ]; + nameStatusParser = [ + new LineParser(/([ACDMRTUXB])\s*(.+)$/, (result, [_status, file]) => { + result.changed++; + result.files.push({ + file, + changes: 0, + insertions: 0, + deletions: 0, + binary: false + }); + }) + ]; + diffSummaryParsers = { + ["" /* NONE */]: statParser, + ["--stat" /* STAT */]: statParser, + ["--numstat" /* NUM_STAT */]: numStatParser, + ["--name-status" /* NAME_STATUS */]: nameStatusParser, + ["--name-only" /* NAME_ONLY */]: nameOnlyParser + }; + } +}); + +// src/lib/parsers/parse-list-log-summary.ts +function lineBuilder(tokens, fields) { + return fields.reduce((line, field, index) => { + line[field] = tokens[index] || ""; + return line; + }, /* @__PURE__ */ Object.create({ diff: null })); +} +function createListLogSummaryParser(splitter = SPLITTER, fields = defaultFieldNames, logFormat = "" /* NONE */) { + const parseDiffResult = getDiffParser(logFormat); + return function(stdOut) { + const all = toLinesWithContent(stdOut, true, START_BOUNDARY).map(function(item) { + const lineDetail = item.trim().split(COMMIT_BOUNDARY); + const listLogLine = lineBuilder(lineDetail[0].trim().split(splitter), fields); + if (lineDetail.length > 1 && !!lineDetail[1].trim()) { + listLogLine.diff = parseDiffResult(lineDetail[1]); + } + return listLogLine; + }); + return { + all, + latest: all.length && all[0] || null, + total: all.length + }; + }; +} +var START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames; +var init_parse_list_log_summary = __esm({ + "src/lib/parsers/parse-list-log-summary.ts"() { + init_utils(); + init_parse_diff_summary(); + init_log_format(); + START_BOUNDARY = "\xF2\xF2\xF2\xF2\xF2\xF2 "; + COMMIT_BOUNDARY = " \xF2\xF2"; + SPLITTER = " \xF2 "; + defaultFieldNames = ["hash", "date", "message", "refs", "author_name", "author_email"]; + } +}); + +// src/lib/tasks/diff.ts +var diff_exports = {}; +__export(diff_exports, { + diffSummaryTask: () => diffSummaryTask, + validateLogFormatConfig: () => validateLogFormatConfig +}); +function diffSummaryTask(customArgs) { + let logFormat = logFormatFromCommand(customArgs); + const commands = ["diff"]; + if (logFormat === "" /* NONE */) { + logFormat = "--stat" /* STAT */; + commands.push("--stat=4096"); + } + commands.push(...customArgs); + return validateLogFormatConfig(commands) || { + commands, + format: "utf-8", + parser: getDiffParser(logFormat) + }; +} +function validateLogFormatConfig(customArgs) { + const flags = customArgs.filter(isLogFormat); + if (flags.length > 1) { + return configurationErrorTask(`Summary flags are mutually exclusive - pick one of ${flags.join(",")}`); + } + if (flags.length && customArgs.includes("-z")) { + return configurationErrorTask(`Summary flag ${flags} parsing is not compatible with null termination option '-z'`); + } +} +var init_diff = __esm({ + "src/lib/tasks/diff.ts"() { + init_log_format(); + init_parse_diff_summary(); + init_task(); + } +}); + +// src/lib/tasks/log.ts +function prettyFormat(format, splitter) { + const fields = []; + const formatStr = []; + Object.keys(format).forEach((field) => { + fields.push(field); + formatStr.push(String(format[field])); + }); + return [fields, formatStr.join(splitter)]; +} +function userOptions(input) { + return Object.keys(input).reduce((out, key) => { + if (!(key in excludeOptions)) { + out[key] = input[key]; + } + return out; + }, {}); +} +function parseLogOptions(opt = {}, customArgs = []) { + const splitter = filterType(opt.splitter, filterString, SPLITTER); + const format = !filterPrimitives(opt.format) && opt.format ? opt.format : { + hash: "%H", + date: opt.strictDate === false ? "%ai" : "%aI", + message: "%s", + refs: "%D", + body: opt.multiLine ? "%B" : "%b", + author_name: opt.mailMap !== false ? "%aN" : "%an", + author_email: opt.mailMap !== false ? "%aE" : "%ae" + }; + const [fields, formatStr] = prettyFormat(format, splitter); + const suffix = []; + const command = [ + `--pretty=format:${START_BOUNDARY}${formatStr}${COMMIT_BOUNDARY}`, + ...customArgs + ]; + const maxCount = opt.n || opt["max-count"] || opt.maxCount; + if (maxCount) { + command.push(`--max-count=${maxCount}`); + } + if (opt.from || opt.to) { + const rangeOperator = opt.symmetric !== false ? "..." : ".."; + suffix.push(`${opt.from || ""}${rangeOperator}${opt.to || ""}`); + } + if (filterString(opt.file)) { + command.push("--follow", pathspec(opt.file)); + } + appendTaskOptions(userOptions(opt), command); + return { + fields, + splitter, + commands: [...command, ...suffix] + }; +} +function logTask(splitter, fields, customArgs) { + const parser3 = createListLogSummaryParser(splitter, fields, logFormatFromCommand(customArgs)); + return { + commands: ["log", ...customArgs], + format: "utf-8", + parser: parser3 + }; +} +function log_default() { + return { + log(...rest) { + const next = trailingFunctionArgument(arguments); + const options = parseLogOptions(trailingOptionsArgument(arguments), filterType(arguments[0], filterArray)); + const task = rejectDeprecatedSignatures(...rest) || validateLogFormatConfig(options.commands) || createLogTask(options); + return this._runTask(task, next); + } + }; + function createLogTask(options) { + return logTask(options.splitter, options.fields, options.commands); + } + function rejectDeprecatedSignatures(from, to) { + return filterString(from) && filterString(to) && configurationErrorTask(`git.log(string, string) should be replaced with git.log({ from: string, to: string })`); + } +} +var excludeOptions; +var init_log = __esm({ + "src/lib/tasks/log.ts"() { + init_log_format(); + init_pathspec(); + init_parse_list_log_summary(); + init_utils(); + init_task(); + init_diff(); + excludeOptions = /* @__PURE__ */ ((excludeOptions2) => { + excludeOptions2[excludeOptions2["--pretty"] = 0] = "--pretty"; + excludeOptions2[excludeOptions2["max-count"] = 1] = "max-count"; + excludeOptions2[excludeOptions2["maxCount"] = 2] = "maxCount"; + excludeOptions2[excludeOptions2["n"] = 3] = "n"; + excludeOptions2[excludeOptions2["file"] = 4] = "file"; + excludeOptions2[excludeOptions2["format"] = 5] = "format"; + excludeOptions2[excludeOptions2["from"] = 6] = "from"; + excludeOptions2[excludeOptions2["to"] = 7] = "to"; + excludeOptions2[excludeOptions2["splitter"] = 8] = "splitter"; + excludeOptions2[excludeOptions2["symmetric"] = 9] = "symmetric"; + excludeOptions2[excludeOptions2["mailMap"] = 10] = "mailMap"; + excludeOptions2[excludeOptions2["multiLine"] = 11] = "multiLine"; + excludeOptions2[excludeOptions2["strictDate"] = 12] = "strictDate"; + return excludeOptions2; + })(excludeOptions || {}); + } +}); + +// src/lib/responses/MergeSummary.ts +var MergeSummaryConflict, MergeSummaryDetail; +var init_MergeSummary = __esm({ + "src/lib/responses/MergeSummary.ts"() { + MergeSummaryConflict = class { + constructor(reason, file = null, meta) { + this.reason = reason; + this.file = file; + this.meta = meta; + } + toString() { + return `${this.file}:${this.reason}`; + } + }; + MergeSummaryDetail = class { + constructor() { + this.conflicts = []; + this.merges = []; + this.result = "success"; + } + get failed() { + return this.conflicts.length > 0; + } + get reason() { + return this.result; + } + toString() { + if (this.conflicts.length) { + return `CONFLICTS: ${this.conflicts.join(", ")}`; + } + return "OK"; + } + }; + } +}); + +// src/lib/responses/PullSummary.ts +var PullSummary, PullFailedSummary; +var init_PullSummary = __esm({ + "src/lib/responses/PullSummary.ts"() { + PullSummary = class { + constructor() { + this.remoteMessages = { + all: [] + }; + this.created = []; + this.deleted = []; + this.files = []; + this.deletions = {}; + this.insertions = {}; + this.summary = { + changes: 0, + deletions: 0, + insertions: 0 + }; + } + }; + PullFailedSummary = class { + constructor() { + this.remote = ""; + this.hash = { + local: "", + remote: "" + }; + this.branch = { + local: "", + remote: "" + }; + this.message = ""; + } + toString() { + return this.message; + } + }; + } +}); + +// src/lib/parsers/parse-remote-objects.ts +function objectEnumerationResult(remoteMessages) { + return remoteMessages.objects = remoteMessages.objects || { + compressing: 0, + counting: 0, + enumerating: 0, + packReused: 0, + reused: { count: 0, delta: 0 }, + total: { count: 0, delta: 0 } + }; +} +function asObjectCount(source) { + const count = /^\s*(\d+)/.exec(source); + const delta = /delta (\d+)/i.exec(source); + return { + count: asNumber(count && count[1] || "0"), + delta: asNumber(delta && delta[1] || "0") + }; +} +var remoteMessagesObjectParsers; +var init_parse_remote_objects = __esm({ + "src/lib/parsers/parse-remote-objects.ts"() { + init_utils(); + remoteMessagesObjectParsers = [ + new RemoteLineParser(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i, (result, [action, count]) => { + const key = action.toLowerCase(); + const enumeration = objectEnumerationResult(result.remoteMessages); + Object.assign(enumeration, { [key]: asNumber(count) }); + }), + new RemoteLineParser(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i, (result, [action, count]) => { + const key = action.toLowerCase(); + const enumeration = objectEnumerationResult(result.remoteMessages); + Object.assign(enumeration, { [key]: asNumber(count) }); + }), + new RemoteLineParser(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i, (result, [total, reused, packReused]) => { + const objects = objectEnumerationResult(result.remoteMessages); + objects.total = asObjectCount(total); + objects.reused = asObjectCount(reused); + objects.packReused = asNumber(packReused); + }) + ]; + } +}); + +// src/lib/parsers/parse-remote-messages.ts +function parseRemoteMessages(_stdOut, stdErr) { + return parseStringResponse({ remoteMessages: new RemoteMessageSummary() }, parsers2, stdErr); +} +var parsers2, RemoteMessageSummary; +var init_parse_remote_messages = __esm({ + "src/lib/parsers/parse-remote-messages.ts"() { + init_utils(); + init_parse_remote_objects(); + parsers2 = [ + new RemoteLineParser(/^remote:\s*(.+)$/, (result, [text]) => { + result.remoteMessages.all.push(text.trim()); + return false; + }), + ...remoteMessagesObjectParsers, + new RemoteLineParser([/create a (?:pull|merge) request/i, /\s(https?:\/\/\S+)$/], (result, [pullRequestUrl]) => { + result.remoteMessages.pullRequestUrl = pullRequestUrl; + }), + new RemoteLineParser([/found (\d+) vulnerabilities.+\(([^)]+)\)/i, /\s(https?:\/\/\S+)$/], (result, [count, summary, url]) => { + result.remoteMessages.vulnerabilities = { + count: asNumber(count), + summary, + url + }; + }) + ]; + RemoteMessageSummary = class { + constructor() { + this.all = []; + } + }; + } +}); + +// src/lib/parsers/parse-pull.ts +function parsePullErrorResult(stdOut, stdErr) { + const pullError = parseStringResponse(new PullFailedSummary(), errorParsers, [stdOut, stdErr]); + return pullError.message && pullError; +} +var FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult; +var init_parse_pull = __esm({ + "src/lib/parsers/parse-pull.ts"() { + init_PullSummary(); + init_utils(); + init_parse_remote_messages(); + FILE_UPDATE_REGEX = /^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/; + SUMMARY_REGEX = /(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/; + ACTION_REGEX = /^(create|delete) mode \d+ (.+)/; + parsers3 = [ + new LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => { + result.files.push(file); + if (insertions) { + result.insertions[file] = insertions.length; + } + if (deletions) { + result.deletions[file] = deletions.length; + } + }), + new LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => { + if (insertions !== void 0 || deletions !== void 0) { + result.summary.changes = +changes || 0; + result.summary.insertions = +insertions || 0; + result.summary.deletions = +deletions || 0; + return true; + } + return false; + }), + new LineParser(ACTION_REGEX, (result, [action, file]) => { + append(result.files, file); + append(action === "create" ? result.created : result.deleted, file); + }) + ]; + errorParsers = [ + new LineParser(/^from\s(.+)$/i, (result, [remote]) => void (result.remote = remote)), + new LineParser(/^fatal:\s(.+)$/, (result, [message]) => void (result.message = message)), + new LineParser(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/, (result, [hashLocal, hashRemote, branchLocal, branchRemote]) => { + result.branch.local = branchLocal; + result.hash.local = hashLocal; + result.branch.remote = branchRemote; + result.hash.remote = hashRemote; + }) + ]; + parsePullDetail = (stdOut, stdErr) => { + return parseStringResponse(new PullSummary(), parsers3, [stdOut, stdErr]); + }; + parsePullResult = (stdOut, stdErr) => { + return Object.assign(new PullSummary(), parsePullDetail(stdOut, stdErr), parseRemoteMessages(stdOut, stdErr)); + }; + } +}); + +// src/lib/parsers/parse-merge.ts +var parsers4, parseMergeResult, parseMergeDetail; +var init_parse_merge = __esm({ + "src/lib/parsers/parse-merge.ts"() { + init_MergeSummary(); + init_utils(); + init_parse_pull(); + parsers4 = [ + new LineParser(/^Auto-merging\s+(.+)$/, (summary, [autoMerge]) => { + summary.merges.push(autoMerge); + }), + new LineParser(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/, (summary, [reason, file]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, file)); + }), + new LineParser(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/, (summary, [reason, file, deleteRef]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, file, { deleteRef })); + }), + new LineParser(/^CONFLICT\s+\((.+)\):/, (summary, [reason]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, null)); + }), + new LineParser(/^Automatic merge failed;\s+(.+)$/, (summary, [result]) => { + summary.result = result; + }) + ]; + parseMergeResult = (stdOut, stdErr) => { + return Object.assign(parseMergeDetail(stdOut, stdErr), parsePullResult(stdOut, stdErr)); + }; + parseMergeDetail = (stdOut) => { + return parseStringResponse(new MergeSummaryDetail(), parsers4, stdOut); + }; + } +}); + +// src/lib/tasks/merge.ts +function mergeTask(customArgs) { + if (!customArgs.length) { + return configurationErrorTask("Git.merge requires at least one option"); + } + return { + commands: ["merge", ...customArgs], + format: "utf-8", + parser(stdOut, stdErr) { + const merge = parseMergeResult(stdOut, stdErr); + if (merge.failed) { + throw new GitResponseError(merge); + } + return merge; + } + }; +} +var init_merge = __esm({ + "src/lib/tasks/merge.ts"() { + init_git_response_error(); + init_parse_merge(); + init_task(); + } +}); + +// src/lib/parsers/parse-push.ts +function pushResultPushedItem(local, remote, status) { + const deleted = status.includes("deleted"); + const tag = status.includes("tag") || /^refs\/tags/.test(local); + const alreadyUpdated = !status.includes("new"); + return { + deleted, + tag, + branch: !tag, + new: !alreadyUpdated, + alreadyUpdated, + local, + remote + }; +} +var parsers5, parsePushResult, parsePushDetail; +var init_parse_push = __esm({ + "src/lib/parsers/parse-push.ts"() { + init_utils(); + init_parse_remote_messages(); + parsers5 = [ + new LineParser(/^Pushing to (.+)$/, (result, [repo]) => { + result.repo = repo; + }), + new LineParser(/^updating local tracking ref '(.+)'/, (result, [local]) => { + result.ref = __spreadProps(__spreadValues({}, result.ref || {}), { + local + }); + }), + new LineParser(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/, (result, [local, remote, type]) => { + result.pushed.push(pushResultPushedItem(local, remote, type)); + }), + new LineParser(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/, (result, [local, remote, remoteName]) => { + result.branch = __spreadProps(__spreadValues({}, result.branch || {}), { + local, + remote, + remoteName + }); + }), + new LineParser(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/, (result, [local, remote, from, to]) => { + result.update = { + head: { + local, + remote + }, + hash: { + from, + to + } + }; + }) + ]; + parsePushResult = (stdOut, stdErr) => { + const pushDetail = parsePushDetail(stdOut, stdErr); + const responseDetail = parseRemoteMessages(stdOut, stdErr); + return __spreadValues(__spreadValues({}, pushDetail), responseDetail); + }; + parsePushDetail = (stdOut, stdErr) => { + return parseStringResponse({ pushed: [] }, parsers5, [stdOut, stdErr]); + }; + } +}); + +// src/lib/tasks/push.ts +var push_exports = {}; +__export(push_exports, { + pushTagsTask: () => pushTagsTask, + pushTask: () => pushTask +}); +function pushTagsTask(ref = {}, customArgs) { + append(customArgs, "--tags"); + return pushTask(ref, customArgs); +} +function pushTask(ref = {}, customArgs) { + const commands = ["push", ...customArgs]; + if (ref.branch) { + commands.splice(1, 0, ref.branch); + } + if (ref.remote) { + commands.splice(1, 0, ref.remote); + } + remove(commands, "-v"); + append(commands, "--verbose"); + append(commands, "--porcelain"); + return { + commands, + format: "utf-8", + parser: parsePushResult + }; +} +var init_push = __esm({ + "src/lib/tasks/push.ts"() { + init_parse_push(); + init_utils(); + } +}); + +// src/lib/tasks/show.ts +function show_default() { + return { + showBuffer() { + const commands = ["show", ...getTrailingOptions(arguments, 1)]; + if (!commands.includes("--binary")) { + commands.splice(1, 0, "--binary"); + } + return this._runTask(straightThroughBufferTask(commands), trailingFunctionArgument(arguments)); + }, + show() { + const commands = ["show", ...getTrailingOptions(arguments, 1)]; + return this._runTask(straightThroughStringTask(commands), trailingFunctionArgument(arguments)); + } + }; +} +var init_show = __esm({ + "src/lib/tasks/show.ts"() { + init_utils(); + init_task(); + } +}); + +// src/lib/responses/FileStatusSummary.ts +var fromPathRegex, FileStatusSummary; +var init_FileStatusSummary = __esm({ + "src/lib/responses/FileStatusSummary.ts"() { + fromPathRegex = /^(.+) -> (.+)$/; + FileStatusSummary = class { + constructor(path, index, working_dir) { + this.path = path; + this.index = index; + this.working_dir = working_dir; + if (index + working_dir === "R") { + const detail = fromPathRegex.exec(path) || [null, path, path]; + this.from = detail[1] || ""; + this.path = detail[2] || ""; + } + } + }; + } +}); + +// src/lib/responses/StatusSummary.ts +function renamedFile(line) { + const [to, from] = line.split(NULL); + return { + from: from || to, + to + }; +} +function parser2(indexX, indexY, handler) { + return [`${indexX}${indexY}`, handler]; +} +function conflicts(indexX, ...indexY) { + return indexY.map((y) => parser2(indexX, y, (result, file) => append(result.conflicted, file))); +} +function splitLine(result, lineStr) { + const trimmed2 = lineStr.trim(); + switch (" ") { + case trimmed2.charAt(2): + return data(trimmed2.charAt(0), trimmed2.charAt(1), trimmed2.substr(3)); + case trimmed2.charAt(1): + return data(" " /* NONE */, trimmed2.charAt(0), trimmed2.substr(2)); + default: + return; + } + function data(index, workingDir, path) { + const raw = `${index}${workingDir}`; + const handler = parsers6.get(raw); + if (handler) { + handler(result, path); + } + if (raw !== "##" && raw !== "!!") { + result.files.push(new FileStatusSummary(path.replace(/\0.+$/, ""), index, workingDir)); + } + } +} +var StatusSummary, parsers6, parseStatusSummary; +var init_StatusSummary = __esm({ + "src/lib/responses/StatusSummary.ts"() { + init_utils(); + init_FileStatusSummary(); + StatusSummary = class { + constructor() { + this.not_added = []; + this.conflicted = []; + this.created = []; + this.deleted = []; + this.ignored = void 0; + this.modified = []; + this.renamed = []; + this.files = []; + this.staged = []; + this.ahead = 0; + this.behind = 0; + this.current = null; + this.tracking = null; + this.detached = false; + this.isClean = () => { + return !this.files.length; + }; + } + }; + parsers6 = new Map([ + parser2(" " /* NONE */, "A" /* ADDED */, (result, file) => append(result.created, file)), + parser2(" " /* NONE */, "D" /* DELETED */, (result, file) => append(result.deleted, file)), + parser2(" " /* NONE */, "M" /* MODIFIED */, (result, file) => append(result.modified, file)), + parser2("A" /* ADDED */, " " /* NONE */, (result, file) => append(result.created, file) && append(result.staged, file)), + parser2("A" /* ADDED */, "M" /* MODIFIED */, (result, file) => append(result.created, file) && append(result.staged, file) && append(result.modified, file)), + parser2("D" /* DELETED */, " " /* NONE */, (result, file) => append(result.deleted, file) && append(result.staged, file)), + parser2("M" /* MODIFIED */, " " /* NONE */, (result, file) => append(result.modified, file) && append(result.staged, file)), + parser2("M" /* MODIFIED */, "M" /* MODIFIED */, (result, file) => append(result.modified, file) && append(result.staged, file)), + parser2("R" /* RENAMED */, " " /* NONE */, (result, file) => { + append(result.renamed, renamedFile(file)); + }), + parser2("R" /* RENAMED */, "M" /* MODIFIED */, (result, file) => { + const renamed = renamedFile(file); + append(result.renamed, renamed); + append(result.modified, renamed.to); + }), + parser2("!" /* IGNORED */, "!" /* IGNORED */, (_result, _file) => { + append(_result.ignored = _result.ignored || [], _file); + }), + parser2("?" /* UNTRACKED */, "?" /* UNTRACKED */, (result, file) => append(result.not_added, file)), + ...conflicts("A" /* ADDED */, "A" /* ADDED */, "U" /* UNMERGED */), + ...conflicts("D" /* DELETED */, "D" /* DELETED */, "U" /* UNMERGED */), + ...conflicts("U" /* UNMERGED */, "A" /* ADDED */, "D" /* DELETED */, "U" /* UNMERGED */), + [ + "##", + (result, line) => { + const aheadReg = /ahead (\d+)/; + const behindReg = /behind (\d+)/; + const currentReg = /^(.+?(?=(?:\.{3}|\s|$)))/; + const trackingReg = /\.{3}(\S*)/; + const onEmptyBranchReg = /\son\s([\S]+)$/; + let regexResult; + regexResult = aheadReg.exec(line); + result.ahead = regexResult && +regexResult[1] || 0; + regexResult = behindReg.exec(line); + result.behind = regexResult && +regexResult[1] || 0; + regexResult = currentReg.exec(line); + result.current = regexResult && regexResult[1]; + regexResult = trackingReg.exec(line); + result.tracking = regexResult && regexResult[1]; + regexResult = onEmptyBranchReg.exec(line); + result.current = regexResult && regexResult[1] || result.current; + result.detached = /\(no branch\)/.test(line); + } + ] + ]); + parseStatusSummary = function(text) { + const lines = text.split(NULL); + const status = new StatusSummary(); + for (let i = 0, l = lines.length; i < l; ) { + let line = lines[i++].trim(); + if (!line) { + continue; + } + if (line.charAt(0) === "R" /* RENAMED */) { + line += NULL + (lines[i++] || ""); + } + splitLine(status, line); + } + return status; + }; + } +}); + +// src/lib/tasks/status.ts +function statusTask(customArgs) { + const commands = [ + "status", + "--porcelain", + "-b", + "-u", + "--null", + ...customArgs.filter((arg) => !ignoredOptions.includes(arg)) + ]; + return { + format: "utf-8", + commands, + parser(text) { + return parseStatusSummary(text); + } + }; +} +var ignoredOptions; +var init_status = __esm({ + "src/lib/tasks/status.ts"() { + init_StatusSummary(); + ignoredOptions = ["--null", "-z"]; + } +}); + +// src/lib/tasks/version.ts +function versionResponse(major = 0, minor = 0, patch = 0, agent = "", installed = true) { + return Object.defineProperty({ + major, + minor, + patch, + agent, + installed + }, "toString", { + value() { + return `${this.major}.${this.minor}.${this.patch}`; + }, + configurable: false, + enumerable: false + }); +} +function notInstalledResponse() { + return versionResponse(0, 0, 0, "", false); +} +function version_default() { + return { + version() { + return this._runTask({ + commands: ["--version"], + format: "utf-8", + parser: versionParser, + onError(result, error, done, fail) { + if (result.exitCode === -2 /* NOT_FOUND */) { + return done(Buffer.from(NOT_INSTALLED)); + } + fail(error); + } + }); + } + }; +} +function versionParser(stdOut) { + if (stdOut === NOT_INSTALLED) { + return notInstalledResponse(); + } + return parseStringResponse(versionResponse(0, 0, 0, stdOut), parsers7, stdOut); +} +var NOT_INSTALLED, parsers7; +var init_version = __esm({ + "src/lib/tasks/version.ts"() { + init_utils(); + NOT_INSTALLED = "installed=false"; + parsers7 = [ + new LineParser(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/, (result, [major, minor, patch, agent = ""]) => { + Object.assign(result, versionResponse(asNumber(major), asNumber(minor), asNumber(patch), agent)); + }), + new LineParser(/version (\d+)\.(\d+)\.(\D+)(.+)?$/, (result, [major, minor, patch, agent = ""]) => { + Object.assign(result, versionResponse(asNumber(major), asNumber(minor), patch, agent)); + }) + ]; + } +}); + +// src/lib/simple-git-api.ts +var simple_git_api_exports = {}; +__export(simple_git_api_exports, { + SimpleGitApi: () => SimpleGitApi +}); +var SimpleGitApi; +var init_simple_git_api = __esm({ + "src/lib/simple-git-api.ts"() { + init_task_callback(); + init_change_working_directory(); + init_checkout(); + init_commit(); + init_config(); + init_grep(); + init_hash_object(); + init_init(); + init_log(); + init_merge(); + init_push(); + init_show(); + init_status(); + init_task(); + init_version(); + init_utils(); + SimpleGitApi = class { + constructor(_executor) { + this._executor = _executor; + } + _runTask(task, then) { + const chain = this._executor.chain(); + const promise = chain.push(task); + if (then) { + taskCallback(task, promise, then); + } + return Object.create(this, { + then: { value: promise.then.bind(promise) }, + catch: { value: promise.catch.bind(promise) }, + _executor: { value: chain } + }); + } + add(files) { + return this._runTask(straightThroughStringTask(["add", ...asArray(files)]), trailingFunctionArgument(arguments)); + } + cwd(directory) { + const next = trailingFunctionArgument(arguments); + if (typeof directory === "string") { + return this._runTask(changeWorkingDirectoryTask(directory, this._executor), next); + } + if (typeof (directory == null ? void 0 : directory.path) === "string") { + return this._runTask(changeWorkingDirectoryTask(directory.path, directory.root && this._executor || void 0), next); + } + return this._runTask(configurationErrorTask("Git.cwd: workingDirectory must be supplied as a string"), next); + } + hashObject(path, write) { + return this._runTask(hashObjectTask(path, write === true), trailingFunctionArgument(arguments)); + } + init(bare) { + return this._runTask(initTask(bare === true, this._executor.cwd, getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + merge() { + return this._runTask(mergeTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + mergeFromTo(remote, branch) { + if (!(filterString(remote) && filterString(branch))) { + return this._runTask(configurationErrorTask(`Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`)); + } + return this._runTask(mergeTask([remote, branch, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments, false)); + } + outputHandler(handler) { + this._executor.outputHandler = handler; + return this; + } + push() { + const task = pushTask({ + remote: filterType(arguments[0], filterString), + branch: filterType(arguments[1], filterString) + }, getTrailingOptions(arguments)); + return this._runTask(task, trailingFunctionArgument(arguments)); + } + stash() { + return this._runTask(straightThroughStringTask(["stash", ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + } + status() { + return this._runTask(statusTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + }; + Object.assign(SimpleGitApi.prototype, checkout_default(), commit_default(), config_default(), grep_default(), log_default(), show_default(), version_default()); + } +}); + +// src/lib/runners/scheduler.ts +var scheduler_exports = {}; +__export(scheduler_exports, { + Scheduler: () => Scheduler +}); +var import_promise_deferred2, createScheduledTask, Scheduler; +var init_scheduler = __esm({ + "src/lib/runners/scheduler.ts"() { + init_utils(); + import_promise_deferred2 = __webpack_require__(9634); + init_git_logger(); + createScheduledTask = (() => { + let id = 0; + return () => { + id++; + const { promise, done } = (0, import_promise_deferred2.createDeferred)(); + return { + promise, + done, + id + }; + }; + })(); + Scheduler = class { + constructor(concurrency = 2) { + this.concurrency = concurrency; + this.logger = createLogger("", "scheduler"); + this.pending = []; + this.running = []; + this.logger(`Constructed, concurrency=%s`, concurrency); + } + schedule() { + if (!this.pending.length || this.running.length >= this.concurrency) { + this.logger(`Schedule attempt ignored, pending=%s running=%s concurrency=%s`, this.pending.length, this.running.length, this.concurrency); + return; + } + const task = append(this.running, this.pending.shift()); + this.logger(`Attempting id=%s`, task.id); + task.done(() => { + this.logger(`Completing id=`, task.id); + remove(this.running, task); + this.schedule(); + }); + } + next() { + const { promise, id } = append(this.pending, createScheduledTask()); + this.logger(`Scheduling id=%s`, id); + this.schedule(); + return promise; + } + }; + } +}); + +// src/lib/tasks/apply-patch.ts +var apply_patch_exports = {}; +__export(apply_patch_exports, { + applyPatchTask: () => applyPatchTask +}); +function applyPatchTask(patches, customArgs) { + return straightThroughStringTask(["apply", ...customArgs, ...patches]); +} +var init_apply_patch = __esm({ + "src/lib/tasks/apply-patch.ts"() { + init_task(); + } +}); + +// src/lib/responses/BranchDeleteSummary.ts +function branchDeletionSuccess(branch, hash) { + return { + branch, + hash, + success: true + }; +} +function branchDeletionFailure(branch) { + return { + branch, + hash: null, + success: false + }; +} +var BranchDeletionBatch; +var init_BranchDeleteSummary = __esm({ + "src/lib/responses/BranchDeleteSummary.ts"() { + BranchDeletionBatch = class { + constructor() { + this.all = []; + this.branches = {}; + this.errors = []; + } + get success() { + return !this.errors.length; + } + }; + } +}); + +// src/lib/parsers/parse-branch-delete.ts +function hasBranchDeletionError(data, processExitCode) { + return processExitCode === 1 /* ERROR */ && deleteErrorRegex.test(data); +} +var deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions; +var init_parse_branch_delete = __esm({ + "src/lib/parsers/parse-branch-delete.ts"() { + init_BranchDeleteSummary(); + init_utils(); + deleteSuccessRegex = /(\S+)\s+\(\S+\s([^)]+)\)/; + deleteErrorRegex = /^error[^']+'([^']+)'/m; + parsers8 = [ + new LineParser(deleteSuccessRegex, (result, [branch, hash]) => { + const deletion = branchDeletionSuccess(branch, hash); + result.all.push(deletion); + result.branches[branch] = deletion; + }), + new LineParser(deleteErrorRegex, (result, [branch]) => { + const deletion = branchDeletionFailure(branch); + result.errors.push(deletion); + result.all.push(deletion); + result.branches[branch] = deletion; + }) + ]; + parseBranchDeletions = (stdOut, stdErr) => { + return parseStringResponse(new BranchDeletionBatch(), parsers8, [stdOut, stdErr]); + }; + } +}); + +// src/lib/responses/BranchSummary.ts +var BranchSummaryResult; +var init_BranchSummary = __esm({ + "src/lib/responses/BranchSummary.ts"() { + BranchSummaryResult = class { + constructor() { + this.all = []; + this.branches = {}; + this.current = ""; + this.detached = false; + } + push(status, detached, name, commit, label) { + if (status === "*" /* CURRENT */) { + this.detached = detached; + this.current = name; + } + this.all.push(name); + this.branches[name] = { + current: status === "*" /* CURRENT */, + linkedWorkTree: status === "+" /* LINKED */, + name, + commit, + label + }; + } + }; + } +}); + +// src/lib/parsers/parse-branch.ts +function branchStatus(input) { + return input ? input.charAt(0) : ""; +} +function parseBranchSummary(stdOut) { + return parseStringResponse(new BranchSummaryResult(), parsers9, stdOut); +} +var parsers9; +var init_parse_branch = __esm({ + "src/lib/parsers/parse-branch.ts"() { + init_BranchSummary(); + init_utils(); + parsers9 = [ + new LineParser(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/, (result, [current, name, commit, label]) => { + result.push(branchStatus(current), true, name, commit, label); + }), + new LineParser(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s, (result, [current, name, commit, label]) => { + result.push(branchStatus(current), false, name, commit, label); + }) + ]; + } +}); + +// src/lib/tasks/branch.ts +var branch_exports = {}; +__export(branch_exports, { + branchLocalTask: () => branchLocalTask, + branchTask: () => branchTask, + containsDeleteBranchCommand: () => containsDeleteBranchCommand, + deleteBranchTask: () => deleteBranchTask, + deleteBranchesTask: () => deleteBranchesTask +}); +function containsDeleteBranchCommand(commands) { + const deleteCommands = ["-d", "-D", "--delete"]; + return commands.some((command) => deleteCommands.includes(command)); +} +function branchTask(customArgs) { + const isDelete = containsDeleteBranchCommand(customArgs); + const commands = ["branch", ...customArgs]; + if (commands.length === 1) { + commands.push("-a"); + } + if (!commands.includes("-v")) { + commands.splice(1, 0, "-v"); + } + return { + format: "utf-8", + commands, + parser(stdOut, stdErr) { + if (isDelete) { + return parseBranchDeletions(stdOut, stdErr).all[0]; + } + return parseBranchSummary(stdOut); + } + }; +} +function branchLocalTask() { + const parser3 = parseBranchSummary; + return { + format: "utf-8", + commands: ["branch", "-v"], + parser: parser3 + }; +} +function deleteBranchesTask(branches, forceDelete = false) { + return { + format: "utf-8", + commands: ["branch", "-v", forceDelete ? "-D" : "-d", ...branches], + parser(stdOut, stdErr) { + return parseBranchDeletions(stdOut, stdErr); + }, + onError({ exitCode, stdOut }, error, done, fail) { + if (!hasBranchDeletionError(String(error), exitCode)) { + return fail(error); + } + done(stdOut); + } + }; +} +function deleteBranchTask(branch, forceDelete = false) { + const task = { + format: "utf-8", + commands: ["branch", "-v", forceDelete ? "-D" : "-d", branch], + parser(stdOut, stdErr) { + return parseBranchDeletions(stdOut, stdErr).branches[branch]; + }, + onError({ exitCode, stdErr, stdOut }, error, _, fail) { + if (!hasBranchDeletionError(String(error), exitCode)) { + return fail(error); + } + throw new GitResponseError(task.parser(bufferToString(stdOut), bufferToString(stdErr)), String(error)); + } + }; + return task; +} +var init_branch = __esm({ + "src/lib/tasks/branch.ts"() { + init_git_response_error(); + init_parse_branch_delete(); + init_parse_branch(); + init_utils(); + } +}); + +// src/lib/responses/CheckIgnore.ts +var parseCheckIgnore; +var init_CheckIgnore = __esm({ + "src/lib/responses/CheckIgnore.ts"() { + parseCheckIgnore = (text) => { + return text.split(/\n/g).map((line) => line.trim()).filter((file) => !!file); + }; + } +}); + +// src/lib/tasks/check-ignore.ts +var check_ignore_exports = {}; +__export(check_ignore_exports, { + checkIgnoreTask: () => checkIgnoreTask +}); +function checkIgnoreTask(paths) { + return { + commands: ["check-ignore", ...paths], + format: "utf-8", + parser: parseCheckIgnore + }; +} +var init_check_ignore = __esm({ + "src/lib/tasks/check-ignore.ts"() { + init_CheckIgnore(); + } +}); + +// src/lib/tasks/clone.ts +var clone_exports = {}; +__export(clone_exports, { + cloneMirrorTask: () => cloneMirrorTask, + cloneTask: () => cloneTask +}); +function disallowedCommand(command) { + return /^--upload-pack(=|$)/.test(command); +} +function cloneTask(repo, directory, customArgs) { + const commands = ["clone", ...customArgs]; + filterString(repo) && commands.push(repo); + filterString(directory) && commands.push(directory); + const banned = commands.find(disallowedCommand); + if (banned) { + return configurationErrorTask(`git.fetch: potential exploit argument blocked.`); + } + return straightThroughStringTask(commands); +} +function cloneMirrorTask(repo, directory, customArgs) { + append(customArgs, "--mirror"); + return cloneTask(repo, directory, customArgs); +} +var init_clone = __esm({ + "src/lib/tasks/clone.ts"() { + init_task(); + init_utils(); + } +}); + +// src/lib/parsers/parse-fetch.ts +function parseFetchResult(stdOut, stdErr) { + const result = { + raw: stdOut, + remote: null, + branches: [], + tags: [], + updated: [], + deleted: [] + }; + return parseStringResponse(result, parsers10, [stdOut, stdErr]); +} +var parsers10; +var init_parse_fetch = __esm({ + "src/lib/parsers/parse-fetch.ts"() { + init_utils(); + parsers10 = [ + new LineParser(/From (.+)$/, (result, [remote]) => { + result.remote = remote; + }), + new LineParser(/\* \[new branch]\s+(\S+)\s*-> (.+)$/, (result, [name, tracking]) => { + result.branches.push({ + name, + tracking + }); + }), + new LineParser(/\* \[new tag]\s+(\S+)\s*-> (.+)$/, (result, [name, tracking]) => { + result.tags.push({ + name, + tracking + }); + }), + new LineParser(/- \[deleted]\s+\S+\s*-> (.+)$/, (result, [tracking]) => { + result.deleted.push({ + tracking + }); + }), + new LineParser(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/, (result, [from, to, name, tracking]) => { + result.updated.push({ + name, + tracking, + to, + from + }); + }) + ]; + } +}); + +// src/lib/tasks/fetch.ts +var fetch_exports = {}; +__export(fetch_exports, { + fetchTask: () => fetchTask +}); +function disallowedCommand2(command) { + return /^--upload-pack(=|$)/.test(command); +} +function fetchTask(remote, branch, customArgs) { + const commands = ["fetch", ...customArgs]; + if (remote && branch) { + commands.push(remote, branch); + } + const banned = commands.find(disallowedCommand2); + if (banned) { + return configurationErrorTask(`git.fetch: potential exploit argument blocked.`); + } + return { + commands, + format: "utf-8", + parser: parseFetchResult + }; +} +var init_fetch = __esm({ + "src/lib/tasks/fetch.ts"() { + init_parse_fetch(); + init_task(); + } +}); + +// src/lib/parsers/parse-move.ts +function parseMoveResult(stdOut) { + return parseStringResponse({ moves: [] }, parsers11, stdOut); +} +var parsers11; +var init_parse_move = __esm({ + "src/lib/parsers/parse-move.ts"() { + init_utils(); + parsers11 = [ + new LineParser(/^Renaming (.+) to (.+)$/, (result, [from, to]) => { + result.moves.push({ from, to }); + }) + ]; + } +}); + +// src/lib/tasks/move.ts +var move_exports = {}; +__export(move_exports, { + moveTask: () => moveTask +}); +function moveTask(from, to) { + return { + commands: ["mv", "-v", ...asArray(from), to], + format: "utf-8", + parser: parseMoveResult + }; +} +var init_move = __esm({ + "src/lib/tasks/move.ts"() { + init_parse_move(); + init_utils(); + } +}); + +// src/lib/tasks/pull.ts +var pull_exports = {}; +__export(pull_exports, { + pullTask: () => pullTask +}); +function pullTask(remote, branch, customArgs) { + const commands = ["pull", ...customArgs]; + if (remote && branch) { + commands.splice(1, 0, remote, branch); + } + return { + commands, + format: "utf-8", + parser(stdOut, stdErr) { + return parsePullResult(stdOut, stdErr); + }, + onError(result, _error, _done, fail) { + const pullError = parsePullErrorResult(bufferToString(result.stdOut), bufferToString(result.stdErr)); + if (pullError) { + return fail(new GitResponseError(pullError)); + } + fail(_error); + } + }; +} +var init_pull = __esm({ + "src/lib/tasks/pull.ts"() { + init_git_response_error(); + init_parse_pull(); + init_utils(); + } +}); + +// src/lib/responses/GetRemoteSummary.ts +function parseGetRemotes(text) { + const remotes = {}; + forEach(text, ([name]) => remotes[name] = { name }); + return Object.values(remotes); +} +function parseGetRemotesVerbose(text) { + const remotes = {}; + forEach(text, ([name, url, purpose]) => { + if (!remotes.hasOwnProperty(name)) { + remotes[name] = { + name, + refs: { fetch: "", push: "" } + }; + } + if (purpose && url) { + remotes[name].refs[purpose.replace(/[^a-z]/g, "")] = url; + } + }); + return Object.values(remotes); +} +function forEach(text, handler) { + forEachLineWithContent(text, (line) => handler(line.split(/\s+/))); +} +var init_GetRemoteSummary = __esm({ + "src/lib/responses/GetRemoteSummary.ts"() { + init_utils(); + } +}); + +// src/lib/tasks/remote.ts +var remote_exports = {}; +__export(remote_exports, { + addRemoteTask: () => addRemoteTask, + getRemotesTask: () => getRemotesTask, + listRemotesTask: () => listRemotesTask, + remoteTask: () => remoteTask, + removeRemoteTask: () => removeRemoteTask +}); +function addRemoteTask(remoteName, remoteRepo, customArgs = []) { + return straightThroughStringTask(["remote", "add", ...customArgs, remoteName, remoteRepo]); +} +function getRemotesTask(verbose) { + const commands = ["remote"]; + if (verbose) { + commands.push("-v"); + } + return { + commands, + format: "utf-8", + parser: verbose ? parseGetRemotesVerbose : parseGetRemotes + }; +} +function listRemotesTask(customArgs = []) { + const commands = [...customArgs]; + if (commands[0] !== "ls-remote") { + commands.unshift("ls-remote"); + } + return straightThroughStringTask(commands); +} +function remoteTask(customArgs = []) { + const commands = [...customArgs]; + if (commands[0] !== "remote") { + commands.unshift("remote"); + } + return straightThroughStringTask(commands); +} +function removeRemoteTask(remoteName) { + return straightThroughStringTask(["remote", "remove", remoteName]); +} +var init_remote = __esm({ + "src/lib/tasks/remote.ts"() { + init_GetRemoteSummary(); + init_task(); + } +}); + +// src/lib/tasks/stash-list.ts +var stash_list_exports = {}; +__export(stash_list_exports, { + stashListTask: () => stashListTask +}); +function stashListTask(opt = {}, customArgs) { + const options = parseLogOptions(opt); + const commands = ["stash", "list", ...options.commands, ...customArgs]; + const parser3 = createListLogSummaryParser(options.splitter, options.fields, logFormatFromCommand(commands)); + return validateLogFormatConfig(commands) || { + commands, + format: "utf-8", + parser: parser3 + }; +} +var init_stash_list = __esm({ + "src/lib/tasks/stash-list.ts"() { + init_log_format(); + init_parse_list_log_summary(); + init_diff(); + init_log(); + } +}); + +// src/lib/tasks/sub-module.ts +var sub_module_exports = {}; +__export(sub_module_exports, { + addSubModuleTask: () => addSubModuleTask, + initSubModuleTask: () => initSubModuleTask, + subModuleTask: () => subModuleTask, + updateSubModuleTask: () => updateSubModuleTask +}); +function addSubModuleTask(repo, path) { + return subModuleTask(["add", repo, path]); +} +function initSubModuleTask(customArgs) { + return subModuleTask(["init", ...customArgs]); +} +function subModuleTask(customArgs) { + const commands = [...customArgs]; + if (commands[0] !== "submodule") { + commands.unshift("submodule"); + } + return straightThroughStringTask(commands); +} +function updateSubModuleTask(customArgs) { + return subModuleTask(["update", ...customArgs]); +} +var init_sub_module = __esm({ + "src/lib/tasks/sub-module.ts"() { + init_task(); + } +}); + +// src/lib/responses/TagList.ts +function singleSorted(a, b) { + const aIsNum = isNaN(a); + const bIsNum = isNaN(b); + if (aIsNum !== bIsNum) { + return aIsNum ? 1 : -1; + } + return aIsNum ? sorted(a, b) : 0; +} +function sorted(a, b) { + return a === b ? 0 : a > b ? 1 : -1; +} +function trimmed(input) { + return input.trim(); +} +function toNumber(input) { + if (typeof input === "string") { + return parseInt(input.replace(/^\D+/g, ""), 10) || 0; + } + return 0; +} +var TagList, parseTagList; +var init_TagList = __esm({ + "src/lib/responses/TagList.ts"() { + TagList = class { + constructor(all, latest) { + this.all = all; + this.latest = latest; + } + }; + parseTagList = function(data, customSort = false) { + const tags = data.split("\n").map(trimmed).filter(Boolean); + if (!customSort) { + tags.sort(function(tagA, tagB) { + const partsA = tagA.split("."); + const partsB = tagB.split("."); + if (partsA.length === 1 || partsB.length === 1) { + return singleSorted(toNumber(partsA[0]), toNumber(partsB[0])); + } + for (let i = 0, l = Math.max(partsA.length, partsB.length); i < l; i++) { + const diff = sorted(toNumber(partsA[i]), toNumber(partsB[i])); + if (diff) { + return diff; + } + } + return 0; + }); + } + const latest = customSort ? tags[0] : [...tags].reverse().find((tag) => tag.indexOf(".") >= 0); + return new TagList(tags, latest); + }; + } +}); + +// src/lib/tasks/tag.ts +var tag_exports = {}; +__export(tag_exports, { + addAnnotatedTagTask: () => addAnnotatedTagTask, + addTagTask: () => addTagTask, + tagListTask: () => tagListTask +}); +function tagListTask(customArgs = []) { + const hasCustomSort = customArgs.some((option) => /^--sort=/.test(option)); + return { + format: "utf-8", + commands: ["tag", "-l", ...customArgs], + parser(text) { + return parseTagList(text, hasCustomSort); + } + }; +} +function addTagTask(name) { + return { + format: "utf-8", + commands: ["tag", name], + parser() { + return { name }; + } + }; +} +function addAnnotatedTagTask(name, tagMessage) { + return { + format: "utf-8", + commands: ["tag", "-a", "-m", tagMessage, name], + parser() { + return { name }; + } + }; +} +var init_tag = __esm({ + "src/lib/tasks/tag.ts"() { + init_TagList(); + } +}); + +// src/git.js +var require_git = __commonJS({ + "src/git.js"(exports2, module2) { + var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS(git_executor_exports)); + var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS(simple_git_api_exports)); + var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS(scheduler_exports)); + var { configurationErrorTask: configurationErrorTask2 } = (init_task(), __toCommonJS(task_exports)); + var { + asArray: asArray2, + filterArray: filterArray2, + filterPrimitives: filterPrimitives2, + filterString: filterString2, + filterStringOrStringArray: filterStringOrStringArray2, + filterType: filterType2, + getTrailingOptions: getTrailingOptions2, + trailingFunctionArgument: trailingFunctionArgument2, + trailingOptionsArgument: trailingOptionsArgument2 + } = (init_utils(), __toCommonJS(utils_exports)); + var { applyPatchTask: applyPatchTask2 } = (init_apply_patch(), __toCommonJS(apply_patch_exports)); + var { + branchTask: branchTask2, + branchLocalTask: branchLocalTask2, + deleteBranchesTask: deleteBranchesTask2, + deleteBranchTask: deleteBranchTask2 + } = (init_branch(), __toCommonJS(branch_exports)); + var { checkIgnoreTask: checkIgnoreTask2 } = (init_check_ignore(), __toCommonJS(check_ignore_exports)); + var { checkIsRepoTask: checkIsRepoTask2 } = (init_check_is_repo(), __toCommonJS(check_is_repo_exports)); + var { cloneTask: cloneTask2, cloneMirrorTask: cloneMirrorTask2 } = (init_clone(), __toCommonJS(clone_exports)); + var { cleanWithOptionsTask: cleanWithOptionsTask2, isCleanOptionsArray: isCleanOptionsArray2 } = (init_clean(), __toCommonJS(clean_exports)); + var { diffSummaryTask: diffSummaryTask2 } = (init_diff(), __toCommonJS(diff_exports)); + var { fetchTask: fetchTask2 } = (init_fetch(), __toCommonJS(fetch_exports)); + var { moveTask: moveTask2 } = (init_move(), __toCommonJS(move_exports)); + var { pullTask: pullTask2 } = (init_pull(), __toCommonJS(pull_exports)); + var { pushTagsTask: pushTagsTask2 } = (init_push(), __toCommonJS(push_exports)); + var { + addRemoteTask: addRemoteTask2, + getRemotesTask: getRemotesTask2, + listRemotesTask: listRemotesTask2, + remoteTask: remoteTask2, + removeRemoteTask: removeRemoteTask2 + } = (init_remote(), __toCommonJS(remote_exports)); + var { getResetMode: getResetMode2, resetTask: resetTask2 } = (init_reset(), __toCommonJS(reset_exports)); + var { stashListTask: stashListTask2 } = (init_stash_list(), __toCommonJS(stash_list_exports)); + var { + addSubModuleTask: addSubModuleTask2, + initSubModuleTask: initSubModuleTask2, + subModuleTask: subModuleTask2, + updateSubModuleTask: updateSubModuleTask2 + } = (init_sub_module(), __toCommonJS(sub_module_exports)); + var { addAnnotatedTagTask: addAnnotatedTagTask2, addTagTask: addTagTask2, tagListTask: tagListTask2 } = (init_tag(), __toCommonJS(tag_exports)); + var { straightThroughBufferTask: straightThroughBufferTask2, straightThroughStringTask: straightThroughStringTask2 } = (init_task(), __toCommonJS(task_exports)); + function Git2(options, plugins) { + this._executor = new GitExecutor2(options.binary, options.baseDir, new Scheduler2(options.maxConcurrentProcesses), plugins); + this._trimmed = options.trimmed; + } + (Git2.prototype = Object.create(SimpleGitApi2.prototype)).constructor = Git2; + Git2.prototype.customBinary = function(command) { + this._executor.binary = command; + return this; + }; + Git2.prototype.env = function(name, value) { + if (arguments.length === 1 && typeof name === "object") { + this._executor.env = name; + } else { + (this._executor.env = this._executor.env || {})[name] = value; + } + return this; + }; + Git2.prototype.stashList = function(options) { + return this._runTask(stashListTask2(trailingOptionsArgument2(arguments) || {}, filterArray2(options) && options || []), trailingFunctionArgument2(arguments)); + }; + function createCloneTask(api, task, repoPath, localPath) { + if (typeof repoPath !== "string") { + return configurationErrorTask2(`git.${api}() requires a string 'repoPath'`); + } + return task(repoPath, filterType2(localPath, filterString2), getTrailingOptions2(arguments)); + } + Git2.prototype.clone = function() { + return this._runTask(createCloneTask("clone", cloneTask2, ...arguments), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.mirror = function() { + return this._runTask(createCloneTask("mirror", cloneMirrorTask2, ...arguments), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.mv = function(from, to) { + return this._runTask(moveTask2(from, to), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkoutLatestTag = function(then) { + var git = this; + return this.pull(function() { + git.tags(function(err, tags) { + git.checkout(tags.latest, then); + }); + }); + }; + Git2.prototype.pull = function(remote, branch, options, then) { + return this._runTask(pullTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.fetch = function(remote, branch) { + return this._runTask(fetchTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.silent = function(silence) { + console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"); + return this; + }; + Git2.prototype.tags = function(options, then) { + return this._runTask(tagListTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rebase = function() { + return this._runTask(straightThroughStringTask2(["rebase", ...getTrailingOptions2(arguments)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.reset = function(mode) { + return this._runTask(resetTask2(getResetMode2(mode), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.revert = function(commit) { + const next = trailingFunctionArgument2(arguments); + if (typeof commit !== "string") { + return this._runTask(configurationErrorTask2("Commit must be a string"), next); + } + return this._runTask(straightThroughStringTask2(["revert", ...getTrailingOptions2(arguments, 0, true), commit]), next); + }; + Git2.prototype.addTag = function(name) { + const task = typeof name === "string" ? addTagTask2(name) : configurationErrorTask2("Git.addTag requires a tag name"); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.addAnnotatedTag = function(tagName, tagMessage) { + return this._runTask(addAnnotatedTagTask2(tagName, tagMessage), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.deleteLocalBranch = function(branchName, forceDelete, then) { + return this._runTask(deleteBranchTask2(branchName, typeof forceDelete === "boolean" ? forceDelete : false), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.deleteLocalBranches = function(branchNames, forceDelete, then) { + return this._runTask(deleteBranchesTask2(branchNames, typeof forceDelete === "boolean" ? forceDelete : false), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.branch = function(options, then) { + return this._runTask(branchTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.branchLocal = function(then) { + return this._runTask(branchLocalTask2(), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.raw = function(commands) { + const createRestCommands = !Array.isArray(commands); + const command = [].slice.call(createRestCommands ? arguments : commands, 0); + for (let i = 0; i < command.length && createRestCommands; i++) { + if (!filterPrimitives2(command[i])) { + command.splice(i, command.length - i); + break; + } + } + command.push(...getTrailingOptions2(arguments, 0, true)); + var next = trailingFunctionArgument2(arguments); + if (!command.length) { + return this._runTask(configurationErrorTask2("Raw: must supply one or more command to execute"), next); + } + return this._runTask(straightThroughStringTask2(command, this._trimmed), next); + }; + Git2.prototype.submoduleAdd = function(repo, path, then) { + return this._runTask(addSubModuleTask2(repo, path), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.submoduleUpdate = function(args, then) { + return this._runTask(updateSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.submoduleInit = function(args, then) { + return this._runTask(initSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.subModule = function(options, then) { + return this._runTask(subModuleTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.listRemote = function() { + return this._runTask(listRemotesTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.addRemote = function(remoteName, remoteRepo, then) { + return this._runTask(addRemoteTask2(remoteName, remoteRepo, getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.removeRemote = function(remoteName, then) { + return this._runTask(removeRemoteTask2(remoteName), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.getRemotes = function(verbose, then) { + return this._runTask(getRemotesTask2(verbose === true), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.remote = function(options, then) { + return this._runTask(remoteTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.tag = function(options, then) { + const command = getTrailingOptions2(arguments); + if (command[0] !== "tag") { + command.unshift("tag"); + } + return this._runTask(straightThroughStringTask2(command), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.updateServerInfo = function(then) { + return this._runTask(straightThroughStringTask2(["update-server-info"]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.pushTags = function(remote, then) { + const task = pushTagsTask2({ remote: filterType2(remote, filterString2) }, getTrailingOptions2(arguments)); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rm = function(files) { + return this._runTask(straightThroughStringTask2(["rm", "-f", ...asArray2(files)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rmKeepLocal = function(files) { + return this._runTask(straightThroughStringTask2(["rm", "--cached", ...asArray2(files)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.catFile = function(options, then) { + return this._catFile("utf-8", arguments); + }; + Git2.prototype.binaryCatFile = function() { + return this._catFile("buffer", arguments); + }; + Git2.prototype._catFile = function(format, args) { + var handler = trailingFunctionArgument2(args); + var command = ["cat-file"]; + var options = args[0]; + if (typeof options === "string") { + return this._runTask(configurationErrorTask2("Git.catFile: options must be supplied as an array of strings"), handler); + } + if (Array.isArray(options)) { + command.push.apply(command, options); + } + const task = format === "buffer" ? straightThroughBufferTask2(command) : straightThroughStringTask2(command); + return this._runTask(task, handler); + }; + Git2.prototype.diff = function(options, then) { + const task = filterString2(options) ? configurationErrorTask2("git.diff: supplying options as a single string is no longer supported, switch to an array of strings") : straightThroughStringTask2(["diff", ...getTrailingOptions2(arguments)]); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.diffSummary = function() { + return this._runTask(diffSummaryTask2(getTrailingOptions2(arguments, 1)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.applyPatch = function(patches) { + const task = !filterStringOrStringArray2(patches) ? configurationErrorTask2(`git.applyPatch requires one or more string patches as the first argument`) : applyPatchTask2(asArray2(patches), getTrailingOptions2([].slice.call(arguments, 1))); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.revparse = function() { + const commands = ["rev-parse", ...getTrailingOptions2(arguments, true)]; + return this._runTask(straightThroughStringTask2(commands, true), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.clean = function(mode, options, then) { + const usingCleanOptionsArray = isCleanOptionsArray2(mode); + const cleanMode = usingCleanOptionsArray && mode.join("") || filterType2(mode, filterString2) || ""; + const customArgs = getTrailingOptions2([].slice.call(arguments, usingCleanOptionsArray ? 1 : 0)); + return this._runTask(cleanWithOptionsTask2(cleanMode, customArgs), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.exec = function(then) { + const task = { + commands: [], + format: "utf-8", + parser() { + if (typeof then === "function") { + then(); + } + } + }; + return this._runTask(task); + }; + Git2.prototype.clearQueue = function() { + return this; + }; + Git2.prototype.checkIgnore = function(pathnames, then) { + return this._runTask(checkIgnoreTask2(asArray2(filterType2(pathnames, filterStringOrStringArray2, []))), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkIsRepo = function(checkType, then) { + return this._runTask(checkIsRepoTask2(filterType2(checkType, filterString2)), trailingFunctionArgument2(arguments)); + }; + module2.exports = Git2; + } +}); + +// src/lib/git-factory.ts +var git_factory_exports = {}; +__export(git_factory_exports, { + esModuleFactory: () => esModuleFactory, + gitExportFactory: () => gitExportFactory, + gitInstanceFactory: () => gitInstanceFactory +}); +function esModuleFactory(defaultExport) { + return Object.defineProperties(defaultExport, { + __esModule: { value: true }, + default: { value: defaultExport } + }); +} +function gitExportFactory(factory) { + return Object.assign(factory.bind(null), api_exports); +} +function gitInstanceFactory(baseDir, options) { + const plugins = new PluginStore(); + const config = createInstanceConfig(baseDir && (typeof baseDir === "string" ? { baseDir } : baseDir) || {}, options); + if (!folderExists(config.baseDir)) { + throw new GitConstructError(config, `Cannot use simple-git on a directory that does not exist`); + } + if (Array.isArray(config.config)) { + plugins.add(commandConfigPrefixingPlugin(config.config)); + } + plugins.add(blockUnsafeOperationsPlugin(config.unsafe)); + plugins.add(suffixPathsPlugin()); + plugins.add(completionDetectionPlugin(config.completion)); + config.abort && plugins.add(abortPlugin(config.abort)); + config.progress && plugins.add(progressMonitorPlugin(config.progress)); + config.timeout && plugins.add(timeoutPlugin(config.timeout)); + config.spawnOptions && plugins.add(spawnOptionsPlugin(config.spawnOptions)); + plugins.add(errorDetectionPlugin(errorDetectionHandler(true))); + config.errors && plugins.add(errorDetectionPlugin(config.errors)); + return new Git(config, plugins); +} +var Git; +var init_git_factory = __esm({ + "src/lib/git-factory.ts"() { + init_api(); + init_plugins(); + init_suffix_paths_plugin(); + init_utils(); + Git = require_git(); + } +}); + +// src/lib/runners/promise-wrapped.ts +var promise_wrapped_exports = {}; +__export(promise_wrapped_exports, { + gitP: () => gitP +}); +function gitP(...args) { + let git; + let chain = Promise.resolve(); + try { + git = gitInstanceFactory(...args); + } catch (e) { + chain = Promise.reject(e); + } + function builderReturn() { + return promiseApi; + } + function chainReturn() { + return chain; + } + const promiseApi = [...functionNamesBuilderApi, ...functionNamesPromiseApi].reduce((api, name) => { + const isAsync = functionNamesPromiseApi.includes(name); + const valid = isAsync ? asyncWrapper(name, git) : syncWrapper(name, git, api); + const alternative = isAsync ? chainReturn : builderReturn; + Object.defineProperty(api, name, { + enumerable: false, + configurable: false, + value: git ? valid : alternative + }); + return api; + }, {}); + return promiseApi; + function asyncWrapper(fn, git2) { + return function(...args2) { + if (typeof args2[args2.length] === "function") { + throw new TypeError("Promise interface requires that handlers are not supplied inline, trailing function not allowed in call to " + fn); + } + return chain.then(function() { + return new Promise(function(resolve, reject) { + const callback = (err, result) => { + if (err) { + return reject(toError(err)); + } + resolve(result); + }; + args2.push(callback); + git2[fn].apply(git2, args2); + }); + }); + }; + } + function syncWrapper(fn, git2, api) { + return (...args2) => { + git2[fn](...args2); + return api; + }; + } +} +function toError(error) { + if (error instanceof Error) { + return error; + } + if (typeof error === "string") { + return new Error(error); + } + return new GitResponseError(error); +} +var functionNamesBuilderApi, functionNamesPromiseApi; +var init_promise_wrapped = __esm({ + "src/lib/runners/promise-wrapped.ts"() { + init_git_response_error(); + init_git_factory(); + functionNamesBuilderApi = ["customBinary", "env", "outputHandler", "silent"]; + functionNamesPromiseApi = [ + "add", + "addAnnotatedTag", + "addConfig", + "addRemote", + "addTag", + "applyPatch", + "binaryCatFile", + "branch", + "branchLocal", + "catFile", + "checkIgnore", + "checkIsRepo", + "checkout", + "checkoutBranch", + "checkoutLatestTag", + "checkoutLocalBranch", + "clean", + "clone", + "commit", + "cwd", + "deleteLocalBranch", + "deleteLocalBranches", + "diff", + "diffSummary", + "exec", + "fetch", + "getRemotes", + "init", + "listConfig", + "listRemote", + "log", + "merge", + "mergeFromTo", + "mirror", + "mv", + "pull", + "push", + "pushTags", + "raw", + "rebase", + "remote", + "removeRemote", + "reset", + "revert", + "revparse", + "rm", + "rmKeepLocal", + "show", + "stash", + "stashList", + "status", + "subModule", + "submoduleAdd", + "submoduleInit", + "submoduleUpdate", + "tag", + "tags", + "updateServerInfo" + ]; + } +}); + +// src/index.js +var { gitP: gitP2 } = (init_promise_wrapped(), __toCommonJS(promise_wrapped_exports)); +var { esModuleFactory: esModuleFactory2, gitInstanceFactory: gitInstanceFactory2, gitExportFactory: gitExportFactory2 } = (init_git_factory(), __toCommonJS(git_factory_exports)); +var simpleGit = esModuleFactory2(gitExportFactory2(gitInstanceFactory2)); +module.exports = Object.assign(simpleGit, { gitP: gitP2, simpleGit }); +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 95427: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + +const os = __webpack_require__(22037); +const hasFlag = __webpack_require__(61802); + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; + + +/***/ }), + +/***/ 50930: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var punycode = __webpack_require__(85477); +var mappingTable = __webpack_require__(31229); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); +} + +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + + +/***/ }), + +/***/ 16462: +/***/ (function(__unused_webpack_module, exports) { + +/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +(function (global, factory) { + true ? factory(exports) : + 0; +}(this, (function (exports) { 'use strict'; + +function merge() { + for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { + sets[_key] = arguments[_key]; + } + + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} +function subexp(str) { + return "(?:" + str + ")"; +} +function typeOf(o) { + return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); +} +function toUpperCase(str) { + return str.toUpperCase(); +} +function toArray(obj) { + return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; +} +function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; +} + +function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), + //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +var URI_PROTOCOL = buildExps(false); + +var IRI_PROTOCOL = buildExps(true); + +var slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/** Highest positive signed 32-bit float value */ + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' + +/** Regular expressions */ +var regexPunycode = /^xn--/; +var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +var errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error$1(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); +}; + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base;; /* no condition */k += base) { + + if (index >= inputLength) { + error$1('invalid-input'); + } + + var digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1('overflow'); + } + + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + + if (digit < t) { + break; + } + + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1('overflow'); + } + + w *= baseMinusT; + } + + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } + + return String.fromCodePoint.apply(String, output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +var encode = function encode(input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var basicLength = output.length; + var handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + + if (_currentValue < n && ++delta > maxInt) { + error$1('overflow'); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base;; /* no condition */k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +var SCHEMES = {}; +function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; +} +function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} + +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } +} +var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; +function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} + +function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} + +var RDS1 = /^\.\.?\//; +var RDS2 = /^\/\.(\/|$)/; +var RDS3 = /^\/\.\.(\/|$)/; +var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} + +function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) {} + //TODO: normalize IPv6 address as per RFC 5952 + + //if host component is a domain name + else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + //convert IDN via punycode + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} + +function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; + + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} + +function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} + +function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} + +function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} + +function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); +} + +function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); +} + +var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; + +var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize +}; + +function isSecure(wsComponents) { + return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; +} +//RFC 6455 +var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse(components, options) { + var wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function serialize(wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === 'boolean') { + wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split('?'), + _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), + path = _wsComponents$resourc2[0], + query = _wsComponents$resourc2[1]; + + wsComponents.path = path && path !== '/' ? path : undefined; + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + } +}; + +var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize +}; + +var O = {}; +var isIRI = true; +//RFC 3986 +var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +var UNRESERVED = new RegExp(UNRESERVED$$, "g"); +var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +var NOT_HFVALUE = NOT_HFNAME; +function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; +} +var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; + +var URN_PARSE = /^([^\:]+)\:(.*)/; +//RFC 2141 +var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } +}; + +var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +//RFC 4122 +var handler$6 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } +}; + +SCHEMES[handler.scheme] = handler; +SCHEMES[handler$1.scheme] = handler$1; +SCHEMES[handler$2.scheme] = handler$2; +SCHEMES[handler$3.scheme] = handler$3; +SCHEMES[handler$4.scheme] = handler$4; +SCHEMES[handler$5.scheme] = handler$5; +SCHEMES[handler$6.scheme] = handler$6; + +exports.SCHEMES = SCHEMES; +exports.pctEncChar = pctEncChar; +exports.pctDecChars = pctDecChars; +exports.parse = parse; +exports.removeDotSegments = removeDotSegments; +exports.serialize = serialize; +exports.resolveComponents = resolveComponents; +exports.resolve = resolve; +exports.normalize = normalize; +exports.equal = equal; +exports.escapeComponent = escapeComponent; +exports.unescapeComponent = unescapeComponent; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=uri.all.js.map + + +/***/ }), + +/***/ 69588: +/***/ ((module) => { + +"use strict"; + + +var conversions = {}; +module.exports = conversions; + +function sign(x) { + return x < 0 ? -1 : 1; +} + +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} + +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + + return function(V, opts) { + if (!opts) opts = {}; + + let x = +V; + + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + + return x; + } + + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } + + if (!Number.isFinite(x) || x === 0) { + return 0; + } + + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; +}; + +conversions["boolean"] = function (val) { + return !!val; +}; + +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); + +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + +conversions["double"] = function (V) { + const x = +V; + + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + + return x; +}; + +conversions["unrestricted double"] = function (V) { + const x = +V; + + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + + return x; +}; + +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; + +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; + + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + + return String(V); +}; + +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + + return x; +}; + +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } + + return U.join(''); +}; + +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } + + return V; +}; + +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + + return V; +}; + + +/***/ }), + +/***/ 46088: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +const usm = __webpack_require__(7122); + +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + + // TODO: query stuff + } + + get href() { + return usm.serializeURL(this._url); + } + + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + } + + get origin() { + return usm.serializeURLOrigin(this._url); + } + + get protocol() { + return this._url.scheme + ":"; + } + + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + + get username() { + return this._url.username; + } + + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setTheUsername(this._url, v); + } + + get password() { + return this._url.password; + } + + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setThePassword(this._url, v); + } + + get host() { + const url = this._url; + + if (url.host === null) { + return ""; + } + + if (url.port === null) { + return usm.serializeHost(url.host); + } + + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } + + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + + get hostname() { + if (this._url.host === null) { + return ""; + } + + return usm.serializeHost(this._url.host); + } + + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + + get port() { + if (this._url.port === null) { + return ""; + } + + return usm.serializeInteger(this._url.port); + } + + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + + if (this._url.path.length === 0) { + return ""; + } + + return "/" + this._url.path.join("/"); + } + + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + + return "?" + this._url.query; + } + + set search(v) { + // TODO: query stuff + + const url = this._url; + + if (v === "") { + url.query = null; + return; + } + + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } + + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + + return "#" + this._url.fragment; + } + + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + + toJSON() { + return this.href; + } +}; + + +/***/ }), + +/***/ 49786: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +const conversions = __webpack_require__(69588); +const utils = __webpack_require__(79978); +const Impl = __webpack_require__(46088); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + + + +/***/ }), + +/***/ 88533: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.URL = __webpack_require__(49786)["interface"]; +exports.serializeURL = __webpack_require__(7122).serializeURL; +exports.serializeURLOrigin = __webpack_require__(7122).serializeURLOrigin; +exports.basicURLParse = __webpack_require__(7122).basicURLParse; +exports.setTheUsername = __webpack_require__(7122).setTheUsername; +exports.setThePassword = __webpack_require__(7122).setThePassword; +exports.serializeHost = __webpack_require__(7122).serializeHost; +exports.serializeInteger = __webpack_require__(7122).serializeInteger; +exports.parseURL = __webpack_require__(7122).parseURL; + + +/***/ }), + +/***/ 7122: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + +const punycode = __webpack_require__(85477); +const tr46 = __webpack_require__(50930); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; + + +/***/ }), + +/***/ 79978: +/***/ ((module) => { + +"use strict"; + + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + + + +/***/ }), + +/***/ 35543: +/***/ ((module) => { + +module.exports = eval("require")("encoding"); + + +/***/ }), + +/***/ 50199: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}'); + +/***/ }), + +/***/ 64746: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}'); + +/***/ }), + +/***/ 31229: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]'); + +/***/ }) + +}; +; +//# sourceMappingURL=154.index.js.map \ No newline at end of file diff --git a/dist/154.index.js.map b/dist/154.index.js.map new file mode 100644 index 0000000..55d2951 --- /dev/null +++ b/dist/154.index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"154.index.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5kEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxmBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxqIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACl6CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA","sources":["webpack://backstage-blockchain-actions/./node_modules/.pnpm/@backstage+catalog-client@1.4.4/node_modules/@backstage/catalog-client/dist/index.cjs.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@backstage+catalog-model@1.4.2/node_modules/@backstage/catalog-model/dist/index.cjs.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@backstage+errors@1.2.2/node_modules/@backstage/errors/dist/index.cjs.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/src/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/ajv.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/codegen/code.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/codegen/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/codegen/scope.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/errors.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/names.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/ref_error.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/resolve.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/rules.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/util.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/applicability.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/boolSchema.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/dataType.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/defaults.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/keyword.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/compile/validate/subschema.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/core.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/runtime/equal.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/runtime/ucs2length.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/runtime/uri.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/runtime/validation_error.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/contains.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/if.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/items.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/not.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/properties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/code.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/core/id.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/core/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/core/ref.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/discriminator/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/discriminator/types.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/draft7.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/format/format.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/format/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/metadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/const.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/enum.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/pattern.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/required.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ajv@8.12.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/cross-fetch@3.1.8/node_modules/cross-fetch/dist/node-ponyfill.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/node.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/has-flag@3.0.0/node_modules/has-flag/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/node-fetch@2.7.0/node_modules/node-fetch/lib/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/serialize-error@8.1.0/node_modules/serialize-error/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/simple-git@3.20.0/node_modules/simple-git/dist/cjs/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/supports-color@5.5.0/node_modules/supports-color/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/tr46@0.0.3/node_modules/tr46/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/webidl-conversions@3.0.1/node_modules/webidl-conversions/lib/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL-impl.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/public-api.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/url-state-machine.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/utils.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@vercel+ncc@0.38.0/node_modules/@vercel/ncc/dist/ncc/@@notfound.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar catalogModel = require('@backstage/catalog-model');\nvar errors = require('@backstage/errors');\nvar crossFetch = require('cross-fetch');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar crossFetch__default = /*#__PURE__*/_interopDefaultLegacy(crossFetch);\n\nconst CATALOG_FILTER_EXISTS = Symbol.for(\n // Random UUID to ensure no collisions\n \"CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111\"\n);\n\nfunction isQueryEntitiesInitialRequest(request) {\n return !request.cursor;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass CatalogClient {\n constructor(options) {\n __publicField(this, \"discoveryApi\");\n __publicField(this, \"fetchApi\");\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi || { fetch: crossFetch__default[\"default\"] };\n }\n /**\n * {@inheritdoc CatalogApi.getEntityAncestors}\n */\n async getEntityAncestors(request, options) {\n const { kind, namespace, name } = catalogModel.parseEntityRef(request.entityRef);\n return await this.requestRequired(\n \"GET\",\n `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent(\n namespace\n )}/${encodeURIComponent(name)}/ancestry`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.getLocationById}\n */\n async getLocationById(id, options) {\n return await this.requestOptional(\n \"GET\",\n `/locations/${encodeURIComponent(id)}`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.getEntities}\n */\n async getEntities(request, options) {\n const {\n filter = [],\n fields = [],\n order,\n offset,\n limit,\n after\n } = request != null ? request : {};\n const params = this.getParams(filter);\n if (fields.length) {\n params.push(`fields=${fields.map(encodeURIComponent).join(\",\")}`);\n }\n if (order) {\n for (const directive of [order].flat()) {\n if (directive) {\n params.push(\n `order=${encodeURIComponent(directive.order)}:${encodeURIComponent(\n directive.field\n )}`\n );\n }\n }\n }\n if (offset !== void 0) {\n params.push(`offset=${offset}`);\n }\n if (limit !== void 0) {\n params.push(`limit=${limit}`);\n }\n if (after !== void 0) {\n params.push(`after=${encodeURIComponent(after)}`);\n }\n const query = params.length ? `?${params.join(\"&\")}` : \"\";\n const entities = await this.requestRequired(\n \"GET\",\n `/entities${query}`,\n options\n );\n const refCompare = (a, b) => {\n var _a, _b;\n if (((_a = a.metadata) == null ? void 0 : _a.name) === void 0 || a.kind === void 0 || ((_b = b.metadata) == null ? void 0 : _b.name) === void 0 || b.kind === void 0) {\n return 0;\n }\n const aRef = catalogModel.stringifyEntityRef(a);\n const bRef = catalogModel.stringifyEntityRef(b);\n if (aRef < bRef) {\n return -1;\n }\n if (aRef > bRef) {\n return 1;\n }\n return 0;\n };\n return { items: entities.sort(refCompare) };\n }\n /**\n * {@inheritdoc CatalogApi.getEntitiesByRefs}\n */\n async getEntitiesByRefs(request, options) {\n var _a;\n const body = { entityRefs: request.entityRefs };\n if ((_a = request.fields) == null ? void 0 : _a.length) {\n body.fields = request.fields;\n }\n const baseUrl = await this.discoveryApi.getBaseUrl(\"catalog\");\n const url = `${baseUrl}/entities/by-refs`;\n const response = await this.fetchApi.fetch(url, {\n headers: {\n \"Content-Type\": \"application/json\",\n ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` }\n },\n method: \"POST\",\n body: JSON.stringify(body)\n });\n if (!response.ok) {\n throw await errors.ResponseError.fromResponse(response);\n }\n const { items } = await response.json();\n return { items: items.map((i) => i != null ? i : void 0) };\n }\n /**\n * {@inheritdoc CatalogApi.queryEntities}\n */\n async queryEntities(request = {}, options) {\n var _a, _b;\n const params = [];\n if (isQueryEntitiesInitialRequest(request)) {\n const {\n fields = [],\n filter,\n limit,\n orderFields,\n fullTextFilter\n } = request;\n params.push(...this.getParams(filter));\n if (limit !== void 0) {\n params.push(`limit=${limit}`);\n }\n if (orderFields !== void 0) {\n (Array.isArray(orderFields) ? orderFields : [orderFields]).forEach(\n ({ field, order }) => params.push(`orderField=${field},${order}`)\n );\n }\n if (fields.length) {\n params.push(`fields=${fields.map(encodeURIComponent).join(\",\")}`);\n }\n const normalizedFullTextFilterTerm = (_a = fullTextFilter == null ? void 0 : fullTextFilter.term) == null ? void 0 : _a.trim();\n if (normalizedFullTextFilterTerm) {\n params.push(`fullTextFilterTerm=${normalizedFullTextFilterTerm}`);\n }\n if ((_b = fullTextFilter == null ? void 0 : fullTextFilter.fields) == null ? void 0 : _b.length) {\n params.push(`fullTextFilterFields=${fullTextFilter.fields.join(\",\")}`);\n }\n } else {\n const { fields = [], limit, cursor } = request;\n params.push(`cursor=${cursor}`);\n if (limit !== void 0) {\n params.push(`limit=${limit}`);\n }\n if (fields.length) {\n params.push(`fields=${fields.map(encodeURIComponent).join(\",\")}`);\n }\n }\n const query = params.length ? `?${params.join(\"&\")}` : \"\";\n return this.requestRequired(\n \"GET\",\n `/entities/by-query${query}`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.getEntityByRef}\n */\n async getEntityByRef(entityRef, options) {\n const { kind, namespace, name } = catalogModel.parseEntityRef(entityRef);\n return this.requestOptional(\n \"GET\",\n `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent(\n namespace\n )}/${encodeURIComponent(name)}`,\n options\n );\n }\n // NOTE(freben): When we deprecate getEntityByName from the interface, we may\n // still want to leave this implementation in place for quite some time\n // longer, to minimize the risk for breakages. Suggested date for removal:\n // August 2022\n /**\n * @deprecated Use getEntityByRef instead\n */\n async getEntityByName(compoundName, options) {\n const { kind, namespace = \"default\", name } = compoundName;\n return this.requestOptional(\n \"GET\",\n `/entities/by-name/${encodeURIComponent(kind)}/${encodeURIComponent(\n namespace\n )}/${encodeURIComponent(name)}`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.refreshEntity}\n */\n async refreshEntity(entityRef, options) {\n const response = await this.fetchApi.fetch(\n `${await this.discoveryApi.getBaseUrl(\"catalog\")}/refresh`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` }\n },\n method: \"POST\",\n body: JSON.stringify({ entityRef })\n }\n );\n if (response.status !== 200) {\n throw new Error(await response.text());\n }\n }\n /**\n * {@inheritdoc CatalogApi.getEntityFacets}\n */\n async getEntityFacets(request, options) {\n const { filter = [], facets } = request;\n const params = this.getParams(filter);\n for (const facet of facets) {\n params.push(`facet=${encodeURIComponent(facet)}`);\n }\n const query = params.length ? `?${params.join(\"&\")}` : \"\";\n return await this.requestOptional(\"GET\", `/entity-facets${query}`, options);\n }\n /**\n * {@inheritdoc CatalogApi.addLocation}\n */\n async addLocation(request, options) {\n const { type = \"url\", target, dryRun } = request;\n const response = await this.fetchApi.fetch(\n `${await this.discoveryApi.getBaseUrl(\"catalog\")}/locations${dryRun ? \"?dryRun=true\" : \"\"}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` }\n },\n method: \"POST\",\n body: JSON.stringify({ type, target })\n }\n );\n if (response.status !== 201) {\n throw new Error(await response.text());\n }\n const { location, entities, exists } = await response.json();\n if (!location) {\n throw new Error(`Location wasn't added: ${target}`);\n }\n return {\n location,\n entities,\n exists\n };\n }\n /**\n * {@inheritdoc CatalogApi.getLocationByRef}\n */\n async getLocationByRef(locationRef, options) {\n const all = await this.requestRequired(\n \"GET\",\n \"/locations\",\n options\n );\n return all.map((r) => r.data).find((l) => locationRef === catalogModel.stringifyLocationRef(l));\n }\n /**\n * {@inheritdoc CatalogApi.removeLocationById}\n */\n async removeLocationById(id, options) {\n await this.requestIgnored(\n \"DELETE\",\n `/locations/${encodeURIComponent(id)}`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.removeEntityByUid}\n */\n async removeEntityByUid(uid, options) {\n await this.requestIgnored(\n \"DELETE\",\n `/entities/by-uid/${encodeURIComponent(uid)}`,\n options\n );\n }\n /**\n * {@inheritdoc CatalogApi.validateEntity}\n */\n async validateEntity(entity, locationRef, options) {\n const response = await this.fetchApi.fetch(\n `${await this.discoveryApi.getBaseUrl(\"catalog\")}/validate-entity`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n ...(options == null ? void 0 : options.token) && { Authorization: `Bearer ${options == null ? void 0 : options.token}` }\n },\n method: \"POST\",\n body: JSON.stringify({ entity, location: locationRef })\n }\n );\n if (response.ok) {\n return {\n valid: true\n };\n }\n if (response.status !== 400) {\n throw await errors.ResponseError.fromResponse(response);\n }\n const { errors: errors$1 = [] } = await response.json();\n return {\n valid: false,\n errors: errors$1\n };\n }\n //\n // Private methods\n //\n async requestIgnored(method, path, options) {\n const url = `${await this.discoveryApi.getBaseUrl(\"catalog\")}${path}`;\n const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {};\n const response = await this.fetchApi.fetch(url, { method, headers });\n if (!response.ok) {\n throw await errors.ResponseError.fromResponse(response);\n }\n }\n async requestRequired(method, path, options) {\n const url = `${await this.discoveryApi.getBaseUrl(\"catalog\")}${path}`;\n const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {};\n const response = await this.fetchApi.fetch(url, { method, headers });\n if (!response.ok) {\n throw await errors.ResponseError.fromResponse(response);\n }\n return response.json();\n }\n async requestOptional(method, path, options) {\n const url = `${await this.discoveryApi.getBaseUrl(\"catalog\")}${path}`;\n const headers = (options == null ? void 0 : options.token) ? { Authorization: `Bearer ${options.token}` } : {};\n const response = await this.fetchApi.fetch(url, { method, headers });\n if (!response.ok) {\n if (response.status === 404) {\n return void 0;\n }\n throw await errors.ResponseError.fromResponse(response);\n }\n return await response.json();\n }\n getParams(filter = []) {\n const params = [];\n for (const filterItem of [filter].flat()) {\n const filterParts = [];\n for (const [key, value] of Object.entries(filterItem)) {\n for (const v of [value].flat()) {\n if (v === CATALOG_FILTER_EXISTS) {\n filterParts.push(encodeURIComponent(key));\n } else if (typeof v === \"string\") {\n filterParts.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(v)}`\n );\n }\n }\n }\n if (filterParts.length) {\n params.push(`filter=${filterParts.join(\",\")}`);\n }\n }\n return params;\n }\n}\n\nconst ENTITY_STATUS_CATALOG_PROCESSING_TYPE = \"backstage.io/catalog-processing\";\n\nexports.CATALOG_FILTER_EXISTS = CATALOG_FILTER_EXISTS;\nexports.CatalogClient = CatalogClient;\nexports.ENTITY_STATUS_CATALOG_PROCESSING_TYPE = ENTITY_STATUS_CATALOG_PROCESSING_TYPE;\n//# sourceMappingURL=index.cjs.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar lodash = require('lodash');\nvar Ajv = require('ajv');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar lodash__default = /*#__PURE__*/_interopDefaultLegacy(lodash);\nvar Ajv__default = /*#__PURE__*/_interopDefaultLegacy(Ajv);\n\nfunction isApiEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"API\";\n}\nfunction isComponentEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"COMPONENT\";\n}\nfunction isDomainEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"DOMAIN\";\n}\nfunction isGroupEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"GROUP\";\n}\nfunction isLocationEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"LOCATION\";\n}\nfunction isResourceEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"RESOURCE\";\n}\nfunction isSystemEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"SYSTEM\";\n}\nfunction isUserEntity(entity) {\n return entity.kind.toLocaleUpperCase(\"en-US\") === \"USER\";\n}\n\nconst DEFAULT_NAMESPACE = \"default\";\nconst ANNOTATION_VIEW_URL = \"backstage.io/view-url\";\nconst ANNOTATION_EDIT_URL = \"backstage.io/edit-url\";\nconst ANNOTATION_KUBERNETES_API_SERVER = \"kubernetes.io/api-server\";\nconst ANNOTATION_KUBERNETES_API_SERVER_CA = \"kubernetes.io/api-server-certificate-authority\";\nconst ANNOTATION_KUBERNETES_AUTH_PROVIDER = \"kubernetes.io/auth-provider\";\n\nvar __defProp$4 = Object.defineProperty;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$4 = (obj, key, value) => {\n __defNormalProp$4(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass DefaultNamespaceEntityPolicy {\n constructor(namespace = DEFAULT_NAMESPACE) {\n __publicField$4(this, \"namespace\");\n this.namespace = namespace;\n }\n async enforce(entity) {\n if (entity.metadata.namespace) {\n return entity;\n }\n return lodash__default[\"default\"].merge({ metadata: { namespace: this.namespace } }, entity);\n }\n}\n\nfunction parseRefString(ref) {\n let colonI = ref.indexOf(\":\");\n const slashI = ref.indexOf(\"/\");\n if (slashI !== -1 && slashI < colonI) {\n colonI = -1;\n }\n const kind = colonI === -1 ? void 0 : ref.slice(0, colonI);\n const namespace = slashI === -1 ? void 0 : ref.slice(colonI + 1, slashI);\n const name = ref.slice(Math.max(colonI + 1, slashI + 1));\n if (kind === \"\" || namespace === \"\" || name === \"\") {\n throw new TypeError(\n `Entity reference \"${ref}\" was not on the form [:][/]`\n );\n }\n return { kind, namespace, name };\n}\nfunction getCompoundEntityRef(entity) {\n return {\n kind: entity.kind,\n namespace: entity.metadata.namespace || DEFAULT_NAMESPACE,\n name: entity.metadata.name\n };\n}\nfunction parseEntityRef(ref, context) {\n var _a, _b, _c, _d;\n if (!ref) {\n throw new Error(`Entity reference must not be empty`);\n }\n const defaultKind = context == null ? void 0 : context.defaultKind;\n const defaultNamespace = (context == null ? void 0 : context.defaultNamespace) || DEFAULT_NAMESPACE;\n let kind;\n let namespace;\n let name;\n if (typeof ref === \"string\") {\n const parsed = parseRefString(ref);\n kind = (_a = parsed.kind) != null ? _a : defaultKind;\n namespace = (_b = parsed.namespace) != null ? _b : defaultNamespace;\n name = parsed.name;\n } else {\n kind = (_c = ref.kind) != null ? _c : defaultKind;\n namespace = (_d = ref.namespace) != null ? _d : defaultNamespace;\n name = ref.name;\n }\n if (!kind) {\n const textual = JSON.stringify(ref);\n throw new Error(\n `Entity reference ${textual} had missing or empty kind (e.g. did not start with \"component:\" or similar)`\n );\n } else if (!namespace) {\n const textual = JSON.stringify(ref);\n throw new Error(\n `Entity reference ${textual} had missing or empty namespace`\n );\n } else if (!name) {\n const textual = JSON.stringify(ref);\n throw new Error(`Entity reference ${textual} had missing or empty name`);\n }\n return { kind, namespace, name };\n}\nfunction stringifyEntityRef(ref) {\n var _a, _b;\n let kind;\n let namespace;\n let name;\n if (\"metadata\" in ref) {\n kind = ref.kind;\n namespace = (_a = ref.metadata.namespace) != null ? _a : DEFAULT_NAMESPACE;\n name = ref.metadata.name;\n } else {\n kind = ref.kind;\n namespace = (_b = ref.namespace) != null ? _b : DEFAULT_NAMESPACE;\n name = ref.name;\n }\n return `${kind.toLocaleLowerCase(\"en-US\")}:${namespace.toLocaleLowerCase(\n \"en-US\"\n )}/${name.toLocaleLowerCase(\"en-US\")}`;\n}\n\nvar __defProp$3 = Object.defineProperty;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$3 = (obj, key, value) => {\n __defNormalProp$3(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass GroupDefaultParentEntityPolicy {\n constructor(parentEntityRef) {\n __publicField$3(this, \"parentRef\");\n const { kind, namespace, name } = parseEntityRef(parentEntityRef, {\n defaultKind: \"Group\",\n defaultNamespace: DEFAULT_NAMESPACE\n });\n if (kind.toLocaleUpperCase(\"en-US\") !== \"GROUP\") {\n throw new TypeError(\"group parent must be a group\");\n }\n this.parentRef = stringifyEntityRef({\n kind,\n namespace,\n name\n });\n }\n async enforce(entity) {\n if (entity.kind !== \"Group\") {\n return entity;\n }\n const group = entity;\n if (group.spec.parent) {\n return group;\n }\n if (stringifyEntityRef(group) !== this.parentRef) {\n group.spec.parent = this.parentRef;\n }\n return group;\n }\n}\n\nclass CommonValidatorFunctions {\n /**\n * Checks that the value is on the form `` or ``, and validates\n * those parts separately.\n *\n * @param value - The value to check\n * @param separator - The separator between parts\n * @param isValidPrefix - Checks that the part before the separator is valid, if present\n * @param isValidSuffix - Checks that the part after the separator (or the entire value if there is no separator) is valid\n */\n static isValidPrefixAndOrSuffix(value, separator, isValidPrefix, isValidSuffix) {\n if (typeof value !== \"string\") {\n return false;\n }\n const parts = value.split(separator);\n if (parts.length === 1) {\n return isValidSuffix(parts[0]);\n } else if (parts.length === 2) {\n return isValidPrefix(parts[0]) && isValidSuffix(parts[1]);\n }\n return false;\n }\n /**\n * Checks that the value can be safely transferred as JSON.\n *\n * @param value - The value to check\n */\n static isJsonSafe(value) {\n try {\n return lodash__default[\"default\"].isEqual(value, JSON.parse(JSON.stringify(value)));\n } catch {\n return false;\n }\n }\n /**\n * Checks that the value is a valid DNS subdomain name.\n *\n * @param value - The value to check\n * @see https://tools.ietf.org/html/rfc1123\n */\n static isValidDnsSubdomain(value) {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 253 && value.split(\".\").every(CommonValidatorFunctions.isValidDnsLabel);\n }\n /**\n * Checks that the value is a valid DNS label.\n *\n * @param value - The value to check\n * @see https://tools.ietf.org/html/rfc1123\n */\n static isValidDnsLabel(value) {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 63 && /^[a-z0-9]+(?:\\-+[a-z0-9]+)*$/.test(value);\n }\n /**\n * Checks that the value is a valid tag.\n *\n * @deprecated This will be removed in a future release\n * @param value - The value to check\n */\n static isValidTag(value) {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 63 && /^[a-z0-9+#]+(\\-[a-z0-9+#]+)*$/.test(value);\n }\n /**\n * Checks that the value is a valid string URL.\n *\n * @param value - The value to check\n */\n static isValidUrl(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n try {\n new URL(value);\n return true;\n } catch {\n return false;\n }\n }\n /**\n * Checks that the value is a non empty string value.\n *\n * @deprecated use isNonEmptyString instead\n * @param value - The value to check\n */\n static isValidString(value) {\n var _a;\n return typeof value === \"string\" && ((_a = value == null ? void 0 : value.trim()) == null ? void 0 : _a.length) >= 1;\n }\n /**\n * Checks that the value is a string value that's not empty.\n *\n * @param value - The value to check\n */\n static isNonEmptyString(value) {\n var _a;\n return typeof value === \"string\" && ((_a = value == null ? void 0 : value.trim()) == null ? void 0 : _a.length) >= 1;\n }\n}\n\nvar $schema$b = \"http://json-schema.org/draft-07/schema\";\nvar $id$b = \"EntityEnvelope\";\nvar description$b = \"The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking.\";\nvar examples$a = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Component\",\n\t\tmetadata: {\n\t\t\tname: \"LoremService\"\n\t\t}\n\t}\n];\nvar type$3 = \"object\";\nvar required$2 = [\n\t\"apiVersion\",\n\t\"kind\",\n\t\"metadata\"\n];\nvar additionalProperties$2 = true;\nvar properties$2 = {\n\tapiVersion: {\n\t\ttype: \"string\",\n\t\tdescription: \"The version of specification format for this particular entity that this is written against.\",\n\t\tminLength: 1,\n\t\texamples: [\n\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\"my-company.net/v1\",\n\t\t\t\"1.0\"\n\t\t]\n\t},\n\tkind: {\n\t\ttype: \"string\",\n\t\tdescription: \"The high level entity type being described.\",\n\t\tminLength: 1,\n\t\texamples: [\n\t\t\t\"API\",\n\t\t\t\"Component\",\n\t\t\t\"Domain\",\n\t\t\t\"Group\",\n\t\t\t\"Location\",\n\t\t\t\"Resource\",\n\t\t\t\"System\",\n\t\t\t\"Template\",\n\t\t\t\"User\"\n\t\t]\n\t},\n\tmetadata: {\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"name\"\n\t\t],\n\t\tadditionalProperties: true,\n\t\tproperties: {\n\t\t\tname: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.\",\n\t\t\t\texamples: [\n\t\t\t\t\t\"metadata-proxy\"\n\t\t\t\t],\n\t\t\t\tminLength: 1\n\t\t\t},\n\t\t\tnamespace: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The namespace that the entity belongs to.\",\n\t\t\t\t\"default\": \"default\",\n\t\t\t\texamples: [\n\t\t\t\t\t\"default\",\n\t\t\t\t\t\"admin\"\n\t\t\t\t],\n\t\t\t\tminLength: 1\n\t\t\t}\n\t\t}\n\t}\n};\nvar entityEnvelopeSchema = {\n\t$schema: $schema$b,\n\t$id: $id$b,\n\tdescription: description$b,\n\texamples: examples$a,\n\ttype: type$3,\n\trequired: required$2,\n\tadditionalProperties: additionalProperties$2,\n\tproperties: properties$2\n};\n\nvar $schema$a = \"http://json-schema.org/draft-07/schema\";\nvar $id$a = \"Entity\";\nvar description$a = \"The parts of the format that's common to all versions/kinds of entity.\";\nvar examples$9 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Component\",\n\t\tmetadata: {\n\t\t\tname: \"LoremService\",\n\t\t\tdescription: \"Creates Lorems like a pro.\",\n\t\t\tlabels: {\n\t\t\t\tproduct_name: \"Random value Generator\"\n\t\t\t},\n\t\t\tannotations: {\n\t\t\t\tdocs: \"https://github.com/..../tree/develop/doc\"\n\t\t\t}\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"service\",\n\t\t\tlifecycle: \"production\",\n\t\t\towner: \"tools\"\n\t\t}\n\t}\n];\nvar type$2 = \"object\";\nvar required$1 = [\n\t\"apiVersion\",\n\t\"kind\",\n\t\"metadata\"\n];\nvar additionalProperties$1 = false;\nvar properties$1 = {\n\tapiVersion: {\n\t\ttype: \"string\",\n\t\tdescription: \"The version of specification format for this particular entity that this is written against.\",\n\t\tminLength: 1,\n\t\texamples: [\n\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\"my-company.net/v1\",\n\t\t\t\"1.0\"\n\t\t]\n\t},\n\tkind: {\n\t\ttype: \"string\",\n\t\tdescription: \"The high level entity type being described.\",\n\t\tminLength: 1,\n\t\texamples: [\n\t\t\t\"API\",\n\t\t\t\"Component\",\n\t\t\t\"Domain\",\n\t\t\t\"Group\",\n\t\t\t\"Location\",\n\t\t\t\"Resource\",\n\t\t\t\"System\",\n\t\t\t\"Template\",\n\t\t\t\"User\"\n\t\t]\n\t},\n\tmetadata: {\n\t\t$ref: \"EntityMeta\"\n\t},\n\tspec: {\n\t\ttype: \"object\",\n\t\tdescription: \"The specification data describing the entity itself.\"\n\t},\n\trelations: {\n\t\ttype: \"array\",\n\t\tdescription: \"The relations that this entity has with other entities.\",\n\t\titems: {\n\t\t\t$ref: \"common#relation\"\n\t\t}\n\t},\n\tstatus: {\n\t\t$ref: \"common#status\"\n\t}\n};\nvar entitySchema = {\n\t$schema: $schema$a,\n\t$id: $id$a,\n\tdescription: description$a,\n\texamples: examples$9,\n\ttype: type$2,\n\trequired: required$1,\n\tadditionalProperties: additionalProperties$1,\n\tproperties: properties$1\n};\n\nvar $schema$9 = \"http://json-schema.org/draft-07/schema\";\nvar $id$9 = \"EntityMeta\";\nvar description$9 = \"Metadata fields common to all versions/kinds of entity.\";\nvar examples$8 = [\n\t{\n\t\tuid: \"e01199ab-08cc-44c2-8e19-5c29ded82521\",\n\t\tetag: \"lsndfkjsndfkjnsdfkjnsd==\",\n\t\tname: \"my-component-yay\",\n\t\tnamespace: \"the-namespace\",\n\t\tlabels: {\n\t\t\t\"backstage.io/custom\": \"ValueStuff\"\n\t\t},\n\t\tannotations: {\n\t\t\t\"example.com/bindings\": \"are-secret\"\n\t\t},\n\t\ttags: [\n\t\t\t\"java\",\n\t\t\t\"data\"\n\t\t]\n\t}\n];\nvar type$1 = \"object\";\nvar required = [\n\t\"name\"\n];\nvar additionalProperties = true;\nvar properties = {\n\tuid: {\n\t\ttype: \"string\",\n\t\tdescription: \"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.\",\n\t\texamples: [\n\t\t\t\"e01199ab-08cc-44c2-8e19-5c29ded82521\"\n\t\t],\n\t\tminLength: 1\n\t},\n\tetag: {\n\t\ttype: \"string\",\n\t\tdescription: \"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.\",\n\t\texamples: [\n\t\t\t\"lsndfkjsndfkjnsdfkjnsd==\"\n\t\t],\n\t\tminLength: 1\n\t},\n\tname: {\n\t\ttype: \"string\",\n\t\tdescription: \"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.\",\n\t\texamples: [\n\t\t\t\"metadata-proxy\"\n\t\t],\n\t\tminLength: 1\n\t},\n\tnamespace: {\n\t\ttype: \"string\",\n\t\tdescription: \"The namespace that the entity belongs to.\",\n\t\t\"default\": \"default\",\n\t\texamples: [\n\t\t\t\"default\",\n\t\t\t\"admin\"\n\t\t],\n\t\tminLength: 1\n\t},\n\ttitle: {\n\t\ttype: \"string\",\n\t\tdescription: \"A display name of the entity, to be presented in user interfaces instead of the name property, when available.\",\n\t\texamples: [\n\t\t\t\"React SSR Template\"\n\t\t],\n\t\tminLength: 1\n\t},\n\tdescription: {\n\t\ttype: \"string\",\n\t\tdescription: \"A short (typically relatively few words, on one line) description of the entity.\"\n\t},\n\tlabels: {\n\t\ttype: \"object\",\n\t\tdescription: \"Key/value pairs of identifying information attached to the entity.\",\n\t\tadditionalProperties: true,\n\t\tpatternProperties: {\n\t\t\t\"^.+$\": {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t}\n\t},\n\tannotations: {\n\t\ttype: \"object\",\n\t\tdescription: \"Key/value pairs of non-identifying auxiliary information attached to the entity.\",\n\t\tadditionalProperties: true,\n\t\tpatternProperties: {\n\t\t\t\"^.+$\": {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t}\n\t},\n\ttags: {\n\t\ttype: \"array\",\n\t\tdescription: \"A list of single-valued strings, to for example classify catalog entities in various ways.\",\n\t\titems: {\n\t\t\ttype: \"string\",\n\t\t\tminLength: 1\n\t\t}\n\t},\n\tlinks: {\n\t\ttype: \"array\",\n\t\tdescription: \"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.\",\n\t\titems: {\n\t\t\ttype: \"object\",\n\t\t\trequired: [\n\t\t\t\t\"url\"\n\t\t\t],\n\t\t\tproperties: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"A url in a standard uri format.\",\n\t\t\t\t\texamples: [\n\t\t\t\t\t\t\"https://admin.example-org.com\"\n\t\t\t\t\t],\n\t\t\t\t\tminLength: 1\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"A user friendly display name for the link.\",\n\t\t\t\t\texamples: [\n\t\t\t\t\t\t\"Admin Dashboard\"\n\t\t\t\t\t],\n\t\t\t\t\tminLength: 1\n\t\t\t\t},\n\t\t\t\ticon: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"A key representing a visual icon to be displayed in the UI.\",\n\t\t\t\t\texamples: [\n\t\t\t\t\t\t\"dashboard\"\n\t\t\t\t\t],\n\t\t\t\t\tminLength: 1\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"An optional value to categorize links into specific groups.\",\n\t\t\t\t\texamples: [\n\t\t\t\t\t\t\"runbook\",\n\t\t\t\t\t\t\"documentation\",\n\t\t\t\t\t\t\"logs\",\n\t\t\t\t\t\t\"dashboard\"\n\t\t\t\t\t],\n\t\t\t\t\tminLength: 1\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nvar entityMetaSchema = {\n\t$schema: $schema$9,\n\t$id: $id$9,\n\tdescription: description$9,\n\texamples: examples$8,\n\ttype: type$1,\n\trequired: required,\n\tadditionalProperties: additionalProperties,\n\tproperties: properties\n};\n\nvar $schema$8 = \"http://json-schema.org/draft-07/schema\";\nvar $id$8 = \"common\";\nvar type = \"object\";\nvar description$8 = \"Common definitions to import from other schemas\";\nvar definitions = {\n\treference: {\n\t\t$id: \"#reference\",\n\t\ttype: \"object\",\n\t\tdescription: \"A reference by name to another entity.\",\n\t\trequired: [\n\t\t\t\"kind\",\n\t\t\t\"namespace\",\n\t\t\t\"name\"\n\t\t],\n\t\tadditionalProperties: false,\n\t\tproperties: {\n\t\t\tkind: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The kind field of the entity.\",\n\t\t\t\tminLength: 1\n\t\t\t},\n\t\t\tnamespace: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The metadata.namespace field of the entity.\",\n\t\t\t\tminLength: 1\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The metadata.name field of the entity.\",\n\t\t\t\tminLength: 1\n\t\t\t}\n\t\t}\n\t},\n\trelation: {\n\t\t$id: \"#relation\",\n\t\ttype: \"object\",\n\t\tdescription: \"A directed relation from one entity to another.\",\n\t\trequired: [\n\t\t\t\"type\",\n\t\t\t\"targetRef\"\n\t\t],\n\t\tadditionalProperties: false,\n\t\tproperties: {\n\t\t\ttype: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tminLength: 1,\n\t\t\t\tpattern: \"^\\\\w+$\",\n\t\t\t\tdescription: \"The type of relation.\"\n\t\t\t},\n\t\t\ttarget: {\n\t\t\t\t$ref: \"#reference\",\n\t\t\t\tdeprecated: true\n\t\t\t},\n\t\t\ttargetRef: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tminLength: 1,\n\t\t\t\tdescription: \"The entity ref of the target of this relation.\"\n\t\t\t}\n\t\t}\n\t},\n\tstatus: {\n\t\t$id: \"#status\",\n\t\ttype: \"object\",\n\t\tdescription: \"The current status of the entity, as claimed by various sources.\",\n\t\trequired: [\n\t\t],\n\t\tadditionalProperties: true,\n\t\tproperties: {\n\t\t\titems: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: {\n\t\t\t\t\t$ref: \"#statusItem\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tstatusItem: {\n\t\t$id: \"#statusItem\",\n\t\ttype: \"object\",\n\t\tdescription: \"A specific status item on a well known format.\",\n\t\trequired: [\n\t\t\t\"type\",\n\t\t\t\"level\",\n\t\t\t\"message\"\n\t\t],\n\t\tadditionalProperties: true,\n\t\tproperties: {\n\t\t\ttype: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tminLength: 1\n\t\t\t},\n\t\t\tlevel: {\n\t\t\t\t$ref: \"#statusLevel\",\n\t\t\t\tdescription: \"The status level / severity of the status item.\"\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"A brief message describing the status, intended for human consumption.\"\n\t\t\t},\n\t\t\terror: {\n\t\t\t\t$ref: \"#error\",\n\t\t\t\tdescription: \"An optional serialized error object related to the status.\"\n\t\t\t}\n\t\t}\n\t},\n\tstatusLevel: {\n\t\t$id: \"#statusLevel\",\n\t\ttype: \"string\",\n\t\tdescription: \"A status level / severity.\",\n\t\t\"enum\": [\n\t\t\t\"info\",\n\t\t\t\"warning\",\n\t\t\t\"error\"\n\t\t]\n\t},\n\terror: {\n\t\t$id: \"#error\",\n\t\ttype: \"object\",\n\t\tdescription: \"A serialized error object.\",\n\t\trequired: [\n\t\t\t\"name\",\n\t\t\t\"message\"\n\t\t],\n\t\tadditionalProperties: true,\n\t\tproperties: {\n\t\t\tname: {\n\t\t\t\ttype: \"string\",\n\t\t\t\texamples: [\n\t\t\t\t\t\"Error\",\n\t\t\t\t\t\"InputError\"\n\t\t\t\t],\n\t\t\t\tdescription: \"The type name of the error\",\n\t\t\t\tminLength: 1\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The message of the error\"\n\t\t\t},\n\t\t\tcode: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"An error code associated with the error\"\n\t\t\t},\n\t\t\tstack: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"An error stack trace\"\n\t\t\t}\n\t\t}\n\t}\n};\nvar commonSchema = {\n\t$schema: $schema$8,\n\t$id: $id$8,\n\ttype: type,\n\tdescription: description$8,\n\tdefinitions: definitions\n};\n\nconst compiledSchemaCache = /* @__PURE__ */ new Map();\nconst refDependencyCandidates = [\n entityEnvelopeSchema,\n entitySchema,\n entityMetaSchema,\n commonSchema\n];\nfunction throwAjvError(errors) {\n if (!(errors == null ? void 0 : errors.length)) {\n throw new TypeError(\"Unknown error\");\n }\n const error = errors[0];\n throw new TypeError(\n `${error.instancePath || \"\"} ${error.message}${error.params ? ` - ${Object.entries(error.params).map(([key, val]) => `${key}: ${val}`).join(\", \")}` : \"\"}`\n );\n}\nfunction compileAjvSchema(schema, options = {}) {\n var _a;\n const disableCache = (_a = options == null ? void 0 : options.disableCache) != null ? _a : false;\n const cacheKey = disableCache ? \"\" : JSON.stringify(schema);\n if (!disableCache) {\n const cached = compiledSchemaCache.get(cacheKey);\n if (cached) {\n return cached;\n }\n }\n const extraSchemas = getExtraSchemas(schema);\n const ajv = new Ajv__default[\"default\"]({\n allowUnionTypes: true,\n allErrors: true,\n validateSchema: true\n });\n if (extraSchemas.length) {\n ajv.addSchema(extraSchemas, void 0, void 0, true);\n }\n const compiled = ajv.compile(schema);\n if (!disableCache) {\n compiledSchemaCache.set(cacheKey, compiled);\n }\n return compiled;\n}\nfunction getExtraSchemas(schema) {\n if (typeof schema !== \"object\") {\n return [];\n }\n const seen = /* @__PURE__ */ new Set();\n if (schema.$id) {\n seen.add(schema.$id);\n }\n const selected = new Array();\n const todo = [schema];\n while (todo.length) {\n const current = todo.pop();\n for (const ref of getAllRefs(current)) {\n if (!seen.has(ref)) {\n seen.add(ref);\n const match = refDependencyCandidates.find((c) => c.$id === ref);\n if (match) {\n selected.push(match);\n todo.push(match);\n }\n }\n }\n }\n return selected;\n}\nfunction* getAllRefs(schema) {\n const todo = [schema];\n while (todo.length) {\n const current = todo.pop();\n if (typeof current === \"object\" && current) {\n for (const [key, value] of Object.entries(current)) {\n if (key === \"$ref\" && typeof value === \"string\") {\n yield value.split(\"#\")[0];\n } else {\n todo.push(value);\n }\n }\n }\n }\n}\n\nfunction entityEnvelopeSchemaValidator(schema) {\n const validate = compileAjvSchema(\n schema ? schema : entityEnvelopeSchema\n );\n return (data) => {\n const result = validate(data);\n if (result === true) {\n return data;\n }\n throw throwAjvError(validate.errors);\n };\n}\n\nfunction entityKindSchemaValidator(schema) {\n const validate = compileAjvSchema(schema);\n return (data) => {\n var _a;\n const result = validate(data);\n if (result === true) {\n return data;\n }\n const softCandidates = (_a = validate.errors) == null ? void 0 : _a.filter(\n (e) => [\"/kind\", \"/apiVersion\"].includes(e.instancePath)\n );\n if ((softCandidates == null ? void 0 : softCandidates.length) && softCandidates.every((e) => e.keyword === \"enum\")) {\n return false;\n }\n throw throwAjvError(validate.errors);\n };\n}\n\nfunction entitySchemaValidator(schema) {\n const validate = compileAjvSchema(schema ? schema : entitySchema);\n return (data) => {\n const result = validate(data);\n if (result === true) {\n return data;\n }\n throw throwAjvError(validate.errors);\n };\n}\n\nclass KubernetesValidatorFunctions {\n static isValidApiVersion(value) {\n return CommonValidatorFunctions.isValidPrefixAndOrSuffix(\n value,\n \"/\",\n CommonValidatorFunctions.isValidDnsSubdomain,\n (n) => n.length >= 1 && n.length <= 63 && /^[a-z0-9A-Z]+$/.test(n)\n );\n }\n static isValidKind(value) {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 63 && /^[a-zA-Z][a-z0-9A-Z]*$/.test(value);\n }\n static isValidObjectName(value) {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 63 && /^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(value);\n }\n static isValidNamespace(value) {\n return CommonValidatorFunctions.isValidDnsLabel(value);\n }\n static isValidLabelKey(value) {\n return CommonValidatorFunctions.isValidPrefixAndOrSuffix(\n value,\n \"/\",\n CommonValidatorFunctions.isValidDnsSubdomain,\n KubernetesValidatorFunctions.isValidObjectName\n );\n }\n static isValidLabelValue(value) {\n return value === \"\" || KubernetesValidatorFunctions.isValidObjectName(value);\n }\n static isValidAnnotationKey(value) {\n return CommonValidatorFunctions.isValidPrefixAndOrSuffix(\n value,\n \"/\",\n CommonValidatorFunctions.isValidDnsSubdomain,\n KubernetesValidatorFunctions.isValidObjectName\n );\n }\n static isValidAnnotationValue(value) {\n return typeof value === \"string\";\n }\n}\n\nconst defaultValidators = {\n isValidApiVersion: KubernetesValidatorFunctions.isValidApiVersion,\n isValidKind: KubernetesValidatorFunctions.isValidKind,\n isValidEntityName: KubernetesValidatorFunctions.isValidObjectName,\n isValidNamespace: KubernetesValidatorFunctions.isValidNamespace,\n isValidLabelKey: KubernetesValidatorFunctions.isValidLabelKey,\n isValidLabelValue: KubernetesValidatorFunctions.isValidLabelValue,\n isValidAnnotationKey: KubernetesValidatorFunctions.isValidAnnotationKey,\n isValidAnnotationValue: KubernetesValidatorFunctions.isValidAnnotationValue,\n isValidTag: (value) => {\n return typeof value === \"string\" && value.length >= 1 && value.length <= 63 && /^[a-z0-9:+#]+(\\-[a-z0-9:+#]+)*$/.test(value);\n }\n};\nfunction makeValidator(overrides = {}) {\n return {\n ...defaultValidators,\n ...overrides\n };\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$2 = (obj, key, value) => {\n __defNormalProp$2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass FieldFormatEntityPolicy {\n constructor(validators = makeValidator()) {\n __publicField$2(this, \"validators\");\n this.validators = validators;\n }\n async enforce(entity) {\n var _a, _b, _c, _d, _e, _f, _g;\n function require2(field, value, validator) {\n if (value === void 0 || value === null) {\n throw new Error(`${field} must have a value`);\n }\n let isValid;\n try {\n isValid = validator(value);\n } catch (e) {\n throw new Error(`${field} could not be validated, ${e}`);\n }\n if (!isValid) {\n let expectation;\n switch (validator.name) {\n case \"isValidLabelValue\":\n case \"isValidObjectName\":\n expectation = \"a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total\";\n break;\n case \"isValidLabelKey\":\n case \"isValidApiVersion\":\n case \"isValidAnnotationKey\":\n expectation = \"a valid prefix and/or suffix\";\n break;\n case \"isValidNamespace\":\n case \"isValidDnsLabel\":\n expectation = \"a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total\";\n break;\n case \"isValidTag\":\n expectation = \"a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total\";\n break;\n case \"isValidAnnotationValue\":\n expectation = \"a string\";\n break;\n case \"isValidKind\":\n expectation = \"a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total\";\n break;\n case \"isValidUrl\":\n expectation = \"a string that is a valid url\";\n break;\n case \"isValidString\":\n case \"isNonEmptyString\":\n expectation = \"a non empty string\";\n break;\n default:\n expectation = void 0;\n break;\n }\n const message = expectation ? ` expected ${expectation} but found \"${value}\".` : \"\";\n throw new Error(\n `\"${field}\" is not valid;${message} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`\n );\n }\n }\n function optional(field, value, validator) {\n return value === void 0 || require2(field, value, validator);\n }\n require2(\"apiVersion\", entity.apiVersion, this.validators.isValidApiVersion);\n require2(\"kind\", entity.kind, this.validators.isValidKind);\n require2(\"metadata.name\", entity.metadata.name, this.validators.isValidEntityName);\n optional(\n \"metadata.namespace\",\n entity.metadata.namespace,\n this.validators.isValidNamespace\n );\n for (const [k, v] of Object.entries((_a = entity.metadata.labels) != null ? _a : [])) {\n require2(`labels.${k}`, k, this.validators.isValidLabelKey);\n require2(`labels.${k}`, v, this.validators.isValidLabelValue);\n }\n for (const [k, v] of Object.entries((_b = entity.metadata.annotations) != null ? _b : [])) {\n require2(`annotations.${k}`, k, this.validators.isValidAnnotationKey);\n require2(`annotations.${k}`, v, this.validators.isValidAnnotationValue);\n }\n const tags = (_c = entity.metadata.tags) != null ? _c : [];\n for (let i = 0; i < tags.length; ++i) {\n require2(`tags.${i}`, tags[i], this.validators.isValidTag);\n }\n const links = (_d = entity.metadata.links) != null ? _d : [];\n for (let i = 0; i < links.length; ++i) {\n require2(`links.${i}.url`, (_e = links[i]) == null ? void 0 : _e.url, CommonValidatorFunctions.isValidUrl);\n optional(\n `links.${i}.title`,\n (_f = links[i]) == null ? void 0 : _f.title,\n CommonValidatorFunctions.isNonEmptyString\n );\n optional(\n `links.${i}.icon`,\n (_g = links[i]) == null ? void 0 : _g.icon,\n KubernetesValidatorFunctions.isValidObjectName\n );\n }\n return entity;\n }\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nconst defaultKnownFields = [\"apiVersion\", \"kind\", \"metadata\", \"spec\"];\nclass NoForeignRootFieldsEntityPolicy {\n constructor(knownFields = defaultKnownFields) {\n __publicField$1(this, \"knownFields\");\n this.knownFields = knownFields;\n }\n async enforce(entity) {\n for (const field of Object.keys(entity)) {\n if (!this.knownFields.includes(field)) {\n throw new Error(`Unknown field ${field}`);\n }\n }\n return entity;\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass SchemaValidEntityPolicy {\n constructor() {\n __publicField(this, \"validate\");\n }\n async enforce(entity) {\n if (!this.validate) {\n const ajv = new Ajv__default[\"default\"]({ allowUnionTypes: true });\n this.validate = ajv.addSchema([commonSchema, entityMetaSchema], void 0, void 0, true).compile(entitySchema);\n }\n const result = this.validate(entity);\n if (result === true) {\n return entity;\n }\n const [error] = this.validate.errors || [];\n if (!error) {\n throw new Error(`Malformed envelope, Unknown error`);\n }\n throw new Error(\n `Malformed envelope, ${error.instancePath || \"\"} ${error.message}`\n );\n }\n}\n\nclass AllEntityPolicies {\n constructor(policies) {\n this.policies = policies;\n }\n async enforce(entity) {\n let result = entity;\n for (const policy of this.policies) {\n const output = await policy.enforce(result);\n if (!output) {\n throw new Error(\n `Policy ${policy.constructor.name} did not return a result`\n );\n }\n result = output;\n }\n return result;\n }\n}\nclass AnyEntityPolicy {\n constructor(policies) {\n this.policies = policies;\n }\n async enforce(entity) {\n for (const policy of this.policies) {\n const output = await policy.enforce(entity);\n if (output) {\n return output;\n }\n }\n throw new Error(`The entity did not match any known policy`);\n }\n}\nconst EntityPolicies = {\n allOf(policies) {\n return new AllEntityPolicies(policies);\n },\n oneOf(policies) {\n return new AnyEntityPolicy(policies);\n }\n};\n\nvar $schema$7 = \"http://json-schema.org/draft-07/schema\";\nvar $id$7 = \"ApiV1alpha1\";\nvar description$7 = \"An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.\";\nvar examples$7 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"API\",\n\t\tmetadata: {\n\t\t\tname: \"artist-api\",\n\t\t\tdescription: \"Retrieve artist details\",\n\t\t\tlabels: {\n\t\t\t\tproduct_name: \"Random value Generator\"\n\t\t\t},\n\t\t\tannotations: {\n\t\t\t\tdocs: \"https://github.com/..../tree/develop/doc\"\n\t\t\t}\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"openapi\",\n\t\t\tlifecycle: \"production\",\n\t\t\towner: \"artist-relations-team\",\n\t\t\tsystem: \"artist-engagement-portal\",\n\t\t\tdefinition: \"openapi: \\\"3.0.0\\\"\\ninfo:...\"\n\t\t}\n\t}\n];\nvar allOf$7 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"API\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"lifecycle\",\n\t\t\t\t\t\"owner\",\n\t\t\t\t\t\"definition\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The type of the API definition.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"openapi\",\n\t\t\t\t\t\t\t\"asyncapi\",\n\t\t\t\t\t\t\t\"graphql\",\n\t\t\t\t\t\t\t\"grpc\",\n\t\t\t\t\t\t\t\"trpc\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tlifecycle: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The lifecycle state of the API.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"experimental\",\n\t\t\t\t\t\t\t\"production\",\n\t\t\t\t\t\t\t\"deprecated\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\towner: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the owner of the API.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artist-relations-team\",\n\t\t\t\t\t\t\t\"user:john.johnson\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the system that the API belongs to.\",\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tdefinition: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The definition of the API, based on the format defined by the type.\",\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$7 = {\n\t$schema: $schema$7,\n\t$id: $id$7,\n\tdescription: description$7,\n\texamples: examples$7,\n\tallOf: allOf$7\n};\n\nfunction ajvCompiledJsonSchemaValidator(schema) {\n let validator;\n return {\n async check(data) {\n if (!validator) {\n validator = entityKindSchemaValidator(schema);\n }\n return validator(data) === data;\n }\n };\n}\n\nconst apiEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$7);\n\nvar $schema$6 = \"http://json-schema.org/draft-07/schema\";\nvar $id$6 = \"ComponentV1alpha1\";\nvar description$6 = \"A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \\\"unit of software\\\", usually with a distinct deployable or linkable artifact.\";\nvar examples$6 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Component\",\n\t\tmetadata: {\n\t\t\tname: \"LoremService\",\n\t\t\tdescription: \"Creates Lorems like a pro.\",\n\t\t\tlabels: {\n\t\t\t\tproduct_name: \"Random value Generator\"\n\t\t\t},\n\t\t\tannotations: {\n\t\t\t\tdocs: \"https://github.com/..../tree/develop/doc\"\n\t\t\t}\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"service\",\n\t\t\tlifecycle: \"production\",\n\t\t\towner: \"tools\"\n\t\t}\n\t}\n];\nvar allOf$6 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"Component\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"lifecycle\",\n\t\t\t\t\t\"owner\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The type of component.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"service\",\n\t\t\t\t\t\t\t\"website\",\n\t\t\t\t\t\t\t\"library\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tlifecycle: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The lifecycle state of the component.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"experimental\",\n\t\t\t\t\t\t\t\"production\",\n\t\t\t\t\t\t\t\"deprecated\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\towner: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the owner of the component.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artist-relations-team\",\n\t\t\t\t\t\t\t\"user:john.johnson\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the system that the component belongs to.\",\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tsubcomponentOf: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to another component of which the component is a part.\",\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tprovidesApis: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"An array of entity references to the APIs that are provided by the component.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tconsumesApis: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"An array of entity references to the APIs that are consumed by the component.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tdependsOn: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"An array of references to other entities that the component depends on to function.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$6 = {\n\t$schema: $schema$6,\n\t$id: $id$6,\n\tdescription: description$6,\n\texamples: examples$6,\n\tallOf: allOf$6\n};\n\nconst componentEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$6);\n\nvar $schema$5 = \"http://json-schema.org/draft-07/schema\";\nvar $id$5 = \"DomainV1alpha1\";\nvar description$5 = \"A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.\";\nvar examples$5 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Domain\",\n\t\tmetadata: {\n\t\t\tname: \"artists\",\n\t\t\tdescription: \"Everything about artists\"\n\t\t},\n\t\tspec: {\n\t\t\towner: \"artist-relations-team\"\n\t\t}\n\t}\n];\nvar allOf$5 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"Domain\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"owner\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\towner: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the owner of the component.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artist-relations-team\",\n\t\t\t\t\t\t\t\"user:john.johnson\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$5 = {\n\t$schema: $schema$5,\n\t$id: $id$5,\n\tdescription: description$5,\n\texamples: examples$5,\n\tallOf: allOf$5\n};\n\nconst domainEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$5);\n\nvar $schema$4 = \"http://json-schema.org/draft-07/schema\";\nvar $id$4 = \"GroupV1alpha1\";\nvar description$4 = \"A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.\";\nvar examples$4 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Group\",\n\t\tmetadata: {\n\t\t\tname: \"infrastructure\",\n\t\t\tdescription: \"The infra business unit\"\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"business-unit\",\n\t\t\tprofile: {\n\t\t\t\tdisplayName: \"Infrastructure\",\n\t\t\t\temail: \"infrastructure@example.com\",\n\t\t\t\tpicture: \"https://example.com/groups/bu-infrastructure.jpeg\"\n\t\t\t},\n\t\t\tparent: \"ops\",\n\t\t\tchildren: [\n\t\t\t\t\"backstage\",\n\t\t\t\t\"other\"\n\t\t\t]\n\t\t}\n\t}\n];\nvar allOf$4 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"Group\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"children\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"team\",\n\t\t\t\t\t\t\t\"business-unit\",\n\t\t\t\t\t\t\t\"product-area\",\n\t\t\t\t\t\t\t\"root\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tprofile: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tdescription: \"Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.\",\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tdisplayName: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"A simple display name to present to users.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"Infrastructure\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temail: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"An email where this entity can be reached.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"infrastructure@example.com\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpicture: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"The URL of an image that represents this entity.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"https://example.com/groups/bu-infrastructure.jpeg\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tparent: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"ops\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tchildren: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\"backstage\",\n\t\t\t\t\t\t\t\t\"other\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tmembers: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"The users that are members of this group. The entries of this array are entity references.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\"jdoe\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$4 = {\n\t$schema: $schema$4,\n\t$id: $id$4,\n\tdescription: description$4,\n\texamples: examples$4,\n\tallOf: allOf$4\n};\n\nconst groupEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$4);\n\nvar $schema$3 = \"http://json-schema.org/draft-07/schema\";\nvar $id$3 = \"LocationV1alpha1\";\nvar description$3 = \"A location is a marker that references other places to look for catalog data.\";\nvar examples$3 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Location\",\n\t\tmetadata: {\n\t\t\tname: \"org-data\"\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"url\",\n\t\t\ttargets: [\n\t\t\t\t\"http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml\",\n\t\t\t\t\"http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml\"\n\t\t\t]\n\t\t}\n\t}\n];\nvar allOf$3 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"Location\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"url\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"./details/catalog-info.yaml\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\ttargets: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\"./details/catalog-info.yaml\",\n\t\t\t\t\t\t\t\t\"http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tpresence: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"Whether the presence of the location target is required and it should be considered an error if it can not be found\",\n\t\t\t\t\t\t\"default\": \"required\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\t\"enum\": [\n\t\t\t\t\t\t\t\"required\",\n\t\t\t\t\t\t\t\"optional\"\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$3 = {\n\t$schema: $schema$3,\n\t$id: $id$3,\n\tdescription: description$3,\n\texamples: examples$3,\n\tallOf: allOf$3\n};\n\nconst locationEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$3);\n\nconst RELATION_OWNED_BY = \"ownedBy\";\nconst RELATION_OWNER_OF = \"ownerOf\";\nconst RELATION_CONSUMES_API = \"consumesApi\";\nconst RELATION_API_CONSUMED_BY = \"apiConsumedBy\";\nconst RELATION_PROVIDES_API = \"providesApi\";\nconst RELATION_API_PROVIDED_BY = \"apiProvidedBy\";\nconst RELATION_DEPENDS_ON = \"dependsOn\";\nconst RELATION_DEPENDENCY_OF = \"dependencyOf\";\nconst RELATION_PARENT_OF = \"parentOf\";\nconst RELATION_CHILD_OF = \"childOf\";\nconst RELATION_MEMBER_OF = \"memberOf\";\nconst RELATION_HAS_MEMBER = \"hasMember\";\nconst RELATION_PART_OF = \"partOf\";\nconst RELATION_HAS_PART = \"hasPart\";\n\nvar $schema$2 = \"http://json-schema.org/draft-07/schema\";\nvar $id$2 = \"ResourceV1alpha1\";\nvar description$2 = \"A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.\";\nvar examples$2 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"Resource\",\n\t\tmetadata: {\n\t\t\tname: \"artists-db\",\n\t\t\tdescription: \"Stores artist details\"\n\t\t},\n\t\tspec: {\n\t\t\ttype: \"database\",\n\t\t\towner: \"artist-relations-team\",\n\t\t\tsystem: \"artist-engagement-portal\"\n\t\t}\n\t}\n];\nvar allOf$2 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"Resource\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"owner\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"The type of resource.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"database\",\n\t\t\t\t\t\t\t\"s3-bucket\",\n\t\t\t\t\t\t\t\"cluster\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\towner: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the owner of the resource.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artist-relations-team\",\n\t\t\t\t\t\t\t\"user:john.johnson\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tdependsOn: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"An array of references to other entities that the resource depends on to function.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the system that the resource belongs to.\",\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$2 = {\n\t$schema: $schema$2,\n\t$id: $id$2,\n\tdescription: description$2,\n\texamples: examples$2,\n\tallOf: allOf$2\n};\n\nconst resourceEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$2);\n\nvar $schema$1 = \"http://json-schema.org/draft-07/schema\";\nvar $id$1 = \"SystemV1alpha1\";\nvar description$1 = \"A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.\";\nvar examples$1 = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"System\",\n\t\tmetadata: {\n\t\t\tname: \"artist-engagement-portal\",\n\t\t\tdescription: \"Handy tools to keep artists in the loop\"\n\t\t},\n\t\tspec: {\n\t\t\towner: \"artist-relations-team\",\n\t\t\tdomain: \"artists\"\n\t\t}\n\t}\n];\nvar allOf$1 = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"System\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"owner\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\towner: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the owner of the component.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artist-relations-team\",\n\t\t\t\t\t\t\t\"user:john.johnson\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t},\n\t\t\t\t\tdomain: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"An entity reference to the domain that the system belongs to.\",\n\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\"artists\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema$1 = {\n\t$schema: $schema$1,\n\t$id: $id$1,\n\tdescription: description$1,\n\texamples: examples$1,\n\tallOf: allOf$1\n};\n\nconst systemEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema$1);\n\nvar $schema = \"http://json-schema.org/draft-07/schema\";\nvar $id = \"UserV1alpha1\";\nvar description = \"A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.\";\nvar examples = [\n\t{\n\t\tapiVersion: \"backstage.io/v1alpha1\",\n\t\tkind: \"User\",\n\t\tmetadata: {\n\t\t\tname: \"jdoe\"\n\t\t},\n\t\tspec: {\n\t\t\tprofile: {\n\t\t\t\tdisplayName: \"Jenny Doe\",\n\t\t\t\temail: \"jenny-doe@example.com\",\n\t\t\t\tpicture: \"https://example.com/staff/jenny-with-party-hat.jpeg\"\n\t\t\t},\n\t\t\tmemberOf: [\n\t\t\t\t\"team-b\",\n\t\t\t\t\"employees\"\n\t\t\t]\n\t\t}\n\t}\n];\nvar allOf = [\n\t{\n\t\t$ref: \"Entity\"\n\t},\n\t{\n\t\ttype: \"object\",\n\t\trequired: [\n\t\t\t\"spec\"\n\t\t],\n\t\tproperties: {\n\t\t\tapiVersion: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"backstage.io/v1alpha1\",\n\t\t\t\t\t\"backstage.io/v1beta1\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\t\"enum\": [\n\t\t\t\t\t\"User\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tspec: {\n\t\t\t\ttype: \"object\",\n\t\t\t\trequired: [\n\t\t\t\t\t\"memberOf\"\n\t\t\t\t],\n\t\t\t\tproperties: {\n\t\t\t\t\tprofile: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tdescription: \"Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.\",\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tdisplayName: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"A simple display name to present to users.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"Jenny Doe\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temail: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"An email where this user can be reached.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"jenny-doe@example.com\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpicture: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\tdescription: \"The URL of an image that represents this user.\",\n\t\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\t\"https://example.com/staff/jenny-with-party-hat.jpeg\"\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tmemberOf: {\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdescription: \"The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.\",\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\texamples: [\n\t\t\t\t\t\t\t\t\"team-b\",\n\t\t\t\t\t\t\t\t\"employees\"\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tminLength: 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n];\nvar schema = {\n\t$schema: $schema,\n\t$id: $id,\n\tdescription: description,\n\texamples: examples,\n\tallOf: allOf\n};\n\nconst userEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator(schema);\n\nconst ANNOTATION_LOCATION = \"backstage.io/managed-by-location\";\nconst ANNOTATION_ORIGIN_LOCATION = \"backstage.io/managed-by-origin-location\";\nconst ANNOTATION_SOURCE_LOCATION = \"backstage.io/source-location\";\n\nconst scriptProtocolPattern = (\n // eslint-disable-next-line no-control-regex\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i\n);\nfunction parseLocationRef(ref) {\n if (typeof ref !== \"string\") {\n throw new TypeError(\n `Unable to parse location ref '${ref}', unexpected argument ${typeof ref}`\n );\n }\n const splitIndex = ref.indexOf(\":\");\n if (splitIndex < 0) {\n throw new TypeError(\n `Unable to parse location ref '${ref}', expected ':', e.g. 'url:https://host/path'`\n );\n }\n const type = ref.substring(0, splitIndex).trim();\n const target = ref.substring(splitIndex + 1).trim();\n if (!type || !target) {\n throw new TypeError(\n `Unable to parse location ref '${ref}', expected ':', e.g. 'url:https://host/path'`\n );\n }\n if (type === \"http\" || type === \"https\") {\n throw new TypeError(\n `Invalid location ref '${ref}', please prefix it with 'url:', e.g. 'url:${ref}'`\n );\n }\n if (scriptProtocolPattern.test(target)) {\n throw new TypeError(\n `Invalid location ref '${ref}', target is a javascript: URL`\n );\n }\n return { type, target };\n}\nfunction stringifyLocationRef(ref) {\n const { type, target } = ref;\n if (!type) {\n throw new TypeError(`Unable to stringify location ref, empty type`);\n } else if (!target) {\n throw new TypeError(`Unable to stringify location ref, empty target`);\n }\n if (scriptProtocolPattern.test(target)) {\n throw new TypeError(\n `Invalid location ref '${type}:${target}', target is a javascript: URL`\n );\n }\n return `${type}:${target}`;\n}\nfunction getEntitySourceLocation(entity) {\n var _a, _b, _c, _d, _e;\n const locationRef = (_e = (_b = (_a = entity.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b[ANNOTATION_SOURCE_LOCATION]) != null ? _e : (_d = (_c = entity.metadata) == null ? void 0 : _c.annotations) == null ? void 0 : _d[ANNOTATION_LOCATION];\n if (!locationRef) {\n throw new Error(\n `Entity '${stringifyEntityRef(entity)}' is missing location`\n );\n }\n return parseLocationRef(locationRef);\n}\n\nexports.ANNOTATION_EDIT_URL = ANNOTATION_EDIT_URL;\nexports.ANNOTATION_KUBERNETES_API_SERVER = ANNOTATION_KUBERNETES_API_SERVER;\nexports.ANNOTATION_KUBERNETES_API_SERVER_CA = ANNOTATION_KUBERNETES_API_SERVER_CA;\nexports.ANNOTATION_KUBERNETES_AUTH_PROVIDER = ANNOTATION_KUBERNETES_AUTH_PROVIDER;\nexports.ANNOTATION_LOCATION = ANNOTATION_LOCATION;\nexports.ANNOTATION_ORIGIN_LOCATION = ANNOTATION_ORIGIN_LOCATION;\nexports.ANNOTATION_SOURCE_LOCATION = ANNOTATION_SOURCE_LOCATION;\nexports.ANNOTATION_VIEW_URL = ANNOTATION_VIEW_URL;\nexports.CommonValidatorFunctions = CommonValidatorFunctions;\nexports.DEFAULT_NAMESPACE = DEFAULT_NAMESPACE;\nexports.DefaultNamespaceEntityPolicy = DefaultNamespaceEntityPolicy;\nexports.EntityPolicies = EntityPolicies;\nexports.FieldFormatEntityPolicy = FieldFormatEntityPolicy;\nexports.GroupDefaultParentEntityPolicy = GroupDefaultParentEntityPolicy;\nexports.KubernetesValidatorFunctions = KubernetesValidatorFunctions;\nexports.NoForeignRootFieldsEntityPolicy = NoForeignRootFieldsEntityPolicy;\nexports.RELATION_API_CONSUMED_BY = RELATION_API_CONSUMED_BY;\nexports.RELATION_API_PROVIDED_BY = RELATION_API_PROVIDED_BY;\nexports.RELATION_CHILD_OF = RELATION_CHILD_OF;\nexports.RELATION_CONSUMES_API = RELATION_CONSUMES_API;\nexports.RELATION_DEPENDENCY_OF = RELATION_DEPENDENCY_OF;\nexports.RELATION_DEPENDS_ON = RELATION_DEPENDS_ON;\nexports.RELATION_HAS_MEMBER = RELATION_HAS_MEMBER;\nexports.RELATION_HAS_PART = RELATION_HAS_PART;\nexports.RELATION_MEMBER_OF = RELATION_MEMBER_OF;\nexports.RELATION_OWNED_BY = RELATION_OWNED_BY;\nexports.RELATION_OWNER_OF = RELATION_OWNER_OF;\nexports.RELATION_PARENT_OF = RELATION_PARENT_OF;\nexports.RELATION_PART_OF = RELATION_PART_OF;\nexports.RELATION_PROVIDES_API = RELATION_PROVIDES_API;\nexports.SchemaValidEntityPolicy = SchemaValidEntityPolicy;\nexports.apiEntityV1alpha1Validator = apiEntityV1alpha1Validator;\nexports.componentEntityV1alpha1Validator = componentEntityV1alpha1Validator;\nexports.domainEntityV1alpha1Validator = domainEntityV1alpha1Validator;\nexports.entityEnvelopeSchemaValidator = entityEnvelopeSchemaValidator;\nexports.entityKindSchemaValidator = entityKindSchemaValidator;\nexports.entitySchemaValidator = entitySchemaValidator;\nexports.getCompoundEntityRef = getCompoundEntityRef;\nexports.getEntitySourceLocation = getEntitySourceLocation;\nexports.groupEntityV1alpha1Validator = groupEntityV1alpha1Validator;\nexports.isApiEntity = isApiEntity;\nexports.isComponentEntity = isComponentEntity;\nexports.isDomainEntity = isDomainEntity;\nexports.isGroupEntity = isGroupEntity;\nexports.isLocationEntity = isLocationEntity;\nexports.isResourceEntity = isResourceEntity;\nexports.isSystemEntity = isSystemEntity;\nexports.isUserEntity = isUserEntity;\nexports.locationEntityV1alpha1Validator = locationEntityV1alpha1Validator;\nexports.makeValidator = makeValidator;\nexports.parseEntityRef = parseEntityRef;\nexports.parseLocationRef = parseLocationRef;\nexports.resourceEntityV1alpha1Validator = resourceEntityV1alpha1Validator;\nexports.stringifyEntityRef = stringifyEntityRef;\nexports.stringifyLocationRef = stringifyLocationRef;\nexports.systemEntityV1alpha1Validator = systemEntityV1alpha1Validator;\nexports.userEntityV1alpha1Validator = userEntityV1alpha1Validator;\n//# sourceMappingURL=index.cjs.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar serializeError$1 = require('serialize-error');\n\nfunction isError(value) {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n return false;\n }\n const maybe = value;\n if (typeof maybe.name !== \"string\" || maybe.name === \"\") {\n return false;\n }\n if (typeof maybe.message !== \"string\") {\n return false;\n }\n return true;\n}\nfunction assertError(value) {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new Error(`Encountered invalid error, not an object, got '${value}'`);\n }\n const maybe = value;\n if (typeof maybe.name !== \"string\" || maybe.name === \"\") {\n throw new Error(`Encountered error object without a name, got '${value}'`);\n }\n if (typeof maybe.message !== \"string\") {\n throw new Error(\n `Encountered error object without a message, got '${value}'`\n );\n }\n}\n\nfunction serializeError(error, options) {\n const serialized = serializeError$1.serializeError(error);\n const result = {\n name: \"Unknown\",\n message: \"\",\n ...serialized\n };\n if (!(options == null ? void 0 : options.includeStack)) {\n delete result.stack;\n }\n return result;\n}\nfunction deserializeError(data) {\n const result = serializeError$1.deserializeError(data);\n if (!data.stack) {\n result.stack = void 0;\n }\n return result;\n}\nfunction stringifyError(error) {\n if (isError(error)) {\n const str = String(error);\n return str !== \"[object Object]\" ? str : `${error.name}: ${error.message}`;\n }\n return `unknown error '${error}'`;\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$2 = (obj, key, value) => {\n __defNormalProp$2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass CustomErrorBase extends Error {\n constructor(message, cause) {\n var _a;\n let fullMessage = message;\n if (cause !== void 0) {\n const causeStr = stringifyError(cause);\n if (fullMessage) {\n fullMessage += `; caused by ${causeStr}`;\n } else {\n fullMessage = `caused by ${causeStr}`;\n }\n }\n super(fullMessage);\n /**\n * An inner error that caused this error to be thrown, if any.\n */\n __publicField$2(this, \"cause\");\n (_a = Error.captureStackTrace) == null ? void 0 : _a.call(Error, this, this.constructor);\n if (!this.name || this.name === \"Error\") {\n const baseName = this.constructor.name;\n if (baseName !== \"Error\") {\n this.name = this.constructor.name;\n }\n }\n this.cause = isError(cause) ? cause : void 0;\n }\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass InputError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"InputError\");\n }\n}\nclass AuthenticationError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"AuthenticationError\");\n }\n}\nclass NotAllowedError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"NotAllowedError\");\n }\n}\nclass NotFoundError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"NotFoundError\");\n }\n}\nclass ConflictError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"ConflictError\");\n }\n}\nclass NotModifiedError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"NotModifiedError\");\n }\n}\nclass NotImplementedError extends CustomErrorBase {\n constructor() {\n super(...arguments);\n __publicField$1(this, \"name\", \"NotImplementedError\");\n }\n}\nclass ServiceUnavailableError extends CustomErrorBase {\n}\nclass ForwardedError extends CustomErrorBase {\n constructor(message, cause) {\n super(message, cause);\n this.name = isError(cause) ? cause.name : \"Error\";\n }\n}\n\nasync function parseErrorResponseBody(response) {\n var _a;\n try {\n const text = await response.text();\n if (text) {\n if ((_a = response.headers.get(\"content-type\")) == null ? void 0 : _a.startsWith(\"application/json\")) {\n try {\n const body = JSON.parse(text);\n if (body.error && body.response) {\n return body;\n }\n } catch {\n }\n }\n return {\n error: {\n name: \"Error\",\n message: `Request failed with status ${response.status} ${response.statusText}, ${text}`\n },\n response: {\n statusCode: response.status\n }\n };\n }\n } catch {\n }\n return {\n error: {\n name: \"Error\",\n message: `Request failed with status ${response.status} ${response.statusText}`\n },\n response: {\n statusCode: response.status\n }\n };\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass ResponseError extends Error {\n constructor(props) {\n super(props.message);\n /**\n * The actual response, as seen by the client.\n *\n * Note that the body of this response is always consumed. Its parsed form is\n * in the `body` field.\n */\n __publicField(this, \"response\");\n /**\n * The parsed JSON error body, as sent by the server.\n */\n __publicField(this, \"body\");\n /**\n * The Error cause, as seen by the remote server. This is parsed out of the\n * JSON error body.\n *\n * This error always has the plain Error constructor, however all\n * serializable enumerable fields on the remote error including its name are\n * preserved. Therefore, if you want to check the error type, use its name\n * property rather than checking typeof or its constructor or prototype.\n */\n __publicField(this, \"cause\");\n this.name = \"ResponseError\";\n this.response = props.response;\n this.body = props.data;\n this.cause = props.cause;\n }\n /**\n * Constructs a ResponseError based on a failed response.\n *\n * Assumes that the response has already been checked to be not ok. This\n * function consumes the body of the response, and assumes that it hasn't\n * been consumed before.\n */\n static async fromResponse(response) {\n const data = await parseErrorResponseBody(response);\n const status = data.response.statusCode || response.status;\n const statusText = data.error.name || response.statusText;\n const message = `Request failed with ${status} ${statusText}`;\n const cause = deserializeError(data.error);\n return new ResponseError({\n message,\n response,\n data,\n cause\n });\n }\n}\n\nexports.AuthenticationError = AuthenticationError;\nexports.ConflictError = ConflictError;\nexports.CustomErrorBase = CustomErrorBase;\nexports.ForwardedError = ForwardedError;\nexports.InputError = InputError;\nexports.NotAllowedError = NotAllowedError;\nexports.NotFoundError = NotFoundError;\nexports.NotImplementedError = NotImplementedError;\nexports.NotModifiedError = NotModifiedError;\nexports.ResponseError = ResponseError;\nexports.ServiceUnavailableError = ServiceUnavailableError;\nexports.assertError = assertError;\nexports.deserializeError = deserializeError;\nexports.isError = isError;\nexports.parseErrorResponseBody = parseErrorResponseBody;\nexports.serializeError = serializeError;\nexports.stringifyError = stringifyError;\n//# sourceMappingURL=index.cjs.js.map\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./src\"));\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs_1 = require(\"fs\");\nconst debug_1 = __importDefault(require(\"debug\"));\nconst log = debug_1.default('@kwsites/file-exists');\nfunction check(path, isFile, isDirectory) {\n log(`checking %s`, path);\n try {\n const stat = fs_1.statSync(path);\n if (stat.isFile() && isFile) {\n log(`[OK] path represents a file`);\n return true;\n }\n if (stat.isDirectory() && isDirectory) {\n log(`[OK] path represents a directory`);\n return true;\n }\n log(`[FAIL] path represents something other than a file or directory`);\n return false;\n }\n catch (e) {\n if (e.code === 'ENOENT') {\n log(`[FAIL] path is not accessible: %o`, e);\n return false;\n }\n log(`[FATAL] %o`, e);\n throw e;\n }\n}\n/**\n * Synchronous validation of a path existing either as a file or as a directory.\n *\n * @param {string} path The path to check\n * @param {number} type One or both of the exported numeric constants\n */\nfunction exists(path, type = exports.READABLE) {\n return check(path, (type & exports.FILE) > 0, (type & exports.FOLDER) > 0);\n}\nexports.exists = exists;\n/**\n * Constant representing a file\n */\nexports.FILE = 1;\n/**\n * Constant representing a folder\n */\nexports.FOLDER = 2;\n/**\n * Constant representing either a file or a folder\n */\nexports.READABLE = exports.FILE + exports.FOLDER;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDeferred = exports.deferred = void 0;\n/**\n * Creates a new `DeferredPromise`\n *\n * ```typescript\n import {deferred} from '@kwsites/promise-deferred`;\n ```\n */\nfunction deferred() {\n let done;\n let fail;\n let status = 'pending';\n const promise = new Promise((_done, _fail) => {\n done = _done;\n fail = _fail;\n });\n return {\n promise,\n done(result) {\n if (status === 'pending') {\n status = 'resolved';\n done(result);\n }\n },\n fail(error) {\n if (status === 'pending') {\n status = 'rejected';\n fail(error);\n }\n },\n get fulfilled() {\n return status !== 'pending';\n },\n get status() {\n return status;\n },\n };\n}\nexports.deferred = deferred;\n/**\n * Alias of the exported `deferred` function, to help consumers wanting to use `deferred` as the\n * local variable name rather than the factory import name, without needing to rename on import.\n *\n * ```typescript\n import {createDeferred} from '@kwsites/promise-deferred`;\n ```\n */\nexports.createDeferred = deferred;\n/**\n * Default export allows use as:\n *\n * ```typescript\n import deferred from '@kwsites/promise-deferred`;\n ```\n */\nexports.default = deferred;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nconst core_1 = require(\"./core\");\nconst draft7_1 = require(\"./vocabularies/draft7\");\nconst discriminator_1 = require(\"./vocabularies/discriminator\");\nconst draft7MetaSchema = require(\"./refs/json-schema-draft-07.json\");\nconst META_SUPPORT_DATA = [\"/properties\"];\nconst META_SCHEMA_ID = \"http://json-schema.org/draft-07/schema\";\nclass Ajv extends core_1.default {\n _addVocabularies() {\n super._addVocabularies();\n draft7_1.default.forEach((v) => this.addVocabulary(v));\n if (this.opts.discriminator)\n this.addKeyword(discriminator_1.default);\n }\n _addDefaultMetaSchema() {\n super._addDefaultMetaSchema();\n if (!this.opts.meta)\n return;\n const metaSchema = this.opts.$data\n ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA)\n : draft7MetaSchema;\n this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);\n this.refs[\"http://json-schema.org/schema\"] = META_SCHEMA_ID;\n }\n defaultMeta() {\n return (this.opts.defaultMeta =\n super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined));\n }\n}\nmodule.exports = exports = Ajv;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = Ajv;\nvar validate_1 = require(\"./compile/validate\");\nObject.defineProperty(exports, \"KeywordCxt\", { enumerable: true, get: function () { return validate_1.KeywordCxt; } });\nvar codegen_1 = require(\"./compile/codegen\");\nObject.defineProperty(exports, \"_\", { enumerable: true, get: function () { return codegen_1._; } });\nObject.defineProperty(exports, \"str\", { enumerable: true, get: function () { return codegen_1.str; } });\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return codegen_1.stringify; } });\nObject.defineProperty(exports, \"nil\", { enumerable: true, get: function () { return codegen_1.nil; } });\nObject.defineProperty(exports, \"Name\", { enumerable: true, get: function () { return codegen_1.Name; } });\nObject.defineProperty(exports, \"CodeGen\", { enumerable: true, get: function () { return codegen_1.CodeGen; } });\nvar validation_error_1 = require(\"./runtime/validation_error\");\nObject.defineProperty(exports, \"ValidationError\", { enumerable: true, get: function () { return validation_error_1.default; } });\nvar ref_error_1 = require(\"./compile/ref_error\");\nObject.defineProperty(exports, \"MissingRefError\", { enumerable: true, get: function () { return ref_error_1.default; } });\n//# sourceMappingURL=ajv.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;\nclass _CodeOrName {\n}\nexports._CodeOrName = _CodeOrName;\nexports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nclass Name extends _CodeOrName {\n constructor(s) {\n super();\n if (!exports.IDENTIFIER.test(s))\n throw new Error(\"CodeGen: name must be a valid identifier\");\n this.str = s;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n return false;\n }\n get names() {\n return { [this.str]: 1 };\n }\n}\nexports.Name = Name;\nclass _Code extends _CodeOrName {\n constructor(code) {\n super();\n this._items = typeof code === \"string\" ? [code] : code;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n if (this._items.length > 1)\n return false;\n const item = this._items[0];\n return item === \"\" || item === '\"\"';\n }\n get str() {\n var _a;\n return ((_a = this._str) !== null && _a !== void 0 ? _a : (this._str = this._items.reduce((s, c) => `${s}${c}`, \"\")));\n }\n get names() {\n var _a;\n return ((_a = this._names) !== null && _a !== void 0 ? _a : (this._names = this._items.reduce((names, c) => {\n if (c instanceof Name)\n names[c.str] = (names[c.str] || 0) + 1;\n return names;\n }, {})));\n }\n}\nexports._Code = _Code;\nexports.nil = new _Code(\"\");\nfunction _(strs, ...args) {\n const code = [strs[0]];\n let i = 0;\n while (i < args.length) {\n addCodeArg(code, args[i]);\n code.push(strs[++i]);\n }\n return new _Code(code);\n}\nexports._ = _;\nconst plus = new _Code(\"+\");\nfunction str(strs, ...args) {\n const expr = [safeStringify(strs[0])];\n let i = 0;\n while (i < args.length) {\n expr.push(plus);\n addCodeArg(expr, args[i]);\n expr.push(plus, safeStringify(strs[++i]));\n }\n optimize(expr);\n return new _Code(expr);\n}\nexports.str = str;\nfunction addCodeArg(code, arg) {\n if (arg instanceof _Code)\n code.push(...arg._items);\n else if (arg instanceof Name)\n code.push(arg);\n else\n code.push(interpolate(arg));\n}\nexports.addCodeArg = addCodeArg;\nfunction optimize(expr) {\n let i = 1;\n while (i < expr.length - 1) {\n if (expr[i] === plus) {\n const res = mergeExprItems(expr[i - 1], expr[i + 1]);\n if (res !== undefined) {\n expr.splice(i - 1, 3, res);\n continue;\n }\n expr[i++] = \"+\";\n }\n i++;\n }\n}\nfunction mergeExprItems(a, b) {\n if (b === '\"\"')\n return a;\n if (a === '\"\"')\n return b;\n if (typeof a == \"string\") {\n if (b instanceof Name || a[a.length - 1] !== '\"')\n return;\n if (typeof b != \"string\")\n return `${a.slice(0, -1)}${b}\"`;\n if (b[0] === '\"')\n return a.slice(0, -1) + b.slice(1);\n return;\n }\n if (typeof b == \"string\" && b[0] === '\"' && !(a instanceof Name))\n return `\"${a}${b.slice(1)}`;\n return;\n}\nfunction strConcat(c1, c2) {\n return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str `${c1}${c2}`;\n}\nexports.strConcat = strConcat;\n// TODO do not allow arrays here\nfunction interpolate(x) {\n return typeof x == \"number\" || typeof x == \"boolean\" || x === null\n ? x\n : safeStringify(Array.isArray(x) ? x.join(\",\") : x);\n}\nfunction stringify(x) {\n return new _Code(safeStringify(x));\n}\nexports.stringify = stringify;\nfunction safeStringify(x) {\n return JSON.stringify(x)\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\");\n}\nexports.safeStringify = safeStringify;\nfunction getProperty(key) {\n return typeof key == \"string\" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _ `[${key}]`;\n}\nexports.getProperty = getProperty;\n//Does best effort to format the name properly\nfunction getEsmExportName(key) {\n if (typeof key == \"string\" && exports.IDENTIFIER.test(key)) {\n return new _Code(`${key}`);\n }\n throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`);\n}\nexports.getEsmExportName = getEsmExportName;\nfunction regexpCode(rx) {\n return new _Code(rx.toString());\n}\nexports.regexpCode = regexpCode;\n//# sourceMappingURL=code.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;\nconst code_1 = require(\"./code\");\nconst scope_1 = require(\"./scope\");\nvar code_2 = require(\"./code\");\nObject.defineProperty(exports, \"_\", { enumerable: true, get: function () { return code_2._; } });\nObject.defineProperty(exports, \"str\", { enumerable: true, get: function () { return code_2.str; } });\nObject.defineProperty(exports, \"strConcat\", { enumerable: true, get: function () { return code_2.strConcat; } });\nObject.defineProperty(exports, \"nil\", { enumerable: true, get: function () { return code_2.nil; } });\nObject.defineProperty(exports, \"getProperty\", { enumerable: true, get: function () { return code_2.getProperty; } });\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return code_2.stringify; } });\nObject.defineProperty(exports, \"regexpCode\", { enumerable: true, get: function () { return code_2.regexpCode; } });\nObject.defineProperty(exports, \"Name\", { enumerable: true, get: function () { return code_2.Name; } });\nvar scope_2 = require(\"./scope\");\nObject.defineProperty(exports, \"Scope\", { enumerable: true, get: function () { return scope_2.Scope; } });\nObject.defineProperty(exports, \"ValueScope\", { enumerable: true, get: function () { return scope_2.ValueScope; } });\nObject.defineProperty(exports, \"ValueScopeName\", { enumerable: true, get: function () { return scope_2.ValueScopeName; } });\nObject.defineProperty(exports, \"varKinds\", { enumerable: true, get: function () { return scope_2.varKinds; } });\nexports.operators = {\n GT: new code_1._Code(\">\"),\n GTE: new code_1._Code(\">=\"),\n LT: new code_1._Code(\"<\"),\n LTE: new code_1._Code(\"<=\"),\n EQ: new code_1._Code(\"===\"),\n NEQ: new code_1._Code(\"!==\"),\n NOT: new code_1._Code(\"!\"),\n OR: new code_1._Code(\"||\"),\n AND: new code_1._Code(\"&&\"),\n ADD: new code_1._Code(\"+\"),\n};\nclass Node {\n optimizeNodes() {\n return this;\n }\n optimizeNames(_names, _constants) {\n return this;\n }\n}\nclass Def extends Node {\n constructor(varKind, name, rhs) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.rhs = rhs;\n }\n render({ es5, _n }) {\n const varKind = es5 ? scope_1.varKinds.var : this.varKind;\n const rhs = this.rhs === undefined ? \"\" : ` = ${this.rhs}`;\n return `${varKind} ${this.name}${rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (!names[this.name.str])\n return;\n if (this.rhs)\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};\n }\n}\nclass Assign extends Node {\n constructor(lhs, rhs, sideEffects) {\n super();\n this.lhs = lhs;\n this.rhs = rhs;\n this.sideEffects = sideEffects;\n }\n render({ _n }) {\n return `${this.lhs} = ${this.rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects)\n return;\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names };\n return addExprNames(names, this.rhs);\n }\n}\nclass AssignOp extends Assign {\n constructor(lhs, op, rhs, sideEffects) {\n super(lhs, rhs, sideEffects);\n this.op = op;\n }\n render({ _n }) {\n return `${this.lhs} ${this.op}= ${this.rhs};` + _n;\n }\n}\nclass Label extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n return `${this.label}:` + _n;\n }\n}\nclass Break extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n const label = this.label ? ` ${this.label}` : \"\";\n return `break${label};` + _n;\n }\n}\nclass Throw extends Node {\n constructor(error) {\n super();\n this.error = error;\n }\n render({ _n }) {\n return `throw ${this.error};` + _n;\n }\n get names() {\n return this.error.names;\n }\n}\nclass AnyCode extends Node {\n constructor(code) {\n super();\n this.code = code;\n }\n render({ _n }) {\n return `${this.code};` + _n;\n }\n optimizeNodes() {\n return `${this.code}` ? this : undefined;\n }\n optimizeNames(names, constants) {\n this.code = optimizeExpr(this.code, names, constants);\n return this;\n }\n get names() {\n return this.code instanceof code_1._CodeOrName ? this.code.names : {};\n }\n}\nclass ParentNode extends Node {\n constructor(nodes = []) {\n super();\n this.nodes = nodes;\n }\n render(opts) {\n return this.nodes.reduce((code, n) => code + n.render(opts), \"\");\n }\n optimizeNodes() {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n const n = nodes[i].optimizeNodes();\n if (Array.isArray(n))\n nodes.splice(i, 1, ...n);\n else if (n)\n nodes[i] = n;\n else\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n optimizeNames(names, constants) {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n // iterating backwards improves 1-pass optimization\n const n = nodes[i];\n if (n.optimizeNames(names, constants))\n continue;\n subtractNames(names, n.names);\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n get names() {\n return this.nodes.reduce((names, n) => addNames(names, n.names), {});\n }\n}\nclass BlockNode extends ParentNode {\n render(opts) {\n return \"{\" + opts._n + super.render(opts) + \"}\" + opts._n;\n }\n}\nclass Root extends ParentNode {\n}\nclass Else extends BlockNode {\n}\nElse.kind = \"else\";\nclass If extends BlockNode {\n constructor(condition, nodes) {\n super(nodes);\n this.condition = condition;\n }\n render(opts) {\n let code = `if(${this.condition})` + super.render(opts);\n if (this.else)\n code += \"else \" + this.else.render(opts);\n return code;\n }\n optimizeNodes() {\n super.optimizeNodes();\n const cond = this.condition;\n if (cond === true)\n return this.nodes; // else is ignored here\n let e = this.else;\n if (e) {\n const ns = e.optimizeNodes();\n e = this.else = Array.isArray(ns) ? new Else(ns) : ns;\n }\n if (e) {\n if (cond === false)\n return e instanceof If ? e : e.nodes;\n if (this.nodes.length)\n return this;\n return new If(not(cond), e instanceof If ? [e] : e.nodes);\n }\n if (cond === false || !this.nodes.length)\n return undefined;\n return this;\n }\n optimizeNames(names, constants) {\n var _a;\n this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n if (!(super.optimizeNames(names, constants) || this.else))\n return;\n this.condition = optimizeExpr(this.condition, names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n addExprNames(names, this.condition);\n if (this.else)\n addNames(names, this.else.names);\n return names;\n }\n}\nIf.kind = \"if\";\nclass For extends BlockNode {\n}\nFor.kind = \"for\";\nclass ForLoop extends For {\n constructor(iteration) {\n super();\n this.iteration = iteration;\n }\n render(opts) {\n return `for(${this.iteration})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iteration = optimizeExpr(this.iteration, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iteration.names);\n }\n}\nclass ForRange extends For {\n constructor(varKind, name, from, to) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.from = from;\n this.to = to;\n }\n render(opts) {\n const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind;\n const { name, from, to } = this;\n return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts);\n }\n get names() {\n const names = addExprNames(super.names, this.from);\n return addExprNames(names, this.to);\n }\n}\nclass ForIter extends For {\n constructor(loop, varKind, name, iterable) {\n super();\n this.loop = loop;\n this.varKind = varKind;\n this.name = name;\n this.iterable = iterable;\n }\n render(opts) {\n return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iterable = optimizeExpr(this.iterable, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iterable.names);\n }\n}\nclass Func extends BlockNode {\n constructor(name, args, async) {\n super();\n this.name = name;\n this.args = args;\n this.async = async;\n }\n render(opts) {\n const _async = this.async ? \"async \" : \"\";\n return `${_async}function ${this.name}(${this.args})` + super.render(opts);\n }\n}\nFunc.kind = \"func\";\nclass Return extends ParentNode {\n render(opts) {\n return \"return \" + super.render(opts);\n }\n}\nReturn.kind = \"return\";\nclass Try extends BlockNode {\n render(opts) {\n let code = \"try\" + super.render(opts);\n if (this.catch)\n code += this.catch.render(opts);\n if (this.finally)\n code += this.finally.render(opts);\n return code;\n }\n optimizeNodes() {\n var _a, _b;\n super.optimizeNodes();\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes();\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes();\n return this;\n }\n optimizeNames(names, constants) {\n var _a, _b;\n super.optimizeNames(names, constants);\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n if (this.catch)\n addNames(names, this.catch.names);\n if (this.finally)\n addNames(names, this.finally.names);\n return names;\n }\n}\nclass Catch extends BlockNode {\n constructor(error) {\n super();\n this.error = error;\n }\n render(opts) {\n return `catch(${this.error})` + super.render(opts);\n }\n}\nCatch.kind = \"catch\";\nclass Finally extends BlockNode {\n render(opts) {\n return \"finally\" + super.render(opts);\n }\n}\nFinally.kind = \"finally\";\nclass CodeGen {\n constructor(extScope, opts = {}) {\n this._values = {};\n this._blockStarts = [];\n this._constants = {};\n this.opts = { ...opts, _n: opts.lines ? \"\\n\" : \"\" };\n this._extScope = extScope;\n this._scope = new scope_1.Scope({ parent: extScope });\n this._nodes = [new Root()];\n }\n toString() {\n return this._root.render(this.opts);\n }\n // returns unique name in the internal scope\n name(prefix) {\n return this._scope.name(prefix);\n }\n // reserves unique name in the external scope\n scopeName(prefix) {\n return this._extScope.name(prefix);\n }\n // reserves unique name in the external scope and assigns value to it\n scopeValue(prefixOrName, value) {\n const name = this._extScope.value(prefixOrName, value);\n const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set());\n vs.add(name);\n return name;\n }\n getScopeValue(prefix, keyOrRef) {\n return this._extScope.getValue(prefix, keyOrRef);\n }\n // return code that assigns values in the external scope to the names that are used internally\n // (same names that were returned by gen.scopeName or gen.scopeValue)\n scopeRefs(scopeName) {\n return this._extScope.scopeRefs(scopeName, this._values);\n }\n scopeCode() {\n return this._extScope.scopeCode(this._values);\n }\n _def(varKind, nameOrPrefix, rhs, constant) {\n const name = this._scope.toName(nameOrPrefix);\n if (rhs !== undefined && constant)\n this._constants[name.str] = rhs;\n this._leafNode(new Def(varKind, name, rhs));\n return name;\n }\n // `const` declaration (`var` in es5 mode)\n const(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant);\n }\n // `let` declaration with optional assignment (`var` in es5 mode)\n let(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant);\n }\n // `var` declaration with optional assignment\n var(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant);\n }\n // assignment code\n assign(lhs, rhs, sideEffects) {\n return this._leafNode(new Assign(lhs, rhs, sideEffects));\n }\n // `+=` code\n add(lhs, rhs) {\n return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs));\n }\n // appends passed SafeExpr to code or executes Block\n code(c) {\n if (typeof c == \"function\")\n c();\n else if (c !== code_1.nil)\n this._leafNode(new AnyCode(c));\n return this;\n }\n // returns code for object literal for the passed argument list of key-value pairs\n object(...keyValues) {\n const code = [\"{\"];\n for (const [key, value] of keyValues) {\n if (code.length > 1)\n code.push(\",\");\n code.push(key);\n if (key !== value || this.opts.es5) {\n code.push(\":\");\n (0, code_1.addCodeArg)(code, value);\n }\n }\n code.push(\"}\");\n return new code_1._Code(code);\n }\n // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)\n if(condition, thenBody, elseBody) {\n this._blockNode(new If(condition));\n if (thenBody && elseBody) {\n this.code(thenBody).else().code(elseBody).endIf();\n }\n else if (thenBody) {\n this.code(thenBody).endIf();\n }\n else if (elseBody) {\n throw new Error('CodeGen: \"else\" body without \"then\" body');\n }\n return this;\n }\n // `else if` clause - invalid without `if` or after `else` clauses\n elseIf(condition) {\n return this._elseNode(new If(condition));\n }\n // `else` clause - only valid after `if` or `else if` clauses\n else() {\n return this._elseNode(new Else());\n }\n // end `if` statement (needed if gen.if was used only with condition)\n endIf() {\n return this._endBlockNode(If, Else);\n }\n _for(node, forBody) {\n this._blockNode(node);\n if (forBody)\n this.code(forBody).endFor();\n return this;\n }\n // a generic `for` clause (or statement if `forBody` is passed)\n for(iteration, forBody) {\n return this._for(new ForLoop(iteration), forBody);\n }\n // `for` statement for a range of values\n forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForRange(varKind, name, from, to), () => forBody(name));\n }\n // `for-of` statement (in es5 mode replace with a normal for loop)\n forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) {\n const name = this._scope.toName(nameOrPrefix);\n if (this.opts.es5) {\n const arr = iterable instanceof code_1.Name ? iterable : this.var(\"_arr\", iterable);\n return this.forRange(\"_i\", 0, (0, code_1._) `${arr}.length`, (i) => {\n this.var(name, (0, code_1._) `${arr}[${i}]`);\n forBody(name);\n });\n }\n return this._for(new ForIter(\"of\", varKind, name, iterable), () => forBody(name));\n }\n // `for-in` statement.\n // With option `ownProperties` replaced with a `for-of` loop for object keys\n forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {\n if (this.opts.ownProperties) {\n return this.forOf(nameOrPrefix, (0, code_1._) `Object.keys(${obj})`, forBody);\n }\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForIter(\"in\", varKind, name, obj), () => forBody(name));\n }\n // end `for` loop\n endFor() {\n return this._endBlockNode(For);\n }\n // `label` statement\n label(label) {\n return this._leafNode(new Label(label));\n }\n // `break` statement\n break(label) {\n return this._leafNode(new Break(label));\n }\n // `return` statement\n return(value) {\n const node = new Return();\n this._blockNode(node);\n this.code(value);\n if (node.nodes.length !== 1)\n throw new Error('CodeGen: \"return\" should have one node');\n return this._endBlockNode(Return);\n }\n // `try` statement\n try(tryBody, catchCode, finallyCode) {\n if (!catchCode && !finallyCode)\n throw new Error('CodeGen: \"try\" without \"catch\" and \"finally\"');\n const node = new Try();\n this._blockNode(node);\n this.code(tryBody);\n if (catchCode) {\n const error = this.name(\"e\");\n this._currNode = node.catch = new Catch(error);\n catchCode(error);\n }\n if (finallyCode) {\n this._currNode = node.finally = new Finally();\n this.code(finallyCode);\n }\n return this._endBlockNode(Catch, Finally);\n }\n // `throw` statement\n throw(error) {\n return this._leafNode(new Throw(error));\n }\n // start self-balancing block\n block(body, nodeCount) {\n this._blockStarts.push(this._nodes.length);\n if (body)\n this.code(body).endBlock(nodeCount);\n return this;\n }\n // end the current self-balancing block\n endBlock(nodeCount) {\n const len = this._blockStarts.pop();\n if (len === undefined)\n throw new Error(\"CodeGen: not in self-balancing block\");\n const toClose = this._nodes.length - len;\n if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {\n throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);\n }\n this._nodes.length = len;\n return this;\n }\n // `function` heading (or definition if funcBody is passed)\n func(name, args = code_1.nil, async, funcBody) {\n this._blockNode(new Func(name, args, async));\n if (funcBody)\n this.code(funcBody).endFunc();\n return this;\n }\n // end function definition\n endFunc() {\n return this._endBlockNode(Func);\n }\n optimize(n = 1) {\n while (n-- > 0) {\n this._root.optimizeNodes();\n this._root.optimizeNames(this._root.names, this._constants);\n }\n }\n _leafNode(node) {\n this._currNode.nodes.push(node);\n return this;\n }\n _blockNode(node) {\n this._currNode.nodes.push(node);\n this._nodes.push(node);\n }\n _endBlockNode(N1, N2) {\n const n = this._currNode;\n if (n instanceof N1 || (N2 && n instanceof N2)) {\n this._nodes.pop();\n return this;\n }\n throw new Error(`CodeGen: not in block \"${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}\"`);\n }\n _elseNode(node) {\n const n = this._currNode;\n if (!(n instanceof If)) {\n throw new Error('CodeGen: \"else\" without \"if\"');\n }\n this._currNode = n.else = node;\n return this;\n }\n get _root() {\n return this._nodes[0];\n }\n get _currNode() {\n const ns = this._nodes;\n return ns[ns.length - 1];\n }\n set _currNode(node) {\n const ns = this._nodes;\n ns[ns.length - 1] = node;\n }\n}\nexports.CodeGen = CodeGen;\nfunction addNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) + (from[n] || 0);\n return names;\n}\nfunction addExprNames(names, from) {\n return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names;\n}\nfunction optimizeExpr(expr, names, constants) {\n if (expr instanceof code_1.Name)\n return replaceName(expr);\n if (!canOptimize(expr))\n return expr;\n return new code_1._Code(expr._items.reduce((items, c) => {\n if (c instanceof code_1.Name)\n c = replaceName(c);\n if (c instanceof code_1._Code)\n items.push(...c._items);\n else\n items.push(c);\n return items;\n }, []));\n function replaceName(n) {\n const c = constants[n.str];\n if (c === undefined || names[n.str] !== 1)\n return n;\n delete names[n.str];\n return c;\n }\n function canOptimize(e) {\n return (e instanceof code_1._Code &&\n e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined));\n }\n}\nfunction subtractNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) - (from[n] || 0);\n}\nfunction not(x) {\n return typeof x == \"boolean\" || typeof x == \"number\" || x === null ? !x : (0, code_1._) `!${par(x)}`;\n}\nexports.not = not;\nconst andCode = mappend(exports.operators.AND);\n// boolean AND (&&) expression with the passed arguments\nfunction and(...args) {\n return args.reduce(andCode);\n}\nexports.and = and;\nconst orCode = mappend(exports.operators.OR);\n// boolean OR (||) expression with the passed arguments\nfunction or(...args) {\n return args.reduce(orCode);\n}\nexports.or = or;\nfunction mappend(op) {\n return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._) `${par(x)} ${op} ${par(y)}`);\n}\nfunction par(x) {\n return x instanceof code_1.Name ? x : (0, code_1._) `(${x})`;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;\nconst code_1 = require(\"./code\");\nclass ValueError extends Error {\n constructor(name) {\n super(`CodeGen: \"code\" for ${name} not defined`);\n this.value = name.value;\n }\n}\nvar UsedValueState;\n(function (UsedValueState) {\n UsedValueState[UsedValueState[\"Started\"] = 0] = \"Started\";\n UsedValueState[UsedValueState[\"Completed\"] = 1] = \"Completed\";\n})(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {}));\nexports.varKinds = {\n const: new code_1.Name(\"const\"),\n let: new code_1.Name(\"let\"),\n var: new code_1.Name(\"var\"),\n};\nclass Scope {\n constructor({ prefixes, parent } = {}) {\n this._names = {};\n this._prefixes = prefixes;\n this._parent = parent;\n }\n toName(nameOrPrefix) {\n return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix);\n }\n name(prefix) {\n return new code_1.Name(this._newName(prefix));\n }\n _newName(prefix) {\n const ng = this._names[prefix] || this._nameGroup(prefix);\n return `${prefix}${ng.index++}`;\n }\n _nameGroup(prefix) {\n var _a, _b;\n if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || (this._prefixes && !this._prefixes.has(prefix))) {\n throw new Error(`CodeGen: prefix \"${prefix}\" is not allowed in this scope`);\n }\n return (this._names[prefix] = { prefix, index: 0 });\n }\n}\nexports.Scope = Scope;\nclass ValueScopeName extends code_1.Name {\n constructor(prefix, nameStr) {\n super(nameStr);\n this.prefix = prefix;\n }\n setValue(value, { property, itemIndex }) {\n this.value = value;\n this.scopePath = (0, code_1._) `.${new code_1.Name(property)}[${itemIndex}]`;\n }\n}\nexports.ValueScopeName = ValueScopeName;\nconst line = (0, code_1._) `\\n`;\nclass ValueScope extends Scope {\n constructor(opts) {\n super(opts);\n this._values = {};\n this._scope = opts.scope;\n this.opts = { ...opts, _n: opts.lines ? line : code_1.nil };\n }\n get() {\n return this._scope;\n }\n name(prefix) {\n return new ValueScopeName(prefix, this._newName(prefix));\n }\n value(nameOrPrefix, value) {\n var _a;\n if (value.ref === undefined)\n throw new Error(\"CodeGen: ref must be passed in value\");\n const name = this.toName(nameOrPrefix);\n const { prefix } = name;\n const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref;\n let vs = this._values[prefix];\n if (vs) {\n const _name = vs.get(valueKey);\n if (_name)\n return _name;\n }\n else {\n vs = this._values[prefix] = new Map();\n }\n vs.set(valueKey, name);\n const s = this._scope[prefix] || (this._scope[prefix] = []);\n const itemIndex = s.length;\n s[itemIndex] = value.ref;\n name.setValue(value, { property: prefix, itemIndex });\n return name;\n }\n getValue(prefix, keyOrRef) {\n const vs = this._values[prefix];\n if (!vs)\n return;\n return vs.get(keyOrRef);\n }\n scopeRefs(scopeName, values = this._values) {\n return this._reduceValues(values, (name) => {\n if (name.scopePath === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return (0, code_1._) `${scopeName}${name.scopePath}`;\n });\n }\n scopeCode(values = this._values, usedValues, getCode) {\n return this._reduceValues(values, (name) => {\n if (name.value === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return name.value.code;\n }, usedValues, getCode);\n }\n _reduceValues(values, valueCode, usedValues = {}, getCode) {\n let code = code_1.nil;\n for (const prefix in values) {\n const vs = values[prefix];\n if (!vs)\n continue;\n const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map());\n vs.forEach((name) => {\n if (nameSet.has(name))\n return;\n nameSet.set(name, UsedValueState.Started);\n let c = valueCode(name);\n if (c) {\n const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const;\n code = (0, code_1._) `${code}${def} ${name} = ${c};${this.opts._n}`;\n }\n else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) {\n code = (0, code_1._) `${code}${c}${this.opts._n}`;\n }\n else {\n throw new ValueError(name);\n }\n nameSet.set(name, UsedValueState.Completed);\n });\n }\n return code;\n }\n}\nexports.ValueScope = ValueScope;\n//# sourceMappingURL=scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;\nconst codegen_1 = require(\"./codegen\");\nconst util_1 = require(\"./util\");\nconst names_1 = require(\"./names\");\nexports.keywordError = {\n message: ({ keyword }) => (0, codegen_1.str) `must pass \"${keyword}\" keyword validation`,\n};\nexports.keyword$DataError = {\n message: ({ keyword, schemaType }) => schemaType\n ? (0, codegen_1.str) `\"${keyword}\" keyword must be ${schemaType} ($data)`\n : (0, codegen_1.str) `\"${keyword}\" keyword is invalid ($data)`,\n};\nfunction reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : (compositeRule || allErrors)) {\n addError(gen, errObj);\n }\n else {\n returnErrors(it, (0, codegen_1._) `[${errObj}]`);\n }\n}\nexports.reportError = reportError;\nfunction reportExtraError(cxt, error = exports.keywordError, errorPaths) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n addError(gen, errObj);\n if (!(compositeRule || allErrors)) {\n returnErrors(it, names_1.default.vErrors);\n }\n}\nexports.reportExtraError = reportExtraError;\nfunction resetErrorsCount(gen, errsCount) {\n gen.assign(names_1.default.errors, errsCount);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._) `${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null)));\n}\nexports.resetErrorsCount = resetErrorsCount;\nfunction extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }) {\n /* istanbul ignore if */\n if (errsCount === undefined)\n throw new Error(\"ajv implementation error\");\n const err = gen.name(\"err\");\n gen.forRange(\"i\", errsCount, names_1.default.errors, (i) => {\n gen.const(err, (0, codegen_1._) `${names_1.default.vErrors}[${i}]`);\n gen.if((0, codegen_1._) `${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._) `${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));\n gen.assign((0, codegen_1._) `${err}.schemaPath`, (0, codegen_1.str) `${it.errSchemaPath}/${keyword}`);\n if (it.opts.verbose) {\n gen.assign((0, codegen_1._) `${err}.schema`, schemaValue);\n gen.assign((0, codegen_1._) `${err}.data`, data);\n }\n });\n}\nexports.extendErrors = extendErrors;\nfunction addError(gen, errObj) {\n const err = gen.const(\"err\", errObj);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._) `[${err}]`), (0, codegen_1._) `${names_1.default.vErrors}.push(${err})`);\n gen.code((0, codegen_1._) `${names_1.default.errors}++`);\n}\nfunction returnErrors(it, errs) {\n const { gen, validateName, schemaEnv } = it;\n if (schemaEnv.$async) {\n gen.throw((0, codegen_1._) `new ${it.ValidationError}(${errs})`);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, errs);\n gen.return(false);\n }\n}\nconst E = {\n keyword: new codegen_1.Name(\"keyword\"),\n schemaPath: new codegen_1.Name(\"schemaPath\"),\n params: new codegen_1.Name(\"params\"),\n propertyName: new codegen_1.Name(\"propertyName\"),\n message: new codegen_1.Name(\"message\"),\n schema: new codegen_1.Name(\"schema\"),\n parentSchema: new codegen_1.Name(\"parentSchema\"),\n};\nfunction errorObjectCode(cxt, error, errorPaths) {\n const { createErrors } = cxt.it;\n if (createErrors === false)\n return (0, codegen_1._) `{}`;\n return errorObject(cxt, error, errorPaths);\n}\nfunction errorObject(cxt, error, errorPaths = {}) {\n const { gen, it } = cxt;\n const keyValues = [\n errorInstancePath(it, errorPaths),\n errorSchemaPath(cxt, errorPaths),\n ];\n extraErrorProps(cxt, error, keyValues);\n return gen.object(...keyValues);\n}\nfunction errorInstancePath({ errorPath }, { instancePath }) {\n const instPath = instancePath\n ? (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}`\n : errorPath;\n return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)];\n}\nfunction errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) {\n let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str) `${errSchemaPath}/${keyword}`;\n if (schemaPath) {\n schPath = (0, codegen_1.str) `${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`;\n }\n return [E.schemaPath, schPath];\n}\nfunction extraErrorProps(cxt, { params, message }, keyValues) {\n const { keyword, data, schemaValue, it } = cxt;\n const { opts, propertyName, topSchemaRef, schemaPath } = it;\n keyValues.push([E.keyword, keyword], [E.params, typeof params == \"function\" ? params(cxt) : params || (0, codegen_1._) `{}`]);\n if (opts.messages) {\n keyValues.push([E.message, typeof message == \"function\" ? message(cxt) : message]);\n }\n if (opts.verbose) {\n keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._) `${topSchemaRef}${schemaPath}`], [names_1.default.data, data]);\n }\n if (propertyName)\n keyValues.push([E.propertyName, propertyName]);\n}\n//# sourceMappingURL=errors.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;\nconst codegen_1 = require(\"./codegen\");\nconst validation_error_1 = require(\"../runtime/validation_error\");\nconst names_1 = require(\"./names\");\nconst resolve_1 = require(\"./resolve\");\nconst util_1 = require(\"./util\");\nconst validate_1 = require(\"./validate\");\nclass SchemaEnv {\n constructor(env) {\n var _a;\n this.refs = {};\n this.dynamicAnchors = {};\n let schema;\n if (typeof env.schema == \"object\")\n schema = env.schema;\n this.schema = env.schema;\n this.schemaId = env.schemaId;\n this.root = env.root || this;\n this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || \"$id\"]);\n this.schemaPath = env.schemaPath;\n this.localRefs = env.localRefs;\n this.meta = env.meta;\n this.$async = schema === null || schema === void 0 ? void 0 : schema.$async;\n this.refs = {};\n }\n}\nexports.SchemaEnv = SchemaEnv;\n// let codeSize = 0\n// let nodeCount = 0\n// Compiles schema in SchemaEnv\nfunction compileSchema(sch) {\n // TODO refactor - remove compilations\n const _sch = getCompilingSchema.call(this, sch);\n if (_sch)\n return _sch;\n const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails\n const { es5, lines } = this.opts.code;\n const { ownProperties } = this.opts;\n const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties });\n let _ValidationError;\n if (sch.$async) {\n _ValidationError = gen.scopeValue(\"Error\", {\n ref: validation_error_1.default,\n code: (0, codegen_1._) `require(\"ajv/dist/runtime/validation_error\").default`,\n });\n }\n const validateName = gen.scopeName(\"validate\");\n sch.validateName = validateName;\n const schemaCxt = {\n gen,\n allErrors: this.opts.allErrors,\n data: names_1.default.data,\n parentData: names_1.default.parentData,\n parentDataProperty: names_1.default.parentDataProperty,\n dataNames: [names_1.default.data],\n dataPathArr: [codegen_1.nil],\n dataLevel: 0,\n dataTypes: [],\n definedProperties: new Set(),\n topSchemaRef: gen.scopeValue(\"schema\", this.opts.code.source === true\n ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) }\n : { ref: sch.schema }),\n validateName,\n ValidationError: _ValidationError,\n schema: sch.schema,\n schemaEnv: sch,\n rootId,\n baseId: sch.baseId || rootId,\n schemaPath: codegen_1.nil,\n errSchemaPath: sch.schemaPath || (this.opts.jtd ? \"\" : \"#\"),\n errorPath: (0, codegen_1._) `\"\"`,\n opts: this.opts,\n self: this,\n };\n let sourceCode;\n try {\n this._compilations.add(sch);\n (0, validate_1.validateFunctionCode)(schemaCxt);\n gen.optimize(this.opts.code.optimize);\n // gen.optimize(1)\n const validateCode = gen.toString();\n sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`;\n // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount))\n if (this.opts.code.process)\n sourceCode = this.opts.code.process(sourceCode, sch);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode)\n const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);\n const validate = makeValidate(this, this.scope.get());\n this.scope.value(validateName, { ref: validate });\n validate.errors = null;\n validate.schema = sch.schema;\n validate.schemaEnv = sch;\n if (sch.$async)\n validate.$async = true;\n if (this.opts.code.source === true) {\n validate.source = { validateName, validateCode, scopeValues: gen._values };\n }\n if (this.opts.unevaluated) {\n const { props, items } = schemaCxt;\n validate.evaluated = {\n props: props instanceof codegen_1.Name ? undefined : props,\n items: items instanceof codegen_1.Name ? undefined : items,\n dynamicProps: props instanceof codegen_1.Name,\n dynamicItems: items instanceof codegen_1.Name,\n };\n if (validate.source)\n validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated);\n }\n sch.validate = validate;\n return sch;\n }\n catch (e) {\n delete sch.validate;\n delete sch.validateName;\n if (sourceCode)\n this.logger.error(\"Error compiling schema, function code:\", sourceCode);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode, this.opts)\n throw e;\n }\n finally {\n this._compilations.delete(sch);\n }\n}\nexports.compileSchema = compileSchema;\nfunction resolveRef(root, baseId, ref) {\n var _a;\n ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref);\n const schOrFunc = root.refs[ref];\n if (schOrFunc)\n return schOrFunc;\n let _sch = resolve.call(this, root, ref);\n if (_sch === undefined) {\n const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv\n const { schemaId } = this.opts;\n if (schema)\n _sch = new SchemaEnv({ schema, schemaId, root, baseId });\n }\n if (_sch === undefined)\n return;\n return (root.refs[ref] = inlineOrCompile.call(this, _sch));\n}\nexports.resolveRef = resolveRef;\nfunction inlineOrCompile(sch) {\n if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs))\n return sch.schema;\n return sch.validate ? sch : compileSchema.call(this, sch);\n}\n// Index of schema compilation in the currently compiled list\nfunction getCompilingSchema(schEnv) {\n for (const sch of this._compilations) {\n if (sameSchemaEnv(sch, schEnv))\n return sch;\n }\n}\nexports.getCompilingSchema = getCompilingSchema;\nfunction sameSchemaEnv(s1, s2) {\n return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;\n}\n// resolve and compile the references ($ref)\n// TODO returns AnySchemaObject (if the schema can be inlined) or validation function\nfunction resolve(root, // information about the root schema for the current schema\nref // reference to resolve\n) {\n let sch;\n while (typeof (sch = this.refs[ref]) == \"string\")\n ref = sch;\n return sch || this.schemas[ref] || resolveSchema.call(this, root, ref);\n}\n// Resolve schema, its root and baseId\nfunction resolveSchema(root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it\nref // reference to resolve\n) {\n const p = this.opts.uriResolver.parse(ref);\n const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p);\n let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined);\n // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests\n if (Object.keys(root.schema).length > 0 && refPath === baseId) {\n return getJsonPointer.call(this, p, root);\n }\n const id = (0, resolve_1.normalizeId)(refPath);\n const schOrRef = this.refs[id] || this.schemas[id];\n if (typeof schOrRef == \"string\") {\n const sch = resolveSchema.call(this, root, schOrRef);\n if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== \"object\")\n return;\n return getJsonPointer.call(this, p, sch);\n }\n if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== \"object\")\n return;\n if (!schOrRef.validate)\n compileSchema.call(this, schOrRef);\n if (id === (0, resolve_1.normalizeId)(ref)) {\n const { schema } = schOrRef;\n const { schemaId } = this.opts;\n const schId = schema[schemaId];\n if (schId)\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n return new SchemaEnv({ schema, schemaId, root, baseId });\n }\n return getJsonPointer.call(this, p, schOrRef);\n}\nexports.resolveSchema = resolveSchema;\nconst PREVENT_SCOPE_CHANGE = new Set([\n \"properties\",\n \"patternProperties\",\n \"enum\",\n \"dependencies\",\n \"definitions\",\n]);\nfunction getJsonPointer(parsedRef, { baseId, schema, root }) {\n var _a;\n if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== \"/\")\n return;\n for (const part of parsedRef.fragment.slice(1).split(\"/\")) {\n if (typeof schema === \"boolean\")\n return;\n const partSchema = schema[(0, util_1.unescapeFragment)(part)];\n if (partSchema === undefined)\n return;\n schema = partSchema;\n // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def?\n const schId = typeof schema === \"object\" && schema[this.opts.schemaId];\n if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n }\n }\n let env;\n if (typeof schema != \"boolean\" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) {\n const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref);\n env = resolveSchema.call(this, root, $ref);\n }\n // even though resolution failed we need to return SchemaEnv to throw exception\n // so that compileAsync loads missing schema.\n const { schemaId } = this.opts;\n env = env || new SchemaEnv({ schema, schemaId, root, baseId });\n if (env.schema !== env.root.schema)\n return env;\n return undefined;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"./codegen\");\nconst names = {\n // validation function arguments\n data: new codegen_1.Name(\"data\"),\n // args passed from referencing schema\n valCxt: new codegen_1.Name(\"valCxt\"),\n instancePath: new codegen_1.Name(\"instancePath\"),\n parentData: new codegen_1.Name(\"parentData\"),\n parentDataProperty: new codegen_1.Name(\"parentDataProperty\"),\n rootData: new codegen_1.Name(\"rootData\"),\n dynamicAnchors: new codegen_1.Name(\"dynamicAnchors\"),\n // function scoped variables\n vErrors: new codegen_1.Name(\"vErrors\"),\n errors: new codegen_1.Name(\"errors\"),\n this: new codegen_1.Name(\"this\"),\n // \"globals\"\n self: new codegen_1.Name(\"self\"),\n scope: new codegen_1.Name(\"scope\"),\n // JTD serialize/parse name for JSON string and position\n json: new codegen_1.Name(\"json\"),\n jsonPos: new codegen_1.Name(\"jsonPos\"),\n jsonLen: new codegen_1.Name(\"jsonLen\"),\n jsonPart: new codegen_1.Name(\"jsonPart\"),\n};\nexports.default = names;\n//# sourceMappingURL=names.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst resolve_1 = require(\"./resolve\");\nclass MissingRefError extends Error {\n constructor(resolver, baseId, ref, msg) {\n super(msg || `can't resolve reference ${ref} from id ${baseId}`);\n this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref);\n this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef));\n }\n}\nexports.default = MissingRefError;\n//# sourceMappingURL=ref_error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;\nconst util_1 = require(\"./util\");\nconst equal = require(\"fast-deep-equal\");\nconst traverse = require(\"json-schema-traverse\");\n// TODO refactor to use keyword definitions\nconst SIMPLE_INLINED = new Set([\n \"type\",\n \"format\",\n \"pattern\",\n \"maxLength\",\n \"minLength\",\n \"maxProperties\",\n \"minProperties\",\n \"maxItems\",\n \"minItems\",\n \"maximum\",\n \"minimum\",\n \"uniqueItems\",\n \"multipleOf\",\n \"required\",\n \"enum\",\n \"const\",\n]);\nfunction inlineRef(schema, limit = true) {\n if (typeof schema == \"boolean\")\n return true;\n if (limit === true)\n return !hasRef(schema);\n if (!limit)\n return false;\n return countKeys(schema) <= limit;\n}\nexports.inlineRef = inlineRef;\nconst REF_KEYWORDS = new Set([\n \"$ref\",\n \"$recursiveRef\",\n \"$recursiveAnchor\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n]);\nfunction hasRef(schema) {\n for (const key in schema) {\n if (REF_KEYWORDS.has(key))\n return true;\n const sch = schema[key];\n if (Array.isArray(sch) && sch.some(hasRef))\n return true;\n if (typeof sch == \"object\" && hasRef(sch))\n return true;\n }\n return false;\n}\nfunction countKeys(schema) {\n let count = 0;\n for (const key in schema) {\n if (key === \"$ref\")\n return Infinity;\n count++;\n if (SIMPLE_INLINED.has(key))\n continue;\n if (typeof schema[key] == \"object\") {\n (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch)));\n }\n if (count === Infinity)\n return Infinity;\n }\n return count;\n}\nfunction getFullPath(resolver, id = \"\", normalize) {\n if (normalize !== false)\n id = normalizeId(id);\n const p = resolver.parse(id);\n return _getFullPath(resolver, p);\n}\nexports.getFullPath = getFullPath;\nfunction _getFullPath(resolver, p) {\n const serialized = resolver.serialize(p);\n return serialized.split(\"#\")[0] + \"#\";\n}\nexports._getFullPath = _getFullPath;\nconst TRAILING_SLASH_HASH = /#\\/?$/;\nfunction normalizeId(id) {\n return id ? id.replace(TRAILING_SLASH_HASH, \"\") : \"\";\n}\nexports.normalizeId = normalizeId;\nfunction resolveUrl(resolver, baseId, id) {\n id = normalizeId(id);\n return resolver.resolve(baseId, id);\n}\nexports.resolveUrl = resolveUrl;\nconst ANCHOR = /^[a-z_][-a-z0-9._]*$/i;\nfunction getSchemaRefs(schema, baseId) {\n if (typeof schema == \"boolean\")\n return {};\n const { schemaId, uriResolver } = this.opts;\n const schId = normalizeId(schema[schemaId] || baseId);\n const baseIds = { \"\": schId };\n const pathPrefix = getFullPath(uriResolver, schId, false);\n const localRefs = {};\n const schemaRefs = new Set();\n traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {\n if (parentJsonPtr === undefined)\n return;\n const fullPath = pathPrefix + jsonPtr;\n let baseId = baseIds[parentJsonPtr];\n if (typeof sch[schemaId] == \"string\")\n baseId = addRef.call(this, sch[schemaId]);\n addAnchor.call(this, sch.$anchor);\n addAnchor.call(this, sch.$dynamicAnchor);\n baseIds[jsonPtr] = baseId;\n function addRef(ref) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _resolve = this.opts.uriResolver.resolve;\n ref = normalizeId(baseId ? _resolve(baseId, ref) : ref);\n if (schemaRefs.has(ref))\n throw ambiguos(ref);\n schemaRefs.add(ref);\n let schOrRef = this.refs[ref];\n if (typeof schOrRef == \"string\")\n schOrRef = this.refs[schOrRef];\n if (typeof schOrRef == \"object\") {\n checkAmbiguosRef(sch, schOrRef.schema, ref);\n }\n else if (ref !== normalizeId(fullPath)) {\n if (ref[0] === \"#\") {\n checkAmbiguosRef(sch, localRefs[ref], ref);\n localRefs[ref] = sch;\n }\n else {\n this.refs[ref] = fullPath;\n }\n }\n return ref;\n }\n function addAnchor(anchor) {\n if (typeof anchor == \"string\") {\n if (!ANCHOR.test(anchor))\n throw new Error(`invalid anchor \"${anchor}\"`);\n addRef.call(this, `#${anchor}`);\n }\n }\n });\n return localRefs;\n function checkAmbiguosRef(sch1, sch2, ref) {\n if (sch2 !== undefined && !equal(sch1, sch2))\n throw ambiguos(ref);\n }\n function ambiguos(ref) {\n return new Error(`reference \"${ref}\" resolves to more than one schema`);\n }\n}\nexports.getSchemaRefs = getSchemaRefs;\n//# sourceMappingURL=resolve.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRules = exports.isJSONType = void 0;\nconst _jsonTypes = [\"string\", \"number\", \"integer\", \"boolean\", \"null\", \"object\", \"array\"];\nconst jsonTypes = new Set(_jsonTypes);\nfunction isJSONType(x) {\n return typeof x == \"string\" && jsonTypes.has(x);\n}\nexports.isJSONType = isJSONType;\nfunction getRules() {\n const groups = {\n number: { type: \"number\", rules: [] },\n string: { type: \"string\", rules: [] },\n array: { type: \"array\", rules: [] },\n object: { type: \"object\", rules: [] },\n };\n return {\n types: { ...groups, integer: true, boolean: true, null: true },\n rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object],\n post: { rules: [] },\n all: {},\n keywords: {},\n };\n}\nexports.getRules = getRules;\n//# sourceMappingURL=rules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;\nconst codegen_1 = require(\"./codegen\");\nconst code_1 = require(\"./codegen/code\");\n// TODO refactor to use Set\nfunction toHash(arr) {\n const hash = {};\n for (const item of arr)\n hash[item] = true;\n return hash;\n}\nexports.toHash = toHash;\nfunction alwaysValidSchema(it, schema) {\n if (typeof schema == \"boolean\")\n return schema;\n if (Object.keys(schema).length === 0)\n return true;\n checkUnknownRules(it, schema);\n return !schemaHasRules(schema, it.self.RULES.all);\n}\nexports.alwaysValidSchema = alwaysValidSchema;\nfunction checkUnknownRules(it, schema = it.schema) {\n const { opts, self } = it;\n if (!opts.strictSchema)\n return;\n if (typeof schema === \"boolean\")\n return;\n const rules = self.RULES.keywords;\n for (const key in schema) {\n if (!rules[key])\n checkStrictMode(it, `unknown keyword: \"${key}\"`);\n }\n}\nexports.checkUnknownRules = checkUnknownRules;\nfunction schemaHasRules(schema, rules) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (rules[key])\n return true;\n return false;\n}\nexports.schemaHasRules = schemaHasRules;\nfunction schemaHasRulesButRef(schema, RULES) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (key !== \"$ref\" && RULES.all[key])\n return true;\n return false;\n}\nexports.schemaHasRulesButRef = schemaHasRulesButRef;\nfunction schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) {\n if (!$data) {\n if (typeof schema == \"number\" || typeof schema == \"boolean\")\n return schema;\n if (typeof schema == \"string\")\n return (0, codegen_1._) `${schema}`;\n }\n return (0, codegen_1._) `${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;\n}\nexports.schemaRefOrVal = schemaRefOrVal;\nfunction unescapeFragment(str) {\n return unescapeJsonPointer(decodeURIComponent(str));\n}\nexports.unescapeFragment = unescapeFragment;\nfunction escapeFragment(str) {\n return encodeURIComponent(escapeJsonPointer(str));\n}\nexports.escapeFragment = escapeFragment;\nfunction escapeJsonPointer(str) {\n if (typeof str == \"number\")\n return `${str}`;\n return str.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nexports.escapeJsonPointer = escapeJsonPointer;\nfunction unescapeJsonPointer(str) {\n return str.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\nexports.unescapeJsonPointer = unescapeJsonPointer;\nfunction eachItem(xs, f) {\n if (Array.isArray(xs)) {\n for (const x of xs)\n f(x);\n }\n else {\n f(xs);\n }\n}\nexports.eachItem = eachItem;\nfunction makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName, }) {\n return (gen, from, to, toName) => {\n const res = to === undefined\n ? from\n : to instanceof codegen_1.Name\n ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to)\n : from instanceof codegen_1.Name\n ? (mergeToName(gen, to, from), from)\n : mergeValues(from, to);\n return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;\n };\n}\nexports.mergeEvaluated = {\n props: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => {\n gen.if((0, codegen_1._) `${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._) `${to} || {}`).code((0, codegen_1._) `Object.assign(${to}, ${from})`));\n }),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => {\n if (from === true) {\n gen.assign(to, true);\n }\n else {\n gen.assign(to, (0, codegen_1._) `${to} || {}`);\n setEvaluated(gen, to, from);\n }\n }),\n mergeValues: (from, to) => (from === true ? true : { ...from, ...to }),\n resultToName: evaluatedPropsToName,\n }),\n items: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._) `${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._) `${to} > ${from} ? ${to} : ${from}`)),\n mergeValues: (from, to) => (from === true ? true : Math.max(from, to)),\n resultToName: (gen, items) => gen.var(\"items\", items),\n }),\n};\nfunction evaluatedPropsToName(gen, ps) {\n if (ps === true)\n return gen.var(\"props\", true);\n const props = gen.var(\"props\", (0, codegen_1._) `{}`);\n if (ps !== undefined)\n setEvaluated(gen, props, ps);\n return props;\n}\nexports.evaluatedPropsToName = evaluatedPropsToName;\nfunction setEvaluated(gen, props, ps) {\n Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true));\n}\nexports.setEvaluated = setEvaluated;\nconst snippets = {};\nfunction useFunc(gen, f) {\n return gen.scopeValue(\"func\", {\n ref: f,\n code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)),\n });\n}\nexports.useFunc = useFunc;\nvar Type;\n(function (Type) {\n Type[Type[\"Num\"] = 0] = \"Num\";\n Type[Type[\"Str\"] = 1] = \"Str\";\n})(Type = exports.Type || (exports.Type = {}));\nfunction getErrorPath(dataProp, dataPropType, jsPropertySyntax) {\n // let path\n if (dataProp instanceof codegen_1.Name) {\n const isNumber = dataPropType === Type.Num;\n return jsPropertySyntax\n ? isNumber\n ? (0, codegen_1._) `\"[\" + ${dataProp} + \"]\"`\n : (0, codegen_1._) `\"['\" + ${dataProp} + \"']\"`\n : isNumber\n ? (0, codegen_1._) `\"/\" + ${dataProp}`\n : (0, codegen_1._) `\"/\" + ${dataProp}.replace(/~/g, \"~0\").replace(/\\\\//g, \"~1\")`; // TODO maybe use global escapePointer\n }\n return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : \"/\" + escapeJsonPointer(dataProp);\n}\nexports.getErrorPath = getErrorPath;\nfunction checkStrictMode(it, msg, mode = it.opts.strictSchema) {\n if (!mode)\n return;\n msg = `strict mode: ${msg}`;\n if (mode === true)\n throw new Error(msg);\n it.self.logger.warn(msg);\n}\nexports.checkStrictMode = checkStrictMode;\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;\nfunction schemaHasRulesForType({ schema, self }, type) {\n const group = self.RULES.types[type];\n return group && group !== true && shouldUseGroup(schema, group);\n}\nexports.schemaHasRulesForType = schemaHasRulesForType;\nfunction shouldUseGroup(schema, group) {\n return group.rules.some((rule) => shouldUseRule(schema, rule));\n}\nexports.shouldUseGroup = shouldUseGroup;\nfunction shouldUseRule(schema, rule) {\n var _a;\n return (schema[rule.keyword] !== undefined ||\n ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined)));\n}\nexports.shouldUseRule = shouldUseRule;\n//# sourceMappingURL=applicability.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;\nconst errors_1 = require(\"../errors\");\nconst codegen_1 = require(\"../codegen\");\nconst names_1 = require(\"../names\");\nconst boolError = {\n message: \"boolean schema is false\",\n};\nfunction topBoolOrEmptySchema(it) {\n const { gen, schema, validateName } = it;\n if (schema === false) {\n falseSchemaError(it, false);\n }\n else if (typeof schema == \"object\" && schema.$async === true) {\n gen.return(names_1.default.data);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, null);\n gen.return(true);\n }\n}\nexports.topBoolOrEmptySchema = topBoolOrEmptySchema;\nfunction boolOrEmptySchema(it, valid) {\n const { gen, schema } = it;\n if (schema === false) {\n gen.var(valid, false); // TODO var\n falseSchemaError(it);\n }\n else {\n gen.var(valid, true); // TODO var\n }\n}\nexports.boolOrEmptySchema = boolOrEmptySchema;\nfunction falseSchemaError(it, overrideAllErrors) {\n const { gen, data } = it;\n // TODO maybe some other interface should be used for non-keyword validation errors...\n const cxt = {\n gen,\n keyword: \"false schema\",\n data,\n schema: false,\n schemaCode: false,\n schemaValue: false,\n params: {},\n it,\n };\n (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors);\n}\n//# sourceMappingURL=boolSchema.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;\nconst rules_1 = require(\"../rules\");\nconst applicability_1 = require(\"./applicability\");\nconst errors_1 = require(\"../errors\");\nconst codegen_1 = require(\"../codegen\");\nconst util_1 = require(\"../util\");\nvar DataType;\n(function (DataType) {\n DataType[DataType[\"Correct\"] = 0] = \"Correct\";\n DataType[DataType[\"Wrong\"] = 1] = \"Wrong\";\n})(DataType = exports.DataType || (exports.DataType = {}));\nfunction getSchemaTypes(schema) {\n const types = getJSONTypes(schema.type);\n const hasNull = types.includes(\"null\");\n if (hasNull) {\n if (schema.nullable === false)\n throw new Error(\"type: null contradicts nullable: false\");\n }\n else {\n if (!types.length && schema.nullable !== undefined) {\n throw new Error('\"nullable\" cannot be used without \"type\"');\n }\n if (schema.nullable === true)\n types.push(\"null\");\n }\n return types;\n}\nexports.getSchemaTypes = getSchemaTypes;\nfunction getJSONTypes(ts) {\n const types = Array.isArray(ts) ? ts : ts ? [ts] : [];\n if (types.every(rules_1.isJSONType))\n return types;\n throw new Error(\"type must be JSONType or JSONType[]: \" + types.join(\",\"));\n}\nexports.getJSONTypes = getJSONTypes;\nfunction coerceAndCheckDataType(it, types) {\n const { gen, data, opts } = it;\n const coerceTo = coerceToTypes(types, opts.coerceTypes);\n const checkTypes = types.length > 0 &&\n !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0]));\n if (checkTypes) {\n const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong);\n gen.if(wrongType, () => {\n if (coerceTo.length)\n coerceData(it, types, coerceTo);\n else\n reportTypeError(it);\n });\n }\n return checkTypes;\n}\nexports.coerceAndCheckDataType = coerceAndCheckDataType;\nconst COERCIBLE = new Set([\"string\", \"number\", \"integer\", \"boolean\", \"null\"]);\nfunction coerceToTypes(types, coerceTypes) {\n return coerceTypes\n ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === \"array\" && t === \"array\"))\n : [];\n}\nfunction coerceData(it, types, coerceTo) {\n const { gen, data, opts } = it;\n const dataType = gen.let(\"dataType\", (0, codegen_1._) `typeof ${data}`);\n const coerced = gen.let(\"coerced\", (0, codegen_1._) `undefined`);\n if (opts.coerceTypes === \"array\") {\n gen.if((0, codegen_1._) `${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen\n .assign(data, (0, codegen_1._) `${data}[0]`)\n .assign(dataType, (0, codegen_1._) `typeof ${data}`)\n .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data)));\n }\n gen.if((0, codegen_1._) `${coerced} !== undefined`);\n for (const t of coerceTo) {\n if (COERCIBLE.has(t) || (t === \"array\" && opts.coerceTypes === \"array\")) {\n coerceSpecificType(t);\n }\n }\n gen.else();\n reportTypeError(it);\n gen.endIf();\n gen.if((0, codegen_1._) `${coerced} !== undefined`, () => {\n gen.assign(data, coerced);\n assignParentData(it, coerced);\n });\n function coerceSpecificType(t) {\n switch (t) {\n case \"string\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"number\" || ${dataType} == \"boolean\"`)\n .assign(coerced, (0, codegen_1._) `\"\" + ${data}`)\n .elseIf((0, codegen_1._) `${data} === null`)\n .assign(coerced, (0, codegen_1._) `\"\"`);\n return;\n case \"number\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"boolean\" || ${data} === null\n || (${dataType} == \"string\" && ${data} && ${data} == +${data})`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"integer\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"boolean\" || ${data} === null\n || (${dataType} === \"string\" && ${data} && ${data} == +${data} && !(${data} % 1))`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"boolean\":\n gen\n .elseIf((0, codegen_1._) `${data} === \"false\" || ${data} === 0 || ${data} === null`)\n .assign(coerced, false)\n .elseIf((0, codegen_1._) `${data} === \"true\" || ${data} === 1`)\n .assign(coerced, true);\n return;\n case \"null\":\n gen.elseIf((0, codegen_1._) `${data} === \"\" || ${data} === 0 || ${data} === false`);\n gen.assign(coerced, null);\n return;\n case \"array\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"string\" || ${dataType} === \"number\"\n || ${dataType} === \"boolean\" || ${data} === null`)\n .assign(coerced, (0, codegen_1._) `[${data}]`);\n }\n }\n}\nfunction assignParentData({ gen, parentData, parentDataProperty }, expr) {\n // TODO use gen.property\n gen.if((0, codegen_1._) `${parentData} !== undefined`, () => gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, expr));\n}\nfunction checkDataType(dataType, data, strictNums, correct = DataType.Correct) {\n const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;\n let cond;\n switch (dataType) {\n case \"null\":\n return (0, codegen_1._) `${data} ${EQ} null`;\n case \"array\":\n cond = (0, codegen_1._) `Array.isArray(${data})`;\n break;\n case \"object\":\n cond = (0, codegen_1._) `${data} && typeof ${data} == \"object\" && !Array.isArray(${data})`;\n break;\n case \"integer\":\n cond = numCond((0, codegen_1._) `!(${data} % 1) && !isNaN(${data})`);\n break;\n case \"number\":\n cond = numCond();\n break;\n default:\n return (0, codegen_1._) `typeof ${data} ${EQ} ${dataType}`;\n }\n return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond);\n function numCond(_cond = codegen_1.nil) {\n return (0, codegen_1.and)((0, codegen_1._) `typeof ${data} == \"number\"`, _cond, strictNums ? (0, codegen_1._) `isFinite(${data})` : codegen_1.nil);\n }\n}\nexports.checkDataType = checkDataType;\nfunction checkDataTypes(dataTypes, data, strictNums, correct) {\n if (dataTypes.length === 1) {\n return checkDataType(dataTypes[0], data, strictNums, correct);\n }\n let cond;\n const types = (0, util_1.toHash)(dataTypes);\n if (types.array && types.object) {\n const notObj = (0, codegen_1._) `typeof ${data} != \"object\"`;\n cond = types.null ? notObj : (0, codegen_1._) `!${data} || ${notObj}`;\n delete types.null;\n delete types.array;\n delete types.object;\n }\n else {\n cond = codegen_1.nil;\n }\n if (types.number)\n delete types.integer;\n for (const t in types)\n cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct));\n return cond;\n}\nexports.checkDataTypes = checkDataTypes;\nconst typeError = {\n message: ({ schema }) => `must be ${schema}`,\n params: ({ schema, schemaValue }) => typeof schema == \"string\" ? (0, codegen_1._) `{type: ${schema}}` : (0, codegen_1._) `{type: ${schemaValue}}`,\n};\nfunction reportTypeError(it) {\n const cxt = getTypeErrorContext(it);\n (0, errors_1.reportError)(cxt, typeError);\n}\nexports.reportTypeError = reportTypeError;\nfunction getTypeErrorContext(it) {\n const { gen, data, schema } = it;\n const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, \"type\");\n return {\n gen,\n keyword: \"type\",\n data,\n schema: schema.type,\n schemaCode,\n schemaValue: schemaCode,\n parentSchema: schema,\n params: {},\n it,\n };\n}\n//# sourceMappingURL=dataType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assignDefaults = void 0;\nconst codegen_1 = require(\"../codegen\");\nconst util_1 = require(\"../util\");\nfunction assignDefaults(it, ty) {\n const { properties, items } = it.schema;\n if (ty === \"object\" && properties) {\n for (const key in properties) {\n assignDefault(it, key, properties[key].default);\n }\n }\n else if (ty === \"array\" && Array.isArray(items)) {\n items.forEach((sch, i) => assignDefault(it, i, sch.default));\n }\n}\nexports.assignDefaults = assignDefaults;\nfunction assignDefault(it, prop, defaultValue) {\n const { gen, compositeRule, data, opts } = it;\n if (defaultValue === undefined)\n return;\n const childData = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(prop)}`;\n if (compositeRule) {\n (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`);\n return;\n }\n let condition = (0, codegen_1._) `${childData} === undefined`;\n if (opts.useDefaults === \"empty\") {\n condition = (0, codegen_1._) `${condition} || ${childData} === null || ${childData} === \"\"`;\n }\n // `${childData} === undefined` +\n // (opts.useDefaults === \"empty\" ? ` || ${childData} === null || ${childData} === \"\"` : \"\")\n gen.if(condition, (0, codegen_1._) `${childData} = ${(0, codegen_1.stringify)(defaultValue)}`);\n}\n//# sourceMappingURL=defaults.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;\nconst boolSchema_1 = require(\"./boolSchema\");\nconst dataType_1 = require(\"./dataType\");\nconst applicability_1 = require(\"./applicability\");\nconst dataType_2 = require(\"./dataType\");\nconst defaults_1 = require(\"./defaults\");\nconst keyword_1 = require(\"./keyword\");\nconst subschema_1 = require(\"./subschema\");\nconst codegen_1 = require(\"../codegen\");\nconst names_1 = require(\"../names\");\nconst resolve_1 = require(\"../resolve\");\nconst util_1 = require(\"../util\");\nconst errors_1 = require(\"../errors\");\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nfunction validateFunctionCode(it) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it);\n return;\n }\n }\n validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));\n}\nexports.validateFunctionCode = validateFunctionCode;\nfunction validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {\n if (opts.code.es5) {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {\n gen.code((0, codegen_1._) `\"use strict\"; ${funcSourceUrl(schema, opts)}`);\n destructureValCxtES5(gen, opts);\n gen.code(body);\n });\n }\n else {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));\n }\n}\nfunction destructureValCxt(opts) {\n return (0, codegen_1._) `{${names_1.default.instancePath}=\"\", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;\n}\nfunction destructureValCxtES5(gen, opts) {\n gen.if(names_1.default.valCxt, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);\n gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);\n }, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `\"\"`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.rootData, names_1.default.data);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);\n });\n}\nfunction topSchemaObjCode(it) {\n const { schema, opts, gen } = it;\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n checkNoDefault(it);\n gen.let(names_1.default.vErrors, null);\n gen.let(names_1.default.errors, 0);\n if (opts.unevaluated)\n resetEvaluated(it);\n typeAndKeywords(it);\n returnResults(it);\n });\n return;\n}\nfunction resetEvaluated(it) {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const { gen, validateName } = it;\n it.evaluated = gen.const(\"evaluated\", (0, codegen_1._) `${validateName}.evaluated`);\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));\n}\nfunction funcSourceUrl(schema, opts) {\n const schId = typeof schema == \"object\" && schema[opts.schemaId];\n return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;\n}\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it, valid) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid);\n return;\n }\n }\n (0, boolSchema_1.boolOrEmptySchema)(it, valid);\n}\nfunction schemaCxtHasRules({ schema, self }) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (self.RULES.all[key])\n return true;\n return false;\n}\nfunction isSchemaObj(it) {\n return typeof it.schema != \"boolean\";\n}\nfunction subSchemaObjCode(it, valid) {\n const { schema, gen, opts } = it;\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n updateContext(it);\n checkAsyncSchema(it);\n const errsCount = gen.const(\"_errs\", names_1.default.errors);\n typeAndKeywords(it, errsCount);\n // TODO var\n gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n}\nfunction checkKeywords(it) {\n (0, util_1.checkUnknownRules)(it);\n checkRefsAndKeywords(it);\n}\nfunction typeAndKeywords(it, errsCount) {\n if (it.opts.jtd)\n return schemaKeywords(it, [], false, errsCount);\n const types = (0, dataType_1.getSchemaTypes)(it.schema);\n const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);\n schemaKeywords(it, types, !checkedTypes, errsCount);\n}\nfunction checkRefsAndKeywords(it) {\n const { schema, errSchemaPath, opts, self } = it;\n if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`);\n }\n}\nfunction checkNoDefault(it) {\n const { schema, opts } = it;\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n (0, util_1.checkStrictMode)(it, \"default is ignored in the schema root\");\n }\n}\nfunction updateContext(it) {\n const schId = it.schema[it.opts.schemaId];\n if (schId)\n it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);\n}\nfunction checkAsyncSchema(it) {\n if (it.schema.$async && !it.schemaEnv.$async)\n throw new Error(\"async schema in sync schema\");\n}\nfunction commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {\n const msg = schema.$comment;\n if (opts.$comment === true) {\n gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);\n }\n else if (typeof opts.$comment == \"function\") {\n const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;\n const rootName = gen.scopeValue(\"root\", { ref: schemaEnv.root });\n gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);\n }\n}\nfunction returnResults(it) {\n const { gen, schemaEnv, validateName, ValidationError, opts } = it;\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);\n if (opts.unevaluated)\n assignEvaluated(it);\n gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);\n }\n}\nfunction assignEvaluated({ gen, evaluated, props, items }) {\n if (props instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.props`, props);\n if (items instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.items`, items);\n}\nfunction schemaKeywords(it, types, typeErrors, errsCount) {\n const { gen, schema, data, allErrors, opts, self } = it;\n const { RULES } = self;\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", RULES.all.$ref.definition)); // TODO typecast\n return;\n }\n if (!opts.jtd)\n checkStrictTypes(it, types);\n gen.block(() => {\n for (const group of RULES.rules)\n groupKeywords(group);\n groupKeywords(RULES.post);\n });\n function groupKeywords(group) {\n if (!(0, applicability_1.shouldUseGroup)(schema, group))\n return;\n if (group.type) {\n gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));\n iterateKeywords(it, group);\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else();\n (0, dataType_2.reportTypeError)(it);\n }\n gen.endIf();\n }\n else {\n iterateKeywords(it, group);\n }\n // TODO make it \"ok\" call?\n if (!allErrors)\n gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);\n }\n}\nfunction iterateKeywords(it, group) {\n const { gen, schema, opts: { useDefaults }, } = it;\n if (useDefaults)\n (0, defaults_1.assignDefaults)(it, group.type);\n gen.block(() => {\n for (const rule of group.rules) {\n if ((0, applicability_1.shouldUseRule)(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type);\n }\n }\n });\n}\nfunction checkStrictTypes(it, types) {\n if (it.schemaEnv.meta || !it.opts.strictTypes)\n return;\n checkContextTypes(it, types);\n if (!it.opts.allowUnionTypes)\n checkMultipleTypes(it, types);\n checkKeywordTypes(it, it.dataTypes);\n}\nfunction checkContextTypes(it, types) {\n if (!types.length)\n return;\n if (!it.dataTypes.length) {\n it.dataTypes = types;\n return;\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`);\n }\n });\n narrowSchemaTypes(it, types);\n}\nfunction checkMultipleTypes(it, ts) {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\");\n }\n}\nfunction checkKeywordTypes(it, ts) {\n const rules = it.self.RULES.all;\n for (const keyword in rules) {\n const rule = rules[keyword];\n if (typeof rule == \"object\" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {\n const { type } = rule.definition;\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`);\n }\n }\n }\n}\nfunction hasApplicableType(schTs, kwdT) {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"));\n}\nfunction includesType(ts, t) {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"));\n}\nfunction narrowSchemaTypes(it, withTypes) {\n const ts = [];\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t))\n ts.push(t);\n else if (withTypes.includes(\"integer\") && t === \"number\")\n ts.push(\"integer\");\n }\n it.dataTypes = ts;\n}\nfunction strictTypesError(it, msg) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n msg += ` at \"${schemaPath}\" (strictTypes)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);\n}\nclass KeywordCxt {\n constructor(it, def, keyword) {\n (0, keyword_1.validateKeywordUsage)(it, def, keyword);\n this.gen = it.gen;\n this.allErrors = it.allErrors;\n this.keyword = keyword;\n this.data = it.data;\n this.schema = it.schema[keyword];\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;\n this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);\n this.schemaType = def.schemaType;\n this.parentSchema = it.schema;\n this.params = {};\n this.it = it;\n this.def = def;\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it));\n }\n else {\n this.schemaCode = this.schemaValue;\n if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);\n }\n }\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", names_1.default.errors);\n }\n }\n result(condition, successAction, failAction) {\n this.failResult((0, codegen_1.not)(condition), successAction, failAction);\n }\n failResult(condition, successAction, failAction) {\n this.gen.if(condition);\n if (failAction)\n failAction();\n else\n this.error();\n if (successAction) {\n this.gen.else();\n successAction();\n if (this.allErrors)\n this.gen.endIf();\n }\n else {\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n }\n pass(condition, failAction) {\n this.failResult((0, codegen_1.not)(condition), undefined, failAction);\n }\n fail(condition) {\n if (condition === undefined) {\n this.error();\n if (!this.allErrors)\n this.gen.if(false); // this branch will be removed by gen.optimize\n return;\n }\n this.gen.if(condition);\n this.error();\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n fail$data(condition) {\n if (!this.$data)\n return this.fail(condition);\n const { schemaCode } = this;\n this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);\n }\n error(append, errorParams, errorPaths) {\n if (errorParams) {\n this.setParams(errorParams);\n this._error(append, errorPaths);\n this.setParams({});\n return;\n }\n this._error(append, errorPaths);\n }\n _error(append, errorPaths) {\n ;\n (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);\n }\n $dataError() {\n (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);\n }\n reset() {\n if (this.errsCount === undefined)\n throw new Error('add \"trackErrors\" to keyword definition');\n (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);\n }\n ok(cond) {\n if (!this.allErrors)\n this.gen.if(cond);\n }\n setParams(obj, assign) {\n if (assign)\n Object.assign(this.params, obj);\n else\n this.params = obj;\n }\n block$data(valid, codeBlock, $dataValid = codegen_1.nil) {\n this.gen.block(() => {\n this.check$data(valid, $dataValid);\n codeBlock();\n });\n }\n check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {\n if (!this.$data)\n return;\n const { gen, schemaCode, schemaType, def } = this;\n gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));\n if (valid !== codegen_1.nil)\n gen.assign(valid, true);\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data());\n this.$dataError();\n if (valid !== codegen_1.nil)\n gen.assign(valid, false);\n }\n gen.else();\n }\n invalid$data() {\n const { gen, schemaCode, schemaType, def, it } = this;\n return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());\n function wrong$DataType() {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof codegen_1.Name))\n throw new Error(\"ajv implementation error\");\n const st = Array.isArray(schemaType) ? schemaType : [schemaType];\n return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;\n }\n return codegen_1.nil;\n }\n function invalid$DataSchema() {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", { ref: def.validateSchema }); // TODO value.code for standalone\n return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;\n }\n return codegen_1.nil;\n }\n }\n subschema(appl, valid) {\n const subschema = (0, subschema_1.getSubschema)(this.it, appl);\n (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);\n (0, subschema_1.extendSubschemaMode)(subschema, appl);\n const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };\n subschemaCode(nextContext, valid);\n return nextContext;\n }\n mergeEvaluated(schemaCxt, toName) {\n const { it, gen } = this;\n if (!it.opts.unevaluated)\n return;\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);\n }\n }\n mergeValidEvaluated(schemaCxt, valid) {\n const { it, gen } = this;\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));\n return true;\n }\n }\n}\nexports.KeywordCxt = KeywordCxt;\nfunction keywordCode(it, keyword, def, ruleType) {\n const cxt = new KeywordCxt(it, def, keyword);\n if (\"code\" in def) {\n def.code(cxt, ruleType);\n }\n else if (cxt.$data && def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n else if (\"macro\" in def) {\n (0, keyword_1.macroKeywordCode)(cxt, def);\n }\n else if (def.compile || def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n}\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, { dataLevel, dataNames, dataPathArr }) {\n let jsonPointer;\n let data;\n if ($data === \"\")\n return names_1.default.rootData;\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data))\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n jsonPointer = $data;\n data = names_1.default.rootData;\n }\n else {\n const matches = RELATIVE_JSON_POINTER.exec($data);\n if (!matches)\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n const up = +matches[1];\n jsonPointer = matches[2];\n if (jsonPointer === \"#\") {\n if (up >= dataLevel)\n throw new Error(errorMsg(\"property/index\", up));\n return dataPathArr[dataLevel - up];\n }\n if (up > dataLevel)\n throw new Error(errorMsg(\"data\", up));\n data = dataNames[dataLevel - up];\n if (!jsonPointer)\n return data;\n }\n let expr = data;\n const segments = jsonPointer.split(\"/\");\n for (const segment of segments) {\n if (segment) {\n data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;\n expr = (0, codegen_1._) `${expr} && ${data}`;\n }\n }\n return expr;\n function errorMsg(pointerType, up) {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;\n }\n}\nexports.getData = getData;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;\nconst codegen_1 = require(\"../codegen\");\nconst names_1 = require(\"../names\");\nconst code_1 = require(\"../../vocabularies/code\");\nconst errors_1 = require(\"../errors\");\nfunction macroKeywordCode(cxt, def) {\n const { gen, keyword, schema, parentSchema, it } = cxt;\n const macroSchema = def.macro.call(it.self, schema, parentSchema, it);\n const schemaRef = useKeyword(gen, keyword, macroSchema);\n if (it.opts.validateSchema !== false)\n it.self.validateSchema(macroSchema, true);\n const valid = gen.name(\"valid\");\n cxt.subschema({\n schema: macroSchema,\n schemaPath: codegen_1.nil,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n topSchemaRef: schemaRef,\n compositeRule: true,\n }, valid);\n cxt.pass(valid, () => cxt.error(true));\n}\nexports.macroKeywordCode = macroKeywordCode;\nfunction funcKeywordCode(cxt, def) {\n var _a;\n const { gen, keyword, schema, parentSchema, $data, it } = cxt;\n checkAsyncKeyword(it, def);\n const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate;\n const validateRef = useKeyword(gen, keyword, validate);\n const valid = gen.let(\"valid\");\n cxt.block$data(valid, validateKeyword);\n cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);\n function validateKeyword() {\n if (def.errors === false) {\n assignValid();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => cxt.error());\n }\n else {\n const ruleErrs = def.async ? validateAsync() : validateSync();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => addErrs(cxt, ruleErrs));\n }\n }\n function validateAsync() {\n const ruleErrs = gen.let(\"ruleErrs\", null);\n gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e)));\n return ruleErrs;\n }\n function validateSync() {\n const validateErrs = (0, codegen_1._) `${validateRef}.errors`;\n gen.assign(validateErrs, null);\n assignValid(codegen_1.nil);\n return validateErrs;\n }\n function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) {\n const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;\n const passSchema = !((\"compile\" in def && !$data) || def.schema === false);\n gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);\n }\n function reportErrs(errors) {\n var _a;\n gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);\n }\n}\nexports.funcKeywordCode = funcKeywordCode;\nfunction modifyData(cxt) {\n const { gen, data, it } = cxt;\n gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`));\n}\nfunction addErrs(cxt, errs) {\n const { gen } = cxt;\n gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => {\n gen\n .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`)\n .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n (0, errors_1.extendErrors)(cxt);\n }, () => cxt.error());\n}\nfunction checkAsyncKeyword({ schemaEnv }, def) {\n if (def.async && !schemaEnv.$async)\n throw new Error(\"async keyword in sync schema\");\n}\nfunction useKeyword(gen, keyword, result) {\n if (result === undefined)\n throw new Error(`keyword \"${keyword}\" failed to compile`);\n return gen.scopeValue(\"keyword\", typeof result == \"function\" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) });\n}\nfunction validSchemaType(schema, schemaType, allowUndefined = false) {\n // TODO add tests\n return (!schemaType.length ||\n schemaType.some((st) => st === \"array\"\n ? Array.isArray(schema)\n : st === \"object\"\n ? schema && typeof schema == \"object\" && !Array.isArray(schema)\n : typeof schema == st || (allowUndefined && typeof schema == \"undefined\")));\n}\nexports.validSchemaType = validSchemaType;\nfunction validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {\n /* istanbul ignore if */\n if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {\n throw new Error(\"ajv implementation error\");\n }\n const deps = def.dependencies;\n if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {\n throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(\",\")}`);\n }\n if (def.validateSchema) {\n const valid = def.validateSchema(schema[keyword]);\n if (!valid) {\n const msg = `keyword \"${keyword}\" value is invalid at path \"${errSchemaPath}\": ` +\n self.errorsText(def.validateSchema.errors);\n if (opts.validateSchema === \"log\")\n self.logger.error(msg);\n else\n throw new Error(msg);\n }\n }\n}\nexports.validateKeywordUsage = validateKeywordUsage;\n//# sourceMappingURL=keyword.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;\nconst codegen_1 = require(\"../codegen\");\nconst util_1 = require(\"../util\");\nfunction getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {\n if (keyword !== undefined && schema !== undefined) {\n throw new Error('both \"keyword\" and \"schema\" passed, only one allowed');\n }\n if (keyword !== undefined) {\n const sch = it.schema[keyword];\n return schemaProp === undefined\n ? {\n schema: sch,\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n }\n : {\n schema: sch[schemaProp],\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`,\n };\n }\n if (schema !== undefined) {\n if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {\n throw new Error('\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"');\n }\n return {\n schema,\n schemaPath,\n topSchemaRef,\n errSchemaPath,\n };\n }\n throw new Error('either \"keyword\" or \"schema\" must be passed');\n}\nexports.getSubschema = getSubschema;\nfunction extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {\n if (data !== undefined && dataProp !== undefined) {\n throw new Error('both \"data\" and \"dataProp\" passed, only one allowed');\n }\n const { gen } = it;\n if (dataProp !== undefined) {\n const { errorPath, dataPathArr, opts } = it;\n const nextData = gen.let(\"data\", (0, codegen_1._) `${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true);\n dataContextProps(nextData);\n subschema.errorPath = (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;\n subschema.parentDataProperty = (0, codegen_1._) `${dataProp}`;\n subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];\n }\n if (data !== undefined) {\n const nextData = data instanceof codegen_1.Name ? data : gen.let(\"data\", data, true); // replaceable if used once?\n dataContextProps(nextData);\n if (propertyName !== undefined)\n subschema.propertyName = propertyName;\n // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr\n }\n if (dataTypes)\n subschema.dataTypes = dataTypes;\n function dataContextProps(_nextData) {\n subschema.data = _nextData;\n subschema.dataLevel = it.dataLevel + 1;\n subschema.dataTypes = [];\n it.definedProperties = new Set();\n subschema.parentData = it.data;\n subschema.dataNames = [...it.dataNames, _nextData];\n }\n}\nexports.extendSubschemaData = extendSubschemaData;\nfunction extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {\n if (compositeRule !== undefined)\n subschema.compositeRule = compositeRule;\n if (createErrors !== undefined)\n subschema.createErrors = createErrors;\n if (allErrors !== undefined)\n subschema.allErrors = allErrors;\n subschema.jtdDiscriminator = jtdDiscriminator; // not inherited\n subschema.jtdMetadata = jtdMetadata; // not inherited\n}\nexports.extendSubschemaMode = extendSubschemaMode;\n//# sourceMappingURL=subschema.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nvar validate_1 = require(\"./compile/validate\");\nObject.defineProperty(exports, \"KeywordCxt\", { enumerable: true, get: function () { return validate_1.KeywordCxt; } });\nvar codegen_1 = require(\"./compile/codegen\");\nObject.defineProperty(exports, \"_\", { enumerable: true, get: function () { return codegen_1._; } });\nObject.defineProperty(exports, \"str\", { enumerable: true, get: function () { return codegen_1.str; } });\nObject.defineProperty(exports, \"stringify\", { enumerable: true, get: function () { return codegen_1.stringify; } });\nObject.defineProperty(exports, \"nil\", { enumerable: true, get: function () { return codegen_1.nil; } });\nObject.defineProperty(exports, \"Name\", { enumerable: true, get: function () { return codegen_1.Name; } });\nObject.defineProperty(exports, \"CodeGen\", { enumerable: true, get: function () { return codegen_1.CodeGen; } });\nconst validation_error_1 = require(\"./runtime/validation_error\");\nconst ref_error_1 = require(\"./compile/ref_error\");\nconst rules_1 = require(\"./compile/rules\");\nconst compile_1 = require(\"./compile\");\nconst codegen_2 = require(\"./compile/codegen\");\nconst resolve_1 = require(\"./compile/resolve\");\nconst dataType_1 = require(\"./compile/validate/dataType\");\nconst util_1 = require(\"./compile/util\");\nconst $dataRefSchema = require(\"./refs/data.json\");\nconst uri_1 = require(\"./runtime/uri\");\nconst defaultRegExp = (str, flags) => new RegExp(str, flags);\ndefaultRegExp.code = \"new RegExp\";\nconst META_IGNORE_OPTIONS = [\"removeAdditional\", \"useDefaults\", \"coerceTypes\"];\nconst EXT_SCOPE_NAMES = new Set([\n \"validate\",\n \"serialize\",\n \"parse\",\n \"wrapper\",\n \"root\",\n \"schema\",\n \"keyword\",\n \"pattern\",\n \"formats\",\n \"validate$data\",\n \"func\",\n \"obj\",\n \"Error\",\n]);\nconst removedOptions = {\n errorDataPath: \"\",\n format: \"`validateFormats: false` can be used instead.\",\n nullable: '\"nullable\" keyword is supported by default.',\n jsonPointers: \"Deprecated jsPropertySyntax can be used instead.\",\n extendRefs: \"Deprecated ignoreKeywordsWithRef can be used instead.\",\n missingRefs: \"Pass empty schema with $id that should be ignored to ajv.addSchema.\",\n processCode: \"Use option `code: {process: (code, schemaEnv: object) => string}`\",\n sourceCode: \"Use option `code: {source: true}`\",\n strictDefaults: \"It is default now, see option `strict`.\",\n strictKeywords: \"It is default now, see option `strict`.\",\n uniqueItems: '\"uniqueItems\" keyword is always validated.',\n unknownFormats: \"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).\",\n cache: \"Map is used as cache, schema object as key.\",\n serialize: \"Map is used as cache, schema object as key.\",\n ajvErrors: \"It is default now.\",\n};\nconst deprecatedOptions = {\n ignoreKeywordsWithRef: \"\",\n jsPropertySyntax: \"\",\n unicode: '\"minLength\"/\"maxLength\" account for unicode characters by default.',\n};\nconst MAX_EXPRESSION = 200;\n// eslint-disable-next-line complexity\nfunction requiredOptions(o) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;\n const s = o.strict;\n const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize;\n const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0;\n const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp;\n const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default;\n return {\n strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true,\n strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true,\n strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : \"log\",\n strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : \"log\",\n strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false,\n code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp },\n loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION,\n loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION,\n meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true,\n messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true,\n inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true,\n schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : \"$id\",\n addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true,\n validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true,\n validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true,\n unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true,\n int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true,\n uriResolver: uriResolver,\n };\n}\nclass Ajv {\n constructor(opts = {}) {\n this.schemas = {};\n this.refs = {};\n this.formats = {};\n this._compilations = new Set();\n this._loading = {};\n this._cache = new Map();\n opts = this.opts = { ...opts, ...requiredOptions(opts) };\n const { es5, lines } = this.opts.code;\n this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines });\n this.logger = getLogger(opts.logger);\n const formatOpt = opts.validateFormats;\n opts.validateFormats = false;\n this.RULES = (0, rules_1.getRules)();\n checkOptions.call(this, removedOptions, opts, \"NOT SUPPORTED\");\n checkOptions.call(this, deprecatedOptions, opts, \"DEPRECATED\", \"warn\");\n this._metaOpts = getMetaSchemaOptions.call(this);\n if (opts.formats)\n addInitialFormats.call(this);\n this._addVocabularies();\n this._addDefaultMetaSchema();\n if (opts.keywords)\n addInitialKeywords.call(this, opts.keywords);\n if (typeof opts.meta == \"object\")\n this.addMetaSchema(opts.meta);\n addInitialSchemas.call(this);\n opts.validateFormats = formatOpt;\n }\n _addVocabularies() {\n this.addKeyword(\"$async\");\n }\n _addDefaultMetaSchema() {\n const { $data, meta, schemaId } = this.opts;\n let _dataRefSchema = $dataRefSchema;\n if (schemaId === \"id\") {\n _dataRefSchema = { ...$dataRefSchema };\n _dataRefSchema.id = _dataRefSchema.$id;\n delete _dataRefSchema.$id;\n }\n if (meta && $data)\n this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false);\n }\n defaultMeta() {\n const { meta, schemaId } = this.opts;\n return (this.opts.defaultMeta = typeof meta == \"object\" ? meta[schemaId] || meta : undefined);\n }\n validate(schemaKeyRef, // key, ref or schema object\n data // to be validated\n ) {\n let v;\n if (typeof schemaKeyRef == \"string\") {\n v = this.getSchema(schemaKeyRef);\n if (!v)\n throw new Error(`no schema with key or ref \"${schemaKeyRef}\"`);\n }\n else {\n v = this.compile(schemaKeyRef);\n }\n const valid = v(data);\n if (!(\"$async\" in v))\n this.errors = v.errors;\n return valid;\n }\n compile(schema, _meta) {\n const sch = this._addSchema(schema, _meta);\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n compileAsync(schema, meta) {\n if (typeof this.opts.loadSchema != \"function\") {\n throw new Error(\"options.loadSchema should be a function\");\n }\n const { loadSchema } = this.opts;\n return runCompileAsync.call(this, schema, meta);\n async function runCompileAsync(_schema, _meta) {\n await loadMetaSchema.call(this, _schema.$schema);\n const sch = this._addSchema(_schema, _meta);\n return sch.validate || _compileAsync.call(this, sch);\n }\n async function loadMetaSchema($ref) {\n if ($ref && !this.getSchema($ref)) {\n await runCompileAsync.call(this, { $ref }, true);\n }\n }\n async function _compileAsync(sch) {\n try {\n return this._compileSchemaEnv(sch);\n }\n catch (e) {\n if (!(e instanceof ref_error_1.default))\n throw e;\n checkLoaded.call(this, e);\n await loadMissingSchema.call(this, e.missingSchema);\n return _compileAsync.call(this, sch);\n }\n }\n function checkLoaded({ missingSchema: ref, missingRef }) {\n if (this.refs[ref]) {\n throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`);\n }\n }\n async function loadMissingSchema(ref) {\n const _schema = await _loadSchema.call(this, ref);\n if (!this.refs[ref])\n await loadMetaSchema.call(this, _schema.$schema);\n if (!this.refs[ref])\n this.addSchema(_schema, ref, meta);\n }\n async function _loadSchema(ref) {\n const p = this._loading[ref];\n if (p)\n return p;\n try {\n return await (this._loading[ref] = loadSchema(ref));\n }\n finally {\n delete this._loading[ref];\n }\n }\n }\n // Adds schema to the instance\n addSchema(schema, // If array is passed, `key` will be ignored\n key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead.\n ) {\n if (Array.isArray(schema)) {\n for (const sch of schema)\n this.addSchema(sch, undefined, _meta, _validateSchema);\n return this;\n }\n let id;\n if (typeof schema === \"object\") {\n const { schemaId } = this.opts;\n id = schema[schemaId];\n if (id !== undefined && typeof id != \"string\") {\n throw new Error(`schema ${schemaId} must be string`);\n }\n }\n key = (0, resolve_1.normalizeId)(key || id);\n this._checkUnique(key);\n this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true);\n return this;\n }\n // Add schema that will be used to validate other schemas\n // options in META_IGNORE_OPTIONS are alway set to false\n addMetaSchema(schema, key, // schema key\n _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema\n ) {\n this.addSchema(schema, key, true, _validateSchema);\n return this;\n }\n // Validate schema against its meta-schema\n validateSchema(schema, throwOrLogError) {\n if (typeof schema == \"boolean\")\n return true;\n let $schema;\n $schema = schema.$schema;\n if ($schema !== undefined && typeof $schema != \"string\") {\n throw new Error(\"$schema must be a string\");\n }\n $schema = $schema || this.opts.defaultMeta || this.defaultMeta();\n if (!$schema) {\n this.logger.warn(\"meta-schema not available\");\n this.errors = null;\n return true;\n }\n const valid = this.validate($schema, schema);\n if (!valid && throwOrLogError) {\n const message = \"schema is invalid: \" + this.errorsText();\n if (this.opts.validateSchema === \"log\")\n this.logger.error(message);\n else\n throw new Error(message);\n }\n return valid;\n }\n // Get compiled schema by `key` or `ref`.\n // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)\n getSchema(keyRef) {\n let sch;\n while (typeof (sch = getSchEnv.call(this, keyRef)) == \"string\")\n keyRef = sch;\n if (sch === undefined) {\n const { schemaId } = this.opts;\n const root = new compile_1.SchemaEnv({ schema: {}, schemaId });\n sch = compile_1.resolveSchema.call(this, root, keyRef);\n if (!sch)\n return;\n this.refs[keyRef] = sch;\n }\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n // Remove cached schema(s).\n // If no parameter is passed all schemas but meta-schemas are removed.\n // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n // Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n removeSchema(schemaKeyRef) {\n if (schemaKeyRef instanceof RegExp) {\n this._removeAllSchemas(this.schemas, schemaKeyRef);\n this._removeAllSchemas(this.refs, schemaKeyRef);\n return this;\n }\n switch (typeof schemaKeyRef) {\n case \"undefined\":\n this._removeAllSchemas(this.schemas);\n this._removeAllSchemas(this.refs);\n this._cache.clear();\n return this;\n case \"string\": {\n const sch = getSchEnv.call(this, schemaKeyRef);\n if (typeof sch == \"object\")\n this._cache.delete(sch.schema);\n delete this.schemas[schemaKeyRef];\n delete this.refs[schemaKeyRef];\n return this;\n }\n case \"object\": {\n const cacheKey = schemaKeyRef;\n this._cache.delete(cacheKey);\n let id = schemaKeyRef[this.opts.schemaId];\n if (id) {\n id = (0, resolve_1.normalizeId)(id);\n delete this.schemas[id];\n delete this.refs[id];\n }\n return this;\n }\n default:\n throw new Error(\"ajv.removeSchema: invalid parameter\");\n }\n }\n // add \"vocabulary\" - a collection of keywords\n addVocabulary(definitions) {\n for (const def of definitions)\n this.addKeyword(def);\n return this;\n }\n addKeyword(kwdOrDef, def // deprecated\n ) {\n let keyword;\n if (typeof kwdOrDef == \"string\") {\n keyword = kwdOrDef;\n if (typeof def == \"object\") {\n this.logger.warn(\"these parameters are deprecated, see docs for addKeyword\");\n def.keyword = keyword;\n }\n }\n else if (typeof kwdOrDef == \"object\" && def === undefined) {\n def = kwdOrDef;\n keyword = def.keyword;\n if (Array.isArray(keyword) && !keyword.length) {\n throw new Error(\"addKeywords: keyword must be string or non-empty array\");\n }\n }\n else {\n throw new Error(\"invalid addKeywords parameters\");\n }\n checkKeyword.call(this, keyword, def);\n if (!def) {\n (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd));\n return this;\n }\n keywordMetaschema.call(this, def);\n const definition = {\n ...def,\n type: (0, dataType_1.getJSONTypes)(def.type),\n schemaType: (0, dataType_1.getJSONTypes)(def.schemaType),\n };\n (0, util_1.eachItem)(keyword, definition.type.length === 0\n ? (k) => addRule.call(this, k, definition)\n : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t)));\n return this;\n }\n getKeyword(keyword) {\n const rule = this.RULES.all[keyword];\n return typeof rule == \"object\" ? rule.definition : !!rule;\n }\n // Remove keyword\n removeKeyword(keyword) {\n // TODO return type should be Ajv\n const { RULES } = this;\n delete RULES.keywords[keyword];\n delete RULES.all[keyword];\n for (const group of RULES.rules) {\n const i = group.rules.findIndex((rule) => rule.keyword === keyword);\n if (i >= 0)\n group.rules.splice(i, 1);\n }\n return this;\n }\n // Add format\n addFormat(name, format) {\n if (typeof format == \"string\")\n format = new RegExp(format);\n this.formats[name] = format;\n return this;\n }\n errorsText(errors = this.errors, // optional array of validation errors\n { separator = \", \", dataVar = \"data\" } = {} // optional options with properties `separator` and `dataVar`\n ) {\n if (!errors || errors.length === 0)\n return \"No errors\";\n return errors\n .map((e) => `${dataVar}${e.instancePath} ${e.message}`)\n .reduce((text, msg) => text + separator + msg);\n }\n $dataMetaSchema(metaSchema, keywordsJsonPointers) {\n const rules = this.RULES.all;\n metaSchema = JSON.parse(JSON.stringify(metaSchema));\n for (const jsonPointer of keywordsJsonPointers) {\n const segments = jsonPointer.split(\"/\").slice(1); // first segment is an empty string\n let keywords = metaSchema;\n for (const seg of segments)\n keywords = keywords[seg];\n for (const key in rules) {\n const rule = rules[key];\n if (typeof rule != \"object\")\n continue;\n const { $data } = rule.definition;\n const schema = keywords[key];\n if ($data && schema)\n keywords[key] = schemaOrData(schema);\n }\n }\n return metaSchema;\n }\n _removeAllSchemas(schemas, regex) {\n for (const keyRef in schemas) {\n const sch = schemas[keyRef];\n if (!regex || regex.test(keyRef)) {\n if (typeof sch == \"string\") {\n delete schemas[keyRef];\n }\n else if (sch && !sch.meta) {\n this._cache.delete(sch.schema);\n delete schemas[keyRef];\n }\n }\n }\n }\n _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) {\n let id;\n const { schemaId } = this.opts;\n if (typeof schema == \"object\") {\n id = schema[schemaId];\n }\n else {\n if (this.opts.jtd)\n throw new Error(\"schema must be object\");\n else if (typeof schema != \"boolean\")\n throw new Error(\"schema must be object or boolean\");\n }\n let sch = this._cache.get(schema);\n if (sch !== undefined)\n return sch;\n baseId = (0, resolve_1.normalizeId)(id || baseId);\n const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId);\n sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs });\n this._cache.set(sch.schema, sch);\n if (addSchema && !baseId.startsWith(\"#\")) {\n // TODO atm it is allowed to overwrite schemas without id (instead of not adding them)\n if (baseId)\n this._checkUnique(baseId);\n this.refs[baseId] = sch;\n }\n if (validateSchema)\n this.validateSchema(schema, true);\n return sch;\n }\n _checkUnique(id) {\n if (this.schemas[id] || this.refs[id]) {\n throw new Error(`schema with key or id \"${id}\" already exists`);\n }\n }\n _compileSchemaEnv(sch) {\n if (sch.meta)\n this._compileMetaSchema(sch);\n else\n compile_1.compileSchema.call(this, sch);\n /* istanbul ignore if */\n if (!sch.validate)\n throw new Error(\"ajv implementation error\");\n return sch.validate;\n }\n _compileMetaSchema(sch) {\n const currentOpts = this.opts;\n this.opts = this._metaOpts;\n try {\n compile_1.compileSchema.call(this, sch);\n }\n finally {\n this.opts = currentOpts;\n }\n }\n}\nexports.default = Ajv;\nAjv.ValidationError = validation_error_1.default;\nAjv.MissingRefError = ref_error_1.default;\nfunction checkOptions(checkOpts, options, msg, log = \"error\") {\n for (const key in checkOpts) {\n const opt = key;\n if (opt in options)\n this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`);\n }\n}\nfunction getSchEnv(keyRef) {\n keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line\n return this.schemas[keyRef] || this.refs[keyRef];\n}\nfunction addInitialSchemas() {\n const optsSchemas = this.opts.schemas;\n if (!optsSchemas)\n return;\n if (Array.isArray(optsSchemas))\n this.addSchema(optsSchemas);\n else\n for (const key in optsSchemas)\n this.addSchema(optsSchemas[key], key);\n}\nfunction addInitialFormats() {\n for (const name in this.opts.formats) {\n const format = this.opts.formats[name];\n if (format)\n this.addFormat(name, format);\n }\n}\nfunction addInitialKeywords(defs) {\n if (Array.isArray(defs)) {\n this.addVocabulary(defs);\n return;\n }\n this.logger.warn(\"keywords option as map is deprecated, pass array\");\n for (const keyword in defs) {\n const def = defs[keyword];\n if (!def.keyword)\n def.keyword = keyword;\n this.addKeyword(def);\n }\n}\nfunction getMetaSchemaOptions() {\n const metaOpts = { ...this.opts };\n for (const opt of META_IGNORE_OPTIONS)\n delete metaOpts[opt];\n return metaOpts;\n}\nconst noLogs = { log() { }, warn() { }, error() { } };\nfunction getLogger(logger) {\n if (logger === false)\n return noLogs;\n if (logger === undefined)\n return console;\n if (logger.log && logger.warn && logger.error)\n return logger;\n throw new Error(\"logger must implement log, warn and error methods\");\n}\nconst KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;\nfunction checkKeyword(keyword, def) {\n const { RULES } = this;\n (0, util_1.eachItem)(keyword, (kwd) => {\n if (RULES.keywords[kwd])\n throw new Error(`Keyword ${kwd} is already defined`);\n if (!KEYWORD_NAME.test(kwd))\n throw new Error(`Keyword ${kwd} has invalid name`);\n });\n if (!def)\n return;\n if (def.$data && !(\"code\" in def || \"validate\" in def)) {\n throw new Error('$data keyword must have \"code\" or \"validate\" function');\n }\n}\nfunction addRule(keyword, definition, dataType) {\n var _a;\n const post = definition === null || definition === void 0 ? void 0 : definition.post;\n if (dataType && post)\n throw new Error('keyword with \"post\" flag cannot have \"type\"');\n const { RULES } = this;\n let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType);\n if (!ruleGroup) {\n ruleGroup = { type: dataType, rules: [] };\n RULES.rules.push(ruleGroup);\n }\n RULES.keywords[keyword] = true;\n if (!definition)\n return;\n const rule = {\n keyword,\n definition: {\n ...definition,\n type: (0, dataType_1.getJSONTypes)(definition.type),\n schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType),\n },\n };\n if (definition.before)\n addBeforeRule.call(this, ruleGroup, rule, definition.before);\n else\n ruleGroup.rules.push(rule);\n RULES.all[keyword] = rule;\n (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd));\n}\nfunction addBeforeRule(ruleGroup, rule, before) {\n const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before);\n if (i >= 0) {\n ruleGroup.rules.splice(i, 0, rule);\n }\n else {\n ruleGroup.rules.push(rule);\n this.logger.warn(`rule ${before} is not defined`);\n }\n}\nfunction keywordMetaschema(def) {\n let { metaSchema } = def;\n if (metaSchema === undefined)\n return;\n if (def.$data && this.opts.$data)\n metaSchema = schemaOrData(metaSchema);\n def.validateSchema = this.compile(metaSchema, true);\n}\nconst $dataRef = {\n $ref: \"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#\",\n};\nfunction schemaOrData(schema) {\n return { anyOf: [schema, $dataRef] };\n}\n//# sourceMappingURL=core.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// https://github.com/ajv-validator/ajv/issues/889\nconst equal = require(\"fast-deep-equal\");\nequal.code = 'require(\"ajv/dist/runtime/equal\").default';\nexports.default = equal;\n//# sourceMappingURL=equal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nfunction ucs2length(str) {\n const len = str.length;\n let length = 0;\n let pos = 0;\n let value;\n while (pos < len) {\n length++;\n value = str.charCodeAt(pos++);\n if (value >= 0xd800 && value <= 0xdbff && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos);\n if ((value & 0xfc00) === 0xdc00)\n pos++; // low surrogate\n }\n }\n return length;\n}\nexports.default = ucs2length;\nucs2length.code = 'require(\"ajv/dist/runtime/ucs2length\").default';\n//# sourceMappingURL=ucs2length.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst uri = require(\"uri-js\");\nuri.code = 'require(\"ajv/dist/runtime/uri\").default';\nexports.default = uri;\n//# sourceMappingURL=uri.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass ValidationError extends Error {\n constructor(errors) {\n super(\"validation failed\");\n this.errors = errors;\n this.ajv = this.validation = true;\n }\n}\nexports.default = ValidationError;\n//# sourceMappingURL=validation_error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateAdditionalItems = void 0;\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"additionalItems\",\n type: \"array\",\n schemaType: [\"boolean\", \"object\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { parentSchema, it } = cxt;\n const { items } = parentSchema;\n if (!Array.isArray(items)) {\n (0, util_1.checkStrictMode)(it, '\"additionalItems\" is ignored when \"items\" is not an array of schemas');\n return;\n }\n validateAdditionalItems(cxt, items);\n },\n};\nfunction validateAdditionalItems(cxt, items) {\n const { gen, schema, data, keyword, it } = cxt;\n it.items = true;\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n if (schema === false) {\n cxt.setParams({ len: items.length });\n cxt.pass((0, codegen_1._) `${len} <= ${items.length}`);\n }\n else if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.var(\"valid\", (0, codegen_1._) `${len} <= ${items.length}`); // TODO var\n gen.if((0, codegen_1.not)(valid), () => validateItems(valid));\n cxt.ok(valid);\n }\n function validateItems(valid) {\n gen.forRange(\"i\", items.length, len, (i) => {\n cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid);\n if (!it.allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n });\n }\n}\nexports.validateAdditionalItems = validateAdditionalItems;\nexports.default = def;\n//# sourceMappingURL=additionalItems.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst code_1 = require(\"../code\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst names_1 = require(\"../../compile/names\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: \"must NOT have additional properties\",\n params: ({ params }) => (0, codegen_1._) `{additionalProperty: ${params.additionalProperty}}`,\n};\nconst def = {\n keyword: \"additionalProperties\",\n type: [\"object\"],\n schemaType: [\"boolean\", \"object\"],\n allowUndefined: true,\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, errsCount, it } = cxt;\n /* istanbul ignore if */\n if (!errsCount)\n throw new Error(\"ajv implementation error\");\n const { allErrors, opts } = it;\n it.props = true;\n if (opts.removeAdditional !== \"all\" && (0, util_1.alwaysValidSchema)(it, schema))\n return;\n const props = (0, code_1.allSchemaProperties)(parentSchema.properties);\n const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties);\n checkAdditionalProperties();\n cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n function checkAdditionalProperties() {\n gen.forIn(\"key\", data, (key) => {\n if (!props.length && !patProps.length)\n additionalPropertyCode(key);\n else\n gen.if(isAdditional(key), () => additionalPropertyCode(key));\n });\n }\n function isAdditional(key) {\n let definedProp;\n if (props.length > 8) {\n // TODO maybe an option instead of hard-coded 8?\n const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, \"properties\");\n definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key);\n }\n else if (props.length) {\n definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._) `${key} === ${p}`));\n }\n else {\n definedProp = codegen_1.nil;\n }\n if (patProps.length) {\n definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._) `${(0, code_1.usePattern)(cxt, p)}.test(${key})`));\n }\n return (0, codegen_1.not)(definedProp);\n }\n function deleteAdditional(key) {\n gen.code((0, codegen_1._) `delete ${data}[${key}]`);\n }\n function additionalPropertyCode(key) {\n if (opts.removeAdditional === \"all\" || (opts.removeAdditional && schema === false)) {\n deleteAdditional(key);\n return;\n }\n if (schema === false) {\n cxt.setParams({ additionalProperty: key });\n cxt.error();\n if (!allErrors)\n gen.break();\n return;\n }\n if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.name(\"valid\");\n if (opts.removeAdditional === \"failing\") {\n applyAdditionalSchema(key, valid, false);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.reset();\n deleteAdditional(key);\n });\n }\n else {\n applyAdditionalSchema(key, valid);\n if (!allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n }\n }\n function applyAdditionalSchema(key, valid, errors) {\n const subschema = {\n keyword: \"additionalProperties\",\n dataProp: key,\n dataPropType: util_1.Type.Str,\n };\n if (errors === false) {\n Object.assign(subschema, {\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n });\n }\n cxt.subschema(subschema, valid);\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=additionalProperties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../../compile/util\");\nconst def = {\n keyword: \"allOf\",\n schemaType: \"array\",\n code(cxt) {\n const { gen, schema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const valid = gen.name(\"valid\");\n schema.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n const schCxt = cxt.subschema({ keyword: \"allOf\", schemaProp: i }, valid);\n cxt.ok(valid);\n cxt.mergeEvaluated(schCxt);\n });\n },\n};\nexports.default = def;\n//# sourceMappingURL=allOf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst code_1 = require(\"../code\");\nconst def = {\n keyword: \"anyOf\",\n schemaType: \"array\",\n trackErrors: true,\n code: code_1.validateUnion,\n error: { message: \"must match a schema in anyOf\" },\n};\nexports.default = def;\n//# sourceMappingURL=anyOf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: ({ params: { min, max } }) => max === undefined\n ? (0, codegen_1.str) `must contain at least ${min} valid item(s)`\n : (0, codegen_1.str) `must contain at least ${min} and no more than ${max} valid item(s)`,\n params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._) `{minContains: ${min}}` : (0, codegen_1._) `{minContains: ${min}, maxContains: ${max}}`,\n};\nconst def = {\n keyword: \"contains\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n let min;\n let max;\n const { minContains, maxContains } = parentSchema;\n if (it.opts.next) {\n min = minContains === undefined ? 1 : minContains;\n max = maxContains;\n }\n else {\n min = 1;\n }\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n cxt.setParams({ min, max });\n if (max === undefined && min === 0) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" == 0 without \"maxContains\": \"contains\" keyword ignored`);\n return;\n }\n if (max !== undefined && min > max) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" > \"maxContains\" is always invalid`);\n cxt.fail();\n return;\n }\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n let cond = (0, codegen_1._) `${len} >= ${min}`;\n if (max !== undefined)\n cond = (0, codegen_1._) `${cond} && ${len} <= ${max}`;\n cxt.pass(cond);\n return;\n }\n it.items = true;\n const valid = gen.name(\"valid\");\n if (max === undefined && min === 1) {\n validateItems(valid, () => gen.if(valid, () => gen.break()));\n }\n else if (min === 0) {\n gen.let(valid, true);\n if (max !== undefined)\n gen.if((0, codegen_1._) `${data}.length > 0`, validateItemsWithCount);\n }\n else {\n gen.let(valid, false);\n validateItemsWithCount();\n }\n cxt.result(valid, () => cxt.reset());\n function validateItemsWithCount() {\n const schValid = gen.name(\"_valid\");\n const count = gen.let(\"count\", 0);\n validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)));\n }\n function validateItems(_valid, block) {\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword: \"contains\",\n dataProp: i,\n dataPropType: util_1.Type.Num,\n compositeRule: true,\n }, _valid);\n block();\n });\n }\n function checkLimits(count) {\n gen.code((0, codegen_1._) `${count}++`);\n if (max === undefined) {\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true).break());\n }\n else {\n gen.if((0, codegen_1._) `${count} > ${max}`, () => gen.assign(valid, false).break());\n if (min === 1)\n gen.assign(valid, true);\n else\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true));\n }\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=contains.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst code_1 = require(\"../code\");\nexports.error = {\n message: ({ params: { property, depsCount, deps } }) => {\n const property_ies = depsCount === 1 ? \"property\" : \"properties\";\n return (0, codegen_1.str) `must have ${property_ies} ${deps} when property ${property} is present`;\n },\n params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._) `{property: ${property},\n missingProperty: ${missingProperty},\n depsCount: ${depsCount},\n deps: ${deps}}`, // TODO change to reference\n};\nconst def = {\n keyword: \"dependencies\",\n type: \"object\",\n schemaType: \"object\",\n error: exports.error,\n code(cxt) {\n const [propDeps, schDeps] = splitDependencies(cxt);\n validatePropertyDeps(cxt, propDeps);\n validateSchemaDeps(cxt, schDeps);\n },\n};\nfunction splitDependencies({ schema }) {\n const propertyDeps = {};\n const schemaDeps = {};\n for (const key in schema) {\n if (key === \"__proto__\")\n continue;\n const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps;\n deps[key] = schema[key];\n }\n return [propertyDeps, schemaDeps];\n}\nfunction validatePropertyDeps(cxt, propertyDeps = cxt.schema) {\n const { gen, data, it } = cxt;\n if (Object.keys(propertyDeps).length === 0)\n return;\n const missing = gen.let(\"missing\");\n for (const prop in propertyDeps) {\n const deps = propertyDeps[prop];\n if (deps.length === 0)\n continue;\n const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties);\n cxt.setParams({\n property: prop,\n depsCount: deps.length,\n deps: deps.join(\", \"),\n });\n if (it.allErrors) {\n gen.if(hasProperty, () => {\n for (const depProp of deps) {\n (0, code_1.checkReportMissingProp)(cxt, depProp);\n }\n });\n }\n else {\n gen.if((0, codegen_1._) `${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`);\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n}\nexports.validatePropertyDeps = validatePropertyDeps;\nfunction validateSchemaDeps(cxt, schemaDeps = cxt.schema) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n for (const prop in schemaDeps) {\n if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop]))\n continue;\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => {\n const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid);\n cxt.mergeValidEvaluated(schCxt, valid);\n }, () => gen.var(valid, true) // TODO var\n );\n cxt.ok(valid);\n }\n}\nexports.validateSchemaDeps = validateSchemaDeps;\nexports.default = def;\n//# sourceMappingURL=dependencies.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: ({ params }) => (0, codegen_1.str) `must match \"${params.ifClause}\" schema`,\n params: ({ params }) => (0, codegen_1._) `{failingKeyword: ${params.ifClause}}`,\n};\nconst def = {\n keyword: \"if\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, parentSchema, it } = cxt;\n if (parentSchema.then === undefined && parentSchema.else === undefined) {\n (0, util_1.checkStrictMode)(it, '\"if\" without \"then\" and \"else\" is ignored');\n }\n const hasThen = hasSchema(it, \"then\");\n const hasElse = hasSchema(it, \"else\");\n if (!hasThen && !hasElse)\n return;\n const valid = gen.let(\"valid\", true);\n const schValid = gen.name(\"_valid\");\n validateIf();\n cxt.reset();\n if (hasThen && hasElse) {\n const ifClause = gen.let(\"ifClause\");\n cxt.setParams({ ifClause });\n gen.if(schValid, validateClause(\"then\", ifClause), validateClause(\"else\", ifClause));\n }\n else if (hasThen) {\n gen.if(schValid, validateClause(\"then\"));\n }\n else {\n gen.if((0, codegen_1.not)(schValid), validateClause(\"else\"));\n }\n cxt.pass(valid, () => cxt.error(true));\n function validateIf() {\n const schCxt = cxt.subschema({\n keyword: \"if\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, schValid);\n cxt.mergeEvaluated(schCxt);\n }\n function validateClause(keyword, ifClause) {\n return () => {\n const schCxt = cxt.subschema({ keyword }, schValid);\n gen.assign(valid, schValid);\n cxt.mergeValidEvaluated(schCxt, valid);\n if (ifClause)\n gen.assign(ifClause, (0, codegen_1._) `${keyword}`);\n else\n cxt.setParams({ ifClause: keyword });\n };\n }\n },\n};\nfunction hasSchema(it, keyword) {\n const schema = it.schema[keyword];\n return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema);\n}\nexports.default = def;\n//# sourceMappingURL=if.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst additionalItems_1 = require(\"./additionalItems\");\nconst prefixItems_1 = require(\"./prefixItems\");\nconst items_1 = require(\"./items\");\nconst items2020_1 = require(\"./items2020\");\nconst contains_1 = require(\"./contains\");\nconst dependencies_1 = require(\"./dependencies\");\nconst propertyNames_1 = require(\"./propertyNames\");\nconst additionalProperties_1 = require(\"./additionalProperties\");\nconst properties_1 = require(\"./properties\");\nconst patternProperties_1 = require(\"./patternProperties\");\nconst not_1 = require(\"./not\");\nconst anyOf_1 = require(\"./anyOf\");\nconst oneOf_1 = require(\"./oneOf\");\nconst allOf_1 = require(\"./allOf\");\nconst if_1 = require(\"./if\");\nconst thenElse_1 = require(\"./thenElse\");\nfunction getApplicator(draft2020 = false) {\n const applicator = [\n // any\n not_1.default,\n anyOf_1.default,\n oneOf_1.default,\n allOf_1.default,\n if_1.default,\n thenElse_1.default,\n // object\n propertyNames_1.default,\n additionalProperties_1.default,\n dependencies_1.default,\n properties_1.default,\n patternProperties_1.default,\n ];\n // array\n if (draft2020)\n applicator.push(prefixItems_1.default, items2020_1.default);\n else\n applicator.push(additionalItems_1.default, items_1.default);\n applicator.push(contains_1.default);\n return applicator;\n}\nexports.default = getApplicator;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTuple = void 0;\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst code_1 = require(\"../code\");\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"array\", \"boolean\"],\n before: \"uniqueItems\",\n code(cxt) {\n const { schema, it } = cxt;\n if (Array.isArray(schema))\n return validateTuple(cxt, \"additionalItems\", schema);\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nfunction validateTuple(cxt, extraItems, schArr = cxt.schema) {\n const { gen, parentSchema, data, keyword, it } = cxt;\n checkStrictTuple(parentSchema);\n if (it.opts.unevaluated && schArr.length && it.items !== true) {\n it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items);\n }\n const valid = gen.name(\"valid\");\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n schArr.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n gen.if((0, codegen_1._) `${len} > ${i}`, () => cxt.subschema({\n keyword,\n schemaProp: i,\n dataProp: i,\n }, valid));\n cxt.ok(valid);\n });\n function checkStrictTuple(sch) {\n const { opts, errSchemaPath } = it;\n const l = schArr.length;\n const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false);\n if (opts.strictTuples && !fullTuple) {\n const msg = `\"${keyword}\" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path \"${errSchemaPath}\"`;\n (0, util_1.checkStrictMode)(it, msg, opts.strictTuples);\n }\n }\n}\nexports.validateTuple = validateTuple;\nexports.default = def;\n//# sourceMappingURL=items.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst code_1 = require(\"../code\");\nconst additionalItems_1 = require(\"./additionalItems\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { schema, parentSchema, it } = cxt;\n const { prefixItems } = parentSchema;\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n if (prefixItems)\n (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems);\n else\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nexports.default = def;\n//# sourceMappingURL=items2020.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../../compile/util\");\nconst def = {\n keyword: \"not\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n code(cxt) {\n const { gen, schema, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n cxt.fail();\n return;\n }\n const valid = gen.name(\"valid\");\n cxt.subschema({\n keyword: \"not\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, valid);\n cxt.failResult(valid, () => cxt.reset(), () => cxt.error());\n },\n error: { message: \"must NOT be valid\" },\n};\nexports.default = def;\n//# sourceMappingURL=not.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: \"must match exactly one schema in oneOf\",\n params: ({ params }) => (0, codegen_1._) `{passingSchemas: ${params.passing}}`,\n};\nconst def = {\n keyword: \"oneOf\",\n schemaType: \"array\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n if (it.opts.discriminator && parentSchema.discriminator)\n return;\n const schArr = schema;\n const valid = gen.let(\"valid\", false);\n const passing = gen.let(\"passing\", null);\n const schValid = gen.name(\"_valid\");\n cxt.setParams({ passing });\n // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas\n gen.block(validateOneOf);\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n function validateOneOf() {\n schArr.forEach((sch, i) => {\n let schCxt;\n if ((0, util_1.alwaysValidSchema)(it, sch)) {\n gen.var(schValid, true);\n }\n else {\n schCxt = cxt.subschema({\n keyword: \"oneOf\",\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n }\n if (i > 0) {\n gen\n .if((0, codegen_1._) `${schValid} && ${valid}`)\n .assign(valid, false)\n .assign(passing, (0, codegen_1._) `[${passing}, ${i}]`)\n .else();\n }\n gen.if(schValid, () => {\n gen.assign(valid, true);\n gen.assign(passing, i);\n if (schCxt)\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n });\n });\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=oneOf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst code_1 = require(\"../code\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst util_2 = require(\"../../compile/util\");\nconst def = {\n keyword: \"patternProperties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, data, parentSchema, it } = cxt;\n const { opts } = it;\n const patterns = (0, code_1.allSchemaProperties)(schema);\n const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p]));\n if (patterns.length === 0 ||\n (alwaysValidPatterns.length === patterns.length &&\n (!it.opts.unevaluated || it.props === true))) {\n return;\n }\n const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties;\n const valid = gen.name(\"valid\");\n if (it.props !== true && !(it.props instanceof codegen_1.Name)) {\n it.props = (0, util_2.evaluatedPropsToName)(gen, it.props);\n }\n const { props } = it;\n validatePatternProperties();\n function validatePatternProperties() {\n for (const pat of patterns) {\n if (checkProperties)\n checkMatchingProperties(pat);\n if (it.allErrors) {\n validateProperties(pat);\n }\n else {\n gen.var(valid, true); // TODO var\n validateProperties(pat);\n gen.if(valid);\n }\n }\n }\n function checkMatchingProperties(pat) {\n for (const prop in checkProperties) {\n if (new RegExp(pat).test(prop)) {\n (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`);\n }\n }\n }\n function validateProperties(pat) {\n gen.forIn(\"key\", data, (key) => {\n gen.if((0, codegen_1._) `${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => {\n const alwaysValid = alwaysValidPatterns.includes(pat);\n if (!alwaysValid) {\n cxt.subschema({\n keyword: \"patternProperties\",\n schemaProp: pat,\n dataProp: key,\n dataPropType: util_2.Type.Str,\n }, valid);\n }\n if (it.opts.unevaluated && props !== true) {\n gen.assign((0, codegen_1._) `${props}[${key}]`, true);\n }\n else if (!alwaysValid && !it.allErrors) {\n // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false)\n // or if all properties were evaluated (props === true)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n });\n });\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=patternProperties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst items_1 = require(\"./items\");\nconst def = {\n keyword: \"prefixItems\",\n type: \"array\",\n schemaType: [\"array\"],\n before: \"uniqueItems\",\n code: (cxt) => (0, items_1.validateTuple)(cxt, \"items\"),\n};\nexports.default = def;\n//# sourceMappingURL=prefixItems.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst validate_1 = require(\"../../compile/validate\");\nconst code_1 = require(\"../code\");\nconst util_1 = require(\"../../compile/util\");\nconst additionalProperties_1 = require(\"./additionalProperties\");\nconst def = {\n keyword: \"properties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n if (it.opts.removeAdditional === \"all\" && parentSchema.additionalProperties === undefined) {\n additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, \"additionalProperties\"));\n }\n const allProps = (0, code_1.allSchemaProperties)(schema);\n for (const prop of allProps) {\n it.definedProperties.add(prop);\n }\n if (it.opts.unevaluated && allProps.length && it.props !== true) {\n it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);\n }\n const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));\n if (properties.length === 0)\n return;\n const valid = gen.name(\"valid\");\n for (const prop of properties) {\n if (hasDefault(prop)) {\n applyPropertySchema(prop);\n }\n else {\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));\n applyPropertySchema(prop);\n if (!it.allErrors)\n gen.else().var(valid, true);\n gen.endIf();\n }\n cxt.it.definedProperties.add(prop);\n cxt.ok(valid);\n }\n function hasDefault(prop) {\n return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined;\n }\n function applyPropertySchema(prop) {\n cxt.subschema({\n keyword: \"properties\",\n schemaProp: prop,\n dataProp: prop,\n }, valid);\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=properties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: \"property name must be valid\",\n params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`,\n};\nconst def = {\n keyword: \"propertyNames\",\n type: \"object\",\n schemaType: [\"object\", \"boolean\"],\n error,\n code(cxt) {\n const { gen, schema, data, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n const valid = gen.name(\"valid\");\n gen.forIn(\"key\", data, (key) => {\n cxt.setParams({ propertyName: key });\n cxt.subschema({\n keyword: \"propertyNames\",\n data: key,\n dataTypes: [\"string\"],\n propertyName: key,\n compositeRule: true,\n }, valid);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error(true);\n if (!it.allErrors)\n gen.break();\n });\n });\n cxt.ok(valid);\n },\n};\nexports.default = def;\n//# sourceMappingURL=propertyNames.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../../compile/util\");\nconst def = {\n keyword: [\"then\", \"else\"],\n schemaType: [\"object\", \"boolean\"],\n code({ keyword, parentSchema, it }) {\n if (parentSchema.if === undefined)\n (0, util_1.checkStrictMode)(it, `\"${keyword}\" without \"if\" is ignored`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=thenElse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;\nconst codegen_1 = require(\"../compile/codegen\");\nconst util_1 = require(\"../compile/util\");\nconst names_1 = require(\"../compile/names\");\nconst util_2 = require(\"../compile/util\");\nfunction checkReportMissingProp(cxt, prop) {\n const { gen, data, it } = cxt;\n gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {\n cxt.setParams({ missingProperty: (0, codegen_1._) `${prop}` }, true);\n cxt.error();\n });\n}\nexports.checkReportMissingProp = checkReportMissingProp;\nfunction checkMissingProp({ gen, data, it: { opts } }, properties, missing) {\n return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._) `${missing} = ${prop}`)));\n}\nexports.checkMissingProp = checkMissingProp;\nfunction reportMissingProp(cxt, missing) {\n cxt.setParams({ missingProperty: missing }, true);\n cxt.error();\n}\nexports.reportMissingProp = reportMissingProp;\nfunction hasPropFunc(gen) {\n return gen.scopeValue(\"func\", {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ref: Object.prototype.hasOwnProperty,\n code: (0, codegen_1._) `Object.prototype.hasOwnProperty`,\n });\n}\nexports.hasPropFunc = hasPropFunc;\nfunction isOwnProperty(gen, data, property) {\n return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`;\n}\nexports.isOwnProperty = isOwnProperty;\nfunction propertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} !== undefined`;\n return ownProperties ? (0, codegen_1._) `${cond} && ${isOwnProperty(gen, data, property)}` : cond;\n}\nexports.propertyInData = propertyInData;\nfunction noPropertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} === undefined`;\n return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond;\n}\nexports.noPropertyInData = noPropertyInData;\nfunction allSchemaProperties(schemaMap) {\n return schemaMap ? Object.keys(schemaMap).filter((p) => p !== \"__proto__\") : [];\n}\nexports.allSchemaProperties = allSchemaProperties;\nfunction schemaProperties(it, schemaMap) {\n return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));\n}\nexports.schemaProperties = schemaProperties;\nfunction callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) {\n const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;\n const valCxt = [\n [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)],\n [names_1.default.parentData, it.parentData],\n [names_1.default.parentDataProperty, it.parentDataProperty],\n [names_1.default.rootData, names_1.default.rootData],\n ];\n if (it.opts.dynamicRef)\n valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]);\n const args = (0, codegen_1._) `${dataAndSchema}, ${gen.object(...valCxt)}`;\n return context !== codegen_1.nil ? (0, codegen_1._) `${func}.call(${context}, ${args})` : (0, codegen_1._) `${func}(${args})`;\n}\nexports.callValidateCode = callValidateCode;\nconst newRegExp = (0, codegen_1._) `new RegExp`;\nfunction usePattern({ gen, it: { opts } }, pattern) {\n const u = opts.unicodeRegExp ? \"u\" : \"\";\n const { regExp } = opts.code;\n const rx = regExp(pattern, u);\n return gen.scopeValue(\"pattern\", {\n key: rx.toString(),\n ref: rx,\n code: (0, codegen_1._) `${regExp.code === \"new RegExp\" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`,\n });\n}\nexports.usePattern = usePattern;\nfunction validateArray(cxt) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n if (it.allErrors) {\n const validArr = gen.let(\"valid\", true);\n validateItems(() => gen.assign(validArr, false));\n return validArr;\n }\n gen.var(valid, true);\n validateItems(() => gen.break());\n return valid;\n function validateItems(notValid) {\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword,\n dataProp: i,\n dataPropType: util_1.Type.Num,\n }, valid);\n gen.if((0, codegen_1.not)(valid), notValid);\n });\n }\n}\nexports.validateArray = validateArray;\nfunction validateUnion(cxt) {\n const { gen, schema, keyword, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch));\n if (alwaysValid && !it.opts.unevaluated)\n return;\n const valid = gen.let(\"valid\", false);\n const schValid = gen.name(\"_valid\");\n gen.block(() => schema.forEach((_sch, i) => {\n const schCxt = cxt.subschema({\n keyword,\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n gen.assign(valid, (0, codegen_1._) `${valid} || ${schValid}`);\n const merged = cxt.mergeValidEvaluated(schCxt, schValid);\n // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true)\n // or if all properties and items were evaluated (it.props === true && it.items === true)\n if (!merged)\n gen.if((0, codegen_1.not)(valid));\n }));\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n}\nexports.validateUnion = validateUnion;\n//# sourceMappingURL=code.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst def = {\n keyword: \"id\",\n code() {\n throw new Error('NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID');\n },\n};\nexports.default = def;\n//# sourceMappingURL=id.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst id_1 = require(\"./id\");\nconst ref_1 = require(\"./ref\");\nconst core = [\n \"$schema\",\n \"$id\",\n \"$defs\",\n \"$vocabulary\",\n { keyword: \"$comment\" },\n \"definitions\",\n id_1.default,\n ref_1.default,\n];\nexports.default = core;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callRef = exports.getValidate = void 0;\nconst ref_error_1 = require(\"../../compile/ref_error\");\nconst code_1 = require(\"../code\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst names_1 = require(\"../../compile/names\");\nconst compile_1 = require(\"../../compile\");\nconst util_1 = require(\"../../compile/util\");\nconst def = {\n keyword: \"$ref\",\n schemaType: \"string\",\n code(cxt) {\n const { gen, schema: $ref, it } = cxt;\n const { baseId, schemaEnv: env, validateName, opts, self } = it;\n const { root } = env;\n if (($ref === \"#\" || $ref === \"#/\") && baseId === root.baseId)\n return callRootRef();\n const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref);\n if (schOrEnv === undefined)\n throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref);\n if (schOrEnv instanceof compile_1.SchemaEnv)\n return callValidate(schOrEnv);\n return inlineRefSchema(schOrEnv);\n function callRootRef() {\n if (env === root)\n return callRef(cxt, validateName, env, env.$async);\n const rootName = gen.scopeValue(\"root\", { ref: root });\n return callRef(cxt, (0, codegen_1._) `${rootName}.validate`, root, root.$async);\n }\n function callValidate(sch) {\n const v = getValidate(cxt, sch);\n callRef(cxt, v, sch, sch.$async);\n }\n function inlineRefSchema(sch) {\n const schName = gen.scopeValue(\"schema\", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch });\n const valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({\n schema: sch,\n dataTypes: [],\n schemaPath: codegen_1.nil,\n topSchemaRef: schName,\n errSchemaPath: $ref,\n }, valid);\n cxt.mergeEvaluated(schCxt);\n cxt.ok(valid);\n }\n },\n};\nfunction getValidate(cxt, sch) {\n const { gen } = cxt;\n return sch.validate\n ? gen.scopeValue(\"validate\", { ref: sch.validate })\n : (0, codegen_1._) `${gen.scopeValue(\"wrapper\", { ref: sch })}.validate`;\n}\nexports.getValidate = getValidate;\nfunction callRef(cxt, v, sch, $async) {\n const { gen, it } = cxt;\n const { allErrors, schemaEnv: env, opts } = it;\n const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;\n if ($async)\n callAsyncRef();\n else\n callSyncRef();\n function callAsyncRef() {\n if (!env.$async)\n throw new Error(\"async schema referenced by sync schema\");\n const valid = gen.let(\"valid\");\n gen.try(() => {\n gen.code((0, codegen_1._) `await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);\n addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result\n if (!allErrors)\n gen.assign(valid, true);\n }, (e) => {\n gen.if((0, codegen_1._) `!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e));\n addErrorsFrom(e);\n if (!allErrors)\n gen.assign(valid, false);\n });\n cxt.ok(valid);\n }\n function callSyncRef() {\n cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));\n }\n function addErrorsFrom(source) {\n const errs = (0, codegen_1._) `${source}.errors`;\n gen.assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); // TODO tagged\n gen.assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n }\n function addEvaluatedFrom(source) {\n var _a;\n if (!it.opts.unevaluated)\n return;\n const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated;\n // TODO refactor\n if (it.props !== true) {\n if (schEvaluated && !schEvaluated.dynamicProps) {\n if (schEvaluated.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props);\n }\n }\n else {\n const props = gen.var(\"props\", (0, codegen_1._) `${source}.evaluated.props`);\n it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name);\n }\n }\n if (it.items !== true) {\n if (schEvaluated && !schEvaluated.dynamicItems) {\n if (schEvaluated.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items);\n }\n }\n else {\n const items = gen.var(\"items\", (0, codegen_1._) `${source}.evaluated.items`);\n it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name);\n }\n }\n }\n}\nexports.callRef = callRef;\nexports.default = def;\n//# sourceMappingURL=ref.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst types_1 = require(\"../discriminator/types\");\nconst compile_1 = require(\"../../compile\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag\n ? `tag \"${tagName}\" must be string`\n : `value of tag \"${tagName}\" must be in oneOf`,\n params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._) `{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`,\n};\nconst def = {\n keyword: \"discriminator\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt) {\n const { gen, data, schema, parentSchema, it } = cxt;\n const { oneOf } = parentSchema;\n if (!it.opts.discriminator) {\n throw new Error(\"discriminator: requires discriminator option\");\n }\n const tagName = schema.propertyName;\n if (typeof tagName != \"string\")\n throw new Error(\"discriminator: requires propertyName\");\n if (schema.mapping)\n throw new Error(\"discriminator: mapping is not supported\");\n if (!oneOf)\n throw new Error(\"discriminator: requires oneOf keyword\");\n const valid = gen.let(\"valid\", false);\n const tag = gen.const(\"tag\", (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(tagName)}`);\n gen.if((0, codegen_1._) `typeof ${tag} == \"string\"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName }));\n cxt.ok(valid);\n function validateMapping() {\n const mapping = getMapping();\n gen.if(false);\n for (const tagValue in mapping) {\n gen.elseIf((0, codegen_1._) `${tag} === ${tagValue}`);\n gen.assign(valid, applyTagSchema(mapping[tagValue]));\n }\n gen.else();\n cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName });\n gen.endIf();\n }\n function applyTagSchema(schemaProp) {\n const _valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({ keyword: \"oneOf\", schemaProp }, _valid);\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n return _valid;\n }\n function getMapping() {\n var _a;\n const oneOfMapping = {};\n const topRequired = hasRequired(parentSchema);\n let tagRequired = true;\n for (let i = 0; i < oneOf.length; i++) {\n let sch = oneOf[i];\n if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {\n sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref);\n if (sch instanceof compile_1.SchemaEnv)\n sch = sch.schema;\n }\n const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName];\n if (typeof propSch != \"object\") {\n throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have \"properties/${tagName}\"`);\n }\n tagRequired = tagRequired && (topRequired || hasRequired(sch));\n addMappings(propSch, i);\n }\n if (!tagRequired)\n throw new Error(`discriminator: \"${tagName}\" must be required`);\n return oneOfMapping;\n function hasRequired({ required }) {\n return Array.isArray(required) && required.includes(tagName);\n }\n function addMappings(sch, i) {\n if (sch.const) {\n addMapping(sch.const, i);\n }\n else if (sch.enum) {\n for (const tagValue of sch.enum) {\n addMapping(tagValue, i);\n }\n }\n else {\n throw new Error(`discriminator: \"properties/${tagName}\" must have \"const\" or \"enum\"`);\n }\n }\n function addMapping(tagValue, i) {\n if (typeof tagValue != \"string\" || tagValue in oneOfMapping) {\n throw new Error(`discriminator: \"${tagName}\" values must be unique strings`);\n }\n oneOfMapping[tagValue] = i;\n }\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DiscrError = void 0;\nvar DiscrError;\n(function (DiscrError) {\n DiscrError[\"Tag\"] = \"tag\";\n DiscrError[\"Mapping\"] = \"mapping\";\n})(DiscrError = exports.DiscrError || (exports.DiscrError = {}));\n//# sourceMappingURL=types.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core_1 = require(\"./core\");\nconst validation_1 = require(\"./validation\");\nconst applicator_1 = require(\"./applicator\");\nconst format_1 = require(\"./format\");\nconst metadata_1 = require(\"./metadata\");\nconst draft7Vocabularies = [\n core_1.default,\n validation_1.default,\n (0, applicator_1.default)(),\n format_1.default,\n metadata_1.metadataVocabulary,\n metadata_1.contentVocabulary,\n];\nexports.default = draft7Vocabularies;\n//# sourceMappingURL=draft7.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match format \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{format: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"format\",\n type: [\"number\", \"string\"],\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt, ruleType) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n const { opts, errSchemaPath, schemaEnv, self } = it;\n if (!opts.validateFormats)\n return;\n if ($data)\n validate$DataFormat();\n else\n validateFormat();\n function validate$DataFormat() {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n });\n const fDef = gen.const(\"fDef\", (0, codegen_1._) `${fmts}[${schemaCode}]`);\n const fType = gen.let(\"fType\");\n const format = gen.let(\"format\");\n // TODO simplify\n gen.if((0, codegen_1._) `typeof ${fDef} == \"object\" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._) `${fDef}.type || \"string\"`).assign(format, (0, codegen_1._) `${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._) `\"string\"`).assign(format, fDef));\n cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt()));\n function unknownFmt() {\n if (opts.strictSchema === false)\n return codegen_1.nil;\n return (0, codegen_1._) `${schemaCode} && !${format}`;\n }\n function invalidFmt() {\n const callFormat = schemaEnv.$async\n ? (0, codegen_1._) `(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))`\n : (0, codegen_1._) `${format}(${data})`;\n const validData = (0, codegen_1._) `(typeof ${format} == \"function\" ? ${callFormat} : ${format}.test(${data}))`;\n return (0, codegen_1._) `${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`;\n }\n }\n function validateFormat() {\n const formatDef = self.formats[schema];\n if (!formatDef) {\n unknownFormat();\n return;\n }\n if (formatDef === true)\n return;\n const [fmtType, format, fmtRef] = getFormat(formatDef);\n if (fmtType === ruleType)\n cxt.pass(validCondition());\n function unknownFormat() {\n if (opts.strictSchema === false) {\n self.logger.warn(unknownMsg());\n return;\n }\n throw new Error(unknownMsg());\n function unknownMsg() {\n return `unknown format \"${schema}\" ignored in schema at path \"${errSchemaPath}\"`;\n }\n }\n function getFormat(fmtDef) {\n const code = fmtDef instanceof RegExp\n ? (0, codegen_1.regexpCode)(fmtDef)\n : opts.code.formats\n ? (0, codegen_1._) `${opts.code.formats}${(0, codegen_1.getProperty)(schema)}`\n : undefined;\n const fmt = gen.scopeValue(\"formats\", { key: schema, ref: fmtDef, code });\n if (typeof fmtDef == \"object\" && !(fmtDef instanceof RegExp)) {\n return [fmtDef.type || \"string\", fmtDef.validate, (0, codegen_1._) `${fmt}.validate`];\n }\n return [\"string\", fmtDef, fmt];\n }\n function validCondition() {\n if (typeof formatDef == \"object\" && !(formatDef instanceof RegExp) && formatDef.async) {\n if (!schemaEnv.$async)\n throw new Error(\"async format in sync schema\");\n return (0, codegen_1._) `await ${fmtRef}(${data})`;\n }\n return typeof format == \"function\" ? (0, codegen_1._) `${fmtRef}(${data})` : (0, codegen_1._) `${fmtRef}.test(${data})`;\n }\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=format.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst format_1 = require(\"./format\");\nconst format = [format_1.default];\nexports.default = format;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.contentVocabulary = exports.metadataVocabulary = void 0;\nexports.metadataVocabulary = [\n \"title\",\n \"description\",\n \"default\",\n \"deprecated\",\n \"readOnly\",\n \"writeOnly\",\n \"examples\",\n];\nexports.contentVocabulary = [\n \"contentMediaType\",\n \"contentEncoding\",\n \"contentSchema\",\n];\n//# sourceMappingURL=metadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst equal_1 = require(\"../../runtime/equal\");\nconst error = {\n message: \"must be equal to constant\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"const\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schemaCode, schema } = cxt;\n if ($data || (schema && typeof schema == \"object\")) {\n cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);\n }\n else {\n cxt.fail((0, codegen_1._) `${schema} !== ${data}`);\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=const.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst equal_1 = require(\"../../runtime/equal\");\nconst error = {\n message: \"must be equal to one of the allowed values\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"enum\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n if (!$data && schema.length === 0)\n throw new Error(\"enum must have non-empty array\");\n const useLoop = schema.length >= it.opts.loopEnum;\n let eql;\n const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)));\n let valid;\n if (useLoop || $data) {\n valid = gen.let(\"valid\");\n cxt.block$data(valid, loopEnum);\n }\n else {\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const vSchema = gen.const(\"vSchema\", schemaCode);\n valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i)));\n }\n cxt.pass(valid);\n function loopEnum() {\n gen.assign(valid, false);\n gen.forOf(\"v\", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));\n }\n function equalCode(vSchema, i) {\n const sch = schema[i];\n return typeof sch === \"object\" && sch !== null\n ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])`\n : (0, codegen_1._) `${data} === ${sch}`;\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=enum.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst limitNumber_1 = require(\"./limitNumber\");\nconst multipleOf_1 = require(\"./multipleOf\");\nconst limitLength_1 = require(\"./limitLength\");\nconst pattern_1 = require(\"./pattern\");\nconst limitProperties_1 = require(\"./limitProperties\");\nconst required_1 = require(\"./required\");\nconst limitItems_1 = require(\"./limitItems\");\nconst uniqueItems_1 = require(\"./uniqueItems\");\nconst const_1 = require(\"./const\");\nconst enum_1 = require(\"./enum\");\nconst validation = [\n // number\n limitNumber_1.default,\n multipleOf_1.default,\n // string\n limitLength_1.default,\n pattern_1.default,\n // object\n limitProperties_1.default,\n required_1.default,\n // array\n limitItems_1.default,\n uniqueItems_1.default,\n // any\n { keyword: \"type\", schemaType: [\"string\", \"array\"] },\n { keyword: \"nullable\", schemaType: \"boolean\" },\n const_1.default,\n enum_1.default,\n];\nexports.default = validation;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxItems\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxItems\", \"minItems\"],\n type: \"array\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxItems\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=limitItems.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst ucs2length_1 = require(\"../../runtime/ucs2length\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxLength\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} characters`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxLength\", \"minLength\"],\n type: \"string\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode, it } = cxt;\n const op = keyword === \"maxLength\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n const len = it.opts.unicode === false ? (0, codegen_1._) `${data}.length` : (0, codegen_1._) `${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`;\n cxt.fail$data((0, codegen_1._) `${len} ${op} ${schemaCode}`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=limitLength.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst ops = codegen_1.operators;\nconst KWDs = {\n maximum: { okStr: \"<=\", ok: ops.LTE, fail: ops.GT },\n minimum: { okStr: \">=\", ok: ops.GTE, fail: ops.LT },\n exclusiveMaximum: { okStr: \"<\", ok: ops.LT, fail: ops.GTE },\n exclusiveMinimum: { okStr: \">\", ok: ops.GT, fail: ops.LTE },\n};\nconst error = {\n message: ({ keyword, schemaCode }) => (0, codegen_1.str) `must be ${KWDs[keyword].okStr} ${schemaCode}`,\n params: ({ keyword, schemaCode }) => (0, codegen_1._) `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: Object.keys(KWDs),\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n cxt.fail$data((0, codegen_1._) `${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=limitNumber.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxProperties\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxProperties\", \"minProperties\"],\n type: \"object\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxProperties\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=limitProperties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst codegen_1 = require(\"../../compile/codegen\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`,\n params: ({ schemaCode }) => (0, codegen_1._) `{multipleOf: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"multipleOf\",\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, schemaCode, it } = cxt;\n // const bdt = bad$DataType(schemaCode, def.schemaType, $data)\n const prec = it.opts.multipleOfPrecision;\n const res = gen.let(\"res\");\n const invalid = prec\n ? (0, codegen_1._) `Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`\n : (0, codegen_1._) `${res} !== parseInt(${res})`;\n cxt.fail$data((0, codegen_1._) `(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=multipleOf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst code_1 = require(\"../code\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"pattern\",\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt) {\n const { data, $data, schema, schemaCode, it } = cxt;\n // TODO regexp should be wrapped in try/catchs\n const u = it.opts.unicodeRegExp ? \"u\" : \"\";\n const regExp = $data ? (0, codegen_1._) `(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema);\n cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`);\n },\n};\nexports.default = def;\n//# sourceMappingURL=pattern.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst code_1 = require(\"../code\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst error = {\n message: ({ params: { missingProperty } }) => (0, codegen_1.str) `must have required property '${missingProperty}'`,\n params: ({ params: { missingProperty } }) => (0, codegen_1._) `{missingProperty: ${missingProperty}}`,\n};\nconst def = {\n keyword: \"required\",\n type: \"object\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, schema, schemaCode, data, $data, it } = cxt;\n const { opts } = it;\n if (!$data && schema.length === 0)\n return;\n const useLoop = schema.length >= opts.loopRequired;\n if (it.allErrors)\n allErrorsMode();\n else\n exitOnErrorMode();\n if (opts.strictRequired) {\n const props = cxt.parentSchema.properties;\n const { definedProperties } = cxt.it;\n for (const requiredKey of schema) {\n if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n const msg = `required property \"${requiredKey}\" is not defined at \"${schemaPath}\" (strictRequired)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired);\n }\n }\n }\n function allErrorsMode() {\n if (useLoop || $data) {\n cxt.block$data(codegen_1.nil, loopAllRequired);\n }\n else {\n for (const prop of schema) {\n (0, code_1.checkReportMissingProp)(cxt, prop);\n }\n }\n }\n function exitOnErrorMode() {\n const missing = gen.let(\"missing\");\n if (useLoop || $data) {\n const valid = gen.let(\"valid\", true);\n cxt.block$data(valid, () => loopUntilMissing(missing, valid));\n cxt.ok(valid);\n }\n else {\n gen.if((0, code_1.checkMissingProp)(cxt, schema, missing));\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n function loopAllRequired() {\n gen.forOf(\"prop\", schemaCode, (prop) => {\n cxt.setParams({ missingProperty: prop });\n gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error());\n });\n }\n function loopUntilMissing(missing, valid) {\n cxt.setParams({ missingProperty: missing });\n gen.forOf(missing, schemaCode, () => {\n gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties));\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error();\n gen.break();\n });\n }, codegen_1.nil);\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=required.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst dataType_1 = require(\"../../compile/validate/dataType\");\nconst codegen_1 = require(\"../../compile/codegen\");\nconst util_1 = require(\"../../compile/util\");\nconst equal_1 = require(\"../../runtime/equal\");\nconst error = {\n message: ({ params: { i, j } }) => (0, codegen_1.str) `must NOT have duplicate items (items ## ${j} and ${i} are identical)`,\n params: ({ params: { i, j } }) => (0, codegen_1._) `{i: ${i}, j: ${j}}`,\n};\nconst def = {\n keyword: \"uniqueItems\",\n type: \"array\",\n schemaType: \"boolean\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt;\n if (!$data && !schema)\n return;\n const valid = gen.let(\"valid\");\n const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : [];\n cxt.block$data(valid, validateUniqueItems, (0, codegen_1._) `${schemaCode} === false`);\n cxt.ok(valid);\n function validateUniqueItems() {\n const i = gen.let(\"i\", (0, codegen_1._) `${data}.length`);\n const j = gen.let(\"j\");\n cxt.setParams({ i, j });\n gen.assign(valid, true);\n gen.if((0, codegen_1._) `${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j));\n }\n function canOptimize() {\n return itemTypes.length > 0 && !itemTypes.some((t) => t === \"object\" || t === \"array\");\n }\n function loopN(i, j) {\n const item = gen.name(\"item\");\n const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong);\n const indices = gen.const(\"indices\", (0, codegen_1._) `{}`);\n gen.for((0, codegen_1._) `;${i}--;`, () => {\n gen.let(item, (0, codegen_1._) `${data}[${i}]`);\n gen.if(wrongType, (0, codegen_1._) `continue`);\n if (itemTypes.length > 1)\n gen.if((0, codegen_1._) `typeof ${item} == \"string\"`, (0, codegen_1._) `${item} += \"_\"`);\n gen\n .if((0, codegen_1._) `typeof ${indices}[${item}] == \"number\"`, () => {\n gen.assign(j, (0, codegen_1._) `${indices}[${item}]`);\n cxt.error();\n gen.assign(valid, false).break();\n })\n .code((0, codegen_1._) `${indices}[${item}] = ${i}`);\n });\n }\n function loopN2(i, j) {\n const eql = (0, util_1.useFunc)(gen, equal_1.default);\n const outer = gen.name(\"outer\");\n gen.label(outer).for((0, codegen_1._) `;${i}--;`, () => gen.for((0, codegen_1._) `${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._) `${eql}(${data}[${i}], ${data}[${j}])`, () => {\n cxt.error();\n gen.assign(valid, false).break(outer);\n })));\n }\n },\n};\nexports.default = def;\n//# sourceMappingURL=uniqueItems.js.map","const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","'use strict';\n\nvar traverse = module.exports = function (schema, opts, cb) {\n // Legacy support for v0.3.1 and earlier.\n if (typeof opts == 'function') {\n cb = opts;\n opts = {};\n }\n\n cb = opts.cb || cb;\n var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n var post = cb.post || function() {};\n\n _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n additionalItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\n\ntraverse.arrayKeywords = {\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\n\ntraverse.propsKeywords = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependencies: true\n};\n\ntraverse.skipKeywords = {\n default: true,\n enum: true,\n const: true,\n required: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n for (var key in schema) {\n var sch = schema[key];\n if (Array.isArray(sch)) {\n if (key in traverse.arrayKeywords) {\n for (var i=0; i 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\nexports.AbortError = AbortError;\n","'use strict';\n\nclass NonError extends Error {\n\tconstructor(message) {\n\t\tsuper(NonError._prepareSuperMessage(message));\n\t\tObject.defineProperty(this, 'name', {\n\t\t\tvalue: 'NonError',\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\n\t\tif (Error.captureStackTrace) {\n\t\t\tError.captureStackTrace(this, NonError);\n\t\t}\n\t}\n\n\tstatic _prepareSuperMessage(message) {\n\t\ttry {\n\t\t\treturn JSON.stringify(message);\n\t\t} catch {\n\t\t\treturn String(message);\n\t\t}\n\t}\n}\n\nconst commonProperties = [\n\t{property: 'name', enumerable: false},\n\t{property: 'message', enumerable: false},\n\t{property: 'stack', enumerable: false},\n\t{property: 'code', enumerable: true}\n];\n\nconst isCalled = Symbol('.toJSON called');\n\nconst toJSON = from => {\n\tfrom[isCalled] = true;\n\tconst json = from.toJSON();\n\tdelete from[isCalled];\n\treturn json;\n};\n\nconst destroyCircular = ({\n\tfrom,\n\tseen,\n\tto_,\n\tforceEnumerable,\n\tmaxDepth,\n\tdepth\n}) => {\n\tconst to = to_ || (Array.isArray(from) ? [] : {});\n\n\tseen.push(from);\n\n\tif (depth >= maxDepth) {\n\t\treturn to;\n\t}\n\n\tif (typeof from.toJSON === 'function' && from[isCalled] !== true) {\n\t\treturn toJSON(from);\n\t}\n\n\tfor (const [key, value] of Object.entries(from)) {\n\t\tif (typeof Buffer === 'function' && Buffer.isBuffer(value)) {\n\t\t\tto[key] = '[object Buffer]';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (typeof value === 'function') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\tto[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!seen.includes(from[key])) {\n\t\t\tdepth++;\n\n\t\t\tto[key] = destroyCircular({\n\t\t\t\tfrom: from[key],\n\t\t\t\tseen: seen.slice(),\n\t\t\t\tforceEnumerable,\n\t\t\t\tmaxDepth,\n\t\t\t\tdepth\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\tto[key] = '[Circular]';\n\t}\n\n\tfor (const {property, enumerable} of commonProperties) {\n\t\tif (typeof from[property] === 'string') {\n\t\t\tObject.defineProperty(to, property, {\n\t\t\t\tvalue: from[property],\n\t\t\t\tenumerable: forceEnumerable ? true : enumerable,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t}\n\n\treturn to;\n};\n\nconst serializeError = (value, options = {}) => {\n\tconst {maxDepth = Number.POSITIVE_INFINITY} = options;\n\n\tif (typeof value === 'object' && value !== null) {\n\t\treturn destroyCircular({\n\t\t\tfrom: value,\n\t\t\tseen: [],\n\t\t\tforceEnumerable: true,\n\t\t\tmaxDepth,\n\t\t\tdepth: 0\n\t\t});\n\t}\n\n\t// People sometimes throw things besides Error objects…\n\tif (typeof value === 'function') {\n\t\t// `JSON.stringify()` discards functions. We do too, unless a function is thrown directly.\n\t\treturn `[Function: ${(value.name || 'anonymous')}]`;\n\t}\n\n\treturn value;\n};\n\nconst deserializeError = (value, options = {}) => {\n\tconst {maxDepth = Number.POSITIVE_INFINITY} = options;\n\n\tif (value instanceof Error) {\n\t\treturn value;\n\t}\n\n\tif (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n\t\tconst newError = new Error(); // eslint-disable-line unicorn/error-message\n\t\tdestroyCircular({\n\t\t\tfrom: value,\n\t\t\tseen: [],\n\t\t\tto_: newError,\n\t\t\tmaxDepth,\n\t\t\tdepth: 0\n\t\t});\n\t\treturn newError;\n\t}\n\n\treturn new NonError(value);\n};\n\nmodule.exports = {\n\tserializeError,\n\tdeserializeError\n};\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __markAsModule = (target) => __defProp(target, \"__esModule\", { value: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __reExport = (target, module2, copyDefault, desc) => {\n if (module2 && typeof module2 === \"object\" || typeof module2 === \"function\") {\n for (let key of __getOwnPropNames(module2))\n if (!__hasOwnProp.call(target, key) && (copyDefault || key !== \"default\"))\n __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });\n }\n return target;\n};\nvar __toESM = (module2, isNodeMode) => {\n return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, \"default\", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);\n};\nvar __toCommonJS = /* @__PURE__ */ ((cache2) => {\n return (module2, temp) => {\n return cache2 && cache2.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache2 && cache2.set(module2, temp), temp);\n };\n})(typeof WeakMap !== \"undefined\" ? /* @__PURE__ */ new WeakMap() : 0);\nvar __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\n\n// src/lib/errors/git-error.ts\nvar GitError;\nvar init_git_error = __esm({\n \"src/lib/errors/git-error.ts\"() {\n GitError = class extends Error {\n constructor(task, message) {\n super(message);\n this.task = task;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n };\n }\n});\n\n// src/lib/errors/git-response-error.ts\nvar GitResponseError;\nvar init_git_response_error = __esm({\n \"src/lib/errors/git-response-error.ts\"() {\n init_git_error();\n GitResponseError = class extends GitError {\n constructor(git, message) {\n super(void 0, message || String(git));\n this.git = git;\n }\n };\n }\n});\n\n// src/lib/args/pathspec.ts\nfunction pathspec(...paths) {\n const key = new String(paths);\n cache.set(key, paths);\n return key;\n}\nfunction isPathSpec(path) {\n return path instanceof String && cache.has(path);\n}\nfunction toPaths(pathSpec) {\n return cache.get(pathSpec) || [];\n}\nvar cache;\nvar init_pathspec = __esm({\n \"src/lib/args/pathspec.ts\"() {\n cache = /* @__PURE__ */ new WeakMap();\n }\n});\n\n// src/lib/errors/git-construct-error.ts\nvar GitConstructError;\nvar init_git_construct_error = __esm({\n \"src/lib/errors/git-construct-error.ts\"() {\n init_git_error();\n GitConstructError = class extends GitError {\n constructor(config, message) {\n super(void 0, message);\n this.config = config;\n }\n };\n }\n});\n\n// src/lib/errors/git-plugin-error.ts\nvar GitPluginError;\nvar init_git_plugin_error = __esm({\n \"src/lib/errors/git-plugin-error.ts\"() {\n init_git_error();\n GitPluginError = class extends GitError {\n constructor(task, plugin, message) {\n super(task, message);\n this.task = task;\n this.plugin = plugin;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n };\n }\n});\n\n// src/lib/errors/task-configuration-error.ts\nvar TaskConfigurationError;\nvar init_task_configuration_error = __esm({\n \"src/lib/errors/task-configuration-error.ts\"() {\n init_git_error();\n TaskConfigurationError = class extends GitError {\n constructor(message) {\n super(void 0, message);\n }\n };\n }\n});\n\n// src/lib/utils/util.ts\nfunction asFunction(source) {\n return typeof source === \"function\" ? source : NOOP;\n}\nfunction isUserFunction(source) {\n return typeof source === \"function\" && source !== NOOP;\n}\nfunction splitOn(input, char) {\n const index = input.indexOf(char);\n if (index <= 0) {\n return [input, \"\"];\n }\n return [input.substr(0, index), input.substr(index + 1)];\n}\nfunction first(input, offset = 0) {\n return isArrayLike(input) && input.length > offset ? input[offset] : void 0;\n}\nfunction last(input, offset = 0) {\n if (isArrayLike(input) && input.length > offset) {\n return input[input.length - 1 - offset];\n }\n}\nfunction isArrayLike(input) {\n return !!(input && typeof input.length === \"number\");\n}\nfunction toLinesWithContent(input = \"\", trimmed2 = true, separator = \"\\n\") {\n return input.split(separator).reduce((output, line) => {\n const lineContent = trimmed2 ? line.trim() : line;\n if (lineContent) {\n output.push(lineContent);\n }\n return output;\n }, []);\n}\nfunction forEachLineWithContent(input, callback) {\n return toLinesWithContent(input, true).map((line) => callback(line));\n}\nfunction folderExists(path) {\n return (0, import_file_exists.exists)(path, import_file_exists.FOLDER);\n}\nfunction append(target, item) {\n if (Array.isArray(target)) {\n if (!target.includes(item)) {\n target.push(item);\n }\n } else {\n target.add(item);\n }\n return item;\n}\nfunction including(target, item) {\n if (Array.isArray(target) && !target.includes(item)) {\n target.push(item);\n }\n return target;\n}\nfunction remove(target, item) {\n if (Array.isArray(target)) {\n const index = target.indexOf(item);\n if (index >= 0) {\n target.splice(index, 1);\n }\n } else {\n target.delete(item);\n }\n return item;\n}\nfunction asArray(source) {\n return Array.isArray(source) ? source : [source];\n}\nfunction asStringArray(source) {\n return asArray(source).map(String);\n}\nfunction asNumber(source, onNaN = 0) {\n if (source == null) {\n return onNaN;\n }\n const num = parseInt(source, 10);\n return isNaN(num) ? onNaN : num;\n}\nfunction prefixedArray(input, prefix) {\n const output = [];\n for (let i = 0, max = input.length; i < max; i++) {\n output.push(prefix, input[i]);\n }\n return output;\n}\nfunction bufferToString(input) {\n return (Array.isArray(input) ? Buffer.concat(input) : input).toString(\"utf-8\");\n}\nfunction pick(source, properties) {\n return Object.assign({}, ...properties.map((property) => property in source ? { [property]: source[property] } : {}));\n}\nfunction delay(duration = 0) {\n return new Promise((done) => setTimeout(done, duration));\n}\nvar import_file_exists, NULL, NOOP, objectToString;\nvar init_util = __esm({\n \"src/lib/utils/util.ts\"() {\n import_file_exists = require(\"@kwsites/file-exists\");\n NULL = \"\\0\";\n NOOP = () => {\n };\n objectToString = Object.prototype.toString.call.bind(Object.prototype.toString);\n }\n});\n\n// src/lib/utils/argument-filters.ts\nfunction filterType(input, filter, def) {\n if (filter(input)) {\n return input;\n }\n return arguments.length > 2 ? def : void 0;\n}\nfunction filterPrimitives(input, omit) {\n const type = isPathSpec(input) ? \"string\" : typeof input;\n return /number|string|boolean/.test(type) && (!omit || !omit.includes(type));\n}\nfunction filterPlainObject(input) {\n return !!input && objectToString(input) === \"[object Object]\";\n}\nfunction filterFunction(input) {\n return typeof input === \"function\";\n}\nvar filterArray, filterString, filterStringArray, filterStringOrStringArray, filterHasLength;\nvar init_argument_filters = __esm({\n \"src/lib/utils/argument-filters.ts\"() {\n init_util();\n init_pathspec();\n filterArray = (input) => {\n return Array.isArray(input);\n };\n filterString = (input) => {\n return typeof input === \"string\";\n };\n filterStringArray = (input) => {\n return Array.isArray(input) && input.every(filterString);\n };\n filterStringOrStringArray = (input) => {\n return filterString(input) || Array.isArray(input) && input.every(filterString);\n };\n filterHasLength = (input) => {\n if (input == null || \"number|boolean|function\".includes(typeof input)) {\n return false;\n }\n return Array.isArray(input) || typeof input === \"string\" || typeof input.length === \"number\";\n };\n }\n});\n\n// src/lib/utils/exit-codes.ts\nvar ExitCodes;\nvar init_exit_codes = __esm({\n \"src/lib/utils/exit-codes.ts\"() {\n ExitCodes = /* @__PURE__ */ ((ExitCodes2) => {\n ExitCodes2[ExitCodes2[\"SUCCESS\"] = 0] = \"SUCCESS\";\n ExitCodes2[ExitCodes2[\"ERROR\"] = 1] = \"ERROR\";\n ExitCodes2[ExitCodes2[\"NOT_FOUND\"] = -2] = \"NOT_FOUND\";\n ExitCodes2[ExitCodes2[\"UNCLEAN\"] = 128] = \"UNCLEAN\";\n return ExitCodes2;\n })(ExitCodes || {});\n }\n});\n\n// src/lib/utils/git-output-streams.ts\nvar GitOutputStreams;\nvar init_git_output_streams = __esm({\n \"src/lib/utils/git-output-streams.ts\"() {\n GitOutputStreams = class {\n constructor(stdOut, stdErr) {\n this.stdOut = stdOut;\n this.stdErr = stdErr;\n }\n asStrings() {\n return new GitOutputStreams(this.stdOut.toString(\"utf8\"), this.stdErr.toString(\"utf8\"));\n }\n };\n }\n});\n\n// src/lib/utils/line-parser.ts\nvar LineParser, RemoteLineParser;\nvar init_line_parser = __esm({\n \"src/lib/utils/line-parser.ts\"() {\n LineParser = class {\n constructor(regExp, useMatches) {\n this.matches = [];\n this.parse = (line, target) => {\n this.resetMatches();\n if (!this._regExp.every((reg, index) => this.addMatch(reg, index, line(index)))) {\n return false;\n }\n return this.useMatches(target, this.prepareMatches()) !== false;\n };\n this._regExp = Array.isArray(regExp) ? regExp : [regExp];\n if (useMatches) {\n this.useMatches = useMatches;\n }\n }\n useMatches(target, match) {\n throw new Error(`LineParser:useMatches not implemented`);\n }\n resetMatches() {\n this.matches.length = 0;\n }\n prepareMatches() {\n return this.matches;\n }\n addMatch(reg, index, line) {\n const matched = line && reg.exec(line);\n if (matched) {\n this.pushMatch(index, matched);\n }\n return !!matched;\n }\n pushMatch(_index, matched) {\n this.matches.push(...matched.slice(1));\n }\n };\n RemoteLineParser = class extends LineParser {\n addMatch(reg, index, line) {\n return /^remote:\\s/.test(String(line)) && super.addMatch(reg, index, line);\n }\n pushMatch(index, matched) {\n if (index > 0 || matched.length > 1) {\n super.pushMatch(index, matched);\n }\n }\n };\n }\n});\n\n// src/lib/utils/simple-git-options.ts\nfunction createInstanceConfig(...options) {\n const baseDir = process.cwd();\n const config = Object.assign(__spreadValues({ baseDir }, defaultOptions), ...options.filter((o) => typeof o === \"object\" && o));\n config.baseDir = config.baseDir || baseDir;\n config.trimmed = config.trimmed === true;\n return config;\n}\nvar defaultOptions;\nvar init_simple_git_options = __esm({\n \"src/lib/utils/simple-git-options.ts\"() {\n defaultOptions = {\n binary: \"git\",\n maxConcurrentProcesses: 5,\n config: [],\n trimmed: false\n };\n }\n});\n\n// src/lib/utils/task-options.ts\nfunction appendTaskOptions(options, commands = []) {\n if (!filterPlainObject(options)) {\n return commands;\n }\n return Object.keys(options).reduce((commands2, key) => {\n const value = options[key];\n if (isPathSpec(value)) {\n commands2.push(value);\n } else if (filterPrimitives(value, [\"boolean\"])) {\n commands2.push(key + \"=\" + value);\n } else {\n commands2.push(key);\n }\n return commands2;\n }, commands);\n}\nfunction getTrailingOptions(args, initialPrimitive = 0, objectOnly = false) {\n const command = [];\n for (let i = 0, max = initialPrimitive < 0 ? args.length : initialPrimitive; i < max; i++) {\n if (\"string|number\".includes(typeof args[i])) {\n command.push(String(args[i]));\n }\n }\n appendTaskOptions(trailingOptionsArgument(args), command);\n if (!objectOnly) {\n command.push(...trailingArrayArgument(args));\n }\n return command;\n}\nfunction trailingArrayArgument(args) {\n const hasTrailingCallback = typeof last(args) === \"function\";\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterArray, []);\n}\nfunction trailingOptionsArgument(args) {\n const hasTrailingCallback = filterFunction(last(args));\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterPlainObject);\n}\nfunction trailingFunctionArgument(args, includeNoop = true) {\n const callback = asFunction(last(args));\n return includeNoop || isUserFunction(callback) ? callback : void 0;\n}\nvar init_task_options = __esm({\n \"src/lib/utils/task-options.ts\"() {\n init_argument_filters();\n init_util();\n init_pathspec();\n }\n});\n\n// src/lib/utils/task-parser.ts\nfunction callTaskParser(parser3, streams) {\n return parser3(streams.stdOut, streams.stdErr);\n}\nfunction parseStringResponse(result, parsers12, texts, trim = true) {\n asArray(texts).forEach((text) => {\n for (let lines = toLinesWithContent(text, trim), i = 0, max = lines.length; i < max; i++) {\n const line = (offset = 0) => {\n if (i + offset >= max) {\n return;\n }\n return lines[i + offset];\n };\n parsers12.some(({ parse }) => parse(line, result));\n }\n });\n return result;\n}\nvar init_task_parser = __esm({\n \"src/lib/utils/task-parser.ts\"() {\n init_util();\n }\n});\n\n// src/lib/utils/index.ts\nvar utils_exports = {};\n__export(utils_exports, {\n ExitCodes: () => ExitCodes,\n GitOutputStreams: () => GitOutputStreams,\n LineParser: () => LineParser,\n NOOP: () => NOOP,\n NULL: () => NULL,\n RemoteLineParser: () => RemoteLineParser,\n append: () => append,\n appendTaskOptions: () => appendTaskOptions,\n asArray: () => asArray,\n asFunction: () => asFunction,\n asNumber: () => asNumber,\n asStringArray: () => asStringArray,\n bufferToString: () => bufferToString,\n callTaskParser: () => callTaskParser,\n createInstanceConfig: () => createInstanceConfig,\n delay: () => delay,\n filterArray: () => filterArray,\n filterFunction: () => filterFunction,\n filterHasLength: () => filterHasLength,\n filterPlainObject: () => filterPlainObject,\n filterPrimitives: () => filterPrimitives,\n filterString: () => filterString,\n filterStringArray: () => filterStringArray,\n filterStringOrStringArray: () => filterStringOrStringArray,\n filterType: () => filterType,\n first: () => first,\n folderExists: () => folderExists,\n forEachLineWithContent: () => forEachLineWithContent,\n getTrailingOptions: () => getTrailingOptions,\n including: () => including,\n isUserFunction: () => isUserFunction,\n last: () => last,\n objectToString: () => objectToString,\n parseStringResponse: () => parseStringResponse,\n pick: () => pick,\n prefixedArray: () => prefixedArray,\n remove: () => remove,\n splitOn: () => splitOn,\n toLinesWithContent: () => toLinesWithContent,\n trailingFunctionArgument: () => trailingFunctionArgument,\n trailingOptionsArgument: () => trailingOptionsArgument\n});\nvar init_utils = __esm({\n \"src/lib/utils/index.ts\"() {\n init_argument_filters();\n init_exit_codes();\n init_git_output_streams();\n init_line_parser();\n init_simple_git_options();\n init_task_options();\n init_task_parser();\n init_util();\n }\n});\n\n// src/lib/tasks/check-is-repo.ts\nvar check_is_repo_exports = {};\n__export(check_is_repo_exports, {\n CheckRepoActions: () => CheckRepoActions,\n checkIsBareRepoTask: () => checkIsBareRepoTask,\n checkIsRepoRootTask: () => checkIsRepoRootTask,\n checkIsRepoTask: () => checkIsRepoTask\n});\nfunction checkIsRepoTask(action) {\n switch (action) {\n case \"bare\" /* BARE */:\n return checkIsBareRepoTask();\n case \"root\" /* IS_REPO_ROOT */:\n return checkIsRepoRootTask();\n }\n const commands = [\"rev-parse\", \"--is-inside-work-tree\"];\n return {\n commands,\n format: \"utf-8\",\n onError,\n parser\n };\n}\nfunction checkIsRepoRootTask() {\n const commands = [\"rev-parse\", \"--git-dir\"];\n return {\n commands,\n format: \"utf-8\",\n onError,\n parser(path) {\n return /^\\.(git)?$/.test(path.trim());\n }\n };\n}\nfunction checkIsBareRepoTask() {\n const commands = [\"rev-parse\", \"--is-bare-repository\"];\n return {\n commands,\n format: \"utf-8\",\n onError,\n parser\n };\n}\nfunction isNotRepoMessage(error) {\n return /(Not a git repository|Kein Git-Repository)/i.test(String(error));\n}\nvar CheckRepoActions, onError, parser;\nvar init_check_is_repo = __esm({\n \"src/lib/tasks/check-is-repo.ts\"() {\n init_utils();\n CheckRepoActions = /* @__PURE__ */ ((CheckRepoActions2) => {\n CheckRepoActions2[\"BARE\"] = \"bare\";\n CheckRepoActions2[\"IN_TREE\"] = \"tree\";\n CheckRepoActions2[\"IS_REPO_ROOT\"] = \"root\";\n return CheckRepoActions2;\n })(CheckRepoActions || {});\n onError = ({ exitCode }, error, done, fail) => {\n if (exitCode === 128 /* UNCLEAN */ && isNotRepoMessage(error)) {\n return done(Buffer.from(\"false\"));\n }\n fail(error);\n };\n parser = (text) => {\n return text.trim() === \"true\";\n };\n }\n});\n\n// src/lib/responses/CleanSummary.ts\nfunction cleanSummaryParser(dryRun, text) {\n const summary = new CleanResponse(dryRun);\n const regexp = dryRun ? dryRunRemovalRegexp : removalRegexp;\n toLinesWithContent(text).forEach((line) => {\n const removed = line.replace(regexp, \"\");\n summary.paths.push(removed);\n (isFolderRegexp.test(removed) ? summary.folders : summary.files).push(removed);\n });\n return summary;\n}\nvar CleanResponse, removalRegexp, dryRunRemovalRegexp, isFolderRegexp;\nvar init_CleanSummary = __esm({\n \"src/lib/responses/CleanSummary.ts\"() {\n init_utils();\n CleanResponse = class {\n constructor(dryRun) {\n this.dryRun = dryRun;\n this.paths = [];\n this.files = [];\n this.folders = [];\n }\n };\n removalRegexp = /^[a-z]+\\s*/i;\n dryRunRemovalRegexp = /^[a-z]+\\s+[a-z]+\\s*/i;\n isFolderRegexp = /\\/$/;\n }\n});\n\n// src/lib/tasks/task.ts\nvar task_exports = {};\n__export(task_exports, {\n EMPTY_COMMANDS: () => EMPTY_COMMANDS,\n adhocExecTask: () => adhocExecTask,\n configurationErrorTask: () => configurationErrorTask,\n isBufferTask: () => isBufferTask,\n isEmptyTask: () => isEmptyTask,\n straightThroughBufferTask: () => straightThroughBufferTask,\n straightThroughStringTask: () => straightThroughStringTask\n});\nfunction adhocExecTask(parser3) {\n return {\n commands: EMPTY_COMMANDS,\n format: \"empty\",\n parser: parser3\n };\n}\nfunction configurationErrorTask(error) {\n return {\n commands: EMPTY_COMMANDS,\n format: \"empty\",\n parser() {\n throw typeof error === \"string\" ? new TaskConfigurationError(error) : error;\n }\n };\n}\nfunction straightThroughStringTask(commands, trimmed2 = false) {\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return trimmed2 ? String(text).trim() : text;\n }\n };\n}\nfunction straightThroughBufferTask(commands) {\n return {\n commands,\n format: \"buffer\",\n parser(buffer) {\n return buffer;\n }\n };\n}\nfunction isBufferTask(task) {\n return task.format === \"buffer\";\n}\nfunction isEmptyTask(task) {\n return task.format === \"empty\" || !task.commands.length;\n}\nvar EMPTY_COMMANDS;\nvar init_task = __esm({\n \"src/lib/tasks/task.ts\"() {\n init_task_configuration_error();\n EMPTY_COMMANDS = [];\n }\n});\n\n// src/lib/tasks/clean.ts\nvar clean_exports = {};\n__export(clean_exports, {\n CONFIG_ERROR_INTERACTIVE_MODE: () => CONFIG_ERROR_INTERACTIVE_MODE,\n CONFIG_ERROR_MODE_REQUIRED: () => CONFIG_ERROR_MODE_REQUIRED,\n CONFIG_ERROR_UNKNOWN_OPTION: () => CONFIG_ERROR_UNKNOWN_OPTION,\n CleanOptions: () => CleanOptions,\n cleanTask: () => cleanTask,\n cleanWithOptionsTask: () => cleanWithOptionsTask,\n isCleanOptionsArray: () => isCleanOptionsArray\n});\nfunction cleanWithOptionsTask(mode, customArgs) {\n const { cleanMode, options, valid } = getCleanOptions(mode);\n if (!cleanMode) {\n return configurationErrorTask(CONFIG_ERROR_MODE_REQUIRED);\n }\n if (!valid.options) {\n return configurationErrorTask(CONFIG_ERROR_UNKNOWN_OPTION + JSON.stringify(mode));\n }\n options.push(...customArgs);\n if (options.some(isInteractiveMode)) {\n return configurationErrorTask(CONFIG_ERROR_INTERACTIVE_MODE);\n }\n return cleanTask(cleanMode, options);\n}\nfunction cleanTask(mode, customArgs) {\n const commands = [\"clean\", `-${mode}`, ...customArgs];\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return cleanSummaryParser(mode === \"n\" /* DRY_RUN */, text);\n }\n };\n}\nfunction isCleanOptionsArray(input) {\n return Array.isArray(input) && input.every((test) => CleanOptionValues.has(test));\n}\nfunction getCleanOptions(input) {\n let cleanMode;\n let options = [];\n let valid = { cleanMode: false, options: true };\n input.replace(/[^a-z]i/g, \"\").split(\"\").forEach((char) => {\n if (isCleanMode(char)) {\n cleanMode = char;\n valid.cleanMode = true;\n } else {\n valid.options = valid.options && isKnownOption(options[options.length] = `-${char}`);\n }\n });\n return {\n cleanMode,\n options,\n valid\n };\n}\nfunction isCleanMode(cleanMode) {\n return cleanMode === \"f\" /* FORCE */ || cleanMode === \"n\" /* DRY_RUN */;\n}\nfunction isKnownOption(option) {\n return /^-[a-z]$/i.test(option) && CleanOptionValues.has(option.charAt(1));\n}\nfunction isInteractiveMode(option) {\n if (/^-[^\\-]/.test(option)) {\n return option.indexOf(\"i\") > 0;\n }\n return option === \"--interactive\";\n}\nvar CONFIG_ERROR_INTERACTIVE_MODE, CONFIG_ERROR_MODE_REQUIRED, CONFIG_ERROR_UNKNOWN_OPTION, CleanOptions, CleanOptionValues;\nvar init_clean = __esm({\n \"src/lib/tasks/clean.ts\"() {\n init_CleanSummary();\n init_utils();\n init_task();\n CONFIG_ERROR_INTERACTIVE_MODE = \"Git clean interactive mode is not supported\";\n CONFIG_ERROR_MODE_REQUIRED = 'Git clean mode parameter (\"n\" or \"f\") is required';\n CONFIG_ERROR_UNKNOWN_OPTION = \"Git clean unknown option found in: \";\n CleanOptions = /* @__PURE__ */ ((CleanOptions2) => {\n CleanOptions2[\"DRY_RUN\"] = \"n\";\n CleanOptions2[\"FORCE\"] = \"f\";\n CleanOptions2[\"IGNORED_INCLUDED\"] = \"x\";\n CleanOptions2[\"IGNORED_ONLY\"] = \"X\";\n CleanOptions2[\"EXCLUDING\"] = \"e\";\n CleanOptions2[\"QUIET\"] = \"q\";\n CleanOptions2[\"RECURSIVE\"] = \"d\";\n return CleanOptions2;\n })(CleanOptions || {});\n CleanOptionValues = /* @__PURE__ */ new Set([\n \"i\",\n ...asStringArray(Object.values(CleanOptions))\n ]);\n }\n});\n\n// src/lib/responses/ConfigList.ts\nfunction configListParser(text) {\n const config = new ConfigList();\n for (const item of configParser(text)) {\n config.addValue(item.file, String(item.key), item.value);\n }\n return config;\n}\nfunction configGetParser(text, key) {\n let value = null;\n const values = [];\n const scopes = /* @__PURE__ */ new Map();\n for (const item of configParser(text, key)) {\n if (item.key !== key) {\n continue;\n }\n values.push(value = item.value);\n if (!scopes.has(item.file)) {\n scopes.set(item.file, []);\n }\n scopes.get(item.file).push(value);\n }\n return {\n key,\n paths: Array.from(scopes.keys()),\n scopes,\n value,\n values\n };\n}\nfunction configFilePath(filePath) {\n return filePath.replace(/^(file):/, \"\");\n}\nfunction* configParser(text, requestedKey = null) {\n const lines = text.split(\"\\0\");\n for (let i = 0, max = lines.length - 1; i < max; ) {\n const file = configFilePath(lines[i++]);\n let value = lines[i++];\n let key = requestedKey;\n if (value.includes(\"\\n\")) {\n const line = splitOn(value, \"\\n\");\n key = line[0];\n value = line[1];\n }\n yield { file, key, value };\n }\n}\nvar ConfigList;\nvar init_ConfigList = __esm({\n \"src/lib/responses/ConfigList.ts\"() {\n init_utils();\n ConfigList = class {\n constructor() {\n this.files = [];\n this.values = /* @__PURE__ */ Object.create(null);\n }\n get all() {\n if (!this._all) {\n this._all = this.files.reduce((all, file) => {\n return Object.assign(all, this.values[file]);\n }, {});\n }\n return this._all;\n }\n addFile(file) {\n if (!(file in this.values)) {\n const latest = last(this.files);\n this.values[file] = latest ? Object.create(this.values[latest]) : {};\n this.files.push(file);\n }\n return this.values[file];\n }\n addValue(file, key, value) {\n const values = this.addFile(file);\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n values[key].push(value);\n } else {\n values[key] = [values[key], value];\n }\n this._all = void 0;\n }\n };\n }\n});\n\n// src/lib/tasks/config.ts\nfunction asConfigScope(scope, fallback) {\n if (typeof scope === \"string\" && GitConfigScope.hasOwnProperty(scope)) {\n return scope;\n }\n return fallback;\n}\nfunction addConfigTask(key, value, append2, scope) {\n const commands = [\"config\", `--${scope}`];\n if (append2) {\n commands.push(\"--add\");\n }\n commands.push(key, value);\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return text;\n }\n };\n}\nfunction getConfigTask(key, scope) {\n const commands = [\"config\", \"--null\", \"--show-origin\", \"--get-all\", key];\n if (scope) {\n commands.splice(1, 0, `--${scope}`);\n }\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return configGetParser(text, key);\n }\n };\n}\nfunction listConfigTask(scope) {\n const commands = [\"config\", \"--list\", \"--show-origin\", \"--null\"];\n if (scope) {\n commands.push(`--${scope}`);\n }\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return configListParser(text);\n }\n };\n}\nfunction config_default() {\n return {\n addConfig(key, value, ...rest) {\n return this._runTask(addConfigTask(key, value, rest[0] === true, asConfigScope(rest[1], \"local\" /* local */)), trailingFunctionArgument(arguments));\n },\n getConfig(key, scope) {\n return this._runTask(getConfigTask(key, asConfigScope(scope, void 0)), trailingFunctionArgument(arguments));\n },\n listConfig(...rest) {\n return this._runTask(listConfigTask(asConfigScope(rest[0], void 0)), trailingFunctionArgument(arguments));\n }\n };\n}\nvar GitConfigScope;\nvar init_config = __esm({\n \"src/lib/tasks/config.ts\"() {\n init_ConfigList();\n init_utils();\n GitConfigScope = /* @__PURE__ */ ((GitConfigScope2) => {\n GitConfigScope2[\"system\"] = \"system\";\n GitConfigScope2[\"global\"] = \"global\";\n GitConfigScope2[\"local\"] = \"local\";\n GitConfigScope2[\"worktree\"] = \"worktree\";\n return GitConfigScope2;\n })(GitConfigScope || {});\n }\n});\n\n// src/lib/tasks/grep.ts\nfunction grepQueryBuilder(...params) {\n return new GrepQuery().param(...params);\n}\nfunction parseGrep(grep) {\n const paths = /* @__PURE__ */ new Set();\n const results = {};\n forEachLineWithContent(grep, (input) => {\n const [path, line, preview] = input.split(NULL);\n paths.add(path);\n (results[path] = results[path] || []).push({\n line: asNumber(line),\n path,\n preview\n });\n });\n return {\n paths,\n results\n };\n}\nfunction grep_default() {\n return {\n grep(searchTerm) {\n const then = trailingFunctionArgument(arguments);\n const options = getTrailingOptions(arguments);\n for (const option of disallowedOptions) {\n if (options.includes(option)) {\n return this._runTask(configurationErrorTask(`git.grep: use of \"${option}\" is not supported.`), then);\n }\n }\n if (typeof searchTerm === \"string\") {\n searchTerm = grepQueryBuilder().param(searchTerm);\n }\n const commands = [\"grep\", \"--null\", \"-n\", \"--full-name\", ...options, ...searchTerm];\n return this._runTask({\n commands,\n format: \"utf-8\",\n parser(stdOut) {\n return parseGrep(stdOut);\n }\n }, then);\n }\n };\n}\nvar disallowedOptions, Query, _a, GrepQuery;\nvar init_grep = __esm({\n \"src/lib/tasks/grep.ts\"() {\n init_utils();\n init_task();\n disallowedOptions = [\"-h\"];\n Query = Symbol(\"grepQuery\");\n GrepQuery = class {\n constructor() {\n this[_a] = [];\n }\n *[(_a = Query, Symbol.iterator)]() {\n for (const query of this[Query]) {\n yield query;\n }\n }\n and(...and) {\n and.length && this[Query].push(\"--and\", \"(\", ...prefixedArray(and, \"-e\"), \")\");\n return this;\n }\n param(...param) {\n this[Query].push(...prefixedArray(param, \"-e\"));\n return this;\n }\n };\n }\n});\n\n// src/lib/tasks/reset.ts\nvar reset_exports = {};\n__export(reset_exports, {\n ResetMode: () => ResetMode,\n getResetMode: () => getResetMode,\n resetTask: () => resetTask\n});\nfunction resetTask(mode, customArgs) {\n const commands = [\"reset\"];\n if (isValidResetMode(mode)) {\n commands.push(`--${mode}`);\n }\n commands.push(...customArgs);\n return straightThroughStringTask(commands);\n}\nfunction getResetMode(mode) {\n if (isValidResetMode(mode)) {\n return mode;\n }\n switch (typeof mode) {\n case \"string\":\n case \"undefined\":\n return \"soft\" /* SOFT */;\n }\n return;\n}\nfunction isValidResetMode(mode) {\n return ResetModes.includes(mode);\n}\nvar ResetMode, ResetModes;\nvar init_reset = __esm({\n \"src/lib/tasks/reset.ts\"() {\n init_task();\n ResetMode = /* @__PURE__ */ ((ResetMode2) => {\n ResetMode2[\"MIXED\"] = \"mixed\";\n ResetMode2[\"SOFT\"] = \"soft\";\n ResetMode2[\"HARD\"] = \"hard\";\n ResetMode2[\"MERGE\"] = \"merge\";\n ResetMode2[\"KEEP\"] = \"keep\";\n return ResetMode2;\n })(ResetMode || {});\n ResetModes = Array.from(Object.values(ResetMode));\n }\n});\n\n// src/lib/api.ts\nvar api_exports = {};\n__export(api_exports, {\n CheckRepoActions: () => CheckRepoActions,\n CleanOptions: () => CleanOptions,\n GitConfigScope: () => GitConfigScope,\n GitConstructError: () => GitConstructError,\n GitError: () => GitError,\n GitPluginError: () => GitPluginError,\n GitResponseError: () => GitResponseError,\n ResetMode: () => ResetMode,\n TaskConfigurationError: () => TaskConfigurationError,\n grepQueryBuilder: () => grepQueryBuilder,\n pathspec: () => pathspec\n});\nvar init_api = __esm({\n \"src/lib/api.ts\"() {\n init_pathspec();\n init_git_construct_error();\n init_git_error();\n init_git_plugin_error();\n init_git_response_error();\n init_task_configuration_error();\n init_check_is_repo();\n init_clean();\n init_config();\n init_grep();\n init_reset();\n }\n});\n\n// src/lib/plugins/abort-plugin.ts\nfunction abortPlugin(signal) {\n if (!signal) {\n return;\n }\n const onSpawnAfter = {\n type: \"spawn.after\",\n action(_data, context) {\n function kill() {\n context.kill(new GitPluginError(void 0, \"abort\", \"Abort signal received\"));\n }\n signal.addEventListener(\"abort\", kill);\n context.spawned.on(\"close\", () => signal.removeEventListener(\"abort\", kill));\n }\n };\n const onSpawnBefore = {\n type: \"spawn.before\",\n action(_data, context) {\n if (signal.aborted) {\n context.kill(new GitPluginError(void 0, \"abort\", \"Abort already signaled\"));\n }\n }\n };\n return [onSpawnBefore, onSpawnAfter];\n}\nvar init_abort_plugin = __esm({\n \"src/lib/plugins/abort-plugin.ts\"() {\n init_git_plugin_error();\n }\n});\n\n// src/lib/plugins/block-unsafe-operations-plugin.ts\nfunction isConfigSwitch(arg) {\n return typeof arg === \"string\" && arg.trim().toLowerCase() === \"-c\";\n}\nfunction preventProtocolOverride(arg, next) {\n if (!isConfigSwitch(arg)) {\n return;\n }\n if (!/^\\s*protocol(.[a-z]+)?.allow/.test(next)) {\n return;\n }\n throw new GitPluginError(void 0, \"unsafe\", \"Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol\");\n}\nfunction preventUploadPack(arg, method) {\n if (/^\\s*--(upload|receive)-pack/.test(arg)) {\n throw new GitPluginError(void 0, \"unsafe\", `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`);\n }\n if (method === \"clone\" && /^\\s*-u\\b/.test(arg)) {\n throw new GitPluginError(void 0, \"unsafe\", `Use of clone with option -u is not permitted without enabling allowUnsafePack`);\n }\n if (method === \"push\" && /^\\s*--exec\\b/.test(arg)) {\n throw new GitPluginError(void 0, \"unsafe\", `Use of push with option --exec is not permitted without enabling allowUnsafePack`);\n }\n}\nfunction blockUnsafeOperationsPlugin({\n allowUnsafeProtocolOverride = false,\n allowUnsafePack = false\n} = {}) {\n return {\n type: \"spawn.args\",\n action(args, context) {\n args.forEach((current, index) => {\n const next = index < args.length ? args[index + 1] : \"\";\n allowUnsafeProtocolOverride || preventProtocolOverride(current, next);\n allowUnsafePack || preventUploadPack(current, context.method);\n });\n return args;\n }\n };\n}\nvar init_block_unsafe_operations_plugin = __esm({\n \"src/lib/plugins/block-unsafe-operations-plugin.ts\"() {\n init_git_plugin_error();\n }\n});\n\n// src/lib/plugins/command-config-prefixing-plugin.ts\nfunction commandConfigPrefixingPlugin(configuration) {\n const prefix = prefixedArray(configuration, \"-c\");\n return {\n type: \"spawn.args\",\n action(data) {\n return [...prefix, ...data];\n }\n };\n}\nvar init_command_config_prefixing_plugin = __esm({\n \"src/lib/plugins/command-config-prefixing-plugin.ts\"() {\n init_utils();\n }\n});\n\n// src/lib/plugins/completion-detection.plugin.ts\nfunction completionDetectionPlugin({\n onClose = true,\n onExit = 50\n} = {}) {\n function createEvents() {\n let exitCode = -1;\n const events = {\n close: (0, import_promise_deferred.deferred)(),\n closeTimeout: (0, import_promise_deferred.deferred)(),\n exit: (0, import_promise_deferred.deferred)(),\n exitTimeout: (0, import_promise_deferred.deferred)()\n };\n const result = Promise.race([\n onClose === false ? never : events.closeTimeout.promise,\n onExit === false ? never : events.exitTimeout.promise\n ]);\n configureTimeout(onClose, events.close, events.closeTimeout);\n configureTimeout(onExit, events.exit, events.exitTimeout);\n return {\n close(code) {\n exitCode = code;\n events.close.done();\n },\n exit(code) {\n exitCode = code;\n events.exit.done();\n },\n get exitCode() {\n return exitCode;\n },\n result\n };\n }\n function configureTimeout(flag, event, timeout) {\n if (flag === false) {\n return;\n }\n (flag === true ? event.promise : event.promise.then(() => delay(flag))).then(timeout.done);\n }\n return {\n type: \"spawn.after\",\n action(_0, _1) {\n return __async(this, arguments, function* (_data, { spawned, close }) {\n var _a2, _b;\n const events = createEvents();\n let deferClose = true;\n let quickClose = () => void (deferClose = false);\n (_a2 = spawned.stdout) == null ? void 0 : _a2.on(\"data\", quickClose);\n (_b = spawned.stderr) == null ? void 0 : _b.on(\"data\", quickClose);\n spawned.on(\"error\", quickClose);\n spawned.on(\"close\", (code) => events.close(code));\n spawned.on(\"exit\", (code) => events.exit(code));\n try {\n yield events.result;\n if (deferClose) {\n yield delay(50);\n }\n close(events.exitCode);\n } catch (err) {\n close(events.exitCode, err);\n }\n });\n }\n };\n}\nvar import_promise_deferred, never;\nvar init_completion_detection_plugin = __esm({\n \"src/lib/plugins/completion-detection.plugin.ts\"() {\n import_promise_deferred = require(\"@kwsites/promise-deferred\");\n init_utils();\n never = (0, import_promise_deferred.deferred)().promise;\n }\n});\n\n// src/lib/plugins/error-detection.plugin.ts\nfunction isTaskError(result) {\n return !!(result.exitCode && result.stdErr.length);\n}\nfunction getErrorMessage(result) {\n return Buffer.concat([...result.stdOut, ...result.stdErr]);\n}\nfunction errorDetectionHandler(overwrite = false, isError = isTaskError, errorMessage = getErrorMessage) {\n return (error, result) => {\n if (!overwrite && error || !isError(result)) {\n return error;\n }\n return errorMessage(result);\n };\n}\nfunction errorDetectionPlugin(config) {\n return {\n type: \"task.error\",\n action(data, context) {\n const error = config(data.error, {\n stdErr: context.stdErr,\n stdOut: context.stdOut,\n exitCode: context.exitCode\n });\n if (Buffer.isBuffer(error)) {\n return { error: new GitError(void 0, error.toString(\"utf-8\")) };\n }\n return {\n error\n };\n }\n };\n}\nvar init_error_detection_plugin = __esm({\n \"src/lib/plugins/error-detection.plugin.ts\"() {\n init_git_error();\n }\n});\n\n// src/lib/plugins/plugin-store.ts\nvar PluginStore;\nvar init_plugin_store = __esm({\n \"src/lib/plugins/plugin-store.ts\"() {\n init_utils();\n PluginStore = class {\n constructor() {\n this.plugins = /* @__PURE__ */ new Set();\n }\n add(plugin) {\n const plugins = [];\n asArray(plugin).forEach((plugin2) => plugin2 && this.plugins.add(append(plugins, plugin2)));\n return () => {\n plugins.forEach((plugin2) => this.plugins.delete(plugin2));\n };\n }\n exec(type, data, context) {\n let output = data;\n const contextual = Object.freeze(Object.create(context));\n for (const plugin of this.plugins) {\n if (plugin.type === type) {\n output = plugin.action(output, contextual);\n }\n }\n return output;\n }\n };\n }\n});\n\n// src/lib/plugins/progress-monitor-plugin.ts\nfunction progressMonitorPlugin(progress) {\n const progressCommand = \"--progress\";\n const progressMethods = [\"checkout\", \"clone\", \"fetch\", \"pull\", \"push\"];\n const onProgress = {\n type: \"spawn.after\",\n action(_data, context) {\n var _a2;\n if (!context.commands.includes(progressCommand)) {\n return;\n }\n (_a2 = context.spawned.stderr) == null ? void 0 : _a2.on(\"data\", (chunk) => {\n const message = /^([\\s\\S]+?):\\s*(\\d+)% \\((\\d+)\\/(\\d+)\\)/.exec(chunk.toString(\"utf8\"));\n if (!message) {\n return;\n }\n progress({\n method: context.method,\n stage: progressEventStage(message[1]),\n progress: asNumber(message[2]),\n processed: asNumber(message[3]),\n total: asNumber(message[4])\n });\n });\n }\n };\n const onArgs = {\n type: \"spawn.args\",\n action(args, context) {\n if (!progressMethods.includes(context.method)) {\n return args;\n }\n return including(args, progressCommand);\n }\n };\n return [onArgs, onProgress];\n}\nfunction progressEventStage(input) {\n return String(input.toLowerCase().split(\" \", 1)) || \"unknown\";\n}\nvar init_progress_monitor_plugin = __esm({\n \"src/lib/plugins/progress-monitor-plugin.ts\"() {\n init_utils();\n }\n});\n\n// src/lib/plugins/simple-git-plugin.ts\nvar init_simple_git_plugin = __esm({\n \"src/lib/plugins/simple-git-plugin.ts\"() {\n }\n});\n\n// src/lib/plugins/spawn-options-plugin.ts\nfunction spawnOptionsPlugin(spawnOptions) {\n const options = pick(spawnOptions, [\"uid\", \"gid\"]);\n return {\n type: \"spawn.options\",\n action(data) {\n return __spreadValues(__spreadValues({}, options), data);\n }\n };\n}\nvar init_spawn_options_plugin = __esm({\n \"src/lib/plugins/spawn-options-plugin.ts\"() {\n init_utils();\n }\n});\n\n// src/lib/plugins/timout-plugin.ts\nfunction timeoutPlugin({\n block,\n stdErr = true,\n stdOut = true\n}) {\n if (block > 0) {\n return {\n type: \"spawn.after\",\n action(_data, context) {\n var _a2, _b;\n let timeout;\n function wait() {\n timeout && clearTimeout(timeout);\n timeout = setTimeout(kill, block);\n }\n function stop() {\n var _a3, _b2;\n (_a3 = context.spawned.stdout) == null ? void 0 : _a3.off(\"data\", wait);\n (_b2 = context.spawned.stderr) == null ? void 0 : _b2.off(\"data\", wait);\n context.spawned.off(\"exit\", stop);\n context.spawned.off(\"close\", stop);\n timeout && clearTimeout(timeout);\n }\n function kill() {\n stop();\n context.kill(new GitPluginError(void 0, \"timeout\", `block timeout reached`));\n }\n stdOut && ((_a2 = context.spawned.stdout) == null ? void 0 : _a2.on(\"data\", wait));\n stdErr && ((_b = context.spawned.stderr) == null ? void 0 : _b.on(\"data\", wait));\n context.spawned.on(\"exit\", stop);\n context.spawned.on(\"close\", stop);\n wait();\n }\n };\n }\n}\nvar init_timout_plugin = __esm({\n \"src/lib/plugins/timout-plugin.ts\"() {\n init_git_plugin_error();\n }\n});\n\n// src/lib/plugins/index.ts\nvar init_plugins = __esm({\n \"src/lib/plugins/index.ts\"() {\n init_abort_plugin();\n init_block_unsafe_operations_plugin();\n init_command_config_prefixing_plugin();\n init_completion_detection_plugin();\n init_error_detection_plugin();\n init_plugin_store();\n init_progress_monitor_plugin();\n init_simple_git_plugin();\n init_spawn_options_plugin();\n init_timout_plugin();\n }\n});\n\n// src/lib/plugins/suffix-paths.plugin.ts\nfunction suffixPathsPlugin() {\n return {\n type: \"spawn.args\",\n action(data) {\n const prefix = [];\n let suffix;\n function append2(args) {\n (suffix = suffix || []).push(...args);\n }\n for (let i = 0; i < data.length; i++) {\n const param = data[i];\n if (isPathSpec(param)) {\n append2(toPaths(param));\n continue;\n }\n if (param === \"--\") {\n append2(data.slice(i + 1).flatMap((item) => isPathSpec(item) && toPaths(item) || item));\n break;\n }\n prefix.push(param);\n }\n return !suffix ? prefix : [...prefix, \"--\", ...suffix.map(String)];\n }\n };\n}\nvar init_suffix_paths_plugin = __esm({\n \"src/lib/plugins/suffix-paths.plugin.ts\"() {\n init_pathspec();\n }\n});\n\n// src/lib/git-logger.ts\nfunction createLog() {\n return (0, import_debug.default)(\"simple-git\");\n}\nfunction prefixedLogger(to, prefix, forward) {\n if (!prefix || !String(prefix).replace(/\\s*/, \"\")) {\n return !forward ? to : (message, ...args) => {\n to(message, ...args);\n forward(message, ...args);\n };\n }\n return (message, ...args) => {\n to(`%s ${message}`, prefix, ...args);\n if (forward) {\n forward(message, ...args);\n }\n };\n}\nfunction childLoggerName(name, childDebugger, { namespace: parentNamespace }) {\n if (typeof name === \"string\") {\n return name;\n }\n const childNamespace = childDebugger && childDebugger.namespace || \"\";\n if (childNamespace.startsWith(parentNamespace)) {\n return childNamespace.substr(parentNamespace.length + 1);\n }\n return childNamespace || parentNamespace;\n}\nfunction createLogger(label, verbose, initialStep, infoDebugger = createLog()) {\n const labelPrefix = label && `[${label}]` || \"\";\n const spawned = [];\n const debugDebugger = typeof verbose === \"string\" ? infoDebugger.extend(verbose) : verbose;\n const key = childLoggerName(filterType(verbose, filterString), debugDebugger, infoDebugger);\n return step(initialStep);\n function sibling(name, initial) {\n return append(spawned, createLogger(label, key.replace(/^[^:]+/, name), initial, infoDebugger));\n }\n function step(phase) {\n const stepPrefix = phase && `[${phase}]` || \"\";\n const debug2 = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || NOOP;\n const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug2);\n return Object.assign(debugDebugger ? debug2 : info, {\n label,\n sibling,\n info,\n step\n });\n }\n}\nvar import_debug;\nvar init_git_logger = __esm({\n \"src/lib/git-logger.ts\"() {\n import_debug = __toESM(require(\"debug\"));\n init_utils();\n import_debug.default.formatters.L = (value) => String(filterHasLength(value) ? value.length : \"-\");\n import_debug.default.formatters.B = (value) => {\n if (Buffer.isBuffer(value)) {\n return value.toString(\"utf8\");\n }\n return objectToString(value);\n };\n }\n});\n\n// src/lib/runners/tasks-pending-queue.ts\nvar _TasksPendingQueue, TasksPendingQueue;\nvar init_tasks_pending_queue = __esm({\n \"src/lib/runners/tasks-pending-queue.ts\"() {\n init_git_error();\n init_git_logger();\n _TasksPendingQueue = class {\n constructor(logLabel = \"GitExecutor\") {\n this.logLabel = logLabel;\n this._queue = /* @__PURE__ */ new Map();\n }\n withProgress(task) {\n return this._queue.get(task);\n }\n createProgress(task) {\n const name = _TasksPendingQueue.getName(task.commands[0]);\n const logger = createLogger(this.logLabel, name);\n return {\n task,\n logger,\n name\n };\n }\n push(task) {\n const progress = this.createProgress(task);\n progress.logger(\"Adding task to the queue, commands = %o\", task.commands);\n this._queue.set(task, progress);\n return progress;\n }\n fatal(err) {\n for (const [task, { logger }] of Array.from(this._queue.entries())) {\n if (task === err.task) {\n logger.info(`Failed %o`, err);\n logger(`Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`);\n } else {\n logger.info(`A fatal exception occurred in a previous task, the queue has been purged: %o`, err.message);\n }\n this.complete(task);\n }\n if (this._queue.size !== 0) {\n throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`);\n }\n }\n complete(task) {\n const progress = this.withProgress(task);\n if (progress) {\n this._queue.delete(task);\n }\n }\n attempt(task) {\n const progress = this.withProgress(task);\n if (!progress) {\n throw new GitError(void 0, \"TasksPendingQueue: attempt called for an unknown task\");\n }\n progress.logger(\"Starting task\");\n return progress;\n }\n static getName(name = \"empty\") {\n return `task:${name}:${++_TasksPendingQueue.counter}`;\n }\n };\n TasksPendingQueue = _TasksPendingQueue;\n TasksPendingQueue.counter = 0;\n }\n});\n\n// src/lib/runners/git-executor-chain.ts\nfunction pluginContext(task, commands) {\n return {\n method: first(task.commands) || \"\",\n commands\n };\n}\nfunction onErrorReceived(target, logger) {\n return (err) => {\n logger(`[ERROR] child process exception %o`, err);\n target.push(Buffer.from(String(err.stack), \"ascii\"));\n };\n}\nfunction onDataReceived(target, name, logger, output) {\n return (buffer) => {\n logger(`%s received %L bytes`, name, buffer);\n output(`%B`, buffer);\n target.push(buffer);\n };\n}\nvar import_child_process, GitExecutorChain;\nvar init_git_executor_chain = __esm({\n \"src/lib/runners/git-executor-chain.ts\"() {\n import_child_process = require(\"child_process\");\n init_git_error();\n init_task();\n init_utils();\n init_tasks_pending_queue();\n GitExecutorChain = class {\n constructor(_executor, _scheduler, _plugins) {\n this._executor = _executor;\n this._scheduler = _scheduler;\n this._plugins = _plugins;\n this._chain = Promise.resolve();\n this._queue = new TasksPendingQueue();\n }\n get binary() {\n return this._executor.binary;\n }\n get cwd() {\n return this._cwd || this._executor.cwd;\n }\n set cwd(cwd) {\n this._cwd = cwd;\n }\n get env() {\n return this._executor.env;\n }\n get outputHandler() {\n return this._executor.outputHandler;\n }\n chain() {\n return this;\n }\n push(task) {\n this._queue.push(task);\n return this._chain = this._chain.then(() => this.attemptTask(task));\n }\n attemptTask(task) {\n return __async(this, null, function* () {\n const onScheduleComplete = yield this._scheduler.next();\n const onQueueComplete = () => this._queue.complete(task);\n try {\n const { logger } = this._queue.attempt(task);\n return yield isEmptyTask(task) ? this.attemptEmptyTask(task, logger) : this.attemptRemoteTask(task, logger);\n } catch (e) {\n throw this.onFatalException(task, e);\n } finally {\n onQueueComplete();\n onScheduleComplete();\n }\n });\n }\n onFatalException(task, e) {\n const gitError = e instanceof GitError ? Object.assign(e, { task }) : new GitError(task, e && String(e));\n this._chain = Promise.resolve();\n this._queue.fatal(gitError);\n return gitError;\n }\n attemptRemoteTask(task, logger) {\n return __async(this, null, function* () {\n const args = this._plugins.exec(\"spawn.args\", [...task.commands], pluginContext(task, task.commands));\n const raw = yield this.gitResponse(task, this.binary, args, this.outputHandler, logger.step(\"SPAWN\"));\n const outputStreams = yield this.handleTaskData(task, args, raw, logger.step(\"HANDLE\"));\n logger(`passing response to task's parser as a %s`, task.format);\n if (isBufferTask(task)) {\n return callTaskParser(task.parser, outputStreams);\n }\n return callTaskParser(task.parser, outputStreams.asStrings());\n });\n }\n attemptEmptyTask(task, logger) {\n return __async(this, null, function* () {\n logger(`empty task bypassing child process to call to task's parser`);\n return task.parser(this);\n });\n }\n handleTaskData(task, args, result, logger) {\n const { exitCode, rejection, stdOut, stdErr } = result;\n return new Promise((done, fail) => {\n logger(`Preparing to handle process response exitCode=%d stdOut=`, exitCode);\n const { error } = this._plugins.exec(\"task.error\", { error: rejection }, __spreadValues(__spreadValues({}, pluginContext(task, args)), result));\n if (error && task.onError) {\n logger.info(`exitCode=%s handling with custom error handler`);\n return task.onError(result, error, (newStdOut) => {\n logger.info(`custom error handler treated as success`);\n logger(`custom error returned a %s`, objectToString(newStdOut));\n done(new GitOutputStreams(Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut, Buffer.concat(stdErr)));\n }, fail);\n }\n if (error) {\n logger.info(`handling as error: exitCode=%s stdErr=%s rejection=%o`, exitCode, stdErr.length, rejection);\n return fail(error);\n }\n logger.info(`retrieving task output complete`);\n done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr)));\n });\n }\n gitResponse(task, command, args, outputHandler, logger) {\n return __async(this, null, function* () {\n const outputLogger = logger.sibling(\"output\");\n const spawnOptions = this._plugins.exec(\"spawn.options\", {\n cwd: this.cwd,\n env: this.env,\n windowsHide: true\n }, pluginContext(task, task.commands));\n return new Promise((done) => {\n const stdOut = [];\n const stdErr = [];\n logger.info(`%s %o`, command, args);\n logger(\"%O\", spawnOptions);\n let rejection = this._beforeSpawn(task, args);\n if (rejection) {\n return done({\n stdOut,\n stdErr,\n exitCode: 9901,\n rejection\n });\n }\n this._plugins.exec(\"spawn.before\", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), {\n kill(reason) {\n rejection = reason || rejection;\n }\n }));\n const spawned = (0, import_child_process.spawn)(command, args, spawnOptions);\n spawned.stdout.on(\"data\", onDataReceived(stdOut, \"stdOut\", logger, outputLogger.step(\"stdOut\")));\n spawned.stderr.on(\"data\", onDataReceived(stdErr, \"stdErr\", logger, outputLogger.step(\"stdErr\")));\n spawned.on(\"error\", onErrorReceived(stdErr, logger));\n if (outputHandler) {\n logger(`Passing child process stdOut/stdErr to custom outputHandler`);\n outputHandler(command, spawned.stdout, spawned.stderr, [...args]);\n }\n this._plugins.exec(\"spawn.after\", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), {\n spawned,\n close(exitCode, reason) {\n done({\n stdOut,\n stdErr,\n exitCode,\n rejection: rejection || reason\n });\n },\n kill(reason) {\n if (spawned.killed) {\n return;\n }\n rejection = reason;\n spawned.kill(\"SIGINT\");\n }\n }));\n });\n });\n }\n _beforeSpawn(task, args) {\n let rejection;\n this._plugins.exec(\"spawn.before\", void 0, __spreadProps(__spreadValues({}, pluginContext(task, args)), {\n kill(reason) {\n rejection = reason || rejection;\n }\n }));\n return rejection;\n }\n };\n }\n});\n\n// src/lib/runners/git-executor.ts\nvar git_executor_exports = {};\n__export(git_executor_exports, {\n GitExecutor: () => GitExecutor\n});\nvar GitExecutor;\nvar init_git_executor = __esm({\n \"src/lib/runners/git-executor.ts\"() {\n init_git_executor_chain();\n GitExecutor = class {\n constructor(binary = \"git\", cwd, _scheduler, _plugins) {\n this.binary = binary;\n this.cwd = cwd;\n this._scheduler = _scheduler;\n this._plugins = _plugins;\n this._chain = new GitExecutorChain(this, this._scheduler, this._plugins);\n }\n chain() {\n return new GitExecutorChain(this, this._scheduler, this._plugins);\n }\n push(task) {\n return this._chain.push(task);\n }\n };\n }\n});\n\n// src/lib/task-callback.ts\nfunction taskCallback(task, response, callback = NOOP) {\n const onSuccess = (data) => {\n callback(null, data);\n };\n const onError2 = (err) => {\n if ((err == null ? void 0 : err.task) === task) {\n callback(err instanceof GitResponseError ? addDeprecationNoticeToError(err) : err, void 0);\n }\n };\n response.then(onSuccess, onError2);\n}\nfunction addDeprecationNoticeToError(err) {\n let log = (name) => {\n console.warn(`simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}, this will no longer be available in version 3`);\n log = NOOP;\n };\n return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {}));\n function descriptorReducer(all, name) {\n if (name in err) {\n return all;\n }\n all[name] = {\n enumerable: false,\n configurable: false,\n get() {\n log(name);\n return err.git[name];\n }\n };\n return all;\n }\n}\nvar init_task_callback = __esm({\n \"src/lib/task-callback.ts\"() {\n init_git_response_error();\n init_utils();\n }\n});\n\n// src/lib/tasks/change-working-directory.ts\nfunction changeWorkingDirectoryTask(directory, root) {\n return adhocExecTask((instance) => {\n if (!folderExists(directory)) {\n throw new Error(`Git.cwd: cannot change to non-directory \"${directory}\"`);\n }\n return (root || instance).cwd = directory;\n });\n}\nvar init_change_working_directory = __esm({\n \"src/lib/tasks/change-working-directory.ts\"() {\n init_utils();\n init_task();\n }\n});\n\n// src/lib/tasks/checkout.ts\nfunction checkoutTask(args) {\n const commands = [\"checkout\", ...args];\n if (commands[1] === \"-b\" && commands.includes(\"-B\")) {\n commands[1] = remove(commands, \"-B\");\n }\n return straightThroughStringTask(commands);\n}\nfunction checkout_default() {\n return {\n checkout() {\n return this._runTask(checkoutTask(getTrailingOptions(arguments, 1)), trailingFunctionArgument(arguments));\n },\n checkoutBranch(branchName, startPoint) {\n return this._runTask(checkoutTask([\"-b\", branchName, startPoint, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments));\n },\n checkoutLocalBranch(branchName) {\n return this._runTask(checkoutTask([\"-b\", branchName, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments));\n }\n };\n}\nvar init_checkout = __esm({\n \"src/lib/tasks/checkout.ts\"() {\n init_utils();\n init_task();\n }\n});\n\n// src/lib/parsers/parse-commit.ts\nfunction parseCommitResult(stdOut) {\n const result = {\n author: null,\n branch: \"\",\n commit: \"\",\n root: false,\n summary: {\n changes: 0,\n insertions: 0,\n deletions: 0\n }\n };\n return parseStringResponse(result, parsers, stdOut);\n}\nvar parsers;\nvar init_parse_commit = __esm({\n \"src/lib/parsers/parse-commit.ts\"() {\n init_utils();\n parsers = [\n new LineParser(/^\\[([^\\s]+)( \\([^)]+\\))? ([^\\]]+)/, (result, [branch, root, commit]) => {\n result.branch = branch;\n result.commit = commit;\n result.root = !!root;\n }),\n new LineParser(/\\s*Author:\\s(.+)/i, (result, [author]) => {\n const parts = author.split(\"<\");\n const email = parts.pop();\n if (!email || !email.includes(\"@\")) {\n return;\n }\n result.author = {\n email: email.substr(0, email.length - 1),\n name: parts.join(\"<\").trim()\n };\n }),\n new LineParser(/(\\d+)[^,]*(?:,\\s*(\\d+)[^,]*)(?:,\\s*(\\d+))/g, (result, [changes, insertions, deletions]) => {\n result.summary.changes = parseInt(changes, 10) || 0;\n result.summary.insertions = parseInt(insertions, 10) || 0;\n result.summary.deletions = parseInt(deletions, 10) || 0;\n }),\n new LineParser(/^(\\d+)[^,]*(?:,\\s*(\\d+)[^(]+\\(([+-]))?/, (result, [changes, lines, direction]) => {\n result.summary.changes = parseInt(changes, 10) || 0;\n const count = parseInt(lines, 10) || 0;\n if (direction === \"-\") {\n result.summary.deletions = count;\n } else if (direction === \"+\") {\n result.summary.insertions = count;\n }\n })\n ];\n }\n});\n\n// src/lib/tasks/commit.ts\nfunction commitTask(message, files, customArgs) {\n const commands = [\n \"-c\",\n \"core.abbrev=40\",\n \"commit\",\n ...prefixedArray(message, \"-m\"),\n ...files,\n ...customArgs\n ];\n return {\n commands,\n format: \"utf-8\",\n parser: parseCommitResult\n };\n}\nfunction commit_default() {\n return {\n commit(message, ...rest) {\n const next = trailingFunctionArgument(arguments);\n const task = rejectDeprecatedSignatures(message) || commitTask(asArray(message), asArray(filterType(rest[0], filterStringOrStringArray, [])), [...filterType(rest[1], filterArray, []), ...getTrailingOptions(arguments, 0, true)]);\n return this._runTask(task, next);\n }\n };\n function rejectDeprecatedSignatures(message) {\n return !filterStringOrStringArray(message) && configurationErrorTask(`git.commit: requires the commit message to be supplied as a string/string[]`);\n }\n}\nvar init_commit = __esm({\n \"src/lib/tasks/commit.ts\"() {\n init_parse_commit();\n init_utils();\n init_task();\n }\n});\n\n// src/lib/tasks/hash-object.ts\nfunction hashObjectTask(filePath, write) {\n const commands = [\"hash-object\", filePath];\n if (write) {\n commands.push(\"-w\");\n }\n return straightThroughStringTask(commands, true);\n}\nvar init_hash_object = __esm({\n \"src/lib/tasks/hash-object.ts\"() {\n init_task();\n }\n});\n\n// src/lib/responses/InitSummary.ts\nfunction parseInit(bare, path, text) {\n const response = String(text).trim();\n let result;\n if (result = initResponseRegex.exec(response)) {\n return new InitSummary(bare, path, false, result[1]);\n }\n if (result = reInitResponseRegex.exec(response)) {\n return new InitSummary(bare, path, true, result[1]);\n }\n let gitDir = \"\";\n const tokens = response.split(\" \");\n while (tokens.length) {\n const token = tokens.shift();\n if (token === \"in\") {\n gitDir = tokens.join(\" \");\n break;\n }\n }\n return new InitSummary(bare, path, /^re/i.test(response), gitDir);\n}\nvar InitSummary, initResponseRegex, reInitResponseRegex;\nvar init_InitSummary = __esm({\n \"src/lib/responses/InitSummary.ts\"() {\n InitSummary = class {\n constructor(bare, path, existing, gitDir) {\n this.bare = bare;\n this.path = path;\n this.existing = existing;\n this.gitDir = gitDir;\n }\n };\n initResponseRegex = /^Init.+ repository in (.+)$/;\n reInitResponseRegex = /^Rein.+ in (.+)$/;\n }\n});\n\n// src/lib/tasks/init.ts\nfunction hasBareCommand(command) {\n return command.includes(bareCommand);\n}\nfunction initTask(bare = false, path, customArgs) {\n const commands = [\"init\", ...customArgs];\n if (bare && !hasBareCommand(commands)) {\n commands.splice(1, 0, bareCommand);\n }\n return {\n commands,\n format: \"utf-8\",\n parser(text) {\n return parseInit(commands.includes(\"--bare\"), path, text);\n }\n };\n}\nvar bareCommand;\nvar init_init = __esm({\n \"src/lib/tasks/init.ts\"() {\n init_InitSummary();\n bareCommand = \"--bare\";\n }\n});\n\n// src/lib/args/log-format.ts\nfunction logFormatFromCommand(customArgs) {\n for (let i = 0; i < customArgs.length; i++) {\n const format = logFormatRegex.exec(customArgs[i]);\n if (format) {\n return `--${format[1]}`;\n }\n }\n return \"\" /* NONE */;\n}\nfunction isLogFormat(customArg) {\n return logFormatRegex.test(customArg);\n}\nvar logFormatRegex;\nvar init_log_format = __esm({\n \"src/lib/args/log-format.ts\"() {\n logFormatRegex = /^--(stat|numstat|name-only|name-status)(=|$)/;\n }\n});\n\n// src/lib/responses/DiffSummary.ts\nvar DiffSummary;\nvar init_DiffSummary = __esm({\n \"src/lib/responses/DiffSummary.ts\"() {\n DiffSummary = class {\n constructor() {\n this.changed = 0;\n this.deletions = 0;\n this.insertions = 0;\n this.files = [];\n }\n };\n }\n});\n\n// src/lib/parsers/parse-diff-summary.ts\nfunction getDiffParser(format = \"\" /* NONE */) {\n const parser3 = diffSummaryParsers[format];\n return (stdOut) => parseStringResponse(new DiffSummary(), parser3, stdOut, false);\n}\nvar statParser, numStatParser, nameOnlyParser, nameStatusParser, diffSummaryParsers;\nvar init_parse_diff_summary = __esm({\n \"src/lib/parsers/parse-diff-summary.ts\"() {\n init_log_format();\n init_DiffSummary();\n init_utils();\n statParser = [\n new LineParser(/(.+)\\s+\\|\\s+(\\d+)(\\s+[+\\-]+)?$/, (result, [file, changes, alterations = \"\"]) => {\n result.files.push({\n file: file.trim(),\n changes: asNumber(changes),\n insertions: alterations.replace(/[^+]/g, \"\").length,\n deletions: alterations.replace(/[^-]/g, \"\").length,\n binary: false\n });\n }),\n new LineParser(/(.+) \\|\\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/, (result, [file, before, after]) => {\n result.files.push({\n file: file.trim(),\n before: asNumber(before),\n after: asNumber(after),\n binary: true\n });\n }),\n new LineParser(/(\\d+) files? changed\\s*((?:, \\d+ [^,]+){0,2})/, (result, [changed, summary]) => {\n const inserted = /(\\d+) i/.exec(summary);\n const deleted = /(\\d+) d/.exec(summary);\n result.changed = asNumber(changed);\n result.insertions = asNumber(inserted == null ? void 0 : inserted[1]);\n result.deletions = asNumber(deleted == null ? void 0 : deleted[1]);\n })\n ];\n numStatParser = [\n new LineParser(/(\\d+)\\t(\\d+)\\t(.+)$/, (result, [changesInsert, changesDelete, file]) => {\n const insertions = asNumber(changesInsert);\n const deletions = asNumber(changesDelete);\n result.changed++;\n result.insertions += insertions;\n result.deletions += deletions;\n result.files.push({\n file,\n changes: insertions + deletions,\n insertions,\n deletions,\n binary: false\n });\n }),\n new LineParser(/-\\t-\\t(.+)$/, (result, [file]) => {\n result.changed++;\n result.files.push({\n file,\n after: 0,\n before: 0,\n binary: true\n });\n })\n ];\n nameOnlyParser = [\n new LineParser(/(.+)$/, (result, [file]) => {\n result.changed++;\n result.files.push({\n file,\n changes: 0,\n insertions: 0,\n deletions: 0,\n binary: false\n });\n })\n ];\n nameStatusParser = [\n new LineParser(/([ACDMRTUXB])\\s*(.+)$/, (result, [_status, file]) => {\n result.changed++;\n result.files.push({\n file,\n changes: 0,\n insertions: 0,\n deletions: 0,\n binary: false\n });\n })\n ];\n diffSummaryParsers = {\n [\"\" /* NONE */]: statParser,\n [\"--stat\" /* STAT */]: statParser,\n [\"--numstat\" /* NUM_STAT */]: numStatParser,\n [\"--name-status\" /* NAME_STATUS */]: nameStatusParser,\n [\"--name-only\" /* NAME_ONLY */]: nameOnlyParser\n };\n }\n});\n\n// src/lib/parsers/parse-list-log-summary.ts\nfunction lineBuilder(tokens, fields) {\n return fields.reduce((line, field, index) => {\n line[field] = tokens[index] || \"\";\n return line;\n }, /* @__PURE__ */ Object.create({ diff: null }));\n}\nfunction createListLogSummaryParser(splitter = SPLITTER, fields = defaultFieldNames, logFormat = \"\" /* NONE */) {\n const parseDiffResult = getDiffParser(logFormat);\n return function(stdOut) {\n const all = toLinesWithContent(stdOut, true, START_BOUNDARY).map(function(item) {\n const lineDetail = item.trim().split(COMMIT_BOUNDARY);\n const listLogLine = lineBuilder(lineDetail[0].trim().split(splitter), fields);\n if (lineDetail.length > 1 && !!lineDetail[1].trim()) {\n listLogLine.diff = parseDiffResult(lineDetail[1]);\n }\n return listLogLine;\n });\n return {\n all,\n latest: all.length && all[0] || null,\n total: all.length\n };\n };\n}\nvar START_BOUNDARY, COMMIT_BOUNDARY, SPLITTER, defaultFieldNames;\nvar init_parse_list_log_summary = __esm({\n \"src/lib/parsers/parse-list-log-summary.ts\"() {\n init_utils();\n init_parse_diff_summary();\n init_log_format();\n START_BOUNDARY = \"\\xF2\\xF2\\xF2\\xF2\\xF2\\xF2 \";\n COMMIT_BOUNDARY = \" \\xF2\\xF2\";\n SPLITTER = \" \\xF2 \";\n defaultFieldNames = [\"hash\", \"date\", \"message\", \"refs\", \"author_name\", \"author_email\"];\n }\n});\n\n// src/lib/tasks/diff.ts\nvar diff_exports = {};\n__export(diff_exports, {\n diffSummaryTask: () => diffSummaryTask,\n validateLogFormatConfig: () => validateLogFormatConfig\n});\nfunction diffSummaryTask(customArgs) {\n let logFormat = logFormatFromCommand(customArgs);\n const commands = [\"diff\"];\n if (logFormat === \"\" /* NONE */) {\n logFormat = \"--stat\" /* STAT */;\n commands.push(\"--stat=4096\");\n }\n commands.push(...customArgs);\n return validateLogFormatConfig(commands) || {\n commands,\n format: \"utf-8\",\n parser: getDiffParser(logFormat)\n };\n}\nfunction validateLogFormatConfig(customArgs) {\n const flags = customArgs.filter(isLogFormat);\n if (flags.length > 1) {\n return configurationErrorTask(`Summary flags are mutually exclusive - pick one of ${flags.join(\",\")}`);\n }\n if (flags.length && customArgs.includes(\"-z\")) {\n return configurationErrorTask(`Summary flag ${flags} parsing is not compatible with null termination option '-z'`);\n }\n}\nvar init_diff = __esm({\n \"src/lib/tasks/diff.ts\"() {\n init_log_format();\n init_parse_diff_summary();\n init_task();\n }\n});\n\n// src/lib/tasks/log.ts\nfunction prettyFormat(format, splitter) {\n const fields = [];\n const formatStr = [];\n Object.keys(format).forEach((field) => {\n fields.push(field);\n formatStr.push(String(format[field]));\n });\n return [fields, formatStr.join(splitter)];\n}\nfunction userOptions(input) {\n return Object.keys(input).reduce((out, key) => {\n if (!(key in excludeOptions)) {\n out[key] = input[key];\n }\n return out;\n }, {});\n}\nfunction parseLogOptions(opt = {}, customArgs = []) {\n const splitter = filterType(opt.splitter, filterString, SPLITTER);\n const format = !filterPrimitives(opt.format) && opt.format ? opt.format : {\n hash: \"%H\",\n date: opt.strictDate === false ? \"%ai\" : \"%aI\",\n message: \"%s\",\n refs: \"%D\",\n body: opt.multiLine ? \"%B\" : \"%b\",\n author_name: opt.mailMap !== false ? \"%aN\" : \"%an\",\n author_email: opt.mailMap !== false ? \"%aE\" : \"%ae\"\n };\n const [fields, formatStr] = prettyFormat(format, splitter);\n const suffix = [];\n const command = [\n `--pretty=format:${START_BOUNDARY}${formatStr}${COMMIT_BOUNDARY}`,\n ...customArgs\n ];\n const maxCount = opt.n || opt[\"max-count\"] || opt.maxCount;\n if (maxCount) {\n command.push(`--max-count=${maxCount}`);\n }\n if (opt.from || opt.to) {\n const rangeOperator = opt.symmetric !== false ? \"...\" : \"..\";\n suffix.push(`${opt.from || \"\"}${rangeOperator}${opt.to || \"\"}`);\n }\n if (filterString(opt.file)) {\n command.push(\"--follow\", pathspec(opt.file));\n }\n appendTaskOptions(userOptions(opt), command);\n return {\n fields,\n splitter,\n commands: [...command, ...suffix]\n };\n}\nfunction logTask(splitter, fields, customArgs) {\n const parser3 = createListLogSummaryParser(splitter, fields, logFormatFromCommand(customArgs));\n return {\n commands: [\"log\", ...customArgs],\n format: \"utf-8\",\n parser: parser3\n };\n}\nfunction log_default() {\n return {\n log(...rest) {\n const next = trailingFunctionArgument(arguments);\n const options = parseLogOptions(trailingOptionsArgument(arguments), filterType(arguments[0], filterArray));\n const task = rejectDeprecatedSignatures(...rest) || validateLogFormatConfig(options.commands) || createLogTask(options);\n return this._runTask(task, next);\n }\n };\n function createLogTask(options) {\n return logTask(options.splitter, options.fields, options.commands);\n }\n function rejectDeprecatedSignatures(from, to) {\n return filterString(from) && filterString(to) && configurationErrorTask(`git.log(string, string) should be replaced with git.log({ from: string, to: string })`);\n }\n}\nvar excludeOptions;\nvar init_log = __esm({\n \"src/lib/tasks/log.ts\"() {\n init_log_format();\n init_pathspec();\n init_parse_list_log_summary();\n init_utils();\n init_task();\n init_diff();\n excludeOptions = /* @__PURE__ */ ((excludeOptions2) => {\n excludeOptions2[excludeOptions2[\"--pretty\"] = 0] = \"--pretty\";\n excludeOptions2[excludeOptions2[\"max-count\"] = 1] = \"max-count\";\n excludeOptions2[excludeOptions2[\"maxCount\"] = 2] = \"maxCount\";\n excludeOptions2[excludeOptions2[\"n\"] = 3] = \"n\";\n excludeOptions2[excludeOptions2[\"file\"] = 4] = \"file\";\n excludeOptions2[excludeOptions2[\"format\"] = 5] = \"format\";\n excludeOptions2[excludeOptions2[\"from\"] = 6] = \"from\";\n excludeOptions2[excludeOptions2[\"to\"] = 7] = \"to\";\n excludeOptions2[excludeOptions2[\"splitter\"] = 8] = \"splitter\";\n excludeOptions2[excludeOptions2[\"symmetric\"] = 9] = \"symmetric\";\n excludeOptions2[excludeOptions2[\"mailMap\"] = 10] = \"mailMap\";\n excludeOptions2[excludeOptions2[\"multiLine\"] = 11] = \"multiLine\";\n excludeOptions2[excludeOptions2[\"strictDate\"] = 12] = \"strictDate\";\n return excludeOptions2;\n })(excludeOptions || {});\n }\n});\n\n// src/lib/responses/MergeSummary.ts\nvar MergeSummaryConflict, MergeSummaryDetail;\nvar init_MergeSummary = __esm({\n \"src/lib/responses/MergeSummary.ts\"() {\n MergeSummaryConflict = class {\n constructor(reason, file = null, meta) {\n this.reason = reason;\n this.file = file;\n this.meta = meta;\n }\n toString() {\n return `${this.file}:${this.reason}`;\n }\n };\n MergeSummaryDetail = class {\n constructor() {\n this.conflicts = [];\n this.merges = [];\n this.result = \"success\";\n }\n get failed() {\n return this.conflicts.length > 0;\n }\n get reason() {\n return this.result;\n }\n toString() {\n if (this.conflicts.length) {\n return `CONFLICTS: ${this.conflicts.join(\", \")}`;\n }\n return \"OK\";\n }\n };\n }\n});\n\n// src/lib/responses/PullSummary.ts\nvar PullSummary, PullFailedSummary;\nvar init_PullSummary = __esm({\n \"src/lib/responses/PullSummary.ts\"() {\n PullSummary = class {\n constructor() {\n this.remoteMessages = {\n all: []\n };\n this.created = [];\n this.deleted = [];\n this.files = [];\n this.deletions = {};\n this.insertions = {};\n this.summary = {\n changes: 0,\n deletions: 0,\n insertions: 0\n };\n }\n };\n PullFailedSummary = class {\n constructor() {\n this.remote = \"\";\n this.hash = {\n local: \"\",\n remote: \"\"\n };\n this.branch = {\n local: \"\",\n remote: \"\"\n };\n this.message = \"\";\n }\n toString() {\n return this.message;\n }\n };\n }\n});\n\n// src/lib/parsers/parse-remote-objects.ts\nfunction objectEnumerationResult(remoteMessages) {\n return remoteMessages.objects = remoteMessages.objects || {\n compressing: 0,\n counting: 0,\n enumerating: 0,\n packReused: 0,\n reused: { count: 0, delta: 0 },\n total: { count: 0, delta: 0 }\n };\n}\nfunction asObjectCount(source) {\n const count = /^\\s*(\\d+)/.exec(source);\n const delta = /delta (\\d+)/i.exec(source);\n return {\n count: asNumber(count && count[1] || \"0\"),\n delta: asNumber(delta && delta[1] || \"0\")\n };\n}\nvar remoteMessagesObjectParsers;\nvar init_parse_remote_objects = __esm({\n \"src/lib/parsers/parse-remote-objects.ts\"() {\n init_utils();\n remoteMessagesObjectParsers = [\n new RemoteLineParser(/^remote:\\s*(enumerating|counting|compressing) objects: (\\d+),/i, (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n Object.assign(enumeration, { [key]: asNumber(count) });\n }),\n new RemoteLineParser(/^remote:\\s*(enumerating|counting|compressing) objects: \\d+% \\(\\d+\\/(\\d+)\\),/i, (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n Object.assign(enumeration, { [key]: asNumber(count) });\n }),\n new RemoteLineParser(/total ([^,]+), reused ([^,]+), pack-reused (\\d+)/i, (result, [total, reused, packReused]) => {\n const objects = objectEnumerationResult(result.remoteMessages);\n objects.total = asObjectCount(total);\n objects.reused = asObjectCount(reused);\n objects.packReused = asNumber(packReused);\n })\n ];\n }\n});\n\n// src/lib/parsers/parse-remote-messages.ts\nfunction parseRemoteMessages(_stdOut, stdErr) {\n return parseStringResponse({ remoteMessages: new RemoteMessageSummary() }, parsers2, stdErr);\n}\nvar parsers2, RemoteMessageSummary;\nvar init_parse_remote_messages = __esm({\n \"src/lib/parsers/parse-remote-messages.ts\"() {\n init_utils();\n init_parse_remote_objects();\n parsers2 = [\n new RemoteLineParser(/^remote:\\s*(.+)$/, (result, [text]) => {\n result.remoteMessages.all.push(text.trim());\n return false;\n }),\n ...remoteMessagesObjectParsers,\n new RemoteLineParser([/create a (?:pull|merge) request/i, /\\s(https?:\\/\\/\\S+)$/], (result, [pullRequestUrl]) => {\n result.remoteMessages.pullRequestUrl = pullRequestUrl;\n }),\n new RemoteLineParser([/found (\\d+) vulnerabilities.+\\(([^)]+)\\)/i, /\\s(https?:\\/\\/\\S+)$/], (result, [count, summary, url]) => {\n result.remoteMessages.vulnerabilities = {\n count: asNumber(count),\n summary,\n url\n };\n })\n ];\n RemoteMessageSummary = class {\n constructor() {\n this.all = [];\n }\n };\n }\n});\n\n// src/lib/parsers/parse-pull.ts\nfunction parsePullErrorResult(stdOut, stdErr) {\n const pullError = parseStringResponse(new PullFailedSummary(), errorParsers, [stdOut, stdErr]);\n return pullError.message && pullError;\n}\nvar FILE_UPDATE_REGEX, SUMMARY_REGEX, ACTION_REGEX, parsers3, errorParsers, parsePullDetail, parsePullResult;\nvar init_parse_pull = __esm({\n \"src/lib/parsers/parse-pull.ts\"() {\n init_PullSummary();\n init_utils();\n init_parse_remote_messages();\n FILE_UPDATE_REGEX = /^\\s*(.+?)\\s+\\|\\s+\\d+\\s*(\\+*)(-*)/;\n SUMMARY_REGEX = /(\\d+)\\D+((\\d+)\\D+\\(\\+\\))?(\\D+(\\d+)\\D+\\(-\\))?/;\n ACTION_REGEX = /^(create|delete) mode \\d+ (.+)/;\n parsers3 = [\n new LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => {\n result.files.push(file);\n if (insertions) {\n result.insertions[file] = insertions.length;\n }\n if (deletions) {\n result.deletions[file] = deletions.length;\n }\n }),\n new LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => {\n if (insertions !== void 0 || deletions !== void 0) {\n result.summary.changes = +changes || 0;\n result.summary.insertions = +insertions || 0;\n result.summary.deletions = +deletions || 0;\n return true;\n }\n return false;\n }),\n new LineParser(ACTION_REGEX, (result, [action, file]) => {\n append(result.files, file);\n append(action === \"create\" ? result.created : result.deleted, file);\n })\n ];\n errorParsers = [\n new LineParser(/^from\\s(.+)$/i, (result, [remote]) => void (result.remote = remote)),\n new LineParser(/^fatal:\\s(.+)$/, (result, [message]) => void (result.message = message)),\n new LineParser(/([a-z0-9]+)\\.\\.([a-z0-9]+)\\s+(\\S+)\\s+->\\s+(\\S+)$/, (result, [hashLocal, hashRemote, branchLocal, branchRemote]) => {\n result.branch.local = branchLocal;\n result.hash.local = hashLocal;\n result.branch.remote = branchRemote;\n result.hash.remote = hashRemote;\n })\n ];\n parsePullDetail = (stdOut, stdErr) => {\n return parseStringResponse(new PullSummary(), parsers3, [stdOut, stdErr]);\n };\n parsePullResult = (stdOut, stdErr) => {\n return Object.assign(new PullSummary(), parsePullDetail(stdOut, stdErr), parseRemoteMessages(stdOut, stdErr));\n };\n }\n});\n\n// src/lib/parsers/parse-merge.ts\nvar parsers4, parseMergeResult, parseMergeDetail;\nvar init_parse_merge = __esm({\n \"src/lib/parsers/parse-merge.ts\"() {\n init_MergeSummary();\n init_utils();\n init_parse_pull();\n parsers4 = [\n new LineParser(/^Auto-merging\\s+(.+)$/, (summary, [autoMerge]) => {\n summary.merges.push(autoMerge);\n }),\n new LineParser(/^CONFLICT\\s+\\((.+)\\): Merge conflict in (.+)$/, (summary, [reason, file]) => {\n summary.conflicts.push(new MergeSummaryConflict(reason, file));\n }),\n new LineParser(/^CONFLICT\\s+\\((.+\\/delete)\\): (.+) deleted in (.+) and/, (summary, [reason, file, deleteRef]) => {\n summary.conflicts.push(new MergeSummaryConflict(reason, file, { deleteRef }));\n }),\n new LineParser(/^CONFLICT\\s+\\((.+)\\):/, (summary, [reason]) => {\n summary.conflicts.push(new MergeSummaryConflict(reason, null));\n }),\n new LineParser(/^Automatic merge failed;\\s+(.+)$/, (summary, [result]) => {\n summary.result = result;\n })\n ];\n parseMergeResult = (stdOut, stdErr) => {\n return Object.assign(parseMergeDetail(stdOut, stdErr), parsePullResult(stdOut, stdErr));\n };\n parseMergeDetail = (stdOut) => {\n return parseStringResponse(new MergeSummaryDetail(), parsers4, stdOut);\n };\n }\n});\n\n// src/lib/tasks/merge.ts\nfunction mergeTask(customArgs) {\n if (!customArgs.length) {\n return configurationErrorTask(\"Git.merge requires at least one option\");\n }\n return {\n commands: [\"merge\", ...customArgs],\n format: \"utf-8\",\n parser(stdOut, stdErr) {\n const merge = parseMergeResult(stdOut, stdErr);\n if (merge.failed) {\n throw new GitResponseError(merge);\n }\n return merge;\n }\n };\n}\nvar init_merge = __esm({\n \"src/lib/tasks/merge.ts\"() {\n init_git_response_error();\n init_parse_merge();\n init_task();\n }\n});\n\n// src/lib/parsers/parse-push.ts\nfunction pushResultPushedItem(local, remote, status) {\n const deleted = status.includes(\"deleted\");\n const tag = status.includes(\"tag\") || /^refs\\/tags/.test(local);\n const alreadyUpdated = !status.includes(\"new\");\n return {\n deleted,\n tag,\n branch: !tag,\n new: !alreadyUpdated,\n alreadyUpdated,\n local,\n remote\n };\n}\nvar parsers5, parsePushResult, parsePushDetail;\nvar init_parse_push = __esm({\n \"src/lib/parsers/parse-push.ts\"() {\n init_utils();\n init_parse_remote_messages();\n parsers5 = [\n new LineParser(/^Pushing to (.+)$/, (result, [repo]) => {\n result.repo = repo;\n }),\n new LineParser(/^updating local tracking ref '(.+)'/, (result, [local]) => {\n result.ref = __spreadProps(__spreadValues({}, result.ref || {}), {\n local\n });\n }),\n new LineParser(/^[=*-]\\s+([^:]+):(\\S+)\\s+\\[(.+)]$/, (result, [local, remote, type]) => {\n result.pushed.push(pushResultPushedItem(local, remote, type));\n }),\n new LineParser(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/, (result, [local, remote, remoteName]) => {\n result.branch = __spreadProps(__spreadValues({}, result.branch || {}), {\n local,\n remote,\n remoteName\n });\n }),\n new LineParser(/^([^:]+):(\\S+)\\s+([a-z0-9]+)\\.\\.([a-z0-9]+)$/, (result, [local, remote, from, to]) => {\n result.update = {\n head: {\n local,\n remote\n },\n hash: {\n from,\n to\n }\n };\n })\n ];\n parsePushResult = (stdOut, stdErr) => {\n const pushDetail = parsePushDetail(stdOut, stdErr);\n const responseDetail = parseRemoteMessages(stdOut, stdErr);\n return __spreadValues(__spreadValues({}, pushDetail), responseDetail);\n };\n parsePushDetail = (stdOut, stdErr) => {\n return parseStringResponse({ pushed: [] }, parsers5, [stdOut, stdErr]);\n };\n }\n});\n\n// src/lib/tasks/push.ts\nvar push_exports = {};\n__export(push_exports, {\n pushTagsTask: () => pushTagsTask,\n pushTask: () => pushTask\n});\nfunction pushTagsTask(ref = {}, customArgs) {\n append(customArgs, \"--tags\");\n return pushTask(ref, customArgs);\n}\nfunction pushTask(ref = {}, customArgs) {\n const commands = [\"push\", ...customArgs];\n if (ref.branch) {\n commands.splice(1, 0, ref.branch);\n }\n if (ref.remote) {\n commands.splice(1, 0, ref.remote);\n }\n remove(commands, \"-v\");\n append(commands, \"--verbose\");\n append(commands, \"--porcelain\");\n return {\n commands,\n format: \"utf-8\",\n parser: parsePushResult\n };\n}\nvar init_push = __esm({\n \"src/lib/tasks/push.ts\"() {\n init_parse_push();\n init_utils();\n }\n});\n\n// src/lib/tasks/show.ts\nfunction show_default() {\n return {\n showBuffer() {\n const commands = [\"show\", ...getTrailingOptions(arguments, 1)];\n if (!commands.includes(\"--binary\")) {\n commands.splice(1, 0, \"--binary\");\n }\n return this._runTask(straightThroughBufferTask(commands), trailingFunctionArgument(arguments));\n },\n show() {\n const commands = [\"show\", ...getTrailingOptions(arguments, 1)];\n return this._runTask(straightThroughStringTask(commands), trailingFunctionArgument(arguments));\n }\n };\n}\nvar init_show = __esm({\n \"src/lib/tasks/show.ts\"() {\n init_utils();\n init_task();\n }\n});\n\n// src/lib/responses/FileStatusSummary.ts\nvar fromPathRegex, FileStatusSummary;\nvar init_FileStatusSummary = __esm({\n \"src/lib/responses/FileStatusSummary.ts\"() {\n fromPathRegex = /^(.+) -> (.+)$/;\n FileStatusSummary = class {\n constructor(path, index, working_dir) {\n this.path = path;\n this.index = index;\n this.working_dir = working_dir;\n if (index + working_dir === \"R\") {\n const detail = fromPathRegex.exec(path) || [null, path, path];\n this.from = detail[1] || \"\";\n this.path = detail[2] || \"\";\n }\n }\n };\n }\n});\n\n// src/lib/responses/StatusSummary.ts\nfunction renamedFile(line) {\n const [to, from] = line.split(NULL);\n return {\n from: from || to,\n to\n };\n}\nfunction parser2(indexX, indexY, handler) {\n return [`${indexX}${indexY}`, handler];\n}\nfunction conflicts(indexX, ...indexY) {\n return indexY.map((y) => parser2(indexX, y, (result, file) => append(result.conflicted, file)));\n}\nfunction splitLine(result, lineStr) {\n const trimmed2 = lineStr.trim();\n switch (\" \") {\n case trimmed2.charAt(2):\n return data(trimmed2.charAt(0), trimmed2.charAt(1), trimmed2.substr(3));\n case trimmed2.charAt(1):\n return data(\" \" /* NONE */, trimmed2.charAt(0), trimmed2.substr(2));\n default:\n return;\n }\n function data(index, workingDir, path) {\n const raw = `${index}${workingDir}`;\n const handler = parsers6.get(raw);\n if (handler) {\n handler(result, path);\n }\n if (raw !== \"##\" && raw !== \"!!\") {\n result.files.push(new FileStatusSummary(path.replace(/\\0.+$/, \"\"), index, workingDir));\n }\n }\n}\nvar StatusSummary, parsers6, parseStatusSummary;\nvar init_StatusSummary = __esm({\n \"src/lib/responses/StatusSummary.ts\"() {\n init_utils();\n init_FileStatusSummary();\n StatusSummary = class {\n constructor() {\n this.not_added = [];\n this.conflicted = [];\n this.created = [];\n this.deleted = [];\n this.ignored = void 0;\n this.modified = [];\n this.renamed = [];\n this.files = [];\n this.staged = [];\n this.ahead = 0;\n this.behind = 0;\n this.current = null;\n this.tracking = null;\n this.detached = false;\n this.isClean = () => {\n return !this.files.length;\n };\n }\n };\n parsers6 = new Map([\n parser2(\" \" /* NONE */, \"A\" /* ADDED */, (result, file) => append(result.created, file)),\n parser2(\" \" /* NONE */, \"D\" /* DELETED */, (result, file) => append(result.deleted, file)),\n parser2(\" \" /* NONE */, \"M\" /* MODIFIED */, (result, file) => append(result.modified, file)),\n parser2(\"A\" /* ADDED */, \" \" /* NONE */, (result, file) => append(result.created, file) && append(result.staged, file)),\n parser2(\"A\" /* ADDED */, \"M\" /* MODIFIED */, (result, file) => append(result.created, file) && append(result.staged, file) && append(result.modified, file)),\n parser2(\"D\" /* DELETED */, \" \" /* NONE */, (result, file) => append(result.deleted, file) && append(result.staged, file)),\n parser2(\"M\" /* MODIFIED */, \" \" /* NONE */, (result, file) => append(result.modified, file) && append(result.staged, file)),\n parser2(\"M\" /* MODIFIED */, \"M\" /* MODIFIED */, (result, file) => append(result.modified, file) && append(result.staged, file)),\n parser2(\"R\" /* RENAMED */, \" \" /* NONE */, (result, file) => {\n append(result.renamed, renamedFile(file));\n }),\n parser2(\"R\" /* RENAMED */, \"M\" /* MODIFIED */, (result, file) => {\n const renamed = renamedFile(file);\n append(result.renamed, renamed);\n append(result.modified, renamed.to);\n }),\n parser2(\"!\" /* IGNORED */, \"!\" /* IGNORED */, (_result, _file) => {\n append(_result.ignored = _result.ignored || [], _file);\n }),\n parser2(\"?\" /* UNTRACKED */, \"?\" /* UNTRACKED */, (result, file) => append(result.not_added, file)),\n ...conflicts(\"A\" /* ADDED */, \"A\" /* ADDED */, \"U\" /* UNMERGED */),\n ...conflicts(\"D\" /* DELETED */, \"D\" /* DELETED */, \"U\" /* UNMERGED */),\n ...conflicts(\"U\" /* UNMERGED */, \"A\" /* ADDED */, \"D\" /* DELETED */, \"U\" /* UNMERGED */),\n [\n \"##\",\n (result, line) => {\n const aheadReg = /ahead (\\d+)/;\n const behindReg = /behind (\\d+)/;\n const currentReg = /^(.+?(?=(?:\\.{3}|\\s|$)))/;\n const trackingReg = /\\.{3}(\\S*)/;\n const onEmptyBranchReg = /\\son\\s([\\S]+)$/;\n let regexResult;\n regexResult = aheadReg.exec(line);\n result.ahead = regexResult && +regexResult[1] || 0;\n regexResult = behindReg.exec(line);\n result.behind = regexResult && +regexResult[1] || 0;\n regexResult = currentReg.exec(line);\n result.current = regexResult && regexResult[1];\n regexResult = trackingReg.exec(line);\n result.tracking = regexResult && regexResult[1];\n regexResult = onEmptyBranchReg.exec(line);\n result.current = regexResult && regexResult[1] || result.current;\n result.detached = /\\(no branch\\)/.test(line);\n }\n ]\n ]);\n parseStatusSummary = function(text) {\n const lines = text.split(NULL);\n const status = new StatusSummary();\n for (let i = 0, l = lines.length; i < l; ) {\n let line = lines[i++].trim();\n if (!line) {\n continue;\n }\n if (line.charAt(0) === \"R\" /* RENAMED */) {\n line += NULL + (lines[i++] || \"\");\n }\n splitLine(status, line);\n }\n return status;\n };\n }\n});\n\n// src/lib/tasks/status.ts\nfunction statusTask(customArgs) {\n const commands = [\n \"status\",\n \"--porcelain\",\n \"-b\",\n \"-u\",\n \"--null\",\n ...customArgs.filter((arg) => !ignoredOptions.includes(arg))\n ];\n return {\n format: \"utf-8\",\n commands,\n parser(text) {\n return parseStatusSummary(text);\n }\n };\n}\nvar ignoredOptions;\nvar init_status = __esm({\n \"src/lib/tasks/status.ts\"() {\n init_StatusSummary();\n ignoredOptions = [\"--null\", \"-z\"];\n }\n});\n\n// src/lib/tasks/version.ts\nfunction versionResponse(major = 0, minor = 0, patch = 0, agent = \"\", installed = true) {\n return Object.defineProperty({\n major,\n minor,\n patch,\n agent,\n installed\n }, \"toString\", {\n value() {\n return `${this.major}.${this.minor}.${this.patch}`;\n },\n configurable: false,\n enumerable: false\n });\n}\nfunction notInstalledResponse() {\n return versionResponse(0, 0, 0, \"\", false);\n}\nfunction version_default() {\n return {\n version() {\n return this._runTask({\n commands: [\"--version\"],\n format: \"utf-8\",\n parser: versionParser,\n onError(result, error, done, fail) {\n if (result.exitCode === -2 /* NOT_FOUND */) {\n return done(Buffer.from(NOT_INSTALLED));\n }\n fail(error);\n }\n });\n }\n };\n}\nfunction versionParser(stdOut) {\n if (stdOut === NOT_INSTALLED) {\n return notInstalledResponse();\n }\n return parseStringResponse(versionResponse(0, 0, 0, stdOut), parsers7, stdOut);\n}\nvar NOT_INSTALLED, parsers7;\nvar init_version = __esm({\n \"src/lib/tasks/version.ts\"() {\n init_utils();\n NOT_INSTALLED = \"installed=false\";\n parsers7 = [\n new LineParser(/version (\\d+)\\.(\\d+)\\.(\\d+)(?:\\s*\\((.+)\\))?/, (result, [major, minor, patch, agent = \"\"]) => {\n Object.assign(result, versionResponse(asNumber(major), asNumber(minor), asNumber(patch), agent));\n }),\n new LineParser(/version (\\d+)\\.(\\d+)\\.(\\D+)(.+)?$/, (result, [major, minor, patch, agent = \"\"]) => {\n Object.assign(result, versionResponse(asNumber(major), asNumber(minor), patch, agent));\n })\n ];\n }\n});\n\n// src/lib/simple-git-api.ts\nvar simple_git_api_exports = {};\n__export(simple_git_api_exports, {\n SimpleGitApi: () => SimpleGitApi\n});\nvar SimpleGitApi;\nvar init_simple_git_api = __esm({\n \"src/lib/simple-git-api.ts\"() {\n init_task_callback();\n init_change_working_directory();\n init_checkout();\n init_commit();\n init_config();\n init_grep();\n init_hash_object();\n init_init();\n init_log();\n init_merge();\n init_push();\n init_show();\n init_status();\n init_task();\n init_version();\n init_utils();\n SimpleGitApi = class {\n constructor(_executor) {\n this._executor = _executor;\n }\n _runTask(task, then) {\n const chain = this._executor.chain();\n const promise = chain.push(task);\n if (then) {\n taskCallback(task, promise, then);\n }\n return Object.create(this, {\n then: { value: promise.then.bind(promise) },\n catch: { value: promise.catch.bind(promise) },\n _executor: { value: chain }\n });\n }\n add(files) {\n return this._runTask(straightThroughStringTask([\"add\", ...asArray(files)]), trailingFunctionArgument(arguments));\n }\n cwd(directory) {\n const next = trailingFunctionArgument(arguments);\n if (typeof directory === \"string\") {\n return this._runTask(changeWorkingDirectoryTask(directory, this._executor), next);\n }\n if (typeof (directory == null ? void 0 : directory.path) === \"string\") {\n return this._runTask(changeWorkingDirectoryTask(directory.path, directory.root && this._executor || void 0), next);\n }\n return this._runTask(configurationErrorTask(\"Git.cwd: workingDirectory must be supplied as a string\"), next);\n }\n hashObject(path, write) {\n return this._runTask(hashObjectTask(path, write === true), trailingFunctionArgument(arguments));\n }\n init(bare) {\n return this._runTask(initTask(bare === true, this._executor.cwd, getTrailingOptions(arguments)), trailingFunctionArgument(arguments));\n }\n merge() {\n return this._runTask(mergeTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments));\n }\n mergeFromTo(remote, branch) {\n if (!(filterString(remote) && filterString(branch))) {\n return this._runTask(configurationErrorTask(`Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`));\n }\n return this._runTask(mergeTask([remote, branch, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments, false));\n }\n outputHandler(handler) {\n this._executor.outputHandler = handler;\n return this;\n }\n push() {\n const task = pushTask({\n remote: filterType(arguments[0], filterString),\n branch: filterType(arguments[1], filterString)\n }, getTrailingOptions(arguments));\n return this._runTask(task, trailingFunctionArgument(arguments));\n }\n stash() {\n return this._runTask(straightThroughStringTask([\"stash\", ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments));\n }\n status() {\n return this._runTask(statusTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments));\n }\n };\n Object.assign(SimpleGitApi.prototype, checkout_default(), commit_default(), config_default(), grep_default(), log_default(), show_default(), version_default());\n }\n});\n\n// src/lib/runners/scheduler.ts\nvar scheduler_exports = {};\n__export(scheduler_exports, {\n Scheduler: () => Scheduler\n});\nvar import_promise_deferred2, createScheduledTask, Scheduler;\nvar init_scheduler = __esm({\n \"src/lib/runners/scheduler.ts\"() {\n init_utils();\n import_promise_deferred2 = require(\"@kwsites/promise-deferred\");\n init_git_logger();\n createScheduledTask = (() => {\n let id = 0;\n return () => {\n id++;\n const { promise, done } = (0, import_promise_deferred2.createDeferred)();\n return {\n promise,\n done,\n id\n };\n };\n })();\n Scheduler = class {\n constructor(concurrency = 2) {\n this.concurrency = concurrency;\n this.logger = createLogger(\"\", \"scheduler\");\n this.pending = [];\n this.running = [];\n this.logger(`Constructed, concurrency=%s`, concurrency);\n }\n schedule() {\n if (!this.pending.length || this.running.length >= this.concurrency) {\n this.logger(`Schedule attempt ignored, pending=%s running=%s concurrency=%s`, this.pending.length, this.running.length, this.concurrency);\n return;\n }\n const task = append(this.running, this.pending.shift());\n this.logger(`Attempting id=%s`, task.id);\n task.done(() => {\n this.logger(`Completing id=`, task.id);\n remove(this.running, task);\n this.schedule();\n });\n }\n next() {\n const { promise, id } = append(this.pending, createScheduledTask());\n this.logger(`Scheduling id=%s`, id);\n this.schedule();\n return promise;\n }\n };\n }\n});\n\n// src/lib/tasks/apply-patch.ts\nvar apply_patch_exports = {};\n__export(apply_patch_exports, {\n applyPatchTask: () => applyPatchTask\n});\nfunction applyPatchTask(patches, customArgs) {\n return straightThroughStringTask([\"apply\", ...customArgs, ...patches]);\n}\nvar init_apply_patch = __esm({\n \"src/lib/tasks/apply-patch.ts\"() {\n init_task();\n }\n});\n\n// src/lib/responses/BranchDeleteSummary.ts\nfunction branchDeletionSuccess(branch, hash) {\n return {\n branch,\n hash,\n success: true\n };\n}\nfunction branchDeletionFailure(branch) {\n return {\n branch,\n hash: null,\n success: false\n };\n}\nvar BranchDeletionBatch;\nvar init_BranchDeleteSummary = __esm({\n \"src/lib/responses/BranchDeleteSummary.ts\"() {\n BranchDeletionBatch = class {\n constructor() {\n this.all = [];\n this.branches = {};\n this.errors = [];\n }\n get success() {\n return !this.errors.length;\n }\n };\n }\n});\n\n// src/lib/parsers/parse-branch-delete.ts\nfunction hasBranchDeletionError(data, processExitCode) {\n return processExitCode === 1 /* ERROR */ && deleteErrorRegex.test(data);\n}\nvar deleteSuccessRegex, deleteErrorRegex, parsers8, parseBranchDeletions;\nvar init_parse_branch_delete = __esm({\n \"src/lib/parsers/parse-branch-delete.ts\"() {\n init_BranchDeleteSummary();\n init_utils();\n deleteSuccessRegex = /(\\S+)\\s+\\(\\S+\\s([^)]+)\\)/;\n deleteErrorRegex = /^error[^']+'([^']+)'/m;\n parsers8 = [\n new LineParser(deleteSuccessRegex, (result, [branch, hash]) => {\n const deletion = branchDeletionSuccess(branch, hash);\n result.all.push(deletion);\n result.branches[branch] = deletion;\n }),\n new LineParser(deleteErrorRegex, (result, [branch]) => {\n const deletion = branchDeletionFailure(branch);\n result.errors.push(deletion);\n result.all.push(deletion);\n result.branches[branch] = deletion;\n })\n ];\n parseBranchDeletions = (stdOut, stdErr) => {\n return parseStringResponse(new BranchDeletionBatch(), parsers8, [stdOut, stdErr]);\n };\n }\n});\n\n// src/lib/responses/BranchSummary.ts\nvar BranchSummaryResult;\nvar init_BranchSummary = __esm({\n \"src/lib/responses/BranchSummary.ts\"() {\n BranchSummaryResult = class {\n constructor() {\n this.all = [];\n this.branches = {};\n this.current = \"\";\n this.detached = false;\n }\n push(status, detached, name, commit, label) {\n if (status === \"*\" /* CURRENT */) {\n this.detached = detached;\n this.current = name;\n }\n this.all.push(name);\n this.branches[name] = {\n current: status === \"*\" /* CURRENT */,\n linkedWorkTree: status === \"+\" /* LINKED */,\n name,\n commit,\n label\n };\n }\n };\n }\n});\n\n// src/lib/parsers/parse-branch.ts\nfunction branchStatus(input) {\n return input ? input.charAt(0) : \"\";\n}\nfunction parseBranchSummary(stdOut) {\n return parseStringResponse(new BranchSummaryResult(), parsers9, stdOut);\n}\nvar parsers9;\nvar init_parse_branch = __esm({\n \"src/lib/parsers/parse-branch.ts\"() {\n init_BranchSummary();\n init_utils();\n parsers9 = [\n new LineParser(/^([*+]\\s)?\\((?:HEAD )?detached (?:from|at) (\\S+)\\)\\s+([a-z0-9]+)\\s(.*)$/, (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), true, name, commit, label);\n }),\n new LineParser(/^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$/s, (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), false, name, commit, label);\n })\n ];\n }\n});\n\n// src/lib/tasks/branch.ts\nvar branch_exports = {};\n__export(branch_exports, {\n branchLocalTask: () => branchLocalTask,\n branchTask: () => branchTask,\n containsDeleteBranchCommand: () => containsDeleteBranchCommand,\n deleteBranchTask: () => deleteBranchTask,\n deleteBranchesTask: () => deleteBranchesTask\n});\nfunction containsDeleteBranchCommand(commands) {\n const deleteCommands = [\"-d\", \"-D\", \"--delete\"];\n return commands.some((command) => deleteCommands.includes(command));\n}\nfunction branchTask(customArgs) {\n const isDelete = containsDeleteBranchCommand(customArgs);\n const commands = [\"branch\", ...customArgs];\n if (commands.length === 1) {\n commands.push(\"-a\");\n }\n if (!commands.includes(\"-v\")) {\n commands.splice(1, 0, \"-v\");\n }\n return {\n format: \"utf-8\",\n commands,\n parser(stdOut, stdErr) {\n if (isDelete) {\n return parseBranchDeletions(stdOut, stdErr).all[0];\n }\n return parseBranchSummary(stdOut);\n }\n };\n}\nfunction branchLocalTask() {\n const parser3 = parseBranchSummary;\n return {\n format: \"utf-8\",\n commands: [\"branch\", \"-v\"],\n parser: parser3\n };\n}\nfunction deleteBranchesTask(branches, forceDelete = false) {\n return {\n format: \"utf-8\",\n commands: [\"branch\", \"-v\", forceDelete ? \"-D\" : \"-d\", ...branches],\n parser(stdOut, stdErr) {\n return parseBranchDeletions(stdOut, stdErr);\n },\n onError({ exitCode, stdOut }, error, done, fail) {\n if (!hasBranchDeletionError(String(error), exitCode)) {\n return fail(error);\n }\n done(stdOut);\n }\n };\n}\nfunction deleteBranchTask(branch, forceDelete = false) {\n const task = {\n format: \"utf-8\",\n commands: [\"branch\", \"-v\", forceDelete ? \"-D\" : \"-d\", branch],\n parser(stdOut, stdErr) {\n return parseBranchDeletions(stdOut, stdErr).branches[branch];\n },\n onError({ exitCode, stdErr, stdOut }, error, _, fail) {\n if (!hasBranchDeletionError(String(error), exitCode)) {\n return fail(error);\n }\n throw new GitResponseError(task.parser(bufferToString(stdOut), bufferToString(stdErr)), String(error));\n }\n };\n return task;\n}\nvar init_branch = __esm({\n \"src/lib/tasks/branch.ts\"() {\n init_git_response_error();\n init_parse_branch_delete();\n init_parse_branch();\n init_utils();\n }\n});\n\n// src/lib/responses/CheckIgnore.ts\nvar parseCheckIgnore;\nvar init_CheckIgnore = __esm({\n \"src/lib/responses/CheckIgnore.ts\"() {\n parseCheckIgnore = (text) => {\n return text.split(/\\n/g).map((line) => line.trim()).filter((file) => !!file);\n };\n }\n});\n\n// src/lib/tasks/check-ignore.ts\nvar check_ignore_exports = {};\n__export(check_ignore_exports, {\n checkIgnoreTask: () => checkIgnoreTask\n});\nfunction checkIgnoreTask(paths) {\n return {\n commands: [\"check-ignore\", ...paths],\n format: \"utf-8\",\n parser: parseCheckIgnore\n };\n}\nvar init_check_ignore = __esm({\n \"src/lib/tasks/check-ignore.ts\"() {\n init_CheckIgnore();\n }\n});\n\n// src/lib/tasks/clone.ts\nvar clone_exports = {};\n__export(clone_exports, {\n cloneMirrorTask: () => cloneMirrorTask,\n cloneTask: () => cloneTask\n});\nfunction disallowedCommand(command) {\n return /^--upload-pack(=|$)/.test(command);\n}\nfunction cloneTask(repo, directory, customArgs) {\n const commands = [\"clone\", ...customArgs];\n filterString(repo) && commands.push(repo);\n filterString(directory) && commands.push(directory);\n const banned = commands.find(disallowedCommand);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n return straightThroughStringTask(commands);\n}\nfunction cloneMirrorTask(repo, directory, customArgs) {\n append(customArgs, \"--mirror\");\n return cloneTask(repo, directory, customArgs);\n}\nvar init_clone = __esm({\n \"src/lib/tasks/clone.ts\"() {\n init_task();\n init_utils();\n }\n});\n\n// src/lib/parsers/parse-fetch.ts\nfunction parseFetchResult(stdOut, stdErr) {\n const result = {\n raw: stdOut,\n remote: null,\n branches: [],\n tags: [],\n updated: [],\n deleted: []\n };\n return parseStringResponse(result, parsers10, [stdOut, stdErr]);\n}\nvar parsers10;\nvar init_parse_fetch = __esm({\n \"src/lib/parsers/parse-fetch.ts\"() {\n init_utils();\n parsers10 = [\n new LineParser(/From (.+)$/, (result, [remote]) => {\n result.remote = remote;\n }),\n new LineParser(/\\* \\[new branch]\\s+(\\S+)\\s*-> (.+)$/, (result, [name, tracking]) => {\n result.branches.push({\n name,\n tracking\n });\n }),\n new LineParser(/\\* \\[new tag]\\s+(\\S+)\\s*-> (.+)$/, (result, [name, tracking]) => {\n result.tags.push({\n name,\n tracking\n });\n }),\n new LineParser(/- \\[deleted]\\s+\\S+\\s*-> (.+)$/, (result, [tracking]) => {\n result.deleted.push({\n tracking\n });\n }),\n new LineParser(/\\s*([^.]+)\\.\\.(\\S+)\\s+(\\S+)\\s*-> (.+)$/, (result, [from, to, name, tracking]) => {\n result.updated.push({\n name,\n tracking,\n to,\n from\n });\n })\n ];\n }\n});\n\n// src/lib/tasks/fetch.ts\nvar fetch_exports = {};\n__export(fetch_exports, {\n fetchTask: () => fetchTask\n});\nfunction disallowedCommand2(command) {\n return /^--upload-pack(=|$)/.test(command);\n}\nfunction fetchTask(remote, branch, customArgs) {\n const commands = [\"fetch\", ...customArgs];\n if (remote && branch) {\n commands.push(remote, branch);\n }\n const banned = commands.find(disallowedCommand2);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n return {\n commands,\n format: \"utf-8\",\n parser: parseFetchResult\n };\n}\nvar init_fetch = __esm({\n \"src/lib/tasks/fetch.ts\"() {\n init_parse_fetch();\n init_task();\n }\n});\n\n// src/lib/parsers/parse-move.ts\nfunction parseMoveResult(stdOut) {\n return parseStringResponse({ moves: [] }, parsers11, stdOut);\n}\nvar parsers11;\nvar init_parse_move = __esm({\n \"src/lib/parsers/parse-move.ts\"() {\n init_utils();\n parsers11 = [\n new LineParser(/^Renaming (.+) to (.+)$/, (result, [from, to]) => {\n result.moves.push({ from, to });\n })\n ];\n }\n});\n\n// src/lib/tasks/move.ts\nvar move_exports = {};\n__export(move_exports, {\n moveTask: () => moveTask\n});\nfunction moveTask(from, to) {\n return {\n commands: [\"mv\", \"-v\", ...asArray(from), to],\n format: \"utf-8\",\n parser: parseMoveResult\n };\n}\nvar init_move = __esm({\n \"src/lib/tasks/move.ts\"() {\n init_parse_move();\n init_utils();\n }\n});\n\n// src/lib/tasks/pull.ts\nvar pull_exports = {};\n__export(pull_exports, {\n pullTask: () => pullTask\n});\nfunction pullTask(remote, branch, customArgs) {\n const commands = [\"pull\", ...customArgs];\n if (remote && branch) {\n commands.splice(1, 0, remote, branch);\n }\n return {\n commands,\n format: \"utf-8\",\n parser(stdOut, stdErr) {\n return parsePullResult(stdOut, stdErr);\n },\n onError(result, _error, _done, fail) {\n const pullError = parsePullErrorResult(bufferToString(result.stdOut), bufferToString(result.stdErr));\n if (pullError) {\n return fail(new GitResponseError(pullError));\n }\n fail(_error);\n }\n };\n}\nvar init_pull = __esm({\n \"src/lib/tasks/pull.ts\"() {\n init_git_response_error();\n init_parse_pull();\n init_utils();\n }\n});\n\n// src/lib/responses/GetRemoteSummary.ts\nfunction parseGetRemotes(text) {\n const remotes = {};\n forEach(text, ([name]) => remotes[name] = { name });\n return Object.values(remotes);\n}\nfunction parseGetRemotesVerbose(text) {\n const remotes = {};\n forEach(text, ([name, url, purpose]) => {\n if (!remotes.hasOwnProperty(name)) {\n remotes[name] = {\n name,\n refs: { fetch: \"\", push: \"\" }\n };\n }\n if (purpose && url) {\n remotes[name].refs[purpose.replace(/[^a-z]/g, \"\")] = url;\n }\n });\n return Object.values(remotes);\n}\nfunction forEach(text, handler) {\n forEachLineWithContent(text, (line) => handler(line.split(/\\s+/)));\n}\nvar init_GetRemoteSummary = __esm({\n \"src/lib/responses/GetRemoteSummary.ts\"() {\n init_utils();\n }\n});\n\n// src/lib/tasks/remote.ts\nvar remote_exports = {};\n__export(remote_exports, {\n addRemoteTask: () => addRemoteTask,\n getRemotesTask: () => getRemotesTask,\n listRemotesTask: () => listRemotesTask,\n remoteTask: () => remoteTask,\n removeRemoteTask: () => removeRemoteTask\n});\nfunction addRemoteTask(remoteName, remoteRepo, customArgs = []) {\n return straightThroughStringTask([\"remote\", \"add\", ...customArgs, remoteName, remoteRepo]);\n}\nfunction getRemotesTask(verbose) {\n const commands = [\"remote\"];\n if (verbose) {\n commands.push(\"-v\");\n }\n return {\n commands,\n format: \"utf-8\",\n parser: verbose ? parseGetRemotesVerbose : parseGetRemotes\n };\n}\nfunction listRemotesTask(customArgs = []) {\n const commands = [...customArgs];\n if (commands[0] !== \"ls-remote\") {\n commands.unshift(\"ls-remote\");\n }\n return straightThroughStringTask(commands);\n}\nfunction remoteTask(customArgs = []) {\n const commands = [...customArgs];\n if (commands[0] !== \"remote\") {\n commands.unshift(\"remote\");\n }\n return straightThroughStringTask(commands);\n}\nfunction removeRemoteTask(remoteName) {\n return straightThroughStringTask([\"remote\", \"remove\", remoteName]);\n}\nvar init_remote = __esm({\n \"src/lib/tasks/remote.ts\"() {\n init_GetRemoteSummary();\n init_task();\n }\n});\n\n// src/lib/tasks/stash-list.ts\nvar stash_list_exports = {};\n__export(stash_list_exports, {\n stashListTask: () => stashListTask\n});\nfunction stashListTask(opt = {}, customArgs) {\n const options = parseLogOptions(opt);\n const commands = [\"stash\", \"list\", ...options.commands, ...customArgs];\n const parser3 = createListLogSummaryParser(options.splitter, options.fields, logFormatFromCommand(commands));\n return validateLogFormatConfig(commands) || {\n commands,\n format: \"utf-8\",\n parser: parser3\n };\n}\nvar init_stash_list = __esm({\n \"src/lib/tasks/stash-list.ts\"() {\n init_log_format();\n init_parse_list_log_summary();\n init_diff();\n init_log();\n }\n});\n\n// src/lib/tasks/sub-module.ts\nvar sub_module_exports = {};\n__export(sub_module_exports, {\n addSubModuleTask: () => addSubModuleTask,\n initSubModuleTask: () => initSubModuleTask,\n subModuleTask: () => subModuleTask,\n updateSubModuleTask: () => updateSubModuleTask\n});\nfunction addSubModuleTask(repo, path) {\n return subModuleTask([\"add\", repo, path]);\n}\nfunction initSubModuleTask(customArgs) {\n return subModuleTask([\"init\", ...customArgs]);\n}\nfunction subModuleTask(customArgs) {\n const commands = [...customArgs];\n if (commands[0] !== \"submodule\") {\n commands.unshift(\"submodule\");\n }\n return straightThroughStringTask(commands);\n}\nfunction updateSubModuleTask(customArgs) {\n return subModuleTask([\"update\", ...customArgs]);\n}\nvar init_sub_module = __esm({\n \"src/lib/tasks/sub-module.ts\"() {\n init_task();\n }\n});\n\n// src/lib/responses/TagList.ts\nfunction singleSorted(a, b) {\n const aIsNum = isNaN(a);\n const bIsNum = isNaN(b);\n if (aIsNum !== bIsNum) {\n return aIsNum ? 1 : -1;\n }\n return aIsNum ? sorted(a, b) : 0;\n}\nfunction sorted(a, b) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\nfunction trimmed(input) {\n return input.trim();\n}\nfunction toNumber(input) {\n if (typeof input === \"string\") {\n return parseInt(input.replace(/^\\D+/g, \"\"), 10) || 0;\n }\n return 0;\n}\nvar TagList, parseTagList;\nvar init_TagList = __esm({\n \"src/lib/responses/TagList.ts\"() {\n TagList = class {\n constructor(all, latest) {\n this.all = all;\n this.latest = latest;\n }\n };\n parseTagList = function(data, customSort = false) {\n const tags = data.split(\"\\n\").map(trimmed).filter(Boolean);\n if (!customSort) {\n tags.sort(function(tagA, tagB) {\n const partsA = tagA.split(\".\");\n const partsB = tagB.split(\".\");\n if (partsA.length === 1 || partsB.length === 1) {\n return singleSorted(toNumber(partsA[0]), toNumber(partsB[0]));\n }\n for (let i = 0, l = Math.max(partsA.length, partsB.length); i < l; i++) {\n const diff = sorted(toNumber(partsA[i]), toNumber(partsB[i]));\n if (diff) {\n return diff;\n }\n }\n return 0;\n });\n }\n const latest = customSort ? tags[0] : [...tags].reverse().find((tag) => tag.indexOf(\".\") >= 0);\n return new TagList(tags, latest);\n };\n }\n});\n\n// src/lib/tasks/tag.ts\nvar tag_exports = {};\n__export(tag_exports, {\n addAnnotatedTagTask: () => addAnnotatedTagTask,\n addTagTask: () => addTagTask,\n tagListTask: () => tagListTask\n});\nfunction tagListTask(customArgs = []) {\n const hasCustomSort = customArgs.some((option) => /^--sort=/.test(option));\n return {\n format: \"utf-8\",\n commands: [\"tag\", \"-l\", ...customArgs],\n parser(text) {\n return parseTagList(text, hasCustomSort);\n }\n };\n}\nfunction addTagTask(name) {\n return {\n format: \"utf-8\",\n commands: [\"tag\", name],\n parser() {\n return { name };\n }\n };\n}\nfunction addAnnotatedTagTask(name, tagMessage) {\n return {\n format: \"utf-8\",\n commands: [\"tag\", \"-a\", \"-m\", tagMessage, name],\n parser() {\n return { name };\n }\n };\n}\nvar init_tag = __esm({\n \"src/lib/tasks/tag.ts\"() {\n init_TagList();\n }\n});\n\n// src/git.js\nvar require_git = __commonJS({\n \"src/git.js\"(exports2, module2) {\n var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS(git_executor_exports));\n var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS(simple_git_api_exports));\n var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS(scheduler_exports));\n var { configurationErrorTask: configurationErrorTask2 } = (init_task(), __toCommonJS(task_exports));\n var {\n asArray: asArray2,\n filterArray: filterArray2,\n filterPrimitives: filterPrimitives2,\n filterString: filterString2,\n filterStringOrStringArray: filterStringOrStringArray2,\n filterType: filterType2,\n getTrailingOptions: getTrailingOptions2,\n trailingFunctionArgument: trailingFunctionArgument2,\n trailingOptionsArgument: trailingOptionsArgument2\n } = (init_utils(), __toCommonJS(utils_exports));\n var { applyPatchTask: applyPatchTask2 } = (init_apply_patch(), __toCommonJS(apply_patch_exports));\n var {\n branchTask: branchTask2,\n branchLocalTask: branchLocalTask2,\n deleteBranchesTask: deleteBranchesTask2,\n deleteBranchTask: deleteBranchTask2\n } = (init_branch(), __toCommonJS(branch_exports));\n var { checkIgnoreTask: checkIgnoreTask2 } = (init_check_ignore(), __toCommonJS(check_ignore_exports));\n var { checkIsRepoTask: checkIsRepoTask2 } = (init_check_is_repo(), __toCommonJS(check_is_repo_exports));\n var { cloneTask: cloneTask2, cloneMirrorTask: cloneMirrorTask2 } = (init_clone(), __toCommonJS(clone_exports));\n var { cleanWithOptionsTask: cleanWithOptionsTask2, isCleanOptionsArray: isCleanOptionsArray2 } = (init_clean(), __toCommonJS(clean_exports));\n var { diffSummaryTask: diffSummaryTask2 } = (init_diff(), __toCommonJS(diff_exports));\n var { fetchTask: fetchTask2 } = (init_fetch(), __toCommonJS(fetch_exports));\n var { moveTask: moveTask2 } = (init_move(), __toCommonJS(move_exports));\n var { pullTask: pullTask2 } = (init_pull(), __toCommonJS(pull_exports));\n var { pushTagsTask: pushTagsTask2 } = (init_push(), __toCommonJS(push_exports));\n var {\n addRemoteTask: addRemoteTask2,\n getRemotesTask: getRemotesTask2,\n listRemotesTask: listRemotesTask2,\n remoteTask: remoteTask2,\n removeRemoteTask: removeRemoteTask2\n } = (init_remote(), __toCommonJS(remote_exports));\n var { getResetMode: getResetMode2, resetTask: resetTask2 } = (init_reset(), __toCommonJS(reset_exports));\n var { stashListTask: stashListTask2 } = (init_stash_list(), __toCommonJS(stash_list_exports));\n var {\n addSubModuleTask: addSubModuleTask2,\n initSubModuleTask: initSubModuleTask2,\n subModuleTask: subModuleTask2,\n updateSubModuleTask: updateSubModuleTask2\n } = (init_sub_module(), __toCommonJS(sub_module_exports));\n var { addAnnotatedTagTask: addAnnotatedTagTask2, addTagTask: addTagTask2, tagListTask: tagListTask2 } = (init_tag(), __toCommonJS(tag_exports));\n var { straightThroughBufferTask: straightThroughBufferTask2, straightThroughStringTask: straightThroughStringTask2 } = (init_task(), __toCommonJS(task_exports));\n function Git2(options, plugins) {\n this._executor = new GitExecutor2(options.binary, options.baseDir, new Scheduler2(options.maxConcurrentProcesses), plugins);\n this._trimmed = options.trimmed;\n }\n (Git2.prototype = Object.create(SimpleGitApi2.prototype)).constructor = Git2;\n Git2.prototype.customBinary = function(command) {\n this._executor.binary = command;\n return this;\n };\n Git2.prototype.env = function(name, value) {\n if (arguments.length === 1 && typeof name === \"object\") {\n this._executor.env = name;\n } else {\n (this._executor.env = this._executor.env || {})[name] = value;\n }\n return this;\n };\n Git2.prototype.stashList = function(options) {\n return this._runTask(stashListTask2(trailingOptionsArgument2(arguments) || {}, filterArray2(options) && options || []), trailingFunctionArgument2(arguments));\n };\n function createCloneTask(api, task, repoPath, localPath) {\n if (typeof repoPath !== \"string\") {\n return configurationErrorTask2(`git.${api}() requires a string 'repoPath'`);\n }\n return task(repoPath, filterType2(localPath, filterString2), getTrailingOptions2(arguments));\n }\n Git2.prototype.clone = function() {\n return this._runTask(createCloneTask(\"clone\", cloneTask2, ...arguments), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.mirror = function() {\n return this._runTask(createCloneTask(\"mirror\", cloneMirrorTask2, ...arguments), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.mv = function(from, to) {\n return this._runTask(moveTask2(from, to), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.checkoutLatestTag = function(then) {\n var git = this;\n return this.pull(function() {\n git.tags(function(err, tags) {\n git.checkout(tags.latest, then);\n });\n });\n };\n Git2.prototype.pull = function(remote, branch, options, then) {\n return this._runTask(pullTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.fetch = function(remote, branch) {\n return this._runTask(fetchTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.silent = function(silence) {\n console.warn(\"simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3\");\n return this;\n };\n Git2.prototype.tags = function(options, then) {\n return this._runTask(tagListTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.rebase = function() {\n return this._runTask(straightThroughStringTask2([\"rebase\", ...getTrailingOptions2(arguments)]), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.reset = function(mode) {\n return this._runTask(resetTask2(getResetMode2(mode), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.revert = function(commit) {\n const next = trailingFunctionArgument2(arguments);\n if (typeof commit !== \"string\") {\n return this._runTask(configurationErrorTask2(\"Commit must be a string\"), next);\n }\n return this._runTask(straightThroughStringTask2([\"revert\", ...getTrailingOptions2(arguments, 0, true), commit]), next);\n };\n Git2.prototype.addTag = function(name) {\n const task = typeof name === \"string\" ? addTagTask2(name) : configurationErrorTask2(\"Git.addTag requires a tag name\");\n return this._runTask(task, trailingFunctionArgument2(arguments));\n };\n Git2.prototype.addAnnotatedTag = function(tagName, tagMessage) {\n return this._runTask(addAnnotatedTagTask2(tagName, tagMessage), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.deleteLocalBranch = function(branchName, forceDelete, then) {\n return this._runTask(deleteBranchTask2(branchName, typeof forceDelete === \"boolean\" ? forceDelete : false), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.deleteLocalBranches = function(branchNames, forceDelete, then) {\n return this._runTask(deleteBranchesTask2(branchNames, typeof forceDelete === \"boolean\" ? forceDelete : false), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.branch = function(options, then) {\n return this._runTask(branchTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.branchLocal = function(then) {\n return this._runTask(branchLocalTask2(), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.raw = function(commands) {\n const createRestCommands = !Array.isArray(commands);\n const command = [].slice.call(createRestCommands ? arguments : commands, 0);\n for (let i = 0; i < command.length && createRestCommands; i++) {\n if (!filterPrimitives2(command[i])) {\n command.splice(i, command.length - i);\n break;\n }\n }\n command.push(...getTrailingOptions2(arguments, 0, true));\n var next = trailingFunctionArgument2(arguments);\n if (!command.length) {\n return this._runTask(configurationErrorTask2(\"Raw: must supply one or more command to execute\"), next);\n }\n return this._runTask(straightThroughStringTask2(command, this._trimmed), next);\n };\n Git2.prototype.submoduleAdd = function(repo, path, then) {\n return this._runTask(addSubModuleTask2(repo, path), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.submoduleUpdate = function(args, then) {\n return this._runTask(updateSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.submoduleInit = function(args, then) {\n return this._runTask(initSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.subModule = function(options, then) {\n return this._runTask(subModuleTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.listRemote = function() {\n return this._runTask(listRemotesTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.addRemote = function(remoteName, remoteRepo, then) {\n return this._runTask(addRemoteTask2(remoteName, remoteRepo, getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.removeRemote = function(remoteName, then) {\n return this._runTask(removeRemoteTask2(remoteName), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.getRemotes = function(verbose, then) {\n return this._runTask(getRemotesTask2(verbose === true), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.remote = function(options, then) {\n return this._runTask(remoteTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.tag = function(options, then) {\n const command = getTrailingOptions2(arguments);\n if (command[0] !== \"tag\") {\n command.unshift(\"tag\");\n }\n return this._runTask(straightThroughStringTask2(command), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.updateServerInfo = function(then) {\n return this._runTask(straightThroughStringTask2([\"update-server-info\"]), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.pushTags = function(remote, then) {\n const task = pushTagsTask2({ remote: filterType2(remote, filterString2) }, getTrailingOptions2(arguments));\n return this._runTask(task, trailingFunctionArgument2(arguments));\n };\n Git2.prototype.rm = function(files) {\n return this._runTask(straightThroughStringTask2([\"rm\", \"-f\", ...asArray2(files)]), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.rmKeepLocal = function(files) {\n return this._runTask(straightThroughStringTask2([\"rm\", \"--cached\", ...asArray2(files)]), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.catFile = function(options, then) {\n return this._catFile(\"utf-8\", arguments);\n };\n Git2.prototype.binaryCatFile = function() {\n return this._catFile(\"buffer\", arguments);\n };\n Git2.prototype._catFile = function(format, args) {\n var handler = trailingFunctionArgument2(args);\n var command = [\"cat-file\"];\n var options = args[0];\n if (typeof options === \"string\") {\n return this._runTask(configurationErrorTask2(\"Git.catFile: options must be supplied as an array of strings\"), handler);\n }\n if (Array.isArray(options)) {\n command.push.apply(command, options);\n }\n const task = format === \"buffer\" ? straightThroughBufferTask2(command) : straightThroughStringTask2(command);\n return this._runTask(task, handler);\n };\n Git2.prototype.diff = function(options, then) {\n const task = filterString2(options) ? configurationErrorTask2(\"git.diff: supplying options as a single string is no longer supported, switch to an array of strings\") : straightThroughStringTask2([\"diff\", ...getTrailingOptions2(arguments)]);\n return this._runTask(task, trailingFunctionArgument2(arguments));\n };\n Git2.prototype.diffSummary = function() {\n return this._runTask(diffSummaryTask2(getTrailingOptions2(arguments, 1)), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.applyPatch = function(patches) {\n const task = !filterStringOrStringArray2(patches) ? configurationErrorTask2(`git.applyPatch requires one or more string patches as the first argument`) : applyPatchTask2(asArray2(patches), getTrailingOptions2([].slice.call(arguments, 1)));\n return this._runTask(task, trailingFunctionArgument2(arguments));\n };\n Git2.prototype.revparse = function() {\n const commands = [\"rev-parse\", ...getTrailingOptions2(arguments, true)];\n return this._runTask(straightThroughStringTask2(commands, true), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.clean = function(mode, options, then) {\n const usingCleanOptionsArray = isCleanOptionsArray2(mode);\n const cleanMode = usingCleanOptionsArray && mode.join(\"\") || filterType2(mode, filterString2) || \"\";\n const customArgs = getTrailingOptions2([].slice.call(arguments, usingCleanOptionsArray ? 1 : 0));\n return this._runTask(cleanWithOptionsTask2(cleanMode, customArgs), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.exec = function(then) {\n const task = {\n commands: [],\n format: \"utf-8\",\n parser() {\n if (typeof then === \"function\") {\n then();\n }\n }\n };\n return this._runTask(task);\n };\n Git2.prototype.clearQueue = function() {\n return this;\n };\n Git2.prototype.checkIgnore = function(pathnames, then) {\n return this._runTask(checkIgnoreTask2(asArray2(filterType2(pathnames, filterStringOrStringArray2, []))), trailingFunctionArgument2(arguments));\n };\n Git2.prototype.checkIsRepo = function(checkType, then) {\n return this._runTask(checkIsRepoTask2(filterType2(checkType, filterString2)), trailingFunctionArgument2(arguments));\n };\n module2.exports = Git2;\n }\n});\n\n// src/lib/git-factory.ts\nvar git_factory_exports = {};\n__export(git_factory_exports, {\n esModuleFactory: () => esModuleFactory,\n gitExportFactory: () => gitExportFactory,\n gitInstanceFactory: () => gitInstanceFactory\n});\nfunction esModuleFactory(defaultExport) {\n return Object.defineProperties(defaultExport, {\n __esModule: { value: true },\n default: { value: defaultExport }\n });\n}\nfunction gitExportFactory(factory) {\n return Object.assign(factory.bind(null), api_exports);\n}\nfunction gitInstanceFactory(baseDir, options) {\n const plugins = new PluginStore();\n const config = createInstanceConfig(baseDir && (typeof baseDir === \"string\" ? { baseDir } : baseDir) || {}, options);\n if (!folderExists(config.baseDir)) {\n throw new GitConstructError(config, `Cannot use simple-git on a directory that does not exist`);\n }\n if (Array.isArray(config.config)) {\n plugins.add(commandConfigPrefixingPlugin(config.config));\n }\n plugins.add(blockUnsafeOperationsPlugin(config.unsafe));\n plugins.add(suffixPathsPlugin());\n plugins.add(completionDetectionPlugin(config.completion));\n config.abort && plugins.add(abortPlugin(config.abort));\n config.progress && plugins.add(progressMonitorPlugin(config.progress));\n config.timeout && plugins.add(timeoutPlugin(config.timeout));\n config.spawnOptions && plugins.add(spawnOptionsPlugin(config.spawnOptions));\n plugins.add(errorDetectionPlugin(errorDetectionHandler(true)));\n config.errors && plugins.add(errorDetectionPlugin(config.errors));\n return new Git(config, plugins);\n}\nvar Git;\nvar init_git_factory = __esm({\n \"src/lib/git-factory.ts\"() {\n init_api();\n init_plugins();\n init_suffix_paths_plugin();\n init_utils();\n Git = require_git();\n }\n});\n\n// src/lib/runners/promise-wrapped.ts\nvar promise_wrapped_exports = {};\n__export(promise_wrapped_exports, {\n gitP: () => gitP\n});\nfunction gitP(...args) {\n let git;\n let chain = Promise.resolve();\n try {\n git = gitInstanceFactory(...args);\n } catch (e) {\n chain = Promise.reject(e);\n }\n function builderReturn() {\n return promiseApi;\n }\n function chainReturn() {\n return chain;\n }\n const promiseApi = [...functionNamesBuilderApi, ...functionNamesPromiseApi].reduce((api, name) => {\n const isAsync = functionNamesPromiseApi.includes(name);\n const valid = isAsync ? asyncWrapper(name, git) : syncWrapper(name, git, api);\n const alternative = isAsync ? chainReturn : builderReturn;\n Object.defineProperty(api, name, {\n enumerable: false,\n configurable: false,\n value: git ? valid : alternative\n });\n return api;\n }, {});\n return promiseApi;\n function asyncWrapper(fn, git2) {\n return function(...args2) {\n if (typeof args2[args2.length] === \"function\") {\n throw new TypeError(\"Promise interface requires that handlers are not supplied inline, trailing function not allowed in call to \" + fn);\n }\n return chain.then(function() {\n return new Promise(function(resolve, reject) {\n const callback = (err, result) => {\n if (err) {\n return reject(toError(err));\n }\n resolve(result);\n };\n args2.push(callback);\n git2[fn].apply(git2, args2);\n });\n });\n };\n }\n function syncWrapper(fn, git2, api) {\n return (...args2) => {\n git2[fn](...args2);\n return api;\n };\n }\n}\nfunction toError(error) {\n if (error instanceof Error) {\n return error;\n }\n if (typeof error === \"string\") {\n return new Error(error);\n }\n return new GitResponseError(error);\n}\nvar functionNamesBuilderApi, functionNamesPromiseApi;\nvar init_promise_wrapped = __esm({\n \"src/lib/runners/promise-wrapped.ts\"() {\n init_git_response_error();\n init_git_factory();\n functionNamesBuilderApi = [\"customBinary\", \"env\", \"outputHandler\", \"silent\"];\n functionNamesPromiseApi = [\n \"add\",\n \"addAnnotatedTag\",\n \"addConfig\",\n \"addRemote\",\n \"addTag\",\n \"applyPatch\",\n \"binaryCatFile\",\n \"branch\",\n \"branchLocal\",\n \"catFile\",\n \"checkIgnore\",\n \"checkIsRepo\",\n \"checkout\",\n \"checkoutBranch\",\n \"checkoutLatestTag\",\n \"checkoutLocalBranch\",\n \"clean\",\n \"clone\",\n \"commit\",\n \"cwd\",\n \"deleteLocalBranch\",\n \"deleteLocalBranches\",\n \"diff\",\n \"diffSummary\",\n \"exec\",\n \"fetch\",\n \"getRemotes\",\n \"init\",\n \"listConfig\",\n \"listRemote\",\n \"log\",\n \"merge\",\n \"mergeFromTo\",\n \"mirror\",\n \"mv\",\n \"pull\",\n \"push\",\n \"pushTags\",\n \"raw\",\n \"rebase\",\n \"remote\",\n \"removeRemote\",\n \"reset\",\n \"revert\",\n \"revparse\",\n \"rm\",\n \"rmKeepLocal\",\n \"show\",\n \"stash\",\n \"stashList\",\n \"status\",\n \"subModule\",\n \"submoduleAdd\",\n \"submoduleInit\",\n \"submoduleUpdate\",\n \"tag\",\n \"tags\",\n \"updateServerInfo\"\n ];\n }\n});\n\n// src/index.js\nvar { gitP: gitP2 } = (init_promise_wrapped(), __toCommonJS(promise_wrapped_exports));\nvar { esModuleFactory: esModuleFactory2, gitInstanceFactory: gitInstanceFactory2, gitExportFactory: gitExportFactory2 } = (init_git_factory(), __toCommonJS(git_factory_exports));\nvar simpleGit = esModuleFactory2(gitExportFactory2(gitInstanceFactory2));\nmodule.exports = Object.assign(simpleGit, { gitP: gitP2, simpleGit });\n//# sourceMappingURL=index.js.map\n","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.URI = global.URI || {})));\n}(this, (function (exports) { 'use strict';\n\nfunction merge() {\n for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {\n sets[_key] = arguments[_key];\n }\n\n if (sets.length > 1) {\n sets[0] = sets[0].slice(0, -1);\n var xl = sets.length - 1;\n for (var x = 1; x < xl; ++x) {\n sets[x] = sets[x].slice(1, -1);\n }\n sets[xl] = sets[xl].slice(1);\n return sets.join('');\n } else {\n return sets[0];\n }\n}\nfunction subexp(str) {\n return \"(?:\" + str + \")\";\n}\nfunction typeOf(o) {\n return o === undefined ? \"undefined\" : o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase();\n}\nfunction toUpperCase(str) {\n return str.toUpperCase();\n}\nfunction toArray(obj) {\n return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];\n}\nfunction assign(target, source) {\n var obj = target;\n if (source) {\n for (var key in source) {\n obj[key] = source[key];\n }\n }\n return obj;\n}\n\nfunction buildExps(isIRI) {\n var ALPHA$$ = \"[A-Za-z]\",\n CR$ = \"[\\\\x0D]\",\n DIGIT$$ = \"[0-9]\",\n DQUOTE$$ = \"[\\\\x22]\",\n HEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),\n //case-insensitive\n LF$$ = \"[\\\\x0A]\",\n SP$$ = \"[\\\\x20]\",\n PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),\n //expanded\n GEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n SUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n UCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",\n //subset, excludes bidi control characters\n IPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",\n //subset\n UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n USERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n DEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n DEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),\n //relaxed parsing rules\n IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n H16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n LS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n IPV6ADDRESS1$ = subexp(subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$),\n // 6( h16 \":\" ) ls32\n IPV6ADDRESS2$ = subexp(\"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$),\n // \"::\" 5( h16 \":\" ) ls32\n IPV6ADDRESS3$ = subexp(subexp(H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$),\n //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$),\n //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$),\n //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$),\n //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$),\n //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$),\n //[ *5( h16 \":\" ) h16 ] \"::\" h16\n IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"),\n //[ *6( h16 \":\" ) h16 ] \"::\"\n IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n ZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),\n //RFC 6874\n IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),\n //RFC 6874\n IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),\n //RFC 6874, with relaxed parsing rules\n IPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n IP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),\n //RFC 6874\n REG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n HOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n PORT$ = subexp(DIGIT$$ + \"*\"),\n AUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n PCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n SEGMENT$ = subexp(PCHAR$ + \"*\"),\n SEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n PATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n PATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),\n //simplified\n PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),\n //simplified\n PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),\n //simplified\n PATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n PATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n QUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n FRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n HIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n RELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n RELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n URI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n ABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n GENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n RELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n ABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n SAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n AUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\";\n return {\n NOT_SCHEME: new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n NOT_USERINFO: new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_HOST: new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH: new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_PATH_NOSCHEME: new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n NOT_QUERY: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n NOT_FRAGMENT: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n ESCAPE: new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n UNRESERVED: new RegExp(UNRESERVED$$, \"g\"),\n OTHER_CHARS: new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n PCT_ENCODED: new RegExp(PCT_ENCODED$, \"g\"),\n IPV4ADDRESS: new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n IPV6ADDRESS: new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n };\n}\nvar URI_PROTOCOL = buildExps(false);\n\nvar IRI_PROTOCOL = buildExps(true);\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/** Highest positive signed 32-bit float value */\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nvar regexPunycode = /^xn--/;\nvar regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nvar errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error$1(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tvar result = [];\n\tvar length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tvar parts = string.split('@');\n\tvar result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tvar labels = string.split('.');\n\tvar encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tvar output = [];\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t// Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nvar ucs2encode = function ucs2encode(array) {\n\treturn String.fromCodePoint.apply(String, toConsumableArray(array));\n};\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nvar basicToDigit = function basicToDigit(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nvar digitToBasic = function digitToBasic(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nvar adapt = function adapt(delta, numPoints, firstTime) {\n\tvar k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nvar decode = function decode(input) {\n\t// Don't use UCS-2.\n\tvar output = [];\n\tvar inputLength = input.length;\n\tvar i = 0;\n\tvar n = initialN;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tvar basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror$1('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tvar oldi = i;\n\t\tfor (var w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror$1('invalid-input');\n\t\t\t}\n\n\t\t\tvar digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tvar baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror$1('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\t\t}\n\n\t\tvar out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\t}\n\n\treturn String.fromCodePoint.apply(String, output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nvar encode = function encode(input) {\n\tvar output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tvar inputLength = input.length;\n\n\t// Initialize the state.\n\tvar n = initialN;\n\tvar delta = 0;\n\tvar bias = initialBias;\n\n\t// Handle the basic code points.\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _currentValue2 = _step.value;\n\n\t\t\tif (_currentValue2 < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(_currentValue2));\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\tvar basicLength = output.length;\n\tvar handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tvar m = maxInt;\n\t\tvar _iteratorNormalCompletion2 = true;\n\t\tvar _didIteratorError2 = false;\n\t\tvar _iteratorError2 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\tvar currentValue = _step2.value;\n\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow.\n\t\t} catch (err) {\n\t\t\t_didIteratorError2 = true;\n\t\t\t_iteratorError2 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t_iterator2.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror$1('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tvar _iteratorNormalCompletion3 = true;\n\t\tvar _didIteratorError3 = false;\n\t\tvar _iteratorError3 = undefined;\n\n\t\ttry {\n\t\t\tfor (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\tvar _currentValue = _step3.value;\n\n\t\t\t\tif (_currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror$1('overflow');\n\t\t\t\t}\n\t\t\t\tif (_currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\t\tvar q = delta;\n\t\t\t\t\tfor (var k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tvar t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar qMinusT = q - t;\n\t\t\t\t\t\tvar baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError3 = true;\n\t\t\t_iteratorError3 = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t_iterator3.return();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nvar toUnicode = function toUnicode(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nvar toASCII = function toASCII(input) {\n\treturn mapDomain(input, function (string) {\n\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nvar punycode = {\n\t/**\n * A string representing the current Punycode.js version number.\n * @memberOf punycode\n * @type String\n */\n\t'version': '2.1.0',\n\t/**\n * An object of methods to convert from JavaScript's internal character\n * representation (UCS-2) to Unicode code points, and back.\n * @see \n * @memberOf punycode\n * @type Object\n */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\n/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\nvar SCHEMES = {};\nfunction pctEncChar(chr) {\n var c = chr.charCodeAt(0);\n var e = void 0;\n if (c < 16) e = \"%0\" + c.toString(16).toUpperCase();else if (c < 128) e = \"%\" + c.toString(16).toUpperCase();else if (c < 2048) e = \"%\" + (c >> 6 | 192).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();else e = \"%\" + (c >> 12 | 224).toString(16).toUpperCase() + \"%\" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + \"%\" + (c & 63 | 128).toString(16).toUpperCase();\n return e;\n}\nfunction pctDecChars(str) {\n var newStr = \"\";\n var i = 0;\n var il = str.length;\n while (i < il) {\n var c = parseInt(str.substr(i + 1, 2), 16);\n if (c < 128) {\n newStr += String.fromCharCode(c);\n i += 3;\n } else if (c >= 194 && c < 224) {\n if (il - i >= 6) {\n var c2 = parseInt(str.substr(i + 4, 2), 16);\n newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);\n } else {\n newStr += str.substr(i, 6);\n }\n i += 6;\n } else if (c >= 224) {\n if (il - i >= 9) {\n var _c = parseInt(str.substr(i + 4, 2), 16);\n var c3 = parseInt(str.substr(i + 7, 2), 16);\n newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);\n } else {\n newStr += str.substr(i, 9);\n }\n i += 9;\n } else {\n newStr += str.substr(i, 3);\n i += 3;\n }\n }\n return newStr;\n}\nfunction _normalizeComponentEncoding(components, protocol) {\n function decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(protocol.UNRESERVED) ? str : decStr;\n }\n if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n return components;\n}\n\nfunction _stripLeadingZeros(str) {\n return str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\nfunction _normalizeIPv4(host, protocol) {\n var matches = host.match(protocol.IPV4ADDRESS) || [];\n\n var _matches = slicedToArray(matches, 2),\n address = _matches[1];\n\n if (address) {\n return address.split(\".\").map(_stripLeadingZeros).join(\".\");\n } else {\n return host;\n }\n}\nfunction _normalizeIPv6(host, protocol) {\n var matches = host.match(protocol.IPV6ADDRESS) || [];\n\n var _matches2 = slicedToArray(matches, 3),\n address = _matches2[1],\n zone = _matches2[2];\n\n if (address) {\n var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(),\n _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2),\n last = _address$toLowerCase$2[0],\n first = _address$toLowerCase$2[1];\n\n var firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n var lastFields = last.split(\":\").map(_stripLeadingZeros);\n var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n var fieldCount = isLastFieldIPv4Address ? 7 : 8;\n var lastFieldsStart = lastFields.length - fieldCount;\n var fields = Array(fieldCount);\n for (var x = 0; x < fieldCount; ++x) {\n fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n }\n if (isLastFieldIPv4Address) {\n fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n }\n var allZeroFields = fields.reduce(function (acc, field, index) {\n if (!field || field === \"0\") {\n var lastLongest = acc[acc.length - 1];\n if (lastLongest && lastLongest.index + lastLongest.length === index) {\n lastLongest.length++;\n } else {\n acc.push({ index: index, length: 1 });\n }\n }\n return acc;\n }, []);\n var longestZeroFields = allZeroFields.sort(function (a, b) {\n return b.length - a.length;\n })[0];\n var newHost = void 0;\n if (longestZeroFields && longestZeroFields.length > 1) {\n var newFirst = fields.slice(0, longestZeroFields.index);\n var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n newHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n } else {\n newHost = fields.join(\":\");\n }\n if (zone) {\n newHost += \"%\" + zone;\n }\n return newHost;\n } else {\n return host;\n }\n}\nvar URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nvar NO_MATCH_IS_UNDEFINED = \"\".match(/(){0}/)[1] === undefined;\nfunction parse(uriString) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var components = {};\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n if (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n var matches = uriString.match(URI_PARSE);\n if (matches) {\n if (NO_MATCH_IS_UNDEFINED) {\n //store each component\n components.scheme = matches[1];\n components.userinfo = matches[3];\n components.host = matches[4];\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = matches[7];\n components.fragment = matches[8];\n //fix port number\n if (isNaN(components.port)) {\n components.port = matches[5];\n }\n } else {\n //IE FIX for improper RegExp matching\n //store each component\n components.scheme = matches[1] || undefined;\n components.userinfo = uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined;\n components.host = uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined;\n components.port = parseInt(matches[5], 10);\n components.path = matches[6] || \"\";\n components.query = uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined;\n components.fragment = uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined;\n //fix port number\n if (isNaN(components.port)) {\n components.port = uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined;\n }\n }\n if (components.host) {\n //normalize IP hosts\n components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n }\n //determine reference type\n if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n components.reference = \"same-document\";\n } else if (components.scheme === undefined) {\n components.reference = \"relative\";\n } else if (components.fragment === undefined) {\n components.reference = \"absolute\";\n } else {\n components.reference = \"uri\";\n }\n //check for reference errors\n if (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n components.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n }\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n //if host component is a domain name\n if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {\n //convert Unicode IDN -> ASCII IDN\n try {\n components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n }\n }\n //convert IRI -> URI\n _normalizeComponentEncoding(components, URI_PROTOCOL);\n } else {\n //normalize encodings\n _normalizeComponentEncoding(components, protocol);\n }\n //perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(components, options);\n }\n } else {\n components.error = components.error || \"URI can not be parsed.\";\n }\n return components;\n}\n\nfunction _recomposeAuthority(components, options) {\n var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo);\n uriTokens.push(\"@\");\n }\n if (components.host !== undefined) {\n //normalize IP hosts, add brackets and escape zone separator for IPv6\n uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) {\n return \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\";\n }));\n }\n if (typeof components.port === \"number\" || typeof components.port === \"string\") {\n uriTokens.push(\":\");\n uriTokens.push(String(components.port));\n }\n return uriTokens.length ? uriTokens.join(\"\") : undefined;\n}\n\nvar RDS1 = /^\\.\\.?\\//;\nvar RDS2 = /^\\/\\.(\\/|$)/;\nvar RDS3 = /^\\/\\.\\.(\\/|$)/;\nvar RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\nfunction removeDotSegments(input) {\n var output = [];\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, \"\");\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, \"/\");\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, \"/\");\n output.pop();\n } else if (input === \".\" || input === \"..\") {\n input = \"\";\n } else {\n var im = input.match(RDS5);\n if (im) {\n var s = im[0];\n input = input.slice(s.length);\n output.push(s);\n } else {\n throw new Error(\"Unexpected dot segment condition\");\n }\n }\n }\n return output.join(\"\");\n}\n\nfunction serialize(components) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;\n var uriTokens = [];\n //find scheme handler\n var schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n //perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n if (components.host) {\n //if host component is an IPv6 address\n if (protocol.IPV6ADDRESS.test(components.host)) {}\n //TODO: normalize IPv6 address as per RFC 5952\n\n //if host component is a domain name\n else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {\n //convert IDN via punycode\n try {\n components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);\n } catch (e) {\n components.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n }\n }\n //normalize encoding\n _normalizeComponentEncoding(components, protocol);\n if (options.reference !== \"suffix\" && components.scheme) {\n uriTokens.push(components.scheme);\n uriTokens.push(\":\");\n }\n var authority = _recomposeAuthority(components, options);\n if (authority !== undefined) {\n if (options.reference !== \"suffix\") {\n uriTokens.push(\"//\");\n }\n uriTokens.push(authority);\n if (components.path && components.path.charAt(0) !== \"/\") {\n uriTokens.push(\"/\");\n }\n }\n if (components.path !== undefined) {\n var s = components.path;\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s);\n }\n if (authority === undefined) {\n s = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n }\n uriTokens.push(s);\n }\n if (components.query !== undefined) {\n uriTokens.push(\"?\");\n uriTokens.push(components.query);\n }\n if (components.fragment !== undefined) {\n uriTokens.push(\"#\");\n uriTokens.push(components.fragment);\n }\n return uriTokens.join(\"\"); //merge tokens into a string\n}\n\nfunction resolveComponents(base, relative) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var skipNormalization = arguments[3];\n\n var target = {};\n if (!skipNormalization) {\n base = parse(serialize(base, options), options); //normalize base components\n relative = parse(serialize(relative, options), options); //normalize relative components\n }\n options = options || {};\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme;\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n //target.authority = relative.authority;\n target.userinfo = relative.userinfo;\n target.host = relative.host;\n target.port = relative.port;\n target.path = removeDotSegments(relative.path || \"\");\n target.query = relative.query;\n } else {\n if (!relative.path) {\n target.path = base.path;\n if (relative.query !== undefined) {\n target.query = relative.query;\n } else {\n target.query = base.query;\n }\n } else {\n if (relative.path.charAt(0) === \"/\") {\n target.path = removeDotSegments(relative.path);\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = \"/\" + relative.path;\n } else if (!base.path) {\n target.path = relative.path;\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n }\n target.path = removeDotSegments(target.path);\n }\n target.query = relative.query;\n }\n //target.authority = base.authority;\n target.userinfo = base.userinfo;\n target.host = base.host;\n target.port = base.port;\n }\n target.scheme = base.scheme;\n }\n target.fragment = relative.fragment;\n return target;\n}\n\nfunction resolve(baseURI, relativeURI, options) {\n var schemelessOptions = assign({ scheme: 'null' }, options);\n return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n}\n\nfunction normalize(uri, options) {\n if (typeof uri === \"string\") {\n uri = serialize(parse(uri, options), options);\n } else if (typeOf(uri) === \"object\") {\n uri = parse(serialize(uri, options), options);\n }\n return uri;\n}\n\nfunction equal(uriA, uriB, options) {\n if (typeof uriA === \"string\") {\n uriA = serialize(parse(uriA, options), options);\n } else if (typeOf(uriA) === \"object\") {\n uriA = serialize(uriA, options);\n }\n if (typeof uriB === \"string\") {\n uriB = serialize(parse(uriB, options), options);\n } else if (typeOf(uriB) === \"object\") {\n uriB = serialize(uriB, options);\n }\n return uriA === uriB;\n}\n\nfunction escapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);\n}\n\nfunction unescapeComponent(str, options) {\n return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);\n}\n\nvar handler = {\n scheme: \"http\",\n domainHost: true,\n parse: function parse(components, options) {\n //report missing host\n if (!components.host) {\n components.error = components.error || \"HTTP URIs must have a host.\";\n }\n return components;\n },\n serialize: function serialize(components, options) {\n var secure = String(components.scheme).toLowerCase() === \"https\";\n //normalize the default port\n if (components.port === (secure ? 443 : 80) || components.port === \"\") {\n components.port = undefined;\n }\n //normalize the empty path\n if (!components.path) {\n components.path = \"/\";\n }\n //NOTE: We do not parse query strings for HTTP URIs\n //as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n //and not the HTTP spec.\n return components;\n }\n};\n\nvar handler$1 = {\n scheme: \"https\",\n domainHost: handler.domainHost,\n parse: handler.parse,\n serialize: handler.serialize\n};\n\nfunction isSecure(wsComponents) {\n return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n//RFC 6455\nvar handler$2 = {\n scheme: \"ws\",\n domainHost: true,\n parse: function parse(components, options) {\n var wsComponents = components;\n //indicate if the secure flag is set\n wsComponents.secure = isSecure(wsComponents);\n //construct resouce name\n wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n wsComponents.path = undefined;\n wsComponents.query = undefined;\n return wsComponents;\n },\n serialize: function serialize(wsComponents, options) {\n //normalize the default port\n if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n wsComponents.port = undefined;\n }\n //ensure scheme matches secure flag\n if (typeof wsComponents.secure === 'boolean') {\n wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws';\n wsComponents.secure = undefined;\n }\n //reconstruct path from resource name\n if (wsComponents.resourceName) {\n var _wsComponents$resourc = wsComponents.resourceName.split('?'),\n _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2),\n path = _wsComponents$resourc2[0],\n query = _wsComponents$resourc2[1];\n\n wsComponents.path = path && path !== '/' ? path : undefined;\n wsComponents.query = query;\n wsComponents.resourceName = undefined;\n }\n //forbid fragment component\n wsComponents.fragment = undefined;\n return wsComponents;\n }\n};\n\nvar handler$3 = {\n scheme: \"wss\",\n domainHost: handler$2.domainHost,\n parse: handler$2.parse,\n serialize: handler$2.serialize\n};\n\nvar O = {};\nvar isIRI = true;\n//RFC 3986\nvar UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nvar HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nvar PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nvar ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nvar QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nvar VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nvar SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nvar UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nvar PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nvar NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nvar NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nvar NOT_HFVALUE = NOT_HFNAME;\nfunction decodeUnreserved(str) {\n var decStr = pctDecChars(str);\n return !decStr.match(UNRESERVED) ? str : decStr;\n}\nvar handler$4 = {\n scheme: \"mailto\",\n parse: function parse$$1(components, options) {\n var mailtoComponents = components;\n var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(\",\") : [];\n mailtoComponents.path = undefined;\n if (mailtoComponents.query) {\n var unknownHeaders = false;\n var headers = {};\n var hfields = mailtoComponents.query.split(\"&\");\n for (var x = 0, xl = hfields.length; x < xl; ++x) {\n var hfield = hfields[x].split(\"=\");\n switch (hfield[0]) {\n case \"to\":\n var toAddrs = hfield[1].split(\",\");\n for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {\n to.push(toAddrs[_x]);\n }\n break;\n case \"subject\":\n mailtoComponents.subject = unescapeComponent(hfield[1], options);\n break;\n case \"body\":\n mailtoComponents.body = unescapeComponent(hfield[1], options);\n break;\n default:\n unknownHeaders = true;\n headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n break;\n }\n }\n if (unknownHeaders) mailtoComponents.headers = headers;\n }\n mailtoComponents.query = undefined;\n for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {\n var addr = to[_x2].split(\"@\");\n addr[0] = unescapeComponent(addr[0]);\n if (!options.unicodeSupport) {\n //convert Unicode IDN -> ASCII IDN\n try {\n addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n } catch (e) {\n mailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n }\n } else {\n addr[1] = unescapeComponent(addr[1], options).toLowerCase();\n }\n to[_x2] = addr.join(\"@\");\n }\n return mailtoComponents;\n },\n serialize: function serialize$$1(mailtoComponents, options) {\n var components = mailtoComponents;\n var to = toArray(mailtoComponents.to);\n if (to) {\n for (var x = 0, xl = to.length; x < xl; ++x) {\n var toAddr = String(to[x]);\n var atIdx = toAddr.lastIndexOf(\"@\");\n var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n var domain = toAddr.slice(atIdx + 1);\n //convert IDN via punycode\n try {\n domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);\n } catch (e) {\n components.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n }\n to[x] = localPart + \"@\" + domain;\n }\n components.path = to.join(\",\");\n }\n var headers = mailtoComponents.headers = mailtoComponents.headers || {};\n if (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n if (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n var fields = [];\n for (var name in headers) {\n if (headers[name] !== O[name]) {\n fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + \"=\" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));\n }\n }\n if (fields.length) {\n components.query = fields.join(\"&\");\n }\n return components;\n }\n};\n\nvar URN_PARSE = /^([^\\:]+)\\:(.*)/;\n//RFC 2141\nvar handler$5 = {\n scheme: \"urn\",\n parse: function parse$$1(components, options) {\n var matches = components.path && components.path.match(URN_PARSE);\n var urnComponents = components;\n if (matches) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = matches[1].toLowerCase();\n var nss = matches[2];\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n urnComponents.nid = nid;\n urnComponents.nss = nss;\n urnComponents.path = undefined;\n if (schemeHandler) {\n urnComponents = schemeHandler.parse(urnComponents, options);\n }\n } else {\n urnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n }\n return urnComponents;\n },\n serialize: function serialize$$1(urnComponents, options) {\n var scheme = options.scheme || urnComponents.scheme || \"urn\";\n var nid = urnComponents.nid;\n var urnScheme = scheme + \":\" + (options.nid || nid);\n var schemeHandler = SCHEMES[urnScheme];\n if (schemeHandler) {\n urnComponents = schemeHandler.serialize(urnComponents, options);\n }\n var uriComponents = urnComponents;\n var nss = urnComponents.nss;\n uriComponents.path = (nid || options.nid) + \":\" + nss;\n return uriComponents;\n }\n};\n\nvar UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\n//RFC 4122\nvar handler$6 = {\n scheme: \"urn:uuid\",\n parse: function parse(urnComponents, options) {\n var uuidComponents = urnComponents;\n uuidComponents.uuid = uuidComponents.nss;\n uuidComponents.nss = undefined;\n if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n uuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n }\n return uuidComponents;\n },\n serialize: function serialize(uuidComponents, options) {\n var urnComponents = uuidComponents;\n //normalize UUID\n urnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n return urnComponents;\n }\n};\n\nSCHEMES[handler.scheme] = handler;\nSCHEMES[handler$1.scheme] = handler$1;\nSCHEMES[handler$2.scheme] = handler$2;\nSCHEMES[handler$3.scheme] = handler$3;\nSCHEMES[handler$4.scheme] = handler$4;\nSCHEMES[handler$5.scheme] = handler$5;\nSCHEMES[handler$6.scheme] = handler$6;\n\nexports.SCHEMES = SCHEMES;\nexports.pctEncChar = pctEncChar;\nexports.pctDecChars = pctDecChars;\nexports.parse = parse;\nexports.removeDotSegments = removeDotSegments;\nexports.serialize = serialize;\nexports.resolveComponents = resolveComponents;\nexports.resolve = resolve;\nexports.normalize = normalize;\nexports.equal = equal;\nexports.escapeComponent = escapeComponent;\nexports.unescapeComponent = unescapeComponent;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=uri.all.js.map\n","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/327.index.js b/dist/327.index.js new file mode 100644 index 0000000..dc260f0 --- /dev/null +++ b/dist/327.index.js @@ -0,0 +1,16370 @@ +exports.id = 327; +exports.ids = [327]; +exports.modules = { + +/***/ 38626: +/***/ ((module) => { + +"use strict"; + +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + + +/***/ }), + +/***/ 72882: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var balanced = __webpack_require__(38626); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m) return [str]; + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + if (/\$$/.test(m.pre)) { + for (var k = 0; k < post.length; k++) { + var expansion = pre+ '{' + m.body + '}' + post[k]; + expansions.push(expansion); + } + } else { + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = []; + + for (var j = 0; j < n.length; j++) { + N.push.apply(N, expand(n[j], false)); + } + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + } + + return expansions; +} + + + +/***/ }), + +/***/ 21482: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _handlebarsRuntime = __webpack_require__(68457); + +var _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime); + +// Compiler imports + +var _handlebarsCompilerAst = __webpack_require__(77042); + +var _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst); + +var _handlebarsCompilerBase = __webpack_require__(79236); + +var _handlebarsCompilerCompiler = __webpack_require__(74627); + +var _handlebarsCompilerJavascriptCompiler = __webpack_require__(564); + +var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler); + +var _handlebarsCompilerVisitor = __webpack_require__(79353); + +var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor); + +var _handlebarsNoConflict = __webpack_require__(74748); + +var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); + +var _create = _handlebarsRuntime2['default'].create; +function create() { + var hb = _create(); + + hb.compile = function (input, options) { + return _handlebarsCompilerCompiler.compile(input, options, hb); + }; + hb.precompile = function (input, options) { + return _handlebarsCompilerCompiler.precompile(input, options, hb); + }; + + hb.AST = _handlebarsCompilerAst2['default']; + hb.Compiler = _handlebarsCompilerCompiler.Compiler; + hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default']; + hb.Parser = _handlebarsCompilerBase.parser; + hb.parse = _handlebarsCompilerBase.parse; + hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing; + + return hb; +} + +var inst = create(); +inst.create = create; + +_handlebarsNoConflict2['default'](inst); + +inst.Visitor = _handlebarsCompilerVisitor2['default']; + +inst['default'] = inst; + +exports["default"] = inst; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUNBQW9CLHNCQUFzQjs7Ozs7O3FDQUcxQiwyQkFBMkI7Ozs7c0NBS3BDLDRCQUE0Qjs7MENBQ1csZ0NBQWdDOztvREFDL0MsMkNBQTJDOzs7O3lDQUN0RCwrQkFBK0I7Ozs7b0NBRTVCLDBCQUEwQjs7OztBQUVqRCxJQUFJLE9BQU8sR0FBRywrQkFBUSxNQUFNLENBQUM7QUFDN0IsU0FBUyxNQUFNLEdBQUc7QUFDaEIsTUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7O0FBRW5CLElBQUUsQ0FBQyxPQUFPLEdBQUcsVUFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLFdBQU8sb0NBQVEsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztHQUNwQyxDQUFDO0FBQ0YsSUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFTLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDdkMsV0FBTyx1Q0FBVyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0dBQ3ZDLENBQUM7O0FBRUYsSUFBRSxDQUFDLEdBQUcscUNBQU0sQ0FBQztBQUNiLElBQUUsQ0FBQyxRQUFRLHVDQUFXLENBQUM7QUFDdkIsSUFBRSxDQUFDLGtCQUFrQixvREFBcUIsQ0FBQztBQUMzQyxJQUFFLENBQUMsTUFBTSxpQ0FBUyxDQUFDO0FBQ25CLElBQUUsQ0FBQyxLQUFLLGdDQUFRLENBQUM7QUFDakIsSUFBRSxDQUFDLHNCQUFzQixpREFBeUIsQ0FBQzs7QUFFbkQsU0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFFRCxJQUFJLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7QUFFckIsa0NBQVcsSUFBSSxDQUFDLENBQUM7O0FBRWpCLElBQUksQ0FBQyxPQUFPLHlDQUFVLENBQUM7O0FBRXZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7O3FCQUVSLElBQUkiLCJmaWxlIjoiaGFuZGxlYmFycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW50aW1lIGZyb20gJy4vaGFuZGxlYmFycy5ydW50aW1lJztcblxuLy8gQ29tcGlsZXIgaW1wb3J0c1xuaW1wb3J0IEFTVCBmcm9tICcuL2hhbmRsZWJhcnMvY29tcGlsZXIvYXN0JztcbmltcG9ydCB7XG4gIHBhcnNlciBhcyBQYXJzZXIsXG4gIHBhcnNlLFxuICBwYXJzZVdpdGhvdXRQcm9jZXNzaW5nXG59IGZyb20gJy4vaGFuZGxlYmFycy9jb21waWxlci9iYXNlJztcbmltcG9ydCB7IENvbXBpbGVyLCBjb21waWxlLCBwcmVjb21waWxlIH0gZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyJztcbmltcG9ydCBKYXZhU2NyaXB0Q29tcGlsZXIgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXInO1xuaW1wb3J0IFZpc2l0b3IgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3InO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG5sZXQgX2NyZWF0ZSA9IHJ1bnRpbWUuY3JlYXRlO1xuZnVuY3Rpb24gY3JlYXRlKCkge1xuICBsZXQgaGIgPSBfY3JlYXRlKCk7XG5cbiAgaGIuY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcbiAgaGIucHJlY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHByZWNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcblxuICBoYi5BU1QgPSBBU1Q7XG4gIGhiLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gIGhiLkphdmFTY3JpcHRDb21waWxlciA9IEphdmFTY3JpcHRDb21waWxlcjtcbiAgaGIuUGFyc2VyID0gUGFyc2VyO1xuICBoYi5wYXJzZSA9IHBhcnNlO1xuICBoYi5wYXJzZVdpdGhvdXRQcm9jZXNzaW5nID0gcGFyc2VXaXRob3V0UHJvY2Vzc2luZztcblxuICByZXR1cm4gaGI7XG59XG5cbmxldCBpbnN0ID0gY3JlYXRlKCk7XG5pbnN0LmNyZWF0ZSA9IGNyZWF0ZTtcblxubm9Db25mbGljdChpbnN0KTtcblxuaW5zdC5WaXNpdG9yID0gVmlzaXRvcjtcblxuaW5zdFsnZGVmYXVsdCddID0gaW5zdDtcblxuZXhwb3J0IGRlZmF1bHQgaW5zdDtcbiJdfQ== + + +/***/ }), + +/***/ 68457: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +// istanbul ignore next + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _handlebarsBase = __webpack_require__(29559); + +var base = _interopRequireWildcard(_handlebarsBase); + +// Each of these augment the Handlebars object. No need to setup here. +// (This is done to easily share code between commonjs and browse envs) + +var _handlebarsSafeString = __webpack_require__(54850); + +var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString); + +var _handlebarsException = __webpack_require__(54136); + +var _handlebarsException2 = _interopRequireDefault(_handlebarsException); + +var _handlebarsUtils = __webpack_require__(69446); + +var Utils = _interopRequireWildcard(_handlebarsUtils); + +var _handlebarsRuntime = __webpack_require__(70102); + +var runtime = _interopRequireWildcard(_handlebarsRuntime); + +var _handlebarsNoConflict = __webpack_require__(74748); + +var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict); + +// For compatibility and usage outside of module systems, make the Handlebars object a namespace +function create() { + var hb = new base.HandlebarsEnvironment(); + + Utils.extend(hb, base); + hb.SafeString = _handlebarsSafeString2['default']; + hb.Exception = _handlebarsException2['default']; + hb.Utils = Utils; + hb.escapeExpression = Utils.escapeExpression; + + hb.VM = runtime; + hb.template = function (spec) { + return runtime.template(spec, hb); + }; + + return hb; +} + +var inst = create(); +inst.create = create; + +_handlebarsNoConflict2['default'](inst); + +inst['default'] = inst; + +exports["default"] = inst; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0= + + +/***/ }), + +/***/ 29559: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.HandlebarsEnvironment = HandlebarsEnvironment; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _utils = __webpack_require__(69446); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +var _helpers = __webpack_require__(3227); + +var _decorators = __webpack_require__(94619); + +var _logger = __webpack_require__(31930); + +var _logger2 = _interopRequireDefault(_logger); + +var _internalProtoAccess = __webpack_require__(66336); + +var VERSION = '4.7.8'; +exports.VERSION = VERSION; +var COMPILER_REVISION = 8; +exports.COMPILER_REVISION = COMPILER_REVISION; +var LAST_COMPATIBLE_COMPILER_REVISION = 7; + +exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION; +var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '== 1.x.x', + 5: '== 2.0.0-alpha.x', + 6: '>= 2.0.0-beta.1', + 7: '>= 4.0.0 <4.3.0', + 8: '>= 4.3.0' +}; + +exports.REVISION_CHANGES = REVISION_CHANGES; +var objectType = '[object Object]'; + +function HandlebarsEnvironment(helpers, partials, decorators) { + this.helpers = helpers || {}; + this.partials = partials || {}; + this.decorators = decorators || {}; + + _helpers.registerDefaultHelpers(this); + _decorators.registerDefaultDecorators(this); +} + +HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: _logger2['default'], + log: _logger2['default'].log, + + registerHelper: function registerHelper(name, fn) { + if (_utils.toString.call(name) === objectType) { + if (fn) { + throw new _exception2['default']('Arg not supported with multiple helpers'); + } + _utils.extend(this.helpers, name); + } else { + this.helpers[name] = fn; + } + }, + unregisterHelper: function unregisterHelper(name) { + delete this.helpers[name]; + }, + + registerPartial: function registerPartial(name, partial) { + if (_utils.toString.call(name) === objectType) { + _utils.extend(this.partials, name); + } else { + if (typeof partial === 'undefined') { + throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined'); + } + this.partials[name] = partial; + } + }, + unregisterPartial: function unregisterPartial(name) { + delete this.partials[name]; + }, + + registerDecorator: function registerDecorator(name, fn) { + if (_utils.toString.call(name) === objectType) { + if (fn) { + throw new _exception2['default']('Arg not supported with multiple decorators'); + } + _utils.extend(this.decorators, name); + } else { + this.decorators[name] = fn; + } + }, + unregisterDecorator: function unregisterDecorator(name) { + delete this.decorators[name]; + }, + /** + * Reset the memory of illegal property accesses that have already been logged. + * @deprecated should only be used in handlebars test-cases + */ + resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() { + _internalProtoAccess.resetLoggedProperties(); + } +}; + +var log = _logger2['default'].log; + +exports.log = log; +exports.createFrame = _utils.createFrame; +exports.logger = _logger2['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy44JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19 + + +/***/ }), + +/***/ 77042: +/***/ ((module, exports) => { + +"use strict"; + + +exports.__esModule = true; +var AST = { + // Public API used to evaluate derived attributes regarding AST nodes + helpers: { + // a mustache is definitely a helper if: + // * it is an eligible helper, and + // * it has at least one parameter or hash segment + helperExpression: function helperExpression(node) { + return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash); + }, + + scopedId: function scopedId(path) { + return (/^\.|this\b/.test(path.original) + ); + }, + + // an ID is simple if it only has one part, and that part is not + // `..` or `this`. + simpleId: function simpleId(path) { + return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth; + } + } +}; + +// Must be exported as an object rather than the root of the module as the jison lexer +// must modify the object to operate properly. +exports["default"] = AST; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2FzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLEdBQUcsR0FBRzs7QUFFUixTQUFPLEVBQUU7Ozs7QUFJUCxvQkFBZ0IsRUFBRSwwQkFBUyxJQUFJLEVBQUU7QUFDL0IsYUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFDNUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixJQUNqQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFBLElBQzlCLENBQUMsRUFBRSxBQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLElBQUksQ0FBQSxBQUFDLEFBQUMsQ0FDdkQ7S0FDSDs7QUFFRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQU8sYUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQUM7S0FDekM7Ozs7QUFJRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNyRTtLQUNIO0dBQ0Y7Q0FDRixDQUFDOzs7O3FCQUlhLEdBQUciLCJmaWxlIjoiYXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibGV0IEFTVCA9IHtcbiAgLy8gUHVibGljIEFQSSB1c2VkIHRvIGV2YWx1YXRlIGRlcml2ZWQgYXR0cmlidXRlcyByZWdhcmRpbmcgQVNUIG5vZGVzXG4gIGhlbHBlcnM6IHtcbiAgICAvLyBhIG11c3RhY2hlIGlzIGRlZmluaXRlbHkgYSBoZWxwZXIgaWY6XG4gICAgLy8gKiBpdCBpcyBhbiBlbGlnaWJsZSBoZWxwZXIsIGFuZFxuICAgIC8vICogaXQgaGFzIGF0IGxlYXN0IG9uZSBwYXJhbWV0ZXIgb3IgaGFzaCBzZWdtZW50XG4gICAgaGVscGVyRXhwcmVzc2lvbjogZnVuY3Rpb24obm9kZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9kZS50eXBlID09PSAnU3ViRXhwcmVzc2lvbicgfHxcbiAgICAgICAgKChub2RlLnR5cGUgPT09ICdNdXN0YWNoZVN0YXRlbWVudCcgfHxcbiAgICAgICAgICBub2RlLnR5cGUgPT09ICdCbG9ja1N0YXRlbWVudCcpICYmXG4gICAgICAgICAgISEoKG5vZGUucGFyYW1zICYmIG5vZGUucGFyYW1zLmxlbmd0aCkgfHwgbm9kZS5oYXNoKSlcbiAgICAgICk7XG4gICAgfSxcblxuICAgIHNjb3BlZElkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gL15cXC58dGhpc1xcYi8udGVzdChwYXRoLm9yaWdpbmFsKTtcbiAgICB9LFxuXG4gICAgLy8gYW4gSUQgaXMgc2ltcGxlIGlmIGl0IG9ubHkgaGFzIG9uZSBwYXJ0LCBhbmQgdGhhdCBwYXJ0IGlzIG5vdFxuICAgIC8vIGAuLmAgb3IgYHRoaXNgLlxuICAgIHNpbXBsZUlkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwYXRoLnBhcnRzLmxlbmd0aCA9PT0gMSAmJiAhQVNULmhlbHBlcnMuc2NvcGVkSWQocGF0aCkgJiYgIXBhdGguZGVwdGhcbiAgICAgICk7XG4gICAgfVxuICB9XG59O1xuXG4vLyBNdXN0IGJlIGV4cG9ydGVkIGFzIGFuIG9iamVjdCByYXRoZXIgdGhhbiB0aGUgcm9vdCBvZiB0aGUgbW9kdWxlIGFzIHRoZSBqaXNvbiBsZXhlclxuLy8gbXVzdCBtb2RpZnkgdGhlIG9iamVjdCB0byBvcGVyYXRlIHByb3Blcmx5LlxuZXhwb3J0IGRlZmF1bHQgQVNUO1xuIl19 + + +/***/ }), + +/***/ 79236: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.parseWithoutProcessing = parseWithoutProcessing; +exports.parse = parse; +// istanbul ignore next + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _parser = __webpack_require__(43091); + +var _parser2 = _interopRequireDefault(_parser); + +var _whitespaceControl = __webpack_require__(7268); + +var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl); + +var _helpers = __webpack_require__(44490); + +var Helpers = _interopRequireWildcard(_helpers); + +var _utils = __webpack_require__(69446); + +exports.parser = _parser2['default']; + +var yy = {}; +_utils.extend(yy, Helpers); + +function parseWithoutProcessing(input, options) { + // Just return if an already-compiled AST was passed in. + if (input.type === 'Program') { + return input; + } + + _parser2['default'].yy = yy; + + // Altering the shared object here, but this is ok as parser is a sync operation + yy.locInfo = function (locInfo) { + return new yy.SourceLocation(options && options.srcName, locInfo); + }; + + var ast = _parser2['default'].parse(input); + + return ast; +} + +function parse(input, options) { + var ast = parseWithoutProcessing(input, options); + var strip = new _whitespaceControl2['default'](options); + + return strip.accept(ast); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztzQkFBbUIsVUFBVTs7OztpQ0FDQyxzQkFBc0I7Ozs7dUJBQzNCLFdBQVc7O0lBQXhCLE9BQU87O3FCQUNJLFVBQVU7O1FBRXhCLE1BQU07O0FBRWYsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ1osY0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRWIsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFOztBQUVyRCxNQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBQzVCLFdBQU8sS0FBSyxDQUFDO0dBQ2Q7O0FBRUQsc0JBQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7O0FBR2YsSUFBRSxDQUFDLE9BQU8sR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM3QixXQUFPLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNuRSxDQUFDOztBQUVGLE1BQUksR0FBRyxHQUFHLG9CQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFOUIsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLE1BQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRCxNQUFJLEtBQUssR0FBRyxtQ0FBc0IsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFNBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJiYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhcnNlciBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgV2hpdGVzcGFjZUNvbnRyb2wgZnJvbSAnLi93aGl0ZXNwYWNlLWNvbnRyb2wnO1xuaW1wb3J0ICogYXMgSGVscGVycyBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgeyBwYXJzZXIgfTtcblxubGV0IHl5ID0ge307XG5leHRlbmQoeXksIEhlbHBlcnMpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VXaXRob3V0UHJvY2Vzc2luZyhpbnB1dCwgb3B0aW9ucykge1xuICAvLyBKdXN0IHJldHVybiBpZiBhbiBhbHJlYWR5LWNvbXBpbGVkIEFTVCB3YXMgcGFzc2VkIGluLlxuICBpZiAoaW5wdXQudHlwZSA9PT0gJ1Byb2dyYW0nKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgcGFyc2VyLnl5ID0geXk7XG5cbiAgLy8gQWx0ZXJpbmcgdGhlIHNoYXJlZCBvYmplY3QgaGVyZSwgYnV0IHRoaXMgaXMgb2sgYXMgcGFyc2VyIGlzIGEgc3luYyBvcGVyYXRpb25cbiAgeXkubG9jSW5mbyA9IGZ1bmN0aW9uKGxvY0luZm8pIHtcbiAgICByZXR1cm4gbmV3IHl5LlNvdXJjZUxvY2F0aW9uKG9wdGlvbnMgJiYgb3B0aW9ucy5zcmNOYW1lLCBsb2NJbmZvKTtcbiAgfTtcblxuICBsZXQgYXN0ID0gcGFyc2VyLnBhcnNlKGlucHV0KTtcblxuICByZXR1cm4gYXN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoaW5wdXQsIG9wdGlvbnMpIHtcbiAgbGV0IGFzdCA9IHBhcnNlV2l0aG91dFByb2Nlc3NpbmcoaW5wdXQsIG9wdGlvbnMpO1xuICBsZXQgc3RyaXAgPSBuZXcgV2hpdGVzcGFjZUNvbnRyb2wob3B0aW9ucyk7XG5cbiAgcmV0dXJuIHN0cmlwLmFjY2VwdChhc3QpO1xufVxuIl19 + + +/***/ }), + +/***/ 67914: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +/* global define, require */ + + +exports.__esModule = true; + +var _utils = __webpack_require__(69446); + +var SourceNode = undefined; + +try { + /* istanbul ignore next */ + if (typeof define !== 'function' || !define.amd) { + // We don't support this in AMD environments. For these environments, we assume that + // they are running on the browser and thus have no need for the source-map library. + var SourceMap = __webpack_require__(91547); + SourceNode = SourceMap.SourceNode; + } +} catch (err) {} +/* NOP */ + +/* istanbul ignore if: tested but not covered in istanbul due to dist build */ +if (!SourceNode) { + SourceNode = function (line, column, srcFile, chunks) { + this.src = ''; + if (chunks) { + this.add(chunks); + } + }; + /* istanbul ignore next */ + SourceNode.prototype = { + add: function add(chunks) { + if (_utils.isArray(chunks)) { + chunks = chunks.join(''); + } + this.src += chunks; + }, + prepend: function prepend(chunks) { + if (_utils.isArray(chunks)) { + chunks = chunks.join(''); + } + this.src = chunks + this.src; + }, + toStringWithSourceMap: function toStringWithSourceMap() { + return { code: this.toString() }; + }, + toString: function toString() { + return this.src; + } + }; +} + +function castChunk(chunk, codeGen, loc) { + if (_utils.isArray(chunk)) { + var ret = []; + + for (var i = 0, len = chunk.length; i < len; i++) { + ret.push(codeGen.wrap(chunk[i], loc)); + } + return ret; + } else if (typeof chunk === 'boolean' || typeof chunk === 'number') { + // Handle primitives that the SourceNode will throw up on + return chunk + ''; + } + return chunk; +} + +function CodeGen(srcFile) { + this.srcFile = srcFile; + this.source = []; +} + +CodeGen.prototype = { + isEmpty: function isEmpty() { + return !this.source.length; + }, + prepend: function prepend(source, loc) { + this.source.unshift(this.wrap(source, loc)); + }, + push: function push(source, loc) { + this.source.push(this.wrap(source, loc)); + }, + + merge: function merge() { + var source = this.empty(); + this.each(function (line) { + source.add([' ', line, '\n']); + }); + return source; + }, + + each: function each(iter) { + for (var i = 0, len = this.source.length; i < len; i++) { + iter(this.source[i]); + } + }, + + empty: function empty() { + var loc = this.currentLocation || { start: {} }; + return new SourceNode(loc.start.line, loc.start.column, this.srcFile); + }, + wrap: function wrap(chunk) { + var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1]; + + if (chunk instanceof SourceNode) { + return chunk; + } + + chunk = castChunk(chunk, this, loc); + + return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk); + }, + + functionCall: function functionCall(fn, type, params) { + params = this.generateList(params); + return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']); + }, + + quotedString: function quotedString(str) { + return '"' + (str + '').replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + objectLiteral: function objectLiteral(obj) { + // istanbul ignore next + + var _this = this; + + var pairs = []; + + Object.keys(obj).forEach(function (key) { + var value = castChunk(obj[key], _this); + if (value !== 'undefined') { + pairs.push([_this.quotedString(key), ':', value]); + } + }); + + var ret = this.generateList(pairs); + ret.prepend('{'); + ret.add('}'); + return ret; + }, + + generateList: function generateList(entries) { + var ret = this.empty(); + + for (var i = 0, len = entries.length; i < len; i++) { + if (i) { + ret.add(','); + } + + ret.add(castChunk(entries[i], this)); + } + + return ret; + }, + + generateArray: function generateArray(entries) { + var ret = this.generateList(entries); + ret.prepend('['); + ret.add(']'); + + return ret; + } +}; + +exports["default"] = CodeGen; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvZGUtZ2VuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUN3QixVQUFVOztBQUVsQyxJQUFJLFVBQVUsWUFBQSxDQUFDOztBQUVmLElBQUk7O0FBRUYsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFOzs7QUFHL0MsUUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RDLGNBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0dBQ25DO0NBQ0YsQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUViOzs7O0FBQUEsQUFHRCxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsWUFBVSxHQUFHLFVBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQ25ELFFBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ2QsUUFBSSxNQUFNLEVBQUU7QUFDVixVQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xCO0dBQ0YsQ0FBQzs7QUFFRixZQUFVLENBQUMsU0FBUyxHQUFHO0FBQ3JCLE9BQUcsRUFBRSxhQUFTLE1BQU0sRUFBRTtBQUNwQixVQUFJLGVBQVEsTUFBTSxDQUFDLEVBQUU7QUFDbkIsY0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7T0FDMUI7QUFDRCxVQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQztLQUNwQjtBQUNELFdBQU8sRUFBRSxpQkFBUyxNQUFNLEVBQUU7QUFDeEIsVUFBSSxlQUFRLE1BQU0sQ0FBQyxFQUFFO0FBQ25CLGNBQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO09BQzFCO0FBQ0QsVUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUM5QjtBQUNELHlCQUFxQixFQUFFLGlDQUFXO0FBQ2hDLGFBQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7S0FDbEM7QUFDRCxZQUFRLEVBQUUsb0JBQVc7QUFDbkIsYUFBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ2pCO0dBQ0YsQ0FBQztDQUNIOztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBQ3RDLE1BQUksZUFBUSxLQUFLLENBQUMsRUFBRTtBQUNsQixRQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7O0FBRWIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxTQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdkM7QUFDRCxXQUFPLEdBQUcsQ0FBQztHQUNaLE1BQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFOztBQUVsRSxXQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7R0FDbkI7QUFDRCxTQUFPLEtBQUssQ0FBQztDQUNkOztBQUVELFNBQVMsT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUN4QixNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUN2QixNQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztDQUNsQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHO0FBQ2xCLFNBQU8sRUFBQSxtQkFBRztBQUNSLFdBQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztHQUM1QjtBQUNELFNBQU8sRUFBRSxpQkFBUyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQzdCLFFBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7R0FDN0M7QUFDRCxNQUFJLEVBQUUsY0FBUyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQzFCLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7R0FDMUM7O0FBRUQsT0FBSyxFQUFFLGlCQUFXO0FBQ2hCLFFBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMxQixRQUFJLENBQUMsSUFBSSxDQUFDLFVBQVMsSUFBSSxFQUFFO0FBQ3ZCLFlBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEMsQ0FBQyxDQUFDO0FBQ0gsV0FBTyxNQUFNLENBQUM7R0FDZjs7QUFFRCxNQUFJLEVBQUUsY0FBUyxJQUFJLEVBQUU7QUFDbkIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDdEQsVUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN0QjtHQUNGOztBQUVELE9BQUssRUFBRSxpQkFBVztBQUNoQixRQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2hELFdBQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3ZFO0FBQ0QsTUFBSSxFQUFFLGNBQVMsS0FBSyxFQUErQztRQUE3QyxHQUFHLHlEQUFHLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFOztBQUMvRCxRQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7QUFDL0IsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7O0FBRXBDLFdBQU8sSUFBSSxVQUFVLENBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUNoQixJQUFJLENBQUMsT0FBTyxFQUNaLEtBQUssQ0FDTixDQUFDO0dBQ0g7O0FBRUQsY0FBWSxFQUFFLHNCQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0FBQ3ZDLFVBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLFdBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQ3BFOztBQUVELGNBQVksRUFBRSxzQkFBUyxHQUFHLEVBQUU7QUFDMUIsV0FDRSxHQUFHLEdBQ0gsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFBLENBQ04sT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDckIsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDckIsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7S0FDN0IsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FDaEMsR0FBRyxDQUNIO0dBQ0g7O0FBRUQsZUFBYSxFQUFFLHVCQUFTLEdBQUcsRUFBRTs7Ozs7QUFDM0IsUUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDOztBQUVmLFVBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRyxFQUFJO0FBQzlCLFVBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQU8sQ0FBQztBQUN0QyxVQUFJLEtBQUssS0FBSyxXQUFXLEVBQUU7QUFDekIsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO09BQ2xEO0tBQ0YsQ0FBQyxDQUFDOztBQUVILFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsT0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixPQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2IsV0FBTyxHQUFHLENBQUM7R0FDWjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsT0FBTyxFQUFFO0FBQzlCLFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7QUFFdkIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNsRCxVQUFJLENBQUMsRUFBRTtBQUNMLFdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7T0FDZDs7QUFFRCxTQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN0Qzs7QUFFRCxXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELGVBQWEsRUFBRSx1QkFBUyxPQUFPLEVBQUU7QUFDL0IsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQyxPQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE9BQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRWIsV0FBTyxHQUFHLENBQUM7R0FDWjtDQUNGLENBQUM7O3FCQUVhLE9BQU8iLCJmaWxlIjoiY29kZS1nZW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlICovXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5sZXQgU291cmNlTm9kZTtcblxudHJ5IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHR5cGVvZiBkZWZpbmUgIT09ICdmdW5jdGlvbicgfHwgIWRlZmluZS5hbWQpIHtcbiAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHRoaXMgaW4gQU1EIGVudmlyb25tZW50cy4gRm9yIHRoZXNlIGVudmlyb25tZW50cywgd2UgYXNzdW1lIHRoYXRcbiAgICAvLyB0aGV5IGFyZSBydW5uaW5nIG9uIHRoZSBicm93c2VyIGFuZCB0aHVzIGhhdmUgbm8gbmVlZCBmb3IgdGhlIHNvdXJjZS1tYXAgbGlicmFyeS5cbiAgICBsZXQgU291cmNlTWFwID0gcmVxdWlyZSgnc291cmNlLW1hcCcpO1xuICAgIFNvdXJjZU5vZGUgPSBTb3VyY2VNYXAuU291cmNlTm9kZTtcbiAgfVxufSBjYXRjaCAoZXJyKSB7XG4gIC8qIE5PUCAqL1xufVxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IHRlc3RlZCBidXQgbm90IGNvdmVyZWQgaW4gaXN0YW5idWwgZHVlIHRvIGRpc3QgYnVpbGQgICovXG5pZiAoIVNvdXJjZU5vZGUpIHtcbiAgU291cmNlTm9kZSA9IGZ1bmN0aW9uKGxpbmUsIGNvbHVtbiwgc3JjRmlsZSwgY2h1bmtzKSB7XG4gICAgdGhpcy5zcmMgPSAnJztcbiAgICBpZiAoY2h1bmtzKSB7XG4gICAgICB0aGlzLmFkZChjaHVua3MpO1xuICAgIH1cbiAgfTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgU291cmNlTm9kZS5wcm90b3R5cGUgPSB7XG4gICAgYWRkOiBmdW5jdGlvbihjaHVua3MpIHtcbiAgICAgIGlmIChpc0FycmF5KGNodW5rcykpIHtcbiAgICAgICAgY2h1bmtzID0gY2h1bmtzLmpvaW4oJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5zcmMgKz0gY2h1bmtzO1xuICAgIH0sXG4gICAgcHJlcGVuZDogZnVuY3Rpb24oY2h1bmtzKSB7XG4gICAgICBpZiAoaXNBcnJheShjaHVua3MpKSB7XG4gICAgICAgIGNodW5rcyA9IGNodW5rcy5qb2luKCcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3JjID0gY2h1bmtzICsgdGhpcy5zcmM7XG4gICAgfSxcbiAgICB0b1N0cmluZ1dpdGhTb3VyY2VNYXA6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHsgY29kZTogdGhpcy50b1N0cmluZygpIH07XG4gICAgfSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5zcmM7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBjYXN0Q2h1bmsoY2h1bmssIGNvZGVHZW4sIGxvYykge1xuICBpZiAoaXNBcnJheShjaHVuaykpIHtcbiAgICBsZXQgcmV0ID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gY2h1bmsubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHJldC5wdXNoKGNvZGVHZW4ud3JhcChjaHVua1tpXSwgbG9jKSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rID09PSAnYm9vbGVhbicgfHwgdHlwZW9mIGNodW5rID09PSAnbnVtYmVyJykge1xuICAgIC8vIEhhbmRsZSBwcmltaXRpdmVzIHRoYXQgdGhlIFNvdXJjZU5vZGUgd2lsbCB0aHJvdyB1cCBvblxuICAgIHJldHVybiBjaHVuayArICcnO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cblxuZnVuY3Rpb24gQ29kZUdlbihzcmNGaWxlKSB7XG4gIHRoaXMuc3JjRmlsZSA9IHNyY0ZpbGU7XG4gIHRoaXMuc291cmNlID0gW107XG59XG5cbkNvZGVHZW4ucHJvdG90eXBlID0ge1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5zb3VyY2UubGVuZ3RoO1xuICB9LFxuICBwcmVwZW5kOiBmdW5jdGlvbihzb3VyY2UsIGxvYykge1xuICAgIHRoaXMuc291cmNlLnVuc2hpZnQodGhpcy53cmFwKHNvdXJjZSwgbG9jKSk7XG4gIH0sXG4gIHB1c2g6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jKSB7XG4gICAgdGhpcy5zb3VyY2UucHVzaCh0aGlzLndyYXAoc291cmNlLCBsb2MpKTtcbiAgfSxcblxuICBtZXJnZTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IHNvdXJjZSA9IHRoaXMuZW1wdHkoKTtcbiAgICB0aGlzLmVhY2goZnVuY3Rpb24obGluZSkge1xuICAgICAgc291cmNlLmFkZChbJyAgJywgbGluZSwgJ1xcbiddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc291cmNlO1xuICB9LFxuXG4gIGVhY2g6IGZ1bmN0aW9uKGl0ZXIpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5zb3VyY2UubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGl0ZXIodGhpcy5zb3VyY2VbaV0pO1xuICAgIH1cbiAgfSxcblxuICBlbXB0eTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGxvYyA9IHRoaXMuY3VycmVudExvY2F0aW9uIHx8IHsgc3RhcnQ6IHt9IH07XG4gICAgcmV0dXJuIG5ldyBTb3VyY2VOb2RlKGxvYy5zdGFydC5saW5lLCBsb2Muc3RhcnQuY29sdW1uLCB0aGlzLnNyY0ZpbGUpO1xuICB9LFxuICB3cmFwOiBmdW5jdGlvbihjaHVuaywgbG9jID0gdGhpcy5jdXJyZW50TG9jYXRpb24gfHwgeyBzdGFydDoge30gfSkge1xuICAgIGlmIChjaHVuayBpbnN0YW5jZW9mIFNvdXJjZU5vZGUpIHtcbiAgICAgIHJldHVybiBjaHVuaztcbiAgICB9XG5cbiAgICBjaHVuayA9IGNhc3RDaHVuayhjaHVuaywgdGhpcywgbG9jKTtcblxuICAgIHJldHVybiBuZXcgU291cmNlTm9kZShcbiAgICAgIGxvYy5zdGFydC5saW5lLFxuICAgICAgbG9jLnN0YXJ0LmNvbHVtbixcbiAgICAgIHRoaXMuc3JjRmlsZSxcbiAgICAgIGNodW5rXG4gICAgKTtcbiAgfSxcblxuICBmdW5jdGlvbkNhbGw6IGZ1bmN0aW9uKGZuLCB0eXBlLCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSB0aGlzLmdlbmVyYXRlTGlzdChwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLndyYXAoW2ZuLCB0eXBlID8gJy4nICsgdHlwZSArICcoJyA6ICcoJywgcGFyYW1zLCAnKSddKTtcbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiAoXG4gICAgICAnXCInICtcbiAgICAgIChzdHIgKyAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJylcbiAgICAgICAgLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKVxuICAgICAgICAucmVwbGFjZSgvXFxuL2csICdcXFxcbicpXG4gICAgICAgIC5yZXBsYWNlKC9cXHIvZywgJ1xcXFxyJylcbiAgICAgICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpIC8vIFBlciBFY21hLTI2MiA3LjMgKyA3LjguNFxuICAgICAgICAucmVwbGFjZSgvXFx1MjAyOS9nLCAnXFxcXHUyMDI5JykgK1xuICAgICAgJ1wiJ1xuICAgICk7XG4gIH0sXG5cbiAgb2JqZWN0TGl0ZXJhbDogZnVuY3Rpb24ob2JqKSB7XG4gICAgbGV0IHBhaXJzID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IGNhc3RDaHVuayhvYmpba2V5XSwgdGhpcyk7XG4gICAgICBpZiAodmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHBhaXJzLnB1c2goW3RoaXMucXVvdGVkU3RyaW5nKGtleSksICc6JywgdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChwYWlycyk7XG4gICAgcmV0LnByZXBlbmQoJ3snKTtcbiAgICByZXQuYWRkKCd9Jyk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBnZW5lcmF0ZUxpc3Q6IGZ1bmN0aW9uKGVudHJpZXMpIHtcbiAgICBsZXQgcmV0ID0gdGhpcy5lbXB0eSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGVudHJpZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmIChpKSB7XG4gICAgICAgIHJldC5hZGQoJywnKTtcbiAgICAgIH1cblxuICAgICAgcmV0LmFkZChjYXN0Q2h1bmsoZW50cmllc1tpXSwgdGhpcykpO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgZ2VuZXJhdGVBcnJheTogZnVuY3Rpb24oZW50cmllcykge1xuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChlbnRyaWVzKTtcbiAgICByZXQucHJlcGVuZCgnWycpO1xuICAgIHJldC5hZGQoJ10nKTtcblxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGVHZW47XG4iXX0= + + +/***/ }), + +/***/ 74627: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +/* eslint-disable new-cap */ + + + +exports.__esModule = true; +exports.Compiler = Compiler; +exports.precompile = precompile; +exports.compile = compile; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +var _utils = __webpack_require__(69446); + +var _ast = __webpack_require__(77042); + +var _ast2 = _interopRequireDefault(_ast); + +var slice = [].slice; + +function Compiler() {} + +// the foundHelper register will disambiguate helper lookup from finding a +// function in a context. This is necessary for mustache compatibility, which +// requires that context functions in blocks are evaluated by blockHelperMissing, +// and then proceed as if the resulting value was provided to blockHelperMissing. + +Compiler.prototype = { + compiler: Compiler, + + equals: function equals(other) { + var len = this.opcodes.length; + if (other.opcodes.length !== len) { + return false; + } + + for (var i = 0; i < len; i++) { + var opcode = this.opcodes[i], + otherOpcode = other.opcodes[i]; + if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) { + return false; + } + } + + // We know that length is the same between the two arrays because they are directly tied + // to the opcode behavior above. + len = this.children.length; + for (var i = 0; i < len; i++) { + if (!this.children[i].equals(other.children[i])) { + return false; + } + } + + return true; + }, + + guid: 0, + + compile: function compile(program, options) { + this.sourceNode = []; + this.opcodes = []; + this.children = []; + this.options = options; + this.stringParams = options.stringParams; + this.trackIds = options.trackIds; + + options.blockParams = options.blockParams || []; + + options.knownHelpers = _utils.extend(Object.create(null), { + helperMissing: true, + blockHelperMissing: true, + each: true, + 'if': true, + unless: true, + 'with': true, + log: true, + lookup: true + }, options.knownHelpers); + + return this.accept(program); + }, + + compileProgram: function compileProgram(program) { + var childCompiler = new this.compiler(), + // eslint-disable-line new-cap + result = childCompiler.compile(program, this.options), + guid = this.guid++; + + this.usePartial = this.usePartial || result.usePartial; + + this.children[guid] = result; + this.useDepths = this.useDepths || result.useDepths; + + return guid; + }, + + accept: function accept(node) { + /* istanbul ignore next: Sanity code */ + if (!this[node.type]) { + throw new _exception2['default']('Unknown type: ' + node.type, node); + } + + this.sourceNode.unshift(node); + var ret = this[node.type](node); + this.sourceNode.shift(); + return ret; + }, + + Program: function Program(program) { + this.options.blockParams.unshift(program.blockParams); + + var body = program.body, + bodyLength = body.length; + for (var i = 0; i < bodyLength; i++) { + this.accept(body[i]); + } + + this.options.blockParams.shift(); + + this.isSimple = bodyLength === 1; + this.blockParams = program.blockParams ? program.blockParams.length : 0; + + return this; + }, + + BlockStatement: function BlockStatement(block) { + transformLiteralToPath(block); + + var program = block.program, + inverse = block.inverse; + + program = program && this.compileProgram(program); + inverse = inverse && this.compileProgram(inverse); + + var type = this.classifySexpr(block); + + if (type === 'helper') { + this.helperSexpr(block, program, inverse); + } else if (type === 'simple') { + this.simpleSexpr(block); + + // now that the simple mustache is resolved, we need to + // evaluate it by executing `blockHelperMissing` + this.opcode('pushProgram', program); + this.opcode('pushProgram', inverse); + this.opcode('emptyHash'); + this.opcode('blockValue', block.path.original); + } else { + this.ambiguousSexpr(block, program, inverse); + + // now that the simple mustache is resolved, we need to + // evaluate it by executing `blockHelperMissing` + this.opcode('pushProgram', program); + this.opcode('pushProgram', inverse); + this.opcode('emptyHash'); + this.opcode('ambiguousBlockValue'); + } + + this.opcode('append'); + }, + + DecoratorBlock: function DecoratorBlock(decorator) { + var program = decorator.program && this.compileProgram(decorator.program); + var params = this.setupFullMustacheParams(decorator, program, undefined), + path = decorator.path; + + this.useDecorators = true; + this.opcode('registerDecorator', params.length, path.original); + }, + + PartialStatement: function PartialStatement(partial) { + this.usePartial = true; + + var program = partial.program; + if (program) { + program = this.compileProgram(partial.program); + } + + var params = partial.params; + if (params.length > 1) { + throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial); + } else if (!params.length) { + if (this.options.explicitPartialContext) { + this.opcode('pushLiteral', 'undefined'); + } else { + params.push({ type: 'PathExpression', parts: [], depth: 0 }); + } + } + + var partialName = partial.name.original, + isDynamic = partial.name.type === 'SubExpression'; + if (isDynamic) { + this.accept(partial.name); + } + + this.setupFullMustacheParams(partial, program, undefined, true); + + var indent = partial.indent || ''; + if (this.options.preventIndent && indent) { + this.opcode('appendContent', indent); + indent = ''; + } + + this.opcode('invokePartial', isDynamic, partialName, indent); + this.opcode('append'); + }, + PartialBlockStatement: function PartialBlockStatement(partialBlock) { + this.PartialStatement(partialBlock); + }, + + MustacheStatement: function MustacheStatement(mustache) { + this.SubExpression(mustache); + + if (mustache.escaped && !this.options.noEscape) { + this.opcode('appendEscaped'); + } else { + this.opcode('append'); + } + }, + Decorator: function Decorator(decorator) { + this.DecoratorBlock(decorator); + }, + + ContentStatement: function ContentStatement(content) { + if (content.value) { + this.opcode('appendContent', content.value); + } + }, + + CommentStatement: function CommentStatement() {}, + + SubExpression: function SubExpression(sexpr) { + transformLiteralToPath(sexpr); + var type = this.classifySexpr(sexpr); + + if (type === 'simple') { + this.simpleSexpr(sexpr); + } else if (type === 'helper') { + this.helperSexpr(sexpr); + } else { + this.ambiguousSexpr(sexpr); + } + }, + ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) { + var path = sexpr.path, + name = path.parts[0], + isBlock = program != null || inverse != null; + + this.opcode('getContext', path.depth); + + this.opcode('pushProgram', program); + this.opcode('pushProgram', inverse); + + path.strict = true; + this.accept(path); + + this.opcode('invokeAmbiguous', name, isBlock); + }, + + simpleSexpr: function simpleSexpr(sexpr) { + var path = sexpr.path; + path.strict = true; + this.accept(path); + this.opcode('resolvePossibleLambda'); + }, + + helperSexpr: function helperSexpr(sexpr, program, inverse) { + var params = this.setupFullMustacheParams(sexpr, program, inverse), + path = sexpr.path, + name = path.parts[0]; + + if (this.options.knownHelpers[name]) { + this.opcode('invokeKnownHelper', params.length, name); + } else if (this.options.knownHelpersOnly) { + throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr); + } else { + path.strict = true; + path.falsy = true; + + this.accept(path); + this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path)); + } + }, + + PathExpression: function PathExpression(path) { + this.addDepth(path.depth); + this.opcode('getContext', path.depth); + + var name = path.parts[0], + scoped = _ast2['default'].helpers.scopedId(path), + blockParamId = !path.depth && !scoped && this.blockParamIndex(name); + + if (blockParamId) { + this.opcode('lookupBlockParam', blockParamId, path.parts); + } else if (!name) { + // Context reference, i.e. `{{foo .}}` or `{{foo ..}}` + this.opcode('pushContext'); + } else if (path.data) { + this.options.data = true; + this.opcode('lookupData', path.depth, path.parts, path.strict); + } else { + this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped); + } + }, + + StringLiteral: function StringLiteral(string) { + this.opcode('pushString', string.value); + }, + + NumberLiteral: function NumberLiteral(number) { + this.opcode('pushLiteral', number.value); + }, + + BooleanLiteral: function BooleanLiteral(bool) { + this.opcode('pushLiteral', bool.value); + }, + + UndefinedLiteral: function UndefinedLiteral() { + this.opcode('pushLiteral', 'undefined'); + }, + + NullLiteral: function NullLiteral() { + this.opcode('pushLiteral', 'null'); + }, + + Hash: function Hash(hash) { + var pairs = hash.pairs, + i = 0, + l = pairs.length; + + this.opcode('pushHash'); + + for (; i < l; i++) { + this.pushParam(pairs[i].value); + } + while (i--) { + this.opcode('assignToHash', pairs[i].key); + } + this.opcode('popHash'); + }, + + // HELPERS + opcode: function opcode(name) { + this.opcodes.push({ + opcode: name, + args: slice.call(arguments, 1), + loc: this.sourceNode[0].loc + }); + }, + + addDepth: function addDepth(depth) { + if (!depth) { + return; + } + + this.useDepths = true; + }, + + classifySexpr: function classifySexpr(sexpr) { + var isSimple = _ast2['default'].helpers.simpleId(sexpr.path); + + var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]); + + // a mustache is an eligible helper if: + // * its id is simple (a single part, not `this` or `..`) + var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr); + + // if a mustache is an eligible helper but not a definite + // helper, it is ambiguous, and will be resolved in a later + // pass or at runtime. + var isEligible = !isBlockParam && (isHelper || isSimple); + + // if ambiguous, we can possibly resolve the ambiguity now + // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc. + if (isEligible && !isHelper) { + var _name = sexpr.path.parts[0], + options = this.options; + if (options.knownHelpers[_name]) { + isHelper = true; + } else if (options.knownHelpersOnly) { + isEligible = false; + } + } + + if (isHelper) { + return 'helper'; + } else if (isEligible) { + return 'ambiguous'; + } else { + return 'simple'; + } + }, + + pushParams: function pushParams(params) { + for (var i = 0, l = params.length; i < l; i++) { + this.pushParam(params[i]); + } + }, + + pushParam: function pushParam(val) { + var value = val.value != null ? val.value : val.original || ''; + + if (this.stringParams) { + if (value.replace) { + value = value.replace(/^(\.?\.\/)*/g, '').replace(/\//g, '.'); + } + + if (val.depth) { + this.addDepth(val.depth); + } + this.opcode('getContext', val.depth || 0); + this.opcode('pushStringParam', value, val.type); + + if (val.type === 'SubExpression') { + // SubExpressions get evaluated and passed in + // in string params mode. + this.accept(val); + } + } else { + if (this.trackIds) { + var blockParamIndex = undefined; + if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) { + blockParamIndex = this.blockParamIndex(val.parts[0]); + } + if (blockParamIndex) { + var blockParamChild = val.parts.slice(1).join('.'); + this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild); + } else { + value = val.original || value; + if (value.replace) { + value = value.replace(/^this(?:\.|$)/, '').replace(/^\.\//, '').replace(/^\.$/, ''); + } + + this.opcode('pushId', val.type, value); + } + } + this.accept(val); + } + }, + + setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) { + var params = sexpr.params; + this.pushParams(params); + + this.opcode('pushProgram', program); + this.opcode('pushProgram', inverse); + + if (sexpr.hash) { + this.accept(sexpr.hash); + } else { + this.opcode('emptyHash', omitEmpty); + } + + return params; + }, + + blockParamIndex: function blockParamIndex(name) { + for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) { + var blockParams = this.options.blockParams[depth], + param = blockParams && _utils.indexOf(blockParams, name); + if (blockParams && param >= 0) { + return [depth, param]; + } + } + } +}; + +function precompile(input, options, env) { + if (input == null || typeof input !== 'string' && input.type !== 'Program') { + throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input); + } + + options = options || {}; + if (!('data' in options)) { + options.data = true; + } + if (options.compat) { + options.useDepths = true; + } + + var ast = env.parse(input, options), + environment = new env.Compiler().compile(ast, options); + return new env.JavaScriptCompiler().compile(environment, options); +} + +function compile(input, options, env) { + if (options === undefined) options = {}; + + if (input == null || typeof input !== 'string' && input.type !== 'Program') { + throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input); + } + + options = _utils.extend({}, options); + if (!('data' in options)) { + options.data = true; + } + if (options.compat) { + options.useDepths = true; + } + + var compiled = undefined; + + function compileInput() { + var ast = env.parse(input, options), + environment = new env.Compiler().compile(ast, options), + templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true); + return env.template(templateSpec); + } + + // Template is only compiled on first use and cached after that point. + function ret(context, execOptions) { + if (!compiled) { + compiled = compileInput(); + } + return compiled.call(this, context, execOptions); + } + ret._setup = function (setupOptions) { + if (!compiled) { + compiled = compileInput(); + } + return compiled._setup(setupOptions); + }; + ret._child = function (i, data, blockParams, depths) { + if (!compiled) { + compiled = compileInput(); + } + return compiled._child(i, data, blockParams, depths); + }; + return ret; +} + +function argEquals(a, b) { + if (a === b) { + return true; + } + + if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) { + for (var i = 0; i < a.length; i++) { + if (!argEquals(a[i], b[i])) { + return false; + } + } + return true; + } +} + +function transformLiteralToPath(sexpr) { + if (!sexpr.path.parts) { + var literal = sexpr.path; + // Casting to string here to make false and 0 literal values play nicely with the rest + // of the system. + sexpr.path = { + type: 'PathExpression', + data: false, + depth: 0, + parts: [literal.original + ''], + original: literal.original + '', + loc: literal.loc + }; + } +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozt5QkFFc0IsY0FBYzs7OztxQkFDSyxVQUFVOzttQkFDbkMsT0FBTzs7OztBQUV2QixJQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDOztBQUVoQixTQUFTLFFBQVEsR0FBRyxFQUFFOzs7Ozs7O0FBTzdCLFFBQVEsQ0FBQyxTQUFTLEdBQUc7QUFDbkIsVUFBUSxFQUFFLFFBQVE7O0FBRWxCLFFBQU0sRUFBRSxnQkFBUyxLQUFLLEVBQUU7QUFDdEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDOUIsUUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7QUFDaEMsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFVBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1VBQzFCLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFVBQ0UsTUFBTSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxJQUNwQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDekM7QUFDQSxlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7Ozs7QUFJRCxPQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QixVQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQy9DLGVBQU8sS0FBSyxDQUFDO09BQ2Q7S0FDRjs7QUFFRCxXQUFPLElBQUksQ0FBQztHQUNiOztBQUVELE1BQUksRUFBRSxDQUFDOztBQUVQLFNBQU8sRUFBRSxpQkFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ2xDLFFBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLFFBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ2xCLFFBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUN6QyxRQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7O0FBRWpDLFdBQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7O0FBRWhELFdBQU8sQ0FBQyxZQUFZLEdBQUcsY0FDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDbkI7QUFDRSxtQkFBYSxFQUFFLElBQUk7QUFDbkIsd0JBQWtCLEVBQUUsSUFBSTtBQUN4QixVQUFJLEVBQUUsSUFBSTtBQUNWLFlBQUksSUFBSTtBQUNSLFlBQU0sRUFBRSxJQUFJO0FBQ1osY0FBTSxJQUFJO0FBQ1YsU0FBRyxFQUFFLElBQUk7QUFDVCxZQUFNLEVBQUUsSUFBSTtLQUNiLEVBQ0QsT0FBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQzs7QUFFRixXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7R0FDN0I7O0FBRUQsZ0JBQWMsRUFBRSx3QkFBUyxPQUFPLEVBQUU7QUFDaEMsUUFBSSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOztBQUNyQyxVQUFNLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDOztBQUVyQixRQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQzs7QUFFdkQsUUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDN0IsUUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7O0FBRXBELFdBQU8sSUFBSSxDQUFDO0dBQ2I7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLElBQUksRUFBRTs7QUFFckIsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDcEIsWUFBTSwyQkFBYyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3pEOztBQUVELFFBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsUUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN4QixXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELFNBQU8sRUFBRSxpQkFBUyxPQUFPLEVBQUU7QUFDekIsUUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFdEQsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUk7UUFDckIsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNuQyxVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3RCOztBQUVELFFBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDOztBQUVqQyxRQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDakMsUUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7QUFFeEUsV0FBTyxJQUFJLENBQUM7R0FDYjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLEtBQUssRUFBRTtBQUM5QiwwQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFOUIsUUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU87UUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7O0FBRTFCLFdBQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsRCxXQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7O0FBRWxELFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFFBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtBQUNyQixVQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0MsTUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDNUIsVUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7OztBQUl4QixVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pCLFVBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDaEQsTUFBTTtBQUNMLFVBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQzs7OztBQUk3QyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pCLFVBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUNwQzs7QUFFRCxRQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0dBQ3ZCOztBQUVELGdCQUFjLEVBQUEsd0JBQUMsU0FBUyxFQUFFO0FBQ3hCLFFBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUUsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQ3RFLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDOztBQUV4QixRQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztBQUMxQixRQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0dBQ2hFOztBQUVELGtCQUFnQixFQUFFLDBCQUFTLE9BQU8sRUFBRTtBQUNsQyxRQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7QUFFdkIsUUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUM5QixRQUFJLE9BQU8sRUFBRTtBQUNYLGFBQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNoRDs7QUFFRCxRQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQzVCLFFBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDckIsWUFBTSwyQkFDSiwyQ0FBMkMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUMzRCxPQUFPLENBQ1IsQ0FBQztLQUNILE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDekIsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO0FBQ3ZDLFlBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO09BQ3pDLE1BQU07QUFDTCxjQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7T0FDOUQ7S0FDRjs7QUFFRCxRQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVE7UUFDckMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQztBQUNwRCxRQUFJLFNBQVMsRUFBRTtBQUNiLFVBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzNCOztBQUVELFFBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFaEUsUUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDbEMsUUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxNQUFNLEVBQUU7QUFDeEMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckMsWUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNiOztBQUVELFFBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztHQUN2QjtBQUNELHVCQUFxQixFQUFFLCtCQUFTLFlBQVksRUFBRTtBQUM1QyxRQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDckM7O0FBRUQsbUJBQWlCLEVBQUUsMkJBQVMsUUFBUSxFQUFFO0FBQ3BDLFFBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTdCLFFBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO0FBQzlDLFVBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDOUIsTUFBTTtBQUNMLFVBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDdkI7R0FDRjtBQUNELFdBQVMsRUFBQSxtQkFBQyxTQUFTLEVBQUU7QUFDbkIsUUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztHQUNoQzs7QUFFRCxrQkFBZ0IsRUFBRSwwQkFBUyxPQUFPLEVBQUU7QUFDbEMsUUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO0FBQ2pCLFVBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3QztHQUNGOztBQUVELGtCQUFnQixFQUFFLDRCQUFXLEVBQUU7O0FBRS9CLGVBQWEsRUFBRSx1QkFBUyxLQUFLLEVBQUU7QUFDN0IsMEJBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFckMsUUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQ3JCLFVBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekIsTUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDNUIsVUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN6QixNQUFNO0FBQ0wsVUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM1QjtHQUNGO0FBQ0QsZ0JBQWMsRUFBRSx3QkFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUNoRCxRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSTtRQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEIsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQzs7QUFFL0MsUUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUV0QyxRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQzs7QUFFcEMsUUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbkIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFbEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7R0FDL0M7O0FBRUQsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQ3RCLFFBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0dBQ3RDOztBQUVELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUM3QyxRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDaEUsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUV2QixRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ25DLFVBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2RCxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtBQUN4QyxZQUFNLDJCQUNKLDhEQUE4RCxHQUFHLElBQUksRUFDckUsS0FBSyxDQUNOLENBQUM7S0FDSCxNQUFNO0FBQ0wsVUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbkIsVUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7O0FBRWxCLFVBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEIsVUFBSSxDQUFDLE1BQU0sQ0FDVCxjQUFjLEVBQ2QsTUFBTSxDQUFDLE1BQU0sRUFDYixJQUFJLENBQUMsUUFBUSxFQUNiLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQzNCLENBQUM7S0FDSDtHQUNGOztBQUVELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFO0FBQzdCLFFBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFCLFFBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFdEMsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ25DLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEUsUUFBSSxZQUFZLEVBQUU7QUFDaEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzNELE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTs7QUFFaEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUM1QixNQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNwQixVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDekIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNoRSxNQUFNO0FBQ0wsVUFBSSxDQUFDLE1BQU0sQ0FDVCxpQkFBaUIsRUFDakIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLEVBQ1gsTUFBTSxDQUNQLENBQUM7S0FDSDtHQUNGOztBQUVELGVBQWEsRUFBRSx1QkFBUyxNQUFNLEVBQUU7QUFDOUIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQ3pDOztBQUVELGVBQWEsRUFBRSx1QkFBUyxNQUFNLEVBQUU7QUFDOUIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQzFDOztBQUVELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFO0FBQzdCLFFBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztHQUN4Qzs7QUFFRCxrQkFBZ0IsRUFBRSw0QkFBVztBQUMzQixRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztHQUN6Qzs7QUFFRCxhQUFXLEVBQUUsdUJBQVc7QUFDdEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDcEM7O0FBRUQsTUFBSSxFQUFFLGNBQVMsSUFBSSxFQUFFO0FBQ25CLFFBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3BCLENBQUMsR0FBRyxDQUFDO1FBQ0wsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7O0FBRW5CLFFBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7O0FBRXhCLFdBQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNqQixVQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQztBQUNELFdBQU8sQ0FBQyxFQUFFLEVBQUU7QUFDVixVQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0M7QUFDRCxRQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0dBQ3hCOzs7QUFHRCxRQUFNLEVBQUUsZ0JBQVMsSUFBSSxFQUFFO0FBQ3JCLFFBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ2hCLFlBQU0sRUFBRSxJQUFJO0FBQ1osVUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUM5QixTQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO0tBQzVCLENBQUMsQ0FBQztHQUNKOztBQUVELFVBQVEsRUFBRSxrQkFBUyxLQUFLLEVBQUU7QUFDeEIsUUFBSSxDQUFDLEtBQUssRUFBRTtBQUNWLGFBQU87S0FDUjs7QUFFRCxRQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztHQUN2Qjs7QUFFRCxlQUFhLEVBQUUsdUJBQVMsS0FBSyxFQUFFO0FBQzdCLFFBQUksUUFBUSxHQUFHLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVoRCxRQUFJLFlBQVksR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7OztBQUkzRSxRQUFJLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxpQkFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7O0FBS3BFLFFBQUksVUFBVSxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUEsQUFBQyxDQUFDOzs7O0FBSXpELFFBQUksVUFBVSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQzNCLFVBQUksS0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztVQUM1QixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN6QixVQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSSxDQUFDLEVBQUU7QUFDOUIsZ0JBQVEsR0FBRyxJQUFJLENBQUM7T0FDakIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtBQUNuQyxrQkFBVSxHQUFHLEtBQUssQ0FBQztPQUNwQjtLQUNGOztBQUVELFFBQUksUUFBUSxFQUFFO0FBQ1osYUFBTyxRQUFRLENBQUM7S0FDakIsTUFBTSxJQUFJLFVBQVUsRUFBRTtBQUNyQixhQUFPLFdBQVcsQ0FBQztLQUNwQixNQUFNO0FBQ0wsYUFBTyxRQUFRLENBQUM7S0FDakI7R0FDRjs7QUFFRCxZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFO0FBQzNCLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQjtHQUNGOztBQUVELFdBQVMsRUFBRSxtQkFBUyxHQUFHLEVBQUU7QUFDdkIsUUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQzs7QUFFL0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLFVBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixhQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztPQUMvRDs7QUFFRCxVQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7QUFDYixZQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUMxQjtBQUNELFVBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVoRCxVQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFOzs7QUFHaEMsWUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUNsQjtLQUNGLE1BQU07QUFDTCxVQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsWUFBSSxlQUFlLFlBQUEsQ0FBQztBQUNwQixZQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxpQkFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtBQUN6RCx5QkFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REO0FBQ0QsWUFBSSxlQUFlLEVBQUU7QUFDbkIsY0FBSSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25ELGNBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDdkUsTUFBTTtBQUNMLGVBQUssR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztBQUM5QixjQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsaUJBQUssR0FBRyxLQUFLLENBQ1YsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FDNUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztXQUN4Qjs7QUFFRCxjQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO09BQ0Y7QUFDRCxVQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xCO0dBQ0Y7O0FBRUQseUJBQXVCLEVBQUUsaUNBQVMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO0FBQ3BFLFFBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsUUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFeEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDcEMsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRXBDLFFBQUksS0FBSyxDQUFDLElBQUksRUFBRTtBQUNkLFVBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pCLE1BQU07QUFDTCxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUNyQzs7QUFFRCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELGlCQUFlLEVBQUUseUJBQVMsSUFBSSxFQUFFO0FBQzlCLFNBQ0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQ3BELEtBQUssR0FBRyxHQUFHLEVBQ1gsS0FBSyxFQUFFLEVBQ1A7QUFDQSxVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7VUFDL0MsS0FBSyxHQUFHLFdBQVcsSUFBSSxlQUFRLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRCxVQUFJLFdBQVcsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO0FBQzdCLGVBQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7T0FDdkI7S0FDRjtHQUNGO0NBQ0YsQ0FBQzs7QUFFSyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtBQUM5QyxNQUNFLEtBQUssSUFBSSxJQUFJLElBQ1osT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxBQUFDLEVBQ3ZEO0FBQ0EsVUFBTSwyQkFDSixnRkFBZ0YsR0FDOUUsS0FBSyxDQUNSLENBQUM7R0FDSDs7QUFFRCxTQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztBQUN4QixNQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDeEIsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7R0FDckI7QUFDRCxNQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsV0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7R0FDMUI7O0FBRUQsTUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO01BQ2pDLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELFNBQU8sSUFBSSxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0NBQ25FOztBQUVNLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQU8sR0FBRyxFQUFFO01BQW5CLE9BQU8sZ0JBQVAsT0FBTyxHQUFHLEVBQUU7O0FBQ3pDLE1BQ0UsS0FBSyxJQUFJLElBQUksSUFDWixPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEFBQUMsRUFDdkQ7QUFDQSxVQUFNLDJCQUNKLDZFQUE2RSxHQUMzRSxLQUFLLENBQ1IsQ0FBQztHQUNIOztBQUVELFNBQU8sR0FBRyxjQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5QixNQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDeEIsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7R0FDckI7QUFDRCxNQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsV0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7R0FDMUI7O0FBRUQsTUFBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixXQUFTLFlBQVksR0FBRztBQUN0QixRQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7UUFDakMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQ3RELFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FDakQsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxDQUNMLENBQUM7QUFDSixXQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDbkM7OztBQUdELFdBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUU7QUFDakMsUUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLGNBQVEsR0FBRyxZQUFZLEVBQUUsQ0FBQztLQUMzQjtBQUNELFdBQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0dBQ2xEO0FBQ0QsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLFlBQVksRUFBRTtBQUNsQyxRQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2IsY0FBUSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzNCO0FBQ0QsV0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixLQUFHLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO0FBQ2xELFFBQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixjQUFRLEdBQUcsWUFBWSxFQUFFLENBQUM7S0FDM0I7QUFDRCxXQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDdEQsQ0FBQztBQUNGLFNBQU8sR0FBRyxDQUFDO0NBQ1o7O0FBRUQsU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN2QixNQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxXQUFPLElBQUksQ0FBQztHQUNiOztBQUVELE1BQUksZUFBUSxDQUFDLENBQUMsSUFBSSxlQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRTtBQUNyRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNqQyxVQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMxQixlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7QUFDRCxXQUFPLElBQUksQ0FBQztHQUNiO0NBQ0Y7O0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDckMsTUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ3JCLFFBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7OztBQUd6QixTQUFLLENBQUMsSUFBSSxHQUFHO0FBQ1gsVUFBSSxFQUFFLGdCQUFnQjtBQUN0QixVQUFJLEVBQUUsS0FBSztBQUNYLFdBQUssRUFBRSxDQUFDO0FBQ1IsV0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDOUIsY0FBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsRUFBRTtBQUMvQixTQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7S0FDakIsQ0FBQztHQUNIO0NBQ0YiLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXksIGluZGV4T2YsIGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBBU1QgZnJvbSAnLi9hc3QnO1xuXG5jb25zdCBzbGljZSA9IFtdLnNsaWNlO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29tcGlsZXIoKSB7fVxuXG4vLyB0aGUgZm91bmRIZWxwZXIgcmVnaXN0ZXIgd2lsbCBkaXNhbWJpZ3VhdGUgaGVscGVyIGxvb2t1cCBmcm9tIGZpbmRpbmcgYVxuLy8gZnVuY3Rpb24gaW4gYSBjb250ZXh0LiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgbXVzdGFjaGUgY29tcGF0aWJpbGl0eSwgd2hpY2hcbi8vIHJlcXVpcmVzIHRoYXQgY29udGV4dCBmdW5jdGlvbnMgaW4gYmxvY2tzIGFyZSBldmFsdWF0ZWQgYnkgYmxvY2tIZWxwZXJNaXNzaW5nLFxuLy8gYW5kIHRoZW4gcHJvY2VlZCBhcyBpZiB0aGUgcmVzdWx0aW5nIHZhbHVlIHdhcyBwcm92aWRlZCB0byBibG9ja0hlbHBlck1pc3NpbmcuXG5cbkNvbXBpbGVyLnByb3RvdHlwZSA9IHtcbiAgY29tcGlsZXI6IENvbXBpbGVyLFxuXG4gIGVxdWFsczogZnVuY3Rpb24ob3RoZXIpIHtcbiAgICBsZXQgbGVuID0gdGhpcy5vcGNvZGVzLmxlbmd0aDtcbiAgICBpZiAob3RoZXIub3Bjb2Rlcy5sZW5ndGggIT09IGxlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBvcGNvZGUgPSB0aGlzLm9wY29kZXNbaV0sXG4gICAgICAgIG90aGVyT3Bjb2RlID0gb3RoZXIub3Bjb2Rlc1tpXTtcbiAgICAgIGlmIChcbiAgICAgICAgb3Bjb2RlLm9wY29kZSAhPT0gb3RoZXJPcGNvZGUub3Bjb2RlIHx8XG4gICAgICAgICFhcmdFcXVhbHMob3Bjb2RlLmFyZ3MsIG90aGVyT3Bjb2RlLmFyZ3MpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdlIGtub3cgdGhhdCBsZW5ndGggaXMgdGhlIHNhbWUgYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBiZWNhdXNlIHRoZXkgYXJlIGRpcmVjdGx5IHRpZWRcbiAgICAvLyB0byB0aGUgb3Bjb2RlIGJlaGF2aW9yIGFib3ZlLlxuICAgIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbltpXS5lcXVhbHMob3RoZXIuY2hpbGRyZW5baV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICBndWlkOiAwLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKHByb2dyYW0sIG9wdGlvbnMpIHtcbiAgICB0aGlzLnNvdXJjZU5vZGUgPSBbXTtcbiAgICB0aGlzLm9wY29kZXMgPSBbXTtcbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnN0cmluZ1BhcmFtcyA9IG9wdGlvbnMuc3RyaW5nUGFyYW1zO1xuICAgIHRoaXMudHJhY2tJZHMgPSBvcHRpb25zLnRyYWNrSWRzO1xuXG4gICAgb3B0aW9ucy5ibG9ja1BhcmFtcyA9IG9wdGlvbnMuYmxvY2tQYXJhbXMgfHwgW107XG5cbiAgICBvcHRpb25zLmtub3duSGVscGVycyA9IGV4dGVuZChcbiAgICAgIE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgICB7XG4gICAgICAgIGhlbHBlck1pc3Npbmc6IHRydWUsXG4gICAgICAgIGJsb2NrSGVscGVyTWlzc2luZzogdHJ1ZSxcbiAgICAgICAgZWFjaDogdHJ1ZSxcbiAgICAgICAgaWY6IHRydWUsXG4gICAgICAgIHVubGVzczogdHJ1ZSxcbiAgICAgICAgd2l0aDogdHJ1ZSxcbiAgICAgICAgbG9nOiB0cnVlLFxuICAgICAgICBsb29rdXA6IHRydWVcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLmtub3duSGVscGVyc1xuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQocHJvZ3JhbSk7XG4gIH0sXG5cbiAgY29tcGlsZVByb2dyYW06IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgICBsZXQgY2hpbGRDb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgICAgcmVzdWx0ID0gY2hpbGRDb21waWxlci5jb21waWxlKHByb2dyYW0sIHRoaXMub3B0aW9ucyksXG4gICAgICBndWlkID0gdGhpcy5ndWlkKys7XG5cbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0aGlzLnVzZVBhcnRpYWwgfHwgcmVzdWx0LnVzZVBhcnRpYWw7XG5cbiAgICB0aGlzLmNoaWxkcmVuW2d1aWRdID0gcmVzdWx0O1xuICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgcmVzdWx0LnVzZURlcHRocztcblxuICAgIHJldHVybiBndWlkO1xuICB9LFxuXG4gIGFjY2VwdDogZnVuY3Rpb24obm9kZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBTYW5pdHkgY29kZSAqL1xuICAgIGlmICghdGhpc1tub2RlLnR5cGVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHR5cGU6ICcgKyBub2RlLnR5cGUsIG5vZGUpO1xuICAgIH1cblxuICAgIHRoaXMuc291cmNlTm9kZS51bnNoaWZ0KG5vZGUpO1xuICAgIGxldCByZXQgPSB0aGlzW25vZGUudHlwZV0obm9kZSk7XG4gICAgdGhpcy5zb3VyY2VOb2RlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnVuc2hpZnQocHJvZ3JhbS5ibG9ja1BhcmFtcyk7XG5cbiAgICBsZXQgYm9keSA9IHByb2dyYW0uYm9keSxcbiAgICAgIGJvZHlMZW5ndGggPSBib2R5Lmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJvZHlMZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnNoaWZ0KCk7XG5cbiAgICB0aGlzLmlzU2ltcGxlID0gYm9keUxlbmd0aCA9PT0gMTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gcHJvZ3JhbS5ibG9ja1BhcmFtcyA/IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoIDogMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9LFxuXG4gIEJsb2NrU3RhdGVtZW50OiBmdW5jdGlvbihibG9jaykge1xuICAgIHRyYW5zZm9ybUxpdGVyYWxUb1BhdGgoYmxvY2spO1xuXG4gICAgbGV0IHByb2dyYW0gPSBibG9jay5wcm9ncmFtLFxuICAgICAgaW52ZXJzZSA9IGJsb2NrLmludmVyc2U7XG5cbiAgICBwcm9ncmFtID0gcHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKHByb2dyYW0pO1xuICAgIGludmVyc2UgPSBpbnZlcnNlICYmIHRoaXMuY29tcGlsZVByb2dyYW0oaW52ZXJzZSk7XG5cbiAgICBsZXQgdHlwZSA9IHRoaXMuY2xhc3NpZnlTZXhwcihibG9jayk7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2hlbHBlcicpIHtcbiAgICAgIHRoaXMuaGVscGVyU2V4cHIoYmxvY2ssIHByb2dyYW0sIGludmVyc2UpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NpbXBsZScpIHtcbiAgICAgIHRoaXMuc2ltcGxlU2V4cHIoYmxvY2spO1xuXG4gICAgICAvLyBub3cgdGhhdCB0aGUgc2ltcGxlIG11c3RhY2hlIGlzIHJlc29sdmVkLCB3ZSBuZWVkIHRvXG4gICAgICAvLyBldmFsdWF0ZSBpdCBieSBleGVjdXRpbmcgYGJsb2NrSGVscGVyTWlzc2luZ2BcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hQcm9ncmFtJywgaW52ZXJzZSk7XG4gICAgICB0aGlzLm9wY29kZSgnZW1wdHlIYXNoJyk7XG4gICAgICB0aGlzLm9wY29kZSgnYmxvY2tWYWx1ZScsIGJsb2NrLnBhdGgub3JpZ2luYWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFtYmlndW91c1NleHByKGJsb2NrLCBwcm9ncmFtLCBpbnZlcnNlKTtcblxuICAgICAgLy8gbm93IHRoYXQgdGhlIHNpbXBsZSBtdXN0YWNoZSBpcyByZXNvbHZlZCwgd2UgbmVlZCB0b1xuICAgICAgLy8gZXZhbHVhdGUgaXQgYnkgZXhlY3V0aW5nIGBibG9ja0hlbHBlck1pc3NpbmdgXG4gICAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2FtYmlndW91c0Jsb2NrVmFsdWUnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG5cbiAgRGVjb3JhdG9yQmxvY2soZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb2dyYW0gPSBkZWNvcmF0b3IucHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKGRlY29yYXRvci5wcm9ncmFtKTtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhkZWNvcmF0b3IsIHByb2dyYW0sIHVuZGVmaW5lZCksXG4gICAgICBwYXRoID0gZGVjb3JhdG9yLnBhdGg7XG5cbiAgICB0aGlzLnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgIHRoaXMub3Bjb2RlKCdyZWdpc3RlckRlY29yYXRvcicsIHBhcmFtcy5sZW5ndGgsIHBhdGgub3JpZ2luYWwpO1xuICB9LFxuXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0cnVlO1xuXG4gICAgbGV0IHByb2dyYW0gPSBwYXJ0aWFsLnByb2dyYW07XG4gICAgaWYgKHByb2dyYW0pIHtcbiAgICAgIHByb2dyYW0gPSB0aGlzLmNvbXBpbGVQcm9ncmFtKHBhcnRpYWwucHJvZ3JhbSk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IHBhcnRpYWwucGFyYW1zO1xuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIG51bWJlciBvZiBwYXJ0aWFsIGFyZ3VtZW50czogJyArIHBhcmFtcy5sZW5ndGgsXG4gICAgICAgIHBhcnRpYWxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghcGFyYW1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5leHBsaWNpdFBhcnRpYWxDb250ZXh0KSB7XG4gICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICd1bmRlZmluZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKHsgdHlwZTogJ1BhdGhFeHByZXNzaW9uJywgcGFydHM6IFtdLCBkZXB0aDogMCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcGFydGlhbE5hbWUgPSBwYXJ0aWFsLm5hbWUub3JpZ2luYWwsXG4gICAgICBpc0R5bmFtaWMgPSBwYXJ0aWFsLm5hbWUudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nO1xuICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgIHRoaXMuYWNjZXB0KHBhcnRpYWwubmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhwYXJ0aWFsLCBwcm9ncmFtLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gICAgbGV0IGluZGVudCA9IHBhcnRpYWwuaW5kZW50IHx8ICcnO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJldmVudEluZGVudCAmJiBpbmRlbnQpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRDb250ZW50JywgaW5kZW50KTtcbiAgICAgIGluZGVudCA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMub3Bjb2RlKCdpbnZva2VQYXJ0aWFsJywgaXNEeW5hbWljLCBwYXJ0aWFsTmFtZSwgaW5kZW50KTtcbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbEJsb2NrKSB7XG4gICAgdGhpcy5QYXJ0aWFsU3RhdGVtZW50KHBhcnRpYWxCbG9jayk7XG4gIH0sXG5cbiAgTXVzdGFjaGVTdGF0ZW1lbnQ6IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gICAgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKTtcblxuICAgIGlmIChtdXN0YWNoZS5lc2NhcGVkICYmICF0aGlzLm9wdGlvbnMubm9Fc2NhcGUpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRFc2NhcGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmQnKTtcbiAgICB9XG4gIH0sXG4gIERlY29yYXRvcihkZWNvcmF0b3IpIHtcbiAgICB0aGlzLkRlY29yYXRvckJsb2NrKGRlY29yYXRvcik7XG4gIH0sXG5cbiAgQ29udGVudFN0YXRlbWVudDogZnVuY3Rpb24oY29udGVudCkge1xuICAgIGlmIChjb250ZW50LnZhbHVlKSB7XG4gICAgICB0aGlzLm9wY29kZSgnYXBwZW5kQ29udGVudCcsIGNvbnRlbnQudmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBDb21tZW50U3RhdGVtZW50OiBmdW5jdGlvbigpIHt9LFxuXG4gIFN1YkV4cHJlc3Npb246IGZ1bmN0aW9uKHNleHByKSB7XG4gICAgdHJhbnNmb3JtTGl0ZXJhbFRvUGF0aChzZXhwcik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmNsYXNzaWZ5U2V4cHIoc2V4cHIpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdzaW1wbGUnKSB7XG4gICAgICB0aGlzLnNpbXBsZVNleHByKHNleHByKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoZWxwZXInKSB7XG4gICAgICB0aGlzLmhlbHBlclNleHByKHNleHByKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbWJpZ3VvdXNTZXhwcihzZXhwcik7XG4gICAgfVxuICB9LFxuICBhbWJpZ3VvdXNTZXhwcjogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UpIHtcbiAgICBsZXQgcGF0aCA9IHNleHByLnBhdGgsXG4gICAgICBuYW1lID0gcGF0aC5wYXJ0c1swXSxcbiAgICAgIGlzQmxvY2sgPSBwcm9ncmFtICE9IG51bGwgfHwgaW52ZXJzZSAhPSBudWxsO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2dldENvbnRleHQnLCBwYXRoLmRlcHRoKTtcblxuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuXG4gICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2ludm9rZUFtYmlndW91cycsIG5hbWUsIGlzQmxvY2spO1xuICB9LFxuXG4gIHNpbXBsZVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBwYXRoID0gc2V4cHIucGF0aDtcbiAgICBwYXRoLnN0cmljdCA9IHRydWU7XG4gICAgdGhpcy5hY2NlcHQocGF0aCk7XG4gICAgdGhpcy5vcGNvZGUoJ3Jlc29sdmVQb3NzaWJsZUxhbWJkYScpO1xuICB9LFxuXG4gIGhlbHBlclNleHByOiBmdW5jdGlvbihzZXhwciwgcHJvZ3JhbSwgaW52ZXJzZSkge1xuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNldHVwRnVsbE11c3RhY2hlUGFyYW1zKHNleHByLCBwcm9ncmFtLCBpbnZlcnNlKSxcbiAgICAgIHBhdGggPSBzZXhwci5wYXRoLFxuICAgICAgbmFtZSA9IHBhdGgucGFydHNbMF07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmtub3duSGVscGVyc1tuYW1lXSkge1xuICAgICAgdGhpcy5vcGNvZGUoJ2ludm9rZUtub3duSGVscGVyJywgcGFyYW1zLmxlbmd0aCwgbmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMua25vd25IZWxwZXJzT25seSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1lvdSBzcGVjaWZpZWQga25vd25IZWxwZXJzT25seSwgYnV0IHVzZWQgdGhlIHVua25vd24gaGVscGVyICcgKyBuYW1lLFxuICAgICAgICBzZXhwclxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgICAgcGF0aC5mYWxzeSA9IHRydWU7XG5cbiAgICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuICAgICAgdGhpcy5vcGNvZGUoXG4gICAgICAgICdpbnZva2VIZWxwZXInLFxuICAgICAgICBwYXJhbXMubGVuZ3RoLFxuICAgICAgICBwYXRoLm9yaWdpbmFsLFxuICAgICAgICBBU1QuaGVscGVycy5zaW1wbGVJZChwYXRoKVxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgUGF0aEV4cHJlc3Npb246IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICB0aGlzLmFkZERlcHRoKHBhdGguZGVwdGgpO1xuICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgcGF0aC5kZXB0aCk7XG5cbiAgICBsZXQgbmFtZSA9IHBhdGgucGFydHNbMF0sXG4gICAgICBzY29wZWQgPSBBU1QuaGVscGVycy5zY29wZWRJZChwYXRoKSxcbiAgICAgIGJsb2NrUGFyYW1JZCA9ICFwYXRoLmRlcHRoICYmICFzY29wZWQgJiYgdGhpcy5ibG9ja1BhcmFtSW5kZXgobmFtZSk7XG5cbiAgICBpZiAoYmxvY2tQYXJhbUlkKSB7XG4gICAgICB0aGlzLm9wY29kZSgnbG9va3VwQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JZCwgcGF0aC5wYXJ0cyk7XG4gICAgfSBlbHNlIGlmICghbmFtZSkge1xuICAgICAgLy8gQ29udGV4dCByZWZlcmVuY2UsIGkuZS4gYHt7Zm9vIC59fWAgb3IgYHt7Zm9vIC4ufX1gXG4gICAgICB0aGlzLm9wY29kZSgncHVzaENvbnRleHQnKTtcbiAgICB9IGVsc2UgaWYgKHBhdGguZGF0YSkge1xuICAgICAgdGhpcy5vcHRpb25zLmRhdGEgPSB0cnVlO1xuICAgICAgdGhpcy5vcGNvZGUoJ2xvb2t1cERhdGEnLCBwYXRoLmRlcHRoLCBwYXRoLnBhcnRzLCBwYXRoLnN0cmljdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKFxuICAgICAgICAnbG9va3VwT25Db250ZXh0JyxcbiAgICAgICAgcGF0aC5wYXJ0cyxcbiAgICAgICAgcGF0aC5mYWxzeSxcbiAgICAgICAgcGF0aC5zdHJpY3QsXG4gICAgICAgIHNjb3BlZFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgU3RyaW5nTGl0ZXJhbDogZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmcnLCBzdHJpbmcudmFsdWUpO1xuICB9LFxuXG4gIE51bWJlckxpdGVyYWw6IGZ1bmN0aW9uKG51bWJlcikge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsIG51bWJlci52YWx1ZSk7XG4gIH0sXG5cbiAgQm9vbGVhbkxpdGVyYWw6IGZ1bmN0aW9uKGJvb2wpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCBib29sLnZhbHVlKTtcbiAgfSxcblxuICBVbmRlZmluZWRMaXRlcmFsOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCAndW5kZWZpbmVkJyk7XG4gIH0sXG5cbiAgTnVsbExpdGVyYWw6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICdudWxsJyk7XG4gIH0sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIGxldCBwYWlycyA9IGhhc2gucGFpcnMsXG4gICAgICBpID0gMCxcbiAgICAgIGwgPSBwYWlycy5sZW5ndGg7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaEhhc2gnKTtcblxuICAgIGZvciAoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0aGlzLnB1c2hQYXJhbShwYWlyc1tpXS52YWx1ZSk7XG4gICAgfVxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhc3NpZ25Ub0hhc2gnLCBwYWlyc1tpXS5rZXkpO1xuICAgIH1cbiAgICB0aGlzLm9wY29kZSgncG9wSGFzaCcpO1xuICB9LFxuXG4gIC8vIEhFTFBFUlNcbiAgb3Bjb2RlOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgdGhpcy5vcGNvZGVzLnB1c2goe1xuICAgICAgb3Bjb2RlOiBuYW1lLFxuICAgICAgYXJnczogc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLFxuICAgICAgbG9jOiB0aGlzLnNvdXJjZU5vZGVbMF0ubG9jXG4gICAgfSk7XG4gIH0sXG5cbiAgYWRkRGVwdGg6IGZ1bmN0aW9uKGRlcHRoKSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfSxcblxuICBjbGFzc2lmeVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBpc1NpbXBsZSA9IEFTVC5oZWxwZXJzLnNpbXBsZUlkKHNleHByLnBhdGgpO1xuXG4gICAgbGV0IGlzQmxvY2tQYXJhbSA9IGlzU2ltcGxlICYmICEhdGhpcy5ibG9ja1BhcmFtSW5kZXgoc2V4cHIucGF0aC5wYXJ0c1swXSk7XG5cbiAgICAvLyBhIG11c3RhY2hlIGlzIGFuIGVsaWdpYmxlIGhlbHBlciBpZjpcbiAgICAvLyAqIGl0cyBpZCBpcyBzaW1wbGUgKGEgc2luZ2xlIHBhcnQsIG5vdCBgdGhpc2Agb3IgYC4uYClcbiAgICBsZXQgaXNIZWxwZXIgPSAhaXNCbG9ja1BhcmFtICYmIEFTVC5oZWxwZXJzLmhlbHBlckV4cHJlc3Npb24oc2V4cHIpO1xuXG4gICAgLy8gaWYgYSBtdXN0YWNoZSBpcyBhbiBlbGlnaWJsZSBoZWxwZXIgYnV0IG5vdCBhIGRlZmluaXRlXG4gICAgLy8gaGVscGVyLCBpdCBpcyBhbWJpZ3VvdXMsIGFuZCB3aWxsIGJlIHJlc29sdmVkIGluIGEgbGF0ZXJcbiAgICAvLyBwYXNzIG9yIGF0IHJ1bnRpbWUuXG4gICAgbGV0IGlzRWxpZ2libGUgPSAhaXNCbG9ja1BhcmFtICYmIChpc0hlbHBlciB8fCBpc1NpbXBsZSk7XG5cbiAgICAvLyBpZiBhbWJpZ3VvdXMsIHdlIGNhbiBwb3NzaWJseSByZXNvbHZlIHRoZSBhbWJpZ3VpdHkgbm93XG4gICAgLy8gQW4gZWxpZ2libGUgaGVscGVyIGlzIG9uZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBjb21wbGV4IHBhdGgsIGkuZS4gYHRoaXMuZm9vYCwgYC4uL2Zvb2AgZXRjLlxuICAgIGlmIChpc0VsaWdpYmxlICYmICFpc0hlbHBlcikge1xuICAgICAgbGV0IG5hbWUgPSBzZXhwci5wYXRoLnBhcnRzWzBdLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKG9wdGlvbnMua25vd25IZWxwZXJzW25hbWVdKSB7XG4gICAgICAgIGlzSGVscGVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5rbm93bkhlbHBlcnNPbmx5KSB7XG4gICAgICAgIGlzRWxpZ2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNIZWxwZXIpIHtcbiAgICAgIHJldHVybiAnaGVscGVyJztcbiAgICB9IGVsc2UgaWYgKGlzRWxpZ2libGUpIHtcbiAgICAgIHJldHVybiAnYW1iaWd1b3VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdzaW1wbGUnO1xuICAgIH1cbiAgfSxcblxuICBwdXNoUGFyYW1zOiBmdW5jdGlvbihwYXJhbXMpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHBhcmFtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMucHVzaFBhcmFtKHBhcmFtc1tpXSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2hQYXJhbTogZnVuY3Rpb24odmFsKSB7XG4gICAgbGV0IHZhbHVlID0gdmFsLnZhbHVlICE9IG51bGwgPyB2YWwudmFsdWUgOiB2YWwub3JpZ2luYWwgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIGlmICh2YWx1ZS5yZXBsYWNlKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXihcXC4/XFwuXFwvKSovZywgJycpLnJlcGxhY2UoL1xcLy9nLCAnLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsLmRlcHRoKSB7XG4gICAgICAgIHRoaXMuYWRkRGVwdGgodmFsLmRlcHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgdmFsLmRlcHRoIHx8IDApO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmdQYXJhbScsIHZhbHVlLCB2YWwudHlwZSk7XG5cbiAgICAgIGlmICh2YWwudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nKSB7XG4gICAgICAgIC8vIFN1YkV4cHJlc3Npb25zIGdldCBldmFsdWF0ZWQgYW5kIHBhc3NlZCBpblxuICAgICAgICAvLyBpbiBzdHJpbmcgcGFyYW1zIG1vZGUuXG4gICAgICAgIHRoaXMuYWNjZXB0KHZhbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICAgIGxldCBibG9ja1BhcmFtSW5kZXg7XG4gICAgICAgIGlmICh2YWwucGFydHMgJiYgIUFTVC5oZWxwZXJzLnNjb3BlZElkKHZhbCkgJiYgIXZhbC5kZXB0aCkge1xuICAgICAgICAgIGJsb2NrUGFyYW1JbmRleCA9IHRoaXMuYmxvY2tQYXJhbUluZGV4KHZhbC5wYXJ0c1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJsb2NrUGFyYW1JbmRleCkge1xuICAgICAgICAgIGxldCBibG9ja1BhcmFtQ2hpbGQgPSB2YWwucGFydHMuc2xpY2UoMSkuam9pbignLicpO1xuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCAnQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JbmRleCwgYmxvY2tQYXJhbUNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbC5vcmlnaW5hbCB8fCB2YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUucmVwbGFjZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXnRoaXMoPzpcXC58JCkvLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC5cXC8vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4kLywgJycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCB2YWwudHlwZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFjY2VwdCh2YWwpO1xuICAgIH1cbiAgfSxcblxuICBzZXR1cEZ1bGxNdXN0YWNoZVBhcmFtczogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UsIG9taXRFbXB0eSkge1xuICAgIGxldCBwYXJhbXMgPSBzZXhwci5wYXJhbXM7XG4gICAgdGhpcy5wdXNoUGFyYW1zKHBhcmFtcyk7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBpbnZlcnNlKTtcblxuICAgIGlmIChzZXhwci5oYXNoKSB7XG4gICAgICB0aGlzLmFjY2VwdChzZXhwci5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcsIG9taXRFbXB0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfSxcblxuICBibG9ja1BhcmFtSW5kZXg6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBmb3IgKFxuICAgICAgbGV0IGRlcHRoID0gMCwgbGVuID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLmxlbmd0aDtcbiAgICAgIGRlcHRoIDwgbGVuO1xuICAgICAgZGVwdGgrK1xuICAgICkge1xuICAgICAgbGV0IGJsb2NrUGFyYW1zID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zW2RlcHRoXSxcbiAgICAgICAgcGFyYW0gPSBibG9ja1BhcmFtcyAmJiBpbmRleE9mKGJsb2NrUGFyYW1zLCBuYW1lKTtcbiAgICAgIGlmIChibG9ja1BhcmFtcyAmJiBwYXJhbSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBbZGVwdGgsIHBhcmFtXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVjb21waWxlKGlucHV0LCBvcHRpb25zLCBlbnYpIHtcbiAgaWYgKFxuICAgIGlucHV0ID09IG51bGwgfHxcbiAgICAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJyAmJiBpbnB1dC50eXBlICE9PSAnUHJvZ3JhbScpXG4gICkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAnWW91IG11c3QgcGFzcyBhIHN0cmluZyBvciBIYW5kbGViYXJzIEFTVCB0byBIYW5kbGViYXJzLnByZWNvbXBpbGUuIFlvdSBwYXNzZWQgJyArXG4gICAgICAgIGlucHV0XG4gICAgKTtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoISgnZGF0YScgaW4gb3B0aW9ucykpIHtcbiAgICBvcHRpb25zLmRhdGEgPSB0cnVlO1xuICB9XG4gIGlmIChvcHRpb25zLmNvbXBhdCkge1xuICAgIG9wdGlvbnMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfVxuXG4gIGxldCBhc3QgPSBlbnYucGFyc2UoaW5wdXQsIG9wdGlvbnMpLFxuICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlKGlucHV0LCBvcHRpb25zID0ge30sIGVudikge1xuICBpZiAoXG4gICAgaW5wdXQgPT0gbnVsbCB8fFxuICAgICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnICYmIGlucHV0LnR5cGUgIT09ICdQcm9ncmFtJylcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdZb3UgbXVzdCBwYXNzIGEgc3RyaW5nIG9yIEhhbmRsZWJhcnMgQVNUIHRvIEhhbmRsZWJhcnMuY29tcGlsZS4gWW91IHBhc3NlZCAnICtcbiAgICAgICAgaW5wdXRcbiAgICApO1xuICB9XG5cbiAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gIGlmICghKCdkYXRhJyBpbiBvcHRpb25zKSkge1xuICAgIG9wdGlvbnMuZGF0YSA9IHRydWU7XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29tcGF0KSB7XG4gICAgb3B0aW9ucy51c2VEZXB0aHMgPSB0cnVlO1xuICB9XG5cbiAgbGV0IGNvbXBpbGVkO1xuXG4gIGZ1bmN0aW9uIGNvbXBpbGVJbnB1dCgpIHtcbiAgICBsZXQgYXN0ID0gZW52LnBhcnNlKGlucHV0LCBvcHRpb25zKSxcbiAgICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKSxcbiAgICAgIHRlbXBsYXRlU3BlYyA9IG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICByZXR1cm4gZW52LnRlbXBsYXRlKHRlbXBsYXRlU3BlYyk7XG4gIH1cblxuICAvLyBUZW1wbGF0ZSBpcyBvbmx5IGNvbXBpbGVkIG9uIGZpcnN0IHVzZSBhbmQgY2FjaGVkIGFmdGVyIHRoYXQgcG9pbnQuXG4gIGZ1bmN0aW9uIHJldChjb250ZXh0LCBleGVjT3B0aW9ucykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5jYWxsKHRoaXMsIGNvbnRleHQsIGV4ZWNPcHRpb25zKTtcbiAgfVxuICByZXQuX3NldHVwID0gZnVuY3Rpb24oc2V0dXBPcHRpb25zKSB7XG4gICAgaWYgKCFjb21waWxlZCkge1xuICAgICAgY29tcGlsZWQgPSBjb21waWxlSW5wdXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBpbGVkLl9zZXR1cChzZXR1cE9wdGlvbnMpO1xuICB9O1xuICByZXQuX2NoaWxkID0gZnVuY3Rpb24oaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5fY2hpbGQoaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocyk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGFyZ0VxdWFscyhhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNBcnJheShhKSAmJiBpc0FycmF5KGIpICYmIGEubGVuZ3RoID09PSBiLmxlbmd0aCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFhcmdFcXVhbHMoYVtpXSwgYltpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MaXRlcmFsVG9QYXRoKHNleHByKSB7XG4gIGlmICghc2V4cHIucGF0aC5wYXJ0cykge1xuICAgIGxldCBsaXRlcmFsID0gc2V4cHIucGF0aDtcbiAgICAvLyBDYXN0aW5nIHRvIHN0cmluZyBoZXJlIHRvIG1ha2UgZmFsc2UgYW5kIDAgbGl0ZXJhbCB2YWx1ZXMgcGxheSBuaWNlbHkgd2l0aCB0aGUgcmVzdFxuICAgIC8vIG9mIHRoZSBzeXN0ZW0uXG4gICAgc2V4cHIucGF0aCA9IHtcbiAgICAgIHR5cGU6ICdQYXRoRXhwcmVzc2lvbicsXG4gICAgICBkYXRhOiBmYWxzZSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgcGFydHM6IFtsaXRlcmFsLm9yaWdpbmFsICsgJyddLFxuICAgICAgb3JpZ2luYWw6IGxpdGVyYWwub3JpZ2luYWwgKyAnJyxcbiAgICAgIGxvYzogbGl0ZXJhbC5sb2NcbiAgICB9O1xuICB9XG59XG4iXX0= + + +/***/ }), + +/***/ 44490: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.SourceLocation = SourceLocation; +exports.id = id; +exports.stripFlags = stripFlags; +exports.stripComment = stripComment; +exports.preparePath = preparePath; +exports.prepareMustache = prepareMustache; +exports.prepareRawBlock = prepareRawBlock; +exports.prepareBlock = prepareBlock; +exports.prepareProgram = prepareProgram; +exports.preparePartialBlock = preparePartialBlock; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +function validateClose(open, close) { + close = close.path ? close.path.original : close; + + if (open.path.original !== close) { + var errorNode = { loc: open.path.loc }; + + throw new _exception2['default'](open.path.original + " doesn't match " + close, errorNode); + } +} + +function SourceLocation(source, locInfo) { + this.source = source; + this.start = { + line: locInfo.first_line, + column: locInfo.first_column + }; + this.end = { + line: locInfo.last_line, + column: locInfo.last_column + }; +} + +function id(token) { + if (/^\[.*\]$/.test(token)) { + return token.substring(1, token.length - 1); + } else { + return token; + } +} + +function stripFlags(open, close) { + return { + open: open.charAt(2) === '~', + close: close.charAt(close.length - 3) === '~' + }; +} + +function stripComment(comment) { + return comment.replace(/^\{\{~?!-?-?/, '').replace(/-?-?~?\}\}$/, ''); +} + +function preparePath(data, parts, loc) { + loc = this.locInfo(loc); + + var original = data ? '@' : '', + dig = [], + depth = 0; + + for (var i = 0, l = parts.length; i < l; i++) { + var part = parts[i].part, + + // If we have [] syntax then we do not treat path references as operators, + // i.e. foo.[this] resolves to approximately context.foo['this'] + isLiteral = parts[i].original !== part; + original += (parts[i].separator || '') + part; + + if (!isLiteral && (part === '..' || part === '.' || part === 'this')) { + if (dig.length > 0) { + throw new _exception2['default']('Invalid path: ' + original, { loc: loc }); + } else if (part === '..') { + depth++; + } + } else { + dig.push(part); + } + } + + return { + type: 'PathExpression', + data: data, + depth: depth, + parts: dig, + original: original, + loc: loc + }; +} + +function prepareMustache(path, params, hash, open, strip, locInfo) { + // Must use charAt to support IE pre-10 + var escapeFlag = open.charAt(3) || open.charAt(2), + escaped = escapeFlag !== '{' && escapeFlag !== '&'; + + var decorator = /\*/.test(open); + return { + type: decorator ? 'Decorator' : 'MustacheStatement', + path: path, + params: params, + hash: hash, + escaped: escaped, + strip: strip, + loc: this.locInfo(locInfo) + }; +} + +function prepareRawBlock(openRawBlock, contents, close, locInfo) { + validateClose(openRawBlock, close); + + locInfo = this.locInfo(locInfo); + var program = { + type: 'Program', + body: contents, + strip: {}, + loc: locInfo + }; + + return { + type: 'BlockStatement', + path: openRawBlock.path, + params: openRawBlock.params, + hash: openRawBlock.hash, + program: program, + openStrip: {}, + inverseStrip: {}, + closeStrip: {}, + loc: locInfo + }; +} + +function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) { + if (close && close.path) { + validateClose(openBlock, close); + } + + var decorator = /\*/.test(openBlock.open); + + program.blockParams = openBlock.blockParams; + + var inverse = undefined, + inverseStrip = undefined; + + if (inverseAndProgram) { + if (decorator) { + throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram); + } + + if (inverseAndProgram.chain) { + inverseAndProgram.program.body[0].closeStrip = close.strip; + } + + inverseStrip = inverseAndProgram.strip; + inverse = inverseAndProgram.program; + } + + if (inverted) { + inverted = inverse; + inverse = program; + program = inverted; + } + + return { + type: decorator ? 'DecoratorBlock' : 'BlockStatement', + path: openBlock.path, + params: openBlock.params, + hash: openBlock.hash, + program: program, + inverse: inverse, + openStrip: openBlock.strip, + inverseStrip: inverseStrip, + closeStrip: close && close.strip, + loc: this.locInfo(locInfo) + }; +} + +function prepareProgram(statements, loc) { + if (!loc && statements.length) { + var firstLoc = statements[0].loc, + lastLoc = statements[statements.length - 1].loc; + + /* istanbul ignore else */ + if (firstLoc && lastLoc) { + loc = { + source: firstLoc.source, + start: { + line: firstLoc.start.line, + column: firstLoc.start.column + }, + end: { + line: lastLoc.end.line, + column: lastLoc.end.column + } + }; + } + } + + return { + type: 'Program', + body: statements, + strip: {}, + loc: loc + }; +} + +function preparePartialBlock(open, program, close, locInfo) { + validateClose(open, close); + + return { + type: 'PartialBlockStatement', + name: open.path, + params: open.params, + hash: open.hash, + program: program, + openStrip: open.strip, + closeStrip: close && close.strip, + loc: this.locInfo(locInfo) + }; +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7eUJBQXNCLGNBQWM7Ozs7QUFFcEMsU0FBUyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUNsQyxPQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7O0FBRWpELE1BQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO0FBQ2hDLFFBQUksU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7O0FBRXZDLFVBQU0sMkJBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsS0FBSyxFQUM5QyxTQUFTLENBQ1YsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtBQUM5QyxNQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNyQixNQUFJLENBQUMsS0FBSyxHQUFHO0FBQ1gsUUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0FBQ3hCLFVBQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtHQUM3QixDQUFDO0FBQ0YsTUFBSSxDQUFDLEdBQUcsR0FBRztBQUNULFFBQUksRUFBRSxPQUFPLENBQUMsU0FBUztBQUN2QixVQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7R0FDNUIsQ0FBQztDQUNIOztBQUVNLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRTtBQUN4QixNQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDMUIsV0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzdDLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN0QyxTQUFPO0FBQ0wsUUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztBQUM1QixTQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUc7R0FDOUMsQ0FBQztDQUNIOztBQUVNLFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUNwQyxTQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7Q0FDdkU7O0FBRU0sU0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDNUMsS0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRXhCLE1BQUksUUFBUSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtNQUM1QixHQUFHLEdBQUcsRUFBRTtNQUNSLEtBQUssR0FBRyxDQUFDLENBQUM7O0FBRVosT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTs7OztBQUd0QixhQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDekMsWUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUEsR0FBSSxJQUFJLENBQUM7O0FBRTlDLFFBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxNQUFNLENBQUEsQUFBQyxFQUFFO0FBQ3BFLFVBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDbEIsY0FBTSwyQkFBYyxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUgsR0FBRyxFQUFFLENBQUMsQ0FBQztPQUMzRCxNQUFNLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtBQUN4QixhQUFLLEVBQUUsQ0FBQztPQUNUO0tBQ0YsTUFBTTtBQUNMLFNBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEI7R0FDRjs7QUFFRCxTQUFPO0FBQ0wsUUFBSSxFQUFFLGdCQUFnQjtBQUN0QixRQUFJLEVBQUosSUFBSTtBQUNKLFNBQUssRUFBTCxLQUFLO0FBQ0wsU0FBSyxFQUFFLEdBQUc7QUFDVixZQUFRLEVBQVIsUUFBUTtBQUNSLE9BQUcsRUFBSCxHQUFHO0dBQ0osQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFOztBQUV4RSxNQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO01BQy9DLE9BQU8sR0FBRyxVQUFVLEtBQUssR0FBRyxJQUFJLFVBQVUsS0FBSyxHQUFHLENBQUM7O0FBRXJELE1BQUksU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTLEdBQUcsV0FBVyxHQUFHLG1CQUFtQjtBQUNuRCxRQUFJLEVBQUosSUFBSTtBQUNKLFVBQU0sRUFBTixNQUFNO0FBQ04sUUFBSSxFQUFKLElBQUk7QUFDSixXQUFPLEVBQVAsT0FBTztBQUNQLFNBQUssRUFBTCxLQUFLO0FBQ0wsT0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0dBQzNCLENBQUM7Q0FDSDs7QUFFTSxTQUFTLGVBQWUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDdEUsZUFBYSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzs7QUFFbkMsU0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEMsTUFBSSxPQUFPLEdBQUc7QUFDWixRQUFJLEVBQUUsU0FBUztBQUNmLFFBQUksRUFBRSxRQUFRO0FBQ2QsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsT0FBTztHQUNiLENBQUM7O0FBRUYsU0FBTztBQUNMLFFBQUksRUFBRSxnQkFBZ0I7QUFDdEIsUUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO0FBQ3ZCLFVBQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtBQUMzQixRQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7QUFDdkIsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsRUFBRTtBQUNiLGdCQUFZLEVBQUUsRUFBRTtBQUNoQixjQUFVLEVBQUUsRUFBRTtBQUNkLE9BQUcsRUFBRSxPQUFPO0dBQ2IsQ0FBQztDQUNIOztBQUVNLFNBQVMsWUFBWSxDQUMxQixTQUFTLEVBQ1QsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsUUFBUSxFQUNSLE9BQU8sRUFDUDtBQUNBLE1BQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7QUFDdkIsaUJBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7R0FDakM7O0FBRUQsTUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRTFDLFNBQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQzs7QUFFNUMsTUFBSSxPQUFPLFlBQUE7TUFBRSxZQUFZLFlBQUEsQ0FBQzs7QUFFMUIsTUFBSSxpQkFBaUIsRUFBRTtBQUNyQixRQUFJLFNBQVMsRUFBRTtBQUNiLFlBQU0sMkJBQ0osdUNBQXVDLEVBQ3ZDLGlCQUFpQixDQUNsQixDQUFDO0tBQ0g7O0FBRUQsUUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7QUFDM0IsdUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztLQUM1RDs7QUFFRCxnQkFBWSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztBQUN2QyxXQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDO0dBQ3JDOztBQUVELE1BQUksUUFBUSxFQUFFO0FBQ1osWUFBUSxHQUFHLE9BQU8sQ0FBQztBQUNuQixXQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ2xCLFdBQU8sR0FBRyxRQUFRLENBQUM7R0FDcEI7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCO0FBQ3JELFFBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtBQUNwQixVQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07QUFDeEIsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO0FBQ3BCLFdBQU8sRUFBUCxPQUFPO0FBQ1AsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUs7QUFDMUIsZ0JBQVksRUFBWixZQUFZO0FBQ1osY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIOztBQUVNLFNBQVMsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7QUFDOUMsTUFBSSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO0FBQzdCLFFBQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1FBQ2hDLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7OztBQUdsRCxRQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7QUFDdkIsU0FBRyxHQUFHO0FBQ0osY0FBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQ3ZCLGFBQUssRUFBRTtBQUNMLGNBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDekIsZ0JBQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU07U0FDOUI7QUFDRCxXQUFHLEVBQUU7QUFDSCxjQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ3RCLGdCQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1NBQzNCO09BQ0YsQ0FBQztLQUNIO0dBQ0Y7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTO0FBQ2YsUUFBSSxFQUFFLFVBQVU7QUFDaEIsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsR0FBRztHQUNULENBQUM7Q0FDSDs7QUFFTSxTQUFTLG1CQUFtQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUNqRSxlQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUUzQixTQUFPO0FBQ0wsUUFBSSxFQUFFLHVCQUF1QjtBQUM3QixRQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7QUFDZixVQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07QUFDbkIsUUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0FBQ2YsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7QUFDckIsY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpIHtcbiAgY2xvc2UgPSBjbG9zZS5wYXRoID8gY2xvc2UucGF0aC5vcmlnaW5hbCA6IGNsb3NlO1xuXG4gIGlmIChvcGVuLnBhdGgub3JpZ2luYWwgIT09IGNsb3NlKSB7XG4gICAgbGV0IGVycm9yTm9kZSA9IHsgbG9jOiBvcGVuLnBhdGgubG9jIH07XG5cbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgb3Blbi5wYXRoLm9yaWdpbmFsICsgXCIgZG9lc24ndCBtYXRjaCBcIiArIGNsb3NlLFxuICAgICAgZXJyb3JOb2RlXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU291cmNlTG9jYXRpb24oc291cmNlLCBsb2NJbmZvKSB7XG4gIHRoaXMuc291cmNlID0gc291cmNlO1xuICB0aGlzLnN0YXJ0ID0ge1xuICAgIGxpbmU6IGxvY0luZm8uZmlyc3RfbGluZSxcbiAgICBjb2x1bW46IGxvY0luZm8uZmlyc3RfY29sdW1uXG4gIH07XG4gIHRoaXMuZW5kID0ge1xuICAgIGxpbmU6IGxvY0luZm8ubGFzdF9saW5lLFxuICAgIGNvbHVtbjogbG9jSW5mby5sYXN0X2NvbHVtblxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWQodG9rZW4pIHtcbiAgaWYgKC9eXFxbLipcXF0kLy50ZXN0KHRva2VuKSkge1xuICAgIHJldHVybiB0b2tlbi5zdWJzdHJpbmcoMSwgdG9rZW4ubGVuZ3RoIC0gMSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcEZsYWdzKG9wZW4sIGNsb3NlKSB7XG4gIHJldHVybiB7XG4gICAgb3Blbjogb3Blbi5jaGFyQXQoMikgPT09ICd+JyxcbiAgICBjbG9zZTogY2xvc2UuY2hhckF0KGNsb3NlLmxlbmd0aCAtIDMpID09PSAnfidcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29tbWVudChjb21tZW50KSB7XG4gIHJldHVybiBjb21tZW50LnJlcGxhY2UoL15cXHtcXHt+PyEtPy0/LywgJycpLnJlcGxhY2UoLy0/LT9+P1xcfVxcfSQvLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGF0aChkYXRhLCBwYXJ0cywgbG9jKSB7XG4gIGxvYyA9IHRoaXMubG9jSW5mbyhsb2MpO1xuXG4gIGxldCBvcmlnaW5hbCA9IGRhdGEgPyAnQCcgOiAnJyxcbiAgICBkaWcgPSBbXSxcbiAgICBkZXB0aCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldLnBhcnQsXG4gICAgICAvLyBJZiB3ZSBoYXZlIFtdIHN5bnRheCB0aGVuIHdlIGRvIG5vdCB0cmVhdCBwYXRoIHJlZmVyZW5jZXMgYXMgb3BlcmF0b3JzLFxuICAgICAgLy8gaS5lLiBmb28uW3RoaXNdIHJlc29sdmVzIHRvIGFwcHJveGltYXRlbHkgY29udGV4dC5mb29bJ3RoaXMnXVxuICAgICAgaXNMaXRlcmFsID0gcGFydHNbaV0ub3JpZ2luYWwgIT09IHBhcnQ7XG4gICAgb3JpZ2luYWwgKz0gKHBhcnRzW2ldLnNlcGFyYXRvciB8fCAnJykgKyBwYXJ0O1xuXG4gICAgaWYgKCFpc0xpdGVyYWwgJiYgKHBhcnQgPT09ICcuLicgfHwgcGFydCA9PT0gJy4nIHx8IHBhcnQgPT09ICd0aGlzJykpIHtcbiAgICAgIGlmIChkaWcubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHBhdGg6ICcgKyBvcmlnaW5hbCwgeyBsb2MgfSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGlnLnB1c2gocGFydCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnUGF0aEV4cHJlc3Npb24nLFxuICAgIGRhdGEsXG4gICAgZGVwdGgsXG4gICAgcGFydHM6IGRpZyxcbiAgICBvcmlnaW5hbCxcbiAgICBsb2NcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNdXN0YWNoZShwYXRoLCBwYXJhbXMsIGhhc2gsIG9wZW4sIHN0cmlwLCBsb2NJbmZvKSB7XG4gIC8vIE11c3QgdXNlIGNoYXJBdCB0byBzdXBwb3J0IElFIHByZS0xMFxuICBsZXQgZXNjYXBlRmxhZyA9IG9wZW4uY2hhckF0KDMpIHx8IG9wZW4uY2hhckF0KDIpLFxuICAgIGVzY2FwZWQgPSBlc2NhcGVGbGFnICE9PSAneycgJiYgZXNjYXBlRmxhZyAhPT0gJyYnO1xuXG4gIGxldCBkZWNvcmF0b3IgPSAvXFwqLy50ZXN0KG9wZW4pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3InIDogJ011c3RhY2hlU3RhdGVtZW50JyxcbiAgICBwYXRoLFxuICAgIHBhcmFtcyxcbiAgICBoYXNoLFxuICAgIGVzY2FwZWQsXG4gICAgc3RyaXAsXG4gICAgbG9jOiB0aGlzLmxvY0luZm8obG9jSW5mbylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVSYXdCbG9jayhvcGVuUmF3QmxvY2ssIGNvbnRlbnRzLCBjbG9zZSwgbG9jSW5mbykge1xuICB2YWxpZGF0ZUNsb3NlKG9wZW5SYXdCbG9jaywgY2xvc2UpO1xuXG4gIGxvY0luZm8gPSB0aGlzLmxvY0luZm8obG9jSW5mbyk7XG4gIGxldCBwcm9ncmFtID0ge1xuICAgIHR5cGU6ICdQcm9ncmFtJyxcbiAgICBib2R5OiBjb250ZW50cyxcbiAgICBzdHJpcDoge30sXG4gICAgbG9jOiBsb2NJbmZvXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5SYXdCbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlblJhd0Jsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuUmF3QmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIG9wZW5TdHJpcDoge30sXG4gICAgaW52ZXJzZVN0cmlwOiB7fSxcbiAgICBjbG9zZVN0cmlwOiB7fSxcbiAgICBsb2M6IGxvY0luZm9cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVCbG9jayhcbiAgb3BlbkJsb2NrLFxuICBwcm9ncmFtLFxuICBpbnZlcnNlQW5kUHJvZ3JhbSxcbiAgY2xvc2UsXG4gIGludmVydGVkLFxuICBsb2NJbmZvXG4pIHtcbiAgaWYgKGNsb3NlICYmIGNsb3NlLnBhdGgpIHtcbiAgICB2YWxpZGF0ZUNsb3NlKG9wZW5CbG9jaywgY2xvc2UpO1xuICB9XG5cbiAgbGV0IGRlY29yYXRvciA9IC9cXCovLnRlc3Qob3BlbkJsb2NrLm9wZW4pO1xuXG4gIHByb2dyYW0uYmxvY2tQYXJhbXMgPSBvcGVuQmxvY2suYmxvY2tQYXJhbXM7XG5cbiAgbGV0IGludmVyc2UsIGludmVyc2VTdHJpcDtcblxuICBpZiAoaW52ZXJzZUFuZFByb2dyYW0pIHtcbiAgICBpZiAoZGVjb3JhdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVW5leHBlY3RlZCBpbnZlcnNlIGJsb2NrIG9uIGRlY29yYXRvcicsXG4gICAgICAgIGludmVyc2VBbmRQcm9ncmFtXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnZlcnNlQW5kUHJvZ3JhbS5jaGFpbikge1xuICAgICAgaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbS5ib2R5WzBdLmNsb3NlU3RyaXAgPSBjbG9zZS5zdHJpcDtcbiAgICB9XG5cbiAgICBpbnZlcnNlU3RyaXAgPSBpbnZlcnNlQW5kUHJvZ3JhbS5zdHJpcDtcbiAgICBpbnZlcnNlID0gaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbTtcbiAgfVxuXG4gIGlmIChpbnZlcnRlZCkge1xuICAgIGludmVydGVkID0gaW52ZXJzZTtcbiAgICBpbnZlcnNlID0gcHJvZ3JhbTtcbiAgICBwcm9ncmFtID0gaW52ZXJ0ZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3JCbG9jaycgOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5CbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlbkJsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuQmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIGludmVyc2UsXG4gICAgb3BlblN0cmlwOiBvcGVuQmxvY2suc3RyaXAsXG4gICAgaW52ZXJzZVN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUHJvZ3JhbShzdGF0ZW1lbnRzLCBsb2MpIHtcbiAgaWYgKCFsb2MgJiYgc3RhdGVtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBmaXJzdExvYyA9IHN0YXRlbWVudHNbMF0ubG9jLFxuICAgICAgbGFzdExvYyA9IHN0YXRlbWVudHNbc3RhdGVtZW50cy5sZW5ndGggLSAxXS5sb2M7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChmaXJzdExvYyAmJiBsYXN0TG9jKSB7XG4gICAgICBsb2MgPSB7XG4gICAgICAgIHNvdXJjZTogZmlyc3RMb2Muc291cmNlLFxuICAgICAgICBzdGFydDoge1xuICAgICAgICAgIGxpbmU6IGZpcnN0TG9jLnN0YXJ0LmxpbmUsXG4gICAgICAgICAgY29sdW1uOiBmaXJzdExvYy5zdGFydC5jb2x1bW5cbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiB7XG4gICAgICAgICAgbGluZTogbGFzdExvYy5lbmQubGluZSxcbiAgICAgICAgICBjb2x1bW46IGxhc3RMb2MuZW5kLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1Byb2dyYW0nLFxuICAgIGJvZHk6IHN0YXRlbWVudHMsXG4gICAgc3RyaXA6IHt9LFxuICAgIGxvYzogbG9jXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGFydGlhbEJsb2NrKG9wZW4sIHByb2dyYW0sIGNsb3NlLCBsb2NJbmZvKSB7XG4gIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1BhcnRpYWxCbG9ja1N0YXRlbWVudCcsXG4gICAgbmFtZTogb3Blbi5wYXRoLFxuICAgIHBhcmFtczogb3Blbi5wYXJhbXMsXG4gICAgaGFzaDogb3Blbi5oYXNoLFxuICAgIHByb2dyYW0sXG4gICAgb3BlblN0cmlwOiBvcGVuLnN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG4iXX0= + + +/***/ }), + +/***/ 564: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _base = __webpack_require__(29559); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +var _utils = __webpack_require__(69446); + +var _codeGen = __webpack_require__(67914); + +var _codeGen2 = _interopRequireDefault(_codeGen); + +function Literal(value) { + this.value = value; +} + +function JavaScriptCompiler() {} + +JavaScriptCompiler.prototype = { + // PUBLIC API: You can override these methods in a subclass to provide + // alternative compiled forms for name lookup and buffering semantics + nameLookup: function nameLookup(parent, name /*, type */) { + return this.internalNameLookup(parent, name); + }, + depthedLookup: function depthedLookup(name) { + return [this.aliasable('container.lookup'), '(depths, ', JSON.stringify(name), ')']; + }, + + compilerInfo: function compilerInfo() { + var revision = _base.COMPILER_REVISION, + versions = _base.REVISION_CHANGES[revision]; + return [revision, versions]; + }, + + appendToBuffer: function appendToBuffer(source, location, explicit) { + // Force a source as this simplifies the merge logic. + if (!_utils.isArray(source)) { + source = [source]; + } + source = this.source.wrap(source, location); + + if (this.environment.isSimple) { + return ['return ', source, ';']; + } else if (explicit) { + // This is a case where the buffer operation occurs as a child of another + // construct, generally braces. We have to explicitly output these buffer + // operations to ensure that the emitted code goes in the correct location. + return ['buffer += ', source, ';']; + } else { + source.appendToBuffer = true; + return source; + } + }, + + initializeBuffer: function initializeBuffer() { + return this.quotedString(''); + }, + // END PUBLIC API + internalNameLookup: function internalNameLookup(parent, name) { + this.lookupPropertyFunctionIsUsed = true; + return ['lookupProperty(', parent, ',', JSON.stringify(name), ')']; + }, + + lookupPropertyFunctionIsUsed: false, + + compile: function compile(environment, options, context, asObject) { + this.environment = environment; + this.options = options; + this.stringParams = this.options.stringParams; + this.trackIds = this.options.trackIds; + this.precompile = !asObject; + + this.name = this.environment.name; + this.isChild = !!context; + this.context = context || { + decorators: [], + programs: [], + environments: [] + }; + + this.preamble(); + + this.stackSlot = 0; + this.stackVars = []; + this.aliases = {}; + this.registers = { list: [] }; + this.hashes = []; + this.compileStack = []; + this.inlineStack = []; + this.blockParams = []; + + this.compileChildren(environment, options); + + this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat; + this.useBlockParams = this.useBlockParams || environment.useBlockParams; + + var opcodes = environment.opcodes, + opcode = undefined, + firstLoc = undefined, + i = undefined, + l = undefined; + + for (i = 0, l = opcodes.length; i < l; i++) { + opcode = opcodes[i]; + + this.source.currentLocation = opcode.loc; + firstLoc = firstLoc || opcode.loc; + this[opcode.opcode].apply(this, opcode.args); + } + + // Flush any trailing content that might be pending. + this.source.currentLocation = firstLoc; + this.pushSource(''); + + /* istanbul ignore next */ + if (this.stackSlot || this.inlineStack.length || this.compileStack.length) { + throw new _exception2['default']('Compile completed with content left on stack'); + } + + if (!this.decorators.isEmpty()) { + this.useDecorators = true; + + this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\n']); + this.decorators.push('return fn;'); + + if (asObject) { + this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]); + } else { + this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\n'); + this.decorators.push('}\n'); + this.decorators = this.decorators.merge(); + } + } else { + this.decorators = undefined; + } + + var fn = this.createFunctionContext(asObject); + if (!this.isChild) { + var ret = { + compiler: this.compilerInfo(), + main: fn + }; + + if (this.decorators) { + ret.main_d = this.decorators; // eslint-disable-line camelcase + ret.useDecorators = true; + } + + var _context = this.context; + var programs = _context.programs; + var decorators = _context.decorators; + + for (i = 0, l = programs.length; i < l; i++) { + if (programs[i]) { + ret[i] = programs[i]; + if (decorators[i]) { + ret[i + '_d'] = decorators[i]; + ret.useDecorators = true; + } + } + } + + if (this.environment.usePartial) { + ret.usePartial = true; + } + if (this.options.data) { + ret.useData = true; + } + if (this.useDepths) { + ret.useDepths = true; + } + if (this.useBlockParams) { + ret.useBlockParams = true; + } + if (this.options.compat) { + ret.compat = true; + } + + if (!asObject) { + ret.compiler = JSON.stringify(ret.compiler); + + this.source.currentLocation = { start: { line: 1, column: 0 } }; + ret = this.objectLiteral(ret); + + if (options.srcName) { + ret = ret.toStringWithSourceMap({ file: options.destName }); + ret.map = ret.map && ret.map.toString(); + } else { + ret = ret.toString(); + } + } else { + ret.compilerOptions = this.options; + } + + return ret; + } else { + return fn; + } + }, + + preamble: function preamble() { + // track the last context pushed into place to allow skipping the + // getContext opcode when it would be a noop + this.lastContext = 0; + this.source = new _codeGen2['default'](this.options.srcName); + this.decorators = new _codeGen2['default'](this.options.srcName); + }, + + createFunctionContext: function createFunctionContext(asObject) { + // istanbul ignore next + + var _this = this; + + var varDeclarations = ''; + + var locals = this.stackVars.concat(this.registers.list); + if (locals.length > 0) { + varDeclarations += ', ' + locals.join(', '); + } + + // Generate minimizer alias mappings + // + // When using true SourceNodes, this will update all references to the given alias + // as the source nodes are reused in situ. For the non-source node compilation mode, + // aliases will not be used, but this case is already being run on the client and + // we aren't concern about minimizing the template size. + var aliasCount = 0; + Object.keys(this.aliases).forEach(function (alias) { + var node = _this.aliases[alias]; + if (node.children && node.referenceCount > 1) { + varDeclarations += ', alias' + ++aliasCount + '=' + alias; + node.children[0] = 'alias' + aliasCount; + } + }); + + if (this.lookupPropertyFunctionIsUsed) { + varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration(); + } + + var params = ['container', 'depth0', 'helpers', 'partials', 'data']; + + if (this.useBlockParams || this.useDepths) { + params.push('blockParams'); + } + if (this.useDepths) { + params.push('depths'); + } + + // Perform a second pass over the output to merge content when possible + var source = this.mergeSource(varDeclarations); + + if (asObject) { + params.push(source); + + return Function.apply(this, params); + } else { + return this.source.wrap(['function(', params.join(','), ') {\n ', source, '}']); + } + }, + mergeSource: function mergeSource(varDeclarations) { + var isSimple = this.environment.isSimple, + appendOnly = !this.forceBuffer, + appendFirst = undefined, + sourceSeen = undefined, + bufferStart = undefined, + bufferEnd = undefined; + this.source.each(function (line) { + if (line.appendToBuffer) { + if (bufferStart) { + line.prepend(' + '); + } else { + bufferStart = line; + } + bufferEnd = line; + } else { + if (bufferStart) { + if (!sourceSeen) { + appendFirst = true; + } else { + bufferStart.prepend('buffer += '); + } + bufferEnd.add(';'); + bufferStart = bufferEnd = undefined; + } + + sourceSeen = true; + if (!isSimple) { + appendOnly = false; + } + } + }); + + if (appendOnly) { + if (bufferStart) { + bufferStart.prepend('return '); + bufferEnd.add(';'); + } else if (!sourceSeen) { + this.source.push('return "";'); + } + } else { + varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer()); + + if (bufferStart) { + bufferStart.prepend('return buffer + '); + bufferEnd.add(';'); + } else { + this.source.push('return buffer;'); + } + } + + if (varDeclarations) { + this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n')); + } + + return this.source.merge(); + }, + + lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() { + return '\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n '.trim(); + }, + + // [blockValue] + // + // On stack, before: hash, inverse, program, value + // On stack, after: return value of blockHelperMissing + // + // The purpose of this opcode is to take a block of the form + // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and + // replace it on the stack with the result of properly + // invoking blockHelperMissing. + blockValue: function blockValue(name) { + var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'), + params = [this.contextName(0)]; + this.setupHelperArgs(name, 0, params); + + var blockName = this.popStack(); + params.splice(1, 0, blockName); + + this.push(this.source.functionCall(blockHelperMissing, 'call', params)); + }, + + // [ambiguousBlockValue] + // + // On stack, before: hash, inverse, program, value + // Compiler value, before: lastHelper=value of last found helper, if any + // On stack, after, if no lastHelper: same as [blockValue] + // On stack, after, if lastHelper: value + ambiguousBlockValue: function ambiguousBlockValue() { + // We're being a bit cheeky and reusing the options value from the prior exec + var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'), + params = [this.contextName(0)]; + this.setupHelperArgs('', 0, params, true); + + this.flushInline(); + + var current = this.topStack(); + params.splice(1, 0, current); + + this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']); + }, + + // [appendContent] + // + // On stack, before: ... + // On stack, after: ... + // + // Appends the string value of `content` to the current buffer + appendContent: function appendContent(content) { + if (this.pendingContent) { + content = this.pendingContent + content; + } else { + this.pendingLocation = this.source.currentLocation; + } + + this.pendingContent = content; + }, + + // [append] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Coerces `value` to a String and appends it to the current buffer. + // + // If `value` is truthy, or 0, it is coerced into a string and appended + // Otherwise, the empty string is appended + append: function append() { + if (this.isInline()) { + this.replaceStack(function (current) { + return [' != null ? ', current, ' : ""']; + }); + + this.pushSource(this.appendToBuffer(this.popStack())); + } else { + var local = this.popStack(); + this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']); + if (this.environment.isSimple) { + this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']); + } + } + }, + + // [appendEscaped] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Escape `value` and append it to the buffer + appendEscaped: function appendEscaped() { + this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')'])); + }, + + // [getContext] + // + // On stack, before: ... + // On stack, after: ... + // Compiler value, after: lastContext=depth + // + // Set the value of the `lastContext` compiler value to the depth + getContext: function getContext(depth) { + this.lastContext = depth; + }, + + // [pushContext] + // + // On stack, before: ... + // On stack, after: currentContext, ... + // + // Pushes the value of the current context onto the stack. + pushContext: function pushContext() { + this.pushStackLiteral(this.contextName(this.lastContext)); + }, + + // [lookupOnContext] + // + // On stack, before: ... + // On stack, after: currentContext[name], ... + // + // Looks up the value of `name` on the current context and pushes + // it onto the stack. + lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) { + var i = 0; + + if (!scoped && this.options.compat && !this.lastContext) { + // The depthed query is expected to handle the undefined logic for the root level that + // is implemented below, so we evaluate that directly in compat mode + this.push(this.depthedLookup(parts[i++])); + } else { + this.pushContext(); + } + + this.resolvePath('context', parts, i, falsy, strict); + }, + + // [lookupBlockParam] + // + // On stack, before: ... + // On stack, after: blockParam[name], ... + // + // Looks up the value of `parts` on the given block param and pushes + // it onto the stack. + lookupBlockParam: function lookupBlockParam(blockParamId, parts) { + this.useBlockParams = true; + + this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']); + this.resolvePath('context', parts, 1); + }, + + // [lookupData] + // + // On stack, before: ... + // On stack, after: data, ... + // + // Push the data lookup operator + lookupData: function lookupData(depth, parts, strict) { + if (!depth) { + this.pushStackLiteral('data'); + } else { + this.pushStackLiteral('container.data(data, ' + depth + ')'); + } + + this.resolvePath('data', parts, 0, true, strict); + }, + + resolvePath: function resolvePath(type, parts, i, falsy, strict) { + // istanbul ignore next + + var _this2 = this; + + if (this.options.strict || this.options.assumeObjects) { + this.push(strictLookup(this.options.strict && strict, this, parts, i, type)); + return; + } + + var len = parts.length; + for (; i < len; i++) { + /* eslint-disable no-loop-func */ + this.replaceStack(function (current) { + var lookup = _this2.nameLookup(current, parts[i], type); + // We want to ensure that zero and false are handled properly if the context (falsy flag) + // needs to have the special handling for these values. + if (!falsy) { + return [' != null ? ', lookup, ' : ', current]; + } else { + // Otherwise we can use generic falsy handling + return [' && ', lookup]; + } + }); + /* eslint-enable no-loop-func */ + } + }, + + // [resolvePossibleLambda] + // + // On stack, before: value, ... + // On stack, after: resolved value, ... + // + // If the `value` is a lambda, replace it on the stack by + // the return value of the lambda + resolvePossibleLambda: function resolvePossibleLambda() { + this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']); + }, + + // [pushStringParam] + // + // On stack, before: ... + // On stack, after: string, currentContext, ... + // + // This opcode is designed for use in string mode, which + // provides the string value of a parameter along with its + // depth rather than resolving it immediately. + pushStringParam: function pushStringParam(string, type) { + this.pushContext(); + this.pushString(type); + + // If it's a subexpression, the string result + // will be pushed after this opcode. + if (type !== 'SubExpression') { + if (typeof string === 'string') { + this.pushString(string); + } else { + this.pushStackLiteral(string); + } + } + }, + + emptyHash: function emptyHash(omitEmpty) { + if (this.trackIds) { + this.push('{}'); // hashIds + } + if (this.stringParams) { + this.push('{}'); // hashContexts + this.push('{}'); // hashTypes + } + this.pushStackLiteral(omitEmpty ? 'undefined' : '{}'); + }, + pushHash: function pushHash() { + if (this.hash) { + this.hashes.push(this.hash); + } + this.hash = { values: {}, types: [], contexts: [], ids: [] }; + }, + popHash: function popHash() { + var hash = this.hash; + this.hash = this.hashes.pop(); + + if (this.trackIds) { + this.push(this.objectLiteral(hash.ids)); + } + if (this.stringParams) { + this.push(this.objectLiteral(hash.contexts)); + this.push(this.objectLiteral(hash.types)); + } + + this.push(this.objectLiteral(hash.values)); + }, + + // [pushString] + // + // On stack, before: ... + // On stack, after: quotedString(string), ... + // + // Push a quoted version of `string` onto the stack + pushString: function pushString(string) { + this.pushStackLiteral(this.quotedString(string)); + }, + + // [pushLiteral] + // + // On stack, before: ... + // On stack, after: value, ... + // + // Pushes a value onto the stack. This operation prevents + // the compiler from creating a temporary variable to hold + // it. + pushLiteral: function pushLiteral(value) { + this.pushStackLiteral(value); + }, + + // [pushProgram] + // + // On stack, before: ... + // On stack, after: program(guid), ... + // + // Push a program expression onto the stack. This takes + // a compile-time guid and converts it into a runtime-accessible + // expression. + pushProgram: function pushProgram(guid) { + if (guid != null) { + this.pushStackLiteral(this.programExpression(guid)); + } else { + this.pushStackLiteral(null); + } + }, + + // [registerDecorator] + // + // On stack, before: hash, program, params..., ... + // On stack, after: ... + // + // Pops off the decorator's parameters, invokes the decorator, + // and inserts the decorator into the decorators list. + registerDecorator: function registerDecorator(paramSize, name) { + var foundDecorator = this.nameLookup('decorators', name, 'decorator'), + options = this.setupHelperArgs(name, paramSize); + + this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']); + }, + + // [invokeHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // Pops off the helper's parameters, invokes the helper, + // and pushes the helper's return value onto the stack. + // + // If the helper is not found, `helperMissing` is called. + invokeHelper: function invokeHelper(paramSize, name, isSimple) { + var nonHelper = this.popStack(), + helper = this.setupHelper(paramSize, name); + + var possibleFunctionCalls = []; + + if (isSimple) { + // direct call to helper + possibleFunctionCalls.push(helper.name); + } + // call a function from the input object + possibleFunctionCalls.push(nonHelper); + if (!this.options.strict) { + possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing')); + } + + var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')']; + var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams); + this.push(functionCall); + }, + + itemsSeparatedBy: function itemsSeparatedBy(items, separator) { + var result = []; + result.push(items[0]); + for (var i = 1; i < items.length; i++) { + result.push(separator, items[i]); + } + return result; + }, + // [invokeKnownHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // This operation is used when the helper is known to exist, + // so a `helperMissing` fallback is not required. + invokeKnownHelper: function invokeKnownHelper(paramSize, name) { + var helper = this.setupHelper(paramSize, name); + this.push(this.source.functionCall(helper.name, 'call', helper.callParams)); + }, + + // [invokeAmbiguous] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of disambiguation + // + // This operation is used when an expression like `{{foo}}` + // is provided, but we don't know at compile-time whether it + // is a helper or a path. + // + // This operation emits more code than the other options, + // and can be avoided by passing the `knownHelpers` and + // `knownHelpersOnly` flags at compile-time. + invokeAmbiguous: function invokeAmbiguous(name, helperCall) { + this.useRegister('helper'); + + var nonHelper = this.popStack(); + + this.emptyHash(); + var helper = this.setupHelper(0, name, helperCall); + + var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper'); + + var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')']; + if (!this.options.strict) { + lookup[0] = '(helper = '; + lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing')); + } + + this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']); + }, + + // [invokePartial] + // + // On stack, before: context, ... + // On stack after: result of partial invocation + // + // This operation pops off a context, invokes a partial with that context, + // and pushes the result of the invocation back. + invokePartial: function invokePartial(isDynamic, name, indent) { + var params = [], + options = this.setupParams(name, 1, params); + + if (isDynamic) { + name = this.popStack(); + delete options.name; + } + + if (indent) { + options.indent = JSON.stringify(indent); + } + options.helpers = 'helpers'; + options.partials = 'partials'; + options.decorators = 'container.decorators'; + + if (!isDynamic) { + params.unshift(this.nameLookup('partials', name, 'partial')); + } else { + params.unshift(name); + } + + if (this.options.compat) { + options.depths = 'depths'; + } + options = this.objectLiteral(options); + params.push(options); + + this.push(this.source.functionCall('container.invokePartial', '', params)); + }, + + // [assignToHash] + // + // On stack, before: value, ..., hash, ... + // On stack, after: ..., hash, ... + // + // Pops a value off the stack and assigns it to the current hash + assignToHash: function assignToHash(key) { + var value = this.popStack(), + context = undefined, + type = undefined, + id = undefined; + + if (this.trackIds) { + id = this.popStack(); + } + if (this.stringParams) { + type = this.popStack(); + context = this.popStack(); + } + + var hash = this.hash; + if (context) { + hash.contexts[key] = context; + } + if (type) { + hash.types[key] = type; + } + if (id) { + hash.ids[key] = id; + } + hash.values[key] = value; + }, + + pushId: function pushId(type, name, child) { + if (type === 'BlockParam') { + this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : '')); + } else if (type === 'PathExpression') { + this.pushString(name); + } else if (type === 'SubExpression') { + this.pushStackLiteral('true'); + } else { + this.pushStackLiteral('null'); + } + }, + + // HELPERS + + compiler: JavaScriptCompiler, + + compileChildren: function compileChildren(environment, options) { + var children = environment.children, + child = undefined, + compiler = undefined; + + for (var i = 0, l = children.length; i < l; i++) { + child = children[i]; + compiler = new this.compiler(); // eslint-disable-line new-cap + + var existing = this.matchExistingProgram(child); + + if (existing == null) { + this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children + var index = this.context.programs.length; + child.index = index; + child.name = 'program' + index; + this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile); + this.context.decorators[index] = compiler.decorators; + this.context.environments[index] = child; + + this.useDepths = this.useDepths || compiler.useDepths; + this.useBlockParams = this.useBlockParams || compiler.useBlockParams; + child.useDepths = this.useDepths; + child.useBlockParams = this.useBlockParams; + } else { + child.index = existing.index; + child.name = 'program' + existing.index; + + this.useDepths = this.useDepths || existing.useDepths; + this.useBlockParams = this.useBlockParams || existing.useBlockParams; + } + } + }, + matchExistingProgram: function matchExistingProgram(child) { + for (var i = 0, len = this.context.environments.length; i < len; i++) { + var environment = this.context.environments[i]; + if (environment && environment.equals(child)) { + return environment; + } + } + }, + + programExpression: function programExpression(guid) { + var child = this.environment.children[guid], + programParams = [child.index, 'data', child.blockParams]; + + if (this.useBlockParams || this.useDepths) { + programParams.push('blockParams'); + } + if (this.useDepths) { + programParams.push('depths'); + } + + return 'container.program(' + programParams.join(', ') + ')'; + }, + + useRegister: function useRegister(name) { + if (!this.registers[name]) { + this.registers[name] = true; + this.registers.list.push(name); + } + }, + + push: function push(expr) { + if (!(expr instanceof Literal)) { + expr = this.source.wrap(expr); + } + + this.inlineStack.push(expr); + return expr; + }, + + pushStackLiteral: function pushStackLiteral(item) { + this.push(new Literal(item)); + }, + + pushSource: function pushSource(source) { + if (this.pendingContent) { + this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation)); + this.pendingContent = undefined; + } + + if (source) { + this.source.push(source); + } + }, + + replaceStack: function replaceStack(callback) { + var prefix = ['('], + stack = undefined, + createdStack = undefined, + usedLiteral = undefined; + + /* istanbul ignore next */ + if (!this.isInline()) { + throw new _exception2['default']('replaceStack on non-inline'); + } + + // We want to merge the inline statement into the replacement statement via ',' + var top = this.popStack(true); + + if (top instanceof Literal) { + // Literals do not need to be inlined + stack = [top.value]; + prefix = ['(', stack]; + usedLiteral = true; + } else { + // Get or create the current stack name for use by the inline + createdStack = true; + var _name = this.incrStack(); + + prefix = ['((', this.push(_name), ' = ', top, ')']; + stack = this.topStack(); + } + + var item = callback.call(this, stack); + + if (!usedLiteral) { + this.popStack(); + } + if (createdStack) { + this.stackSlot--; + } + this.push(prefix.concat(item, ')')); + }, + + incrStack: function incrStack() { + this.stackSlot++; + if (this.stackSlot > this.stackVars.length) { + this.stackVars.push('stack' + this.stackSlot); + } + return this.topStackName(); + }, + topStackName: function topStackName() { + return 'stack' + this.stackSlot; + }, + flushInline: function flushInline() { + var inlineStack = this.inlineStack; + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + /* istanbul ignore if */ + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + var stack = this.incrStack(); + this.pushSource([stack, ' = ', entry, ';']); + this.compileStack.push(stack); + } + } + }, + isInline: function isInline() { + return this.inlineStack.length; + }, + + popStack: function popStack(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && item instanceof Literal) { + return item.value; + } else { + if (!inline) { + /* istanbul ignore next */ + if (!this.stackSlot) { + throw new _exception2['default']('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function topStack() { + var stack = this.isInline() ? this.inlineStack : this.compileStack, + item = stack[stack.length - 1]; + + /* istanbul ignore if */ + if (item instanceof Literal) { + return item.value; + } else { + return item; + } + }, + + contextName: function contextName(context) { + if (this.useDepths && context) { + return 'depths[' + context + ']'; + } else { + return 'depth' + context; + } + }, + + quotedString: function quotedString(str) { + return this.source.quotedString(str); + }, + + objectLiteral: function objectLiteral(obj) { + return this.source.objectLiteral(obj); + }, + + aliasable: function aliasable(name) { + var ret = this.aliases[name]; + if (ret) { + ret.referenceCount++; + return ret; + } + + ret = this.aliases[name] = this.source.wrap(name); + ret.aliasable = true; + ret.referenceCount = 1; + + return ret; + }, + + setupHelper: function setupHelper(paramSize, name, blockHelper) { + var params = [], + paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper); + var foundHelper = this.nameLookup('helpers', name, 'helper'), + callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: [callContext].concat(params) + }; + }, + + setupParams: function setupParams(helper, paramSize, params) { + var options = {}, + contexts = [], + types = [], + ids = [], + objectArgs = !params, + param = undefined; + + if (objectArgs) { + params = []; + } + + options.name = this.quotedString(helper); + options.hash = this.popStack(); + + if (this.trackIds) { + options.hashIds = this.popStack(); + } + if (this.stringParams) { + options.hashTypes = this.popStack(); + options.hashContexts = this.popStack(); + } + + var inverse = this.popStack(), + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + options.fn = program || 'container.noop'; + options.inverse = inverse || 'container.noop'; + } + + // The parameters go on to the stack in order (making sure that they are evaluated in order) + // so we need to pop them off the stack in reverse order + var i = paramSize; + while (i--) { + param = this.popStack(); + params[i] = param; + + if (this.trackIds) { + ids[i] = this.popStack(); + } + if (this.stringParams) { + types[i] = this.popStack(); + contexts[i] = this.popStack(); + } + } + + if (objectArgs) { + options.args = this.source.generateArray(params); + } + + if (this.trackIds) { + options.ids = this.source.generateArray(ids); + } + if (this.stringParams) { + options.types = this.source.generateArray(types); + options.contexts = this.source.generateArray(contexts); + } + + if (this.options.data) { + options.data = 'data'; + } + if (this.useBlockParams) { + options.blockParams = 'blockParams'; + } + return options; + }, + + setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) { + var options = this.setupParams(helper, paramSize, params); + options.loc = JSON.stringify(this.source.currentLocation); + options = this.objectLiteral(options); + if (useRegister) { + this.useRegister('options'); + params.push('options'); + return ['options=', options]; + } else if (params) { + params.push(options); + return ''; + } else { + return options; + } + } +}; + +(function () { + var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' '); + + var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; + + for (var i = 0, l = reservedWords.length; i < l; i++) { + compilerWords[reservedWords[i]] = true; + } +})(); + +/** + * @deprecated May be removed in the next major version + */ +JavaScriptCompiler.isValidJavaScriptVariableName = function (name) { + return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name); +}; + +function strictLookup(requireTerminal, compiler, parts, i, type) { + var stack = compiler.popStack(), + len = parts.length; + if (requireTerminal) { + len--; + } + + for (; i < len; i++) { + stack = compiler.nameLookup(stack, parts[i], type); + } + + if (requireTerminal) { + return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )']; + } else { + return stack; + } +} + +exports["default"] = JavaScriptCompiler; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztvQkFBb0QsU0FBUzs7eUJBQ3ZDLGNBQWM7Ozs7cUJBQ1osVUFBVTs7dUJBQ2QsWUFBWTs7OztBQUVoQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsTUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Q0FDcEI7O0FBRUQsU0FBUyxrQkFBa0IsR0FBRyxFQUFFOztBQUVoQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUc7OztBQUc3QixZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFLElBQUksZUFBZTtBQUM5QyxXQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7R0FDOUM7QUFDRCxlQUFhLEVBQUUsdUJBQVMsSUFBSSxFQUFFO0FBQzVCLFdBQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNwQixHQUFHLENBQ0osQ0FBQztHQUNIOztBQUVELGNBQVksRUFBRSx3QkFBVztBQUN2QixRQUFNLFFBQVEsMEJBQW9CO1FBQ2hDLFFBQVEsR0FBRyx1QkFBaUIsUUFBUSxDQUFDLENBQUM7QUFDeEMsV0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztHQUM3Qjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFOztBQUVuRCxRQUFJLENBQUMsZUFBUSxNQUFNLENBQUMsRUFBRTtBQUNwQixZQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQjtBQUNELFVBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRTVDLFFBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7QUFDN0IsYUFBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDakMsTUFBTSxJQUFJLFFBQVEsRUFBRTs7OztBQUluQixhQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwQyxNQUFNO0FBQ0wsWUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFDN0IsYUFBTyxNQUFNLENBQUM7S0FDZjtHQUNGOztBQUVELGtCQUFnQixFQUFFLDRCQUFXO0FBQzNCLFdBQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxvQkFBa0IsRUFBRSw0QkFBUyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFFBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFDekMsV0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztHQUNwRTs7QUFFRCw4QkFBNEIsRUFBRSxLQUFLOztBQUVuQyxTQUFPLEVBQUUsaUJBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO0FBQ3pELFFBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0FBQy9CLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDOUMsUUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUN0QyxRQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDOztBQUU1QixRQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QixRQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSTtBQUN4QixnQkFBVSxFQUFFLEVBQUU7QUFDZCxjQUFRLEVBQUUsRUFBRTtBQUNaLGtCQUFZLEVBQUUsRUFBRTtLQUNqQixDQUFDOztBQUVGLFFBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7QUFFaEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDbkIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDcEIsUUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDbEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUM5QixRQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNqQixRQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN2QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN0QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQzs7QUFFdEIsUUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFFBQUksQ0FBQyxTQUFTLEdBQ1osSUFBSSxDQUFDLFNBQVMsSUFDZCxXQUFXLENBQUMsU0FBUyxJQUNyQixXQUFXLENBQUMsYUFBYSxJQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN0QixRQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQzs7QUFFeEUsUUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU87UUFDL0IsTUFBTSxZQUFBO1FBQ04sUUFBUSxZQUFBO1FBQ1IsQ0FBQyxZQUFBO1FBQ0QsQ0FBQyxZQUFBLENBQUM7O0FBRUosU0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDMUMsWUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFcEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUN6QyxjQUFRLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDbEMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM5Qzs7O0FBR0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3ZDLFFBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7OztBQUdwQixRQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7QUFDekUsWUFBTSwyQkFBYyw4Q0FBOEMsQ0FBQyxDQUFDO0tBQ3JFOztBQUVELFFBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO0FBQzlCLFVBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDOztBQUUxQixVQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUN0Qix5Q0FBeUMsRUFDekMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEVBQzNDLEtBQUssQ0FDTixDQUFDLENBQUM7QUFDSCxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7QUFFbkMsVUFBSSxRQUFRLEVBQUU7QUFDWixZQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQ3JDLElBQUksRUFDSixPQUFPLEVBQ1AsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUN4QixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3JCLHVFQUF1RSxDQUN4RSxDQUFDO0FBQ0YsWUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsWUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO09BQzNDO0tBQ0YsTUFBTTtBQUNMLFVBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0tBQzdCOztBQUVELFFBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5QyxRQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixVQUFJLEdBQUcsR0FBRztBQUNSLGdCQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtBQUM3QixZQUFJLEVBQUUsRUFBRTtPQUNULENBQUM7O0FBRUYsVUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ25CLFdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztBQUM3QixXQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztPQUMxQjs7cUJBRThCLElBQUksQ0FBQyxPQUFPO1VBQXJDLFFBQVEsWUFBUixRQUFRO1VBQUUsVUFBVSxZQUFWLFVBQVU7O0FBQzFCLFdBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzNDLFlBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ2YsYUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixjQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNqQixlQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixlQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztXQUMxQjtTQUNGO09BQ0Y7O0FBRUQsVUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtBQUMvQixXQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztPQUN2QjtBQUNELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7QUFDckIsV0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7T0FDcEI7QUFDRCxVQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsV0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7T0FDdEI7QUFDRCxVQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDdkIsV0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7T0FDM0I7QUFDRCxVQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3ZCLFdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO09BQ25COztBQUVELFVBQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixXQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUU1QyxZQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDaEUsV0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRTlCLFlBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUNuQixhQUFHLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzVELGFBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3pDLE1BQU07QUFDTCxhQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3RCO09BQ0YsTUFBTTtBQUNMLFdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztPQUNwQzs7QUFFRCxhQUFPLEdBQUcsQ0FBQztLQUNaLE1BQU07QUFDTCxhQUFPLEVBQUUsQ0FBQztLQUNYO0dBQ0Y7O0FBRUQsVUFBUSxFQUFFLG9CQUFXOzs7QUFHbkIsUUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDckIsUUFBSSxDQUFDLE1BQU0sR0FBRyx5QkFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hELFFBQUksQ0FBQyxVQUFVLEdBQUcseUJBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztHQUNyRDs7QUFFRCx1QkFBcUIsRUFBRSwrQkFBUyxRQUFRLEVBQUU7Ozs7O0FBQ3hDLFFBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQzs7QUFFekIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxRQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3JCLHFCQUFlLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0M7Ozs7Ozs7O0FBUUQsUUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLFVBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUssRUFBSTtBQUN6QyxVQUFJLElBQUksR0FBRyxNQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixVQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7QUFDNUMsdUJBQWUsSUFBSSxTQUFTLEdBQUcsRUFBRSxVQUFVLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztBQUMxRCxZQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUM7T0FDekM7S0FDRixDQUFDLENBQUM7O0FBRUgsUUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7QUFDckMscUJBQWUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7S0FDdkU7O0FBRUQsUUFBSSxNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRXBFLFFBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ3pDLFlBQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDNUI7QUFDRCxRQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsWUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2Qjs7O0FBR0QsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQzs7QUFFL0MsUUFBSSxRQUFRLEVBQUU7QUFDWixZQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVwQixhQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3JDLE1BQU07QUFDTCxhQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3RCLFdBQVcsRUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNoQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEdBQUcsQ0FDSixDQUFDLENBQUM7S0FDSjtHQUNGO0FBQ0QsYUFBVyxFQUFFLHFCQUFTLGVBQWUsRUFBRTtBQUNyQyxRQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7UUFDdEMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVc7UUFDOUIsV0FBVyxZQUFBO1FBQ1gsVUFBVSxZQUFBO1FBQ1YsV0FBVyxZQUFBO1FBQ1gsU0FBUyxZQUFBLENBQUM7QUFDWixRQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFBLElBQUksRUFBSTtBQUN2QixVQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDdkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3RCLE1BQU07QUFDTCxxQkFBVyxHQUFHLElBQUksQ0FBQztTQUNwQjtBQUNELGlCQUFTLEdBQUcsSUFBSSxDQUFDO09BQ2xCLE1BQU07QUFDTCxZQUFJLFdBQVcsRUFBRTtBQUNmLGNBQUksQ0FBQyxVQUFVLEVBQUU7QUFDZix1QkFBVyxHQUFHLElBQUksQ0FBQztXQUNwQixNQUFNO0FBQ0wsdUJBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7V0FDbkM7QUFDRCxtQkFBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQixxQkFBVyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDckM7O0FBRUQsa0JBQVUsR0FBRyxJQUFJLENBQUM7QUFDbEIsWUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLG9CQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO09BQ0Y7S0FDRixDQUFDLENBQUM7O0FBRUgsUUFBSSxVQUFVLEVBQUU7QUFDZCxVQUFJLFdBQVcsRUFBRTtBQUNmLG1CQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO09BQ3BCLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUN0QixZQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztPQUNoQztLQUNGLE1BQU07QUFDTCxxQkFBZSxJQUNiLGFBQWEsSUFBSSxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBLEFBQUMsQ0FBQzs7QUFFL0QsVUFBSSxXQUFXLEVBQUU7QUFDZixtQkFBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3hDLGlCQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO09BQ3BCLE1BQU07QUFDTCxZQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO09BQ3BDO0tBQ0Y7O0FBRUQsUUFBSSxlQUFlLEVBQUU7QUFDbkIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2pCLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFBLEFBQUMsQ0FDbkUsQ0FBQztLQUNIOztBQUVELFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztHQUM1Qjs7QUFFRCxzQ0FBb0MsRUFBRSxnREFBVztBQUMvQyxXQUFPLDZQQU9MLElBQUksRUFBRSxDQUFDO0dBQ1Y7Ozs7Ozs7Ozs7O0FBV0QsWUFBVSxFQUFFLG9CQUFTLElBQUksRUFBRTtBQUN6QixRQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQ25DLG9DQUFvQyxDQUNyQztRQUNELE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxRQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRXRDLFFBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQyxVQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7O0FBRS9CLFFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7R0FDekU7Ozs7Ozs7O0FBUUQscUJBQW1CLEVBQUUsK0JBQVc7O0FBRTlCLFFBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDbkMsb0NBQW9DLENBQ3JDO1FBQ0QsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFFBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7O0FBRTFDLFFBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7QUFFbkIsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzlCLFVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQzs7QUFFN0IsUUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNkLE9BQU8sRUFDUCxJQUFJLENBQUMsVUFBVSxFQUNmLE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFDNUQsR0FBRyxDQUNKLENBQUMsQ0FBQztHQUNKOzs7Ozs7OztBQVFELGVBQWEsRUFBRSx1QkFBUyxPQUFPLEVBQUU7QUFDL0IsUUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztLQUN6QyxNQUFNO0FBQ0wsVUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztLQUNwRDs7QUFFRCxRQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztHQUMvQjs7Ozs7Ozs7Ozs7QUFXRCxRQUFNLEVBQUUsa0JBQVc7QUFDakIsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7QUFDbkIsVUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFBLE9BQU87ZUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO09BQUEsQ0FBQyxDQUFDOztBQUVoRSxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN2RCxNQUFNO0FBQ0wsVUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzVCLFVBQUksQ0FBQyxVQUFVLENBQUMsQ0FDZCxNQUFNLEVBQ04sS0FBSyxFQUNMLGNBQWMsRUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQzNDLElBQUksQ0FDTCxDQUFDLENBQUM7QUFDSCxVQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO0FBQzdCLFlBQUksQ0FBQyxVQUFVLENBQUMsQ0FDZCxTQUFTLEVBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUMxQyxJQUFJLENBQ0wsQ0FBQyxDQUFDO09BQ0o7S0FDRjtHQUNGOzs7Ozs7OztBQVFELGVBQWEsRUFBRSx5QkFBVztBQUN4QixRQUFJLENBQUMsVUFBVSxDQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUM1QyxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLEdBQUcsQ0FDSixDQUFDLENBQ0gsQ0FBQztHQUNIOzs7Ozs7Ozs7QUFTRCxZQUFVLEVBQUUsb0JBQVMsS0FBSyxFQUFFO0FBQzFCLFFBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0dBQzFCOzs7Ozs7OztBQVFELGFBQVcsRUFBRSx1QkFBVztBQUN0QixRQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztHQUMzRDs7Ozs7Ozs7O0FBU0QsaUJBQWUsRUFBRSx5QkFBUyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7QUFDdEQsUUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVWLFFBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFOzs7QUFHdkQsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQyxNQUFNO0FBQ0wsVUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3BCOztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0dBQ3REOzs7Ozs7Ozs7QUFTRCxrQkFBZ0IsRUFBRSwwQkFBUyxZQUFZLEVBQUUsS0FBSyxFQUFFO0FBQzlDLFFBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDOztBQUUzQixRQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekUsUUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0dBQ3ZDOzs7Ozs7OztBQVFELFlBQVUsRUFBRSxvQkFBUyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN6QyxRQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsVUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9CLE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQzlEOztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0dBQ2xEOztBQUVELGFBQVcsRUFBRSxxQkFBUyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFOzs7OztBQUNuRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO0FBQ3JELFVBQUksQ0FBQyxJQUFJLENBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDbEUsQ0FBQztBQUNGLGFBQU87S0FDUjs7QUFFRCxRQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3ZCLFdBQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTs7QUFFbkIsVUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFBLE9BQU8sRUFBSTtBQUMzQixZQUFJLE1BQU0sR0FBRyxPQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDOzs7QUFHdEQsWUFBSSxDQUFDLEtBQUssRUFBRTtBQUNWLGlCQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDaEQsTUFBTTs7QUFFTCxpQkFBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6QjtPQUNGLENBQUMsQ0FBQzs7S0FFSjtHQUNGOzs7Ozs7Ozs7QUFTRCx1QkFBcUIsRUFBRSxpQ0FBVztBQUNoQyxRQUFJLENBQUMsSUFBSSxDQUFDLENBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNsQyxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLElBQUksRUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNuQixHQUFHLENBQ0osQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7Ozs7QUFVRCxpQkFBZSxFQUFFLHlCQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDdEMsUUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7QUFJdEIsUUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO0FBQzVCLFVBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO0FBQzlCLFlBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7T0FDekIsTUFBTTtBQUNMLFlBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztPQUMvQjtLQUNGO0dBQ0Y7O0FBRUQsV0FBUyxFQUFFLG1CQUFTLFNBQVMsRUFBRTtBQUM3QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtBQUNELFFBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7QUFDRCxRQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztHQUN2RDtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixRQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDYixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7QUFDRCxRQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0dBQzlEO0FBQ0QsU0FBTyxFQUFFLG1CQUFXO0FBQ2xCLFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsUUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOztBQUU5QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3QyxVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDM0M7O0FBRUQsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0dBQzVDOzs7Ozs7OztBQVFELFlBQVUsRUFBRSxvQkFBUyxNQUFNLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUNsRDs7Ozs7Ozs7OztBQVVELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQzlCOzs7Ozs7Ozs7O0FBVUQsYUFBVyxFQUFFLHFCQUFTLElBQUksRUFBRTtBQUMxQixRQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7QUFDaEIsVUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3JELE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7R0FDRjs7Ozs7Ozs7O0FBU0QsbUJBQWlCLEVBQUEsMkJBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtBQUNqQyxRQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzs7QUFFbEQsUUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FDbkIsT0FBTyxFQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxFQUNKLE9BQU8sRUFDUCxXQUFXLEVBQ1gsT0FBTyxDQUNSLENBQUMsRUFDRixTQUFTLENBQ1YsQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7Ozs7O0FBV0QsY0FBWSxFQUFFLHNCQUFTLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0FBQ2hELFFBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDN0IsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDOztBQUU3QyxRQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQzs7QUFFL0IsUUFBSSxRQUFRLEVBQUU7O0FBRVosMkJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN6Qzs7QUFFRCx5QkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEMsUUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3hCLDJCQUFxQixDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxDQUNoRCxDQUFDO0tBQ0g7O0FBRUQsUUFBSSxrQkFBa0IsR0FBRyxDQUN2QixHQUFHLEVBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxFQUNsRCxHQUFHLENBQ0osQ0FBQztBQUNGLFFBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUN6QyxrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLE1BQU0sQ0FBQyxVQUFVLENBQ2xCLENBQUM7QUFDRixRQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3pCOztBQUVELGtCQUFnQixFQUFFLDBCQUFTLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDM0MsUUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ2hCLFVBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDckMsWUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbEM7QUFDRCxXQUFPLE1BQU0sQ0FBQztHQUNmOzs7Ozs7OztBQVFELG1CQUFpQixFQUFFLDJCQUFTLFNBQVMsRUFBRSxJQUFJLEVBQUU7QUFDM0MsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztHQUM3RTs7Ozs7Ozs7Ozs7Ozs7QUFjRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxVQUFVLEVBQUU7QUFDMUMsUUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7QUFFM0IsUUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUVoQyxRQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDOztBQUVuRCxRQUFJLFVBQVUsR0FBSSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQ2pELFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxDQUNULEFBQUMsQ0FBQzs7QUFFSCxRQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckUsUUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3hCLFlBQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUM7QUFDekIsWUFBTSxDQUFDLElBQUksQ0FDVCxzQkFBc0IsRUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxDQUNoRCxDQUFDO0tBQ0g7O0FBRUQsUUFBSSxDQUFDLElBQUksQ0FBQyxDQUNSLEdBQUcsRUFDSCxNQUFNLEVBQ04sTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUNuRCxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzVCLEtBQUssRUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFDN0QsYUFBYSxDQUNkLENBQUMsQ0FBQztHQUNKOzs7Ozs7Ozs7QUFTRCxlQUFhLEVBQUUsdUJBQVMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7QUFDL0MsUUFBSSxNQUFNLEdBQUcsRUFBRTtRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRTlDLFFBQUksU0FBUyxFQUFFO0FBQ2IsVUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN2QixhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDckI7O0FBRUQsUUFBSSxNQUFNLEVBQUU7QUFDVixhQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDekM7QUFDRCxXQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUM1QixXQUFPLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUM5QixXQUFPLENBQUMsVUFBVSxHQUFHLHNCQUFzQixDQUFDOztBQUU1QyxRQUFJLENBQUMsU0FBUyxFQUFFO0FBQ2QsWUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUM5RCxNQUFNO0FBQ0wsWUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0Qjs7QUFFRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3ZCLGFBQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0tBQzNCO0FBQ0QsV0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEMsVUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzs7QUFFckIsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUM1RTs7Ozs7Ozs7QUFRRCxjQUFZLEVBQUUsc0JBQVMsR0FBRyxFQUFFO0FBQzFCLFFBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDekIsT0FBTyxZQUFBO1FBQ1AsSUFBSSxZQUFBO1FBQ0osRUFBRSxZQUFBLENBQUM7O0FBRUwsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2pCLFFBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEI7QUFDRCxRQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDckIsVUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN2QixhQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzNCOztBQUVELFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsUUFBSSxPQUFPLEVBQUU7QUFDWCxVQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztLQUM5QjtBQUNELFFBQUksSUFBSSxFQUFFO0FBQ1IsVUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDeEI7QUFDRCxRQUFJLEVBQUUsRUFBRTtBQUNOLFVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3BCO0FBQ0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7R0FDMUI7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ2xDLFFBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtBQUN6QixVQUFJLENBQUMsZ0JBQWdCLENBQ25CLGNBQWMsR0FDWixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQ1AsU0FBUyxHQUNULElBQUksQ0FBQyxDQUFDLENBQUMsR0FDUCxHQUFHLElBQ0YsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUEsQUFBQyxDQUNyRCxDQUFDO0tBQ0gsTUFBTSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtBQUNwQyxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCLE1BQU0sSUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO0FBQ25DLFVBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9CO0dBQ0Y7Ozs7QUFJRCxVQUFRLEVBQUUsa0JBQWtCOztBQUU1QixpQkFBZSxFQUFFLHlCQUFTLFdBQVcsRUFBRSxPQUFPLEVBQUU7QUFDOUMsUUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVE7UUFDakMsS0FBSyxZQUFBO1FBQ0wsUUFBUSxZQUFBLENBQUM7O0FBRVgsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMvQyxXQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLGNBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7QUFFL0IsVUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVoRCxVQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7QUFDcEIsWUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLFlBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUN6QyxhQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNwQixhQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDL0IsWUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FDN0MsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsT0FBTyxFQUNaLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDakIsQ0FBQztBQUNGLFlBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFDckQsWUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUV6QyxZQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQztBQUN0RCxZQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQztBQUNyRSxhQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7QUFDakMsYUFBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO09BQzVDLE1BQU07QUFDTCxhQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDN0IsYUFBSyxDQUFDLElBQUksR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQzs7QUFFeEMsWUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUM7QUFDdEQsWUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUM7T0FDdEU7S0FDRjtHQUNGO0FBQ0Qsc0JBQW9CLEVBQUUsOEJBQVMsS0FBSyxFQUFFO0FBQ3BDLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNwRSxVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxVQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVDLGVBQU8sV0FBVyxDQUFDO09BQ3BCO0tBQ0Y7R0FDRjs7QUFFRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFM0QsUUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDekMsbUJBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsbUJBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsV0FBTyxvQkFBb0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztHQUM5RDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsSUFBSSxFQUFFO0FBQzFCLFFBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQzVCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNoQztHQUNGOztBQUVELE1BQUksRUFBRSxjQUFTLElBQUksRUFBRTtBQUNuQixRQUFJLEVBQUUsSUFBSSxZQUFZLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDOUIsVUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQy9COztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLFdBQU8sSUFBSSxDQUFDO0dBQ2I7O0FBRUQsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFO0FBQzNCLFFBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUN2QixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzdDLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQ0YsQ0FBQztBQUNGLFVBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQ2pDOztBQUVELFFBQUksTUFBTSxFQUFFO0FBQ1YsVUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsUUFBUSxFQUFFO0FBQy9CLFFBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ2hCLEtBQUssWUFBQTtRQUNMLFlBQVksWUFBQTtRQUNaLFdBQVcsWUFBQSxDQUFDOzs7QUFHZCxRQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO0FBQ3BCLFlBQU0sMkJBQWMsNEJBQTRCLENBQUMsQ0FBQztLQUNuRDs7O0FBR0QsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFOUIsUUFBSSxHQUFHLFlBQVksT0FBTyxFQUFFOztBQUUxQixXQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsWUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLGlCQUFXLEdBQUcsSUFBSSxDQUFDO0tBQ3BCLE1BQU07O0FBRUwsa0JBQVksR0FBRyxJQUFJLENBQUM7QUFDcEIsVUFBSSxLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDOztBQUU1QixZQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFdBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDekI7O0FBRUQsUUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7O0FBRXRDLFFBQUksQ0FBQyxXQUFXLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2pCO0FBQ0QsUUFBSSxZQUFZLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0tBQ2xCO0FBQ0QsUUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQ3JDOztBQUVELFdBQVMsRUFBRSxxQkFBVztBQUNwQixRQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakIsUUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO0FBQzFDLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDL0M7QUFDRCxXQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztHQUM1QjtBQUNELGNBQVksRUFBRSx3QkFBVztBQUN2QixXQUFPLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0dBQ2pDO0FBQ0QsYUFBVyxFQUFFLHVCQUFXO0FBQ3RCLFFBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7QUFDbkMsUUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdEIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN0RCxVQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTNCLFVBQUksS0FBSyxZQUFZLE9BQU8sRUFBRTtBQUM1QixZQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUMvQixNQUFNO0FBQ0wsWUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzdCLFlBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLFlBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO09BQy9CO0tBQ0Y7R0FDRjtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixXQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0dBQ2hDOztBQUVELFVBQVEsRUFBRSxrQkFBUyxPQUFPLEVBQUU7QUFDMUIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBLENBQUUsR0FBRyxFQUFFLENBQUM7O0FBRS9ELFFBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxZQUFZLE9BQU8sRUFBRTtBQUN2QyxhQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkIsTUFBTTtBQUNMLFVBQUksQ0FBQyxNQUFNLEVBQUU7O0FBRVgsWUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbkIsZ0JBQU0sMkJBQWMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztBQUNELFlBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztPQUNsQjtBQUNELGFBQU8sSUFBSSxDQUFDO0tBQ2I7R0FDRjs7QUFFRCxVQUFRLEVBQUUsb0JBQVc7QUFDbkIsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVk7UUFDaEUsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDOzs7QUFHakMsUUFBSSxJQUFJLFlBQVksT0FBTyxFQUFFO0FBQzNCLGFBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNuQixNQUFNO0FBQ0wsYUFBTyxJQUFJLENBQUM7S0FDYjtHQUNGOztBQUVELGFBQVcsRUFBRSxxQkFBUyxPQUFPLEVBQUU7QUFDN0IsUUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRTtBQUM3QixhQUFPLFNBQVMsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQ2xDLE1BQU07QUFDTCxhQUFPLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsR0FBRyxFQUFFO0FBQzFCLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7R0FDdEM7O0FBRUQsZUFBYSxFQUFFLHVCQUFTLEdBQUcsRUFBRTtBQUMzQixXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ3ZDOztBQUVELFdBQVMsRUFBRSxtQkFBUyxJQUFJLEVBQUU7QUFDeEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QixRQUFJLEdBQUcsRUFBRTtBQUNQLFNBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUNyQixhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELE9BQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELE9BQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE9BQUcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDOztBQUV2QixXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELGFBQVcsRUFBRSxxQkFBUyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtBQUNsRCxRQUFJLE1BQU0sR0FBRyxFQUFFO1FBQ2IsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDMUUsUUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsbUJBQWMsSUFBSSxDQUFDLFdBQVcsQ0FDbEQsQ0FBQyxDQUNGLHNDQUNGLENBQUM7O0FBRUosV0FBTztBQUNMLFlBQU0sRUFBRSxNQUFNO0FBQ2QsZ0JBQVUsRUFBRSxVQUFVO0FBQ3RCLFVBQUksRUFBRSxXQUFXO0FBQ2pCLGdCQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQ3pDLENBQUM7R0FDSDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7QUFDL0MsUUFBSSxPQUFPLEdBQUcsRUFBRTtRQUNkLFFBQVEsR0FBRyxFQUFFO1FBQ2IsS0FBSyxHQUFHLEVBQUU7UUFDVixHQUFHLEdBQUcsRUFBRTtRQUNSLFVBQVUsR0FBRyxDQUFDLE1BQU07UUFDcEIsS0FBSyxZQUFBLENBQUM7O0FBRVIsUUFBSSxVQUFVLEVBQUU7QUFDZCxZQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ2I7O0FBRUQsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLFdBQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUUvQixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsYUFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDckIsYUFBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDcEMsYUFBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDeEM7O0FBRUQsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7O0FBSTVCLFFBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtBQUN0QixhQUFPLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztBQUN6QyxhQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztLQUMvQzs7OztBQUlELFFBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUNsQixXQUFPLENBQUMsRUFBRSxFQUFFO0FBQ1YsV0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4QixZQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUVsQixVQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsV0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztPQUMxQjtBQUNELFVBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixhQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLGdCQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO09BQy9CO0tBQ0Y7O0FBRUQsUUFBSSxVQUFVLEVBQUU7QUFDZCxhQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xEOztBQUVELFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNqQixhQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzlDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakQsYUFBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4RDs7QUFFRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0tBQ3ZCO0FBQ0QsUUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO0FBQ3ZCLGFBQU8sQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxPQUFPLENBQUM7R0FDaEI7O0FBRUQsaUJBQWUsRUFBRSx5QkFBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUU7QUFDaEUsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzFELFdBQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzFELFdBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLFFBQUksV0FBVyxFQUFFO0FBQ2YsVUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QixZQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZCLGFBQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDOUIsTUFBTSxJQUFJLE1BQU0sRUFBRTtBQUNqQixZQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTTtBQUNMLGFBQU8sT0FBTyxDQUFDO0tBQ2hCO0dBQ0Y7Q0FDRixDQUFDOztBQUVGLENBQUMsWUFBVztBQUNWLE1BQU0sYUFBYSxHQUFHLENBQ3BCLG9CQUFvQixHQUNwQiwyQkFBMkIsR0FDM0IseUJBQXlCLEdBQ3pCLDhCQUE4QixHQUM5QixtQkFBbUIsR0FDbkIsZ0JBQWdCLEdBQ2hCLHVCQUF1QixHQUN2QiwwQkFBMEIsR0FDMUIsa0NBQWtDLEdBQ2xDLDBCQUEwQixHQUMxQixpQ0FBaUMsR0FDakMsNkJBQTZCLEdBQzdCLCtCQUErQixHQUMvQix5Q0FBeUMsR0FDekMsdUNBQXVDLEdBQ3ZDLGtCQUFrQixDQUFBLENBQ2xCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFYixNQUFNLGFBQWEsR0FBSSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsRUFBRSxBQUFDLENBQUM7O0FBRS9ELE9BQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDcEQsaUJBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7R0FDeEM7Q0FDRixDQUFBLEVBQUcsQ0FBQzs7Ozs7QUFLTCxrQkFBa0IsQ0FBQyw2QkFBNkIsR0FBRyxVQUFTLElBQUksRUFBRTtBQUNoRSxTQUNFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUN4Qyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3ZDO0NBQ0gsQ0FBQzs7QUFFRixTQUFTLFlBQVksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0FBQy9ELE1BQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUU7TUFDN0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDckIsTUFBSSxlQUFlLEVBQUU7QUFDbkIsT0FBRyxFQUFFLENBQUM7R0FDUDs7QUFFRCxTQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDbkIsU0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNwRDs7QUFFRCxNQUFJLGVBQWUsRUFBRTtBQUNuQixXQUFPLENBQ0wsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMvQixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUMvQyxJQUFJLENBQ0wsQ0FBQztHQUNILE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O3FCQUVjLGtCQUFrQiIsImZpbGUiOiJqYXZhc2NyaXB0LWNvbXBpbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NUElMRVJfUkVWSVNJT04sIFJFVklTSU9OX0NIQU5HRVMgfSBmcm9tICcuLi9iYXNlJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgQ29kZUdlbiBmcm9tICcuL2NvZGUtZ2VuJztcblxuZnVuY3Rpb24gTGl0ZXJhbCh2YWx1ZSkge1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIEphdmFTY3JpcHRDb21waWxlcigpIHt9XG5cbkphdmFTY3JpcHRDb21waWxlci5wcm90b3R5cGUgPSB7XG4gIC8vIFBVQkxJQyBBUEk6IFlvdSBjYW4gb3ZlcnJpZGUgdGhlc2UgbWV0aG9kcyBpbiBhIHN1YmNsYXNzIHRvIHByb3ZpZGVcbiAgLy8gYWx0ZXJuYXRpdmUgY29tcGlsZWQgZm9ybXMgZm9yIG5hbWUgbG9va3VwIGFuZCBidWZmZXJpbmcgc2VtYW50aWNzXG4gIG5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSAvKiwgIHR5cGUgKi8pIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbE5hbWVMb29rdXAocGFyZW50LCBuYW1lKTtcbiAgfSxcbiAgZGVwdGhlZExvb2t1cDogZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxvb2t1cCcpLFxuICAgICAgJyhkZXB0aHMsICcsXG4gICAgICBKU09OLnN0cmluZ2lmeShuYW1lKSxcbiAgICAgICcpJ1xuICAgIF07XG4gIH0sXG5cbiAgY29tcGlsZXJJbmZvOiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCByZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OLFxuICAgICAgdmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW3JldmlzaW9uXTtcbiAgICByZXR1cm4gW3JldmlzaW9uLCB2ZXJzaW9uc107XG4gIH0sXG5cbiAgYXBwZW5kVG9CdWZmZXI6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jYXRpb24sIGV4cGxpY2l0KSB7XG4gICAgLy8gRm9yY2UgYSBzb3VyY2UgYXMgdGhpcyBzaW1wbGlmaWVzIHRoZSBtZXJnZSBsb2dpYy5cbiAgICBpZiAoIWlzQXJyYXkoc291cmNlKSkge1xuICAgICAgc291cmNlID0gW3NvdXJjZV07XG4gICAgfVxuICAgIHNvdXJjZSA9IHRoaXMuc291cmNlLndyYXAoc291cmNlLCBsb2NhdGlvbik7XG5cbiAgICBpZiAodGhpcy5lbnZpcm9ubWVudC5pc1NpbXBsZSkge1xuICAgICAgcmV0dXJuIFsncmV0dXJuICcsIHNvdXJjZSwgJzsnXTtcbiAgICB9IGVsc2UgaWYgKGV4cGxpY2l0KSB7XG4gICAgICAvLyBUaGlzIGlzIGEgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIG9wZXJhdGlvbiBvY2N1cnMgYXMgYSBjaGlsZCBvZiBhbm90aGVyXG4gICAgICAvLyBjb25zdHJ1Y3QsIGdlbmVyYWxseSBicmFjZXMuIFdlIGhhdmUgdG8gZXhwbGljaXRseSBvdXRwdXQgdGhlc2UgYnVmZmVyXG4gICAgICAvLyBvcGVyYXRpb25zIHRvIGVuc3VyZSB0aGF0IHRoZSBlbWl0dGVkIGNvZGUgZ29lcyBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICAgIHJldHVybiBbJ2J1ZmZlciArPSAnLCBzb3VyY2UsICc7J107XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvdXJjZS5hcHBlbmRUb0J1ZmZlciA9IHRydWU7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cbiAgfSxcblxuICBpbml0aWFsaXplQnVmZmVyOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZWRTdHJpbmcoJycpO1xuICB9LFxuICAvLyBFTkQgUFVCTElDIEFQSVxuICBpbnRlcm5hbE5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSkge1xuICAgIHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCA9IHRydWU7XG4gICAgcmV0dXJuIFsnbG9va3VwUHJvcGVydHkoJywgcGFyZW50LCAnLCcsIEpTT04uc3RyaW5naWZ5KG5hbWUpLCAnKSddO1xuICB9LFxuXG4gIGxvb2t1cFByb3BlcnR5RnVuY3Rpb25Jc1VzZWQ6IGZhbHNlLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zLCBjb250ZXh0LCBhc09iamVjdCkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuc3RyaW5nUGFyYW1zID0gdGhpcy5vcHRpb25zLnN0cmluZ1BhcmFtcztcbiAgICB0aGlzLnRyYWNrSWRzID0gdGhpcy5vcHRpb25zLnRyYWNrSWRzO1xuICAgIHRoaXMucHJlY29tcGlsZSA9ICFhc09iamVjdDtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuZW52aXJvbm1lbnQubmFtZTtcbiAgICB0aGlzLmlzQ2hpbGQgPSAhIWNvbnRleHQ7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dCB8fCB7XG4gICAgICBkZWNvcmF0b3JzOiBbXSxcbiAgICAgIHByb2dyYW1zOiBbXSxcbiAgICAgIGVudmlyb25tZW50czogW11cbiAgICB9O1xuXG4gICAgdGhpcy5wcmVhbWJsZSgpO1xuXG4gICAgdGhpcy5zdGFja1Nsb3QgPSAwO1xuICAgIHRoaXMuc3RhY2tWYXJzID0gW107XG4gICAgdGhpcy5hbGlhc2VzID0ge307XG4gICAgdGhpcy5yZWdpc3RlcnMgPSB7IGxpc3Q6IFtdIH07XG4gICAgdGhpcy5oYXNoZXMgPSBbXTtcbiAgICB0aGlzLmNvbXBpbGVTdGFjayA9IFtdO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gW107XG5cbiAgICB0aGlzLmNvbXBpbGVDaGlsZHJlbihlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG5cbiAgICB0aGlzLnVzZURlcHRocyA9XG4gICAgICB0aGlzLnVzZURlcHRocyB8fFxuICAgICAgZW52aXJvbm1lbnQudXNlRGVwdGhzIHx8XG4gICAgICBlbnZpcm9ubWVudC51c2VEZWNvcmF0b3JzIHx8XG4gICAgICB0aGlzLm9wdGlvbnMuY29tcGF0O1xuICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGVudmlyb25tZW50LnVzZUJsb2NrUGFyYW1zO1xuXG4gICAgbGV0IG9wY29kZXMgPSBlbnZpcm9ubWVudC5vcGNvZGVzLFxuICAgICAgb3Bjb2RlLFxuICAgICAgZmlyc3RMb2MsXG4gICAgICBpLFxuICAgICAgbDtcblxuICAgIGZvciAoaSA9IDAsIGwgPSBvcGNvZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgb3Bjb2RlID0gb3Bjb2Rlc1tpXTtcblxuICAgICAgdGhpcy5zb3VyY2UuY3VycmVudExvY2F0aW9uID0gb3Bjb2RlLmxvYztcbiAgICAgIGZpcnN0TG9jID0gZmlyc3RMb2MgfHwgb3Bjb2RlLmxvYztcbiAgICAgIHRoaXNbb3Bjb2RlLm9wY29kZV0uYXBwbHkodGhpcywgb3Bjb2RlLmFyZ3MpO1xuICAgIH1cblxuICAgIC8vIEZsdXNoIGFueSB0cmFpbGluZyBjb250ZW50IHRoYXQgbWlnaHQgYmUgcGVuZGluZy5cbiAgICB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb24gPSBmaXJzdExvYztcbiAgICB0aGlzLnB1c2hTb3VyY2UoJycpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5zdGFja1Nsb3QgfHwgdGhpcy5pbmxpbmVTdGFjay5sZW5ndGggfHwgdGhpcy5jb21waWxlU3RhY2subGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDb21waWxlIGNvbXBsZXRlZCB3aXRoIGNvbnRlbnQgbGVmdCBvbiBzdGFjaycpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kZWNvcmF0b3JzLmlzRW1wdHkoKSkge1xuICAgICAgdGhpcy51c2VEZWNvcmF0b3JzID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoW1xuICAgICAgICAndmFyIGRlY29yYXRvcnMgPSBjb250YWluZXIuZGVjb3JhdG9ycywgJyxcbiAgICAgICAgdGhpcy5sb29rdXBQcm9wZXJ0eUZ1bmN0aW9uVmFyRGVjbGFyYXRpb24oKSxcbiAgICAgICAgJztcXG4nXG4gICAgICBdKTtcbiAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCdyZXR1cm4gZm47Jyk7XG5cbiAgICAgIGlmIChhc09iamVjdCkge1xuICAgICAgICB0aGlzLmRlY29yYXRvcnMgPSBGdW5jdGlvbi5hcHBseSh0aGlzLCBbXG4gICAgICAgICAgJ2ZuJyxcbiAgICAgICAgICAncHJvcHMnLFxuICAgICAgICAgICdjb250YWluZXInLFxuICAgICAgICAgICdkZXB0aDAnLFxuICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAnYmxvY2tQYXJhbXMnLFxuICAgICAgICAgICdkZXB0aHMnLFxuICAgICAgICAgIHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpXG4gICAgICAgIF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoXG4gICAgICAgICAgJ2Z1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBkZXB0aDAsIGRhdGEsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcXG4nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCd9XFxuJyk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycyA9IHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlY29yYXRvcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZuID0gdGhpcy5jcmVhdGVGdW5jdGlvbkNvbnRleHQoYXNPYmplY3QpO1xuICAgIGlmICghdGhpcy5pc0NoaWxkKSB7XG4gICAgICBsZXQgcmV0ID0ge1xuICAgICAgICBjb21waWxlcjogdGhpcy5jb21waWxlckluZm8oKSxcbiAgICAgICAgbWFpbjogZm5cbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLmRlY29yYXRvcnMpIHtcbiAgICAgICAgcmV0Lm1haW5fZCA9IHRoaXMuZGVjb3JhdG9yczsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjYW1lbGNhc2VcbiAgICAgICAgcmV0LnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgeyBwcm9ncmFtcywgZGVjb3JhdG9ycyB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgZm9yIChpID0gMCwgbCA9IHByb2dyYW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAocHJvZ3JhbXNbaV0pIHtcbiAgICAgICAgICByZXRbaV0gPSBwcm9ncmFtc1tpXTtcbiAgICAgICAgICBpZiAoZGVjb3JhdG9yc1tpXSkge1xuICAgICAgICAgICAgcmV0W2kgKyAnX2QnXSA9IGRlY29yYXRvcnNbaV07XG4gICAgICAgICAgICByZXQudXNlRGVjb3JhdG9ycyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LnVzZVBhcnRpYWwpIHtcbiAgICAgICAgcmV0LnVzZVBhcnRpYWwgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICAgIHJldC51c2VEYXRhID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgICByZXQudXNlRGVwdGhzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHJldC51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhdCkge1xuICAgICAgICByZXQuY29tcGF0ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhc09iamVjdCkge1xuICAgICAgICByZXQuY29tcGlsZXIgPSBKU09OLnN0cmluZ2lmeShyZXQuY29tcGlsZXIpO1xuXG4gICAgICAgIHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbiA9IHsgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAwIH0gfTtcbiAgICAgICAgcmV0ID0gdGhpcy5vYmplY3RMaXRlcmFsKHJldCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuc3JjTmFtZSkge1xuICAgICAgICAgIHJldCA9IHJldC50b1N0cmluZ1dpdGhTb3VyY2VNYXAoeyBmaWxlOiBvcHRpb25zLmRlc3ROYW1lIH0pO1xuICAgICAgICAgIHJldC5tYXAgPSByZXQubWFwICYmIHJldC5tYXAudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXQgPSByZXQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0LmNvbXBpbGVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZuO1xuICAgIH1cbiAgfSxcblxuICBwcmVhbWJsZTogZnVuY3Rpb24oKSB7XG4gICAgLy8gdHJhY2sgdGhlIGxhc3QgY29udGV4dCBwdXNoZWQgaW50byBwbGFjZSB0byBhbGxvdyBza2lwcGluZyB0aGVcbiAgICAvLyBnZXRDb250ZXh0IG9wY29kZSB3aGVuIGl0IHdvdWxkIGJlIGEgbm9vcFxuICAgIHRoaXMubGFzdENvbnRleHQgPSAwO1xuICAgIHRoaXMuc291cmNlID0gbmV3IENvZGVHZW4odGhpcy5vcHRpb25zLnNyY05hbWUpO1xuICAgIHRoaXMuZGVjb3JhdG9ycyA9IG5ldyBDb2RlR2VuKHRoaXMub3B0aW9ucy5zcmNOYW1lKTtcbiAgfSxcblxuICBjcmVhdGVGdW5jdGlvbkNvbnRleHQ6IGZ1bmN0aW9uKGFzT2JqZWN0KSB7XG4gICAgbGV0IHZhckRlY2xhcmF0aW9ucyA9ICcnO1xuXG4gICAgbGV0IGxvY2FscyA9IHRoaXMuc3RhY2tWYXJzLmNvbmNhdCh0aGlzLnJlZ2lzdGVycy5saXN0KTtcbiAgICBpZiAobG9jYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCAnICsgbG9jYWxzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgbWluaW1pemVyIGFsaWFzIG1hcHBpbmdzXG4gICAgLy9cbiAgICAvLyBXaGVuIHVzaW5nIHRydWUgU291cmNlTm9kZXMsIHRoaXMgd2lsbCB1cGRhdGUgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGdpdmVuIGFsaWFzXG4gICAgLy8gYXMgdGhlIHNvdXJjZSBub2RlcyBhcmUgcmV1c2VkIGluIHNpdHUuIEZvciB0aGUgbm9uLXNvdXJjZSBub2RlIGNvbXBpbGF0aW9uIG1vZGUsXG4gICAgLy8gYWxpYXNlcyB3aWxsIG5vdCBiZSB1c2VkLCBidXQgdGhpcyBjYXNlIGlzIGFscmVhZHkgYmVpbmcgcnVuIG9uIHRoZSBjbGllbnQgYW5kXG4gICAgLy8gd2UgYXJlbid0IGNvbmNlcm4gYWJvdXQgbWluaW1pemluZyB0aGUgdGVtcGxhdGUgc2l6ZS5cbiAgICBsZXQgYWxpYXNDb3VudCA9IDA7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGlhc2VzKS5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgIGxldCBub2RlID0gdGhpcy5hbGlhc2VzW2FsaWFzXTtcbiAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUucmVmZXJlbmNlQ291bnQgPiAxKSB7XG4gICAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCBhbGlhcycgKyArK2FsaWFzQ291bnQgKyAnPScgKyBhbGlhcztcbiAgICAgICAgbm9kZS5jaGlsZHJlblswXSA9ICdhbGlhcycgKyBhbGlhc0NvdW50O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCkge1xuICAgICAgdmFyRGVjbGFyYXRpb25zICs9ICcsICcgKyB0aGlzLmxvb2t1cFByb3BlcnR5RnVuY3Rpb25WYXJEZWNsYXJhdGlvbigpO1xuICAgIH1cblxuICAgIGxldCBwYXJhbXMgPSBbJ2NvbnRhaW5lcicsICdkZXB0aDAnLCAnaGVscGVycycsICdwYXJ0aWFscycsICdkYXRhJ107XG5cbiAgICBpZiAodGhpcy51c2VCbG9ja1BhcmFtcyB8fCB0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2RlcHRocycpO1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm0gYSBzZWNvbmQgcGFzcyBvdmVyIHRoZSBvdXRwdXQgdG8gbWVyZ2UgY29udGVudCB3aGVuIHBvc3NpYmxlXG4gICAgbGV0IHNvdXJjZSA9IHRoaXMubWVyZ2VTb3VyY2UodmFyRGVjbGFyYXRpb25zKTtcblxuICAgIGlmIChhc09iamVjdCkge1xuICAgICAgcGFyYW1zLnB1c2goc291cmNlKTtcblxuICAgICAgcmV0dXJuIEZ1bmN0aW9uLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZS53cmFwKFtcbiAgICAgICAgJ2Z1bmN0aW9uKCcsXG4gICAgICAgIHBhcmFtcy5qb2luKCcsJyksXG4gICAgICAgICcpIHtcXG4gICcsXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgJ30nXG4gICAgICBdKTtcbiAgICB9XG4gIH0sXG4gIG1lcmdlU291cmNlOiBmdW5jdGlvbih2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICBsZXQgaXNTaW1wbGUgPSB0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlLFxuICAgICAgYXBwZW5kT25seSA9ICF0aGlzLmZvcmNlQnVmZmVyLFxuICAgICAgYXBwZW5kRmlyc3QsXG4gICAgICBzb3VyY2VTZWVuLFxuICAgICAgYnVmZmVyU3RhcnQsXG4gICAgICBidWZmZXJFbmQ7XG4gICAgdGhpcy5zb3VyY2UuZWFjaChsaW5lID0+IHtcbiAgICAgIGlmIChsaW5lLmFwcGVuZFRvQnVmZmVyKSB7XG4gICAgICAgIGlmIChidWZmZXJTdGFydCkge1xuICAgICAgICAgIGxpbmUucHJlcGVuZCgnICArICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gbGluZTtcbiAgICAgICAgfVxuICAgICAgICBidWZmZXJFbmQgPSBsaW5lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGJ1ZmZlclN0YXJ0KSB7XG4gICAgICAgICAgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgICAgICBhcHBlbmRGaXJzdCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlclN0YXJ0LnByZXBlbmQoJ2J1ZmZlciArPSAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnVmZmVyRW5kLmFkZCgnOycpO1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gYnVmZmVyRW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgc291cmNlU2VlbiA9IHRydWU7XG4gICAgICAgIGlmICghaXNTaW1wbGUpIHtcbiAgICAgICAgICBhcHBlbmRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhcHBlbmRPbmx5KSB7XG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2UgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnB1c2goJ3JldHVybiBcIlwiOycpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXJEZWNsYXJhdGlvbnMgKz1cbiAgICAgICAgJywgYnVmZmVyID0gJyArIChhcHBlbmRGaXJzdCA/ICcnIDogdGhpcy5pbml0aWFsaXplQnVmZmVyKCkpO1xuXG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuIGJ1ZmZlciArICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNvdXJjZS5wdXNoKCdyZXR1cm4gYnVmZmVyOycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICAgIHRoaXMuc291cmNlLnByZXBlbmQoXG4gICAgICAgICd2YXIgJyArIHZhckRlY2xhcmF0aW9ucy5zdWJzdHJpbmcoMikgKyAoYXBwZW5kRmlyc3QgPyAnJyA6ICc7XFxuJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc291cmNlLm1lcmdlKCk7XG4gIH0sXG5cbiAgbG9va3VwUHJvcGVydHlGdW5jdGlvblZhckRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYFxuICAgICAgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHkgfHwgZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gcGFyZW50W3Byb3BlcnR5TmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICBgLnRyaW0oKTtcbiAgfSxcblxuICAvLyBbYmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gT24gc3RhY2ssIGFmdGVyOiByZXR1cm4gdmFsdWUgb2YgYmxvY2tIZWxwZXJNaXNzaW5nXG4gIC8vXG4gIC8vIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3Bjb2RlIGlzIHRvIHRha2UgYSBibG9jayBvZiB0aGUgZm9ybVxuICAvLyBge3sjdGhpcy5mb299fS4uLnt7L3RoaXMuZm9vfX1gLCByZXNvbHZlIHRoZSB2YWx1ZSBvZiBgZm9vYCwgYW5kXG4gIC8vIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIHdpdGggdGhlIHJlc3VsdCBvZiBwcm9wZXJseVxuICAvLyBpbnZva2luZyBibG9ja0hlbHBlck1pc3NpbmcuXG4gIGJsb2NrVmFsdWU6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBsZXQgYmxvY2tIZWxwZXJNaXNzaW5nID0gdGhpcy5hbGlhc2FibGUoXG4gICAgICAgICdjb250YWluZXIuaG9va3MuYmxvY2tIZWxwZXJNaXNzaW5nJ1xuICAgICAgKSxcbiAgICAgIHBhcmFtcyA9IFt0aGlzLmNvbnRleHROYW1lKDApXTtcbiAgICB0aGlzLnNldHVwSGVscGVyQXJncyhuYW1lLCAwLCBwYXJhbXMpO1xuXG4gICAgbGV0IGJsb2NrTmFtZSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICBwYXJhbXMuc3BsaWNlKDEsIDAsIGJsb2NrTmFtZSk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYW1iaWd1b3VzQmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gQ29tcGlsZXIgdmFsdWUsIGJlZm9yZTogbGFzdEhlbHBlcj12YWx1ZSBvZiBsYXN0IGZvdW5kIGhlbHBlciwgaWYgYW55XG4gIC8vIE9uIHN0YWNrLCBhZnRlciwgaWYgbm8gbGFzdEhlbHBlcjogc2FtZSBhcyBbYmxvY2tWYWx1ZV1cbiAgLy8gT24gc3RhY2ssIGFmdGVyLCBpZiBsYXN0SGVscGVyOiB2YWx1ZVxuICBhbWJpZ3VvdXNCbG9ja1ZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICAvLyBXZSdyZSBiZWluZyBhIGJpdCBjaGVla3kgYW5kIHJldXNpbmcgdGhlIG9wdGlvbnMgdmFsdWUgZnJvbSB0aGUgcHJpb3IgZXhlY1xuICAgIGxldCBibG9ja0hlbHBlck1pc3NpbmcgPSB0aGlzLmFsaWFzYWJsZShcbiAgICAgICAgJ2NvbnRhaW5lci5ob29rcy5ibG9ja0hlbHBlck1pc3NpbmcnXG4gICAgICApLFxuICAgICAgcGFyYW1zID0gW3RoaXMuY29udGV4dE5hbWUoMCldO1xuICAgIHRoaXMuc2V0dXBIZWxwZXJBcmdzKCcnLCAwLCBwYXJhbXMsIHRydWUpO1xuXG4gICAgdGhpcy5mbHVzaElubGluZSgpO1xuXG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLnRvcFN0YWNrKCk7XG4gICAgcGFyYW1zLnNwbGljZSgxLCAwLCBjdXJyZW50KTtcblxuICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAnaWYgKCEnLFxuICAgICAgdGhpcy5sYXN0SGVscGVyLFxuICAgICAgJykgeyAnLFxuICAgICAgY3VycmVudCxcbiAgICAgICcgPSAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpLFxuICAgICAgJ30nXG4gICAgXSk7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZENvbnRlbnRdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBBcHBlbmRzIHRoZSBzdHJpbmcgdmFsdWUgb2YgYGNvbnRlbnRgIHRvIHRoZSBjdXJyZW50IGJ1ZmZlclxuICBhcHBlbmRDb250ZW50OiBmdW5jdGlvbihjb250ZW50KSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NvbnRlbnQpIHtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLnBlbmRpbmdDb250ZW50ICsgY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb24gPSB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nQ29udGVudCA9IGNvbnRlbnQ7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBDb2VyY2VzIGB2YWx1ZWAgdG8gYSBTdHJpbmcgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLlxuICAvL1xuICAvLyBJZiBgdmFsdWVgIGlzIHRydXRoeSwgb3IgMCwgaXQgaXMgY29lcmNlZCBpbnRvIGEgc3RyaW5nIGFuZCBhcHBlbmRlZFxuICAvLyBPdGhlcndpc2UsIHRoZSBlbXB0eSBzdHJpbmcgaXMgYXBwZW5kZWRcbiAgYXBwZW5kOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc0lubGluZSgpKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTdGFjayhjdXJyZW50ID0+IFsnICE9IG51bGwgPyAnLCBjdXJyZW50LCAnIDogXCJcIiddKTtcblxuICAgICAgdGhpcy5wdXNoU291cmNlKHRoaXMuYXBwZW5kVG9CdWZmZXIodGhpcy5wb3BTdGFjaygpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBsb2NhbCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICdpZiAoJyxcbiAgICAgICAgbG9jYWwsXG4gICAgICAgICcgIT0gbnVsbCkgeyAnLFxuICAgICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKGxvY2FsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAnIH0nXG4gICAgICBdKTtcbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlKSB7XG4gICAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICAgJ2Vsc2UgeyAnLFxuICAgICAgICAgIHRoaXMuYXBwZW5kVG9CdWZmZXIoXCInJ1wiLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAgICcgfSdcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vIFthcHBlbmRFc2NhcGVkXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIEVzY2FwZSBgdmFsdWVgIGFuZCBhcHBlbmQgaXQgdG8gdGhlIGJ1ZmZlclxuICBhcHBlbmRFc2NhcGVkOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLnB1c2hTb3VyY2UoXG4gICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKFtcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5lc2NhcGVFeHByZXNzaW9uJyksXG4gICAgICAgICcoJyxcbiAgICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgICAnKSdcbiAgICAgIF0pXG4gICAgKTtcbiAgfSxcblxuICAvLyBbZ2V0Q29udGV4dF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vIENvbXBpbGVyIHZhbHVlLCBhZnRlcjogbGFzdENvbnRleHQ9ZGVwdGhcbiAgLy9cbiAgLy8gU2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGxhc3RDb250ZXh0YCBjb21waWxlciB2YWx1ZSB0byB0aGUgZGVwdGhcbiAgZ2V0Q29udGV4dDogZnVuY3Rpb24oZGVwdGgpIHtcbiAgICB0aGlzLmxhc3RDb250ZXh0ID0gZGVwdGg7XG4gIH0sXG5cbiAgLy8gW3B1c2hDb250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dCwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBvbnRvIHRoZSBzdGFjay5cbiAgcHVzaENvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLmNvbnRleHROYW1lKHRoaXMubGFzdENvbnRleHQpKTtcbiAgfSxcblxuICAvLyBbbG9va3VwT25Db250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dFtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgbmFtZWAgb24gdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBPbkNvbnRleHQ6IGZ1bmN0aW9uKHBhcnRzLCBmYWxzeSwgc3RyaWN0LCBzY29wZWQpIHtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICBpZiAoIXNjb3BlZCAmJiB0aGlzLm9wdGlvbnMuY29tcGF0ICYmICF0aGlzLmxhc3RDb250ZXh0KSB7XG4gICAgICAvLyBUaGUgZGVwdGhlZCBxdWVyeSBpcyBleHBlY3RlZCB0byBoYW5kbGUgdGhlIHVuZGVmaW5lZCBsb2dpYyBmb3IgdGhlIHJvb3QgbGV2ZWwgdGhhdFxuICAgICAgLy8gaXMgaW1wbGVtZW50ZWQgYmVsb3csIHNvIHdlIGV2YWx1YXRlIHRoYXQgZGlyZWN0bHkgaW4gY29tcGF0IG1vZGVcbiAgICAgIHRoaXMucHVzaCh0aGlzLmRlcHRoZWRMb29rdXAocGFydHNbaSsrXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2hDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KTtcbiAgfSxcblxuICAvLyBbbG9va3VwQmxvY2tQYXJhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogYmxvY2tQYXJhbVtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgcGFydHNgIG9uIHRoZSBnaXZlbiBibG9jayBwYXJhbSBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBCbG9ja1BhcmFtOiBmdW5jdGlvbihibG9ja1BhcmFtSWQsIHBhcnRzKSB7XG4gICAgdGhpcy51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG5cbiAgICB0aGlzLnB1c2goWydibG9ja1BhcmFtc1snLCBibG9ja1BhcmFtSWRbMF0sICddWycsIGJsb2NrUGFyYW1JZFsxXSwgJ10nXSk7XG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCAxKTtcbiAgfSxcblxuICAvLyBbbG9va3VwRGF0YV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogZGF0YSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggdGhlIGRhdGEgbG9va3VwIG9wZXJhdG9yXG4gIGxvb2t1cERhdGE6IGZ1bmN0aW9uKGRlcHRoLCBwYXJ0cywgc3RyaWN0KSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCdkYXRhJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnY29udGFpbmVyLmRhdGEoZGF0YSwgJyArIGRlcHRoICsgJyknKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc29sdmVQYXRoKCdkYXRhJywgcGFydHMsIDAsIHRydWUsIHN0cmljdCk7XG4gIH0sXG5cbiAgcmVzb2x2ZVBhdGg6IGZ1bmN0aW9uKHR5cGUsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zdHJpY3QgfHwgdGhpcy5vcHRpb25zLmFzc3VtZU9iamVjdHMpIHtcbiAgICAgIHRoaXMucHVzaChcbiAgICAgICAgc3RyaWN0TG9va3VwKHRoaXMub3B0aW9ucy5zdHJpY3QgJiYgc3RyaWN0LCB0aGlzLCBwYXJ0cywgaSwgdHlwZSlcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGxlbiA9IHBhcnRzLmxlbmd0aDtcbiAgICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICAgIHRoaXMucmVwbGFjZVN0YWNrKGN1cnJlbnQgPT4ge1xuICAgICAgICBsZXQgbG9va3VwID0gdGhpcy5uYW1lTG9va3VwKGN1cnJlbnQsIHBhcnRzW2ldLCB0eXBlKTtcbiAgICAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB6ZXJvIGFuZCBmYWxzZSBhcmUgaGFuZGxlZCBwcm9wZXJseSBpZiB0aGUgY29udGV4dCAoZmFsc3kgZmxhZylcbiAgICAgICAgLy8gbmVlZHMgdG8gaGF2ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgdGhlc2UgdmFsdWVzLlxuICAgICAgICBpZiAoIWZhbHN5KSB7XG4gICAgICAgICAgcmV0dXJuIFsnICE9IG51bGwgPyAnLCBsb29rdXAsICcgOiAnLCBjdXJyZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2Ugd2UgY2FuIHVzZSBnZW5lcmljIGZhbHN5IGhhbmRsaW5nXG4gICAgICAgICAgcmV0dXJuIFsnICYmICcsIGxvb2t1cF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICB9XG4gIH0sXG5cbiAgLy8gW3Jlc29sdmVQb3NzaWJsZUxhbWJkYV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc29sdmVkIHZhbHVlLCAuLi5cbiAgLy9cbiAgLy8gSWYgdGhlIGB2YWx1ZWAgaXMgYSBsYW1iZGEsIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIGJ5XG4gIC8vIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGxhbWJkYVxuICByZXNvbHZlUG9zc2libGVMYW1iZGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaChbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxhbWJkYScpLFxuICAgICAgJygnLFxuICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgJywgJyxcbiAgICAgIHRoaXMuY29udGV4dE5hbWUoMCksXG4gICAgICAnKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbcHVzaFN0cmluZ1BhcmFtXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBzdHJpbmcsIGN1cnJlbnRDb250ZXh0LCAuLi5cbiAgLy9cbiAgLy8gVGhpcyBvcGNvZGUgaXMgZGVzaWduZWQgZm9yIHVzZSBpbiBzdHJpbmcgbW9kZSwgd2hpY2hcbiAgLy8gcHJvdmlkZXMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIHBhcmFtZXRlciBhbG9uZyB3aXRoIGl0c1xuICAvLyBkZXB0aCByYXRoZXIgdGhhbiByZXNvbHZpbmcgaXQgaW1tZWRpYXRlbHkuXG4gIHB1c2hTdHJpbmdQYXJhbTogZnVuY3Rpb24oc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy5wdXNoQ29udGV4dCgpO1xuICAgIHRoaXMucHVzaFN0cmluZyh0eXBlKTtcblxuICAgIC8vIElmIGl0J3MgYSBzdWJleHByZXNzaW9uLCB0aGUgc3RyaW5nIHJlc3VsdFxuICAgIC8vIHdpbGwgYmUgcHVzaGVkIGFmdGVyIHRoaXMgb3Bjb2RlLlxuICAgIGlmICh0eXBlICE9PSAnU3ViRXhwcmVzc2lvbicpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnB1c2hTdHJpbmcoc3RyaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBlbXB0eUhhc2g6IGZ1bmN0aW9uKG9taXRFbXB0eSkge1xuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hJZHNcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hDb250ZXh0c1xuICAgICAgdGhpcy5wdXNoKCd7fScpOyAvLyBoYXNoVHlwZXNcbiAgICB9XG4gICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG9taXRFbXB0eSA/ICd1bmRlZmluZWQnIDogJ3t9Jyk7XG4gIH0sXG4gIHB1c2hIYXNoOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hlcy5wdXNoKHRoaXMuaGFzaCk7XG4gICAgfVxuICAgIHRoaXMuaGFzaCA9IHsgdmFsdWVzOiB7fSwgdHlwZXM6IFtdLCBjb250ZXh0czogW10sIGlkczogW10gfTtcbiAgfSxcbiAgcG9wSGFzaDogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmhhc2g7XG4gICAgdGhpcy5oYXNoID0gdGhpcy5oYXNoZXMucG9wKCk7XG5cbiAgICBpZiAodGhpcy50cmFja0lkcykge1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLmlkcykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIHRoaXMucHVzaCh0aGlzLm9iamVjdExpdGVyYWwoaGFzaC5jb250ZXh0cykpO1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnR5cGVzKSk7XG4gICAgfVxuXG4gICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnZhbHVlcykpO1xuICB9LFxuXG4gIC8vIFtwdXNoU3RyaW5nXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBxdW90ZWRTdHJpbmcoc3RyaW5nKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBxdW90ZWQgdmVyc2lvbiBvZiBgc3RyaW5nYCBvbnRvIHRoZSBzdGFja1xuICBwdXNoU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodGhpcy5xdW90ZWRTdHJpbmcoc3RyaW5nKSk7XG4gIH0sXG5cbiAgLy8gW3B1c2hMaXRlcmFsXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiB2YWx1ZSwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyBhIHZhbHVlIG9udG8gdGhlIHN0YWNrLiBUaGlzIG9wZXJhdGlvbiBwcmV2ZW50c1xuICAvLyB0aGUgY29tcGlsZXIgZnJvbSBjcmVhdGluZyBhIHRlbXBvcmFyeSB2YXJpYWJsZSB0byBob2xkXG4gIC8vIGl0LlxuICBwdXNoTGl0ZXJhbDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodmFsdWUpO1xuICB9LFxuXG4gIC8vIFtwdXNoUHJvZ3JhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcHJvZ3JhbShndWlkKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBwcm9ncmFtIGV4cHJlc3Npb24gb250byB0aGUgc3RhY2suIFRoaXMgdGFrZXNcbiAgLy8gYSBjb21waWxlLXRpbWUgZ3VpZCBhbmQgY29udmVydHMgaXQgaW50byBhIHJ1bnRpbWUtYWNjZXNzaWJsZVxuICAvLyBleHByZXNzaW9uLlxuICBwdXNoUHJvZ3JhbTogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGlmIChndWlkICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLnByb2dyYW1FeHByZXNzaW9uKGd1aWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG51bGwpO1xuICAgIH1cbiAgfSxcblxuICAvLyBbcmVnaXN0ZXJEZWNvcmF0b3JdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIFBvcHMgb2ZmIHRoZSBkZWNvcmF0b3IncyBwYXJhbWV0ZXJzLCBpbnZva2VzIHRoZSBkZWNvcmF0b3IsXG4gIC8vIGFuZCBpbnNlcnRzIHRoZSBkZWNvcmF0b3IgaW50byB0aGUgZGVjb3JhdG9ycyBsaXN0LlxuICByZWdpc3RlckRlY29yYXRvcihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgZm91bmREZWNvcmF0b3IgPSB0aGlzLm5hbWVMb29rdXAoJ2RlY29yYXRvcnMnLCBuYW1lLCAnZGVjb3JhdG9yJyksXG4gICAgICBvcHRpb25zID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplKTtcblxuICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKFtcbiAgICAgICdmbiA9ICcsXG4gICAgICB0aGlzLmRlY29yYXRvcnMuZnVuY3Rpb25DYWxsKGZvdW5kRGVjb3JhdG9yLCAnJywgW1xuICAgICAgICAnZm4nLFxuICAgICAgICAncHJvcHMnLFxuICAgICAgICAnY29udGFpbmVyJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgXSksXG4gICAgICAnIHx8IGZuOydcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlSGVscGVyXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBoZWxwZXIgaW52b2NhdGlvblxuICAvL1xuICAvLyBQb3BzIG9mZiB0aGUgaGVscGVyJ3MgcGFyYW1ldGVycywgaW52b2tlcyB0aGUgaGVscGVyLFxuICAvLyBhbmQgcHVzaGVzIHRoZSBoZWxwZXIncyByZXR1cm4gdmFsdWUgb250byB0aGUgc3RhY2suXG4gIC8vXG4gIC8vIElmIHRoZSBoZWxwZXIgaXMgbm90IGZvdW5kLCBgaGVscGVyTWlzc2luZ2AgaXMgY2FsbGVkLlxuICBpbnZva2VIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgaXNTaW1wbGUpIHtcbiAgICBsZXQgbm9uSGVscGVyID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuXG4gICAgbGV0IHBvc3NpYmxlRnVuY3Rpb25DYWxscyA9IFtdO1xuXG4gICAgaWYgKGlzU2ltcGxlKSB7XG4gICAgICAvLyBkaXJlY3QgY2FsbCB0byBoZWxwZXJcbiAgICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKGhlbHBlci5uYW1lKTtcbiAgICB9XG4gICAgLy8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gdGhlIGlucHV0IG9iamVjdFxuICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKG5vbkhlbHBlcik7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICBwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMucHVzaChcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5ob29rcy5oZWxwZXJNaXNzaW5nJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGZ1bmN0aW9uTG9va3VwQ29kZSA9IFtcbiAgICAgICcoJyxcbiAgICAgIHRoaXMuaXRlbXNTZXBhcmF0ZWRCeShwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMsICd8fCcpLFxuICAgICAgJyknXG4gICAgXTtcbiAgICBsZXQgZnVuY3Rpb25DYWxsID0gdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKFxuICAgICAgZnVuY3Rpb25Mb29rdXBDb2RlLFxuICAgICAgJ2NhbGwnLFxuICAgICAgaGVscGVyLmNhbGxQYXJhbXNcbiAgICApO1xuICAgIHRoaXMucHVzaChmdW5jdGlvbkNhbGwpO1xuICB9LFxuXG4gIGl0ZW1zU2VwYXJhdGVkQnk6IGZ1bmN0aW9uKGl0ZW1zLCBzZXBhcmF0b3IpIHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgcmVzdWx0LnB1c2goaXRlbXNbMF0pO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHNlcGFyYXRvciwgaXRlbXNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuICAvLyBbaW52b2tlS25vd25IZWxwZXJdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIGludmVyc2UsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcmVzdWx0IG9mIGhlbHBlciBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWQgd2hlbiB0aGUgaGVscGVyIGlzIGtub3duIHRvIGV4aXN0LFxuICAvLyBzbyBhIGBoZWxwZXJNaXNzaW5nYCBmYWxsYmFjayBpcyBub3QgcmVxdWlyZWQuXG4gIGludm9rZUtub3duSGVscGVyOiBmdW5jdGlvbihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuICAgIHRoaXMucHVzaCh0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoaGVscGVyLm5hbWUsICdjYWxsJywgaGVscGVyLmNhbGxQYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbaW52b2tlQW1iaWd1b3VzXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBkaXNhbWJpZ3VhdGlvblxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBpcyB1c2VkIHdoZW4gYW4gZXhwcmVzc2lvbiBsaWtlIGB7e2Zvb319YFxuICAvLyBpcyBwcm92aWRlZCwgYnV0IHdlIGRvbid0IGtub3cgYXQgY29tcGlsZS10aW1lIHdoZXRoZXIgaXRcbiAgLy8gaXMgYSBoZWxwZXIgb3IgYSBwYXRoLlxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBlbWl0cyBtb3JlIGNvZGUgdGhhbiB0aGUgb3RoZXIgb3B0aW9ucyxcbiAgLy8gYW5kIGNhbiBiZSBhdm9pZGVkIGJ5IHBhc3NpbmcgdGhlIGBrbm93bkhlbHBlcnNgIGFuZFxuICAvLyBga25vd25IZWxwZXJzT25seWAgZmxhZ3MgYXQgY29tcGlsZS10aW1lLlxuICBpbnZva2VBbWJpZ3VvdXM6IGZ1bmN0aW9uKG5hbWUsIGhlbHBlckNhbGwpIHtcbiAgICB0aGlzLnVzZVJlZ2lzdGVyKCdoZWxwZXInKTtcblxuICAgIGxldCBub25IZWxwZXIgPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICB0aGlzLmVtcHR5SGFzaCgpO1xuICAgIGxldCBoZWxwZXIgPSB0aGlzLnNldHVwSGVscGVyKDAsIG5hbWUsIGhlbHBlckNhbGwpO1xuXG4gICAgbGV0IGhlbHBlck5hbWUgPSAodGhpcy5sYXN0SGVscGVyID0gdGhpcy5uYW1lTG9va3VwKFxuICAgICAgJ2hlbHBlcnMnLFxuICAgICAgbmFtZSxcbiAgICAgICdoZWxwZXInXG4gICAgKSk7XG5cbiAgICBsZXQgbG9va3VwID0gWycoJywgJyhoZWxwZXIgPSAnLCBoZWxwZXJOYW1lLCAnIHx8ICcsIG5vbkhlbHBlciwgJyknXTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIGxvb2t1cFswXSA9ICcoaGVscGVyID0gJztcbiAgICAgIGxvb2t1cC5wdXNoKFxuICAgICAgICAnICE9IG51bGwgPyBoZWxwZXIgOiAnLFxuICAgICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmhvb2tzLmhlbHBlck1pc3NpbmcnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goW1xuICAgICAgJygnLFxuICAgICAgbG9va3VwLFxuICAgICAgaGVscGVyLnBhcmFtc0luaXQgPyBbJyksKCcsIGhlbHBlci5wYXJhbXNJbml0XSA6IFtdLFxuICAgICAgJyksJyxcbiAgICAgICcodHlwZW9mIGhlbHBlciA9PT0gJyxcbiAgICAgIHRoaXMuYWxpYXNhYmxlKCdcImZ1bmN0aW9uXCInKSxcbiAgICAgICcgPyAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdoZWxwZXInLCAnY2FsbCcsIGhlbHBlci5jYWxsUGFyYW1zKSxcbiAgICAgICcgOiBoZWxwZXIpKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlUGFydGlhbF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogY29udGV4dCwgLi4uXG4gIC8vIE9uIHN0YWNrIGFmdGVyOiByZXN1bHQgb2YgcGFydGlhbCBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIHBvcHMgb2ZmIGEgY29udGV4dCwgaW52b2tlcyBhIHBhcnRpYWwgd2l0aCB0aGF0IGNvbnRleHQsXG4gIC8vIGFuZCBwdXNoZXMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2NhdGlvbiBiYWNrLlxuICBpbnZva2VQYXJ0aWFsOiBmdW5jdGlvbihpc0R5bmFtaWMsIG5hbWUsIGluZGVudCkge1xuICAgIGxldCBwYXJhbXMgPSBbXSxcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnNldHVwUGFyYW1zKG5hbWUsIDEsIHBhcmFtcyk7XG5cbiAgICBpZiAoaXNEeW5hbWljKSB7XG4gICAgICBuYW1lID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgZGVsZXRlIG9wdGlvbnMubmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50KSB7XG4gICAgICBvcHRpb25zLmluZGVudCA9IEpTT04uc3RyaW5naWZ5KGluZGVudCk7XG4gICAgfVxuICAgIG9wdGlvbnMuaGVscGVycyA9ICdoZWxwZXJzJztcbiAgICBvcHRpb25zLnBhcnRpYWxzID0gJ3BhcnRpYWxzJztcbiAgICBvcHRpb25zLmRlY29yYXRvcnMgPSAnY29udGFpbmVyLmRlY29yYXRvcnMnO1xuXG4gICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgIHBhcmFtcy51bnNoaWZ0KHRoaXMubmFtZUxvb2t1cCgncGFydGlhbHMnLCBuYW1lLCAncGFydGlhbCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zLnVuc2hpZnQobmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb21wYXQpIHtcbiAgICAgIG9wdGlvbnMuZGVwdGhzID0gJ2RlcHRocyc7XG4gICAgfVxuICAgIG9wdGlvbnMgPSB0aGlzLm9iamVjdExpdGVyYWwob3B0aW9ucyk7XG4gICAgcGFyYW1zLnB1c2gob3B0aW9ucyk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdjb250YWluZXIuaW52b2tlUGFydGlhbCcsICcnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYXNzaWduVG9IYXNoXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uLCBoYXNoLCAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiAuLi4sIGhhc2gsIC4uLlxuICAvL1xuICAvLyBQb3BzIGEgdmFsdWUgb2ZmIHRoZSBzdGFjayBhbmQgYXNzaWducyBpdCB0byB0aGUgY3VycmVudCBoYXNoXG4gIGFzc2lnblRvSGFzaDogZnVuY3Rpb24oa2V5KSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgY29udGV4dCxcbiAgICAgIHR5cGUsXG4gICAgICBpZDtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBpZCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0eXBlID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgY29udGV4dCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaGFzaCA9IHRoaXMuaGFzaDtcbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgaGFzaC5jb250ZXh0c1trZXldID0gY29udGV4dDtcbiAgICB9XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIGhhc2gudHlwZXNba2V5XSA9IHR5cGU7XG4gICAgfVxuICAgIGlmIChpZCkge1xuICAgICAgaGFzaC5pZHNba2V5XSA9IGlkO1xuICAgIH1cbiAgICBoYXNoLnZhbHVlc1trZXldID0gdmFsdWU7XG4gIH0sXG5cbiAgcHVzaElkOiBmdW5jdGlvbih0eXBlLCBuYW1lLCBjaGlsZCkge1xuICAgIGlmICh0eXBlID09PSAnQmxvY2tQYXJhbScpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChcbiAgICAgICAgJ2Jsb2NrUGFyYW1zWycgK1xuICAgICAgICAgIG5hbWVbMF0gK1xuICAgICAgICAgICddLnBhdGhbJyArXG4gICAgICAgICAgbmFtZVsxXSArXG4gICAgICAgICAgJ10nICtcbiAgICAgICAgICAoY2hpbGQgPyAnICsgJyArIEpTT04uc3RyaW5naWZ5KCcuJyArIGNoaWxkKSA6ICcnKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQYXRoRXhwcmVzc2lvbicpIHtcbiAgICAgIHRoaXMucHVzaFN0cmluZyhuYW1lKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdTdWJFeHByZXNzaW9uJykge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnbnVsbCcpO1xuICAgIH1cbiAgfSxcblxuICAvLyBIRUxQRVJTXG5cbiAgY29tcGlsZXI6IEphdmFTY3JpcHRDb21waWxlcixcblxuICBjb21waWxlQ2hpbGRyZW46IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zKSB7XG4gICAgbGV0IGNoaWxkcmVuID0gZW52aXJvbm1lbnQuY2hpbGRyZW4sXG4gICAgICBjaGlsZCxcbiAgICAgIGNvbXBpbGVyO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBjb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuXG4gICAgICBsZXQgZXhpc3RpbmcgPSB0aGlzLm1hdGNoRXhpc3RpbmdQcm9ncmFtKGNoaWxkKTtcblxuICAgICAgaWYgKGV4aXN0aW5nID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnByb2dyYW1zLnB1c2goJycpOyAvLyBQbGFjZWhvbGRlciB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzIGZvciBuZXN0ZWQgY2hpbGRyZW5cbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5jb250ZXh0LnByb2dyYW1zLmxlbmd0aDtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGluZGV4O1xuICAgICAgICB0aGlzLmNvbnRleHQucHJvZ3JhbXNbaW5kZXhdID0gY29tcGlsZXIuY29tcGlsZShcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRoaXMuY29udGV4dCxcbiAgICAgICAgICAhdGhpcy5wcmVjb21waWxlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kZWNvcmF0b3JzW2luZGV4XSA9IGNvbXBpbGVyLmRlY29yYXRvcnM7XG4gICAgICAgIHRoaXMuY29udGV4dC5lbnZpcm9ubWVudHNbaW5kZXhdID0gY2hpbGQ7XG5cbiAgICAgICAgdGhpcy51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocyB8fCBjb21waWxlci51c2VEZXB0aHM7XG4gICAgICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGNvbXBpbGVyLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgICBjaGlsZC51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocztcbiAgICAgICAgY2hpbGQudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBleGlzdGluZy5pbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGV4aXN0aW5nLmluZGV4O1xuXG4gICAgICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgZXhpc3RpbmcudXNlRGVwdGhzO1xuICAgICAgICB0aGlzLnVzZUJsb2NrUGFyYW1zID0gdGhpcy51c2VCbG9ja1BhcmFtcyB8fCBleGlzdGluZy51c2VCbG9ja1BhcmFtcztcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1hdGNoRXhpc3RpbmdQcm9ncmFtOiBmdW5jdGlvbihjaGlsZCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgZW52aXJvbm1lbnQgPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzW2ldO1xuICAgICAgaWYgKGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmVxdWFscyhjaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIGVudmlyb25tZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwcm9ncmFtRXhwcmVzc2lvbjogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGxldCBjaGlsZCA9IHRoaXMuZW52aXJvbm1lbnQuY2hpbGRyZW5bZ3VpZF0sXG4gICAgICBwcm9ncmFtUGFyYW1zID0gW2NoaWxkLmluZGV4LCAnZGF0YScsIGNoaWxkLmJsb2NrUGFyYW1zXTtcblxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IHRoaXMudXNlRGVwdGhzKSB7XG4gICAgICBwcm9ncmFtUGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcHJvZ3JhbVBhcmFtcy5wdXNoKCdkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NvbnRhaW5lci5wcm9ncmFtKCcgKyBwcm9ncmFtUGFyYW1zLmpvaW4oJywgJykgKyAnKSc7XG4gIH0sXG5cbiAgdXNlUmVnaXN0ZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJzW25hbWVdKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyc1tuYW1lXSA9IHRydWU7XG4gICAgICB0aGlzLnJlZ2lzdGVycy5saXN0LnB1c2gobmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2g6IGZ1bmN0aW9uKGV4cHIpIHtcbiAgICBpZiAoIShleHByIGluc3RhbmNlb2YgTGl0ZXJhbCkpIHtcbiAgICAgIGV4cHIgPSB0aGlzLnNvdXJjZS53cmFwKGV4cHIpO1xuICAgIH1cblxuICAgIHRoaXMuaW5saW5lU3RhY2sucHVzaChleHByKTtcbiAgICByZXR1cm4gZXhwcjtcbiAgfSxcblxuICBwdXNoU3RhY2tMaXRlcmFsOiBmdW5jdGlvbihpdGVtKSB7XG4gICAgdGhpcy5wdXNoKG5ldyBMaXRlcmFsKGl0ZW0pKTtcbiAgfSxcblxuICBwdXNoU291cmNlOiBmdW5jdGlvbihzb3VyY2UpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ29udGVudCkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChcbiAgICAgICAgdGhpcy5hcHBlbmRUb0J1ZmZlcihcbiAgICAgICAgICB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcodGhpcy5wZW5kaW5nQ29udGVudCksXG4gICAgICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb25cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMucGVuZGluZ0NvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChzb3VyY2UpO1xuICAgIH1cbiAgfSxcblxuICByZXBsYWNlU3RhY2s6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgbGV0IHByZWZpeCA9IFsnKCddLFxuICAgICAgc3RhY2ssXG4gICAgICBjcmVhdGVkU3RhY2ssXG4gICAgICB1c2VkTGl0ZXJhbDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCF0aGlzLmlzSW5saW5lKCkpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ3JlcGxhY2VTdGFjayBvbiBub24taW5saW5lJyk7XG4gICAgfVxuXG4gICAgLy8gV2Ugd2FudCB0byBtZXJnZSB0aGUgaW5saW5lIHN0YXRlbWVudCBpbnRvIHRoZSByZXBsYWNlbWVudCBzdGF0ZW1lbnQgdmlhICcsJ1xuICAgIGxldCB0b3AgPSB0aGlzLnBvcFN0YWNrKHRydWUpO1xuXG4gICAgaWYgKHRvcCBpbnN0YW5jZW9mIExpdGVyYWwpIHtcbiAgICAgIC8vIExpdGVyYWxzIGRvIG5vdCBuZWVkIHRvIGJlIGlubGluZWRcbiAgICAgIHN0YWNrID0gW3RvcC52YWx1ZV07XG4gICAgICBwcmVmaXggPSBbJygnLCBzdGFja107XG4gICAgICB1c2VkTGl0ZXJhbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEdldCBvciBjcmVhdGUgdGhlIGN1cnJlbnQgc3RhY2sgbmFtZSBmb3IgdXNlIGJ5IHRoZSBpbmxpbmVcbiAgICAgIGNyZWF0ZWRTdGFjayA9IHRydWU7XG4gICAgICBsZXQgbmFtZSA9IHRoaXMuaW5jclN0YWNrKCk7XG5cbiAgICAgIHByZWZpeCA9IFsnKCgnLCB0aGlzLnB1c2gobmFtZSksICcgPSAnLCB0b3AsICcpJ107XG4gICAgICBzdGFjayA9IHRoaXMudG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbSA9IGNhbGxiYWNrLmNhbGwodGhpcywgc3RhY2spO1xuXG4gICAgaWYgKCF1c2VkTGl0ZXJhbCkge1xuICAgICAgdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZFN0YWNrKSB7XG4gICAgICB0aGlzLnN0YWNrU2xvdC0tO1xuICAgIH1cbiAgICB0aGlzLnB1c2gocHJlZml4LmNvbmNhdChpdGVtLCAnKScpKTtcbiAgfSxcblxuICBpbmNyU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuc3RhY2tTbG90Kys7XG4gICAgaWYgKHRoaXMuc3RhY2tTbG90ID4gdGhpcy5zdGFja1ZhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YWNrVmFycy5wdXNoKCdzdGFjaycgKyB0aGlzLnN0YWNrU2xvdCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRvcFN0YWNrTmFtZSgpO1xuICB9LFxuICB0b3BTdGFja05hbWU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc3RhY2snICsgdGhpcy5zdGFja1Nsb3Q7XG4gIH0sXG4gIGZsdXNoSW5saW5lOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgaW5saW5lU3RhY2sgPSB0aGlzLmlubGluZVN0YWNrO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5saW5lU3RhY2subGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBlbnRyeSA9IGlubGluZVN0YWNrW2ldO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoZW50cnkgaW5zdGFuY2VvZiBMaXRlcmFsKSB7XG4gICAgICAgIHRoaXMuY29tcGlsZVN0YWNrLnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHN0YWNrID0gdGhpcy5pbmNyU3RhY2soKTtcbiAgICAgICAgdGhpcy5wdXNoU291cmNlKFtzdGFjaywgJyA9ICcsIGVudHJ5LCAnOyddKTtcbiAgICAgICAgdGhpcy5jb21waWxlU3RhY2sucHVzaChzdGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBpc0lubGluZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5saW5lU3RhY2subGVuZ3RoO1xuICB9LFxuXG4gIHBvcFN0YWNrOiBmdW5jdGlvbih3cmFwcGVkKSB7XG4gICAgbGV0IGlubGluZSA9IHRoaXMuaXNJbmxpbmUoKSxcbiAgICAgIGl0ZW0gPSAoaW5saW5lID8gdGhpcy5pbmxpbmVTdGFjayA6IHRoaXMuY29tcGlsZVN0YWNrKS5wb3AoKTtcblxuICAgIGlmICghd3JhcHBlZCAmJiBpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhpcy5zdGFja1Nsb3QpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHN0YWNrIHBvcCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhY2tTbG90LS07XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG4gIH0sXG5cbiAgdG9wU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIGxldCBzdGFjayA9IHRoaXMuaXNJbmxpbmUoKSA/IHRoaXMuaW5saW5lU3RhY2sgOiB0aGlzLmNvbXBpbGVTdGFjayxcbiAgICAgIGl0ZW0gPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgfSxcblxuICBjb250ZXh0TmFtZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGlmICh0aGlzLnVzZURlcHRocyAmJiBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gJ2RlcHRoc1snICsgY29udGV4dCArICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdkZXB0aCcgKyBjb250ZXh0O1xuICAgIH1cbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcoc3RyKTtcbiAgfSxcblxuICBvYmplY3RMaXRlcmFsOiBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uub2JqZWN0TGl0ZXJhbChvYmopO1xuICB9LFxuXG4gIGFsaWFzYWJsZTogZnVuY3Rpb24obmFtZSkge1xuICAgIGxldCByZXQgPSB0aGlzLmFsaWFzZXNbbmFtZV07XG4gICAgaWYgKHJldCkge1xuICAgICAgcmV0LnJlZmVyZW5jZUNvdW50Kys7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIHJldCA9IHRoaXMuYWxpYXNlc1tuYW1lXSA9IHRoaXMuc291cmNlLndyYXAobmFtZSk7XG4gICAgcmV0LmFsaWFzYWJsZSA9IHRydWU7XG4gICAgcmV0LnJlZmVyZW5jZUNvdW50ID0gMTtcblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgYmxvY2tIZWxwZXIpIHtcbiAgICBsZXQgcGFyYW1zID0gW10sXG4gICAgICBwYXJhbXNJbml0ID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplLCBwYXJhbXMsIGJsb2NrSGVscGVyKTtcbiAgICBsZXQgZm91bmRIZWxwZXIgPSB0aGlzLm5hbWVMb29rdXAoJ2hlbHBlcnMnLCBuYW1lLCAnaGVscGVyJyksXG4gICAgICBjYWxsQ29udGV4dCA9IHRoaXMuYWxpYXNhYmxlKFxuICAgICAgICBgJHt0aGlzLmNvbnRleHROYW1lKDApfSAhPSBudWxsID8gJHt0aGlzLmNvbnRleHROYW1lKFxuICAgICAgICAgIDBcbiAgICAgICAgKX0gOiAoY29udGFpbmVyLm51bGxDb250ZXh0IHx8IHt9KWBcbiAgICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBwYXJhbXNJbml0OiBwYXJhbXNJbml0LFxuICAgICAgbmFtZTogZm91bmRIZWxwZXIsXG4gICAgICBjYWxsUGFyYW1zOiBbY2FsbENvbnRleHRdLmNvbmNhdChwYXJhbXMpXG4gICAgfTtcbiAgfSxcblxuICBzZXR1cFBhcmFtczogZnVuY3Rpb24oaGVscGVyLCBwYXJhbVNpemUsIHBhcmFtcykge1xuICAgIGxldCBvcHRpb25zID0ge30sXG4gICAgICBjb250ZXh0cyA9IFtdLFxuICAgICAgdHlwZXMgPSBbXSxcbiAgICAgIGlkcyA9IFtdLFxuICAgICAgb2JqZWN0QXJncyA9ICFwYXJhbXMsXG4gICAgICBwYXJhbTtcblxuICAgIGlmIChvYmplY3RBcmdzKSB7XG4gICAgICBwYXJhbXMgPSBbXTtcbiAgICB9XG5cbiAgICBvcHRpb25zLm5hbWUgPSB0aGlzLnF1b3RlZFN0cmluZyhoZWxwZXIpO1xuICAgIG9wdGlvbnMuaGFzaCA9IHRoaXMucG9wU3RhY2soKTtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmhhc2hJZHMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0cmluZ1BhcmFtcykge1xuICAgICAgb3B0aW9ucy5oYXNoVHlwZXMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBvcHRpb25zLmhhc2hDb250ZXh0cyA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaW52ZXJzZSA9IHRoaXMucG9wU3RhY2soKSxcbiAgICAgIHByb2dyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICAvLyBBdm9pZCBzZXR0aW5nIGZuIGFuZCBpbnZlcnNlIGlmIG5laXRoZXIgYXJlIHNldC4gVGhpcyBhbGxvd3NcbiAgICAvLyBoZWxwZXJzIHRvIGRvIGEgY2hlY2sgZm9yIGBpZiAob3B0aW9ucy5mbilgXG4gICAgaWYgKHByb2dyYW0gfHwgaW52ZXJzZSkge1xuICAgICAgb3B0aW9ucy5mbiA9IHByb2dyYW0gfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICAgIG9wdGlvbnMuaW52ZXJzZSA9IGludmVyc2UgfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICB9XG5cbiAgICAvLyBUaGUgcGFyYW1ldGVycyBnbyBvbiB0byB0aGUgc3RhY2sgaW4gb3JkZXIgKG1ha2luZyBzdXJlIHRoYXQgdGhleSBhcmUgZXZhbHVhdGVkIGluIG9yZGVyKVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcG9wIHRoZW0gb2ZmIHRoZSBzdGFjayBpbiByZXZlcnNlIG9yZGVyXG4gICAgbGV0IGkgPSBwYXJhbVNpemU7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgcGFyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBwYXJhbXNbaV0gPSBwYXJhbTtcblxuICAgICAgaWYgKHRoaXMudHJhY2tJZHMpIHtcbiAgICAgICAgaWRzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICAgIHR5cGVzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgICBjb250ZXh0c1tpXSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2JqZWN0QXJncykge1xuICAgICAgb3B0aW9ucy5hcmdzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShwYXJhbXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmlkcyA9IHRoaXMuc291cmNlLmdlbmVyYXRlQXJyYXkoaWRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLnR5cGVzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheSh0eXBlcyk7XG4gICAgICBvcHRpb25zLmNvbnRleHRzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShjb250ZXh0cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICBvcHRpb25zLmRhdGEgPSAnZGF0YSc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLmJsb2NrUGFyYW1zID0gJ2Jsb2NrUGFyYW1zJztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXJBcmdzOiBmdW5jdGlvbihoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zLCB1c2VSZWdpc3Rlcikge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5zZXR1cFBhcmFtcyhoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zKTtcbiAgICBvcHRpb25zLmxvYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbik7XG4gICAgb3B0aW9ucyA9IHRoaXMub2JqZWN0TGl0ZXJhbChvcHRpb25zKTtcbiAgICBpZiAodXNlUmVnaXN0ZXIpIHtcbiAgICAgIHRoaXMudXNlUmVnaXN0ZXIoJ29wdGlvbnMnKTtcbiAgICAgIHBhcmFtcy5wdXNoKCdvcHRpb25zJyk7XG4gICAgICByZXR1cm4gWydvcHRpb25zPScsIG9wdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMucHVzaChvcHRpb25zKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuICB9XG59O1xuXG4oZnVuY3Rpb24oKSB7XG4gIGNvbnN0IHJlc2VydmVkV29yZHMgPSAoXG4gICAgJ2JyZWFrIGVsc2UgbmV3IHZhcicgK1xuICAgICcgY2FzZSBmaW5hbGx5IHJldHVybiB2b2lkJyArXG4gICAgJyBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlJyArXG4gICAgJyBjb250aW51ZSBmdW5jdGlvbiB0aGlzIHdpdGgnICtcbiAgICAnIGRlZmF1bHQgaWYgdGhyb3cnICtcbiAgICAnIGRlbGV0ZSBpbiB0cnknICtcbiAgICAnIGRvIGluc3RhbmNlb2YgdHlwZW9mJyArXG4gICAgJyBhYnN0cmFjdCBlbnVtIGludCBzaG9ydCcgK1xuICAgICcgYm9vbGVhbiBleHBvcnQgaW50ZXJmYWNlIHN0YXRpYycgK1xuICAgICcgYnl0ZSBleHRlbmRzIGxvbmcgc3VwZXInICtcbiAgICAnIGNoYXIgZmluYWwgbmF0aXZlIHN5bmNocm9uaXplZCcgK1xuICAgICcgY2xhc3MgZmxvYXQgcGFja2FnZSB0aHJvd3MnICtcbiAgICAnIGNvbnN0IGdvdG8gcHJpdmF0ZSB0cmFuc2llbnQnICtcbiAgICAnIGRlYnVnZ2VyIGltcGxlbWVudHMgcHJvdGVjdGVkIHZvbGF0aWxlJyArXG4gICAgJyBkb3VibGUgaW1wb3J0IHB1YmxpYyBsZXQgeWllbGQgYXdhaXQnICtcbiAgICAnIG51bGwgdHJ1ZSBmYWxzZSdcbiAgKS5zcGxpdCgnICcpO1xuXG4gIGNvbnN0IGNvbXBpbGVyV29yZHMgPSAoSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTID0ge30pO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsID0gcmVzZXJ2ZWRXb3Jkcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb21waWxlcldvcmRzW3Jlc2VydmVkV29yZHNbaV1dID0gdHJ1ZTtcbiAgfVxufSkoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNYXkgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG4gKi9cbkphdmFTY3JpcHRDb21waWxlci5pc1ZhbGlkSmF2YVNjcmlwdFZhcmlhYmxlTmFtZSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgcmV0dXJuIChcbiAgICAhSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTW25hbWVdICYmXG4gICAgL15bYS16QS1aXyRdWzAtOWEtekEtWl8kXSokLy50ZXN0KG5hbWUpXG4gICk7XG59O1xuXG5mdW5jdGlvbiBzdHJpY3RMb29rdXAocmVxdWlyZVRlcm1pbmFsLCBjb21waWxlciwgcGFydHMsIGksIHR5cGUpIHtcbiAgbGV0IHN0YWNrID0gY29tcGlsZXIucG9wU3RhY2soKSxcbiAgICBsZW4gPSBwYXJ0cy5sZW5ndGg7XG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICBsZW4tLTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzdGFjayA9IGNvbXBpbGVyLm5hbWVMb29rdXAoc3RhY2ssIHBhcnRzW2ldLCB0eXBlKTtcbiAgfVxuXG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICByZXR1cm4gW1xuICAgICAgY29tcGlsZXIuYWxpYXNhYmxlKCdjb250YWluZXIuc3RyaWN0JyksXG4gICAgICAnKCcsXG4gICAgICBzdGFjayxcbiAgICAgICcsICcsXG4gICAgICBjb21waWxlci5xdW90ZWRTdHJpbmcocGFydHNbaV0pLFxuICAgICAgJywgJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbXBpbGVyLnNvdXJjZS5jdXJyZW50TG9jYXRpb24pLFxuICAgICAgJyApJ1xuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YWNrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEphdmFTY3JpcHRDb21waWxlcjtcbiJdfQ== + + +/***/ }), + +/***/ 43091: +/***/ ((module, exports) => { + +"use strict"; +// File ignored in coverage tests via setting in .istanbul.yml +/* Jison generated parser */ + + +exports.__esModule = true; +var handlebars = (function () { + var parser = { trace: function trace() {}, + yy: {}, + symbols_: { "error": 2, "root": 3, "program": 4, "EOF": 5, "program_repetition0": 6, "statement": 7, "mustache": 8, "block": 9, "rawBlock": 10, "partial": 11, "partialBlock": 12, "content": 13, "COMMENT": 14, "CONTENT": 15, "openRawBlock": 16, "rawBlock_repetition0": 17, "END_RAW_BLOCK": 18, "OPEN_RAW_BLOCK": 19, "helperName": 20, "openRawBlock_repetition0": 21, "openRawBlock_option0": 22, "CLOSE_RAW_BLOCK": 23, "openBlock": 24, "block_option0": 25, "closeBlock": 26, "openInverse": 27, "block_option1": 28, "OPEN_BLOCK": 29, "openBlock_repetition0": 30, "openBlock_option0": 31, "openBlock_option1": 32, "CLOSE": 33, "OPEN_INVERSE": 34, "openInverse_repetition0": 35, "openInverse_option0": 36, "openInverse_option1": 37, "openInverseChain": 38, "OPEN_INVERSE_CHAIN": 39, "openInverseChain_repetition0": 40, "openInverseChain_option0": 41, "openInverseChain_option1": 42, "inverseAndProgram": 43, "INVERSE": 44, "inverseChain": 45, "inverseChain_option0": 46, "OPEN_ENDBLOCK": 47, "OPEN": 48, "mustache_repetition0": 49, "mustache_option0": 50, "OPEN_UNESCAPED": 51, "mustache_repetition1": 52, "mustache_option1": 53, "CLOSE_UNESCAPED": 54, "OPEN_PARTIAL": 55, "partialName": 56, "partial_repetition0": 57, "partial_option0": 58, "openPartialBlock": 59, "OPEN_PARTIAL_BLOCK": 60, "openPartialBlock_repetition0": 61, "openPartialBlock_option0": 62, "param": 63, "sexpr": 64, "OPEN_SEXPR": 65, "sexpr_repetition0": 66, "sexpr_option0": 67, "CLOSE_SEXPR": 68, "hash": 69, "hash_repetition_plus0": 70, "hashSegment": 71, "ID": 72, "EQUALS": 73, "blockParams": 74, "OPEN_BLOCK_PARAMS": 75, "blockParams_repetition_plus0": 76, "CLOSE_BLOCK_PARAMS": 77, "path": 78, "dataName": 79, "STRING": 80, "NUMBER": 81, "BOOLEAN": 82, "UNDEFINED": 83, "NULL": 84, "DATA": 85, "pathSegments": 86, "SEP": 87, "$accept": 0, "$end": 1 }, + terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 18: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "SEP" }, + productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) { + + var $0 = $$.length - 1; + switch (yystate) { + case 1: + return $$[$0 - 1]; + break; + case 2: + this.$ = yy.prepareProgram($$[$0]); + break; + case 3: + this.$ = $$[$0]; + break; + case 4: + this.$ = $$[$0]; + break; + case 5: + this.$ = $$[$0]; + break; + case 6: + this.$ = $$[$0]; + break; + case 7: + this.$ = $$[$0]; + break; + case 8: + this.$ = $$[$0]; + break; + case 9: + this.$ = { + type: 'CommentStatement', + value: yy.stripComment($$[$0]), + strip: yy.stripFlags($$[$0], $$[$0]), + loc: yy.locInfo(this._$) + }; + + break; + case 10: + this.$ = { + type: 'ContentStatement', + original: $$[$0], + value: $$[$0], + loc: yy.locInfo(this._$) + }; + + break; + case 11: + this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$); + break; + case 12: + this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] }; + break; + case 13: + this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$); + break; + case 14: + this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$); + break; + case 15: + this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; + break; + case 16: + this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; + break; + case 17: + this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) }; + break; + case 18: + this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] }; + break; + case 19: + var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$), + program = yy.prepareProgram([inverse], $$[$0 - 1].loc); + program.chained = true; + + this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true }; + + break; + case 20: + this.$ = $$[$0]; + break; + case 21: + this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) }; + break; + case 22: + this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$); + break; + case 23: + this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$); + break; + case 24: + this.$ = { + type: 'PartialStatement', + name: $$[$0 - 3], + params: $$[$0 - 2], + hash: $$[$0 - 1], + indent: '', + strip: yy.stripFlags($$[$0 - 4], $$[$0]), + loc: yy.locInfo(this._$) + }; + + break; + case 25: + this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$); + break; + case 26: + this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) }; + break; + case 27: + this.$ = $$[$0]; + break; + case 28: + this.$ = $$[$0]; + break; + case 29: + this.$ = { + type: 'SubExpression', + path: $$[$0 - 3], + params: $$[$0 - 2], + hash: $$[$0 - 1], + loc: yy.locInfo(this._$) + }; + + break; + case 30: + this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) }; + break; + case 31: + this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) }; + break; + case 32: + this.$ = yy.id($$[$0 - 1]); + break; + case 33: + this.$ = $$[$0]; + break; + case 34: + this.$ = $$[$0]; + break; + case 35: + this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) }; + break; + case 36: + this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) }; + break; + case 37: + this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) }; + break; + case 38: + this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) }; + break; + case 39: + this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) }; + break; + case 40: + this.$ = $$[$0]; + break; + case 41: + this.$ = $$[$0]; + break; + case 42: + this.$ = yy.preparePath(true, $$[$0], this._$); + break; + case 43: + this.$ = yy.preparePath(false, $$[$0], this._$); + break; + case 44: + $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2]; + break; + case 45: + this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }]; + break; + case 46: + this.$ = []; + break; + case 47: + $$[$0 - 1].push($$[$0]); + break; + case 48: + this.$ = []; + break; + case 49: + $$[$0 - 1].push($$[$0]); + break; + case 50: + this.$ = []; + break; + case 51: + $$[$0 - 1].push($$[$0]); + break; + case 58: + this.$ = []; + break; + case 59: + $$[$0 - 1].push($$[$0]); + break; + case 64: + this.$ = []; + break; + case 65: + $$[$0 - 1].push($$[$0]); + break; + case 70: + this.$ = []; + break; + case 71: + $$[$0 - 1].push($$[$0]); + break; + case 78: + this.$ = []; + break; + case 79: + $$[$0 - 1].push($$[$0]); + break; + case 82: + this.$ = []; + break; + case 83: + $$[$0 - 1].push($$[$0]); + break; + case 86: + this.$ = []; + break; + case 87: + $$[$0 - 1].push($$[$0]); + break; + case 90: + this.$ = []; + break; + case 91: + $$[$0 - 1].push($$[$0]); + break; + case 94: + this.$ = []; + break; + case 95: + $$[$0 - 1].push($$[$0]); + break; + case 98: + this.$ = [$$[$0]]; + break; + case 99: + $$[$0 - 1].push($$[$0]); + break; + case 100: + this.$ = [$$[$0]]; + break; + case 101: + $$[$0 - 1].push($$[$0]); + break; + } + }, + table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }], + defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] }, + parseError: function parseError(str, hash) { + throw new Error(str); + }, + parse: function parse(input) { + var self = this, + stack = [0], + vstack = [null], + lstack = [], + table = this.table, + yytext = "", + yylineno = 0, + yyleng = 0, + recovering = 0, + TERROR = 2, + EOF = 1; + this.lexer.setInput(input); + this.lexer.yy = this.yy; + this.yy.lexer = this.lexer; + this.yy.parser = this; + if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {}; + var yyloc = this.lexer.yylloc; + lstack.push(yyloc); + var ranges = this.lexer.options && this.lexer.options.ranges; + if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError; + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = self.lexer.lex() || 1; + if (typeof token !== "number") { + token = self.symbols_[token] || token; + } + return token; + } + var symbol, + preErrorSymbol, + state, + action, + a, + r, + yyval = {}, + p, + len, + newState, + expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + if (!recovering) { + expected = []; + for (p in table[state]) if (this.terminals_[p] && p > 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected }); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + /* Jison generated lexer */ + var lexer = (function () { + var lexer = { EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput: function setInput(input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }; + if (this.options.ranges) this.yylloc.range = [0, 0]; + this.offset = 0; + return this; + }, + input: function input() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput: function unput(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len - 1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) this.yylineno -= lines.length - 1; + var r = this.yylloc.range; + + this.yylloc = { first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more: function more() { + this._more = true; + return this; + }, + less: function less(n) { + this.unput(this.match.slice(n)); + }, + pastInput: function pastInput() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput: function upcomingInput() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + showPosition: function showPosition() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + next: function next() { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, match, tempMatch, index, col, lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = { first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) this.done = false; + if (token) return token;else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: "", token: null, line: this.yylineno }); + } + }, + lex: function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + popState: function popState() { + return this.conditionStack.pop(); + }, + _currentRules: function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + }, + topState: function topState() { + return this.conditionStack[this.conditionStack.length - 2]; + }, + pushState: function begin(condition) { + this.begin(condition); + } }; + lexer.options = {}; + lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start); + } + + var YYSTATE = YY_START; + switch ($avoiding_name_collisions) { + case 0: + if (yy_.yytext.slice(-2) === "\\\\") { + strip(0, 1); + this.begin("mu"); + } else if (yy_.yytext.slice(-1) === "\\") { + strip(0, 1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if (yy_.yytext) return 15; + + break; + case 1: + return 15; + break; + case 2: + this.popState(); + return 15; + + break; + case 3: + this.begin('raw');return 15; + break; + case 4: + this.popState(); + // Should be using `this.topState()` below, but it currently + // returns the second top instead of the first top. Opened an + // issue about it at https://github.com/zaach/jison/issues/291 + if (this.conditionStack[this.conditionStack.length - 1] === 'raw') { + return 15; + } else { + strip(5, 9); + return 'END_RAW_BLOCK'; + } + + break; + case 5: + return 15; + break; + case 6: + this.popState(); + return 14; + + break; + case 7: + return 65; + break; + case 8: + return 68; + break; + case 9: + return 19; + break; + case 10: + this.popState(); + this.begin('raw'); + return 23; + + break; + case 11: + return 55; + break; + case 12: + return 60; + break; + case 13: + return 29; + break; + case 14: + return 47; + break; + case 15: + this.popState();return 44; + break; + case 16: + this.popState();return 44; + break; + case 17: + return 34; + break; + case 18: + return 39; + break; + case 19: + return 51; + break; + case 20: + return 48; + break; + case 21: + this.unput(yy_.yytext); + this.popState(); + this.begin('com'); + + break; + case 22: + this.popState(); + return 14; + + break; + case 23: + return 48; + break; + case 24: + return 73; + break; + case 25: + return 72; + break; + case 26: + return 72; + break; + case 27: + return 87; + break; + case 28: + // ignore whitespace + break; + case 29: + this.popState();return 54; + break; + case 30: + this.popState();return 33; + break; + case 31: + yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80; + break; + case 32: + yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80; + break; + case 33: + return 85; + break; + case 34: + return 82; + break; + case 35: + return 82; + break; + case 36: + return 83; + break; + case 37: + return 84; + break; + case 38: + return 81; + break; + case 39: + return 75; + break; + case 40: + return 77; + break; + case 41: + return 72; + break; + case 42: + yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72; + break; + case 43: + return 'INVALID'; + break; + case 44: + return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/]; + lexer.conditions = { "mu": { "rules": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "inclusive": false }, "emu": { "rules": [2], "inclusive": false }, "com": { "rules": [6], "inclusive": false }, "raw": { "rules": [3, 4, 5], "inclusive": false }, "INITIAL": { "rules": [0, 1, 44], "inclusive": true } }; + return lexer; + })(); + parser.lexer = lexer; + function Parser() { + this.yy = {}; + }Parser.prototype = parser;parser.Parser = Parser; + return new Parser(); +})();exports["default"] = handlebars; +module.exports = exports["default"]; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3BhcnNlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQUksVUFBVSxHQUFHLENBQUMsWUFBVTtBQUM1QixRQUFJLE1BQU0sR0FBRyxFQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssR0FBSSxFQUFHO0FBQzFDLFVBQUUsRUFBRSxFQUFFO0FBQ04sZ0JBQVEsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMscUJBQXFCLEVBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsc0JBQXNCLEVBQUMsRUFBRSxFQUFDLGVBQWUsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsMEJBQTBCLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDLG1CQUFtQixFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFBRSxFQUFDLHlCQUF5QixFQUFDLEVBQUUsRUFBQyxxQkFBcUIsRUFBQyxFQUFFLEVBQUMscUJBQXFCLEVBQUMsRUFBRSxFQUFDLGtCQUFrQixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsOEJBQThCLEVBQUMsRUFBRSxFQUFDLDBCQUEwQixFQUFDLEVBQUUsRUFBQywwQkFBMEIsRUFBQyxFQUFFLEVBQUMsbUJBQW1CLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFDLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxrQkFBa0IsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxrQkFBa0IsRUFBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBQyxxQkFBcUIsRUFBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUMsRUFBRSxFQUFDLGtCQUFrQixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsOEJBQThCLEVBQUMsRUFBRSxFQUFDLDBCQUEwQixFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsbUJBQW1CLEVBQUMsRUFBRSxFQUFDLDhCQUE4QixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUM7QUFDNW1ELGtCQUFVLEVBQUUsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLGdCQUFnQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLGdCQUFnQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLEtBQUssRUFBQztBQUM1ZSxvQkFBWSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JzQixxQkFBYSxFQUFFLFNBQVMsU0FBUyxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFDdkU7O0FBRUYsZ0JBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLG9CQUFRLE9BQU87QUFDZixxQkFBSyxDQUFDO0FBQUUsMkJBQU8sRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFDRix3QkFBSSxDQUFDLENBQUMsR0FBRztBQUNQLDRCQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLDZCQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUIsNkJBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7cUJBQ3pCLENBQUM7O0FBRU4sMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFDSCx3QkFBSSxDQUFDLENBQUMsR0FBRztBQUNQLDRCQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLGdDQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoQiw2QkFBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDYiwyQkFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDekIsQ0FBQzs7QUFFTiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JKLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDckksMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNySSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQy9FLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzdFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCwyQkFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7O0FBRXZCLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOztBQUV0RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDO0FBQzFFLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEgsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0SCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUNILHdCQUFJLENBQUMsQ0FBQyxHQUFHO0FBQ1AsNEJBQUksRUFBRSxrQkFBa0I7QUFDeEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRTtBQUNWLDZCQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QywyQkFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDekIsQ0FBQzs7QUFFTiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlHLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksQ0FBQyxDQUFDLEdBQUc7QUFDUCw0QkFBSSxFQUFFLGVBQWU7QUFDckIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDJCQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3FCQUN6QixDQUFDOztBQUVOLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDbkcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDcEcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQ3BILDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDM0gsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDN0csMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQzlGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEQsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBRSxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxBQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUMzRCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEdBQUc7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxHQUFHO0FBQUMsc0JBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLDBCQUFNO0FBQUEsYUFDTDtTQUNBO0FBQ0QsYUFBSyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQy8vVixzQkFBYyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQztBQUNsTSxrQkFBVSxFQUFFLFNBQVMsVUFBVSxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDeEMsa0JBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEI7QUFDRCxhQUFLLEVBQUUsU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0FBQ3pCLGdCQUFJLElBQUksR0FBRyxJQUFJO2dCQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQUUsTUFBTSxHQUFHLEVBQUU7Z0JBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO2dCQUFFLE1BQU0sR0FBRyxFQUFFO2dCQUFFLFFBQVEsR0FBRyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUFFLFVBQVUsR0FBRyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDM0osZ0JBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNCLGdCQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3hCLGdCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQzNCLGdCQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDdEIsZ0JBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxXQUFXLEVBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUMzQixnQkFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDOUIsa0JBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsZ0JBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUM3RCxnQkFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztBQUN6QyxxQkFBUyxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ2pCLHFCQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxzQkFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNsQyxzQkFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNyQztBQUNELHFCQUFTLEdBQUcsR0FBRztBQUNYLG9CQUFJLEtBQUssQ0FBQztBQUNWLHFCQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUIsb0JBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO0FBQzNCLHlCQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7aUJBQ3pDO0FBQ0QsdUJBQU8sS0FBSyxDQUFDO2FBQ2hCO0FBQ0QsZ0JBQUksTUFBTTtnQkFBRSxjQUFjO2dCQUFFLEtBQUs7Z0JBQUUsTUFBTTtnQkFBRSxDQUFDO2dCQUFFLENBQUM7Z0JBQUUsS0FBSyxHQUFHLEVBQUU7Z0JBQUUsQ0FBQztnQkFBRSxHQUFHO2dCQUFFLFFBQVE7Z0JBQUUsUUFBUSxDQUFDO0FBQ3hGLG1CQUFPLElBQUksRUFBRTtBQUNULHFCQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEMsb0JBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUM1QiwwQkFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3ZDLE1BQU07QUFDSCx3QkFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxJQUFJLFdBQVcsRUFBRTtBQUNqRCw4QkFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO3FCQUNsQjtBQUNELDBCQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDakQ7QUFDRCxvQkFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQy9ELHdCQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDaEIsd0JBQUksQ0FBQyxVQUFVLEVBQUU7QUFDYixnQ0FBUSxHQUFHLEVBQUUsQ0FBQztBQUNkLDZCQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQzdCLG9DQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3lCQUNqRDtBQUNMLDRCQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO0FBQ3pCLGtDQUFNLEdBQUcsc0JBQXNCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQSxBQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFBLEFBQUMsR0FBRyxHQUFHLENBQUM7eUJBQ3ZMLE1BQU07QUFDSCxrQ0FBTSxHQUFHLHNCQUFzQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUEsQUFBQyxHQUFHLGVBQWUsSUFBSSxNQUFNLElBQUksQ0FBQyxHQUFDLGNBQWMsR0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUEsQUFBQyxHQUFHLEdBQUcsQ0FBQSxBQUFDLENBQUM7eUJBQ3JKO0FBQ0QsNEJBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDMUo7aUJBQ0o7QUFDRCxvQkFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ2pELDBCQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxHQUFHLEtBQUssR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUM7aUJBQ3ZHO0FBQ0Qsd0JBQVEsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNqQix5QkFBSyxDQUFDO0FBQ0YsNkJBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkIsOEJBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQiw4QkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLDZCQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLDhCQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2QsNEJBQUksQ0FBQyxjQUFjLEVBQUU7QUFDakIsa0NBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMzQixrQ0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNCLG9DQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDL0IsaUNBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMxQixnQ0FBSSxVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsRUFBRSxDQUFDO3lCQUNwQixNQUFNO0FBQ0gsa0NBQU0sR0FBRyxjQUFjLENBQUM7QUFDeEIsMENBQWMsR0FBRyxJQUFJLENBQUM7eUJBQ3pCO0FBQ0QsOEJBQU07QUFBQSxBQUNWLHlCQUFLLENBQUM7QUFDRiwyQkFBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsNkJBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDdEMsNkJBQUssQ0FBQyxFQUFFLEdBQUcsRUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQSxBQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQSxBQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDO0FBQzFPLDRCQUFJLE1BQU0sRUFBRTtBQUNSLGlDQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUEsQUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN0RztBQUNELHlCQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRyw0QkFBSSxPQUFPLENBQUMsS0FBSyxXQUFXLEVBQUU7QUFDMUIsbUNBQU8sQ0FBQyxDQUFDO3lCQUNaO0FBQ0QsNEJBQUksR0FBRyxFQUFFO0FBQ0wsaUNBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckMsa0NBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNuQyxrQ0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3lCQUN0QztBQUNELDZCQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1Qyw4QkFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsOEJBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RCLGdDQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSw2QkFBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQiw4QkFBTTtBQUFBLEFBQ1YseUJBQUssQ0FBQztBQUNGLCtCQUFPLElBQUksQ0FBQztBQUFBLGlCQUNmO2FBQ0o7QUFDRCxtQkFBTyxJQUFJLENBQUM7U0FDZjtLQUNBLENBQUM7O0FBRUYsUUFBSSxLQUFLLEdBQUcsQ0FBQyxZQUFVO0FBQ3ZCLFlBQUksS0FBSyxHQUFJLEVBQUMsR0FBRyxFQUFDLENBQUM7QUFDbkIsc0JBQVUsRUFBQyxTQUFTLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO0FBQ2xDLG9CQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFO0FBQ2hCLHdCQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUN4QyxNQUFNO0FBQ0gsMEJBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3hCO2FBQ0o7QUFDTCxvQkFBUSxFQUFDLGtCQUFVLEtBQUssRUFBRTtBQUNsQixvQkFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDcEIsb0JBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztBQUM1QyxvQkFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNoQyxvQkFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQzdDLG9CQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsb0JBQUksQ0FBQyxNQUFNLEdBQUcsRUFBQyxVQUFVLEVBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUM7QUFDdEUsb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsb0JBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLHVCQUFPLElBQUksQ0FBQzthQUNmO0FBQ0wsaUJBQUssRUFBQyxpQkFBWTtBQUNWLG9CQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLG9CQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztBQUNsQixvQkFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2Qsb0JBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNkLG9CQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUNqQixvQkFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDbkIsb0JBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4QyxvQkFBSSxLQUFLLEVBQUU7QUFDUCx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLHdCQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2lCQUMzQixNQUFNO0FBQ0gsd0JBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQzdCO0FBQ0Qsb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs7QUFFaEQsb0JBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsdUJBQU8sRUFBRSxDQUFDO2FBQ2I7QUFDTCxpQkFBSyxFQUFDLGVBQVUsRUFBRSxFQUFFO0FBQ1osb0JBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7QUFDcEIsb0JBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7O0FBRXRDLG9CQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQy9CLG9CQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTlELG9CQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztBQUNuQixvQkFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDakQsb0JBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELG9CQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFN0Qsb0JBQUksS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztBQUNwRCxvQkFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7O0FBRTFCLG9CQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtBQUMvQyw2QkFBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQztBQUMxQixnQ0FBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtBQUN0QywrQkFBVyxFQUFFLEtBQUssR0FDZCxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUEsR0FBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQ3JJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUc7aUJBQ2pDLENBQUM7O0FBRUosb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDckIsd0JBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO2lCQUN4RDtBQUNELHVCQUFPLElBQUksQ0FBQzthQUNmO0FBQ0wsZ0JBQUksRUFBQyxnQkFBWTtBQUNULG9CQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztBQUNsQix1QkFBTyxJQUFJLENBQUM7YUFDZjtBQUNMLGdCQUFJLEVBQUMsY0FBVSxDQUFDLEVBQUU7QUFDVixvQkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DO0FBQ0wscUJBQVMsRUFBQyxxQkFBWTtBQUNkLG9CQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzRSx1QkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBQyxFQUFFLENBQUEsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzthQUM5RTtBQUNMLHlCQUFhLEVBQUMseUJBQVk7QUFDbEIsb0JBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDdEIsb0JBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7QUFDbEIsd0JBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDakQ7QUFDRCx1QkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxJQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0U7QUFDTCx3QkFBWSxFQUFDLHdCQUFZO0FBQ2pCLG9CQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDM0Isb0JBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLHVCQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBQyxHQUFHLENBQUM7YUFDcEQ7QUFDTCxnQkFBSSxFQUFDLGdCQUFZO0FBQ1Qsb0JBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNYLDJCQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ25CO0FBQ0Qsb0JBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOztBQUVuQyxvQkFBSSxLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsR0FBRyxFQUNILEtBQUssQ0FBQztBQUNWLG9CQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUNiLHdCQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNqQix3QkFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7aUJBQ25CO0FBQ0Qsb0JBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUNqQyxxQkFBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDaEMsNkJBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsd0JBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxBQUFDLEVBQUU7QUFDaEUsNkJBQUssR0FBRyxTQUFTLENBQUM7QUFDbEIsNkJBQUssR0FBRyxDQUFDLENBQUM7QUFDViw0QkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU07cUJBQ2pDO2lCQUNKO0FBQ0Qsb0JBQUksS0FBSyxFQUFFO0FBQ1AseUJBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUMsd0JBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN6Qyx3QkFBSSxDQUFDLE1BQU0sR0FBRyxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDakMsaUNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUM7QUFDMUIsb0NBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7QUFDckMsbUNBQVcsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDO0FBQzlKLHdCQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4Qix3QkFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsd0JBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLHdCQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ2pDLHdCQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3JCLDRCQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ2pFO0FBQ0Qsd0JBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ25CLHdCQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRCx3QkFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIseUJBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNySCx3QkFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7QUFDaEQsd0JBQUksS0FBSyxFQUFFLE9BQU8sS0FBSyxDQUFDLEtBQ25CLE9BQU87aUJBQ2Y7QUFDRCxvQkFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtBQUNwQiwyQkFBTyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNuQixNQUFNO0FBQ0gsMkJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsSUFBRSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQSxBQUFDLEdBQUMsd0JBQXdCLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUN0RyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0o7QUFDTCxlQUFHLEVBQUMsU0FBUyxHQUFHLEdBQUk7QUFDWixvQkFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3BCLG9CQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsRUFBRTtBQUMxQiwyQkFBTyxDQUFDLENBQUM7aUJBQ1osTUFBTTtBQUNILDJCQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDckI7YUFDSjtBQUNMLGlCQUFLLEVBQUMsU0FBUyxLQUFLLENBQUUsU0FBUyxFQUFFO0FBQ3pCLG9CQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN2QztBQUNMLG9CQUFRLEVBQUMsU0FBUyxRQUFRLEdBQUk7QUFDdEIsdUJBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNwQztBQUNMLHlCQUFhLEVBQUMsU0FBUyxhQUFhLEdBQUk7QUFDaEMsdUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ25GO0FBQ0wsb0JBQVEsRUFBQyxvQkFBWTtBQUNiLHVCQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUQ7QUFDTCxxQkFBUyxFQUFDLFNBQVMsS0FBSyxDQUFFLFNBQVMsRUFBRTtBQUM3QixvQkFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN6QixFQUFDLEFBQUMsQ0FBQztBQUNSLGFBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ25CLGFBQUssQ0FBQyxhQUFhLEdBQUcsU0FBUyxTQUFTLENBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyx5QkFBeUIsRUFBQyxRQUFRLEVBQ2hGOztBQUdGLHFCQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQ3pCLHVCQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO2FBQzNFOztBQUdELGdCQUFJLE9BQU8sR0FBQyxRQUFRLENBQUE7QUFDcEIsb0JBQU8seUJBQXlCO0FBQ2hDLHFCQUFLLENBQUM7QUFDNkIsd0JBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLEVBQUU7QUFDbEMsNkJBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCw0QkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEIsTUFBTSxJQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO0FBQ3ZDLDZCQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsNEJBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25CLE1BQU07QUFDTCw0QkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEI7QUFDRCx3QkFBRyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOztBQUU1RCwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUFDLDJCQUFPLEVBQUUsQ0FBQztBQUNqQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUM2Qix3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLDJCQUFPLEVBQUUsQ0FBQzs7QUFFN0MsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3BDLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQzRCLHdCQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs7QUFJaEIsd0JBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDL0QsK0JBQU8sRUFBRSxDQUFDO3FCQUNYLE1BQU07QUFDTCw2QkFBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNaLCtCQUFPLGVBQWUsQ0FBQztxQkFDeEI7O0FBRW5DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQUUsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQ0osd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQiwyQkFBTyxFQUFFLENBQUM7O0FBRVosMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDakIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDakIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBRSwyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFDMkIsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQix3QkFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQiwyQkFBTyxFQUFFLENBQUM7O0FBRTVDLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0wsd0JBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLHdCQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDaEIsd0JBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXBCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0wsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQiwyQkFBTyxFQUFFLENBQUM7O0FBRVosMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7O0FBQ1AsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx1QkFBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsR0FBRyxDQUFDLENBQUMsQUFBQyxPQUFPLEVBQUUsQ0FBQztBQUMvRCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHVCQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQy9ELDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsdUJBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLElBQUksQ0FBQyxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDdkUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxTQUFTLENBQUM7QUFDekIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxDQUFDLENBQUM7QUFDakIsMEJBQU07QUFBQSxhQUNMO1NBQ0EsQ0FBQztBQUNGLGFBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQywwQkFBMEIsRUFBQyxlQUFlLEVBQUMsK0NBQStDLEVBQUMsdUJBQXVCLEVBQUMsb0VBQW9FLEVBQUMsOEJBQThCLEVBQUMseUJBQXlCLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsZUFBZSxFQUFDLGdCQUFnQixFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLDRCQUE0QixFQUFDLGlDQUFpQyxFQUFDLGlCQUFpQixFQUFDLHdCQUF3QixFQUFDLGlCQUFpQixFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLDRCQUE0QixFQUFDLGtCQUFrQixFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsMkJBQTJCLEVBQUMsWUFBWSxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMsc0JBQXNCLEVBQUMsc0JBQXNCLEVBQUMsUUFBUSxFQUFDLHdCQUF3QixFQUFDLHlCQUF5QixFQUFDLDZCQUE2QixFQUFDLHdCQUF3QixFQUFDLHlDQUF5QyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMseURBQXlELEVBQUMsd0JBQXdCLEVBQUMsUUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xnQyxhQUFLLENBQUMsVUFBVSxHQUFHLEVBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxFQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsRUFBQyxLQUFLLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsS0FBSyxFQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLEtBQUssRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLFNBQVMsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7QUFDM1UsZUFBTyxLQUFLLENBQUM7S0FBQyxDQUFBLEVBQUcsQ0FBQTtBQUNqQixVQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNyQixhQUFTLE1BQU0sR0FBSTtBQUFFLFlBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0tBQUUsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckYsV0FBTyxJQUFJLE1BQU0sRUFBQSxDQUFDO0NBQ2pCLENBQUEsRUFBRyxDQUFDLHFCQUFlLFVBQVUiLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZSBpZ25vcmVkIGluIGNvdmVyYWdlIHRlc3RzIHZpYSBzZXR0aW5nIGluIC5pc3RhbmJ1bC55bWxcbi8qIEppc29uIGdlbmVyYXRlZCBwYXJzZXIgKi9cbnZhciBoYW5kbGViYXJzID0gKGZ1bmN0aW9uKCl7XG52YXIgcGFyc2VyID0ge3RyYWNlOiBmdW5jdGlvbiB0cmFjZSAoKSB7IH0sXG55eToge30sXG5zeW1ib2xzXzoge1wiZXJyb3JcIjoyLFwicm9vdFwiOjMsXCJwcm9ncmFtXCI6NCxcIkVPRlwiOjUsXCJwcm9ncmFtX3JlcGV0aXRpb24wXCI6NixcInN0YXRlbWVudFwiOjcsXCJtdXN0YWNoZVwiOjgsXCJibG9ja1wiOjksXCJyYXdCbG9ja1wiOjEwLFwicGFydGlhbFwiOjExLFwicGFydGlhbEJsb2NrXCI6MTIsXCJjb250ZW50XCI6MTMsXCJDT01NRU5UXCI6MTQsXCJDT05URU5UXCI6MTUsXCJvcGVuUmF3QmxvY2tcIjoxNixcInJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MTcsXCJFTkRfUkFXX0JMT0NLXCI6MTgsXCJPUEVOX1JBV19CTE9DS1wiOjE5LFwiaGVscGVyTmFtZVwiOjIwLFwib3BlblJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MjEsXCJvcGVuUmF3QmxvY2tfb3B0aW9uMFwiOjIyLFwiQ0xPU0VfUkFXX0JMT0NLXCI6MjMsXCJvcGVuQmxvY2tcIjoyNCxcImJsb2NrX29wdGlvbjBcIjoyNSxcImNsb3NlQmxvY2tcIjoyNixcIm9wZW5JbnZlcnNlXCI6MjcsXCJibG9ja19vcHRpb24xXCI6MjgsXCJPUEVOX0JMT0NLXCI6MjksXCJvcGVuQmxvY2tfcmVwZXRpdGlvbjBcIjozMCxcIm9wZW5CbG9ja19vcHRpb24wXCI6MzEsXCJvcGVuQmxvY2tfb3B0aW9uMVwiOjMyLFwiQ0xPU0VcIjozMyxcIk9QRU5fSU5WRVJTRVwiOjM0LFwib3BlbkludmVyc2VfcmVwZXRpdGlvbjBcIjozNSxcIm9wZW5JbnZlcnNlX29wdGlvbjBcIjozNixcIm9wZW5JbnZlcnNlX29wdGlvbjFcIjozNyxcIm9wZW5JbnZlcnNlQ2hhaW5cIjozOCxcIk9QRU5fSU5WRVJTRV9DSEFJTlwiOjM5LFwib3BlbkludmVyc2VDaGFpbl9yZXBldGl0aW9uMFwiOjQwLFwib3BlbkludmVyc2VDaGFpbl9vcHRpb24wXCI6NDEsXCJvcGVuSW52ZXJzZUNoYWluX29wdGlvbjFcIjo0MixcImludmVyc2VBbmRQcm9ncmFtXCI6NDMsXCJJTlZFUlNFXCI6NDQsXCJpbnZlcnNlQ2hhaW5cIjo0NSxcImludmVyc2VDaGFpbl9vcHRpb24wXCI6NDYsXCJPUEVOX0VOREJMT0NLXCI6NDcsXCJPUEVOXCI6NDgsXCJtdXN0YWNoZV9yZXBldGl0aW9uMFwiOjQ5LFwibXVzdGFjaGVfb3B0aW9uMFwiOjUwLFwiT1BFTl9VTkVTQ0FQRURcIjo1MSxcIm11c3RhY2hlX3JlcGV0aXRpb24xXCI6NTIsXCJtdXN0YWNoZV9vcHRpb24xXCI6NTMsXCJDTE9TRV9VTkVTQ0FQRURcIjo1NCxcIk9QRU5fUEFSVElBTFwiOjU1LFwicGFydGlhbE5hbWVcIjo1NixcInBhcnRpYWxfcmVwZXRpdGlvbjBcIjo1NyxcInBhcnRpYWxfb3B0aW9uMFwiOjU4LFwib3BlblBhcnRpYWxCbG9ja1wiOjU5LFwiT1BFTl9QQVJUSUFMX0JMT0NLXCI6NjAsXCJvcGVuUGFydGlhbEJsb2NrX3JlcGV0aXRpb24wXCI6NjEsXCJvcGVuUGFydGlhbEJsb2NrX29wdGlvbjBcIjo2MixcInBhcmFtXCI6NjMsXCJzZXhwclwiOjY0LFwiT1BFTl9TRVhQUlwiOjY1LFwic2V4cHJfcmVwZXRpdGlvbjBcIjo2NixcInNleHByX29wdGlvbjBcIjo2NyxcIkNMT1NFX1NFWFBSXCI6NjgsXCJoYXNoXCI6NjksXCJoYXNoX3JlcGV0aXRpb25fcGx1czBcIjo3MCxcImhhc2hTZWdtZW50XCI6NzEsXCJJRFwiOjcyLFwiRVFVQUxTXCI6NzMsXCJibG9ja1BhcmFtc1wiOjc0LFwiT1BFTl9CTE9DS19QQVJBTVNcIjo3NSxcImJsb2NrUGFyYW1zX3JlcGV0aXRpb25fcGx1czBcIjo3NixcIkNMT1NFX0JMT0NLX1BBUkFNU1wiOjc3LFwicGF0aFwiOjc4LFwiZGF0YU5hbWVcIjo3OSxcIlNUUklOR1wiOjgwLFwiTlVNQkVSXCI6ODEsXCJCT09MRUFOXCI6ODIsXCJVTkRFRklORURcIjo4MyxcIk5VTExcIjo4NCxcIkRBVEFcIjo4NSxcInBhdGhTZWdtZW50c1wiOjg2LFwiU0VQXCI6ODcsXCIkYWNjZXB0XCI6MCxcIiRlbmRcIjoxfSxcbnRlcm1pbmFsc186IHsyOlwiZXJyb3JcIiw1OlwiRU9GXCIsMTQ6XCJDT01NRU5UXCIsMTU6XCJDT05URU5UXCIsMTg6XCJFTkRfUkFXX0JMT0NLXCIsMTk6XCJPUEVOX1JBV19CTE9DS1wiLDIzOlwiQ0xPU0VfUkFXX0JMT0NLXCIsMjk6XCJPUEVOX0JMT0NLXCIsMzM6XCJDTE9TRVwiLDM0OlwiT1BFTl9JTlZFUlNFXCIsMzk6XCJPUEVOX0lOVkVSU0VfQ0hBSU5cIiw0NDpcIklOVkVSU0VcIiw0NzpcIk9QRU5fRU5EQkxPQ0tcIiw0ODpcIk9QRU5cIiw1MTpcIk9QRU5fVU5FU0NBUEVEXCIsNTQ6XCJDTE9TRV9VTkVTQ0FQRURcIiw1NTpcIk9QRU5fUEFSVElBTFwiLDYwOlwiT1BFTl9QQVJUSUFMX0JMT0NLXCIsNjU6XCJPUEVOX1NFWFBSXCIsNjg6XCJDTE9TRV9TRVhQUlwiLDcyOlwiSURcIiw3MzpcIkVRVUFMU1wiLDc1OlwiT1BFTl9CTE9DS19QQVJBTVNcIiw3NzpcIkNMT1NFX0JMT0NLX1BBUkFNU1wiLDgwOlwiU1RSSU5HXCIsODE6XCJOVU1CRVJcIiw4MjpcIkJPT0xFQU5cIiw4MzpcIlVOREVGSU5FRFwiLDg0OlwiTlVMTFwiLDg1OlwiREFUQVwiLDg3OlwiU0VQXCJ9LFxucHJvZHVjdGlvbnNfOiBbMCxbMywyXSxbNCwxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbMTMsMV0sWzEwLDNdLFsxNiw1XSxbOSw0XSxbOSw0XSxbMjQsNl0sWzI3LDZdLFszOCw2XSxbNDMsMl0sWzQ1LDNdLFs0NSwxXSxbMjYsM10sWzgsNV0sWzgsNV0sWzExLDVdLFsxMiwzXSxbNTksNV0sWzYzLDFdLFs2MywxXSxbNjQsNV0sWzY5LDFdLFs3MSwzXSxbNzQsM10sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFs1NiwxXSxbNTYsMV0sWzc5LDJdLFs3OCwxXSxbODYsM10sWzg2LDFdLFs2LDBdLFs2LDJdLFsxNywwXSxbMTcsMl0sWzIxLDBdLFsyMSwyXSxbMjIsMF0sWzIyLDFdLFsyNSwwXSxbMjUsMV0sWzI4LDBdLFsyOCwxXSxbMzAsMF0sWzMwLDJdLFszMSwwXSxbMzEsMV0sWzMyLDBdLFszMiwxXSxbMzUsMF0sWzM1LDJdLFszNiwwXSxbMzYsMV0sWzM3LDBdLFszNywxXSxbNDAsMF0sWzQwLDJdLFs0MSwwXSxbNDEsMV0sWzQyLDBdLFs0MiwxXSxbNDYsMF0sWzQ2LDFdLFs0OSwwXSxbNDksMl0sWzUwLDBdLFs1MCwxXSxbNTIsMF0sWzUyLDJdLFs1MywwXSxbNTMsMV0sWzU3LDBdLFs1NywyXSxbNTgsMF0sWzU4LDFdLFs2MSwwXSxbNjEsMl0sWzYyLDBdLFs2MiwxXSxbNjYsMF0sWzY2LDJdLFs2NywwXSxbNjcsMV0sWzcwLDFdLFs3MCwyXSxbNzYsMV0sWzc2LDJdXSxcbnBlcmZvcm1BY3Rpb246IGZ1bmN0aW9uIGFub255bW91cyh5eXRleHQseXlsZW5nLHl5bGluZW5vLHl5LHl5c3RhdGUsJCQsXyRcbikge1xuXG52YXIgJDAgPSAkJC5sZW5ndGggLSAxO1xuc3dpdGNoICh5eXN0YXRlKSB7XG5jYXNlIDE6IHJldHVybiAkJFskMC0xXTsgXG5icmVhaztcbmNhc2UgMjp0aGlzLiQgPSB5eS5wcmVwYXJlUHJvZ3JhbSgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDM6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDQ6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDU6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDY6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDc6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDk6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbW1lbnRTdGF0ZW1lbnQnLFxuICAgICAgdmFsdWU6IHl5LnN0cmlwQ29tbWVudCgkJFskMF0pLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDBdLCAkJFskMF0pLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMTA6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbnRlbnRTdGF0ZW1lbnQnLFxuICAgICAgb3JpZ2luYWw6ICQkWyQwXSxcbiAgICAgIHZhbHVlOiAkJFskMF0sXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAxMTp0aGlzLiQgPSB5eS5wcmVwYXJlUmF3QmxvY2soJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDEyOnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtM10sIHBhcmFtczogJCRbJDAtMl0sIGhhc2g6ICQkWyQwLTFdIH07XG5icmVhaztcbmNhc2UgMTM6dGhpcy4kID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTNdLCAkJFskMC0yXSwgJCRbJDAtMV0sICQkWyQwXSwgZmFsc2UsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE0OnRoaXMuJCA9IHl5LnByZXBhcmVCbG9jaygkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRydWUsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMuJCA9IHsgb3BlbjogJCRbJDAtNV0sIHBhdGg6ICQkWyQwLTRdLCBwYXJhbXM6ICQkWyQwLTNdLCBoYXNoOiAkJFskMC0yXSwgYmxvY2tQYXJhbXM6ICQkWyQwLTFdLCBzdHJpcDogeXkuc3RyaXBGbGFncygkJFskMC01XSwgJCRbJDBdKSB9O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtNF0sIHBhcmFtczogJCRbJDAtM10sIGhhc2g6ICQkWyQwLTJdLCBibG9ja1BhcmFtczogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTVdLCAkJFskMF0pIH07XG5icmVhaztcbmNhc2UgMTc6dGhpcy4kID0geyBwYXRoOiAkJFskMC00XSwgcGFyYW1zOiAkJFskMC0zXSwgaGFzaDogJCRbJDAtMl0sIGJsb2NrUGFyYW1zOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNV0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAxODp0aGlzLiQgPSB7IHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTFdLCAkJFskMC0xXSksIHByb2dyYW06ICQkWyQwXSB9O1xuYnJlYWs7XG5jYXNlIDE5OlxuICAgIHZhciBpbnZlcnNlID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCAkJFskMF0sIGZhbHNlLCB0aGlzLl8kKSxcbiAgICAgICAgcHJvZ3JhbSA9IHl5LnByZXBhcmVQcm9ncmFtKFtpbnZlcnNlXSwgJCRbJDAtMV0ubG9jKTtcbiAgICBwcm9ncmFtLmNoYWluZWQgPSB0cnVlO1xuXG4gICAgdGhpcy4kID0geyBzdHJpcDogJCRbJDAtMl0uc3RyaXAsIHByb2dyYW06IHByb2dyYW0sIGNoYWluOiB0cnVlIH07XG4gIFxuYnJlYWs7XG5jYXNlIDIwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAyMTp0aGlzLiQgPSB7cGF0aDogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTJdLCAkJFskMF0pfTtcbmJyZWFrO1xuY2FzZSAyMjp0aGlzLiQgPSB5eS5wcmVwYXJlTXVzdGFjaGUoJCRbJDAtM10sICQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDAtNF0sIHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDIzOnRoaXMuJCA9IHl5LnByZXBhcmVNdXN0YWNoZSgkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMC00XSwgeXkuc3RyaXBGbGFncygkJFskMC00XSwgJCRbJDBdKSwgdGhpcy5fJCk7XG5icmVhaztcbmNhc2UgMjQ6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ1BhcnRpYWxTdGF0ZW1lbnQnLFxuICAgICAgbmFtZTogJCRbJDAtM10sXG4gICAgICBwYXJhbXM6ICQkWyQwLTJdLFxuICAgICAgaGFzaDogJCRbJDAtMV0sXG4gICAgICBpbmRlbnQ6ICcnLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAyNTp0aGlzLiQgPSB5eS5wcmVwYXJlUGFydGlhbEJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSAyNjp0aGlzLiQgPSB7IHBhdGg6ICQkWyQwLTNdLCBwYXJhbXM6ICQkWyQwLTJdLCBoYXNoOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAyNzp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMjg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDI5OlxuICAgIHRoaXMuJCA9IHtcbiAgICAgIHR5cGU6ICdTdWJFeHByZXNzaW9uJyxcbiAgICAgIHBhdGg6ICQkWyQwLTNdLFxuICAgICAgcGFyYW1zOiAkJFskMC0yXSxcbiAgICAgIGhhc2g6ICQkWyQwLTFdLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMzA6dGhpcy4kID0ge3R5cGU6ICdIYXNoJywgcGFpcnM6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzMTp0aGlzLiQgPSB7dHlwZTogJ0hhc2hQYWlyJywga2V5OiB5eS5pZCgkJFskMC0yXSksIHZhbHVlOiAkJFskMF0sIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzI6dGhpcy4kID0geXkuaWQoJCRbJDAtMV0pO1xuYnJlYWs7XG5jYXNlIDMzOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAzNDp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMzU6dGhpcy4kID0ge3R5cGU6ICdTdHJpbmdMaXRlcmFsJywgdmFsdWU6ICQkWyQwXSwgb3JpZ2luYWw6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNjp0aGlzLiQgPSB7dHlwZTogJ051bWJlckxpdGVyYWwnLCB2YWx1ZTogTnVtYmVyKCQkWyQwXSksIG9yaWdpbmFsOiBOdW1iZXIoJCRbJDBdKSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNzp0aGlzLiQgPSB7dHlwZTogJ0Jvb2xlYW5MaXRlcmFsJywgdmFsdWU6ICQkWyQwXSA9PT0gJ3RydWUnLCBvcmlnaW5hbDogJCRbJDBdID09PSAndHJ1ZScsIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzg6dGhpcy4kID0ge3R5cGU6ICdVbmRlZmluZWRMaXRlcmFsJywgb3JpZ2luYWw6IHVuZGVmaW5lZCwgdmFsdWU6IHVuZGVmaW5lZCwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzOTp0aGlzLiQgPSB7dHlwZTogJ051bGxMaXRlcmFsJywgb3JpZ2luYWw6IG51bGwsIHZhbHVlOiBudWxsLCBsb2M6IHl5LmxvY0luZm8odGhpcy5fJCl9O1xuYnJlYWs7XG5jYXNlIDQwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSA0MTp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgNDI6dGhpcy4kID0geXkucHJlcGFyZVBhdGgodHJ1ZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0Mzp0aGlzLiQgPSB5eS5wcmVwYXJlUGF0aChmYWxzZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0NDogJCRbJDAtMl0ucHVzaCh7cGFydDogeXkuaWQoJCRbJDBdKSwgb3JpZ2luYWw6ICQkWyQwXSwgc2VwYXJhdG9yOiAkJFskMC0xXX0pOyB0aGlzLiQgPSAkJFskMC0yXTsgXG5icmVhaztcbmNhc2UgNDU6dGhpcy4kID0gW3twYXJ0OiB5eS5pZCgkJFskMF0pLCBvcmlnaW5hbDogJCRbJDBdfV07XG5icmVhaztcbmNhc2UgNDY6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNDc6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDQ4OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDQ5OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA1MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA1MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNTg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNTk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDY0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDY1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA3MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA3MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNzg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNzk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDgyOnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDgzOiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA4Njp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA4NzokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgOTA6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgOTE6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDk0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDk1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA5ODp0aGlzLiQgPSBbJCRbJDBdXTtcbmJyZWFrO1xuY2FzZSA5OTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgMTAwOnRoaXMuJCA9IFskJFskMF1dO1xuYnJlYWs7XG5jYXNlIDEwMTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbn1cbn0sXG50YWJsZTogW3szOjEsNDoyLDU6WzIsNDZdLDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE6WzNdfSx7NTpbMSw0XX0sezU6WzIsMl0sNzo1LDg6Niw5OjcsMTA6OCwxMTo5LDEyOjEwLDEzOjExLDE0OlsxLDEyXSwxNTpbMSwyMF0sMTY6MTcsMTk6WzEsMjNdLDI0OjE1LDI3OjE2LDI5OlsxLDIxXSwzNDpbMSwyMl0sMzk6WzIsMl0sNDQ6WzIsMl0sNDc6WzIsMl0sNDg6WzEsMTNdLDUxOlsxLDE0XSw1NTpbMSwxOF0sNTk6MTksNjA6WzEsMjRdfSx7MTpbMiwxXX0sezU6WzIsNDddLDE0OlsyLDQ3XSwxNTpbMiw0N10sMTk6WzIsNDddLDI5OlsyLDQ3XSwzNDpbMiw0N10sMzk6WzIsNDddLDQ0OlsyLDQ3XSw0NzpbMiw0N10sNDg6WzIsNDddLDUxOlsyLDQ3XSw1NTpbMiw0N10sNjA6WzIsNDddfSx7NTpbMiwzXSwxNDpbMiwzXSwxNTpbMiwzXSwxOTpbMiwzXSwyOTpbMiwzXSwzNDpbMiwzXSwzOTpbMiwzXSw0NDpbMiwzXSw0NzpbMiwzXSw0ODpbMiwzXSw1MTpbMiwzXSw1NTpbMiwzXSw2MDpbMiwzXX0sezU6WzIsNF0sMTQ6WzIsNF0sMTU6WzIsNF0sMTk6WzIsNF0sMjk6WzIsNF0sMzQ6WzIsNF0sMzk6WzIsNF0sNDQ6WzIsNF0sNDc6WzIsNF0sNDg6WzIsNF0sNTE6WzIsNF0sNTU6WzIsNF0sNjA6WzIsNF19LHs1OlsyLDVdLDE0OlsyLDVdLDE1OlsyLDVdLDE5OlsyLDVdLDI5OlsyLDVdLDM0OlsyLDVdLDM5OlsyLDVdLDQ0OlsyLDVdLDQ3OlsyLDVdLDQ4OlsyLDVdLDUxOlsyLDVdLDU1OlsyLDVdLDYwOlsyLDVdfSx7NTpbMiw2XSwxNDpbMiw2XSwxNTpbMiw2XSwxOTpbMiw2XSwyOTpbMiw2XSwzNDpbMiw2XSwzOTpbMiw2XSw0NDpbMiw2XSw0NzpbMiw2XSw0ODpbMiw2XSw1MTpbMiw2XSw1NTpbMiw2XSw2MDpbMiw2XX0sezU6WzIsN10sMTQ6WzIsN10sMTU6WzIsN10sMTk6WzIsN10sMjk6WzIsN10sMzQ6WzIsN10sMzk6WzIsN10sNDQ6WzIsN10sNDc6WzIsN10sNDg6WzIsN10sNTE6WzIsN10sNTU6WzIsN10sNjA6WzIsN119LHs1OlsyLDhdLDE0OlsyLDhdLDE1OlsyLDhdLDE5OlsyLDhdLDI5OlsyLDhdLDM0OlsyLDhdLDM5OlsyLDhdLDQ0OlsyLDhdLDQ3OlsyLDhdLDQ4OlsyLDhdLDUxOlsyLDhdLDU1OlsyLDhdLDYwOlsyLDhdfSx7NTpbMiw5XSwxNDpbMiw5XSwxNTpbMiw5XSwxOTpbMiw5XSwyOTpbMiw5XSwzNDpbMiw5XSwzOTpbMiw5XSw0NDpbMiw5XSw0NzpbMiw5XSw0ODpbMiw5XSw1MTpbMiw5XSw1NTpbMiw5XSw2MDpbMiw5XX0sezIwOjI1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjM2LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6MzcsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sMzk6WzIsNDZdLDQ0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NDozOCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE1OlsyLDQ4XSwxNzozOSwxODpbMiw0OF19LHsyMDo0MSw1Njo0MCw2NDo0Miw2NTpbMSw0M10sNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NDo0NCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NTpbMiwxMF0sMTQ6WzIsMTBdLDE1OlsyLDEwXSwxODpbMiwxMF0sMTk6WzIsMTBdLDI5OlsyLDEwXSwzNDpbMiwxMF0sMzk6WzIsMTBdLDQ0OlsyLDEwXSw0NzpbMiwxMF0sNDg6WzIsMTBdLDUxOlsyLDEwXSw1NTpbMiwxMF0sNjA6WzIsMTBdfSx7MjA6NDUsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDYsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDcsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDEsNTY6NDgsNjQ6NDIsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsyLDc4XSw0OTo0OSw2NTpbMiw3OF0sNzI6WzIsNzhdLDgwOlsyLDc4XSw4MTpbMiw3OF0sODI6WzIsNzhdLDgzOlsyLDc4XSw4NDpbMiw3OF0sODU6WzIsNzhdfSx7MjM6WzIsMzNdLDMzOlsyLDMzXSw1NDpbMiwzM10sNjU6WzIsMzNdLDY4OlsyLDMzXSw3MjpbMiwzM10sNzU6WzIsMzNdLDgwOlsyLDMzXSw4MTpbMiwzM10sODI6WzIsMzNdLDgzOlsyLDMzXSw4NDpbMiwzM10sODU6WzIsMzNdfSx7MjM6WzIsMzRdLDMzOlsyLDM0XSw1NDpbMiwzNF0sNjU6WzIsMzRdLDY4OlsyLDM0XSw3MjpbMiwzNF0sNzU6WzIsMzRdLDgwOlsyLDM0XSw4MTpbMiwzNF0sODI6WzIsMzRdLDgzOlsyLDM0XSw4NDpbMiwzNF0sODU6WzIsMzRdfSx7MjM6WzIsMzVdLDMzOlsyLDM1XSw1NDpbMiwzNV0sNjU6WzIsMzVdLDY4OlsyLDM1XSw3MjpbMiwzNV0sNzU6WzIsMzVdLDgwOlsyLDM1XSw4MTpbMiwzNV0sODI6WzIsMzVdLDgzOlsyLDM1XSw4NDpbMiwzNV0sODU6WzIsMzVdfSx7MjM6WzIsMzZdLDMzOlsyLDM2XSw1NDpbMiwzNl0sNjU6WzIsMzZdLDY4OlsyLDM2XSw3MjpbMiwzNl0sNzU6WzIsMzZdLDgwOlsyLDM2XSw4MTpbMiwzNl0sODI6WzIsMzZdLDgzOlsyLDM2XSw4NDpbMiwzNl0sODU6WzIsMzZdfSx7MjM6WzIsMzddLDMzOlsyLDM3XSw1NDpbMiwzN10sNjU6WzIsMzddLDY4OlsyLDM3XSw3MjpbMiwzN10sNzU6WzIsMzddLDgwOlsyLDM3XSw4MTpbMiwzN10sODI6WzIsMzddLDgzOlsyLDM3XSw4NDpbMiwzN10sODU6WzIsMzddfSx7MjM6WzIsMzhdLDMzOlsyLDM4XSw1NDpbMiwzOF0sNjU6WzIsMzhdLDY4OlsyLDM4XSw3MjpbMiwzOF0sNzU6WzIsMzhdLDgwOlsyLDM4XSw4MTpbMiwzOF0sODI6WzIsMzhdLDgzOlsyLDM4XSw4NDpbMiwzOF0sODU6WzIsMzhdfSx7MjM6WzIsMzldLDMzOlsyLDM5XSw1NDpbMiwzOV0sNjU6WzIsMzldLDY4OlsyLDM5XSw3MjpbMiwzOV0sNzU6WzIsMzldLDgwOlsyLDM5XSw4MTpbMiwzOV0sODI6WzIsMzldLDgzOlsyLDM5XSw4NDpbMiwzOV0sODU6WzIsMzldfSx7MjM6WzIsNDNdLDMzOlsyLDQzXSw1NDpbMiw0M10sNjU6WzIsNDNdLDY4OlsyLDQzXSw3MjpbMiw0M10sNzU6WzIsNDNdLDgwOlsyLDQzXSw4MTpbMiw0M10sODI6WzIsNDNdLDgzOlsyLDQzXSw4NDpbMiw0M10sODU6WzIsNDNdLDg3OlsxLDUwXX0sezcyOlsxLDM1XSw4Njo1MX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDc1OlsyLDQ1XSw4MDpbMiw0NV0sODE6WzIsNDVdLDgyOlsyLDQ1XSw4MzpbMiw0NV0sODQ6WzIsNDVdLDg1OlsyLDQ1XSw4NzpbMiw0NV19LHs1Mjo1Miw1NDpbMiw4Ml0sNjU6WzIsODJdLDcyOlsyLDgyXSw4MDpbMiw4Ml0sODE6WzIsODJdLDgyOlsyLDgyXSw4MzpbMiw4Ml0sODQ6WzIsODJdLDg1OlsyLDgyXX0sezI1OjUzLDM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6NTQsNDc6WzIsNTRdfSx7Mjg6NTksNDM6NjAsNDQ6WzEsNThdLDQ3OlsyLDU2XX0sezEzOjYyLDE1OlsxLDIwXSwxODpbMSw2MV19LHszMzpbMiw4Nl0sNTc6NjMsNjU6WzIsODZdLDcyOlsyLDg2XSw4MDpbMiw4Nl0sODE6WzIsODZdLDgyOlsyLDg2XSw4MzpbMiw4Nl0sODQ6WzIsODZdLDg1OlsyLDg2XX0sezMzOlsyLDQwXSw2NTpbMiw0MF0sNzI6WzIsNDBdLDgwOlsyLDQwXSw4MTpbMiw0MF0sODI6WzIsNDBdLDgzOlsyLDQwXSw4NDpbMiw0MF0sODU6WzIsNDBdfSx7MzM6WzIsNDFdLDY1OlsyLDQxXSw3MjpbMiw0MV0sODA6WzIsNDFdLDgxOlsyLDQxXSw4MjpbMiw0MV0sODM6WzIsNDFdLDg0OlsyLDQxXSw4NTpbMiw0MV19LHsyMDo2NCw3MjpbMSwzNV0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo2NSw0NzpbMSw2Nl19LHszMDo2NywzMzpbMiw1OF0sNjU6WzIsNThdLDcyOlsyLDU4XSw3NTpbMiw1OF0sODA6WzIsNThdLDgxOlsyLDU4XSw4MjpbMiw1OF0sODM6WzIsNThdLDg0OlsyLDU4XSw4NTpbMiw1OF19LHszMzpbMiw2NF0sMzU6NjgsNjU6WzIsNjRdLDcyOlsyLDY0XSw3NTpbMiw2NF0sODA6WzIsNjRdLDgxOlsyLDY0XSw4MjpbMiw2NF0sODM6WzIsNjRdLDg0OlsyLDY0XSw4NTpbMiw2NF19LHsyMTo2OSwyMzpbMiw1MF0sNjU6WzIsNTBdLDcyOlsyLDUwXSw4MDpbMiw1MF0sODE6WzIsNTBdLDgyOlsyLDUwXSw4MzpbMiw1MF0sODQ6WzIsNTBdLDg1OlsyLDUwXX0sezMzOlsyLDkwXSw2MTo3MCw2NTpbMiw5MF0sNzI6WzIsOTBdLDgwOlsyLDkwXSw4MTpbMiw5MF0sODI6WzIsOTBdLDgzOlsyLDkwXSw4NDpbMiw5MF0sODU6WzIsOTBdfSx7MjA6NzQsMzM6WzIsODBdLDUwOjcxLDYzOjcyLDY0Ojc1LDY1OlsxLDQzXSw2OTo3Myw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHs3MjpbMSw3OV19LHsyMzpbMiw0Ml0sMzM6WzIsNDJdLDU0OlsyLDQyXSw2NTpbMiw0Ml0sNjg6WzIsNDJdLDcyOlsyLDQyXSw3NTpbMiw0Ml0sODA6WzIsNDJdLDgxOlsyLDQyXSw4MjpbMiw0Ml0sODM6WzIsNDJdLDg0OlsyLDQyXSw4NTpbMiw0Ml0sODc6WzEsNTBdfSx7MjA6NzQsNTM6ODAsNTQ6WzIsODRdLDYzOjgxLDY0Ojc1LDY1OlsxLDQzXSw2OTo4Miw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo4Myw0NzpbMSw2Nl19LHs0NzpbMiw1NV19LHs0Ojg0LDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDM5OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezQ3OlsyLDIwXX0sezIwOjg1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6ODYsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezI2Ojg3LDQ3OlsxLDY2XX0sezQ3OlsyLDU3XX0sezU6WzIsMTFdLDE0OlsyLDExXSwxNTpbMiwxMV0sMTk6WzIsMTFdLDI5OlsyLDExXSwzNDpbMiwxMV0sMzk6WzIsMTFdLDQ0OlsyLDExXSw0NzpbMiwxMV0sNDg6WzIsMTFdLDUxOlsyLDExXSw1NTpbMiwxMV0sNjA6WzIsMTFdfSx7MTU6WzIsNDldLDE4OlsyLDQ5XX0sezIwOjc0LDMzOlsyLDg4XSw1ODo4OCw2Mzo4OSw2NDo3NSw2NTpbMSw0M10sNjk6OTAsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NjU6WzIsOTRdLDY2OjkxLDY4OlsyLDk0XSw3MjpbMiw5NF0sODA6WzIsOTRdLDgxOlsyLDk0XSw4MjpbMiw5NF0sODM6WzIsOTRdLDg0OlsyLDk0XSw4NTpbMiw5NF19LHs1OlsyLDI1XSwxNDpbMiwyNV0sMTU6WzIsMjVdLDE5OlsyLDI1XSwyOTpbMiwyNV0sMzQ6WzIsMjVdLDM5OlsyLDI1XSw0NDpbMiwyNV0sNDc6WzIsMjVdLDQ4OlsyLDI1XSw1MTpbMiwyNV0sNTU6WzIsMjVdLDYwOlsyLDI1XX0sezIwOjkyLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMxOjkzLDMzOlsyLDYwXSw2Mzo5NCw2NDo3NSw2NTpbMSw0M10sNjk6OTUsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDYwXSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMzOlsyLDY2XSwzNjo5Niw2Mzo5Nyw2NDo3NSw2NTpbMSw0M10sNjk6OTgsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDY2XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDIyOjk5LDIzOlsyLDUyXSw2MzoxMDAsNjQ6NzUsNjU6WzEsNDNdLDY5OjEwMSw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyMDo3NCwzMzpbMiw5Ml0sNjI6MTAyLDYzOjEwMyw2NDo3NSw2NTpbMSw0M10sNjk6MTA0LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDEwNV19LHszMzpbMiw3OV0sNjU6WzIsNzldLDcyOlsyLDc5XSw4MDpbMiw3OV0sODE6WzIsNzldLDgyOlsyLDc5XSw4MzpbMiw3OV0sODQ6WzIsNzldLDg1OlsyLDc5XX0sezMzOlsyLDgxXX0sezIzOlsyLDI3XSwzMzpbMiwyN10sNTQ6WzIsMjddLDY1OlsyLDI3XSw2ODpbMiwyN10sNzI6WzIsMjddLDc1OlsyLDI3XSw4MDpbMiwyN10sODE6WzIsMjddLDgyOlsyLDI3XSw4MzpbMiwyN10sODQ6WzIsMjddLDg1OlsyLDI3XX0sezIzOlsyLDI4XSwzMzpbMiwyOF0sNTQ6WzIsMjhdLDY1OlsyLDI4XSw2ODpbMiwyOF0sNzI6WzIsMjhdLDc1OlsyLDI4XSw4MDpbMiwyOF0sODE6WzIsMjhdLDgyOlsyLDI4XSw4MzpbMiwyOF0sODQ6WzIsMjhdLDg1OlsyLDI4XX0sezIzOlsyLDMwXSwzMzpbMiwzMF0sNTQ6WzIsMzBdLDY4OlsyLDMwXSw3MToxMDYsNzI6WzEsMTA3XSw3NTpbMiwzMF19LHsyMzpbMiw5OF0sMzM6WzIsOThdLDU0OlsyLDk4XSw2ODpbMiw5OF0sNzI6WzIsOThdLDc1OlsyLDk4XX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDczOlsxLDEwOF0sNzU6WzIsNDVdLDgwOlsyLDQ1XSw4MTpbMiw0NV0sODI6WzIsNDVdLDgzOlsyLDQ1XSw4NDpbMiw0NV0sODU6WzIsNDVdLDg3OlsyLDQ1XX0sezIzOlsyLDQ0XSwzMzpbMiw0NF0sNTQ6WzIsNDRdLDY1OlsyLDQ0XSw2ODpbMiw0NF0sNzI6WzIsNDRdLDc1OlsyLDQ0XSw4MDpbMiw0NF0sODE6WzIsNDRdLDgyOlsyLDQ0XSw4MzpbMiw0NF0sODQ6WzIsNDRdLDg1OlsyLDQ0XSw4NzpbMiw0NF19LHs1NDpbMSwxMDldfSx7NTQ6WzIsODNdLDY1OlsyLDgzXSw3MjpbMiw4M10sODA6WzIsODNdLDgxOlsyLDgzXSw4MjpbMiw4M10sODM6WzIsODNdLDg0OlsyLDgzXSw4NTpbMiw4M119LHs1NDpbMiw4NV19LHs1OlsyLDEzXSwxNDpbMiwxM10sMTU6WzIsMTNdLDE5OlsyLDEzXSwyOTpbMiwxM10sMzQ6WzIsMTNdLDM5OlsyLDEzXSw0NDpbMiwxM10sNDc6WzIsMTNdLDQ4OlsyLDEzXSw1MTpbMiwxM10sNTU6WzIsMTNdLDYwOlsyLDEzXX0sezM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6MTExLDQ2OjExMCw0NzpbMiw3Nl19LHszMzpbMiw3MF0sNDA6MTEyLDY1OlsyLDcwXSw3MjpbMiw3MF0sNzU6WzIsNzBdLDgwOlsyLDcwXSw4MTpbMiw3MF0sODI6WzIsNzBdLDgzOlsyLDcwXSw4NDpbMiw3MF0sODU6WzIsNzBdfSx7NDc6WzIsMThdfSx7NTpbMiwxNF0sMTQ6WzIsMTRdLDE1OlsyLDE0XSwxOTpbMiwxNF0sMjk6WzIsMTRdLDM0OlsyLDE0XSwzOTpbMiwxNF0sNDQ6WzIsMTRdLDQ3OlsyLDE0XSw0ODpbMiwxNF0sNTE6WzIsMTRdLDU1OlsyLDE0XSw2MDpbMiwxNF19LHszMzpbMSwxMTNdfSx7MzM6WzIsODddLDY1OlsyLDg3XSw3MjpbMiw4N10sODA6WzIsODddLDgxOlsyLDg3XSw4MjpbMiw4N10sODM6WzIsODddLDg0OlsyLDg3XSw4NTpbMiw4N119LHszMzpbMiw4OV19LHsyMDo3NCw2MzoxMTUsNjQ6NzUsNjU6WzEsNDNdLDY3OjExNCw2ODpbMiw5Nl0sNjk6MTE2LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDExN119LHszMjoxMTgsMzM6WzIsNjJdLDc0OjExOSw3NTpbMSwxMjBdfSx7MzM6WzIsNTldLDY1OlsyLDU5XSw3MjpbMiw1OV0sNzU6WzIsNTldLDgwOlsyLDU5XSw4MTpbMiw1OV0sODI6WzIsNTldLDgzOlsyLDU5XSw4NDpbMiw1OV0sODU6WzIsNTldfSx7MzM6WzIsNjFdLDc1OlsyLDYxXX0sezMzOlsyLDY4XSwzNzoxMjEsNzQ6MTIyLDc1OlsxLDEyMF19LHszMzpbMiw2NV0sNjU6WzIsNjVdLDcyOlsyLDY1XSw3NTpbMiw2NV0sODA6WzIsNjVdLDgxOlsyLDY1XSw4MjpbMiw2NV0sODM6WzIsNjVdLDg0OlsyLDY1XSw4NTpbMiw2NV19LHszMzpbMiw2N10sNzU6WzIsNjddfSx7MjM6WzEsMTIzXX0sezIzOlsyLDUxXSw2NTpbMiw1MV0sNzI6WzIsNTFdLDgwOlsyLDUxXSw4MTpbMiw1MV0sODI6WzIsNTFdLDgzOlsyLDUxXSw4NDpbMiw1MV0sODU6WzIsNTFdfSx7MjM6WzIsNTNdfSx7MzM6WzEsMTI0XX0sezMzOlsyLDkxXSw2NTpbMiw5MV0sNzI6WzIsOTFdLDgwOlsyLDkxXSw4MTpbMiw5MV0sODI6WzIsOTFdLDgzOlsyLDkxXSw4NDpbMiw5MV0sODU6WzIsOTFdfSx7MzM6WzIsOTNdfSx7NTpbMiwyMl0sMTQ6WzIsMjJdLDE1OlsyLDIyXSwxOTpbMiwyMl0sMjk6WzIsMjJdLDM0OlsyLDIyXSwzOTpbMiwyMl0sNDQ6WzIsMjJdLDQ3OlsyLDIyXSw0ODpbMiwyMl0sNTE6WzIsMjJdLDU1OlsyLDIyXSw2MDpbMiwyMl19LHsyMzpbMiw5OV0sMzM6WzIsOTldLDU0OlsyLDk5XSw2ODpbMiw5OV0sNzI6WzIsOTldLDc1OlsyLDk5XX0sezczOlsxLDEwOF19LHsyMDo3NCw2MzoxMjUsNjQ6NzUsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezU6WzIsMjNdLDE0OlsyLDIzXSwxNTpbMiwyM10sMTk6WzIsMjNdLDI5OlsyLDIzXSwzNDpbMiwyM10sMzk6WzIsMjNdLDQ0OlsyLDIzXSw0NzpbMiwyM10sNDg6WzIsMjNdLDUxOlsyLDIzXSw1NTpbMiwyM10sNjA6WzIsMjNdfSx7NDc6WzIsMTldfSx7NDc6WzIsNzddfSx7MjA6NzQsMzM6WzIsNzJdLDQxOjEyNiw2MzoxMjcsNjQ6NzUsNjU6WzEsNDNdLDY5OjEyOCw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzU6WzIsNzJdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NTpbMiwyNF0sMTQ6WzIsMjRdLDE1OlsyLDI0XSwxOTpbMiwyNF0sMjk6WzIsMjRdLDM0OlsyLDI0XSwzOTpbMiwyNF0sNDQ6WzIsMjRdLDQ3OlsyLDI0XSw0ODpbMiwyNF0sNTE6WzIsMjRdLDU1OlsyLDI0XSw2MDpbMiwyNF19LHs2ODpbMSwxMjldfSx7NjU6WzIsOTVdLDY4OlsyLDk1XSw3MjpbMiw5NV0sODA6WzIsOTVdLDgxOlsyLDk1XSw4MjpbMiw5NV0sODM6WzIsOTVdLDg0OlsyLDk1XSw4NTpbMiw5NV19LHs2ODpbMiw5N119LHs1OlsyLDIxXSwxNDpbMiwyMV0sMTU6WzIsMjFdLDE5OlsyLDIxXSwyOTpbMiwyMV0sMzQ6WzIsMjFdLDM5OlsyLDIxXSw0NDpbMiwyMV0sNDc6WzIsMjFdLDQ4OlsyLDIxXSw1MTpbMiwyMV0sNTU6WzIsMjFdLDYwOlsyLDIxXX0sezMzOlsxLDEzMF19LHszMzpbMiw2M119LHs3MjpbMSwxMzJdLDc2OjEzMX0sezMzOlsxLDEzM119LHszMzpbMiw2OV19LHsxNTpbMiwxMl0sMTg6WzIsMTJdfSx7MTQ6WzIsMjZdLDE1OlsyLDI2XSwxOTpbMiwyNl0sMjk6WzIsMjZdLDM0OlsyLDI2XSw0NzpbMiwyNl0sNDg6WzIsMjZdLDUxOlsyLDI2XSw1NTpbMiwyNl0sNjA6WzIsMjZdfSx7MjM6WzIsMzFdLDMzOlsyLDMxXSw1NDpbMiwzMV0sNjg6WzIsMzFdLDcyOlsyLDMxXSw3NTpbMiwzMV19LHszMzpbMiw3NF0sNDI6MTM0LDc0OjEzNSw3NTpbMSwxMjBdfSx7MzM6WzIsNzFdLDY1OlsyLDcxXSw3MjpbMiw3MV0sNzU6WzIsNzFdLDgwOlsyLDcxXSw4MTpbMiw3MV0sODI6WzIsNzFdLDgzOlsyLDcxXSw4NDpbMiw3MV0sODU6WzIsNzFdfSx7MzM6WzIsNzNdLDc1OlsyLDczXX0sezIzOlsyLDI5XSwzMzpbMiwyOV0sNTQ6WzIsMjldLDY1OlsyLDI5XSw2ODpbMiwyOV0sNzI6WzIsMjldLDc1OlsyLDI5XSw4MDpbMiwyOV0sODE6WzIsMjldLDgyOlsyLDI5XSw4MzpbMiwyOV0sODQ6WzIsMjldLDg1OlsyLDI5XX0sezE0OlsyLDE1XSwxNTpbMiwxNV0sMTk6WzIsMTVdLDI5OlsyLDE1XSwzNDpbMiwxNV0sMzk6WzIsMTVdLDQ0OlsyLDE1XSw0NzpbMiwxNV0sNDg6WzIsMTVdLDUxOlsyLDE1XSw1NTpbMiwxNV0sNjA6WzIsMTVdfSx7NzI6WzEsMTM3XSw3NzpbMSwxMzZdfSx7NzI6WzIsMTAwXSw3NzpbMiwxMDBdfSx7MTQ6WzIsMTZdLDE1OlsyLDE2XSwxOTpbMiwxNl0sMjk6WzIsMTZdLDM0OlsyLDE2XSw0NDpbMiwxNl0sNDc6WzIsMTZdLDQ4OlsyLDE2XSw1MTpbMiwxNl0sNTU6WzIsMTZdLDYwOlsyLDE2XX0sezMzOlsxLDEzOF19LHszMzpbMiw3NV19LHszMzpbMiwzMl19LHs3MjpbMiwxMDFdLDc3OlsyLDEwMV19LHsxNDpbMiwxN10sMTU6WzIsMTddLDE5OlsyLDE3XSwyOTpbMiwxN10sMzQ6WzIsMTddLDM5OlsyLDE3XSw0NDpbMiwxN10sNDc6WzIsMTddLDQ4OlsyLDE3XSw1MTpbMiwxN10sNTU6WzIsMTddLDYwOlsyLDE3XX1dLFxuZGVmYXVsdEFjdGlvbnM6IHs0OlsyLDFdLDU0OlsyLDU1XSw1NjpbMiwyMF0sNjA6WzIsNTddLDczOlsyLDgxXSw4MjpbMiw4NV0sODY6WzIsMThdLDkwOlsyLDg5XSwxMDE6WzIsNTNdLDEwNDpbMiw5M10sMTEwOlsyLDE5XSwxMTE6WzIsNzddLDExNjpbMiw5N10sMTE5OlsyLDYzXSwxMjI6WzIsNjldLDEzNTpbMiw3NV0sMTM2OlsyLDMyXX0sXG5wYXJzZUVycm9yOiBmdW5jdGlvbiBwYXJzZUVycm9yIChzdHIsIGhhc2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3Ioc3RyKTtcbn0sXG5wYXJzZTogZnVuY3Rpb24gcGFyc2UoaW5wdXQpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsIHN0YWNrID0gWzBdLCB2c3RhY2sgPSBbbnVsbF0sIGxzdGFjayA9IFtdLCB0YWJsZSA9IHRoaXMudGFibGUsIHl5dGV4dCA9IFwiXCIsIHl5bGluZW5vID0gMCwgeXlsZW5nID0gMCwgcmVjb3ZlcmluZyA9IDAsIFRFUlJPUiA9IDIsIEVPRiA9IDE7XG4gICAgdGhpcy5sZXhlci5zZXRJbnB1dChpbnB1dCk7XG4gICAgdGhpcy5sZXhlci55eSA9IHRoaXMueXk7XG4gICAgdGhpcy55eS5sZXhlciA9IHRoaXMubGV4ZXI7XG4gICAgdGhpcy55eS5wYXJzZXIgPSB0aGlzO1xuICAgIGlmICh0eXBlb2YgdGhpcy5sZXhlci55eWxsb2MgPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgdGhpcy5sZXhlci55eWxsb2MgPSB7fTtcbiAgICB2YXIgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICBsc3RhY2sucHVzaCh5eWxvYyk7XG4gICAgdmFyIHJhbmdlcyA9IHRoaXMubGV4ZXIub3B0aW9ucyAmJiB0aGlzLmxleGVyLm9wdGlvbnMucmFuZ2VzO1xuICAgIGlmICh0eXBlb2YgdGhpcy55eS5wYXJzZUVycm9yID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRoaXMueXkucGFyc2VFcnJvcjtcbiAgICBmdW5jdGlvbiBwb3BTdGFjayhuKSB7XG4gICAgICAgIHN0YWNrLmxlbmd0aCA9IHN0YWNrLmxlbmd0aCAtIDIgKiBuO1xuICAgICAgICB2c3RhY2subGVuZ3RoID0gdnN0YWNrLmxlbmd0aCAtIG47XG4gICAgICAgIGxzdGFjay5sZW5ndGggPSBsc3RhY2subGVuZ3RoIC0gbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gbGV4KCkge1xuICAgICAgICB2YXIgdG9rZW47XG4gICAgICAgIHRva2VuID0gc2VsZi5sZXhlci5sZXgoKSB8fCAxO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICB0b2tlbiA9IHNlbGYuc3ltYm9sc19bdG9rZW5dIHx8IHRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG4gICAgdmFyIHN5bWJvbCwgcHJlRXJyb3JTeW1ib2wsIHN0YXRlLCBhY3Rpb24sIGEsIHIsIHl5dmFsID0ge30sIHAsIGxlbiwgbmV3U3RhdGUsIGV4cGVjdGVkO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHN0YXRlID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRBY3Rpb25zW3N0YXRlXSkge1xuICAgICAgICAgICAgYWN0aW9uID0gdGhpcy5kZWZhdWx0QWN0aW9uc1tzdGF0ZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoc3ltYm9sID09PSBudWxsIHx8IHR5cGVvZiBzeW1ib2wgPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIHN5bWJvbCA9IGxleCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aW9uID0gdGFibGVbc3RhdGVdICYmIHRhYmxlW3N0YXRlXVtzeW1ib2xdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSBcInVuZGVmaW5lZFwiIHx8ICFhY3Rpb24ubGVuZ3RoIHx8ICFhY3Rpb25bMF0pIHtcbiAgICAgICAgICAgIHZhciBlcnJTdHIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFyZWNvdmVyaW5nKSB7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHAgaW4gdGFibGVbc3RhdGVdKVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXJtaW5hbHNfW3BdICYmIHAgPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZC5wdXNoKFwiJ1wiICsgdGhpcy50ZXJtaW5hbHNfW3BdICsgXCInXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGV4ZXIuc2hvd1Bvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGVyclN0ciA9IFwiUGFyc2UgZXJyb3Igb24gbGluZSBcIiArICh5eWxpbmVubyArIDEpICsgXCI6XFxuXCIgKyB0aGlzLmxleGVyLnNob3dQb3NpdGlvbigpICsgXCJcXG5FeHBlY3RpbmcgXCIgKyBleHBlY3RlZC5qb2luKFwiLCBcIikgKyBcIiwgZ290ICdcIiArICh0aGlzLnRlcm1pbmFsc19bc3ltYm9sXSB8fCBzeW1ib2wpICsgXCInXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyU3RyID0gXCJQYXJzZSBlcnJvciBvbiBsaW5lIFwiICsgKHl5bGluZW5vICsgMSkgKyBcIjogVW5leHBlY3RlZCBcIiArIChzeW1ib2wgPT0gMT9cImVuZCBvZiBpbnB1dFwiOlwiJ1wiICsgKHRoaXMudGVybWluYWxzX1tzeW1ib2xdIHx8IHN5bWJvbCkgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcihlcnJTdHIsIHt0ZXh0OiB0aGlzLmxleGVyLm1hdGNoLCB0b2tlbjogdGhpcy50ZXJtaW5hbHNfW3N5bWJvbF0gfHwgc3ltYm9sLCBsaW5lOiB0aGlzLmxleGVyLnl5bGluZW5vLCBsb2M6IHl5bG9jLCBleHBlY3RlZDogZXhwZWN0ZWR9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uWzBdIGluc3RhbmNlb2YgQXJyYXkgJiYgYWN0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcnNlIEVycm9yOiBtdWx0aXBsZSBhY3Rpb25zIHBvc3NpYmxlIGF0IHN0YXRlOiBcIiArIHN0YXRlICsgXCIsIHRva2VuOiBcIiArIHN5bWJvbCk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChhY3Rpb25bMF0pIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgc3RhY2sucHVzaChzeW1ib2wpO1xuICAgICAgICAgICAgdnN0YWNrLnB1c2godGhpcy5sZXhlci55eXRleHQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2godGhpcy5sZXhlci55eWxsb2MpO1xuICAgICAgICAgICAgc3RhY2sucHVzaChhY3Rpb25bMV0pO1xuICAgICAgICAgICAgc3ltYm9sID0gbnVsbDtcbiAgICAgICAgICAgIGlmICghcHJlRXJyb3JTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICB5eWxlbmcgPSB0aGlzLmxleGVyLnl5bGVuZztcbiAgICAgICAgICAgICAgICB5eXRleHQgPSB0aGlzLmxleGVyLnl5dGV4dDtcbiAgICAgICAgICAgICAgICB5eWxpbmVubyA9IHRoaXMubGV4ZXIueXlsaW5lbm87XG4gICAgICAgICAgICAgICAgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICAgICAgICAgICAgICBpZiAocmVjb3ZlcmluZyA+IDApXG4gICAgICAgICAgICAgICAgICAgIHJlY292ZXJpbmctLTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gcHJlRXJyb3JTeW1ib2w7XG4gICAgICAgICAgICAgICAgcHJlRXJyb3JTeW1ib2wgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGxlbiA9IHRoaXMucHJvZHVjdGlvbnNfW2FjdGlvblsxXV1bMV07XG4gICAgICAgICAgICB5eXZhbC4kID0gdnN0YWNrW3ZzdGFjay5sZW5ndGggLSBsZW5dO1xuICAgICAgICAgICAgeXl2YWwuXyQgPSB7Zmlyc3RfbGluZTogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5maXJzdF9saW5lLCBsYXN0X2xpbmU6IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gMV0ubGFzdF9saW5lLCBmaXJzdF9jb2x1bW46IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gKGxlbiB8fCAxKV0uZmlyc3RfY29sdW1uLCBsYXN0X2NvbHVtbjogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5sYXN0X2NvbHVtbn07XG4gICAgICAgICAgICBpZiAocmFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgeXl2YWwuXyQucmFuZ2UgPSBbbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5yYW5nZVswXSwgbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5yYW5nZVsxXV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByID0gdGhpcy5wZXJmb3JtQWN0aW9uLmNhbGwoeXl2YWwsIHl5dGV4dCwgeXlsZW5nLCB5eWxpbmVubywgdGhpcy55eSwgYWN0aW9uWzFdLCB2c3RhY2ssIGxzdGFjayk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZW4pIHtcbiAgICAgICAgICAgICAgICBzdGFjayA9IHN0YWNrLnNsaWNlKDAsIC0xICogbGVuICogMik7XG4gICAgICAgICAgICAgICAgdnN0YWNrID0gdnN0YWNrLnNsaWNlKDAsIC0xICogbGVuKTtcbiAgICAgICAgICAgICAgICBsc3RhY2sgPSBsc3RhY2suc2xpY2UoMCwgLTEgKiBsZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLnByb2R1Y3Rpb25zX1thY3Rpb25bMV1dWzBdKTtcbiAgICAgICAgICAgIHZzdGFjay5wdXNoKHl5dmFsLiQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2goeXl2YWwuXyQpO1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB0YWJsZVtzdGFja1tzdGFjay5sZW5ndGggLSAyXV1bc3RhY2tbc3RhY2subGVuZ3RoIC0gMV1dO1xuICAgICAgICAgICAgc3RhY2sucHVzaChuZXdTdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG59O1xuLyogSmlzb24gZ2VuZXJhdGVkIGxleGVyICovXG52YXIgbGV4ZXIgPSAoZnVuY3Rpb24oKXtcbnZhciBsZXhlciA9ICh7RU9GOjEsXG5wYXJzZUVycm9yOmZ1bmN0aW9uIHBhcnNlRXJyb3Ioc3RyLCBoYXNoKSB7XG4gICAgICAgIGlmICh0aGlzLnl5LnBhcnNlcikge1xuICAgICAgICAgICAgdGhpcy55eS5wYXJzZXIucGFyc2VFcnJvcihzdHIsIGhhc2gpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHN0cik7XG4gICAgICAgIH1cbiAgICB9LFxuc2V0SW5wdXQ6ZnVuY3Rpb24gKGlucHV0KSB7XG4gICAgICAgIHRoaXMuX2lucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0aGlzLl9sZXNzID0gdGhpcy5kb25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMueXlsaW5lbm8gPSB0aGlzLnl5bGVuZyA9IDA7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy5tYXRjaGVkID0gdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB0aGlzLmNvbmRpdGlvblN0YWNrID0gWydJTklUSUFMJ107XG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6MSxmaXJzdF9jb2x1bW46MCxsYXN0X2xpbmU6MSxsYXN0X2NvbHVtbjowfTtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlID0gWzAsMF07XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbmlucHV0OmZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNoID0gdGhpcy5faW5wdXRbMF07XG4gICAgICAgIHRoaXMueXl0ZXh0ICs9IGNoO1xuICAgICAgICB0aGlzLnl5bGVuZysrO1xuICAgICAgICB0aGlzLm9mZnNldCsrO1xuICAgICAgICB0aGlzLm1hdGNoICs9IGNoO1xuICAgICAgICB0aGlzLm1hdGNoZWQgKz0gY2g7XG4gICAgICAgIHZhciBsaW5lcyA9IGNoLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgaWYgKGxpbmVzKSB7XG4gICAgICAgICAgICB0aGlzLnl5bGluZW5vKys7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYy5sYXN0X2xpbmUrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMueXlsbG9jLmxhc3RfY29sdW1uKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlWzFdKys7XG5cbiAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZSgxKTtcbiAgICAgICAgcmV0dXJuIGNoO1xuICAgIH0sXG51bnB1dDpmdW5jdGlvbiAoY2gpIHtcbiAgICAgICAgdmFyIGxlbiA9IGNoLmxlbmd0aDtcbiAgICAgICAgdmFyIGxpbmVzID0gY2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcblxuICAgICAgICB0aGlzLl9pbnB1dCA9IGNoICsgdGhpcy5faW5wdXQ7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy55eXRleHQuc3Vic3RyKDAsIHRoaXMueXl0ZXh0Lmxlbmd0aC1sZW4tMSk7XG4gICAgICAgIC8vdGhpcy55eWxlbmcgLT0gbGVuO1xuICAgICAgICB0aGlzLm9mZnNldCAtPSBsZW47XG4gICAgICAgIHZhciBvbGRMaW5lcyA9IHRoaXMubWF0Y2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcbiAgICAgICAgdGhpcy5tYXRjaCA9IHRoaXMubWF0Y2guc3Vic3RyKDAsIHRoaXMubWF0Y2gubGVuZ3RoLTEpO1xuICAgICAgICB0aGlzLm1hdGNoZWQgPSB0aGlzLm1hdGNoZWQuc3Vic3RyKDAsIHRoaXMubWF0Y2hlZC5sZW5ndGgtMSk7XG5cbiAgICAgICAgaWYgKGxpbmVzLmxlbmd0aC0xKSB0aGlzLnl5bGluZW5vIC09IGxpbmVzLmxlbmd0aC0xO1xuICAgICAgICB2YXIgciA9IHRoaXMueXlsbG9jLnJhbmdlO1xuXG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6IHRoaXMueXlsbG9jLmZpcnN0X2xpbmUsXG4gICAgICAgICAgbGFzdF9saW5lOiB0aGlzLnl5bGluZW5vKzEsXG4gICAgICAgICAgZmlyc3RfY29sdW1uOiB0aGlzLnl5bGxvYy5maXJzdF9jb2x1bW4sXG4gICAgICAgICAgbGFzdF9jb2x1bW46IGxpbmVzID9cbiAgICAgICAgICAgICAgKGxpbmVzLmxlbmd0aCA9PT0gb2xkTGluZXMubGVuZ3RoID8gdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIDogMCkgKyBvbGRMaW5lc1tvbGRMaW5lcy5sZW5ndGggLSBsaW5lcy5sZW5ndGhdLmxlbmd0aCAtIGxpbmVzWzBdLmxlbmd0aDpcbiAgICAgICAgICAgICAgdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIC0gbGVuXG4gICAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJhbmdlcykge1xuICAgICAgICAgICAgdGhpcy55eWxsb2MucmFuZ2UgPSBbclswXSwgclswXSArIHRoaXMueXlsZW5nIC0gbGVuXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubW9yZTpmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubGVzczpmdW5jdGlvbiAobikge1xuICAgICAgICB0aGlzLnVucHV0KHRoaXMubWF0Y2guc2xpY2UobikpO1xuICAgIH0sXG5wYXN0SW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcGFzdCA9IHRoaXMubWF0Y2hlZC5zdWJzdHIoMCwgdGhpcy5tYXRjaGVkLmxlbmd0aCAtIHRoaXMubWF0Y2gubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIChwYXN0Lmxlbmd0aCA+IDIwID8gJy4uLic6JycpICsgcGFzdC5zdWJzdHIoLTIwKS5yZXBsYWNlKC9cXG4vZywgXCJcIik7XG4gICAgfSxcbnVwY29taW5nSW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbmV4dCA9IHRoaXMubWF0Y2g7XG4gICAgICAgIGlmIChuZXh0Lmxlbmd0aCA8IDIwKSB7XG4gICAgICAgICAgICBuZXh0ICs9IHRoaXMuX2lucHV0LnN1YnN0cigwLCAyMC1uZXh0Lmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChuZXh0LnN1YnN0cigwLDIwKSsobmV4dC5sZW5ndGggPiAyMCA/ICcuLi4nOicnKSkucmVwbGFjZSgvXFxuL2csIFwiXCIpO1xuICAgIH0sXG5zaG93UG9zaXRpb246ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcHJlID0gdGhpcy5wYXN0SW5wdXQoKTtcbiAgICAgICAgdmFyIGMgPSBuZXcgQXJyYXkocHJlLmxlbmd0aCArIDEpLmpvaW4oXCItXCIpO1xuICAgICAgICByZXR1cm4gcHJlICsgdGhpcy51cGNvbWluZ0lucHV0KCkgKyBcIlxcblwiICsgYytcIl5cIjtcbiAgICB9LFxubmV4dDpmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkVPRjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSB0cnVlO1xuXG4gICAgICAgIHZhciB0b2tlbixcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgdGVtcE1hdGNoLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICBjb2wsXG4gICAgICAgICAgICBsaW5lcztcbiAgICAgICAgaWYgKCF0aGlzLl9tb3JlKSB7XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCA9ICcnO1xuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBydWxlcyA9IHRoaXMuX2N1cnJlbnRSdWxlcygpO1xuICAgICAgICBmb3IgKHZhciBpPTA7aSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0ZW1wTWF0Y2ggPSB0aGlzLl9pbnB1dC5tYXRjaCh0aGlzLnJ1bGVzW3J1bGVzW2ldXSk7XG4gICAgICAgICAgICBpZiAodGVtcE1hdGNoICYmICghbWF0Y2ggfHwgdGVtcE1hdGNoWzBdLmxlbmd0aCA+IG1hdGNoWzBdLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IHRlbXBNYXRjaDtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZmxleCkgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBsaW5lcyA9IG1hdGNoWzBdLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgICAgIGlmIChsaW5lcykgdGhpcy55eWxpbmVubyArPSBsaW5lcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYyA9IHtmaXJzdF9saW5lOiB0aGlzLnl5bGxvYy5sYXN0X2xpbmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2xpbmU6IHRoaXMueXlsaW5lbm8rMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X2NvbHVtbjogdGhpcy55eWxsb2MubGFzdF9jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2NvbHVtbjogbGluZXMgPyBsaW5lc1tsaW5lcy5sZW5ndGgtMV0ubGVuZ3RoLWxpbmVzW2xpbmVzLmxlbmd0aC0xXS5tYXRjaCgvXFxyP1xcbj8vKVswXS5sZW5ndGggOiB0aGlzLnl5bGxvYy5sYXN0X2NvbHVtbiArIG1hdGNoWzBdLmxlbmd0aH07XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCArPSBtYXRjaFswXTtcbiAgICAgICAgICAgIHRoaXMubWF0Y2ggKz0gbWF0Y2hbMF07XG4gICAgICAgICAgICB0aGlzLm1hdGNoZXMgPSBtYXRjaDtcbiAgICAgICAgICAgIHRoaXMueXlsZW5nID0gdGhpcy55eXRleHQubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnl5bGxvYy5yYW5nZSA9IFt0aGlzLm9mZnNldCwgdGhpcy5vZmZzZXQgKz0gdGhpcy55eWxlbmddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fbW9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZShtYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5tYXRjaGVkICs9IG1hdGNoWzBdO1xuICAgICAgICAgICAgdG9rZW4gPSB0aGlzLnBlcmZvcm1BY3Rpb24uY2FsbCh0aGlzLCB0aGlzLnl5LCB0aGlzLCBydWxlc1tpbmRleF0sdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5kb25lICYmIHRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0b2tlbikgcmV0dXJuIHRva2VuO1xuICAgICAgICAgICAgZWxzZSByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2lucHV0ID09PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5FT0Y7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUVycm9yKCdMZXhpY2FsIGVycm9yIG9uIGxpbmUgJysodGhpcy55eWxpbmVubysxKSsnLiBVbnJlY29nbml6ZWQgdGV4dC5cXG4nK3RoaXMuc2hvd1Bvc2l0aW9uKCksXG4gICAgICAgICAgICAgICAgICAgIHt0ZXh0OiBcIlwiLCB0b2tlbjogbnVsbCwgbGluZTogdGhpcy55eWxpbmVub30pO1xuICAgICAgICB9XG4gICAgfSxcbmxleDpmdW5jdGlvbiBsZXggKCkge1xuICAgICAgICB2YXIgciA9IHRoaXMubmV4dCgpO1xuICAgICAgICBpZiAodHlwZW9mIHIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxleCgpO1xuICAgICAgICB9XG4gICAgfSxcbmJlZ2luOmZ1bmN0aW9uIGJlZ2luIChjb25kaXRpb24pIHtcbiAgICAgICAgdGhpcy5jb25kaXRpb25TdGFjay5wdXNoKGNvbmRpdGlvbik7XG4gICAgfSxcbnBvcFN0YXRlOmZ1bmN0aW9uIHBvcFN0YXRlICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2sucG9wKCk7XG4gICAgfSxcbl9jdXJyZW50UnVsZXM6ZnVuY3Rpb24gX2N1cnJlbnRSdWxlcyAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbnNbdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXV0ucnVsZXM7XG4gICAgfSxcbnRvcFN0YXRlOmZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMl07XG4gICAgfSxcbnB1c2hTdGF0ZTpmdW5jdGlvbiBiZWdpbiAoY29uZGl0aW9uKSB7XG4gICAgICAgIHRoaXMuYmVnaW4oY29uZGl0aW9uKTtcbiAgICB9fSk7XG5sZXhlci5vcHRpb25zID0ge307XG5sZXhlci5wZXJmb3JtQWN0aW9uID0gZnVuY3Rpb24gYW5vbnltb3VzKHl5LHl5XywkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zLFlZX1NUQVJUXG4pIHtcblxuXG5mdW5jdGlvbiBzdHJpcChzdGFydCwgZW5kKSB7XG4gIHJldHVybiB5eV8ueXl0ZXh0ID0geXlfLnl5dGV4dC5zdWJzdHJpbmcoc3RhcnQsIHl5Xy55eWxlbmcgLSBlbmQgKyBzdGFydCk7XG59XG5cblxudmFyIFlZU1RBVEU9WVlfU1RBUlRcbnN3aXRjaCgkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zKSB7XG5jYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHl5Xy55eXRleHQuc2xpY2UoLTIpID09PSBcIlxcXFxcXFxcXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcCgwLDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4oXCJtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKHl5Xy55eXRleHQuc2xpY2UoLTEpID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDAsMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbihcImVtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luKFwibXVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoeXlfLnl5dGV4dCkgcmV0dXJuIDE1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTpyZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSAzOnRoaXMuYmVnaW4oJ3JhdycpOyByZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdWxkIGJlIHVzaW5nIGB0aGlzLnRvcFN0YXRlKClgIGJlbG93LCBidXQgaXQgY3VycmVudGx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJucyB0aGUgc2Vjb25kIHRvcCBpbnN0ZWFkIG9mIHRoZSBmaXJzdCB0b3AuIE9wZW5lZCBhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzc3VlIGFib3V0IGl0IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS96YWFjaC9qaXNvbi9pc3N1ZXMvMjkxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV0gPT09ICdyYXcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDUsIDkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdFTkRfUkFXX0JMT0NLJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSA1OiByZXR1cm4gMTU7IFxuYnJlYWs7XG5jYXNlIDY6XG4gIHRoaXMucG9wU3RhdGUoKTtcbiAgcmV0dXJuIDE0O1xuXG5icmVhaztcbmNhc2UgNzpyZXR1cm4gNjU7XG5icmVhaztcbmNhc2UgODpyZXR1cm4gNjg7XG5icmVhaztcbmNhc2UgOTogcmV0dXJuIDE5OyBcbmJyZWFrO1xuY2FzZSAxMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbigncmF3Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTE6cmV0dXJuIDU1O1xuYnJlYWs7XG5jYXNlIDEyOnJldHVybiA2MDtcbmJyZWFrO1xuY2FzZSAxMzpyZXR1cm4gMjk7XG5icmVhaztcbmNhc2UgMTQ6cmV0dXJuIDQ3O1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE3OnJldHVybiAzNDtcbmJyZWFrO1xuY2FzZSAxODpyZXR1cm4gMzk7XG5icmVhaztcbmNhc2UgMTk6cmV0dXJuIDUxO1xuYnJlYWs7XG5jYXNlIDIwOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyMTpcbiAgdGhpcy51bnB1dCh5eV8ueXl0ZXh0KTtcbiAgdGhpcy5wb3BTdGF0ZSgpO1xuICB0aGlzLmJlZ2luKCdjb20nKTtcblxuYnJlYWs7XG5jYXNlIDIyOlxuICB0aGlzLnBvcFN0YXRlKCk7XG4gIHJldHVybiAxNDtcblxuYnJlYWs7XG5jYXNlIDIzOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyNDpyZXR1cm4gNzM7XG5icmVhaztcbmNhc2UgMjU6cmV0dXJuIDcyO1xuYnJlYWs7XG5jYXNlIDI2OnJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSAyNzpyZXR1cm4gODc7XG5icmVhaztcbmNhc2UgMjg6Ly8gaWdub3JlIHdoaXRlc3BhY2VcbmJyZWFrO1xuY2FzZSAyOTp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiA1NDtcbmJyZWFrO1xuY2FzZSAzMDp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiAzMztcbmJyZWFrO1xuY2FzZSAzMTp5eV8ueXl0ZXh0ID0gc3RyaXAoMSwyKS5yZXBsYWNlKC9cXFxcXCIvZywnXCInKTsgcmV0dXJuIDgwO1xuYnJlYWs7XG5jYXNlIDMyOnl5Xy55eXRleHQgPSBzdHJpcCgxLDIpLnJlcGxhY2UoL1xcXFwnL2csXCInXCIpOyByZXR1cm4gODA7XG5icmVhaztcbmNhc2UgMzM6cmV0dXJuIDg1O1xuYnJlYWs7XG5jYXNlIDM0OnJldHVybiA4MjtcbmJyZWFrO1xuY2FzZSAzNTpyZXR1cm4gODI7XG5icmVhaztcbmNhc2UgMzY6cmV0dXJuIDgzO1xuYnJlYWs7XG5jYXNlIDM3OnJldHVybiA4NDtcbmJyZWFrO1xuY2FzZSAzODpyZXR1cm4gODE7XG5icmVhaztcbmNhc2UgMzk6cmV0dXJuIDc1O1xuYnJlYWs7XG5jYXNlIDQwOnJldHVybiA3NztcbmJyZWFrO1xuY2FzZSA0MTpyZXR1cm4gNzI7XG5icmVhaztcbmNhc2UgNDI6eXlfLnl5dGV4dCA9IHl5Xy55eXRleHQucmVwbGFjZSgvXFxcXChbXFxcXFxcXV0pL2csJyQxJyk7IHJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSA0MzpyZXR1cm4gJ0lOVkFMSUQnO1xuYnJlYWs7XG5jYXNlIDQ0OnJldHVybiA1O1xuYnJlYWs7XG59XG59O1xubGV4ZXIucnVsZXMgPSBbL14oPzpbXlxceDAwXSo/KD89KFxce1xceykpKS8sL14oPzpbXlxceDAwXSspLywvXig/OlteXFx4MDBdezIsfT8oPz0oXFx7XFx7fFxcXFxcXHtcXHt8XFxcXFxcXFxcXHtcXHt8JCkpKS8sL14oPzpcXHtcXHtcXHtcXHsoPz1bXi9dKSkvLC9eKD86XFx7XFx7XFx7XFx7XFwvW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PVs9fVxcc1xcLy5dKVxcfVxcfVxcfVxcfSkvLC9eKD86W15cXHgwMF0rPyg/PShcXHtcXHtcXHtcXHspKSkvLC9eKD86W1xcc1xcU10qPy0tKH4pP1xcfVxcfSkvLC9eKD86XFwoKS8sL14oPzpcXCkpLywvXig/Olxce1xce1xce1xceykvLC9eKD86XFx9XFx9XFx9XFx9KS8sL14oPzpcXHtcXHsofik/PikvLC9eKD86XFx7XFx7KH4pPyM+KS8sL14oPzpcXHtcXHsofik/I1xcKj8pLywvXig/Olxce1xceyh+KT9cXC8pLywvXig/Olxce1xceyh+KT9cXF5cXHMqKH4pP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xccyplbHNlXFxzKih+KT9cXH1cXH0pLywvXig/Olxce1xceyh+KT9cXF4pLywvXig/Olxce1xceyh+KT9cXHMqZWxzZVxcYikvLC9eKD86XFx7XFx7KH4pP1xceykvLC9eKD86XFx7XFx7KH4pPyYpLywvXig/Olxce1xceyh+KT8hLS0pLywvXig/Olxce1xceyh+KT8hW1xcc1xcU10qP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xcKj8pLywvXig/Oj0pLywvXig/OlxcLlxcLikvLC9eKD86XFwuKD89KFs9fn1cXHNcXC8uKXxdKSkpLywvXig/OltcXC8uXSkvLC9eKD86XFxzKykvLC9eKD86XFx9KH4pP1xcfVxcfSkvLC9eKD86KH4pP1xcfVxcfSkvLC9eKD86XCIoXFxcXFtcIl18W15cIl0pKlwiKS8sL14oPzonKFxcXFxbJ118W14nXSkqJykvLC9eKD86QCkvLC9eKD86dHJ1ZSg/PShbfn1cXHMpXSkpKS8sL14oPzpmYWxzZSg/PShbfn1cXHMpXSkpKS8sL14oPzp1bmRlZmluZWQoPz0oW359XFxzKV0pKSkvLC9eKD86bnVsbCg/PShbfn1cXHMpXSkpKS8sL14oPzotP1swLTldKyg/OlxcLlswLTldKyk/KD89KFt+fVxccyldKSkpLywvXig/OmFzXFxzK1xcfCkvLC9eKD86XFx8KS8sL14oPzooW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PShbPX59XFxzXFwvLil8XSkpKSkvLC9eKD86XFxbKFxcXFxcXF18W15cXF1dKSpcXF0pLywvXig/Oi4pLywvXig/OiQpL107XG5sZXhlci5jb25kaXRpb25zID0ge1wibXVcIjp7XCJydWxlc1wiOls3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NF0sXCJpbmNsdXNpdmVcIjpmYWxzZX0sXCJlbXVcIjp7XCJydWxlc1wiOlsyXSxcImluY2x1c2l2ZVwiOmZhbHNlfSxcImNvbVwiOntcInJ1bGVzXCI6WzZdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwicmF3XCI6e1wicnVsZXNcIjpbMyw0LDVdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwiSU5JVElBTFwiOntcInJ1bGVzXCI6WzAsMSw0NF0sXCJpbmNsdXNpdmVcIjp0cnVlfX07XG5yZXR1cm4gbGV4ZXI7fSkoKVxucGFyc2VyLmxleGVyID0gbGV4ZXI7XG5mdW5jdGlvbiBQYXJzZXIgKCkgeyB0aGlzLnl5ID0ge307IH1QYXJzZXIucHJvdG90eXBlID0gcGFyc2VyO3BhcnNlci5QYXJzZXIgPSBQYXJzZXI7XG5yZXR1cm4gbmV3IFBhcnNlcjtcbn0pKCk7ZXhwb3J0IGRlZmF1bHQgaGFuZGxlYmFycztcbiJdfQ== + + +/***/ }), + +/***/ 92118: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +/* eslint-disable new-cap */ + + +exports.__esModule = true; +exports.print = print; +exports.PrintVisitor = PrintVisitor; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _visitor = __webpack_require__(79353); + +var _visitor2 = _interopRequireDefault(_visitor); + +function print(ast) { + return new PrintVisitor().accept(ast); +} + +function PrintVisitor() { + this.padding = 0; +} + +PrintVisitor.prototype = new _visitor2['default'](); + +PrintVisitor.prototype.pad = function (string) { + var out = ''; + + for (var i = 0, l = this.padding; i < l; i++) { + out += ' '; + } + + out += string + '\n'; + return out; +}; + +PrintVisitor.prototype.Program = function (program) { + var out = '', + body = program.body, + i = undefined, + l = undefined; + + if (program.blockParams) { + var blockParams = 'BLOCK PARAMS: ['; + for (i = 0, l = program.blockParams.length; i < l; i++) { + blockParams += ' ' + program.blockParams[i]; + } + blockParams += ' ]'; + out += this.pad(blockParams); + } + + for (i = 0, l = body.length; i < l; i++) { + out += this.accept(body[i]); + } + + this.padding--; + + return out; +}; + +PrintVisitor.prototype.MustacheStatement = function (mustache) { + return this.pad('{{ ' + this.SubExpression(mustache) + ' }}'); +}; +PrintVisitor.prototype.Decorator = function (mustache) { + return this.pad('{{ DIRECTIVE ' + this.SubExpression(mustache) + ' }}'); +}; + +PrintVisitor.prototype.BlockStatement = PrintVisitor.prototype.DecoratorBlock = function (block) { + var out = ''; + + out += this.pad((block.type === 'DecoratorBlock' ? 'DIRECTIVE ' : '') + 'BLOCK:'); + this.padding++; + out += this.pad(this.SubExpression(block)); + if (block.program) { + out += this.pad('PROGRAM:'); + this.padding++; + out += this.accept(block.program); + this.padding--; + } + if (block.inverse) { + if (block.program) { + this.padding++; + } + out += this.pad('{{^}}'); + this.padding++; + out += this.accept(block.inverse); + this.padding--; + if (block.program) { + this.padding--; + } + } + this.padding--; + + return out; +}; + +PrintVisitor.prototype.PartialStatement = function (partial) { + var content = 'PARTIAL:' + partial.name.original; + if (partial.params[0]) { + content += ' ' + this.accept(partial.params[0]); + } + if (partial.hash) { + content += ' ' + this.accept(partial.hash); + } + return this.pad('{{> ' + content + ' }}'); +}; +PrintVisitor.prototype.PartialBlockStatement = function (partial) { + var content = 'PARTIAL BLOCK:' + partial.name.original; + if (partial.params[0]) { + content += ' ' + this.accept(partial.params[0]); + } + if (partial.hash) { + content += ' ' + this.accept(partial.hash); + } + + content += ' ' + this.pad('PROGRAM:'); + this.padding++; + content += this.accept(partial.program); + this.padding--; + + return this.pad('{{> ' + content + ' }}'); +}; + +PrintVisitor.prototype.ContentStatement = function (content) { + return this.pad("CONTENT[ '" + content.value + "' ]"); +}; + +PrintVisitor.prototype.CommentStatement = function (comment) { + return this.pad("{{! '" + comment.value + "' }}"); +}; + +PrintVisitor.prototype.SubExpression = function (sexpr) { + var params = sexpr.params, + paramStrings = [], + hash = undefined; + + for (var i = 0, l = params.length; i < l; i++) { + paramStrings.push(this.accept(params[i])); + } + + params = '[' + paramStrings.join(', ') + ']'; + + hash = sexpr.hash ? ' ' + this.accept(sexpr.hash) : ''; + + return this.accept(sexpr.path) + ' ' + params + hash; +}; + +PrintVisitor.prototype.PathExpression = function (id) { + var path = id.parts.join('/'); + return (id.data ? '@' : '') + 'PATH:' + path; +}; + +PrintVisitor.prototype.StringLiteral = function (string) { + return '"' + string.value + '"'; +}; + +PrintVisitor.prototype.NumberLiteral = function (number) { + return 'NUMBER{' + number.value + '}'; +}; + +PrintVisitor.prototype.BooleanLiteral = function (bool) { + return 'BOOLEAN{' + bool.value + '}'; +}; + +PrintVisitor.prototype.UndefinedLiteral = function () { + return 'UNDEFINED'; +}; + +PrintVisitor.prototype.NullLiteral = function () { + return 'NULL'; +}; + +PrintVisitor.prototype.Hash = function (hash) { + var pairs = hash.pairs, + joinedPairs = []; + + for (var i = 0, l = pairs.length; i < l; i++) { + joinedPairs.push(this.accept(pairs[i])); + } + + return 'HASH{' + joinedPairs.join(', ') + '}'; +}; +PrintVisitor.prototype.HashPair = function (pair) { + return pair.key + '=' + this.accept(pair.value); +}; +/* eslint-enable new-cap */ +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3ByaW50ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozt1QkFDb0IsV0FBVzs7OztBQUV4QixTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUU7QUFDekIsU0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN2Qzs7QUFFTSxTQUFTLFlBQVksR0FBRztBQUM3QixNQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztDQUNsQjs7QUFFRCxZQUFZLENBQUMsU0FBUyxHQUFHLDBCQUFhLENBQUM7O0FBRXZDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFVBQVMsTUFBTSxFQUFFO0FBQzVDLE1BQUksR0FBRyxHQUFHLEVBQUUsQ0FBQzs7QUFFYixPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVDLE9BQUcsSUFBSSxJQUFJLENBQUM7R0FDYjs7QUFFRCxLQUFHLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztBQUNyQixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDakQsTUFBSSxHQUFHLEdBQUcsRUFBRTtNQUNWLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSTtNQUNuQixDQUFDLFlBQUE7TUFDRCxDQUFDLFlBQUEsQ0FBQzs7QUFFSixNQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7QUFDdkIsUUFBSSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDcEMsU0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3RELGlCQUFXLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDN0M7QUFDRCxlQUFXLElBQUksSUFBSSxDQUFDO0FBQ3BCLE9BQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0dBQzlCOztBQUVELE9BQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLE9BQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQzdCOztBQUVELE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7QUFFZixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsR0FBRyxVQUFTLFFBQVEsRUFBRTtBQUM1RCxTQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Q0FDL0QsQ0FBQztBQUNGLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFVBQVMsUUFBUSxFQUFFO0FBQ3BELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztDQUN6RSxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQzlFLEtBQUssRUFDTDtBQUNBLE1BQUksR0FBRyxHQUFHLEVBQUUsQ0FBQzs7QUFFYixLQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FDYixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBQSxHQUFJLFFBQVEsQ0FDakUsQ0FBQztBQUNGLE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLEtBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxNQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsT0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsUUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2YsT0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztHQUNoQjtBQUNELE1BQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixRQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsVUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ2hCO0FBQ0QsT0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsUUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2YsT0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLFFBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixVQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDaEI7R0FDRjtBQUNELE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7QUFFZixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUMxRCxNQUFJLE9BQU8sR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDakQsTUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ3JCLFdBQU8sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7R0FDakQ7QUFDRCxNQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7QUFDaEIsV0FBTyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUM1QztBQUNELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0NBQzNDLENBQUM7QUFDRixZQUFZLENBQUMsU0FBUyxDQUFDLHFCQUFxQixHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQy9ELE1BQUksT0FBTyxHQUFHLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3ZELE1BQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNyQixXQUFPLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQ2pEO0FBQ0QsTUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLFdBQU8sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDNUM7O0FBRUQsU0FBTyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLFNBQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxNQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7O0FBRWYsU0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7Q0FDM0MsQ0FBQzs7QUFFRixZQUFZLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQzFELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztDQUN2RCxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDMUQsU0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0NBQ25ELENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsVUFBUyxLQUFLLEVBQUU7QUFDckQsTUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU07TUFDdkIsWUFBWSxHQUFHLEVBQUU7TUFDakIsSUFBSSxZQUFBLENBQUM7O0FBRVAsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM3QyxnQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7R0FDM0M7O0FBRUQsUUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQzs7QUFFN0MsTUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzs7QUFFdkQsU0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztDQUN0RCxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVMsRUFBRSxFQUFFO0FBQ25ELE1BQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLFNBQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0NBQzlDLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsVUFBUyxNQUFNLEVBQUU7QUFDdEQsU0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Q0FDakMsQ0FBQzs7QUFFRixZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxVQUFTLE1BQU0sRUFBRTtBQUN0RCxTQUFPLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztDQUN2QyxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQ3JELFNBQU8sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0NBQ3RDLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxZQUFXO0FBQ25ELFNBQU8sV0FBVyxDQUFDO0NBQ3BCLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsWUFBVztBQUM5QyxTQUFPLE1BQU0sQ0FBQztDQUNmLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsVUFBUyxJQUFJLEVBQUU7QUFDM0MsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7TUFDcEIsV0FBVyxHQUFHLEVBQUUsQ0FBQzs7QUFFbkIsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxlQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztHQUN6Qzs7QUFFRCxTQUFPLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztDQUMvQyxDQUFDO0FBQ0YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBUyxJQUFJLEVBQUU7QUFDL0MsU0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUNqRCxDQUFDIiwiZmlsZSI6InByaW50ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5pbXBvcnQgVmlzaXRvciBmcm9tICcuL3Zpc2l0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnQoYXN0KSB7XG4gIHJldHVybiBuZXcgUHJpbnRWaXNpdG9yKCkuYWNjZXB0KGFzdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcmludFZpc2l0b3IoKSB7XG4gIHRoaXMucGFkZGluZyA9IDA7XG59XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUgPSBuZXcgVmlzaXRvcigpO1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLnBhZCA9IGZ1bmN0aW9uKHN0cmluZykge1xuICBsZXQgb3V0ID0gJyc7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnBhZGRpbmc7IGkgPCBsOyBpKyspIHtcbiAgICBvdXQgKz0gJyAgJztcbiAgfVxuXG4gIG91dCArPSBzdHJpbmcgKyAnXFxuJztcbiAgcmV0dXJuIG91dDtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuUHJvZ3JhbSA9IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgbGV0IG91dCA9ICcnLFxuICAgIGJvZHkgPSBwcm9ncmFtLmJvZHksXG4gICAgaSxcbiAgICBsO1xuXG4gIGlmIChwcm9ncmFtLmJsb2NrUGFyYW1zKSB7XG4gICAgbGV0IGJsb2NrUGFyYW1zID0gJ0JMT0NLIFBBUkFNUzogWyc7XG4gICAgZm9yIChpID0gMCwgbCA9IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBibG9ja1BhcmFtcyArPSAnICcgKyBwcm9ncmFtLmJsb2NrUGFyYW1zW2ldO1xuICAgIH1cbiAgICBibG9ja1BhcmFtcyArPSAnIF0nO1xuICAgIG91dCArPSB0aGlzLnBhZChibG9ja1BhcmFtcyk7XG4gIH1cblxuICBmb3IgKGkgPSAwLCBsID0gYm9keS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvdXQgKz0gdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gIH1cblxuICB0aGlzLnBhZGRpbmctLTtcblxuICByZXR1cm4gb3V0O1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudCA9IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gIHJldHVybiB0aGlzLnBhZCgne3sgJyArIHRoaXMuU3ViRXhwcmVzc2lvbihtdXN0YWNoZSkgKyAnIH19Jyk7XG59O1xuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5EZWNvcmF0b3IgPSBmdW5jdGlvbihtdXN0YWNoZSkge1xuICByZXR1cm4gdGhpcy5wYWQoJ3t7IERJUkVDVElWRSAnICsgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKSArICcgfX0nKTtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuQmxvY2tTdGF0ZW1lbnQgPSBQcmludFZpc2l0b3IucHJvdG90eXBlLkRlY29yYXRvckJsb2NrID0gZnVuY3Rpb24oXG4gIGJsb2NrXG4pIHtcbiAgbGV0IG91dCA9ICcnO1xuXG4gIG91dCArPSB0aGlzLnBhZChcbiAgICAoYmxvY2sudHlwZSA9PT0gJ0RlY29yYXRvckJsb2NrJyA/ICdESVJFQ1RJVkUgJyA6ICcnKSArICdCTE9DSzonXG4gICk7XG4gIHRoaXMucGFkZGluZysrO1xuICBvdXQgKz0gdGhpcy5wYWQodGhpcy5TdWJFeHByZXNzaW9uKGJsb2NrKSk7XG4gIGlmIChibG9jay5wcm9ncmFtKSB7XG4gICAgb3V0ICs9IHRoaXMucGFkKCdQUk9HUkFNOicpO1xuICAgIHRoaXMucGFkZGluZysrO1xuICAgIG91dCArPSB0aGlzLmFjY2VwdChibG9jay5wcm9ncmFtKTtcbiAgICB0aGlzLnBhZGRpbmctLTtcbiAgfVxuICBpZiAoYmxvY2suaW52ZXJzZSkge1xuICAgIGlmIChibG9jay5wcm9ncmFtKSB7XG4gICAgICB0aGlzLnBhZGRpbmcrKztcbiAgICB9XG4gICAgb3V0ICs9IHRoaXMucGFkKCd7e159fScpO1xuICAgIHRoaXMucGFkZGluZysrO1xuICAgIG91dCArPSB0aGlzLmFjY2VwdChibG9jay5pbnZlcnNlKTtcbiAgICB0aGlzLnBhZGRpbmctLTtcbiAgICBpZiAoYmxvY2sucHJvZ3JhbSkge1xuICAgICAgdGhpcy5wYWRkaW5nLS07XG4gICAgfVxuICB9XG4gIHRoaXMucGFkZGluZy0tO1xuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlBhcnRpYWxTdGF0ZW1lbnQgPSBmdW5jdGlvbihwYXJ0aWFsKSB7XG4gIGxldCBjb250ZW50ID0gJ1BBUlRJQUw6JyArIHBhcnRpYWwubmFtZS5vcmlnaW5hbDtcbiAgaWYgKHBhcnRpYWwucGFyYW1zWzBdKSB7XG4gICAgY29udGVudCArPSAnICcgKyB0aGlzLmFjY2VwdChwYXJ0aWFsLnBhcmFtc1swXSk7XG4gIH1cbiAgaWYgKHBhcnRpYWwuaGFzaCkge1xuICAgIGNvbnRlbnQgKz0gJyAnICsgdGhpcy5hY2NlcHQocGFydGlhbC5oYXNoKTtcbiAgfVxuICByZXR1cm4gdGhpcy5wYWQoJ3t7PiAnICsgY29udGVudCArICcgfX0nKTtcbn07XG5QcmludFZpc2l0b3IucHJvdG90eXBlLlBhcnRpYWxCbG9ja1N0YXRlbWVudCA9IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgbGV0IGNvbnRlbnQgPSAnUEFSVElBTCBCTE9DSzonICsgcGFydGlhbC5uYW1lLm9yaWdpbmFsO1xuICBpZiAocGFydGlhbC5wYXJhbXNbMF0pIHtcbiAgICBjb250ZW50ICs9ICcgJyArIHRoaXMuYWNjZXB0KHBhcnRpYWwucGFyYW1zWzBdKTtcbiAgfVxuICBpZiAocGFydGlhbC5oYXNoKSB7XG4gICAgY29udGVudCArPSAnICcgKyB0aGlzLmFjY2VwdChwYXJ0aWFsLmhhc2gpO1xuICB9XG5cbiAgY29udGVudCArPSAnICcgKyB0aGlzLnBhZCgnUFJPR1JBTTonKTtcbiAgdGhpcy5wYWRkaW5nKys7XG4gIGNvbnRlbnQgKz0gdGhpcy5hY2NlcHQocGFydGlhbC5wcm9ncmFtKTtcbiAgdGhpcy5wYWRkaW5nLS07XG5cbiAgcmV0dXJuIHRoaXMucGFkKCd7ez4gJyArIGNvbnRlbnQgKyAnIH19Jyk7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLkNvbnRlbnRTdGF0ZW1lbnQgPSBmdW5jdGlvbihjb250ZW50KSB7XG4gIHJldHVybiB0aGlzLnBhZChcIkNPTlRFTlRbICdcIiArIGNvbnRlbnQudmFsdWUgKyBcIicgXVwiKTtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuQ29tbWVudFN0YXRlbWVudCA9IGZ1bmN0aW9uKGNvbW1lbnQpIHtcbiAgcmV0dXJuIHRoaXMucGFkKFwie3shICdcIiArIGNvbW1lbnQudmFsdWUgKyBcIicgfX1cIik7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlN1YkV4cHJlc3Npb24gPSBmdW5jdGlvbihzZXhwcikge1xuICBsZXQgcGFyYW1zID0gc2V4cHIucGFyYW1zLFxuICAgIHBhcmFtU3RyaW5ncyA9IFtdLFxuICAgIGhhc2g7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJhbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgcGFyYW1TdHJpbmdzLnB1c2godGhpcy5hY2NlcHQocGFyYW1zW2ldKSk7XG4gIH1cblxuICBwYXJhbXMgPSAnWycgKyBwYXJhbVN0cmluZ3Muam9pbignLCAnKSArICddJztcblxuICBoYXNoID0gc2V4cHIuaGFzaCA/ICcgJyArIHRoaXMuYWNjZXB0KHNleHByLmhhc2gpIDogJyc7XG5cbiAgcmV0dXJuIHRoaXMuYWNjZXB0KHNleHByLnBhdGgpICsgJyAnICsgcGFyYW1zICsgaGFzaDtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuUGF0aEV4cHJlc3Npb24gPSBmdW5jdGlvbihpZCkge1xuICBsZXQgcGF0aCA9IGlkLnBhcnRzLmpvaW4oJy8nKTtcbiAgcmV0dXJuIChpZC5kYXRhID8gJ0AnIDogJycpICsgJ1BBVEg6JyArIHBhdGg7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlN0cmluZ0xpdGVyYWwgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgcmV0dXJuICdcIicgKyBzdHJpbmcudmFsdWUgKyAnXCInO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5OdW1iZXJMaXRlcmFsID0gZnVuY3Rpb24obnVtYmVyKSB7XG4gIHJldHVybiAnTlVNQkVSeycgKyBudW1iZXIudmFsdWUgKyAnfSc7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLkJvb2xlYW5MaXRlcmFsID0gZnVuY3Rpb24oYm9vbCkge1xuICByZXR1cm4gJ0JPT0xFQU57JyArIGJvb2wudmFsdWUgKyAnfSc7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlVuZGVmaW5lZExpdGVyYWwgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuICdVTkRFRklORUQnO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5OdWxsTGl0ZXJhbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gJ05VTEwnO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5IYXNoID0gZnVuY3Rpb24oaGFzaCkge1xuICBsZXQgcGFpcnMgPSBoYXNoLnBhaXJzLFxuICAgIGpvaW5lZFBhaXJzID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYWlycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBqb2luZWRQYWlycy5wdXNoKHRoaXMuYWNjZXB0KHBhaXJzW2ldKSk7XG4gIH1cblxuICByZXR1cm4gJ0hBU0h7JyArIGpvaW5lZFBhaXJzLmpvaW4oJywgJykgKyAnfSc7XG59O1xuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5IYXNoUGFpciA9IGZ1bmN0aW9uKHBhaXIpIHtcbiAgcmV0dXJuIHBhaXIua2V5ICsgJz0nICsgdGhpcy5hY2NlcHQocGFpci52YWx1ZSk7XG59O1xuLyogZXNsaW50LWVuYWJsZSBuZXctY2FwICovXG4iXX0= + + +/***/ }), + +/***/ 79353: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +function Visitor() { + this.parents = []; +} + +Visitor.prototype = { + constructor: Visitor, + mutating: false, + + // Visits a given value. If mutating, will replace the value if necessary. + acceptKey: function acceptKey(node, name) { + var value = this.accept(node[name]); + if (this.mutating) { + // Hacky sanity check: This may have a few false positives for type for the helper + // methods but will generally do the right thing without a lot of overhead. + if (value && !Visitor.prototype[value.type]) { + throw new _exception2['default']('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type); + } + node[name] = value; + } + }, + + // Performs an accept operation with added sanity check to ensure + // required keys are not removed. + acceptRequired: function acceptRequired(node, name) { + this.acceptKey(node, name); + + if (!node[name]) { + throw new _exception2['default'](node.type + ' requires ' + name); + } + }, + + // Traverses a given array. If mutating, empty respnses will be removed + // for child elements. + acceptArray: function acceptArray(array) { + for (var i = 0, l = array.length; i < l; i++) { + this.acceptKey(array, i); + + if (!array[i]) { + array.splice(i, 1); + i--; + l--; + } + } + }, + + accept: function accept(object) { + if (!object) { + return; + } + + /* istanbul ignore next: Sanity code */ + if (!this[object.type]) { + throw new _exception2['default']('Unknown type: ' + object.type, object); + } + + if (this.current) { + this.parents.unshift(this.current); + } + this.current = object; + + var ret = this[object.type](object); + + this.current = this.parents.shift(); + + if (!this.mutating || ret) { + return ret; + } else if (ret !== false) { + return object; + } + }, + + Program: function Program(program) { + this.acceptArray(program.body); + }, + + MustacheStatement: visitSubExpression, + Decorator: visitSubExpression, + + BlockStatement: visitBlock, + DecoratorBlock: visitBlock, + + PartialStatement: visitPartial, + PartialBlockStatement: function PartialBlockStatement(partial) { + visitPartial.call(this, partial); + + this.acceptKey(partial, 'program'); + }, + + ContentStatement: function ContentStatement() /* content */{}, + CommentStatement: function CommentStatement() /* comment */{}, + + SubExpression: visitSubExpression, + + PathExpression: function PathExpression() /* path */{}, + + StringLiteral: function StringLiteral() /* string */{}, + NumberLiteral: function NumberLiteral() /* number */{}, + BooleanLiteral: function BooleanLiteral() /* bool */{}, + UndefinedLiteral: function UndefinedLiteral() /* literal */{}, + NullLiteral: function NullLiteral() /* literal */{}, + + Hash: function Hash(hash) { + this.acceptArray(hash.pairs); + }, + HashPair: function HashPair(pair) { + this.acceptRequired(pair, 'value'); + } +}; + +function visitSubExpression(mustache) { + this.acceptRequired(mustache, 'path'); + this.acceptArray(mustache.params); + this.acceptKey(mustache, 'hash'); +} +function visitBlock(block) { + visitSubExpression.call(this, block); + + this.acceptKey(block, 'program'); + this.acceptKey(block, 'inverse'); +} +function visitPartial(partial) { + this.acceptRequired(partial, 'name'); + this.acceptArray(partial.params); + this.acceptKey(partial, 'hash'); +} + +exports["default"] = Visitor; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztBQUVwQyxTQUFTLE9BQU8sR0FBRztBQUNqQixNQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztDQUNuQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHO0FBQ2xCLGFBQVcsRUFBRSxPQUFPO0FBQ3BCLFVBQVEsRUFBRSxLQUFLOzs7QUFHZixXQUFTLEVBQUUsbUJBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUM5QixRQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7O0FBR2pCLFVBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDM0MsY0FBTSwyQkFDSix3QkFBd0IsR0FDdEIsS0FBSyxDQUFDLElBQUksR0FDVix5QkFBeUIsR0FDekIsSUFBSSxHQUNKLE1BQU0sR0FDTixJQUFJLENBQUMsSUFBSSxDQUNaLENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDcEI7R0FDRjs7OztBQUlELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUNuQyxRQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFM0IsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNmLFlBQU0sMkJBQWMsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDdEQ7R0FDRjs7OztBQUlELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxVQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFekIsVUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNiLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25CLFNBQUMsRUFBRSxDQUFDO0FBQ0osU0FBQyxFQUFFLENBQUM7T0FDTDtLQUNGO0dBQ0Y7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLE1BQU0sRUFBRTtBQUN2QixRQUFJLENBQUMsTUFBTSxFQUFFO0FBQ1gsYUFBTztLQUNSOzs7QUFHRCxRQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUN0QixZQUFNLDJCQUFjLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDN0Q7O0FBRUQsUUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO0FBQ2hCLFVBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNwQztBQUNELFFBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDOztBQUV0QixRQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVwQyxRQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7O0FBRXBDLFFBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFBRTtBQUN6QixhQUFPLEdBQUcsQ0FBQztLQUNaLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO0FBQ3hCLGFBQU8sTUFBTSxDQUFDO0tBQ2Y7R0FDRjs7QUFFRCxTQUFPLEVBQUUsaUJBQVMsT0FBTyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQ2hDOztBQUVELG1CQUFpQixFQUFFLGtCQUFrQjtBQUNyQyxXQUFTLEVBQUUsa0JBQWtCOztBQUU3QixnQkFBYyxFQUFFLFVBQVU7QUFDMUIsZ0JBQWMsRUFBRSxVQUFVOztBQUUxQixrQkFBZ0IsRUFBRSxZQUFZO0FBQzlCLHVCQUFxQixFQUFFLCtCQUFTLE9BQU8sRUFBRTtBQUN2QyxnQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRWpDLFFBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3BDOztBQUVELGtCQUFnQixFQUFFLHlDQUF3QixFQUFFO0FBQzVDLGtCQUFnQixFQUFFLHlDQUF3QixFQUFFOztBQUU1QyxlQUFhLEVBQUUsa0JBQWtCOztBQUVqQyxnQkFBYyxFQUFFLG9DQUFxQixFQUFFOztBQUV2QyxlQUFhLEVBQUUscUNBQXVCLEVBQUU7QUFDeEMsZUFBYSxFQUFFLHFDQUF1QixFQUFFO0FBQ3hDLGdCQUFjLEVBQUUsb0NBQXFCLEVBQUU7QUFDdkMsa0JBQWdCLEVBQUUseUNBQXdCLEVBQUU7QUFDNUMsYUFBVyxFQUFFLG9DQUF3QixFQUFFOztBQUV2QyxNQUFJLEVBQUUsY0FBUyxJQUFJLEVBQUU7QUFDbkIsUUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7R0FDOUI7QUFDRCxVQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLFFBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ3BDO0NBQ0YsQ0FBQzs7QUFFRixTQUFTLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtBQUNwQyxNQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN0QyxNQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxNQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRTtBQUN6QixvQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUVyQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUM3QixNQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxNQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNqQzs7cUJBRWMsT0FBTyIsImZpbGUiOiJ2aXNpdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5mdW5jdGlvbiBWaXNpdG9yKCkge1xuICB0aGlzLnBhcmVudHMgPSBbXTtcbn1cblxuVmlzaXRvci5wcm90b3R5cGUgPSB7XG4gIGNvbnN0cnVjdG9yOiBWaXNpdG9yLFxuICBtdXRhdGluZzogZmFsc2UsXG5cbiAgLy8gVmlzaXRzIGEgZ2l2ZW4gdmFsdWUuIElmIG11dGF0aW5nLCB3aWxsIHJlcGxhY2UgdGhlIHZhbHVlIGlmIG5lY2Vzc2FyeS5cbiAgYWNjZXB0S2V5OiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5hY2NlcHQobm9kZVtuYW1lXSk7XG4gICAgaWYgKHRoaXMubXV0YXRpbmcpIHtcbiAgICAgIC8vIEhhY2t5IHNhbml0eSBjaGVjazogVGhpcyBtYXkgaGF2ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgZm9yIHR5cGUgZm9yIHRoZSBoZWxwZXJcbiAgICAgIC8vIG1ldGhvZHMgYnV0IHdpbGwgZ2VuZXJhbGx5IGRvIHRoZSByaWdodCB0aGluZyB3aXRob3V0IGEgbG90IG9mIG92ZXJoZWFkLlxuICAgICAgaWYgKHZhbHVlICYmICFWaXNpdG9yLnByb3RvdHlwZVt2YWx1ZS50eXBlXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAgICdVbmV4cGVjdGVkIG5vZGUgdHlwZSBcIicgK1xuICAgICAgICAgICAgdmFsdWUudHlwZSArXG4gICAgICAgICAgICAnXCIgZm91bmQgd2hlbiBhY2NlcHRpbmcgJyArXG4gICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICcgb24gJyArXG4gICAgICAgICAgICBub2RlLnR5cGVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIG5vZGVbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH0sXG5cbiAgLy8gUGVyZm9ybXMgYW4gYWNjZXB0IG9wZXJhdGlvbiB3aXRoIGFkZGVkIHNhbml0eSBjaGVjayB0byBlbnN1cmVcbiAgLy8gcmVxdWlyZWQga2V5cyBhcmUgbm90IHJlbW92ZWQuXG4gIGFjY2VwdFJlcXVpcmVkOiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgdGhpcy5hY2NlcHRLZXkobm9kZSwgbmFtZSk7XG5cbiAgICBpZiAoIW5vZGVbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24obm9kZS50eXBlICsgJyByZXF1aXJlcyAnICsgbmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIC8vIFRyYXZlcnNlcyBhIGdpdmVuIGFycmF5LiBJZiBtdXRhdGluZywgZW1wdHkgcmVzcG5zZXMgd2lsbCBiZSByZW1vdmVkXG4gIC8vIGZvciBjaGlsZCBlbGVtZW50cy5cbiAgYWNjZXB0QXJyYXk6IGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBhcnJheS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMuYWNjZXB0S2V5KGFycmF5LCBpKTtcblxuICAgICAgaWYgKCFhcnJheVtpXSkge1xuICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGktLTtcbiAgICAgICAgbC0tO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBhY2NlcHQ6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgIGlmICghb2JqZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IFNhbml0eSBjb2RlICovXG4gICAgaWYgKCF0aGlzW29iamVjdC50eXBlXSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVW5rbm93biB0eXBlOiAnICsgb2JqZWN0LnR5cGUsIG9iamVjdCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgdGhpcy5wYXJlbnRzLnVuc2hpZnQodGhpcy5jdXJyZW50KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50ID0gb2JqZWN0O1xuXG4gICAgbGV0IHJldCA9IHRoaXNbb2JqZWN0LnR5cGVdKG9iamVjdCk7XG5cbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnBhcmVudHMuc2hpZnQoKTtcblxuICAgIGlmICghdGhpcy5tdXRhdGluZyB8fCByZXQpIHtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBlbHNlIGlmIChyZXQgIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5hY2NlcHRBcnJheShwcm9ncmFtLmJvZHkpO1xuICB9LFxuXG4gIE11c3RhY2hlU3RhdGVtZW50OiB2aXNpdFN1YkV4cHJlc3Npb24sXG4gIERlY29yYXRvcjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIEJsb2NrU3RhdGVtZW50OiB2aXNpdEJsb2NrLFxuICBEZWNvcmF0b3JCbG9jazogdmlzaXRCbG9jayxcblxuICBQYXJ0aWFsU3RhdGVtZW50OiB2aXNpdFBhcnRpYWwsXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbCkge1xuICAgIHZpc2l0UGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwpO1xuXG4gICAgdGhpcy5hY2NlcHRLZXkocGFydGlhbCwgJ3Byb2dyYW0nKTtcbiAgfSxcblxuICBDb250ZW50U3RhdGVtZW50OiBmdW5jdGlvbigvKiBjb250ZW50ICovKSB7fSxcbiAgQ29tbWVudFN0YXRlbWVudDogZnVuY3Rpb24oLyogY29tbWVudCAqLykge30sXG5cbiAgU3ViRXhwcmVzc2lvbjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIFBhdGhFeHByZXNzaW9uOiBmdW5jdGlvbigvKiBwYXRoICovKSB7fSxcblxuICBTdHJpbmdMaXRlcmFsOiBmdW5jdGlvbigvKiBzdHJpbmcgKi8pIHt9LFxuICBOdW1iZXJMaXRlcmFsOiBmdW5jdGlvbigvKiBudW1iZXIgKi8pIHt9LFxuICBCb29sZWFuTGl0ZXJhbDogZnVuY3Rpb24oLyogYm9vbCAqLykge30sXG4gIFVuZGVmaW5lZExpdGVyYWw6IGZ1bmN0aW9uKC8qIGxpdGVyYWwgKi8pIHt9LFxuICBOdWxsTGl0ZXJhbDogZnVuY3Rpb24oLyogbGl0ZXJhbCAqLykge30sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIHRoaXMuYWNjZXB0QXJyYXkoaGFzaC5wYWlycyk7XG4gIH0sXG4gIEhhc2hQYWlyOiBmdW5jdGlvbihwYWlyKSB7XG4gICAgdGhpcy5hY2NlcHRSZXF1aXJlZChwYWlyLCAndmFsdWUnKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdmlzaXRTdWJFeHByZXNzaW9uKG11c3RhY2hlKSB7XG4gIHRoaXMuYWNjZXB0UmVxdWlyZWQobXVzdGFjaGUsICdwYXRoJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkobXVzdGFjaGUucGFyYW1zKTtcbiAgdGhpcy5hY2NlcHRLZXkobXVzdGFjaGUsICdoYXNoJyk7XG59XG5mdW5jdGlvbiB2aXNpdEJsb2NrKGJsb2NrKSB7XG4gIHZpc2l0U3ViRXhwcmVzc2lvbi5jYWxsKHRoaXMsIGJsb2NrKTtcblxuICB0aGlzLmFjY2VwdEtleShibG9jaywgJ3Byb2dyYW0nKTtcbiAgdGhpcy5hY2NlcHRLZXkoYmxvY2ssICdpbnZlcnNlJyk7XG59XG5mdW5jdGlvbiB2aXNpdFBhcnRpYWwocGFydGlhbCkge1xuICB0aGlzLmFjY2VwdFJlcXVpcmVkKHBhcnRpYWwsICduYW1lJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkocGFydGlhbC5wYXJhbXMpO1xuICB0aGlzLmFjY2VwdEtleShwYXJ0aWFsLCAnaGFzaCcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNpdG9yO1xuIl19 + + +/***/ }), + +/***/ 7268: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _visitor = __webpack_require__(79353); + +var _visitor2 = _interopRequireDefault(_visitor); + +function WhitespaceControl() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + this.options = options; +} +WhitespaceControl.prototype = new _visitor2['default'](); + +WhitespaceControl.prototype.Program = function (program) { + var doStandalone = !this.options.ignoreStandalone; + + var isRoot = !this.isRootSeen; + this.isRootSeen = true; + + var body = program.body; + for (var i = 0, l = body.length; i < l; i++) { + var current = body[i], + strip = this.accept(current); + + if (!strip) { + continue; + } + + var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot), + _isNextWhitespace = isNextWhitespace(body, i, isRoot), + openStandalone = strip.openStandalone && _isPrevWhitespace, + closeStandalone = strip.closeStandalone && _isNextWhitespace, + inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace; + + if (strip.close) { + omitRight(body, i, true); + } + if (strip.open) { + omitLeft(body, i, true); + } + + if (doStandalone && inlineStandalone) { + omitRight(body, i); + + if (omitLeft(body, i)) { + // If we are on a standalone node, save the indent info for partials + if (current.type === 'PartialStatement') { + // Pull out the whitespace from the final line + current.indent = /([ \t]+$)/.exec(body[i - 1].original)[1]; + } + } + } + if (doStandalone && openStandalone) { + omitRight((current.program || current.inverse).body); + + // Strip out the previous content node if it's whitespace only + omitLeft(body, i); + } + if (doStandalone && closeStandalone) { + // Always strip the next node + omitRight(body, i); + + omitLeft((current.inverse || current.program).body); + } + } + + return program; +}; + +WhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) { + this.accept(block.program); + this.accept(block.inverse); + + // Find the inverse program that is involed with whitespace stripping. + var program = block.program || block.inverse, + inverse = block.program && block.inverse, + firstInverse = inverse, + lastInverse = inverse; + + if (inverse && inverse.chained) { + firstInverse = inverse.body[0].program; + + // Walk the inverse chain to find the last inverse that is actually in the chain. + while (lastInverse.chained) { + lastInverse = lastInverse.body[lastInverse.body.length - 1].program; + } + } + + var strip = { + open: block.openStrip.open, + close: block.closeStrip.close, + + // Determine the standalone candiacy. Basically flag our content as being possibly standalone + // so our parent can determine if we actually are standalone + openStandalone: isNextWhitespace(program.body), + closeStandalone: isPrevWhitespace((firstInverse || program).body) + }; + + if (block.openStrip.close) { + omitRight(program.body, null, true); + } + + if (inverse) { + var inverseStrip = block.inverseStrip; + + if (inverseStrip.open) { + omitLeft(program.body, null, true); + } + + if (inverseStrip.close) { + omitRight(firstInverse.body, null, true); + } + if (block.closeStrip.open) { + omitLeft(lastInverse.body, null, true); + } + + // Find standalone else statments + if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) { + omitLeft(program.body); + omitRight(firstInverse.body); + } + } else if (block.closeStrip.open) { + omitLeft(program.body, null, true); + } + + return strip; +}; + +WhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) { + return mustache.strip; +}; + +WhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) { + /* istanbul ignore next */ + var strip = node.strip || {}; + return { + inlineStandalone: true, + open: strip.open, + close: strip.close + }; +}; + +function isPrevWhitespace(body, i, isRoot) { + if (i === undefined) { + i = body.length; + } + + // Nodes that end with newlines are considered whitespace (but are special + // cased for strip operations) + var prev = body[i - 1], + sibling = body[i - 2]; + if (!prev) { + return isRoot; + } + + if (prev.type === 'ContentStatement') { + return (sibling || !isRoot ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(prev.original); + } +} +function isNextWhitespace(body, i, isRoot) { + if (i === undefined) { + i = -1; + } + + var next = body[i + 1], + sibling = body[i + 2]; + if (!next) { + return isRoot; + } + + if (next.type === 'ContentStatement') { + return (sibling || !isRoot ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(next.original); + } +} + +// Marks the node to the right of the position as omitted. +// I.e. {{foo}}' ' will mark the ' ' node as omitted. +// +// If i is undefined, then the first child will be marked as such. +// +// If mulitple is truthy then all whitespace will be stripped out until non-whitespace +// content is met. +function omitRight(body, i, multiple) { + var current = body[i == null ? 0 : i + 1]; + if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) { + return; + } + + var original = current.value; + current.value = current.value.replace(multiple ? /^\s+/ : /^[ \t]*\r?\n?/, ''); + current.rightStripped = current.value !== original; +} + +// Marks the node to the left of the position as omitted. +// I.e. ' '{{foo}} will mark the ' ' node as omitted. +// +// If i is undefined then the last child will be marked as such. +// +// If mulitple is truthy then all whitespace will be stripped out until non-whitespace +// content is met. +function omitLeft(body, i, multiple) { + var current = body[i == null ? body.length - 1 : i - 1]; + if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) { + return; + } + + // We omit the last node if it's whitespace only and not preceded by a non-content node. + var original = current.value; + current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, ''); + current.leftStripped = current.value !== original; + return current.leftStripped; +} + +exports["default"] = WhitespaceControl; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3doaXRlc3BhY2UtY29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3VCQUFvQixXQUFXOzs7O0FBRS9CLFNBQVMsaUJBQWlCLEdBQWU7TUFBZCxPQUFPLHlEQUFHLEVBQUU7O0FBQ3JDLE1BQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0NBQ3hCO0FBQ0QsaUJBQWlCLENBQUMsU0FBUyxHQUFHLDBCQUFhLENBQUM7O0FBRTVDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDdEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDOztBQUVwRCxNQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDOUIsTUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7O0FBRXZCLE1BQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDeEIsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMzQyxRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25CLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUUvQixRQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsZUFBUztLQUNWOztBQUVELFFBQUksaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkQsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDckQsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksaUJBQWlCO1FBQzFELGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLGlCQUFpQjtRQUM1RCxnQkFBZ0IsR0FDZCxLQUFLLENBQUMsZ0JBQWdCLElBQUksaUJBQWlCLElBQUksaUJBQWlCLENBQUM7O0FBRXJFLFFBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtBQUNmLGVBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzFCO0FBQ0QsUUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ2QsY0FBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDekI7O0FBRUQsUUFBSSxZQUFZLElBQUksZ0JBQWdCLEVBQUU7QUFDcEMsZUFBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFbkIsVUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFOztBQUVyQixZQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUU7O0FBRXZDLGlCQUFPLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1RDtPQUNGO0tBQ0Y7QUFDRCxRQUFJLFlBQVksSUFBSSxjQUFjLEVBQUU7QUFDbEMsZUFBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFBLENBQUUsSUFBSSxDQUFDLENBQUM7OztBQUdyRCxjQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ25CO0FBQ0QsUUFBSSxZQUFZLElBQUksZUFBZSxFQUFFOztBQUVuQyxlQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUVuQixjQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUEsQ0FBRSxJQUFJLENBQUMsQ0FBQztLQUNyRDtHQUNGOztBQUVELFNBQU8sT0FBTyxDQUFDO0NBQ2hCLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxVQUM1SSxLQUFLLEVBQ0w7QUFDQSxNQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQixNQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzs7O0FBRzNCLE1BQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU87TUFDMUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU87TUFDeEMsWUFBWSxHQUFHLE9BQU87TUFDdEIsV0FBVyxHQUFHLE9BQU8sQ0FBQzs7QUFFeEIsTUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUM5QixnQkFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzs7QUFHdkMsV0FBTyxXQUFXLENBQUMsT0FBTyxFQUFFO0FBQzFCLGlCQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDckU7R0FDRjs7QUFFRCxNQUFJLEtBQUssR0FBRztBQUNWLFFBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7QUFDMUIsU0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSzs7OztBQUk3QixrQkFBYyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDOUMsbUJBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUEsQ0FBRSxJQUFJLENBQUM7R0FDbEUsQ0FBQzs7QUFFRixNQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQ3pCLGFBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNyQzs7QUFFRCxNQUFJLE9BQU8sRUFBRTtBQUNYLFFBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7O0FBRXRDLFFBQUksWUFBWSxDQUFDLElBQUksRUFBRTtBQUNyQixjQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDcEM7O0FBRUQsUUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFO0FBQ3RCLGVBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMxQztBQUNELFFBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7QUFDekIsY0FBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hDOzs7QUFHRCxRQUNFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFDOUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUM5QixnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQ25DO0FBQ0EsY0FBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QixlQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCO0dBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNwQzs7QUFFRCxTQUFPLEtBQUssQ0FBQztDQUNkLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsVUFDdEYsUUFBUSxFQUNSO0FBQ0EsU0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0NBQ3ZCLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxVQUM1RixJQUFJLEVBQ0o7O0FBRUEsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDN0IsU0FBTztBQUNMLG9CQUFnQixFQUFFLElBQUk7QUFDdEIsUUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0FBQ2hCLFNBQUssRUFBRSxLQUFLLENBQUMsS0FBSztHQUNuQixDQUFDO0NBQ0gsQ0FBQzs7QUFFRixTQUFTLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtBQUNuQixLQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztHQUNqQjs7OztBQUlELE1BQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELE1BQUksSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtBQUNwQyxXQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQSxDQUFFLElBQUksQ0FDaEUsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0dBQ0g7Q0FDRjtBQUNELFNBQVMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7QUFDekMsTUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25CLEtBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztHQUNSOztBQUVELE1BQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELE1BQUksSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtBQUNwQyxXQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQSxDQUFFLElBQUksQ0FDaEUsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0dBQ0g7Q0FDRjs7Ozs7Ozs7O0FBU0QsU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7QUFDcEMsTUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxQyxNQUNFLENBQUMsT0FBTyxJQUNSLE9BQU8sQ0FBQyxJQUFJLEtBQUssa0JBQWtCLElBQ2xDLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEFBQUMsRUFDcEM7QUFDQSxXQUFPO0dBQ1I7O0FBRUQsTUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUM3QixTQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNuQyxRQUFRLEdBQUcsTUFBTSxHQUFHLGVBQWUsRUFDbkMsRUFBRSxDQUNILENBQUM7QUFDRixTQUFPLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO0NBQ3BEOzs7Ozs7Ozs7QUFTRCxTQUFTLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtBQUNuQyxNQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsTUFDRSxDQUFDLE9BQU8sSUFDUixPQUFPLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUNsQyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsWUFBWSxBQUFDLEVBQ25DO0FBQ0EsV0FBTztHQUNSOzs7QUFHRCxNQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzdCLFNBQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekUsU0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNsRCxTQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7Q0FDN0I7O3FCQUVjLGlCQUFpQiIsImZpbGUiOiJ3aGl0ZXNwYWNlLWNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVmlzaXRvciBmcm9tICcuL3Zpc2l0b3InO1xuXG5mdW5jdGlvbiBXaGl0ZXNwYWNlQ29udHJvbChvcHRpb25zID0ge30pIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbn1cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZSA9IG5ldyBWaXNpdG9yKCk7XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5Qcm9ncmFtID0gZnVuY3Rpb24ocHJvZ3JhbSkge1xuICBjb25zdCBkb1N0YW5kYWxvbmUgPSAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmU7XG5cbiAgbGV0IGlzUm9vdCA9ICF0aGlzLmlzUm9vdFNlZW47XG4gIHRoaXMuaXNSb290U2VlbiA9IHRydWU7XG5cbiAgbGV0IGJvZHkgPSBwcm9ncmFtLmJvZHk7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gYm9keS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgY3VycmVudCA9IGJvZHlbaV0sXG4gICAgICBzdHJpcCA9IHRoaXMuYWNjZXB0KGN1cnJlbnQpO1xuXG4gICAgaWYgKCFzdHJpcCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IF9pc1ByZXZXaGl0ZXNwYWNlID0gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpLFxuICAgICAgX2lzTmV4dFdoaXRlc3BhY2UgPSBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCksXG4gICAgICBvcGVuU3RhbmRhbG9uZSA9IHN0cmlwLm9wZW5TdGFuZGFsb25lICYmIF9pc1ByZXZXaGl0ZXNwYWNlLFxuICAgICAgY2xvc2VTdGFuZGFsb25lID0gc3RyaXAuY2xvc2VTdGFuZGFsb25lICYmIF9pc05leHRXaGl0ZXNwYWNlLFxuICAgICAgaW5saW5lU3RhbmRhbG9uZSA9XG4gICAgICAgIHN0cmlwLmlubGluZVN0YW5kYWxvbmUgJiYgX2lzUHJldldoaXRlc3BhY2UgJiYgX2lzTmV4dFdoaXRlc3BhY2U7XG5cbiAgICBpZiAoc3RyaXAuY2xvc2UpIHtcbiAgICAgIG9taXRSaWdodChib2R5LCBpLCB0cnVlKTtcbiAgICB9XG4gICAgaWYgKHN0cmlwLm9wZW4pIHtcbiAgICAgIG9taXRMZWZ0KGJvZHksIGksIHRydWUpO1xuICAgIH1cblxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgaW5saW5lU3RhbmRhbG9uZSkge1xuICAgICAgb21pdFJpZ2h0KGJvZHksIGkpO1xuXG4gICAgICBpZiAob21pdExlZnQoYm9keSwgaSkpIHtcbiAgICAgICAgLy8gSWYgd2UgYXJlIG9uIGEgc3RhbmRhbG9uZSBub2RlLCBzYXZlIHRoZSBpbmRlbnQgaW5mbyBmb3IgcGFydGlhbHNcbiAgICAgICAgaWYgKGN1cnJlbnQudHlwZSA9PT0gJ1BhcnRpYWxTdGF0ZW1lbnQnKSB7XG4gICAgICAgICAgLy8gUHVsbCBvdXQgdGhlIHdoaXRlc3BhY2UgZnJvbSB0aGUgZmluYWwgbGluZVxuICAgICAgICAgIGN1cnJlbnQuaW5kZW50ID0gLyhbIFxcdF0rJCkvLmV4ZWMoYm9keVtpIC0gMV0ub3JpZ2luYWwpWzFdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgb3BlblN0YW5kYWxvbmUpIHtcbiAgICAgIG9taXRSaWdodCgoY3VycmVudC5wcm9ncmFtIHx8IGN1cnJlbnQuaW52ZXJzZSkuYm9keSk7XG5cbiAgICAgIC8vIFN0cmlwIG91dCB0aGUgcHJldmlvdXMgY29udGVudCBub2RlIGlmIGl0J3Mgd2hpdGVzcGFjZSBvbmx5XG4gICAgICBvbWl0TGVmdChib2R5LCBpKTtcbiAgICB9XG4gICAgaWYgKGRvU3RhbmRhbG9uZSAmJiBjbG9zZVN0YW5kYWxvbmUpIHtcbiAgICAgIC8vIEFsd2F5cyBzdHJpcCB0aGUgbmV4dCBub2RlXG4gICAgICBvbWl0UmlnaHQoYm9keSwgaSk7XG5cbiAgICAgIG9taXRMZWZ0KChjdXJyZW50LmludmVyc2UgfHwgY3VycmVudC5wcm9ncmFtKS5ib2R5KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvZ3JhbTtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5CbG9ja1N0YXRlbWVudCA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5EZWNvcmF0b3JCbG9jayA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsQmxvY2tTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgYmxvY2tcbikge1xuICB0aGlzLmFjY2VwdChibG9jay5wcm9ncmFtKTtcbiAgdGhpcy5hY2NlcHQoYmxvY2suaW52ZXJzZSk7XG5cbiAgLy8gRmluZCB0aGUgaW52ZXJzZSBwcm9ncmFtIHRoYXQgaXMgaW52b2xlZCB3aXRoIHdoaXRlc3BhY2Ugc3RyaXBwaW5nLlxuICBsZXQgcHJvZ3JhbSA9IGJsb2NrLnByb2dyYW0gfHwgYmxvY2suaW52ZXJzZSxcbiAgICBpbnZlcnNlID0gYmxvY2sucHJvZ3JhbSAmJiBibG9jay5pbnZlcnNlLFxuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UsXG4gICAgbGFzdEludmVyc2UgPSBpbnZlcnNlO1xuXG4gIGlmIChpbnZlcnNlICYmIGludmVyc2UuY2hhaW5lZCkge1xuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UuYm9keVswXS5wcm9ncmFtO1xuXG4gICAgLy8gV2FsayB0aGUgaW52ZXJzZSBjaGFpbiB0byBmaW5kIHRoZSBsYXN0IGludmVyc2UgdGhhdCBpcyBhY3R1YWxseSBpbiB0aGUgY2hhaW4uXG4gICAgd2hpbGUgKGxhc3RJbnZlcnNlLmNoYWluZWQpIHtcbiAgICAgIGxhc3RJbnZlcnNlID0gbGFzdEludmVyc2UuYm9keVtsYXN0SW52ZXJzZS5ib2R5Lmxlbmd0aCAtIDFdLnByb2dyYW07XG4gICAgfVxuICB9XG5cbiAgbGV0IHN0cmlwID0ge1xuICAgIG9wZW46IGJsb2NrLm9wZW5TdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBibG9jay5jbG9zZVN0cmlwLmNsb3NlLFxuXG4gICAgLy8gRGV0ZXJtaW5lIHRoZSBzdGFuZGFsb25lIGNhbmRpYWN5LiBCYXNpY2FsbHkgZmxhZyBvdXIgY29udGVudCBhcyBiZWluZyBwb3NzaWJseSBzdGFuZGFsb25lXG4gICAgLy8gc28gb3VyIHBhcmVudCBjYW4gZGV0ZXJtaW5lIGlmIHdlIGFjdHVhbGx5IGFyZSBzdGFuZGFsb25lXG4gICAgb3BlblN0YW5kYWxvbmU6IGlzTmV4dFdoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSxcbiAgICBjbG9zZVN0YW5kYWxvbmU6IGlzUHJldldoaXRlc3BhY2UoKGZpcnN0SW52ZXJzZSB8fCBwcm9ncmFtKS5ib2R5KVxuICB9O1xuXG4gIGlmIChibG9jay5vcGVuU3RyaXAuY2xvc2UpIHtcbiAgICBvbWl0UmlnaHQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChpbnZlcnNlKSB7XG4gICAgbGV0IGludmVyc2VTdHJpcCA9IGJsb2NrLmludmVyc2VTdHJpcDtcblxuICAgIGlmIChpbnZlcnNlU3RyaXAub3Blbikge1xuICAgICAgb21pdExlZnQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAoaW52ZXJzZVN0cmlwLmNsb3NlKSB7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHksIG51bGwsIHRydWUpO1xuICAgIH1cbiAgICBpZiAoYmxvY2suY2xvc2VTdHJpcC5vcGVuKSB7XG4gICAgICBvbWl0TGVmdChsYXN0SW52ZXJzZS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBGaW5kIHN0YW5kYWxvbmUgZWxzZSBzdGF0bWVudHNcbiAgICBpZiAoXG4gICAgICAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmUgJiZcbiAgICAgIGlzUHJldldoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSAmJlxuICAgICAgaXNOZXh0V2hpdGVzcGFjZShmaXJzdEludmVyc2UuYm9keSlcbiAgICApIHtcbiAgICAgIG9taXRMZWZ0KHByb2dyYW0uYm9keSk7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChibG9jay5jbG9zZVN0cmlwLm9wZW4pIHtcbiAgICBvbWl0TGVmdChwcm9ncmFtLmJvZHksIG51bGwsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHN0cmlwO1xufTtcblxuV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkRlY29yYXRvciA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudCA9IGZ1bmN0aW9uKFxuICBtdXN0YWNoZVxuKSB7XG4gIHJldHVybiBtdXN0YWNoZS5zdHJpcDtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsU3RhdGVtZW50ID0gV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkNvbW1lbnRTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgbm9kZVxuKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCBzdHJpcCA9IG5vZGUuc3RyaXAgfHwge307XG4gIHJldHVybiB7XG4gICAgaW5saW5lU3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBvcGVuOiBzdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBzdHJpcC5jbG9zZVxuICB9O1xufTtcblxuZnVuY3Rpb24gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpIHtcbiAgaWYgKGkgPT09IHVuZGVmaW5lZCkge1xuICAgIGkgPSBib2R5Lmxlbmd0aDtcbiAgfVxuXG4gIC8vIE5vZGVzIHRoYXQgZW5kIHdpdGggbmV3bGluZXMgYXJlIGNvbnNpZGVyZWQgd2hpdGVzcGFjZSAoYnV0IGFyZSBzcGVjaWFsXG4gIC8vIGNhc2VkIGZvciBzdHJpcCBvcGVyYXRpb25zKVxuICBsZXQgcHJldiA9IGJvZHlbaSAtIDFdLFxuICAgIHNpYmxpbmcgPSBib2R5W2kgLSAyXTtcbiAgaWYgKCFwcmV2KSB7XG4gICAgcmV0dXJuIGlzUm9vdDtcbiAgfVxuXG4gIGlmIChwcmV2LnR5cGUgPT09ICdDb250ZW50U3RhdGVtZW50Jykge1xuICAgIHJldHVybiAoc2libGluZyB8fCAhaXNSb290ID8gL1xccj9cXG5cXHMqPyQvIDogLyhefFxccj9cXG4pXFxzKj8kLykudGVzdChcbiAgICAgIHByZXYub3JpZ2luYWxcbiAgICApO1xuICB9XG59XG5mdW5jdGlvbiBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCkge1xuICBpZiAoaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaSA9IC0xO1xuICB9XG5cbiAgbGV0IG5leHQgPSBib2R5W2kgKyAxXSxcbiAgICBzaWJsaW5nID0gYm9keVtpICsgMl07XG4gIGlmICghbmV4dCkge1xuICAgIHJldHVybiBpc1Jvb3Q7XG4gIH1cblxuICBpZiAobmV4dC50eXBlID09PSAnQ29udGVudFN0YXRlbWVudCcpIHtcbiAgICByZXR1cm4gKHNpYmxpbmcgfHwgIWlzUm9vdCA/IC9eXFxzKj9cXHI/XFxuLyA6IC9eXFxzKj8oXFxyP1xcbnwkKS8pLnRlc3QoXG4gICAgICBuZXh0Lm9yaWdpbmFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBNYXJrcyB0aGUgbm9kZSB0byB0aGUgcmlnaHQgb2YgdGhlIHBvc2l0aW9uIGFzIG9taXR0ZWQuXG4vLyBJLmUuIHt7Zm9vfX0nICcgd2lsbCBtYXJrIHRoZSAnICcgbm9kZSBhcyBvbWl0dGVkLlxuLy9cbi8vIElmIGkgaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmaXJzdCBjaGlsZCB3aWxsIGJlIG1hcmtlZCBhcyBzdWNoLlxuLy9cbi8vIElmIG11bGl0cGxlIGlzIHRydXRoeSB0aGVuIGFsbCB3aGl0ZXNwYWNlIHdpbGwgYmUgc3RyaXBwZWQgb3V0IHVudGlsIG5vbi13aGl0ZXNwYWNlXG4vLyBjb250ZW50IGlzIG1ldC5cbmZ1bmN0aW9uIG9taXRSaWdodChib2R5LCBpLCBtdWx0aXBsZSkge1xuICBsZXQgY3VycmVudCA9IGJvZHlbaSA9PSBudWxsID8gMCA6IGkgKyAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQucmlnaHRTdHJpcHBlZClcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IG9yaWdpbmFsID0gY3VycmVudC52YWx1ZTtcbiAgY3VycmVudC52YWx1ZSA9IGN1cnJlbnQudmFsdWUucmVwbGFjZShcbiAgICBtdWx0aXBsZSA/IC9eXFxzKy8gOiAvXlsgXFx0XSpcXHI/XFxuPy8sXG4gICAgJydcbiAgKTtcbiAgY3VycmVudC5yaWdodFN0cmlwcGVkID0gY3VycmVudC52YWx1ZSAhPT0gb3JpZ2luYWw7XG59XG5cbi8vIE1hcmtzIHRoZSBub2RlIHRvIHRoZSBsZWZ0IG9mIHRoZSBwb3NpdGlvbiBhcyBvbWl0dGVkLlxuLy8gSS5lLiAnICd7e2Zvb319IHdpbGwgbWFyayB0aGUgJyAnIG5vZGUgYXMgb21pdHRlZC5cbi8vXG4vLyBJZiBpIGlzIHVuZGVmaW5lZCB0aGVuIHRoZSBsYXN0IGNoaWxkIHdpbGwgYmUgbWFya2VkIGFzIHN1Y2guXG4vL1xuLy8gSWYgbXVsaXRwbGUgaXMgdHJ1dGh5IHRoZW4gYWxsIHdoaXRlc3BhY2Ugd2lsbCBiZSBzdHJpcHBlZCBvdXQgdW50aWwgbm9uLXdoaXRlc3BhY2Vcbi8vIGNvbnRlbnQgaXMgbWV0LlxuZnVuY3Rpb24gb21pdExlZnQoYm9keSwgaSwgbXVsdGlwbGUpIHtcbiAgbGV0IGN1cnJlbnQgPSBib2R5W2kgPT0gbnVsbCA/IGJvZHkubGVuZ3RoIC0gMSA6IGkgLSAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQubGVmdFN0cmlwcGVkKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBXZSBvbWl0IHRoZSBsYXN0IG5vZGUgaWYgaXQncyB3aGl0ZXNwYWNlIG9ubHkgYW5kIG5vdCBwcmVjZWRlZCBieSBhIG5vbi1jb250ZW50IG5vZGUuXG4gIGxldCBvcmlnaW5hbCA9IGN1cnJlbnQudmFsdWU7XG4gIGN1cnJlbnQudmFsdWUgPSBjdXJyZW50LnZhbHVlLnJlcGxhY2UobXVsdGlwbGUgPyAvXFxzKyQvIDogL1sgXFx0XSskLywgJycpO1xuICBjdXJyZW50LmxlZnRTdHJpcHBlZCA9IGN1cnJlbnQudmFsdWUgIT09IG9yaWdpbmFsO1xuICByZXR1cm4gY3VycmVudC5sZWZ0U3RyaXBwZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdoaXRlc3BhY2VDb250cm9sO1xuIl19 + + +/***/ }), + +/***/ 94619: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.registerDefaultDecorators = registerDefaultDecorators; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _decoratorsInline = __webpack_require__(41277); + +var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline); + +function registerDefaultDecorators(instance) { + _decoratorsInline2['default'](instance); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0= + + +/***/ }), + +/***/ 41277: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; + +var _utils = __webpack_require__(69446); + +exports["default"] = function (instance) { + instance.registerDecorator('inline', function (fn, props, container, options) { + var ret = fn; + if (!props.partials) { + props.partials = {}; + ret = function (context, options) { + // Create a new partials stack frame prior to exec. + var original = container.partials; + container.partials = _utils.extend({}, original, props.partials); + var ret = fn(context, options); + container.partials = original; + return ret; + }; + } + + props.partials[options.args[0]] = options.fn; + + return ret; + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ== + + +/***/ }), + +/***/ 54136: +/***/ ((module, exports) => { + +"use strict"; + + +exports.__esModule = true; +var errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack']; + +function Exception(message, node) { + var loc = node && node.loc, + line = undefined, + endLineNumber = undefined, + column = undefined, + endColumn = undefined; + + if (loc) { + line = loc.start.line; + endLineNumber = loc.end.line; + column = loc.start.column; + endColumn = loc.end.column; + + message += ' - ' + line + ':' + column; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + /* istanbul ignore else */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, Exception); + } + + try { + if (loc) { + this.lineNumber = line; + this.endLineNumber = endLineNumber; + + // Work around issue under safari where we can't directly set the column value + /* istanbul ignore next */ + if (Object.defineProperty) { + Object.defineProperty(this, 'column', { + value: column, + enumerable: true + }); + Object.defineProperty(this, 'endColumn', { + value: endColumn, + enumerable: true + }); + } else { + this.column = column; + this.endColumn = endColumn; + } + } + } catch (nop) { + /* Ignore if the browser is very particular */ + } +} + +Exception.prototype = new Error(); + +exports["default"] = Exception; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0= + + +/***/ }), + +/***/ 3227: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.registerDefaultHelpers = registerDefaultHelpers; +exports.moveHelperToHooks = moveHelperToHooks; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _helpersBlockHelperMissing = __webpack_require__(95449); + +var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing); + +var _helpersEach = __webpack_require__(44541); + +var _helpersEach2 = _interopRequireDefault(_helpersEach); + +var _helpersHelperMissing = __webpack_require__(26946); + +var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing); + +var _helpersIf = __webpack_require__(81121); + +var _helpersIf2 = _interopRequireDefault(_helpersIf); + +var _helpersLog = __webpack_require__(2362); + +var _helpersLog2 = _interopRequireDefault(_helpersLog); + +var _helpersLookup = __webpack_require__(91112); + +var _helpersLookup2 = _interopRequireDefault(_helpersLookup); + +var _helpersWith = __webpack_require__(75854); + +var _helpersWith2 = _interopRequireDefault(_helpersWith); + +function registerDefaultHelpers(instance) { + _helpersBlockHelperMissing2['default'](instance); + _helpersEach2['default'](instance); + _helpersHelperMissing2['default'](instance); + _helpersIf2['default'](instance); + _helpersLog2['default'](instance); + _helpersLookup2['default'](instance); + _helpersWith2['default'](instance); +} + +function moveHelperToHooks(instance, helperName, keepHelper) { + if (instance.helpers[helperName]) { + instance.hooks[helperName] = instance.helpers[helperName]; + if (!keepHelper) { + delete instance.helpers[helperName]; + } + } +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19 + + +/***/ }), + +/***/ 95449: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; + +var _utils = __webpack_require__(69446); + +exports["default"] = function (instance) { + instance.registerHelper('blockHelperMissing', function (context, options) { + var inverse = options.inverse, + fn = options.fn; + + if (context === true) { + return fn(this); + } else if (context === false || context == null) { + return inverse(this); + } else if (_utils.isArray(context)) { + if (context.length > 0) { + if (options.ids) { + options.ids = [options.name]; + } + + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + if (options.data && options.ids) { + var data = _utils.createFrame(options.data); + data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name); + options = { data: data }; + } + + return fn(context, options); + } + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ== + + +/***/ }), + +/***/ 44541: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _utils = __webpack_require__(69446); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +exports["default"] = function (instance) { + instance.registerHelper('each', function (context, options) { + if (!options) { + throw new _exception2['default']('Must pass iterator to #each'); + } + + var fn = options.fn, + inverse = options.inverse, + i = 0, + ret = '', + data = undefined, + contextPath = undefined; + + if (options.data && options.ids) { + contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.'; + } + + if (_utils.isFunction(context)) { + context = context.call(this); + } + + if (options.data) { + data = _utils.createFrame(options.data); + } + + function execIteration(field, index, last) { + if (data) { + data.key = field; + data.index = index; + data.first = index === 0; + data.last = !!last; + + if (contextPath) { + data.contextPath = contextPath + field; + } + } + + ret = ret + fn(context[field], { + data: data, + blockParams: _utils.blockParams([context[field], field], [contextPath + field, null]) + }); + } + + if (context && typeof context === 'object') { + if (_utils.isArray(context)) { + for (var j = context.length; i < j; i++) { + if (i in context) { + execIteration(i, i, i === context.length - 1); + } + } + } else if (typeof Symbol === 'function' && context[Symbol.iterator]) { + var newContext = []; + var iterator = context[Symbol.iterator](); + for (var it = iterator.next(); !it.done; it = iterator.next()) { + newContext.push(it.value); + } + context = newContext; + for (var j = context.length; i < j; i++) { + execIteration(i, i, i === context.length - 1); + } + } else { + (function () { + var priorKey = undefined; + + Object.keys(context).forEach(function (key) { + // We're running the iterations one step out of sync so we can detect + // the last iteration without have to scan the object twice and create + // an itermediate keys array. + if (priorKey !== undefined) { + execIteration(priorKey, i - 1); + } + priorKey = key; + i++; + }); + if (priorKey !== undefined) { + execIteration(priorKey, i - 1, true); + } + })(); + } + } + + if (i === 0) { + ret = inverse(this); + } + + return ret; + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0= + + +/***/ }), + +/***/ 26946: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +exports["default"] = function (instance) { + instance.registerHelper('helperMissing', function () /* [args, ]options */{ + if (arguments.length === 1) { + // A missing field in a {{foo}} construct. + return undefined; + } else { + // Someone is actually trying to call something, blow up. + throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"'); + } + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19 + + +/***/ }), + +/***/ 81121: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _utils = __webpack_require__(69446); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +exports["default"] = function (instance) { + instance.registerHelper('if', function (conditional, options) { + if (arguments.length != 2) { + throw new _exception2['default']('#if requires exactly one argument'); + } + if (_utils.isFunction(conditional)) { + conditional = conditional.call(this); + } + + // Default behavior is to render the positive path if the value is truthy and not empty. + // The `includeZero` option may be set to treat the condtional as purely not empty based on the + // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative. + if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) { + return options.inverse(this); + } else { + return options.fn(this); + } + }); + + instance.registerHelper('unless', function (conditional, options) { + if (arguments.length != 2) { + throw new _exception2['default']('#unless requires exactly one argument'); + } + return instance.helpers['if'].call(this, conditional, { + fn: options.inverse, + inverse: options.fn, + hash: options.hash + }); + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19 + + +/***/ }), + +/***/ 2362: +/***/ ((module, exports) => { + +"use strict"; + + +exports.__esModule = true; + +exports["default"] = function (instance) { + instance.registerHelper('log', function () /* message, options */{ + var args = [undefined], + options = arguments[arguments.length - 1]; + for (var i = 0; i < arguments.length - 1; i++) { + args.push(arguments[i]); + } + + var level = 1; + if (options.hash.level != null) { + level = options.hash.level; + } else if (options.data && options.data.level != null) { + level = options.data.level; + } + args[0] = level; + + instance.log.apply(instance, args); + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19 + + +/***/ }), + +/***/ 91112: +/***/ ((module, exports) => { + +"use strict"; + + +exports.__esModule = true; + +exports["default"] = function (instance) { + instance.registerHelper('lookup', function (obj, field, options) { + if (!obj) { + // Note for 5.0: Change to "obj == null" in 5.0 + return obj; + } + return options.lookupProperty(obj, field); + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ== + + +/***/ }), + +/***/ 75854: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _utils = __webpack_require__(69446); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +exports["default"] = function (instance) { + instance.registerHelper('with', function (context, options) { + if (arguments.length != 2) { + throw new _exception2['default']('#with requires exactly one argument'); + } + if (_utils.isFunction(context)) { + context = context.call(this); + } + + var fn = options.fn; + + if (!_utils.isEmpty(context)) { + var data = options.data; + if (options.data && options.ids) { + data = _utils.createFrame(options.data); + data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]); + } + + return fn(context, { + data: data, + blockParams: _utils.blockParams([context], [data && data.contextPath]) + }); + } else { + return options.inverse(this); + } + }); +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0= + + +/***/ }), + +/***/ 62589: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.createNewLookupObject = createNewLookupObject; + +var _utils = __webpack_require__(69446); + +/** + * Create a new object with "null"-prototype to avoid truthy results on prototype properties. + * The resulting object can be used with "object[property]" to check if a property exists + * @param {...object} sources a varargs parameter of source objects that will be merged + * @returns {object} + */ + +function createNewLookupObject() { + for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) { + sources[_key] = arguments[_key]; + } + + return _utils.extend.apply(undefined, [Object.create(null)].concat(sources)); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19 + + +/***/ }), + +/***/ 66336: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.createProtoAccessControl = createProtoAccessControl; +exports.resultIsAllowed = resultIsAllowed; +exports.resetLoggedProperties = resetLoggedProperties; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +var _createNewLookupObject = __webpack_require__(62589); + +var _logger = __webpack_require__(31930); + +var _logger2 = _interopRequireDefault(_logger); + +var loggedProperties = Object.create(null); + +function createProtoAccessControl(runtimeOptions) { + var defaultMethodWhiteList = Object.create(null); + defaultMethodWhiteList['constructor'] = false; + defaultMethodWhiteList['__defineGetter__'] = false; + defaultMethodWhiteList['__defineSetter__'] = false; + defaultMethodWhiteList['__lookupGetter__'] = false; + + var defaultPropertyWhiteList = Object.create(null); + // eslint-disable-next-line no-proto + defaultPropertyWhiteList['__proto__'] = false; + + return { + properties: { + whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties), + defaultValue: runtimeOptions.allowProtoPropertiesByDefault + }, + methods: { + whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods), + defaultValue: runtimeOptions.allowProtoMethodsByDefault + } + }; +} + +function resultIsAllowed(result, protoAccessControl, propertyName) { + if (typeof result === 'function') { + return checkWhiteList(protoAccessControl.methods, propertyName); + } else { + return checkWhiteList(protoAccessControl.properties, propertyName); + } +} + +function checkWhiteList(protoAccessControlForType, propertyName) { + if (protoAccessControlForType.whitelist[propertyName] !== undefined) { + return protoAccessControlForType.whitelist[propertyName] === true; + } + if (protoAccessControlForType.defaultValue !== undefined) { + return protoAccessControlForType.defaultValue; + } + logUnexpecedPropertyAccessOnce(propertyName); + return false; +} + +function logUnexpecedPropertyAccessOnce(propertyName) { + if (loggedProperties[propertyName] !== true) { + loggedProperties[propertyName] = true; + _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'); + } +} + +function resetLoggedProperties() { + Object.keys(loggedProperties).forEach(function (propertyName) { + delete loggedProperties[propertyName]; + }); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMvQyxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7QUFDdkQsTUFBSSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pELHdCQUFzQixDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM5Qyx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQzs7QUFFbkQsTUFBSSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVuRCwwQkFBd0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRTlDLFNBQU87QUFDTCxjQUFVLEVBQUU7QUFDVixlQUFTLEVBQUUsNkNBQ1Qsd0JBQXdCLEVBQ3hCLGNBQWMsQ0FBQyxzQkFBc0IsQ0FDdEM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQyw2QkFBNkI7S0FDM0Q7QUFDRCxXQUFPLEVBQUU7QUFDUCxlQUFTLEVBQUUsNkNBQ1Qsc0JBQXNCLEVBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQywwQkFBMEI7S0FDeEQ7R0FDRixDQUFDO0NBQ0g7O0FBRU0sU0FBUyxlQUFlLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRTtBQUN4RSxNQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtBQUNoQyxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDakUsTUFBTTtBQUNMLFdBQU8sY0FBYyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztHQUNwRTtDQUNGOztBQUVELFNBQVMsY0FBYyxDQUFDLHlCQUF5QixFQUFFLFlBQVksRUFBRTtBQUMvRCxNQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxTQUFTLEVBQUU7QUFDbkUsV0FBTyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDO0dBQ25FO0FBQ0QsTUFBSSx5QkFBeUIsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO0FBQ3hELFdBQU8seUJBQXlCLENBQUMsWUFBWSxDQUFDO0dBQy9DO0FBQ0QsZ0NBQThCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDN0MsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFRCxTQUFTLDhCQUE4QixDQUFDLFlBQVksRUFBRTtBQUNwRCxNQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRTtBQUMzQyxvQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDdEMsd0JBQU8sR0FBRyxDQUNSLE9BQU8sRUFDUCxpRUFBK0QsWUFBWSxvSUFDSCxvSEFDMkMsQ0FDcEgsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxxQkFBcUIsR0FBRztBQUN0QyxRQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsWUFBWSxFQUFJO0FBQ3BELFdBQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDdkMsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoicHJvdG8tYWNjZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlTmV3TG9va3VwT2JqZWN0IH0gZnJvbSAnLi9jcmVhdGUtbmV3LWxvb2t1cC1vYmplY3QnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuXG5jb25zdCBsb2dnZWRQcm9wZXJ0aWVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChydW50aW1lT3B0aW9ucykge1xuICBsZXQgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ2NvbnN0cnVjdG9yJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lU2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2xvb2t1cEdldHRlcl9fJ10gPSBmYWxzZTtcblxuICBsZXQgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvXG4gIGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdFsnX19wcm90b19fJ10gPSBmYWxzZTtcblxuICByZXR1cm4ge1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHdoaXRlbGlzdDogY3JlYXRlTmV3TG9va3VwT2JqZWN0KFxuICAgICAgICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b1Byb3BlcnRpZXNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9Qcm9wZXJ0aWVzQnlEZWZhdWx0XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCxcbiAgICAgICAgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvTWV0aG9kc1xuICAgICAgKSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b01ldGhvZHNCeURlZmF1bHRcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN1bHRJc0FsbG93ZWQocmVzdWx0LCBwcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkge1xuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wubWV0aG9kcywgcHJvcGVydHlOYW1lKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLnByb3BlcnRpZXMsIHByb3BlcnR5TmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZSwgcHJvcGVydHlOYW1lKSB7XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSA9PT0gdHJ1ZTtcbiAgfVxuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZTtcbiAgfVxuICBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKTtcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKSB7XG4gIGlmIChsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gIT09IHRydWUpIHtcbiAgICBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gPSB0cnVlO1xuICAgIGxvZ2dlci5sb2coXG4gICAgICAnZXJyb3InLFxuICAgICAgYEhhbmRsZWJhcnM6IEFjY2VzcyBoYXMgYmVlbiBkZW5pZWQgdG8gcmVzb2x2ZSB0aGUgcHJvcGVydHkgXCIke3Byb3BlcnR5TmFtZX1cIiBiZWNhdXNlIGl0IGlzIG5vdCBhbiBcIm93biBwcm9wZXJ0eVwiIG9mIGl0cyBwYXJlbnQuXFxuYCArXG4gICAgICAgIGBZb3UgY2FuIGFkZCBhIHJ1bnRpbWUgb3B0aW9uIHRvIGRpc2FibGUgdGhlIGNoZWNrIG9yIHRoaXMgd2FybmluZzpcXG5gICtcbiAgICAgICAgYFNlZSBodHRwczovL2hhbmRsZWJhcnNqcy5jb20vYXBpLXJlZmVyZW5jZS9ydW50aW1lLW9wdGlvbnMuaHRtbCNvcHRpb25zLXRvLWNvbnRyb2wtcHJvdG90eXBlLWFjY2VzcyBmb3IgZGV0YWlsc2BcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldExvZ2dlZFByb3BlcnRpZXMoKSB7XG4gIE9iamVjdC5rZXlzKGxvZ2dlZFByb3BlcnRpZXMpLmZvckVhY2gocHJvcGVydHlOYW1lID0+IHtcbiAgICBkZWxldGUgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdO1xuICB9KTtcbn1cbiJdfQ== + + +/***/ }), + +/***/ 82184: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +exports.__esModule = true; +exports.wrapHelper = wrapHelper; + +function wrapHelper(helper, transformOptionsFn) { + if (typeof helper !== 'function') { + // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639 + // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function. + return helper; + } + var wrapper = function wrapper() /* dynamic arguments */{ + var options = arguments[arguments.length - 1]; + arguments[arguments.length - 1] = transformOptionsFn(options); + return helper.apply(this, arguments); + }; + return wrapper; +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0= + + +/***/ }), + +/***/ 31930: +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; + +var _utils = __webpack_require__(69446); + +var logger = { + methodMap: ['debug', 'info', 'warn', 'error'], + level: 'info', + + // Maps a given level value to the `methodMap` indexes above. + lookupLevel: function lookupLevel(level) { + if (typeof level === 'string') { + var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase()); + if (levelMap >= 0) { + level = levelMap; + } else { + level = parseInt(level, 10); + } + } + + return level; + }, + + // Can be overridden in the host environment + log: function log(level) { + level = logger.lookupLevel(level); + + if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) { + var method = logger.methodMap[level]; + // eslint-disable-next-line no-console + if (!console[method]) { + method = 'log'; + } + + for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + message[_key - 1] = arguments[_key]; + } + + console[method].apply(console, message); // eslint-disable-line no-console + } + } +}; + +exports["default"] = logger; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0= + + +/***/ }), + +/***/ 74748: +/***/ ((module, exports) => { + +"use strict"; +/* global globalThis */ + + +exports.__esModule = true; + +exports["default"] = function (Handlebars) { + /* istanbul ignore next */ + // https://mathiasbynens.be/notes/globalthis + (function () { + if (typeof globalThis === 'object') return; + Object.prototype.__defineGetter__('__magic__', function () { + return this; + }); + __magic__.globalThis = __magic__; // eslint-disable-line no-undef + delete Object.prototype.__magic__; + })(); + + var $Handlebars = globalThis.Handlebars; + + /* istanbul ignore next */ + Handlebars.noConflict = function () { + if (globalThis.Handlebars === Handlebars) { + globalThis.Handlebars = $Handlebars; + } + return Handlebars; + }; +}; + +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19 + + +/***/ }), + +/***/ 70102: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +exports.__esModule = true; +exports.checkRevision = checkRevision; +exports.template = template; +exports.wrapProgram = wrapProgram; +exports.resolvePartial = resolvePartial; +exports.invokePartial = invokePartial; +exports.noop = noop; +// istanbul ignore next + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +// istanbul ignore next + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +var _utils = __webpack_require__(69446); + +var Utils = _interopRequireWildcard(_utils); + +var _exception = __webpack_require__(54136); + +var _exception2 = _interopRequireDefault(_exception); + +var _base = __webpack_require__(29559); + +var _helpers = __webpack_require__(3227); + +var _internalWrapHelper = __webpack_require__(82184); + +var _internalProtoAccess = __webpack_require__(66336); + +function checkRevision(compilerInfo) { + var compilerRevision = compilerInfo && compilerInfo[0] || 1, + currentRevision = _base.COMPILER_REVISION; + + if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) { + return; + } + + if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) { + var runtimeVersions = _base.REVISION_CHANGES[currentRevision], + compilerVersions = _base.REVISION_CHANGES[compilerRevision]; + throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').'); + } else { + // Use the embedded version info since the runtime doesn't know about this revision yet + throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').'); + } +} + +function template(templateSpec, env) { + /* istanbul ignore next */ + if (!env) { + throw new _exception2['default']('No environment passed to template'); + } + if (!templateSpec || !templateSpec.main) { + throw new _exception2['default']('Unknown template object: ' + typeof templateSpec); + } + + templateSpec.main.decorator = templateSpec.main_d; + + // Note: Using env.VM references rather than local var references throughout this section to allow + // for external users to override these as pseudo-supported APIs. + env.VM.checkRevision(templateSpec.compiler); + + // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0) + var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7; + + function invokePartialWrapper(partial, context, options) { + if (options.hash) { + context = Utils.extend({}, context, options.hash); + if (options.ids) { + options.ids[0] = true; + } + } + partial = env.VM.resolvePartial.call(this, partial, context, options); + + var extendedOptions = Utils.extend({}, options, { + hooks: this.hooks, + protoAccessControl: this.protoAccessControl + }); + + var result = env.VM.invokePartial.call(this, partial, context, extendedOptions); + + if (result == null && env.compile) { + options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env); + result = options.partials[options.name](context, extendedOptions); + } + if (result != null) { + if (options.indent) { + var lines = result.split('\n'); + for (var i = 0, l = lines.length; i < l; i++) { + if (!lines[i] && i + 1 === l) { + break; + } + + lines[i] = options.indent + lines[i]; + } + result = lines.join('\n'); + } + return result; + } else { + throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode'); + } + } + + // Just add water + var container = { + strict: function strict(obj, name, loc) { + if (!obj || !(name in obj)) { + throw new _exception2['default']('"' + name + '" not defined in ' + obj, { + loc: loc + }); + } + return container.lookupProperty(obj, name); + }, + lookupProperty: function lookupProperty(parent, propertyName) { + var result = parent[propertyName]; + if (result == null) { + return result; + } + if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { + return result; + } + + if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) { + return result; + } + return undefined; + }, + lookup: function lookup(depths, name) { + var len = depths.length; + for (var i = 0; i < len; i++) { + var result = depths[i] && container.lookupProperty(depths[i], name); + if (result != null) { + return depths[i][name]; + } + } + }, + lambda: function lambda(current, context) { + return typeof current === 'function' ? current.call(context) : current; + }, + + escapeExpression: Utils.escapeExpression, + invokePartial: invokePartialWrapper, + + fn: function fn(i) { + var ret = templateSpec[i]; + ret.decorator = templateSpec[i + '_d']; + return ret; + }, + + programs: [], + program: function program(i, data, declaredBlockParams, blockParams, depths) { + var programWrapper = this.programs[i], + fn = this.fn(i); + if (data || depths || blockParams || declaredBlockParams) { + programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths); + } else if (!programWrapper) { + programWrapper = this.programs[i] = wrapProgram(this, i, fn); + } + return programWrapper; + }, + + data: function data(value, depth) { + while (value && depth--) { + value = value._parent; + } + return value; + }, + mergeIfNeeded: function mergeIfNeeded(param, common) { + var obj = param || common; + + if (param && common && param !== common) { + obj = Utils.extend({}, common, param); + } + + return obj; + }, + // An empty object to use as replacement for null-contexts + nullContext: Object.seal({}), + + noop: env.VM.noop, + compilerInfo: templateSpec.compiler + }; + + function ret(context) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + + var data = options.data; + + ret._setup(options); + if (!options.partial && templateSpec.useData) { + data = initData(context, data); + } + var depths = undefined, + blockParams = templateSpec.useBlockParams ? [] : undefined; + if (templateSpec.useDepths) { + if (options.depths) { + depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths; + } else { + depths = [context]; + } + } + + function main(context /*, options*/) { + return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths); + } + + main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams); + return main(context, options); + } + + ret.isTop = true; + + ret._setup = function (options) { + if (!options.partial) { + var mergedHelpers = Utils.extend({}, env.helpers, options.helpers); + wrapHelpersToPassLookupProperty(mergedHelpers, container); + container.helpers = mergedHelpers; + + if (templateSpec.usePartial) { + // Use mergeIfNeeded here to prevent compiling global partials multiple times + container.partials = container.mergeIfNeeded(options.partials, env.partials); + } + if (templateSpec.usePartial || templateSpec.useDecorators) { + container.decorators = Utils.extend({}, env.decorators, options.decorators); + } + + container.hooks = {}; + container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options); + + var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7; + _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers); + _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers); + } else { + container.protoAccessControl = options.protoAccessControl; // internal option + container.helpers = options.helpers; + container.partials = options.partials; + container.decorators = options.decorators; + container.hooks = options.hooks; + } + }; + + ret._child = function (i, data, blockParams, depths) { + if (templateSpec.useBlockParams && !blockParams) { + throw new _exception2['default']('must pass block params'); + } + if (templateSpec.useDepths && !depths) { + throw new _exception2['default']('must pass parent depths'); + } + + return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths); + }; + return ret; +} + +function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) { + function prog(context) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + + var currentDepths = depths; + if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) { + currentDepths = [context].concat(depths); + } + + return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths); + } + + prog = executeDecorators(fn, prog, container, depths, data, blockParams); + + prog.program = i; + prog.depth = depths ? depths.length : 0; + prog.blockParams = declaredBlockParams || 0; + return prog; +} + +/** + * This is currently part of the official API, therefore implementation details should not be changed. + */ + +function resolvePartial(partial, context, options) { + if (!partial) { + if (options.name === '@partial-block') { + partial = options.data['partial-block']; + } else { + partial = options.partials[options.name]; + } + } else if (!partial.call && !options.name) { + // This is a dynamic partial that returned a string + options.name = partial; + partial = options.partials[partial]; + } + return partial; +} + +function invokePartial(partial, context, options) { + // Use the current closure context to save the partial-block if this partial + var currentPartialBlock = options.data && options.data['partial-block']; + options.partial = true; + if (options.ids) { + options.data.contextPath = options.ids[0] || options.data.contextPath; + } + + var partialBlock = undefined; + if (options.fn && options.fn !== noop) { + (function () { + options.data = _base.createFrame(options.data); + // Wrapper function to get access to currentPartialBlock from the closure + var fn = options.fn; + partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + + // Restore the partial-block from the closure for the execution of the block + // i.e. the part inside the block of the partial call. + options.data = _base.createFrame(options.data); + options.data['partial-block'] = currentPartialBlock; + return fn(context, options); + }; + if (fn.partials) { + options.partials = Utils.extend({}, options.partials, fn.partials); + } + })(); + } + + if (partial === undefined && partialBlock) { + partial = partialBlock; + } + + if (partial === undefined) { + throw new _exception2['default']('The partial ' + options.name + ' could not be found'); + } else if (partial instanceof Function) { + return partial(context, options); + } +} + +function noop() { + return ''; +} + +function initData(context, data) { + if (!data || !('root' in data)) { + data = data ? _base.createFrame(data) : {}; + data.root = context; + } + return data; +} + +function executeDecorators(fn, prog, container, depths, data, blockParams) { + if (fn.decorator) { + var props = {}; + prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths); + Utils.extend(prog, props); + } + return prog; +} + +function wrapHelpersToPassLookupProperty(mergedHelpers, container) { + Object.keys(mergedHelpers).forEach(function (helperName) { + var helper = mergedHelpers[helperName]; + mergedHelpers[helperName] = passLookupPropertyOption(helper, container); + }); +} + +function passLookupPropertyOption(helper, container) { + var lookupProperty = container.lookupProperty; + return _internalWrapHelper.wrapHelper(helper, function (options) { + return Utils.extend({ lookupProperty: lookupProperty }, options); + }); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztHQUN4RTs7QUFFRCxjQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O0FBSWxELEtBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O0FBRzVDLE1BQU0sb0NBQW9DLEdBQ3hDLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRTFELFdBQVMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDdkQsUUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELFVBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGVBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0tBQ0Y7QUFDRCxXQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUV0RSxRQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDOUMsV0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0FBQ2pCLHdCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7S0FDNUMsQ0FBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDOztBQUVGLFFBQUksTUFBTSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzFDLE9BQU8sRUFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixHQUFHLENBQ0osQ0FBQztBQUNGLFlBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDbkU7QUFDRCxRQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsVUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ2xCLFlBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsYUFBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLGtCQUFNO1dBQ1A7O0FBRUQsZUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0FBQ0QsY0FBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7QUFDRCxhQUFPLE1BQU0sQ0FBQztLQUNmLE1BQU07QUFDTCxZQUFNLDJCQUNKLGNBQWMsR0FDWixPQUFPLENBQUMsSUFBSSxHQUNaLDBEQUEwRCxDQUM3RCxDQUFDO0tBQ0g7R0FDRjs7O0FBR0QsTUFBSSxTQUFTLEdBQUc7QUFDZCxVQUFNLEVBQUUsZ0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDL0IsVUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxHQUFHLENBQUEsQUFBQyxFQUFFO0FBQzFCLGNBQU0sMkJBQWMsR0FBRyxHQUFHLElBQUksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7QUFDMUQsYUFBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7T0FDSjtBQUNELGFBQU8sU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7QUFDRCxrQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxZQUFZLEVBQUU7QUFDN0MsVUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xDLFVBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsVUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFO0FBQzlELGVBQU8sTUFBTSxDQUFDO09BQ2Y7O0FBRUQsVUFBSSxxQ0FBZ0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsRUFBRTtBQUN2RSxlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsYUFBTyxTQUFTLENBQUM7S0FDbEI7QUFDRCxVQUFNLEVBQUUsZ0JBQVMsTUFBTSxFQUFFLElBQUksRUFBRTtBQUM3QixVQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQzFCLFdBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDNUIsWUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BFLFlBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixpQkFBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7T0FDRjtLQUNGO0FBQ0QsVUFBTSxFQUFFLGdCQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDakMsYUFBTyxPQUFPLE9BQU8sS0FBSyxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7S0FDeEU7O0FBRUQsb0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtBQUN4QyxpQkFBYSxFQUFFLG9CQUFvQjs7QUFFbkMsTUFBRSxFQUFFLFlBQVMsQ0FBQyxFQUFFO0FBQ2QsVUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLFNBQUcsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2QyxhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELFlBQVEsRUFBRSxFQUFFO0FBQ1osV0FBTyxFQUFFLGlCQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNuRSxVQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztVQUNuQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixVQUFJLElBQUksSUFBSSxNQUFNLElBQUksV0FBVyxJQUFJLG1CQUFtQixFQUFFO0FBQ3hELHNCQUFjLEdBQUcsV0FBVyxDQUMxQixJQUFJLEVBQ0osQ0FBQyxFQUNELEVBQUUsRUFDRixJQUFJLEVBQ0osbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztPQUNILE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUMxQixzQkFBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7T0FDOUQ7QUFDRCxhQUFPLGNBQWMsQ0FBQztLQUN2Qjs7QUFFRCxRQUFJLEVBQUUsY0FBUyxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQzNCLGFBQU8sS0FBSyxJQUFJLEtBQUssRUFBRSxFQUFFO0FBQ3ZCLGFBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO09BQ3ZCO0FBQ0QsYUFBTyxLQUFLLENBQUM7S0FDZDtBQUNELGlCQUFhLEVBQUUsdUJBQVMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUNyQyxVQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDOztBQUUxQixVQUFJLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtBQUN2QyxXQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO09BQ3ZDOztBQUVELGFBQU8sR0FBRyxDQUFDO0tBQ1o7O0FBRUQsZUFBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOztBQUU1QixRQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0FBQ2pCLGdCQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVE7R0FDcEMsQ0FBQzs7QUFFRixXQUFTLEdBQUcsQ0FBQyxPQUFPLEVBQWdCO1FBQWQsT0FBTyx5REFBRyxFQUFFOztBQUNoQyxRQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDOztBQUV4QixPQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDNUMsVUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDaEM7QUFDRCxRQUFJLE1BQU0sWUFBQTtRQUNSLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7QUFDN0QsUUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO0FBQzFCLFVBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtBQUNsQixjQUFNLEdBQ0osT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQ3hCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQztPQUN0QixNQUFNO0FBQ0wsY0FBTSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7T0FDcEI7S0FDRjs7QUFFRCxhQUFTLElBQUksQ0FBQyxPQUFPLGdCQUFnQjtBQUNuQyxhQUNFLEVBQUUsR0FDRixZQUFZLENBQUMsSUFBSSxDQUNmLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxDQUFDLE9BQU8sRUFDakIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FDRDtLQUNIOztBQUVELFFBQUksR0FBRyxpQkFBaUIsQ0FDdEIsWUFBWSxDQUFDLElBQUksRUFDakIsSUFBSSxFQUNKLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFDcEIsSUFBSSxFQUNKLFdBQVcsQ0FDWixDQUFDO0FBQ0YsV0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQy9COztBQUVELEtBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztBQUVqQixLQUFHLENBQUMsTUFBTSxHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQzdCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO0FBQ3BCLFVBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25FLHFDQUErQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxRCxlQUFTLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQzs7QUFFbEMsVUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFOztBQUUzQixpQkFBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUMxQyxPQUFPLENBQUMsUUFBUSxFQUNoQixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7T0FDSDtBQUNELFVBQUksWUFBWSxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFO0FBQ3pELGlCQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2pDLEVBQUUsRUFDRixHQUFHLENBQUMsVUFBVSxFQUNkLE9BQU8sQ0FBQyxVQUFVLENBQ25CLENBQUM7T0FDSDs7QUFFRCxlQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNyQixlQUFTLENBQUMsa0JBQWtCLEdBQUcsOENBQXlCLE9BQU8sQ0FBQyxDQUFDOztBQUVqRSxVQUFJLG1CQUFtQixHQUNyQixPQUFPLENBQUMseUJBQXlCLElBQ2pDLG9DQUFvQyxDQUFDO0FBQ3ZDLGlDQUFrQixTQUFTLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDbkUsaUNBQWtCLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0tBQ3pFLE1BQU07QUFDTCxlQUFTLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQzFELGVBQVMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNwQyxlQUFTLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDdEMsZUFBUyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQzFDLGVBQVMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUNqQztHQUNGLENBQUM7O0FBRUYsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNsRCxRQUFJLFlBQVksQ0FBQyxjQUFjLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDL0MsWUFBTSwyQkFBYyx3QkFBd0IsQ0FBQyxDQUFDO0tBQy9DO0FBQ0QsUUFBSSxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ3JDLFlBQU0sMkJBQWMseUJBQXlCLENBQUMsQ0FBQztLQUNoRDs7QUFFRCxXQUFPLFdBQVcsQ0FDaEIsU0FBUyxFQUNULENBQUMsRUFDRCxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsSUFBSSxFQUNKLENBQUMsRUFDRCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7R0FDSCxDQUFDO0FBQ0YsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLFdBQVcsQ0FDekIsU0FBUyxFQUNULENBQUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsTUFBTSxFQUNOO0FBQ0EsV0FBUyxJQUFJLENBQUMsT0FBTyxFQUFnQjtRQUFkLE9BQU8seURBQUcsRUFBRTs7QUFDakMsUUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBQzNCLFFBQ0UsTUFBTSxJQUNOLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQ3BCLEVBQUUsT0FBTyxLQUFLLFNBQVMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQSxBQUFDLEVBQzFEO0FBQ0EsbUJBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQzs7QUFFRCxXQUFPLEVBQUUsQ0FDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxFQUNwQixXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUN4RCxhQUFhLENBQ2QsQ0FBQztHQUNIOztBQUVELE1BQUksR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDOztBQUV6RSxNQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN4QyxNQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixJQUFJLENBQUMsQ0FBQztBQUM1QyxTQUFPLElBQUksQ0FBQztDQUNiOzs7Ozs7QUFLTSxTQUFTLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN4RCxNQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osUUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO0FBQ3JDLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3pDLE1BQU07QUFDTCxhQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUM7R0FDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTs7QUFFekMsV0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7QUFDdkIsV0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7R0FDckM7QUFDRCxTQUFPLE9BQU8sQ0FBQztDQUNoQjs7QUFFTSxTQUFTLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTs7QUFFdkQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDMUUsU0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDdkIsTUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO0FBQ2YsV0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztHQUN2RTs7QUFFRCxNQUFJLFlBQVksWUFBQSxDQUFDO0FBQ2pCLE1BQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTs7QUFDckMsYUFBTyxDQUFDLElBQUksR0FBRyxrQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXpDLFVBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDcEIsa0JBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFNBQVMsbUJBQW1CLENBQ3pFLE9BQU8sRUFFUDtZQURBLE9BQU8seURBQUcsRUFBRTs7OztBQUlaLGVBQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLGVBQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsbUJBQW1CLENBQUM7QUFDcEQsZUFBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQzdCLENBQUM7QUFDRixVQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7QUFDZixlQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO09BQ3BFOztHQUNGOztBQUVELE1BQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxZQUFZLEVBQUU7QUFDekMsV0FBTyxHQUFHLFlBQVksQ0FBQztHQUN4Qjs7QUFFRCxNQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7QUFDekIsVUFBTSwyQkFBYyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0dBQzVFLE1BQU0sSUFBSSxPQUFPLFlBQVksUUFBUSxFQUFFO0FBQ3RDLFdBQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNsQztDQUNGOztBQUVNLFNBQVMsSUFBSSxHQUFHO0FBQ3JCLFNBQU8sRUFBRSxDQUFDO0NBQ1g7O0FBRUQsU0FBUyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUMvQixNQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQSxBQUFDLEVBQUU7QUFDOUIsUUFBSSxHQUFHLElBQUksR0FBRyxrQkFBWSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDckMsUUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7R0FDckI7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7QUFDekUsTUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFO0FBQ2hCLFFBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNmLFFBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0FBQ0YsU0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7R0FDM0I7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsK0JBQStCLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRTtBQUNqRSxRQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFVBQVUsRUFBSTtBQUMvQyxRQUFJLE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkMsaUJBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7R0FDekUsQ0FBQyxDQUFDO0NBQ0o7O0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO0FBQ25ELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7QUFDaEQsU0FBTywrQkFBVyxNQUFNLEVBQUUsVUFBQSxPQUFPLEVBQUk7QUFDbkMsV0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxFQUFkLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ2xELENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgbGV0IGV4dGVuZGVkT3B0aW9ucyA9IFV0aWxzLmV4dGVuZCh7fSwgb3B0aW9ucywge1xuICAgICAgaG9va3M6IHRoaXMuaG9va3MsXG4gICAgICBwcm90b0FjY2Vzc0NvbnRyb2w6IHRoaXMucHJvdG9BY2Nlc3NDb250cm9sXG4gICAgfSk7XG5cbiAgICBsZXQgcmVzdWx0ID0gZW52LlZNLmludm9rZVBhcnRpYWwuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICBwYXJ0aWFsLFxuICAgICAgY29udGV4dCxcbiAgICAgIGV4dGVuZGVkT3B0aW9uc1xuICAgICk7XG5cbiAgICBpZiAocmVzdWx0ID09IG51bGwgJiYgZW52LmNvbXBpbGUpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHNbb3B0aW9ucy5uYW1lXSA9IGVudi5jb21waWxlKFxuICAgICAgICBwYXJ0aWFsLFxuICAgICAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICBlbnZcbiAgICAgICk7XG4gICAgICByZXN1bHQgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0oY29udGV4dCwgZXh0ZW5kZWRPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICBpZiAob3B0aW9ucy5pbmRlbnQpIHtcbiAgICAgICAgbGV0IGxpbmVzID0gcmVzdWx0LnNwbGl0KCdcXG4nKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaW5lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICBpZiAoIWxpbmVzW2ldICYmIGkgKyAxID09PSBsKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lc1tpXSA9IG9wdGlvbnMuaW5kZW50ICsgbGluZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gbGluZXMuam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVGhlIHBhcnRpYWwgJyArXG4gICAgICAgICAgb3B0aW9ucy5uYW1lICtcbiAgICAgICAgICAnIGNvdWxkIG5vdCBiZSBjb21waWxlZCB3aGVuIHJ1bm5pbmcgaW4gcnVudGltZS1vbmx5IG1vZGUnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEp1c3QgYWRkIHdhdGVyXG4gIGxldCBjb250YWluZXIgPSB7XG4gICAgc3RyaWN0OiBmdW5jdGlvbihvYmosIG5hbWUsIGxvYykge1xuICAgICAgaWYgKCFvYmogfHwgIShuYW1lIGluIG9iaikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignXCInICsgbmFtZSArICdcIiBub3QgZGVmaW5lZCBpbiAnICsgb2JqLCB7XG4gICAgICAgICAgbG9jOiBsb2NcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5KG9iaiwgbmFtZSk7XG4gICAgfSxcbiAgICBsb29rdXBQcm9wZXJ0eTogZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGxldCByZXN1bHQgPSBwYXJlbnRbcHJvcGVydHlOYW1lXTtcbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBsb29rdXA6IGZ1bmN0aW9uKGRlcHRocywgbmFtZSkge1xuICAgICAgY29uc3QgbGVuID0gZGVwdGhzLmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGRlcHRoc1tpXSAmJiBjb250YWluZXIubG9va3VwUHJvcGVydHkoZGVwdGhzW2ldLCBuYW1lKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGRlcHRoc1tpXVtuYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgbGFtYmRhOiBmdW5jdGlvbihjdXJyZW50LCBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGN1cnJlbnQgPT09ICdmdW5jdGlvbicgPyBjdXJyZW50LmNhbGwoY29udGV4dCkgOiBjdXJyZW50O1xuICAgIH0sXG5cbiAgICBlc2NhcGVFeHByZXNzaW9uOiBVdGlscy5lc2NhcGVFeHByZXNzaW9uLFxuICAgIGludm9rZVBhcnRpYWw6IGludm9rZVBhcnRpYWxXcmFwcGVyLFxuXG4gICAgZm46IGZ1bmN0aW9uKGkpIHtcbiAgICAgIGxldCByZXQgPSB0ZW1wbGF0ZVNwZWNbaV07XG4gICAgICByZXQuZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjW2kgKyAnX2QnXTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSxcblxuICAgIHByb2dyYW1zOiBbXSxcbiAgICBwcm9ncmFtOiBmdW5jdGlvbihpLCBkYXRhLCBkZWNsYXJlZEJsb2NrUGFyYW1zLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgICBsZXQgcHJvZ3JhbVdyYXBwZXIgPSB0aGlzLnByb2dyYW1zW2ldLFxuICAgICAgICBmbiA9IHRoaXMuZm4oaSk7XG4gICAgICBpZiAoZGF0YSB8fCBkZXB0aHMgfHwgYmxvY2tQYXJhbXMgfHwgZGVjbGFyZWRCbG9ja1BhcmFtcykge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHdyYXBQcm9ncmFtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgaSxcbiAgICAgICAgICBmbixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRlY2xhcmVkQmxvY2tQYXJhbXMsXG4gICAgICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICAgICAgZGVwdGhzXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKCFwcm9ncmFtV3JhcHBlcikge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0gPSB3cmFwUHJvZ3JhbSh0aGlzLCBpLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvZ3JhbVdyYXBwZXI7XG4gICAgfSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uKHZhbHVlLCBkZXB0aCkge1xuICAgICAgd2hpbGUgKHZhbHVlICYmIGRlcHRoLS0pIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5fcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgbWVyZ2VJZk5lZWRlZDogZnVuY3Rpb24ocGFyYW0sIGNvbW1vbikge1xuICAgICAgbGV0IG9iaiA9IHBhcmFtIHx8IGNvbW1vbjtcblxuICAgICAgaWYgKHBhcmFtICYmIGNvbW1vbiAmJiBwYXJhbSAhPT0gY29tbW9uKSB7XG4gICAgICAgIG9iaiA9IFV0aWxzLmV4dGVuZCh7fSwgY29tbW9uLCBwYXJhbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICAvLyBBbiBlbXB0eSBvYmplY3QgdG8gdXNlIGFzIHJlcGxhY2VtZW50IGZvciBudWxsLWNvbnRleHRzXG4gICAgbnVsbENvbnRleHQ6IE9iamVjdC5zZWFsKHt9KSxcblxuICAgIG5vb3A6IGVudi5WTS5ub29wLFxuICAgIGNvbXBpbGVySW5mbzogdGVtcGxhdGVTcGVjLmNvbXBpbGVyXG4gIH07XG5cbiAgZnVuY3Rpb24gcmV0KGNvbnRleHQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuXG4gICAgcmV0Ll9zZXR1cChvcHRpb25zKTtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCAmJiB0ZW1wbGF0ZVNwZWMudXNlRGF0YSkge1xuICAgICAgZGF0YSA9IGluaXREYXRhKGNvbnRleHQsIGRhdGEpO1xuICAgIH1cbiAgICBsZXQgZGVwdGhzLFxuICAgICAgYmxvY2tQYXJhbXMgPSB0ZW1wbGF0ZVNwZWMudXNlQmxvY2tQYXJhbXMgPyBbXSA6IHVuZGVmaW5lZDtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocykge1xuICAgICAgaWYgKG9wdGlvbnMuZGVwdGhzKSB7XG4gICAgICAgIGRlcHRocyA9XG4gICAgICAgICAgY29udGV4dCAhPSBvcHRpb25zLmRlcHRoc1swXVxuICAgICAgICAgICAgPyBbY29udGV4dF0uY29uY2F0KG9wdGlvbnMuZGVwdGhzKVxuICAgICAgICAgICAgOiBvcHRpb25zLmRlcHRocztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlcHRocyA9IFtjb250ZXh0XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWluKGNvbnRleHQgLyosIG9wdGlvbnMqLykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgJycgK1xuICAgICAgICB0ZW1wbGF0ZVNwZWMubWFpbihcbiAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtYWluID0gZXhlY3V0ZURlY29yYXRvcnMoXG4gICAgICB0ZW1wbGF0ZVNwZWMubWFpbixcbiAgICAgIG1haW4sXG4gICAgICBjb250YWluZXIsXG4gICAgICBvcHRpb25zLmRlcHRocyB8fCBbXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtc1xuICAgICk7XG4gICAgcmV0dXJuIG1haW4oY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cblxuICByZXQuaXNUb3AgPSB0cnVlO1xuXG4gIHJldC5fc2V0dXAgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhcnRpYWwpIHtcbiAgICAgIGxldCBtZXJnZWRIZWxwZXJzID0gVXRpbHMuZXh0ZW5kKHt9LCBlbnYuaGVscGVycywgb3B0aW9ucy5oZWxwZXJzKTtcbiAgICAgIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdO1xuICAgIH1cbiAgfSBlbHNlIGlmICghcGFydGlhbC5jYWxsICYmICFvcHRpb25zLm5hbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZHluYW1pYyBwYXJ0aWFsIHRoYXQgcmV0dXJuZWQgYSBzdHJpbmdcbiAgICBvcHRpb25zLm5hbWUgPSBwYXJ0aWFsO1xuICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW3BhcnRpYWxdO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhKGNvbnRleHQsIGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8ICEoJ3Jvb3QnIGluIGRhdGEpKSB7XG4gICAgZGF0YSA9IGRhdGEgPyBjcmVhdGVGcmFtZShkYXRhKSA6IHt9O1xuICAgIGRhdGEucm9vdCA9IGNvbnRleHQ7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEZWNvcmF0b3JzKGZuLCBwcm9nLCBjb250YWluZXIsIGRlcHRocywgZGF0YSwgYmxvY2tQYXJhbXMpIHtcbiAgaWYgKGZuLmRlY29yYXRvcikge1xuICAgIGxldCBwcm9wcyA9IHt9O1xuICAgIHByb2cgPSBmbi5kZWNvcmF0b3IoXG4gICAgICBwcm9nLFxuICAgICAgcHJvcHMsXG4gICAgICBjb250YWluZXIsXG4gICAgICBkZXB0aHMgJiYgZGVwdGhzWzBdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgICBVdGlscy5leHRlbmQocHJvZywgcHJvcHMpO1xuICB9XG4gIHJldHVybiBwcm9nO1xufVxuXG5mdW5jdGlvbiB3cmFwSGVscGVyc1RvUGFzc0xvb2t1cFByb3BlcnR5KG1lcmdlZEhlbHBlcnMsIGNvbnRhaW5lcikge1xuICBPYmplY3Qua2V5cyhtZXJnZWRIZWxwZXJzKS5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgIGxldCBoZWxwZXIgPSBtZXJnZWRIZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV0gPSBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFzc0xvb2t1cFByb3BlcnR5T3B0aW9uKGhlbHBlciwgY29udGFpbmVyKSB7XG4gIGNvbnN0IGxvb2t1cFByb3BlcnR5ID0gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5O1xuICByZXR1cm4gd3JhcEhlbHBlcihoZWxwZXIsIG9wdGlvbnMgPT4ge1xuICAgIHJldHVybiBVdGlscy5leHRlbmQoeyBsb29rdXBQcm9wZXJ0eSB9LCBvcHRpb25zKTtcbiAgfSk7XG59XG4iXX0= + + +/***/ }), + +/***/ 54850: +/***/ ((module, exports) => { + +"use strict"; +// Build out our basic SafeString type + + +exports.__esModule = true; +function SafeString(string) { + this.string = string; +} + +SafeString.prototype.toString = SafeString.prototype.toHTML = function () { + return '' + this.string; +}; + +exports["default"] = SafeString; +module.exports = exports['default']; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ== + + +/***/ }), + +/***/ 69446: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +exports.__esModule = true; +exports.extend = extend; +exports.indexOf = indexOf; +exports.escapeExpression = escapeExpression; +exports.isEmpty = isEmpty; +exports.createFrame = createFrame; +exports.blockParams = blockParams; +exports.appendContextPath = appendContextPath; +var escape = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`', + '=': '=' +}; + +var badChars = /[&<>"'`=]/g, + possible = /[&<>"'`=]/; + +function escapeChar(chr) { + return escape[chr]; +} + +function extend(obj /* , ...source */) { + for (var i = 1; i < arguments.length; i++) { + for (var key in arguments[i]) { + if (Object.prototype.hasOwnProperty.call(arguments[i], key)) { + obj[key] = arguments[i][key]; + } + } + } + + return obj; +} + +var toString = Object.prototype.toString; + +exports.toString = toString; +// Sourced from lodash +// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt +/* eslint-disable func-style */ +var isFunction = function isFunction(value) { + return typeof value === 'function'; +}; +// fallback for older versions of Chrome and Safari +/* istanbul ignore next */ +if (isFunction(/x/)) { + exports.isFunction = isFunction = function (value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; +} +exports.isFunction = isFunction; + +/* eslint-enable func-style */ + +/* istanbul ignore next */ +var isArray = Array.isArray || function (value) { + return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false; +}; + +exports.isArray = isArray; +// Older IE versions do not directly support indexOf so we must implement our own, sadly. + +function indexOf(array, value) { + for (var i = 0, len = array.length; i < len; i++) { + if (array[i] === value) { + return i; + } + } + return -1; +} + +function escapeExpression(string) { + if (typeof string !== 'string') { + // don't escape SafeStrings, since they're already safe + if (string && string.toHTML) { + return string.toHTML(); + } else if (string == null) { + return ''; + } else if (!string) { + return string + ''; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = '' + string; + } + + if (!possible.test(string)) { + return string; + } + return string.replace(badChars, escapeChar); +} + +function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } +} + +function createFrame(object) { + var frame = extend({}, object); + frame._parent = object; + return frame; +} + +function blockParams(params, ids) { + params.path = ids; + return params; +} + +function appendContextPath(contextPath, id) { + return (contextPath ? contextPath + '.' : '') + id; +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0= + + +/***/ }), + +/***/ 80474: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +// USAGE: +// var handlebars = require('handlebars'); +/* eslint-env node */ +/* eslint-disable no-var */ + +// var local = handlebars.create(); + +var handlebars = (__webpack_require__(21482)["default"]); + +var printer = __webpack_require__(92118); +handlebars.PrintVisitor = printer.PrintVisitor; +handlebars.print = printer.print; + +module.exports = handlebars; + +// Publish a Node.js require() handler for .handlebars and .hbs files +function extension(module, filename) { + var fs = __webpack_require__(57147); + var templateString = fs.readFileSync(filename, 'utf8'); + module.exports = handlebars.compile(templateString); +} +/* istanbul ignore else */ +if ( true && require.extensions) { + require.extensions['.handlebars'] = extension; + require.extensions['.hbs'] = extension; +} + + +/***/ }), + +/***/ 39337: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(31460); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.I = ArraySet; + + +/***/ }), + +/***/ 79373: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = __webpack_require__(16411); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }), + +/***/ 16411: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }), + +/***/ 92992: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }), + +/***/ 78958: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(31460); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.H = MappingList; + + +/***/ }), + +/***/ 75544: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.U = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }), + +/***/ 19199: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(31460); +var binarySearch = __webpack_require__(92992); +var ArraySet = (__webpack_require__(39337)/* .ArraySet */ .I); +var base64VLQ = __webpack_require__(79373); +var quickSort = (__webpack_require__(75544)/* .quickSort */ .U); + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +__webpack_unused_export__ = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +__webpack_unused_export__ = IndexedSourceMapConsumer; + + +/***/ }), + +/***/ 75944: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(79373); +var util = __webpack_require__(31460); +var ArraySet = (__webpack_require__(39337)/* .ArraySet */ .I); +var MappingList = (__webpack_require__(78958)/* .MappingList */ .H); + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; + + +/***/ }), + +/***/ 50609: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = (__webpack_require__(75944).SourceMapGenerator); +var util = __webpack_require__(31460); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; + + +/***/ }), + +/***/ 31460: +/***/ ((__unused_webpack_module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }), + +/***/ 91547: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = __webpack_require__(75944).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(19199).SourceMapConsumer; +exports.SourceNode = __webpack_require__(50609).SourceNode; + + +/***/ }), + +/***/ 85347: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Glob = void 0; +const minimatch_1 = __webpack_require__(35432); +const path_scurry_1 = __webpack_require__(95937); +const url_1 = __webpack_require__(57310); +const pattern_js_1 = __webpack_require__(94075); +const walker_js_1 = __webpack_require__(91714); +// if no process global, just call it linux. +// so we default to case-sensitive, / separators +const defaultPlatform = typeof process === 'object' && + process && + typeof process.platform === 'string' + ? process.platform + : 'linux'; +/** + * An object that can perform glob pattern traversals. + */ +class Glob { + absolute; + cwd; + root; + dot; + dotRelative; + follow; + ignore; + magicalBraces; + mark; + matchBase; + maxDepth; + nobrace; + nocase; + nodir; + noext; + noglobstar; + pattern; + platform; + realpath; + scurry; + stat; + signal; + windowsPathsNoEscape; + withFileTypes; + /** + * The options provided to the constructor. + */ + opts; + /** + * An array of parsed immutable {@link Pattern} objects. + */ + patterns; + /** + * All options are stored as properties on the `Glob` object. + * + * See {@link GlobOptions} for full options descriptions. + * + * Note that a previous `Glob` object can be passed as the + * `GlobOptions` to another `Glob` instantiation to re-use settings + * and caches with a new pattern. + * + * Traversal functions can be called multiple times to run the walk + * again. + */ + constructor(pattern, opts) { + /* c8 ignore start */ + if (!opts) + throw new TypeError('glob options required'); + /* c8 ignore stop */ + this.withFileTypes = !!opts.withFileTypes; + this.signal = opts.signal; + this.follow = !!opts.follow; + this.dot = !!opts.dot; + this.dotRelative = !!opts.dotRelative; + this.nodir = !!opts.nodir; + this.mark = !!opts.mark; + if (!opts.cwd) { + this.cwd = ''; + } + else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) { + opts.cwd = (0, url_1.fileURLToPath)(opts.cwd); + } + this.cwd = opts.cwd || ''; + this.root = opts.root; + this.magicalBraces = !!opts.magicalBraces; + this.nobrace = !!opts.nobrace; + this.noext = !!opts.noext; + this.realpath = !!opts.realpath; + this.absolute = opts.absolute; + this.noglobstar = !!opts.noglobstar; + this.matchBase = !!opts.matchBase; + this.maxDepth = + typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity; + this.stat = !!opts.stat; + this.ignore = opts.ignore; + if (this.withFileTypes && this.absolute !== undefined) { + throw new Error('cannot set absolute and withFileTypes:true'); + } + if (typeof pattern === 'string') { + pattern = [pattern]; + } + this.windowsPathsNoEscape = + !!opts.windowsPathsNoEscape || + opts.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + pattern = pattern.map(p => p.replace(/\\/g, '/')); + } + if (this.matchBase) { + if (opts.noglobstar) { + throw new TypeError('base matching requires globstar'); + } + pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`)); + } + this.pattern = pattern; + this.platform = opts.platform || defaultPlatform; + this.opts = { ...opts, platform: this.platform }; + if (opts.scurry) { + this.scurry = opts.scurry; + if (opts.nocase !== undefined && + opts.nocase !== opts.scurry.nocase) { + throw new Error('nocase option contradicts provided scurry option'); + } + } + else { + const Scurry = opts.platform === 'win32' + ? path_scurry_1.PathScurryWin32 + : opts.platform === 'darwin' + ? path_scurry_1.PathScurryDarwin + : opts.platform + ? path_scurry_1.PathScurryPosix + : path_scurry_1.PathScurry; + this.scurry = new Scurry(this.cwd, { + nocase: opts.nocase, + fs: opts.fs, + }); + } + this.nocase = this.scurry.nocase; + // If you do nocase:true on a case-sensitive file system, then + // we need to use regexps instead of strings for non-magic + // path portions, because statting `aBc` won't return results + // for the file `AbC` for example. + const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32'; + const mmo = { + // default nocase based on platform + ...opts, + dot: this.dot, + matchBase: this.matchBase, + nobrace: this.nobrace, + nocase: this.nocase, + nocaseMagicOnly, + nocomment: true, + noext: this.noext, + nonegate: true, + optimizationLevel: 2, + platform: this.platform, + windowsPathsNoEscape: this.windowsPathsNoEscape, + debug: !!this.opts.debug, + }; + const mms = this.pattern.map(p => new minimatch_1.Minimatch(p, mmo)); + const [matchSet, globParts] = mms.reduce((set, m) => { + set[0].push(...m.set); + set[1].push(...m.globParts); + return set; + }, [[], []]); + this.patterns = matchSet.map((set, i) => { + const g = globParts[i]; + /* c8 ignore start */ + if (!g) + throw new Error('invalid pattern object'); + /* c8 ignore stop */ + return new pattern_js_1.Pattern(set, g, 0, this.platform); + }); + } + async walk() { + // Walkers always return array of Path objects, so we just have to + // coerce them into the right shape. It will have already called + // realpath() if the option was set to do so, so we know that's cached. + // start out knowing the cwd, at least + return [ + ...(await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity + ? this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + }).walk()), + ]; + } + walkSync() { + return [ + ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity + ? this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + }).walkSync(), + ]; + } + stream() { + return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity + ? this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + }).stream(); + } + streamSync() { + return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity + ? this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + }).streamSync(); + } + /** + * Default sync iteration function. Returns a Generator that + * iterates over the results. + */ + iterateSync() { + return this.streamSync()[Symbol.iterator](); + } + [Symbol.iterator]() { + return this.iterateSync(); + } + /** + * Default async iteration function. Returns an AsyncGenerator that + * iterates over the results. + */ + iterate() { + return this.stream()[Symbol.asyncIterator](); + } + [Symbol.asyncIterator]() { + return this.iterate(); + } +} +exports.Glob = Glob; +//# sourceMappingURL=glob.js.map + +/***/ }), + +/***/ 69989: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.hasMagic = void 0; +const minimatch_1 = __webpack_require__(35432); +/** + * Return true if the patterns provided contain any magic glob characters, + * given the options provided. + * + * Brace expansion is not considered "magic" unless the `magicalBraces` option + * is set, as brace expansion just turns one string into an array of strings. + * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and + * `'xby'` both do not contain any magic glob characters, and it's treated the + * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true` + * is in the options, brace expansion _is_ treated as a pattern having magic. + */ +const hasMagic = (pattern, options = {}) => { + if (!Array.isArray(pattern)) { + pattern = [pattern]; + } + for (const p of pattern) { + if (new minimatch_1.Minimatch(p, options).hasMagic()) + return true; + } + return false; +}; +exports.hasMagic = hasMagic; +//# sourceMappingURL=has-magic.js.map + +/***/ }), + +/***/ 58871: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +// give it a pattern, and it'll be able to tell you if +// a given path should be ignored. +// Ignoring a path ignores its children if the pattern ends in /** +// Ignores are always parsed in dot:true mode +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Ignore = void 0; +const minimatch_1 = __webpack_require__(35432); +const pattern_js_1 = __webpack_require__(94075); +const defaultPlatform = typeof process === 'object' && + process && + typeof process.platform === 'string' + ? process.platform + : 'linux'; +/** + * Class used to process ignored patterns + */ +class Ignore { + relative; + relativeChildren; + absolute; + absoluteChildren; + constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform, }) { + this.relative = []; + this.absolute = []; + this.relativeChildren = []; + this.absoluteChildren = []; + const mmopts = { + dot: true, + nobrace, + nocase, + noext, + noglobstar, + optimizationLevel: 2, + platform, + nocomment: true, + nonegate: true, + }; + // this is a little weird, but it gives us a clean set of optimized + // minimatch matchers, without getting tripped up if one of them + // ends in /** inside a brace section, and it's only inefficient at + // the start of the walk, not along it. + // It'd be nice if the Pattern class just had a .test() method, but + // handling globstars is a bit of a pita, and that code already lives + // in minimatch anyway. + // Another way would be if maybe Minimatch could take its set/globParts + // as an option, and then we could at least just use Pattern to test + // for absolute-ness. + // Yet another way, Minimatch could take an array of glob strings, and + // a cwd option, and do the right thing. + for (const ign of ignored) { + const mm = new minimatch_1.Minimatch(ign, mmopts); + for (let i = 0; i < mm.set.length; i++) { + const parsed = mm.set[i]; + const globParts = mm.globParts[i]; + /* c8 ignore start */ + if (!parsed || !globParts) { + throw new Error('invalid pattern object'); + } + /* c8 ignore stop */ + const p = new pattern_js_1.Pattern(parsed, globParts, 0, platform); + const m = new minimatch_1.Minimatch(p.globString(), mmopts); + const children = globParts[globParts.length - 1] === '**'; + const absolute = p.isAbsolute(); + if (absolute) + this.absolute.push(m); + else + this.relative.push(m); + if (children) { + if (absolute) + this.absoluteChildren.push(m); + else + this.relativeChildren.push(m); + } + } + } + } + ignored(p) { + const fullpath = p.fullpath(); + const fullpaths = `${fullpath}/`; + const relative = p.relative() || '.'; + const relatives = `${relative}/`; + for (const m of this.relative) { + if (m.match(relative) || m.match(relatives)) + return true; + } + for (const m of this.absolute) { + if (m.match(fullpath) || m.match(fullpaths)) + return true; + } + return false; + } + childrenIgnored(p) { + const fullpath = p.fullpath() + '/'; + const relative = (p.relative() || '.') + '/'; + for (const m of this.relativeChildren) { + if (m.match(relative)) + return true; + } + for (const m of this.absoluteChildren) { + if (m.match(fullpath)) + return true; + } + return false; + } +} +exports.Ignore = Ignore; +//# sourceMappingURL=ignore.js.map + +/***/ }), + +/***/ 17364: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.glob = exports.hasMagic = exports.Glob = exports.unescape = exports.escape = exports.sync = exports.iterate = exports.iterateSync = exports.stream = exports.streamSync = exports.globIterate = exports.globIterateSync = exports.globSync = exports.globStream = exports.globStreamSync = void 0; +const minimatch_1 = __webpack_require__(35432); +const glob_js_1 = __webpack_require__(85347); +const has_magic_js_1 = __webpack_require__(69989); +function globStreamSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).streamSync(); +} +exports.globStreamSync = globStreamSync; +function globStream(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).stream(); +} +exports.globStream = globStream; +function globSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).walkSync(); +} +exports.globSync = globSync; +async function glob_(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).walk(); +} +function globIterateSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).iterateSync(); +} +exports.globIterateSync = globIterateSync; +function globIterate(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).iterate(); +} +exports.globIterate = globIterate; +// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc +exports.streamSync = globStreamSync; +exports.stream = Object.assign(globStream, { sync: globStreamSync }); +exports.iterateSync = globIterateSync; +exports.iterate = Object.assign(globIterate, { + sync: globIterateSync, +}); +exports.sync = Object.assign(globSync, { + stream: globStreamSync, + iterate: globIterateSync, +}); +/* c8 ignore start */ +var minimatch_2 = __webpack_require__(35432); +Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return minimatch_2.escape; } })); +Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return minimatch_2.unescape; } })); +var glob_js_2 = __webpack_require__(85347); +Object.defineProperty(exports, "Glob", ({ enumerable: true, get: function () { return glob_js_2.Glob; } })); +var has_magic_js_2 = __webpack_require__(69989); +Object.defineProperty(exports, "hasMagic", ({ enumerable: true, get: function () { return has_magic_js_2.hasMagic; } })); +/* c8 ignore stop */ +exports.glob = Object.assign(glob_, { + glob: glob_, + globSync, + sync: exports.sync, + globStream, + stream: exports.stream, + globStreamSync, + streamSync: exports.streamSync, + globIterate, + iterate: exports.iterate, + globIterateSync, + iterateSync: exports.iterateSync, + Glob: glob_js_1.Glob, + hasMagic: has_magic_js_1.hasMagic, + escape: minimatch_1.escape, + unescape: minimatch_1.unescape, +}); +exports.glob.glob = exports.glob; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 94075: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +// this is just a very light wrapper around 2 arrays with an offset index +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Pattern = void 0; +const minimatch_1 = __webpack_require__(35432); +const isPatternList = (pl) => pl.length >= 1; +const isGlobList = (gl) => gl.length >= 1; +/** + * An immutable-ish view on an array of glob parts and their parsed + * results + */ +class Pattern { + #patternList; + #globList; + #index; + length; + #platform; + #rest; + #globString; + #isDrive; + #isUNC; + #isAbsolute; + #followGlobstar = true; + constructor(patternList, globList, index, platform) { + if (!isPatternList(patternList)) { + throw new TypeError('empty pattern list'); + } + if (!isGlobList(globList)) { + throw new TypeError('empty glob list'); + } + if (globList.length !== patternList.length) { + throw new TypeError('mismatched pattern list and glob list lengths'); + } + this.length = patternList.length; + if (index < 0 || index >= this.length) { + throw new TypeError('index out of range'); + } + this.#patternList = patternList; + this.#globList = globList; + this.#index = index; + this.#platform = platform; + // normalize root entries of absolute patterns on initial creation. + if (this.#index === 0) { + // c: => ['c:/'] + // C:/ => ['C:/'] + // C:/x => ['C:/', 'x'] + // //host/share => ['//host/share/'] + // //host/share/ => ['//host/share/'] + // //host/share/x => ['//host/share/', 'x'] + // /etc => ['/', 'etc'] + // / => ['/'] + if (this.isUNC()) { + // '' / '' / 'host' / 'share' + const [p0, p1, p2, p3, ...prest] = this.#patternList; + const [g0, g1, g2, g3, ...grest] = this.#globList; + if (prest[0] === '') { + // ends in / + prest.shift(); + grest.shift(); + } + const p = [p0, p1, p2, p3, ''].join('/'); + const g = [g0, g1, g2, g3, ''].join('/'); + this.#patternList = [p, ...prest]; + this.#globList = [g, ...grest]; + this.length = this.#patternList.length; + } + else if (this.isDrive() || this.isAbsolute()) { + const [p1, ...prest] = this.#patternList; + const [g1, ...grest] = this.#globList; + if (prest[0] === '') { + // ends in / + prest.shift(); + grest.shift(); + } + const p = p1 + '/'; + const g = g1 + '/'; + this.#patternList = [p, ...prest]; + this.#globList = [g, ...grest]; + this.length = this.#patternList.length; + } + } + } + /** + * The first entry in the parsed list of patterns + */ + pattern() { + return this.#patternList[this.#index]; + } + /** + * true of if pattern() returns a string + */ + isString() { + return typeof this.#patternList[this.#index] === 'string'; + } + /** + * true of if pattern() returns GLOBSTAR + */ + isGlobstar() { + return this.#patternList[this.#index] === minimatch_1.GLOBSTAR; + } + /** + * true if pattern() returns a regexp + */ + isRegExp() { + return this.#patternList[this.#index] instanceof RegExp; + } + /** + * The /-joined set of glob parts that make up this pattern + */ + globString() { + return (this.#globString = + this.#globString || + (this.#index === 0 + ? this.isAbsolute() + ? this.#globList[0] + this.#globList.slice(1).join('/') + : this.#globList.join('/') + : this.#globList.slice(this.#index).join('/'))); + } + /** + * true if there are more pattern parts after this one + */ + hasMore() { + return this.length > this.#index + 1; + } + /** + * The rest of the pattern after this part, or null if this is the end + */ + rest() { + if (this.#rest !== undefined) + return this.#rest; + if (!this.hasMore()) + return (this.#rest = null); + this.#rest = new Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform); + this.#rest.#isAbsolute = this.#isAbsolute; + this.#rest.#isUNC = this.#isUNC; + this.#rest.#isDrive = this.#isDrive; + return this.#rest; + } + /** + * true if the pattern represents a //unc/path/ on windows + */ + isUNC() { + const pl = this.#patternList; + return this.#isUNC !== undefined + ? this.#isUNC + : (this.#isUNC = + this.#platform === 'win32' && + this.#index === 0 && + pl[0] === '' && + pl[1] === '' && + typeof pl[2] === 'string' && + !!pl[2] && + typeof pl[3] === 'string' && + !!pl[3]); + } + // pattern like C:/... + // split = ['C:', ...] + // XXX: would be nice to handle patterns like `c:*` to test the cwd + // in c: for *, but I don't know of a way to even figure out what that + // cwd is without actually chdir'ing into it? + /** + * True if the pattern starts with a drive letter on Windows + */ + isDrive() { + const pl = this.#patternList; + return this.#isDrive !== undefined + ? this.#isDrive + : (this.#isDrive = + this.#platform === 'win32' && + this.#index === 0 && + this.length > 1 && + typeof pl[0] === 'string' && + /^[a-z]:$/i.test(pl[0])); + } + // pattern = '/' or '/...' or '/x/...' + // split = ['', ''] or ['', ...] or ['', 'x', ...] + // Drive and UNC both considered absolute on windows + /** + * True if the pattern is rooted on an absolute path + */ + isAbsolute() { + const pl = this.#patternList; + return this.#isAbsolute !== undefined + ? this.#isAbsolute + : (this.#isAbsolute = + (pl[0] === '' && pl.length > 1) || + this.isDrive() || + this.isUNC()); + } + /** + * consume the root of the pattern, and return it + */ + root() { + const p = this.#patternList[0]; + return typeof p === 'string' && this.isAbsolute() && this.#index === 0 + ? p + : ''; + } + /** + * Check to see if the current globstar pattern is allowed to follow + * a symbolic link. + */ + checkFollowGlobstar() { + return !(this.#index === 0 || + !this.isGlobstar() || + !this.#followGlobstar); + } + /** + * Mark that the current globstar pattern is following a symbolic link + */ + markFollowGlobstar() { + if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar) + return false; + this.#followGlobstar = false; + return true; + } +} +exports.Pattern = Pattern; +//# sourceMappingURL=pattern.js.map + +/***/ }), + +/***/ 81982: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +// synchronous utility for filtering entries and calculating subwalks +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Processor = exports.SubWalks = exports.MatchRecord = exports.HasWalkedCache = void 0; +const minimatch_1 = __webpack_require__(35432); +/** + * A cache of which patterns have been processed for a given Path + */ +class HasWalkedCache { + store; + constructor(store = new Map()) { + this.store = store; + } + copy() { + return new HasWalkedCache(new Map(this.store)); + } + hasWalked(target, pattern) { + return this.store.get(target.fullpath())?.has(pattern.globString()); + } + storeWalked(target, pattern) { + const fullpath = target.fullpath(); + const cached = this.store.get(fullpath); + if (cached) + cached.add(pattern.globString()); + else + this.store.set(fullpath, new Set([pattern.globString()])); + } +} +exports.HasWalkedCache = HasWalkedCache; +/** + * A record of which paths have been matched in a given walk step, + * and whether they only are considered a match if they are a directory, + * and whether their absolute or relative path should be returned. + */ +class MatchRecord { + store = new Map(); + add(target, absolute, ifDir) { + const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0); + const current = this.store.get(target); + this.store.set(target, current === undefined ? n : n & current); + } + // match, absolute, ifdir + entries() { + return [...this.store.entries()].map(([path, n]) => [ + path, + !!(n & 2), + !!(n & 1), + ]); + } +} +exports.MatchRecord = MatchRecord; +/** + * A collection of patterns that must be processed in a subsequent step + * for a given path. + */ +class SubWalks { + store = new Map(); + add(target, pattern) { + if (!target.canReaddir()) { + return; + } + const subs = this.store.get(target); + if (subs) { + if (!subs.find(p => p.globString() === pattern.globString())) { + subs.push(pattern); + } + } + else + this.store.set(target, [pattern]); + } + get(target) { + const subs = this.store.get(target); + /* c8 ignore start */ + if (!subs) { + throw new Error('attempting to walk unknown path'); + } + /* c8 ignore stop */ + return subs; + } + entries() { + return this.keys().map(k => [k, this.store.get(k)]); + } + keys() { + return [...this.store.keys()].filter(t => t.canReaddir()); + } +} +exports.SubWalks = SubWalks; +/** + * The class that processes patterns for a given path. + * + * Handles child entry filtering, and determining whether a path's + * directory contents must be read. + */ +class Processor { + hasWalkedCache; + matches = new MatchRecord(); + subwalks = new SubWalks(); + patterns; + follow; + dot; + opts; + constructor(opts, hasWalkedCache) { + this.opts = opts; + this.follow = !!opts.follow; + this.dot = !!opts.dot; + this.hasWalkedCache = hasWalkedCache + ? hasWalkedCache.copy() + : new HasWalkedCache(); + } + processPatterns(target, patterns) { + this.patterns = patterns; + const processingSet = patterns.map(p => [target, p]); + // map of paths to the magic-starting subwalks they need to walk + // first item in patterns is the filter + for (let [t, pattern] of processingSet) { + this.hasWalkedCache.storeWalked(t, pattern); + const root = pattern.root(); + const absolute = pattern.isAbsolute() && this.opts.absolute !== false; + // start absolute patterns at root + if (root) { + t = t.resolve(root === '/' && this.opts.root !== undefined + ? this.opts.root + : root); + const rest = pattern.rest(); + if (!rest) { + this.matches.add(t, true, false); + continue; + } + else { + pattern = rest; + } + } + if (t.isENOENT()) + continue; + let p; + let rest; + let changed = false; + while (typeof (p = pattern.pattern()) === 'string' && + (rest = pattern.rest())) { + const c = t.resolve(p); + t = c; + pattern = rest; + changed = true; + } + p = pattern.pattern(); + rest = pattern.rest(); + if (changed) { + if (this.hasWalkedCache.hasWalked(t, pattern)) + continue; + this.hasWalkedCache.storeWalked(t, pattern); + } + // now we have either a final string for a known entry, + // more strings for an unknown entry, + // or a pattern starting with magic, mounted on t. + if (typeof p === 'string') { + // must not be final entry, otherwise we would have + // concatenated it earlier. + const ifDir = p === '..' || p === '' || p === '.'; + this.matches.add(t.resolve(p), absolute, ifDir); + continue; + } + else if (p === minimatch_1.GLOBSTAR) { + // if no rest, match and subwalk pattern + // if rest, process rest and subwalk pattern + // if it's a symlink, but we didn't get here by way of a + // globstar match (meaning it's the first time THIS globstar + // has traversed a symlink), then we follow it. Otherwise, stop. + if (!t.isSymbolicLink() || + this.follow || + pattern.checkFollowGlobstar()) { + this.subwalks.add(t, pattern); + } + const rp = rest?.pattern(); + const rrest = rest?.rest(); + if (!rest || ((rp === '' || rp === '.') && !rrest)) { + // only HAS to be a dir if it ends in **/ or **/. + // but ending in ** will match files as well. + this.matches.add(t, absolute, rp === '' || rp === '.'); + } + else { + if (rp === '..') { + // this would mean you're matching **/.. at the fs root, + // and no thanks, I'm not gonna test that specific case. + /* c8 ignore start */ + const tp = t.parent || t; + /* c8 ignore stop */ + if (!rrest) + this.matches.add(tp, absolute, true); + else if (!this.hasWalkedCache.hasWalked(tp, rrest)) { + this.subwalks.add(tp, rrest); + } + } + } + } + else if (p instanceof RegExp) { + this.subwalks.add(t, pattern); + } + } + return this; + } + subwalkTargets() { + return this.subwalks.keys(); + } + child() { + return new Processor(this.opts, this.hasWalkedCache); + } + // return a new Processor containing the subwalks for each + // child entry, and a set of matches, and + // a hasWalkedCache that's a copy of this one + // then we're going to call + filterEntries(parent, entries) { + const patterns = this.subwalks.get(parent); + // put matches and entry walks into the results processor + const results = this.child(); + for (const e of entries) { + for (const pattern of patterns) { + const absolute = pattern.isAbsolute(); + const p = pattern.pattern(); + const rest = pattern.rest(); + if (p === minimatch_1.GLOBSTAR) { + results.testGlobstar(e, pattern, rest, absolute); + } + else if (p instanceof RegExp) { + results.testRegExp(e, p, rest, absolute); + } + else { + results.testString(e, p, rest, absolute); + } + } + } + return results; + } + testGlobstar(e, pattern, rest, absolute) { + if (this.dot || !e.name.startsWith('.')) { + if (!pattern.hasMore()) { + this.matches.add(e, absolute, false); + } + if (e.canReaddir()) { + // if we're in follow mode or it's not a symlink, just keep + // testing the same pattern. If there's more after the globstar, + // then this symlink consumes the globstar. If not, then we can + // follow at most ONE symlink along the way, so we mark it, which + // also checks to ensure that it wasn't already marked. + if (this.follow || !e.isSymbolicLink()) { + this.subwalks.add(e, pattern); + } + else if (e.isSymbolicLink()) { + if (rest && pattern.checkFollowGlobstar()) { + this.subwalks.add(e, rest); + } + else if (pattern.markFollowGlobstar()) { + this.subwalks.add(e, pattern); + } + } + } + } + // if the NEXT thing matches this entry, then also add + // the rest. + if (rest) { + const rp = rest.pattern(); + if (typeof rp === 'string' && + // dots and empty were handled already + rp !== '..' && + rp !== '' && + rp !== '.') { + this.testString(e, rp, rest.rest(), absolute); + } + else if (rp === '..') { + /* c8 ignore start */ + const ep = e.parent || e; + /* c8 ignore stop */ + this.subwalks.add(ep, rest); + } + else if (rp instanceof RegExp) { + this.testRegExp(e, rp, rest.rest(), absolute); + } + } + } + testRegExp(e, p, rest, absolute) { + if (!p.test(e.name)) + return; + if (!rest) { + this.matches.add(e, absolute, false); + } + else { + this.subwalks.add(e, rest); + } + } + testString(e, p, rest, absolute) { + // should never happen? + if (!e.isNamed(p)) + return; + if (!rest) { + this.matches.add(e, absolute, false); + } + else { + this.subwalks.add(e, rest); + } + } +} +exports.Processor = Processor; +//# sourceMappingURL=processor.js.map + +/***/ }), + +/***/ 91714: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobStream = exports.GlobWalker = exports.GlobUtil = void 0; +/** + * Single-use utility classes to provide functionality to the {@link Glob} + * methods. + * + * @module + */ +const minipass_1 = __webpack_require__(366); +const ignore_js_1 = __webpack_require__(58871); +const processor_js_1 = __webpack_require__(81982); +const makeIgnore = (ignore, opts) => typeof ignore === 'string' + ? new ignore_js_1.Ignore([ignore], opts) + : Array.isArray(ignore) + ? new ignore_js_1.Ignore(ignore, opts) + : ignore; +/** + * basic walking utilities that all the glob walker types use + */ +class GlobUtil { + path; + patterns; + opts; + seen = new Set(); + paused = false; + aborted = false; + #onResume = []; + #ignore; + #sep; + signal; + maxDepth; + constructor(patterns, path, opts) { + this.patterns = patterns; + this.path = path; + this.opts = opts; + this.#sep = !opts.posix && opts.platform === 'win32' ? '\\' : '/'; + if (opts.ignore) { + this.#ignore = makeIgnore(opts.ignore, opts); + } + // ignore, always set with maxDepth, but it's optional on the + // GlobOptions type + /* c8 ignore start */ + this.maxDepth = opts.maxDepth || Infinity; + /* c8 ignore stop */ + if (opts.signal) { + this.signal = opts.signal; + this.signal.addEventListener('abort', () => { + this.#onResume.length = 0; + }); + } + } + #ignored(path) { + return this.seen.has(path) || !!this.#ignore?.ignored?.(path); + } + #childrenIgnored(path) { + return !!this.#ignore?.childrenIgnored?.(path); + } + // backpressure mechanism + pause() { + this.paused = true; + } + resume() { + /* c8 ignore start */ + if (this.signal?.aborted) + return; + /* c8 ignore stop */ + this.paused = false; + let fn = undefined; + while (!this.paused && (fn = this.#onResume.shift())) { + fn(); + } + } + onResume(fn) { + if (this.signal?.aborted) + return; + /* c8 ignore start */ + if (!this.paused) { + fn(); + } + else { + /* c8 ignore stop */ + this.#onResume.push(fn); + } + } + // do the requisite realpath/stat checking, and return the path + // to add or undefined to filter it out. + async matchCheck(e, ifDir) { + if (ifDir && this.opts.nodir) + return undefined; + let rpc; + if (this.opts.realpath) { + rpc = e.realpathCached() || (await e.realpath()); + if (!rpc) + return undefined; + e = rpc; + } + const needStat = e.isUnknown() || this.opts.stat; + return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir); + } + matchCheckTest(e, ifDir) { + return e && + (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && + (!ifDir || e.canReaddir()) && + (!this.opts.nodir || !e.isDirectory()) && + !this.#ignored(e) + ? e + : undefined; + } + matchCheckSync(e, ifDir) { + if (ifDir && this.opts.nodir) + return undefined; + let rpc; + if (this.opts.realpath) { + rpc = e.realpathCached() || e.realpathSync(); + if (!rpc) + return undefined; + e = rpc; + } + const needStat = e.isUnknown() || this.opts.stat; + return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir); + } + matchFinish(e, absolute) { + if (this.#ignored(e)) + return; + const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute; + this.seen.add(e); + const mark = this.opts.mark && e.isDirectory() ? this.#sep : ''; + // ok, we have what we need! + if (this.opts.withFileTypes) { + this.matchEmit(e); + } + else if (abs) { + const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath(); + this.matchEmit(abs + mark); + } + else { + const rel = this.opts.posix ? e.relativePosix() : e.relative(); + const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep) + ? '.' + this.#sep + : ''; + this.matchEmit(!rel ? '.' + mark : pre + rel + mark); + } + } + async match(e, absolute, ifDir) { + const p = await this.matchCheck(e, ifDir); + if (p) + this.matchFinish(p, absolute); + } + matchSync(e, absolute, ifDir) { + const p = this.matchCheckSync(e, ifDir); + if (p) + this.matchFinish(p, absolute); + } + walkCB(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) + cb(); + /* c8 ignore stop */ + this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb); + } + walkCB2(target, patterns, processor, cb) { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) + cb(); + if (this.paused) { + this.onResume(() => this.walkCB2(target, patterns, processor, cb)); + return; + } + processor.processPatterns(target, patterns); + // done processing. all of the above is sync, can be abstracted out. + // subwalks is a map of paths to the entry filters they need + // matches is a map of paths to [absolute, ifDir] tuples. + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + tasks++; + this.match(m, absolute, ifDir).then(() => next()); + } + for (const t of processor.subwalkTargets()) { + if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) { + continue; + } + tasks++; + const childrenCached = t.readdirCached(); + if (t.calledReaddir()) + this.walkCB3(t, childrenCached, processor, next); + else { + t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true); + } + } + next(); + } + walkCB3(target, entries, processor, cb) { + processor = processor.filterEntries(target, entries); + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + tasks++; + this.match(m, absolute, ifDir).then(() => next()); + } + for (const [target, patterns] of processor.subwalks.entries()) { + tasks++; + this.walkCB2(target, patterns, processor.child(), next); + } + next(); + } + walkCBSync(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) + cb(); + /* c8 ignore stop */ + this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb); + } + walkCB2Sync(target, patterns, processor, cb) { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) + cb(); + if (this.paused) { + this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb)); + return; + } + processor.processPatterns(target, patterns); + // done processing. all of the above is sync, can be abstracted out. + // subwalks is a map of paths to the entry filters they need + // matches is a map of paths to [absolute, ifDir] tuples. + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + this.matchSync(m, absolute, ifDir); + } + for (const t of processor.subwalkTargets()) { + if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) { + continue; + } + tasks++; + const children = t.readdirSync(); + this.walkCB3Sync(t, children, processor, next); + } + next(); + } + walkCB3Sync(target, entries, processor, cb) { + processor = processor.filterEntries(target, entries); + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + this.matchSync(m, absolute, ifDir); + } + for (const [target, patterns] of processor.subwalks.entries()) { + tasks++; + this.walkCB2Sync(target, patterns, processor.child(), next); + } + next(); + } +} +exports.GlobUtil = GlobUtil; +class GlobWalker extends GlobUtil { + matches; + constructor(patterns, path, opts) { + super(patterns, path, opts); + this.matches = new Set(); + } + matchEmit(e) { + this.matches.add(e); + } + async walk() { + if (this.signal?.aborted) + throw this.signal.reason; + if (this.path.isUnknown()) { + await this.path.lstat(); + } + await new Promise((res, rej) => { + this.walkCB(this.path, this.patterns, () => { + if (this.signal?.aborted) { + rej(this.signal.reason); + } + else { + res(this.matches); + } + }); + }); + return this.matches; + } + walkSync() { + if (this.signal?.aborted) + throw this.signal.reason; + if (this.path.isUnknown()) { + this.path.lstatSync(); + } + // nothing for the callback to do, because this never pauses + this.walkCBSync(this.path, this.patterns, () => { + if (this.signal?.aborted) + throw this.signal.reason; + }); + return this.matches; + } +} +exports.GlobWalker = GlobWalker; +class GlobStream extends GlobUtil { + results; + constructor(patterns, path, opts) { + super(patterns, path, opts); + this.results = new minipass_1.Minipass({ + signal: this.signal, + objectMode: true, + }); + this.results.on('drain', () => this.resume()); + this.results.on('resume', () => this.resume()); + } + matchEmit(e) { + this.results.write(e); + if (!this.results.flowing) + this.pause(); + } + stream() { + const target = this.path; + if (target.isUnknown()) { + target.lstat().then(() => { + this.walkCB(target, this.patterns, () => this.results.end()); + }); + } + else { + this.walkCB(target, this.patterns, () => this.results.end()); + } + return this.results; + } + streamSync() { + if (this.path.isUnknown()) { + this.path.lstatSync(); + } + this.walkCBSync(this.path, this.patterns, () => this.results.end()); + return this.results; + } +} +exports.GlobStream = GlobStream; +//# sourceMappingURL=walker.js.map + +/***/ }), + +/***/ 72159: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +/** + * @module LRUCache + */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LRUCache = void 0; +const perf = typeof performance === 'object' && + performance && + typeof performance.now === 'function' + ? performance + : Date; +const warned = new Set(); +/* c8 ignore start */ +const PROCESS = (typeof process === 'object' && !!process ? process : {}); +/* c8 ignore start */ +const emitWarning = (msg, type, code, fn) => { + typeof PROCESS.emitWarning === 'function' + ? PROCESS.emitWarning(msg, type, code, fn) + : console.error(`[${code}] ${type}: ${msg}`); +}; +let AC = globalThis.AbortController; +let AS = globalThis.AbortSignal; +/* c8 ignore start */ +if (typeof AC === 'undefined') { + //@ts-ignore + AS = class AbortSignal { + onabort; + _onabort = []; + reason; + aborted = false; + addEventListener(_, fn) { + this._onabort.push(fn); + } + }; + //@ts-ignore + AC = class AbortController { + constructor() { + warnACPolyfill(); + } + signal = new AS(); + abort(reason) { + if (this.signal.aborted) + return; + //@ts-ignore + this.signal.reason = reason; + //@ts-ignore + this.signal.aborted = true; + //@ts-ignore + for (const fn of this.signal._onabort) { + fn(reason); + } + this.signal.onabort?.(reason); + } + }; + let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'; + const warnACPolyfill = () => { + if (!printACPolyfillWarning) + return; + printACPolyfillWarning = false; + emitWarning('AbortController is not defined. If using lru-cache in ' + + 'node 14, load an AbortController polyfill from the ' + + '`node-abort-controller` package. A minimal polyfill is ' + + 'provided for use by LRUCache.fetch(), but it should not be ' + + 'relied upon in other contexts (eg, passing it to other APIs that ' + + 'use AbortController/AbortSignal might have undesirable effects). ' + + 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill); + }; +} +/* c8 ignore stop */ +const shouldWarn = (code) => !warned.has(code); +const TYPE = Symbol('type'); +const isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); +/* c8 ignore start */ +// This is a little bit ridiculous, tbh. +// The maximum array length is 2^32-1 or thereabouts on most JS impls. +// And well before that point, you're caching the entire world, I mean, +// that's ~32GB of just integers for the next/prev links, plus whatever +// else to hold that many keys and values. Just filling the memory with +// zeroes at init time is brutal when you get that big. +// But why not be complete? +// Maybe in the future, these limits will have expanded. +const getUintArray = (max) => !isPosInt(max) + ? null + : max <= Math.pow(2, 8) + ? Uint8Array + : max <= Math.pow(2, 16) + ? Uint16Array + : max <= Math.pow(2, 32) + ? Uint32Array + : max <= Number.MAX_SAFE_INTEGER + ? ZeroArray + : null; +/* c8 ignore stop */ +class ZeroArray extends Array { + constructor(size) { + super(size); + this.fill(0); + } +} +class Stack { + heap; + length; + // private constructor + static #constructing = false; + static create(max) { + const HeapCls = getUintArray(max); + if (!HeapCls) + return []; + Stack.#constructing = true; + const s = new Stack(max, HeapCls); + Stack.#constructing = false; + return s; + } + constructor(max, HeapCls) { + /* c8 ignore start */ + if (!Stack.#constructing) { + throw new TypeError('instantiate Stack using Stack.create(n)'); + } + /* c8 ignore stop */ + this.heap = new HeapCls(max); + this.length = 0; + } + push(n) { + this.heap[this.length++] = n; + } + pop() { + return this.heap[--this.length]; + } +} +/** + * Default export, the thing you're using this module to get. + * + * All properties from the options object (with the exception of + * {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as + * normal public members. (`max` and `maxBase` are read-only getters.) + * Changing any of these will alter the defaults for subsequent method calls, + * but is otherwise safe. + */ +class LRUCache { + // properties coming in from the options of these, only max and maxSize + // really *need* to be protected. The rest can be modified, as they just + // set defaults for various methods. + #max; + #maxSize; + #dispose; + #disposeAfter; + #fetchMethod; + /** + * {@link LRUCache.OptionsBase.ttl} + */ + ttl; + /** + * {@link LRUCache.OptionsBase.ttlResolution} + */ + ttlResolution; + /** + * {@link LRUCache.OptionsBase.ttlAutopurge} + */ + ttlAutopurge; + /** + * {@link LRUCache.OptionsBase.updateAgeOnGet} + */ + updateAgeOnGet; + /** + * {@link LRUCache.OptionsBase.updateAgeOnHas} + */ + updateAgeOnHas; + /** + * {@link LRUCache.OptionsBase.allowStale} + */ + allowStale; + /** + * {@link LRUCache.OptionsBase.noDisposeOnSet} + */ + noDisposeOnSet; + /** + * {@link LRUCache.OptionsBase.noUpdateTTL} + */ + noUpdateTTL; + /** + * {@link LRUCache.OptionsBase.maxEntrySize} + */ + maxEntrySize; + /** + * {@link LRUCache.OptionsBase.sizeCalculation} + */ + sizeCalculation; + /** + * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} + */ + noDeleteOnFetchRejection; + /** + * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} + */ + noDeleteOnStaleGet; + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} + */ + allowStaleOnFetchAbort; + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} + */ + allowStaleOnFetchRejection; + /** + * {@link LRUCache.OptionsBase.ignoreFetchAbort} + */ + ignoreFetchAbort; + // computed properties + #size; + #calculatedSize; + #keyMap; + #keyList; + #valList; + #next; + #prev; + #head; + #tail; + #free; + #disposed; + #sizes; + #starts; + #ttls; + #hasDispose; + #hasFetchMethod; + #hasDisposeAfter; + /** + * Do not call this method unless you need to inspect the + * inner workings of the cache. If anything returned by this + * object is modified in any way, strange breakage may occur. + * + * These fields are private for a reason! + * + * @internal + */ + static unsafeExposeInternals(c) { + return { + // properties + starts: c.#starts, + ttls: c.#ttls, + sizes: c.#sizes, + keyMap: c.#keyMap, + keyList: c.#keyList, + valList: c.#valList, + next: c.#next, + prev: c.#prev, + get head() { + return c.#head; + }, + get tail() { + return c.#tail; + }, + free: c.#free, + // methods + isBackgroundFetch: (p) => c.#isBackgroundFetch(p), + backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context), + moveToTail: (index) => c.#moveToTail(index), + indexes: (options) => c.#indexes(options), + rindexes: (options) => c.#rindexes(options), + isStale: (index) => c.#isStale(index), + }; + } + // Protected read-only members + /** + * {@link LRUCache.OptionsBase.max} (read-only) + */ + get max() { + return this.#max; + } + /** + * {@link LRUCache.OptionsBase.maxSize} (read-only) + */ + get maxSize() { + return this.#maxSize; + } + /** + * The total computed size of items in the cache (read-only) + */ + get calculatedSize() { + return this.#calculatedSize; + } + /** + * The number of items stored in the cache (read-only) + */ + get size() { + return this.#size; + } + /** + * {@link LRUCache.OptionsBase.fetchMethod} (read-only) + */ + get fetchMethod() { + return this.#fetchMethod; + } + /** + * {@link LRUCache.OptionsBase.dispose} (read-only) + */ + get dispose() { + return this.#dispose; + } + /** + * {@link LRUCache.OptionsBase.disposeAfter} (read-only) + */ + get disposeAfter() { + return this.#disposeAfter; + } + constructor(options) { + const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options; + if (max !== 0 && !isPosInt(max)) { + throw new TypeError('max option must be a nonnegative integer'); + } + const UintArray = max ? getUintArray(max) : Array; + if (!UintArray) { + throw new Error('invalid max value: ' + max); + } + this.#max = max; + this.#maxSize = maxSize; + this.maxEntrySize = maxEntrySize || this.#maxSize; + this.sizeCalculation = sizeCalculation; + if (this.sizeCalculation) { + if (!this.#maxSize && !this.maxEntrySize) { + throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize'); + } + if (typeof this.sizeCalculation !== 'function') { + throw new TypeError('sizeCalculation set to non-function'); + } + } + if (fetchMethod !== undefined && + typeof fetchMethod !== 'function') { + throw new TypeError('fetchMethod must be a function if specified'); + } + this.#fetchMethod = fetchMethod; + this.#hasFetchMethod = !!fetchMethod; + this.#keyMap = new Map(); + this.#keyList = new Array(max).fill(undefined); + this.#valList = new Array(max).fill(undefined); + this.#next = new UintArray(max); + this.#prev = new UintArray(max); + this.#head = 0; + this.#tail = 0; + this.#free = Stack.create(max); + this.#size = 0; + this.#calculatedSize = 0; + if (typeof dispose === 'function') { + this.#dispose = dispose; + } + if (typeof disposeAfter === 'function') { + this.#disposeAfter = disposeAfter; + this.#disposed = []; + } + else { + this.#disposeAfter = undefined; + this.#disposed = undefined; + } + this.#hasDispose = !!this.#dispose; + this.#hasDisposeAfter = !!this.#disposeAfter; + this.noDisposeOnSet = !!noDisposeOnSet; + this.noUpdateTTL = !!noUpdateTTL; + this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; + this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; + this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; + this.ignoreFetchAbort = !!ignoreFetchAbort; + // NB: maxEntrySize is set to maxSize if it's set + if (this.maxEntrySize !== 0) { + if (this.#maxSize !== 0) { + if (!isPosInt(this.#maxSize)) { + throw new TypeError('maxSize must be a positive integer if specified'); + } + } + if (!isPosInt(this.maxEntrySize)) { + throw new TypeError('maxEntrySize must be a positive integer if specified'); + } + this.#initializeSizeTracking(); + } + this.allowStale = !!allowStale; + this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; + this.updateAgeOnGet = !!updateAgeOnGet; + this.updateAgeOnHas = !!updateAgeOnHas; + this.ttlResolution = + isPosInt(ttlResolution) || ttlResolution === 0 + ? ttlResolution + : 1; + this.ttlAutopurge = !!ttlAutopurge; + this.ttl = ttl || 0; + if (this.ttl) { + if (!isPosInt(this.ttl)) { + throw new TypeError('ttl must be a positive integer if specified'); + } + this.#initializeTTLTracking(); + } + // do not allow completely unbounded caches + if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) { + throw new TypeError('At least one of max, maxSize, or ttl is required'); + } + if (!this.ttlAutopurge && !this.#max && !this.#maxSize) { + const code = 'LRU_CACHE_UNBOUNDED'; + if (shouldWarn(code)) { + warned.add(code); + const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' + + 'result in unbounded memory consumption.'; + emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache); + } + } + } + /** + * Return the remaining TTL time for a given entry key + */ + getRemainingTTL(key) { + return this.#keyMap.has(key) ? Infinity : 0; + } + #initializeTTLTracking() { + const ttls = new ZeroArray(this.#max); + const starts = new ZeroArray(this.#max); + this.#ttls = ttls; + this.#starts = starts; + this.#setItemTTL = (index, ttl, start = perf.now()) => { + starts[index] = ttl !== 0 ? start : 0; + ttls[index] = ttl; + if (ttl !== 0 && this.ttlAutopurge) { + const t = setTimeout(() => { + if (this.#isStale(index)) { + this.delete(this.#keyList[index]); + } + }, ttl + 1); + // unref() not supported on all platforms + /* c8 ignore start */ + if (t.unref) { + t.unref(); + } + /* c8 ignore stop */ + } + }; + this.#updateItemAge = index => { + starts[index] = ttls[index] !== 0 ? perf.now() : 0; + }; + this.#statusTTL = (status, index) => { + if (ttls[index]) { + const ttl = ttls[index]; + const start = starts[index]; + status.ttl = ttl; + status.start = start; + status.now = cachedNow || getNow(); + const age = status.now - start; + status.remainingTTL = ttl - age; + } + }; + // debounce calls to perf.now() to 1s so we're not hitting + // that costly call repeatedly. + let cachedNow = 0; + const getNow = () => { + const n = perf.now(); + if (this.ttlResolution > 0) { + cachedNow = n; + const t = setTimeout(() => (cachedNow = 0), this.ttlResolution); + // not available on all platforms + /* c8 ignore start */ + if (t.unref) { + t.unref(); + } + /* c8 ignore stop */ + } + return n; + }; + this.getRemainingTTL = key => { + const index = this.#keyMap.get(key); + if (index === undefined) { + return 0; + } + const ttl = ttls[index]; + const start = starts[index]; + if (ttl === 0 || start === 0) { + return Infinity; + } + const age = (cachedNow || getNow()) - start; + return ttl - age; + }; + this.#isStale = index => { + return (ttls[index] !== 0 && + starts[index] !== 0 && + (cachedNow || getNow()) - starts[index] > ttls[index]); + }; + } + // conditionally set private methods related to TTL + #updateItemAge = () => { }; + #statusTTL = () => { }; + #setItemTTL = () => { }; + /* c8 ignore stop */ + #isStale = () => false; + #initializeSizeTracking() { + const sizes = new ZeroArray(this.#max); + this.#calculatedSize = 0; + this.#sizes = sizes; + this.#removeItemSize = index => { + this.#calculatedSize -= sizes[index]; + sizes[index] = 0; + }; + this.#requireSize = (k, v, size, sizeCalculation) => { + // provisionally accept background fetches. + // actual value size will be checked when they return. + if (this.#isBackgroundFetch(v)) { + return 0; + } + if (!isPosInt(size)) { + if (sizeCalculation) { + if (typeof sizeCalculation !== 'function') { + throw new TypeError('sizeCalculation must be a function'); + } + size = sizeCalculation(v, k); + if (!isPosInt(size)) { + throw new TypeError('sizeCalculation return invalid (expect positive integer)'); + } + } + else { + throw new TypeError('invalid size value (must be positive integer). ' + + 'When maxSize or maxEntrySize is used, sizeCalculation ' + + 'or size must be set.'); + } + } + return size; + }; + this.#addItemSize = (index, size, status) => { + sizes[index] = size; + if (this.#maxSize) { + const maxSize = this.#maxSize - sizes[index]; + while (this.#calculatedSize > maxSize) { + this.#evict(true); + } + } + this.#calculatedSize += sizes[index]; + if (status) { + status.entrySize = size; + status.totalCalculatedSize = this.#calculatedSize; + } + }; + } + #removeItemSize = _i => { }; + #addItemSize = (_i, _s, _st) => { }; + #requireSize = (_k, _v, size, sizeCalculation) => { + if (size || sizeCalculation) { + throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache'); + } + return 0; + }; + *#indexes({ allowStale = this.allowStale } = {}) { + if (this.#size) { + for (let i = this.#tail; true;) { + if (!this.#isValidIndex(i)) { + break; + } + if (allowStale || !this.#isStale(i)) { + yield i; + } + if (i === this.#head) { + break; + } + else { + i = this.#prev[i]; + } + } + } + } + *#rindexes({ allowStale = this.allowStale } = {}) { + if (this.#size) { + for (let i = this.#head; true;) { + if (!this.#isValidIndex(i)) { + break; + } + if (allowStale || !this.#isStale(i)) { + yield i; + } + if (i === this.#tail) { + break; + } + else { + i = this.#next[i]; + } + } + } + } + #isValidIndex(index) { + return (index !== undefined && + this.#keyMap.get(this.#keyList[index]) === index); + } + /** + * Return a generator yielding `[key, value]` pairs, + * in order from most recently used to least recently used. + */ + *entries() { + for (const i of this.#indexes()) { + if (this.#valList[i] !== undefined && + this.#keyList[i] !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield [this.#keyList[i], this.#valList[i]]; + } + } + } + /** + * Inverse order version of {@link LRUCache.entries} + * + * Return a generator yielding `[key, value]` pairs, + * in order from least recently used to most recently used. + */ + *rentries() { + for (const i of this.#rindexes()) { + if (this.#valList[i] !== undefined && + this.#keyList[i] !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield [this.#keyList[i], this.#valList[i]]; + } + } + } + /** + * Return a generator yielding the keys in the cache, + * in order from most recently used to least recently used. + */ + *keys() { + for (const i of this.#indexes()) { + const k = this.#keyList[i]; + if (k !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield k; + } + } + } + /** + * Inverse order version of {@link LRUCache.keys} + * + * Return a generator yielding the keys in the cache, + * in order from least recently used to most recently used. + */ + *rkeys() { + for (const i of this.#rindexes()) { + const k = this.#keyList[i]; + if (k !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield k; + } + } + } + /** + * Return a generator yielding the values in the cache, + * in order from most recently used to least recently used. + */ + *values() { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + if (v !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield this.#valList[i]; + } + } + } + /** + * Inverse order version of {@link LRUCache.values} + * + * Return a generator yielding the values in the cache, + * in order from least recently used to most recently used. + */ + *rvalues() { + for (const i of this.#rindexes()) { + const v = this.#valList[i]; + if (v !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield this.#valList[i]; + } + } + } + /** + * Iterating over the cache itself yields the same results as + * {@link LRUCache.entries} + */ + [Symbol.iterator]() { + return this.entries(); + } + /** + * Find a value for which the supplied fn method returns a truthy value, + * similar to Array.find(). fn is called as fn(value, key, cache). + */ + find(fn, getOptions = {}) { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + if (fn(value, this.#keyList[i], this)) { + return this.get(this.#keyList[i], getOptions); + } + } + } + /** + * Call the supplied function on each item in the cache, in order from + * most recently used to least recently used. fn is called as + * fn(value, key, cache). Does not update age or recenty of use. + * Does not iterate over stale values. + */ + forEach(fn, thisp = this) { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + fn.call(thisp, value, this.#keyList[i], this); + } + } + /** + * The same as {@link LRUCache.forEach} but items are iterated over in + * reverse order. (ie, less recently used items are iterated over first.) + */ + rforEach(fn, thisp = this) { + for (const i of this.#rindexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + fn.call(thisp, value, this.#keyList[i], this); + } + } + /** + * Delete any stale entries. Returns true if anything was removed, + * false otherwise. + */ + purgeStale() { + let deleted = false; + for (const i of this.#rindexes({ allowStale: true })) { + if (this.#isStale(i)) { + this.delete(this.#keyList[i]); + deleted = true; + } + } + return deleted; + } + /** + * Return an array of [key, {@link LRUCache.Entry}] tuples which can be + * passed to cache.load() + */ + dump() { + const arr = []; + for (const i of this.#indexes({ allowStale: true })) { + const key = this.#keyList[i]; + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined || key === undefined) + continue; + const entry = { value }; + if (this.#ttls && this.#starts) { + entry.ttl = this.#ttls[i]; + // always dump the start relative to a portable timestamp + // it's ok for this to be a bit slow, it's a rare operation. + const age = perf.now() - this.#starts[i]; + entry.start = Math.floor(Date.now() - age); + } + if (this.#sizes) { + entry.size = this.#sizes[i]; + } + arr.unshift([key, entry]); + } + return arr; + } + /** + * Reset the cache and load in the items in entries in the order listed. + * Note that the shape of the resulting cache may be different if the + * same options are not used in both caches. + */ + load(arr) { + this.clear(); + for (const [key, entry] of arr) { + if (entry.start) { + // entry.start is a portable timestamp, but we may be using + // node's performance.now(), so calculate the offset, so that + // we get the intended remaining TTL, no matter how long it's + // been on ice. + // + // it's ok for this to be a bit slow, it's a rare operation. + const age = Date.now() - entry.start; + entry.start = perf.now() - age; + } + this.set(key, entry.value, entry); + } + } + /** + * Add a value to the cache. + * + * Note: if `undefined` is specified as a value, this is an alias for + * {@link LRUCache#delete} + */ + set(k, v, setOptions = {}) { + if (v === undefined) { + this.delete(k); + return this; + } + const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions; + let { noUpdateTTL = this.noUpdateTTL } = setOptions; + const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation); + // if the item doesn't fit, don't do anything + // NB: maxEntrySize set to maxSize by default + if (this.maxEntrySize && size > this.maxEntrySize) { + if (status) { + status.set = 'miss'; + status.maxEntrySizeExceeded = true; + } + // have to delete, in case something is there already. + this.delete(k); + return this; + } + let index = this.#size === 0 ? undefined : this.#keyMap.get(k); + if (index === undefined) { + // addition + index = (this.#size === 0 + ? this.#tail + : this.#free.length !== 0 + ? this.#free.pop() + : this.#size === this.#max + ? this.#evict(false) + : this.#size); + this.#keyList[index] = k; + this.#valList[index] = v; + this.#keyMap.set(k, index); + this.#next[this.#tail] = index; + this.#prev[index] = this.#tail; + this.#tail = index; + this.#size++; + this.#addItemSize(index, size, status); + if (status) + status.set = 'add'; + noUpdateTTL = false; + } + else { + // update + this.#moveToTail(index); + const oldVal = this.#valList[index]; + if (v !== oldVal) { + if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) { + oldVal.__abortController.abort(new Error('replaced')); + const { __staleWhileFetching: s } = oldVal; + if (s !== undefined && !noDisposeOnSet) { + if (this.#hasDispose) { + this.#dispose?.(s, k, 'set'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([s, k, 'set']); + } + } + } + else if (!noDisposeOnSet) { + if (this.#hasDispose) { + this.#dispose?.(oldVal, k, 'set'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([oldVal, k, 'set']); + } + } + this.#removeItemSize(index); + this.#addItemSize(index, size, status); + this.#valList[index] = v; + if (status) { + status.set = 'replace'; + const oldValue = oldVal && this.#isBackgroundFetch(oldVal) + ? oldVal.__staleWhileFetching + : oldVal; + if (oldValue !== undefined) + status.oldValue = oldValue; + } + } + else if (status) { + status.set = 'update'; + } + } + if (ttl !== 0 && !this.#ttls) { + this.#initializeTTLTracking(); + } + if (this.#ttls) { + if (!noUpdateTTL) { + this.#setItemTTL(index, ttl, start); + } + if (status) + this.#statusTTL(status, index); + } + if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + return this; + } + /** + * Evict the least recently used item, returning its value or + * `undefined` if cache is empty. + */ + pop() { + try { + while (this.#size) { + const val = this.#valList[this.#head]; + this.#evict(true); + if (this.#isBackgroundFetch(val)) { + if (val.__staleWhileFetching) { + return val.__staleWhileFetching; + } + } + else if (val !== undefined) { + return val; + } + } + } + finally { + if (this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + } + } + #evict(free) { + const head = this.#head; + const k = this.#keyList[head]; + const v = this.#valList[head]; + if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('evicted')); + } + else if (this.#hasDispose || this.#hasDisposeAfter) { + if (this.#hasDispose) { + this.#dispose?.(v, k, 'evict'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, 'evict']); + } + } + this.#removeItemSize(head); + // if we aren't about to use the index, then null these out + if (free) { + this.#keyList[head] = undefined; + this.#valList[head] = undefined; + this.#free.push(head); + } + if (this.#size === 1) { + this.#head = this.#tail = 0; + this.#free.length = 0; + } + else { + this.#head = this.#next[head]; + } + this.#keyMap.delete(k); + this.#size--; + return head; + } + /** + * Check if a key is in the cache, without updating the recency of use. + * Will return false if the item is stale, even though it is technically + * in the cache. + * + * Will not update item age unless + * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. + */ + has(k, hasOptions = {}) { + const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; + const index = this.#keyMap.get(k); + if (index !== undefined) { + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v) && + v.__staleWhileFetching === undefined) { + return false; + } + if (!this.#isStale(index)) { + if (updateAgeOnHas) { + this.#updateItemAge(index); + } + if (status) { + status.has = 'hit'; + this.#statusTTL(status, index); + } + return true; + } + else if (status) { + status.has = 'stale'; + this.#statusTTL(status, index); + } + } + else if (status) { + status.has = 'miss'; + } + return false; + } + /** + * Like {@link LRUCache#get} but doesn't update recency or delete stale + * items. + * + * Returns `undefined` if the item is stale, unless + * {@link LRUCache.OptionsBase.allowStale} is set. + */ + peek(k, peekOptions = {}) { + const { allowStale = this.allowStale } = peekOptions; + const index = this.#keyMap.get(k); + if (index !== undefined && + (allowStale || !this.#isStale(index))) { + const v = this.#valList[index]; + // either stale and allowed, or forcing a refresh of non-stale value + return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; + } + } + #backgroundFetch(k, index, options, context) { + const v = index === undefined ? undefined : this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + return v; + } + const ac = new AC(); + const { signal } = options; + // when/if our AC signals, then stop listening to theirs. + signal?.addEventListener('abort', () => ac.abort(signal.reason), { + signal: ac.signal, + }); + const fetchOpts = { + signal: ac.signal, + options, + context, + }; + const cb = (v, updateCache = false) => { + const { aborted } = ac.signal; + const ignoreAbort = options.ignoreFetchAbort && v !== undefined; + if (options.status) { + if (aborted && !updateCache) { + options.status.fetchAborted = true; + options.status.fetchError = ac.signal.reason; + if (ignoreAbort) + options.status.fetchAbortIgnored = true; + } + else { + options.status.fetchResolved = true; + } + } + if (aborted && !ignoreAbort && !updateCache) { + return fetchFail(ac.signal.reason); + } + // either we didn't abort, and are still here, or we did, and ignored + const bf = p; + if (this.#valList[index] === p) { + if (v === undefined) { + if (bf.__staleWhileFetching) { + this.#valList[index] = bf.__staleWhileFetching; + } + else { + this.delete(k); + } + } + else { + if (options.status) + options.status.fetchUpdated = true; + this.set(k, v, fetchOpts.options); + } + } + return v; + }; + const eb = (er) => { + if (options.status) { + options.status.fetchRejected = true; + options.status.fetchError = er; + } + return fetchFail(er); + }; + const fetchFail = (er) => { + const { aborted } = ac.signal; + const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; + const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; + const noDelete = allowStale || options.noDeleteOnFetchRejection; + const bf = p; + if (this.#valList[index] === p) { + // if we allow stale on fetch rejections, then we need to ensure that + // the stale value is not removed from the cache when the fetch fails. + const del = !noDelete || bf.__staleWhileFetching === undefined; + if (del) { + this.delete(k); + } + else if (!allowStaleAborted) { + // still replace the *promise* with the stale value, + // since we are done with the promise at this point. + // leave it untouched if we're still waiting for an + // aborted background fetch that hasn't yet returned. + this.#valList[index] = bf.__staleWhileFetching; + } + } + if (allowStale) { + if (options.status && bf.__staleWhileFetching !== undefined) { + options.status.returnedStale = true; + } + return bf.__staleWhileFetching; + } + else if (bf.__returned === bf) { + throw er; + } + }; + const pcall = (res, rej) => { + const fmp = this.#fetchMethod?.(k, v, fetchOpts); + if (fmp && fmp instanceof Promise) { + fmp.then(v => res(v === undefined ? undefined : v), rej); + } + // ignored, we go until we finish, regardless. + // defer check until we are actually aborting, + // so fetchMethod can override. + ac.signal.addEventListener('abort', () => { + if (!options.ignoreFetchAbort || + options.allowStaleOnFetchAbort) { + res(undefined); + // when it eventually resolves, update the cache. + if (options.allowStaleOnFetchAbort) { + res = v => cb(v, true); + } + } + }); + }; + if (options.status) + options.status.fetchDispatched = true; + const p = new Promise(pcall).then(cb, eb); + const bf = Object.assign(p, { + __abortController: ac, + __staleWhileFetching: v, + __returned: undefined, + }); + if (index === undefined) { + // internal, don't expose status. + this.set(k, bf, { ...fetchOpts.options, status: undefined }); + index = this.#keyMap.get(k); + } + else { + this.#valList[index] = bf; + } + return bf; + } + #isBackgroundFetch(p) { + if (!this.#hasFetchMethod) + return false; + const b = p; + return (!!b && + b instanceof Promise && + b.hasOwnProperty('__staleWhileFetching') && + b.__abortController instanceof AC); + } + async fetch(k, fetchOptions = {}) { + const { + // get options + allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, + // set options + ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, + // fetch exclusive options + noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions; + if (!this.#hasFetchMethod) { + if (status) + status.fetch = 'get'; + return this.get(k, { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + status, + }); + } + const options = { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + ttl, + noDisposeOnSet, + size, + sizeCalculation, + noUpdateTTL, + noDeleteOnFetchRejection, + allowStaleOnFetchRejection, + allowStaleOnFetchAbort, + ignoreFetchAbort, + status, + signal, + }; + let index = this.#keyMap.get(k); + if (index === undefined) { + if (status) + status.fetch = 'miss'; + const p = this.#backgroundFetch(k, index, options, context); + return (p.__returned = p); + } + else { + // in cache, maybe already fetching + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + const stale = allowStale && v.__staleWhileFetching !== undefined; + if (status) { + status.fetch = 'inflight'; + if (stale) + status.returnedStale = true; + } + return stale ? v.__staleWhileFetching : (v.__returned = v); + } + // if we force a refresh, that means do NOT serve the cached value, + // unless we are already in the process of refreshing the cache. + const isStale = this.#isStale(index); + if (!forceRefresh && !isStale) { + if (status) + status.fetch = 'hit'; + this.#moveToTail(index); + if (updateAgeOnGet) { + this.#updateItemAge(index); + } + if (status) + this.#statusTTL(status, index); + return v; + } + // ok, it is stale or a forced refresh, and not already fetching. + // refresh the cache. + const p = this.#backgroundFetch(k, index, options, context); + const hasStale = p.__staleWhileFetching !== undefined; + const staleVal = hasStale && allowStale; + if (status) { + status.fetch = isStale ? 'stale' : 'refresh'; + if (staleVal && isStale) + status.returnedStale = true; + } + return staleVal ? p.__staleWhileFetching : (p.__returned = p); + } + } + /** + * Return a value from the cache. Will update the recency of the cache + * entry found. + * + * If the key is not found, get() will return `undefined`. + */ + get(k, getOptions = {}) { + const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions; + const index = this.#keyMap.get(k); + if (index !== undefined) { + const value = this.#valList[index]; + const fetching = this.#isBackgroundFetch(value); + if (status) + this.#statusTTL(status, index); + if (this.#isStale(index)) { + if (status) + status.get = 'stale'; + // delete only if not an in-flight background fetch + if (!fetching) { + if (!noDeleteOnStaleGet) { + this.delete(k); + } + if (status && allowStale) + status.returnedStale = true; + return allowStale ? value : undefined; + } + else { + if (status && + allowStale && + value.__staleWhileFetching !== undefined) { + status.returnedStale = true; + } + return allowStale ? value.__staleWhileFetching : undefined; + } + } + else { + if (status) + status.get = 'hit'; + // if we're currently fetching it, we don't actually have it yet + // it's not stale, which means this isn't a staleWhileRefetching. + // If it's not stale, and fetching, AND has a __staleWhileFetching + // value, then that means the user fetched with {forceRefresh:true}, + // so it's safe to return that value. + if (fetching) { + return value.__staleWhileFetching; + } + this.#moveToTail(index); + if (updateAgeOnGet) { + this.#updateItemAge(index); + } + return value; + } + } + else if (status) { + status.get = 'miss'; + } + } + #connect(p, n) { + this.#prev[n] = p; + this.#next[p] = n; + } + #moveToTail(index) { + // if tail already, nothing to do + // if head, move head to next[index] + // else + // move next[prev[index]] to next[index] (head has no prev) + // move prev[next[index]] to prev[index] + // prev[index] = tail + // next[tail] = index + // tail = index + if (index !== this.#tail) { + if (index === this.#head) { + this.#head = this.#next[index]; + } + else { + this.#connect(this.#prev[index], this.#next[index]); + } + this.#connect(this.#tail, index); + this.#tail = index; + } + } + /** + * Deletes a key out of the cache. + * Returns true if the key was deleted, false otherwise. + */ + delete(k) { + let deleted = false; + if (this.#size !== 0) { + const index = this.#keyMap.get(k); + if (index !== undefined) { + deleted = true; + if (this.#size === 1) { + this.clear(); + } + else { + this.#removeItemSize(index); + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('deleted')); + } + else if (this.#hasDispose || this.#hasDisposeAfter) { + if (this.#hasDispose) { + this.#dispose?.(v, k, 'delete'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, 'delete']); + } + } + this.#keyMap.delete(k); + this.#keyList[index] = undefined; + this.#valList[index] = undefined; + if (index === this.#tail) { + this.#tail = this.#prev[index]; + } + else if (index === this.#head) { + this.#head = this.#next[index]; + } + else { + this.#next[this.#prev[index]] = this.#next[index]; + this.#prev[this.#next[index]] = this.#prev[index]; + } + this.#size--; + this.#free.push(index); + } + } + } + if (this.#hasDisposeAfter && this.#disposed?.length) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + return deleted; + } + /** + * Clear the cache entirely, throwing away all values. + */ + clear() { + for (const index of this.#rindexes({ allowStale: true })) { + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('deleted')); + } + else { + const k = this.#keyList[index]; + if (this.#hasDispose) { + this.#dispose?.(v, k, 'delete'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, 'delete']); + } + } + } + this.#keyMap.clear(); + this.#valList.fill(undefined); + this.#keyList.fill(undefined); + if (this.#ttls && this.#starts) { + this.#ttls.fill(0); + this.#starts.fill(0); + } + if (this.#sizes) { + this.#sizes.fill(0); + } + this.#head = 0; + this.#tail = 0; + this.#free.length = 0; + this.#calculatedSize = 0; + this.#size = 0; + if (this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + } +} +exports.LRUCache = LRUCache; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 28736: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.assertValidPattern = void 0; +const MAX_PATTERN_LENGTH = 1024 * 64; +const assertValidPattern = (pattern) => { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern'); + } + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long'); + } +}; +exports.assertValidPattern = assertValidPattern; +//# sourceMappingURL=assert-valid-pattern.js.map + +/***/ }), + +/***/ 80666: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +// parse a single path portion +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AST = void 0; +const brace_expressions_js_1 = __webpack_require__(4327); +const unescape_js_1 = __webpack_require__(91831); +const types = new Set(['!', '?', '+', '*', '@']); +const isExtglobType = (c) => types.has(c); +// Patterns that get prepended to bind to the start of either the +// entire string, or just a single path portion, to prevent dots +// and/or traversal patterns, when needed. +// Exts don't need the ^ or / bit, because the root binds that already. +const startNoTraversal = '(?!(?:^|/)\\.\\.?(?:$|/))'; +const startNoDot = '(?!\\.)'; +// characters that indicate a start of pattern needs the "no dots" bit, +// because a dot *might* be matched. ( is not in the list, because in +// the case of a child extglob, it will handle the prevention itself. +const addPatternStart = new Set(['[', '.']); +// cases where traversal is A-OK, no dot prevention needed +const justDots = new Set(['..', '.']); +const reSpecials = new Set('().*{}+?[]^$\\!'); +const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +// any single thing other than / +const qmark = '[^/]'; +// * => any number of characters +const star = qmark + '*?'; +// use + when we need to ensure that *something* matches, because the * is +// the only thing in the path portion. +const starNoEmpty = qmark + '+?'; +// remove the \ chars that we added if we end up doing a nonmagic compare +// const deslash = (s: string) => s.replace(/\\(.)/g, '$1') +class AST { + type; + #root; + #hasMagic; + #uflag = false; + #parts = []; + #parent; + #parentIndex; + #negs; + #filledNegs = false; + #options; + #toString; + // set to true if it's an extglob with no children + // (which really means one child of '') + #emptyExt = false; + constructor(type, parent, options = {}) { + this.type = type; + // extglobs are inherently magical + if (type) + this.#hasMagic = true; + this.#parent = parent; + this.#root = this.#parent ? this.#parent.#root : this; + this.#options = this.#root === this ? options : this.#root.#options; + this.#negs = this.#root === this ? [] : this.#root.#negs; + if (type === '!' && !this.#root.#filledNegs) + this.#negs.push(this); + this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0; + } + get hasMagic() { + /* c8 ignore start */ + if (this.#hasMagic !== undefined) + return this.#hasMagic; + /* c8 ignore stop */ + for (const p of this.#parts) { + if (typeof p === 'string') + continue; + if (p.type || p.hasMagic) + return (this.#hasMagic = true); + } + // note: will be undefined until we generate the regexp src and find out + return this.#hasMagic; + } + // reconstructs the pattern + toString() { + if (this.#toString !== undefined) + return this.#toString; + if (!this.type) { + return (this.#toString = this.#parts.map(p => String(p)).join('')); + } + else { + return (this.#toString = + this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')'); + } + } + #fillNegs() { + /* c8 ignore start */ + if (this !== this.#root) + throw new Error('should only call on root'); + if (this.#filledNegs) + return this; + /* c8 ignore stop */ + // call toString() once to fill this out + this.toString(); + this.#filledNegs = true; + let n; + while ((n = this.#negs.pop())) { + if (n.type !== '!') + continue; + // walk up the tree, appending everthing that comes AFTER parentIndex + let p = n; + let pp = p.#parent; + while (pp) { + for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) { + for (const part of n.#parts) { + /* c8 ignore start */ + if (typeof part === 'string') { + throw new Error('string part in extglob AST??'); + } + /* c8 ignore stop */ + part.copyIn(pp.#parts[i]); + } + } + p = pp; + pp = p.#parent; + } + } + return this; + } + push(...parts) { + for (const p of parts) { + if (p === '') + continue; + /* c8 ignore start */ + if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) { + throw new Error('invalid part: ' + p); + } + /* c8 ignore stop */ + this.#parts.push(p); + } + } + toJSON() { + const ret = this.type === null + ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON())) + : [this.type, ...this.#parts.map(p => p.toJSON())]; + if (this.isStart() && !this.type) + ret.unshift([]); + if (this.isEnd() && + (this === this.#root || + (this.#root.#filledNegs && this.#parent?.type === '!'))) { + ret.push({}); + } + return ret; + } + isStart() { + if (this.#root === this) + return true; + // if (this.type) return !!this.#parent?.isStart() + if (!this.#parent?.isStart()) + return false; + if (this.#parentIndex === 0) + return true; + // if everything AHEAD of this is a negation, then it's still the "start" + const p = this.#parent; + for (let i = 0; i < this.#parentIndex; i++) { + const pp = p.#parts[i]; + if (!(pp instanceof AST && pp.type === '!')) { + return false; + } + } + return true; + } + isEnd() { + if (this.#root === this) + return true; + if (this.#parent?.type === '!') + return true; + if (!this.#parent?.isEnd()) + return false; + if (!this.type) + return this.#parent?.isEnd(); + // if not root, it'll always have a parent + /* c8 ignore start */ + const pl = this.#parent ? this.#parent.#parts.length : 0; + /* c8 ignore stop */ + return this.#parentIndex === pl - 1; + } + copyIn(part) { + if (typeof part === 'string') + this.push(part); + else + this.push(part.clone(this)); + } + clone(parent) { + const c = new AST(this.type, parent); + for (const p of this.#parts) { + c.copyIn(p); + } + return c; + } + static #parseAST(str, ast, pos, opt) { + let escaping = false; + let inBrace = false; + let braceStart = -1; + let braceNeg = false; + if (ast.type === null) { + // outside of a extglob, append until we find a start + let i = pos; + let acc = ''; + while (i < str.length) { + const c = str.charAt(i++); + // still accumulate escapes at this point, but we do ignore + // starts that are escaped + if (escaping || c === '\\') { + escaping = !escaping; + acc += c; + continue; + } + if (inBrace) { + if (i === braceStart + 1) { + if (c === '^' || c === '!') { + braceNeg = true; + } + } + else if (c === ']' && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } + else if (c === '[') { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; + } + if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') { + ast.push(acc); + acc = ''; + const ext = new AST(c, ast); + i = AST.#parseAST(str, ext, i, opt); + ast.push(ext); + continue; + } + acc += c; + } + ast.push(acc); + return i; + } + // some kind of extglob, pos is at the ( + // find the next | or ) + let i = pos + 1; + let part = new AST(null, ast); + const parts = []; + let acc = ''; + while (i < str.length) { + const c = str.charAt(i++); + // still accumulate escapes at this point, but we do ignore + // starts that are escaped + if (escaping || c === '\\') { + escaping = !escaping; + acc += c; + continue; + } + if (inBrace) { + if (i === braceStart + 1) { + if (c === '^' || c === '!') { + braceNeg = true; + } + } + else if (c === ']' && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } + else if (c === '[') { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; + } + if (isExtglobType(c) && str.charAt(i) === '(') { + part.push(acc); + acc = ''; + const ext = new AST(c, part); + part.push(ext); + i = AST.#parseAST(str, ext, i, opt); + continue; + } + if (c === '|') { + part.push(acc); + acc = ''; + parts.push(part); + part = new AST(null, ast); + continue; + } + if (c === ')') { + if (acc === '' && ast.#parts.length === 0) { + ast.#emptyExt = true; + } + part.push(acc); + acc = ''; + ast.push(...parts, part); + return i; + } + acc += c; + } + // unfinished extglob + // if we got here, it was a malformed extglob! not an extglob, but + // maybe something else in there. + ast.type = null; + ast.#hasMagic = undefined; + ast.#parts = [str.substring(pos - 1)]; + return i; + } + static fromGlob(pattern, options = {}) { + const ast = new AST(null, undefined, options); + AST.#parseAST(pattern, ast, 0, options); + return ast; + } + // returns the regular expression if there's magic, or the unescaped + // string if not. + toMMPattern() { + // should only be called on root + /* c8 ignore start */ + if (this !== this.#root) + return this.#root.toMMPattern(); + /* c8 ignore stop */ + const glob = this.toString(); + const [re, body, hasMagic, uflag] = this.toRegExpSource(); + // if we're in nocase mode, and not nocaseMagicOnly, then we do + // still need a regular expression if we have to case-insensitively + // match capital/lowercase characters. + const anyMagic = hasMagic || + this.#hasMagic || + (this.#options.nocase && + !this.#options.nocaseMagicOnly && + glob.toUpperCase() !== glob.toLowerCase()); + if (!anyMagic) { + return body; + } + const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : ''); + return Object.assign(new RegExp(`^${re}$`, flags), { + _src: re, + _glob: glob, + }); + } + // returns the string match, the regexp source, whether there's magic + // in the regexp (so a regular expression is required) and whether or + // not the uflag is needed for the regular expression (for posix classes) + // TODO: instead of injecting the start/end at this point, just return + // the BODY of the regexp, along with the start/end portions suitable + // for binding the start/end in either a joined full-path makeRe context + // (where we bind to (^|/), or a standalone matchPart context (where + // we bind to ^, and not /). Otherwise slashes get duped! + // + // In part-matching mode, the start is: + // - if not isStart: nothing + // - if traversal possible, but not allowed: ^(?!\.\.?$) + // - if dots allowed or not possible: ^ + // - if dots possible and not allowed: ^(?!\.) + // end is: + // - if not isEnd(): nothing + // - else: $ + // + // In full-path matching mode, we put the slash at the START of the + // pattern, so start is: + // - if first pattern: same as part-matching mode + // - if not isStart(): nothing + // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/)) + // - if dots allowed or not possible: / + // - if dots possible and not allowed: /(?!\.) + // end is: + // - if last pattern, same as part-matching mode + // - else nothing + // + // Always put the (?:$|/) on negated tails, though, because that has to be + // there to bind the end of the negated pattern portion, and it's easier to + // just stick it in now rather than try to inject it later in the middle of + // the pattern. + // + // We can just always return the same end, and leave it up to the caller + // to know whether it's going to be used joined or in parts. + // And, if the start is adjusted slightly, can do the same there: + // - if not isStart: nothing + // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$) + // - if dots allowed or not possible: (?:/|^) + // - if dots possible and not allowed: (?:/|^)(?!\.) + // + // But it's better to have a simpler binding without a conditional, for + // performance, so probably better to return both start options. + // + // Then the caller just ignores the end if it's not the first pattern, + // and the start always gets applied. + // + // But that's always going to be $ if it's the ending pattern, or nothing, + // so the caller can just attach $ at the end of the pattern when building. + // + // So the todo is: + // - better detect what kind of start is needed + // - return both flavors of starting pattern + // - attach $ at the end of the pattern when creating the actual RegExp + // + // Ah, but wait, no, that all only applies to the root when the first pattern + // is not an extglob. If the first pattern IS an extglob, then we need all + // that dot prevention biz to live in the extglob portions, because eg + // +(*|.x*) can match .xy but not .yx. + // + // So, return the two flavors if it's #root and the first child is not an + // AST, otherwise leave it to the child AST to handle it, and there, + // use the (?:^|/) style of start binding. + // + // Even simplified further: + // - Since the start for a join is eg /(?!\.) and the start for a part + // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root + // or start or whatever) and prepend ^ or / at the Regexp construction. + toRegExpSource(allowDot) { + const dot = allowDot ?? !!this.#options.dot; + if (this.#root === this) + this.#fillNegs(); + if (!this.type) { + const noEmpty = this.isStart() && this.isEnd(); + const src = this.#parts + .map(p => { + const [re, _, hasMagic, uflag] = typeof p === 'string' + ? AST.#parseGlob(p, this.#hasMagic, noEmpty) + : p.toRegExpSource(allowDot); + this.#hasMagic = this.#hasMagic || hasMagic; + this.#uflag = this.#uflag || uflag; + return re; + }) + .join(''); + let start = ''; + if (this.isStart()) { + if (typeof this.#parts[0] === 'string') { + // this is the string that will match the start of the pattern, + // so we need to protect against dots and such. + // '.' and '..' cannot match unless the pattern is that exactly, + // even if it starts with . or dot:true is set. + const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]); + if (!dotTravAllowed) { + const aps = addPatternStart; + // check if we have a possibility of matching . or .., + // and prevent that. + const needNoTrav = + // dots are allowed, and the pattern starts with [ or . + (dot && aps.has(src.charAt(0))) || + // the pattern starts with \., and then [ or . + (src.startsWith('\\.') && aps.has(src.charAt(2))) || + // the pattern starts with \.\., and then [ or . + (src.startsWith('\\.\\.') && aps.has(src.charAt(4))); + // no need to prevent dots if it can't match a dot, or if a + // sub-pattern will be preventing it anyway. + const needNoDot = !dot && !allowDot && aps.has(src.charAt(0)); + start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''; + } + } + } + // append the "end of path portion" pattern to negation tails + let end = ''; + if (this.isEnd() && + this.#root.#filledNegs && + this.#parent?.type === '!') { + end = '(?:$|\\/)'; + } + const final = start + src + end; + return [ + final, + (0, unescape_js_1.unescape)(src), + (this.#hasMagic = !!this.#hasMagic), + this.#uflag, + ]; + } + // We need to calculate the body *twice* if it's a repeat pattern + // at the start, once in nodot mode, then again in dot mode, so a + // pattern like *(?) can match 'x.y' + const repeated = this.type === '*' || this.type === '+'; + // some kind of extglob + const start = this.type === '!' ? '(?:(?!(?:' : '(?:'; + let body = this.#partsToRegExp(dot); + if (this.isStart() && this.isEnd() && !body && this.type !== '!') { + // invalid extglob, has to at least be *something* present, if it's + // the entire path portion. + const s = this.toString(); + this.#parts = [s]; + this.type = null; + this.#hasMagic = undefined; + return [s, (0, unescape_js_1.unescape)(this.toString()), false, false]; + } + // XXX abstract out this map method + let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot + ? '' + : this.#partsToRegExp(true); + if (bodyDotAllowed === body) { + bodyDotAllowed = ''; + } + if (bodyDotAllowed) { + body = `(?:${body})(?:${bodyDotAllowed})*?`; + } + // an empty !() is exactly equivalent to a starNoEmpty + let final = ''; + if (this.type === '!' && this.#emptyExt) { + final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty; + } + else { + const close = this.type === '!' + ? // !() must match something,but !(x) can match '' + '))' + + (this.isStart() && !dot && !allowDot ? startNoDot : '') + + star + + ')' + : this.type === '@' + ? ')' + : this.type === '?' + ? ')?' + : this.type === '+' && bodyDotAllowed + ? ')' + : this.type === '*' && bodyDotAllowed + ? `)?` + : `)${this.type}`; + final = start + body + close; + } + return [ + final, + (0, unescape_js_1.unescape)(body), + (this.#hasMagic = !!this.#hasMagic), + this.#uflag, + ]; + } + #partsToRegExp(dot) { + return this.#parts + .map(p => { + // extglob ASTs should only contain parent ASTs + /* c8 ignore start */ + if (typeof p === 'string') { + throw new Error('string type in extglob ast??'); + } + /* c8 ignore stop */ + // can ignore hasMagic, because extglobs are already always magic + const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot); + this.#uflag = this.#uflag || uflag; + return re; + }) + .filter(p => !(this.isStart() && this.isEnd()) || !!p) + .join('|'); + } + static #parseGlob(glob, hasMagic, noEmpty = false) { + let escaping = false; + let re = ''; + let uflag = false; + for (let i = 0; i < glob.length; i++) { + const c = glob.charAt(i); + if (escaping) { + escaping = false; + re += (reSpecials.has(c) ? '\\' : '') + c; + continue; + } + if (c === '\\') { + if (i === glob.length - 1) { + re += '\\\\'; + } + else { + escaping = true; + } + continue; + } + if (c === '[') { + const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob, i); + if (consumed) { + re += src; + uflag = uflag || needUflag; + i += consumed - 1; + hasMagic = hasMagic || magic; + continue; + } + } + if (c === '*') { + if (noEmpty && glob === '*') + re += starNoEmpty; + else + re += star; + hasMagic = true; + continue; + } + if (c === '?') { + re += qmark; + hasMagic = true; + continue; + } + re += regExpEscape(c); + } + return [re, (0, unescape_js_1.unescape)(glob), !!hasMagic, uflag]; + } +} +exports.AST = AST; +//# sourceMappingURL=ast.js.map + +/***/ }), + +/***/ 4327: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// translate the various posix character classes into unicode properties +// this works across all unicode locales +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.parseClass = void 0; +// { : [, /u flag required, negated] +const posixClasses = { + '[:alnum:]': ['\\p{L}\\p{Nl}\\p{Nd}', true], + '[:alpha:]': ['\\p{L}\\p{Nl}', true], + '[:ascii:]': ['\\x' + '00-\\x' + '7f', false], + '[:blank:]': ['\\p{Zs}\\t', true], + '[:cntrl:]': ['\\p{Cc}', true], + '[:digit:]': ['\\p{Nd}', true], + '[:graph:]': ['\\p{Z}\\p{C}', true, true], + '[:lower:]': ['\\p{Ll}', true], + '[:print:]': ['\\p{C}', true], + '[:punct:]': ['\\p{P}', true], + '[:space:]': ['\\p{Z}\\t\\r\\n\\v\\f', true], + '[:upper:]': ['\\p{Lu}', true], + '[:word:]': ['\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}', true], + '[:xdigit:]': ['A-Fa-f0-9', false], +}; +// only need to escape a few things inside of brace expressions +// escapes: [ \ ] - +const braceEscape = (s) => s.replace(/[[\]\\-]/g, '\\$&'); +// escape all regexp magic characters +const regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +// everything has already been escaped, we just have to join +const rangesToString = (ranges) => ranges.join(''); +// takes a glob string at a posix brace expression, and returns +// an equivalent regular expression source, and boolean indicating +// whether the /u flag needs to be applied, and the number of chars +// consumed to parse the character class. +// This also removes out of order ranges, and returns ($.) if the +// entire class just no good. +const parseClass = (glob, position) => { + const pos = position; + /* c8 ignore start */ + if (glob.charAt(pos) !== '[') { + throw new Error('not in a brace expression'); + } + /* c8 ignore stop */ + const ranges = []; + const negs = []; + let i = pos + 1; + let sawStart = false; + let uflag = false; + let escaping = false; + let negate = false; + let endPos = pos; + let rangeStart = ''; + WHILE: while (i < glob.length) { + const c = glob.charAt(i); + if ((c === '!' || c === '^') && i === pos + 1) { + negate = true; + i++; + continue; + } + if (c === ']' && sawStart && !escaping) { + endPos = i + 1; + break; + } + sawStart = true; + if (c === '\\') { + if (!escaping) { + escaping = true; + i++; + continue; + } + // escaped \ char, fall through and treat like normal char + } + if (c === '[' && !escaping) { + // either a posix class, a collation equivalent, or just a [ + for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) { + if (glob.startsWith(cls, i)) { + // invalid, [a-[] is fine, but not [a-[:alpha]] + if (rangeStart) { + return ['$.', false, glob.length - pos, true]; + } + i += cls.length; + if (neg) + negs.push(unip); + else + ranges.push(unip); + uflag = uflag || u; + continue WHILE; + } + } + } + // now it's just a normal character, effectively + escaping = false; + if (rangeStart) { + // throw this range away if it's not valid, but others + // can still match. + if (c > rangeStart) { + ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c)); + } + else if (c === rangeStart) { + ranges.push(braceEscape(c)); + } + rangeStart = ''; + i++; + continue; + } + // now might be the start of a range. + // can be either c-d or c-] or c] or c] at this point + if (glob.startsWith('-]', i + 1)) { + ranges.push(braceEscape(c + '-')); + i += 2; + continue; + } + if (glob.startsWith('-', i + 1)) { + rangeStart = c; + i += 2; + continue; + } + // not the start of a range, just a single character + ranges.push(braceEscape(c)); + i++; + } + if (endPos < i) { + // didn't see the end of the class, not a valid class, + // but might still be valid as a literal match. + return ['', false, 0, false]; + } + // if we got no ranges and no negates, then we have a range that + // cannot possibly match anything, and that poisons the whole glob + if (!ranges.length && !negs.length) { + return ['$.', false, glob.length - pos, true]; + } + // if we got one positive range, and it's a single character, then that's + // not actually a magic pattern, it's just that one literal character. + // we should not treat that as "magic", we should just return the literal + // character. [_] is a perfectly valid way to escape glob magic chars. + if (negs.length === 0 && + ranges.length === 1 && + /^\\?.$/.test(ranges[0]) && + !negate) { + const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]; + return [regexpEscape(r), false, endPos - pos, false]; + } + const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'; + const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'; + const comb = ranges.length && negs.length + ? '(' + sranges + '|' + snegs + ')' + : ranges.length + ? sranges + : snegs; + return [comb, uflag, endPos - pos, true]; +}; +exports.parseClass = parseClass; +//# sourceMappingURL=brace-expressions.js.map + +/***/ }), + +/***/ 53030: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.escape = void 0; +/** + * Escape all magic characters in a glob pattern. + * + * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape} + * option is used, then characters are escaped by wrapping in `[]`, because + * a magic character wrapped in a character class can only be satisfied by + * that exact character. In this mode, `\` is _not_ escaped, because it is + * not interpreted as a magic character, but instead as a path separator. + */ +const escape = (s, { windowsPathsNoEscape = false, } = {}) => { + // don't need to escape +@! because we escape the parens + // that make those magic, and escaping ! as [!] isn't valid, + // because [!]] is a valid glob class meaning not ']'. + return windowsPathsNoEscape + ? s.replace(/[?*()[\]]/g, '[$&]') + : s.replace(/[?*()[\]\\]/g, '\\$&'); +}; +exports.escape = escape; +//# sourceMappingURL=escape.js.map + +/***/ }), + +/***/ 35432: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0; +const brace_expansion_1 = __importDefault(__webpack_require__(72882)); +const assert_valid_pattern_js_1 = __webpack_require__(28736); +const ast_js_1 = __webpack_require__(80666); +const escape_js_1 = __webpack_require__(53030); +const unescape_js_1 = __webpack_require__(91831); +const minimatch = (p, pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false; + } + return new Minimatch(pattern, options).match(p); +}; +exports.minimatch = minimatch; +// Optimized checking for the most common glob patterns. +const starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/; +const starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext); +const starDotExtTestDot = (ext) => (f) => f.endsWith(ext); +const starDotExtTestNocase = (ext) => { + ext = ext.toLowerCase(); + return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext); +}; +const starDotExtTestNocaseDot = (ext) => { + ext = ext.toLowerCase(); + return (f) => f.toLowerCase().endsWith(ext); +}; +const starDotStarRE = /^\*+\.\*+$/; +const starDotStarTest = (f) => !f.startsWith('.') && f.includes('.'); +const starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.'); +const dotStarRE = /^\.\*+$/; +const dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.'); +const starRE = /^\*+$/; +const starTest = (f) => f.length !== 0 && !f.startsWith('.'); +const starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..'; +const qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/; +const qmarksTestNocase = ([$0, ext = '']) => { + const noext = qmarksTestNoExt([$0]); + if (!ext) + return noext; + ext = ext.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext); +}; +const qmarksTestNocaseDot = ([$0, ext = '']) => { + const noext = qmarksTestNoExtDot([$0]); + if (!ext) + return noext; + ext = ext.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext); +}; +const qmarksTestDot = ([$0, ext = '']) => { + const noext = qmarksTestNoExtDot([$0]); + return !ext ? noext : (f) => noext(f) && f.endsWith(ext); +}; +const qmarksTest = ([$0, ext = '']) => { + const noext = qmarksTestNoExt([$0]); + return !ext ? noext : (f) => noext(f) && f.endsWith(ext); +}; +const qmarksTestNoExt = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && !f.startsWith('.'); +}; +const qmarksTestNoExtDot = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && f !== '.' && f !== '..'; +}; +/* c8 ignore start */ +const defaultPlatform = (typeof process === 'object' && process + ? (typeof process.env === 'object' && + process.env && + process.env.__MINIMATCH_TESTING_PLATFORM__) || + process.platform + : 'posix'); +const path = { + win32: { sep: '\\' }, + posix: { sep: '/' }, +}; +/* c8 ignore stop */ +exports.sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep; +exports.minimatch.sep = exports.sep; +exports.GLOBSTAR = Symbol('globstar **'); +exports.minimatch.GLOBSTAR = exports.GLOBSTAR; +// any single thing other than / +// don't need to escape / when using new RegExp() +const qmark = '[^/]'; +// * => any number of characters +const star = qmark + '*?'; +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +const twoStarDot = '(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?'; +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +const twoStarNoDot = '(?:(?!(?:\\/|^)\\.).)*?'; +const filter = (pattern, options = {}) => (p) => (0, exports.minimatch)(p, pattern, options); +exports.filter = filter; +exports.minimatch.filter = exports.filter; +const ext = (a, b = {}) => Object.assign({}, a, b); +const defaults = (def) => { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return exports.minimatch; + } + const orig = exports.minimatch; + const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options)); + return Object.assign(m, { + Minimatch: class Minimatch extends orig.Minimatch { + constructor(pattern, options = {}) { + super(pattern, ext(def, options)); + } + static defaults(options) { + return orig.defaults(ext(def, options)).Minimatch; + } + }, + AST: class AST extends orig.AST { + /* c8 ignore start */ + constructor(type, parent, options = {}) { + super(type, parent, ext(def, options)); + } + /* c8 ignore stop */ + static fromGlob(pattern, options = {}) { + return orig.AST.fromGlob(pattern, ext(def, options)); + } + }, + unescape: (s, options = {}) => orig.unescape(s, ext(def, options)), + escape: (s, options = {}) => orig.escape(s, ext(def, options)), + filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)), + defaults: (options) => orig.defaults(ext(def, options)), + makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)), + braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)), + match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)), + sep: orig.sep, + GLOBSTAR: exports.GLOBSTAR, + }); +}; +exports.defaults = defaults; +exports.minimatch.defaults = exports.defaults; +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +const braceExpand = (pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern]; + } + return (0, brace_expansion_1.default)(pattern); +}; +exports.braceExpand = braceExpand; +exports.minimatch.braceExpand = exports.braceExpand; +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe(); +exports.makeRe = makeRe; +exports.minimatch.makeRe = exports.makeRe; +const match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter(f => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); + } + return list; +}; +exports.match = match; +exports.minimatch.match = exports.match; +// replace stuff like \* with * +const globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/; +const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +class Minimatch { + options; + set; + pattern; + windowsPathsNoEscape; + nonegate; + negate; + comment; + empty; + preserveMultipleSlashes; + partial; + globSet; + globParts; + nocase; + isWindows; + platform; + windowsNoMagicRoot; + regexp; + constructor(pattern, options = {}) { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + options = options || {}; + this.options = options; + this.pattern = pattern; + this.platform = options.platform || defaultPlatform; + this.isWindows = this.platform === 'win32'; + this.windowsPathsNoEscape = + !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, '/'); + } + this.preserveMultipleSlashes = !!options.preserveMultipleSlashes; + this.regexp = null; + this.negate = false; + this.nonegate = !!options.nonegate; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.nocase = !!this.options.nocase; + this.windowsNoMagicRoot = + options.windowsNoMagicRoot !== undefined + ? options.windowsNoMagicRoot + : !!(this.isWindows && this.nocase); + this.globSet = []; + this.globParts = []; + this.set = []; + // make the set of regexps etc. + this.make(); + } + hasMagic() { + if (this.options.magicalBraces && this.set.length > 1) { + return true; + } + for (const pattern of this.set) { + for (const part of pattern) { + if (typeof part !== 'string') + return true; + } + } + return false; + } + debug(..._) { } + make() { + const pattern = this.pattern; + const options = this.options; + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + // step 1: figure out negation, etc. + this.parseNegate(); + // step 2: expand braces + this.globSet = [...new Set(this.braceExpand())]; + if (options.debug) { + this.debug = (...args) => console.error(...args); + } + this.debug(this.pattern, this.globSet); + // step 3: now we have a set, so turn each one into a series of + // path-portion matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + // + // First, we preprocess to make the glob pattern sets a bit simpler + // and deduped. There are some perf-killing patterns that can cause + // problems with a glob walk, but we can simplify them down a bit. + const rawGlobParts = this.globSet.map(s => this.slashSplit(s)); + this.globParts = this.preprocess(rawGlobParts); + this.debug(this.pattern, this.globParts); + // glob --> regexps + let set = this.globParts.map((s, _, __) => { + if (this.isWindows && this.windowsNoMagicRoot) { + // check if it's a drive or unc path. + const isUNC = s[0] === '' && + s[1] === '' && + (s[2] === '?' || !globMagic.test(s[2])) && + !globMagic.test(s[3]); + const isDrive = /^[a-z]:/i.test(s[0]); + if (isUNC) { + return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]; + } + else if (isDrive) { + return [s[0], ...s.slice(1).map(ss => this.parse(ss))]; + } + } + return s.map(ss => this.parse(ss)); + }); + this.debug(this.pattern, set); + // filter out everything that didn't compile properly. + this.set = set.filter(s => s.indexOf(false) === -1); + // do not treat the ? in UNC paths as magic + if (this.isWindows) { + for (let i = 0; i < this.set.length; i++) { + const p = this.set[i]; + if (p[0] === '' && + p[1] === '' && + this.globParts[i][2] === '?' && + typeof p[3] === 'string' && + /^[a-z]:$/i.test(p[3])) { + p[2] = '?'; + } + } + } + this.debug(this.pattern, this.set); + } + // various transforms to equivalent pattern sets that are + // faster to process in a filesystem walk. The goal is to + // eliminate what we can, and push all ** patterns as far + // to the right as possible, even if it increases the number + // of patterns that we have to process. + preprocess(globParts) { + // if we're not in globstar mode, then turn all ** into * + if (this.options.noglobstar) { + for (let i = 0; i < globParts.length; i++) { + for (let j = 0; j < globParts[i].length; j++) { + if (globParts[i][j] === '**') { + globParts[i][j] = '*'; + } + } + } + } + const { optimizationLevel = 1 } = this.options; + if (optimizationLevel >= 2) { + // aggressive optimization for the purpose of fs walking + globParts = this.firstPhasePreProcess(globParts); + globParts = this.secondPhasePreProcess(globParts); + } + else if (optimizationLevel >= 1) { + // just basic optimizations to remove some .. parts + globParts = this.levelOneOptimize(globParts); + } + else { + globParts = this.adjascentGlobstarOptimize(globParts); + } + return globParts; + } + // just get rid of adjascent ** portions + adjascentGlobstarOptimize(globParts) { + return globParts.map(parts => { + let gs = -1; + while (-1 !== (gs = parts.indexOf('**', gs + 1))) { + let i = gs; + while (parts[i + 1] === '**') { + i++; + } + if (i !== gs) { + parts.splice(gs, i - gs); + } + } + return parts; + }); + } + // get rid of adjascent ** and resolve .. portions + levelOneOptimize(globParts) { + return globParts.map(parts => { + parts = parts.reduce((set, part) => { + const prev = set[set.length - 1]; + if (part === '**' && prev === '**') { + return set; + } + if (part === '..') { + if (prev && prev !== '..' && prev !== '.' && prev !== '**') { + set.pop(); + return set; + } + } + set.push(part); + return set; + }, []); + return parts.length === 0 ? [''] : parts; + }); + } + levelTwoFileOptimize(parts) { + if (!Array.isArray(parts)) { + parts = this.slashSplit(parts); + } + let didSomething = false; + do { + didSomething = false; + //
// -> 
/
+            if (!this.preserveMultipleSlashes) {
+                for (let i = 1; i < parts.length - 1; i++) {
+                    const p = parts[i];
+                    // don't squeeze out UNC patterns
+                    if (i === 1 && p === '' && parts[0] === '')
+                        continue;
+                    if (p === '.' || p === '') {
+                        didSomething = true;
+                        parts.splice(i, 1);
+                        i--;
+                    }
+                }
+                if (parts[0] === '.' &&
+                    parts.length === 2 &&
+                    (parts[1] === '.' || parts[1] === '')) {
+                    didSomething = true;
+                    parts.pop();
+                }
+            }
+            // 
/

/../ ->

/
+            let dd = 0;
+            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
+                const p = parts[dd - 1];
+                if (p && p !== '.' && p !== '..' && p !== '**') {
+                    didSomething = true;
+                    parts.splice(dd - 1, 2);
+                    dd -= 2;
+                }
+            }
+        } while (didSomething);
+        return parts.length === 0 ? [''] : parts;
+    }
+    // First phase: single-pattern processing
+    // 
 is 1 or more portions
+    //  is 1 or more portions
+    // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+    // 
/

/../ ->

/
+    // **/**/ -> **/
+    //
+    // **/*/ -> */**/ <== not valid because ** doesn't follow
+    // this WOULD be allowed if ** did follow symlinks, or * didn't
+    firstPhasePreProcess(globParts) {
+        let didSomething = false;
+        do {
+            didSomething = false;
+            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + for (let parts of globParts) { + let gs = -1; + while (-1 !== (gs = parts.indexOf('**', gs + 1))) { + let gss = gs; + while (parts[gss + 1] === '**') { + //

/**/**/ -> 
/**/
+                        gss++;
+                    }
+                    // eg, if gs is 2 and gss is 4, that means we have 3 **
+                    // parts, and can remove 2 of them.
+                    if (gss > gs) {
+                        parts.splice(gs + 1, gss - gs);
+                    }
+                    let next = parts[gs + 1];
+                    const p = parts[gs + 2];
+                    const p2 = parts[gs + 3];
+                    if (next !== '..')
+                        continue;
+                    if (!p ||
+                        p === '.' ||
+                        p === '..' ||
+                        !p2 ||
+                        p2 === '.' ||
+                        p2 === '..') {
+                        continue;
+                    }
+                    didSomething = true;
+                    // edit parts in place, and push the new one
+                    parts.splice(gs, 1);
+                    const other = parts.slice(0);
+                    other[gs] = '**';
+                    globParts.push(other);
+                    gs--;
+                }
+                // 
// -> 
/
+                if (!this.preserveMultipleSlashes) {
+                    for (let i = 1; i < parts.length - 1; i++) {
+                        const p = parts[i];
+                        // don't squeeze out UNC patterns
+                        if (i === 1 && p === '' && parts[0] === '')
+                            continue;
+                        if (p === '.' || p === '') {
+                            didSomething = true;
+                            parts.splice(i, 1);
+                            i--;
+                        }
+                    }
+                    if (parts[0] === '.' &&
+                        parts.length === 2 &&
+                        (parts[1] === '.' || parts[1] === '')) {
+                        didSomething = true;
+                        parts.pop();
+                    }
+                }
+                // 
/

/../ ->

/
+                let dd = 0;
+                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
+                    const p = parts[dd - 1];
+                    if (p && p !== '.' && p !== '..' && p !== '**') {
+                        didSomething = true;
+                        const needDot = dd === 1 && parts[dd + 1] === '**';
+                        const splin = needDot ? ['.'] : [];
+                        parts.splice(dd - 1, 2, ...splin);
+                        if (parts.length === 0)
+                            parts.push('');
+                        dd -= 2;
+                    }
+                }
+            }
+        } while (didSomething);
+        return globParts;
+    }
+    // second phase: multi-pattern dedupes
+    // {
/*/,
/

/} ->

/*/
+    // {
/,
/} -> 
/
+    // {
/**/,
/} -> 
/**/
+    //
+    // {
/**/,
/**/

/} ->

/**/
+    // ^-- not valid because ** doens't follow symlinks
+    secondPhasePreProcess(globParts) {
+        for (let i = 0; i < globParts.length - 1; i++) {
+            for (let j = i + 1; j < globParts.length; j++) {
+                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+                if (!matched)
+                    continue;
+                globParts[i] = matched;
+                globParts[j] = [];
+            }
+        }
+        return globParts.filter(gs => gs.length);
+    }
+    partsMatch(a, b, emptyGSMatch = false) {
+        let ai = 0;
+        let bi = 0;
+        let result = [];
+        let which = '';
+        while (ai < a.length && bi < b.length) {
+            if (a[ai] === b[bi]) {
+                result.push(which === 'b' ? b[bi] : a[ai]);
+                ai++;
+                bi++;
+            }
+            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {
+                result.push(a[ai]);
+                ai++;
+            }
+            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {
+                result.push(b[bi]);
+                bi++;
+            }
+            else if (a[ai] === '*' &&
+                b[bi] &&
+                (this.options.dot || !b[bi].startsWith('.')) &&
+                b[bi] !== '**') {
+                if (which === 'b')
+                    return false;
+                which = 'a';
+                result.push(a[ai]);
+                ai++;
+                bi++;
+            }
+            else if (b[bi] === '*' &&
+                a[ai] &&
+                (this.options.dot || !a[ai].startsWith('.')) &&
+                a[ai] !== '**') {
+                if (which === 'a')
+                    return false;
+                which = 'b';
+                result.push(b[bi]);
+                ai++;
+                bi++;
+            }
+            else {
+                return false;
+            }
+        }
+        // if we fall out of the loop, it means they two are identical
+        // as long as their lengths match
+        return a.length === b.length && result;
+    }
+    parseNegate() {
+        if (this.nonegate)
+            return;
+        const pattern = this.pattern;
+        let negate = false;
+        let negateOffset = 0;
+        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
+            negate = !negate;
+            negateOffset++;
+        }
+        if (negateOffset)
+            this.pattern = pattern.slice(negateOffset);
+        this.negate = negate;
+    }
+    // set partial to true to test if, for example,
+    // "/a/b" matches the start of "/*/b/*/d"
+    // Partial means, if you run out of file before you run
+    // out of pattern, then that's fine, as long as all
+    // the parts match.
+    matchOne(file, pattern, partial = false) {
+        const options = this.options;
+        // UNC paths like //?/X:/... can match X:/... and vice versa
+        // Drive letters in absolute drive or unc paths are always compared
+        // case-insensitively.
+        if (this.isWindows) {
+            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
+            const fileUNC = !fileDrive &&
+                file[0] === '' &&
+                file[1] === '' &&
+                file[2] === '?' &&
+                /^[a-z]:$/i.test(file[3]);
+            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
+            const patternUNC = !patternDrive &&
+                pattern[0] === '' &&
+                pattern[1] === '' &&
+                pattern[2] === '?' &&
+                typeof pattern[3] === 'string' &&
+                /^[a-z]:$/i.test(pattern[3]);
+            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;
+            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;
+            if (typeof fdi === 'number' && typeof pdi === 'number') {
+                const [fd, pd] = [file[fdi], pattern[pdi]];
+                if (fd.toLowerCase() === pd.toLowerCase()) {
+                    pattern[pdi] = fd;
+                    if (pdi > fdi) {
+                        pattern = pattern.slice(pdi);
+                    }
+                    else if (fdi > pdi) {
+                        file = file.slice(fdi);
+                    }
+                }
+            }
+        }
+        // resolve and reduce . and .. portions in the file as well.
+        // dont' need to do the second phase, because it's only one string[]
+        const { optimizationLevel = 1 } = this.options;
+        if (optimizationLevel >= 2) {
+            file = this.levelTwoFileOptimize(file);
+        }
+        this.debug('matchOne', this, { file, pattern });
+        this.debug('matchOne', file.length, pattern.length);
+        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+            this.debug('matchOne loop');
+            var p = pattern[pi];
+            var f = file[fi];
+            this.debug(pattern, p, f);
+            // should be impossible.
+            // some invalid regexp stuff in the set.
+            /* c8 ignore start */
+            if (p === false) {
+                return false;
+            }
+            /* c8 ignore stop */
+            if (p === exports.GLOBSTAR) {
+                this.debug('GLOBSTAR', [pattern, p, f]);
+                // "**"
+                // a/**/b/**/c would match the following:
+                // a/b/x/y/z/c
+                // a/x/y/z/b/c
+                // a/b/x/b/x/c
+                // a/b/c
+                // To do this, take the rest of the pattern after
+                // the **, and see if it would match the file remainder.
+                // If so, return success.
+                // If not, the ** "swallows" a segment, and try again.
+                // This is recursively awful.
+                //
+                // a/**/b/**/c matching a/b/x/y/z/c
+                // - a matches a
+                // - doublestar
+                //   - matchOne(b/x/y/z/c, b/**/c)
+                //     - b matches b
+                //     - doublestar
+                //       - matchOne(x/y/z/c, c) -> no
+                //       - matchOne(y/z/c, c) -> no
+                //       - matchOne(z/c, c) -> no
+                //       - matchOne(c, c) yes, hit
+                var fr = fi;
+                var pr = pi + 1;
+                if (pr === pl) {
+                    this.debug('** at the end');
+                    // a ** at the end will just swallow the rest.
+                    // We have found a match.
+                    // however, it will not swallow /.x, unless
+                    // options.dot is set.
+                    // . and .. are *never* matched by **, for explosively
+                    // exponential reasons.
+                    for (; fi < fl; fi++) {
+                        if (file[fi] === '.' ||
+                            file[fi] === '..' ||
+                            (!options.dot && file[fi].charAt(0) === '.'))
+                            return false;
+                    }
+                    return true;
+                }
+                // ok, let's see if we can swallow whatever we can.
+                while (fr < fl) {
+                    var swallowee = file[fr];
+                    this.debug('\nglobstar while', file, fr, pattern, pr, swallowee);
+                    // XXX remove this slice.  Just pass the start index.
+                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
+                        this.debug('globstar found match!', fr, fl, swallowee);
+                        // found a match.
+                        return true;
+                    }
+                    else {
+                        // can't swallow "." or ".." ever.
+                        // can only swallow ".foo" when explicitly asked.
+                        if (swallowee === '.' ||
+                            swallowee === '..' ||
+                            (!options.dot && swallowee.charAt(0) === '.')) {
+                            this.debug('dot detected!', file, fr, pattern, pr);
+                            break;
+                        }
+                        // ** swallows a segment, and continue.
+                        this.debug('globstar swallow a segment, and continue');
+                        fr++;
+                    }
+                }
+                // no match was found.
+                // However, in partial mode, we can't say this is necessarily over.
+                /* c8 ignore start */
+                if (partial) {
+                    // ran out of file
+                    this.debug('\n>>> no match, partial?', file, fr, pattern, pr);
+                    if (fr === fl) {
+                        return true;
+                    }
+                }
+                /* c8 ignore stop */
+                return false;
+            }
+            // something other than **
+            // non-magic patterns just have to match exactly
+            // patterns with magic have been turned into regexps.
+            let hit;
+            if (typeof p === 'string') {
+                hit = f === p;
+                this.debug('string match', p, f, hit);
+            }
+            else {
+                hit = p.test(f);
+                this.debug('pattern match', p, f, hit);
+            }
+            if (!hit)
+                return false;
+        }
+        // Note: ending in / means that we'll get a final ""
+        // at the end of the pattern.  This can only match a
+        // corresponding "" at the end of the file.
+        // If the file ends in /, then it can only match a
+        // a pattern that ends in /, unless the pattern just
+        // doesn't have any more for it. But, a/b/ should *not*
+        // match "a/b/*", even though "" matches against the
+        // [^/]*? pattern, except in partial mode, where it might
+        // simply not be reached yet.
+        // However, a/b/ should still satisfy a/*
+        // now either we fell off the end of the pattern, or we're done.
+        if (fi === fl && pi === pl) {
+            // ran out of pattern and filename at the same time.
+            // an exact hit!
+            return true;
+        }
+        else if (fi === fl) {
+            // ran out of file, but still had pattern left.
+            // this is ok if we're doing the match as part of
+            // a glob fs traversal.
+            return partial;
+        }
+        else if (pi === pl) {
+            // ran out of pattern, still have file left.
+            // this is only acceptable if we're on the very last
+            // empty segment of a file with a trailing slash.
+            // a/* should match a/b/
+            return fi === fl - 1 && file[fi] === '';
+            /* c8 ignore start */
+        }
+        else {
+            // should be unreachable.
+            throw new Error('wtf?');
+        }
+        /* c8 ignore stop */
+    }
+    braceExpand() {
+        return (0, exports.braceExpand)(this.pattern, this.options);
+    }
+    parse(pattern) {
+        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
+        const options = this.options;
+        // shortcuts
+        if (pattern === '**')
+            return exports.GLOBSTAR;
+        if (pattern === '')
+            return '';
+        // far and away, the most common glob pattern parts are
+        // *, *.*, and *.  Add a fast check method for those.
+        let m;
+        let fastTest = null;
+        if ((m = pattern.match(starRE))) {
+            fastTest = options.dot ? starTestDot : starTest;
+        }
+        else if ((m = pattern.match(starDotExtRE))) {
+            fastTest = (options.nocase
+                ? options.dot
+                    ? starDotExtTestNocaseDot
+                    : starDotExtTestNocase
+                : options.dot
+                    ? starDotExtTestDot
+                    : starDotExtTest)(m[1]);
+        }
+        else if ((m = pattern.match(qmarksRE))) {
+            fastTest = (options.nocase
+                ? options.dot
+                    ? qmarksTestNocaseDot
+                    : qmarksTestNocase
+                : options.dot
+                    ? qmarksTestDot
+                    : qmarksTest)(m);
+        }
+        else if ((m = pattern.match(starDotStarRE))) {
+            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+        }
+        else if ((m = pattern.match(dotStarRE))) {
+            fastTest = dotStarTest;
+        }
+        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
+        return fastTest ? Object.assign(re, { test: fastTest }) : re;
+    }
+    makeRe() {
+        if (this.regexp || this.regexp === false)
+            return this.regexp;
+        // at this point, this.set is a 2d array of partial
+        // pattern strings, or "**".
+        //
+        // It's better to use .match().  This function shouldn't
+        // be used, really, but it's pretty convenient sometimes,
+        // when you just want to work with a regex.
+        const set = this.set;
+        if (!set.length) {
+            this.regexp = false;
+            return this.regexp;
+        }
+        const options = this.options;
+        const twoStar = options.noglobstar
+            ? star
+            : options.dot
+                ? twoStarDot
+                : twoStarNoDot;
+        const flags = new Set(options.nocase ? ['i'] : []);
+        // regexpify non-globstar patterns
+        // if ** is only item, then we just do one twoStar
+        // if ** is first, and there are more, prepend (\/|twoStar\/)? to next
+        // if ** is last, append (\/twoStar|) to previous
+        // if ** is in the middle, append (\/|\/twoStar\/) to previous
+        // then filter out GLOBSTAR symbols
+        let re = set
+            .map(pattern => {
+            const pp = pattern.map(p => {
+                if (p instanceof RegExp) {
+                    for (const f of p.flags.split(''))
+                        flags.add(f);
+                }
+                return typeof p === 'string'
+                    ? regExpEscape(p)
+                    : p === exports.GLOBSTAR
+                        ? exports.GLOBSTAR
+                        : p._src;
+            });
+            pp.forEach((p, i) => {
+                const next = pp[i + 1];
+                const prev = pp[i - 1];
+                if (p !== exports.GLOBSTAR || prev === exports.GLOBSTAR) {
+                    return;
+                }
+                if (prev === undefined) {
+                    if (next !== undefined && next !== exports.GLOBSTAR) {
+                        pp[i + 1] = '(?:\\/|' + twoStar + '\\/)?' + next;
+                    }
+                    else {
+                        pp[i] = twoStar;
+                    }
+                }
+                else if (next === undefined) {
+                    pp[i - 1] = prev + '(?:\\/|' + twoStar + ')?';
+                }
+                else if (next !== exports.GLOBSTAR) {
+                    pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + '\\/)' + next;
+                    pp[i + 1] = exports.GLOBSTAR;
+                }
+            });
+            return pp.filter(p => p !== exports.GLOBSTAR).join('/');
+        })
+            .join('|');
+        // need to wrap in parens if we had more than one thing with |,
+        // otherwise only the first will be anchored to ^ and the last to $
+        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];
+        // must match entire pattern
+        // ending in a * or ** will make it less strict.
+        re = '^' + open + re + close + '$';
+        // can match anything, as long as it's not this.
+        if (this.negate)
+            re = '^(?!' + re + ').+$';
+        try {
+            this.regexp = new RegExp(re, [...flags].join(''));
+            /* c8 ignore start */
+        }
+        catch (ex) {
+            // should be impossible
+            this.regexp = false;
+        }
+        /* c8 ignore stop */
+        return this.regexp;
+    }
+    slashSplit(p) {
+        // if p starts with // on windows, we preserve that
+        // so that UNC paths aren't broken.  Otherwise, any number of
+        // / characters are coalesced into one, unless
+        // preserveMultipleSlashes is set to true.
+        if (this.preserveMultipleSlashes) {
+            return p.split('/');
+        }
+        else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
+            // add an extra '' for the one we lose
+            return ['', ...p.split(/\/+/)];
+        }
+        else {
+            return p.split(/\/+/);
+        }
+    }
+    match(f, partial = this.partial) {
+        this.debug('match', f, this.pattern);
+        // short-circuit in the case of busted things.
+        // comments, etc.
+        if (this.comment) {
+            return false;
+        }
+        if (this.empty) {
+            return f === '';
+        }
+        if (f === '/' && partial) {
+            return true;
+        }
+        const options = this.options;
+        // windows: need to use /, not \
+        if (this.isWindows) {
+            f = f.split('\\').join('/');
+        }
+        // treat the test path as a set of pathparts.
+        const ff = this.slashSplit(f);
+        this.debug(this.pattern, 'split', ff);
+        // just ONE of the pattern sets in this.set needs to match
+        // in order for it to be valid.  If negating, then just one
+        // match means that we have failed.
+        // Either way, return on the first hit.
+        const set = this.set;
+        this.debug(this.pattern, 'set', set);
+        // Find the basename of the path by looking for the last non-empty segment
+        let filename = ff[ff.length - 1];
+        if (!filename) {
+            for (let i = ff.length - 2; !filename && i >= 0; i--) {
+                filename = ff[i];
+            }
+        }
+        for (let i = 0; i < set.length; i++) {
+            const pattern = set[i];
+            let file = ff;
+            if (options.matchBase && pattern.length === 1) {
+                file = [filename];
+            }
+            const hit = this.matchOne(file, pattern, partial);
+            if (hit) {
+                if (options.flipNegate) {
+                    return true;
+                }
+                return !this.negate;
+            }
+        }
+        // didn't get any hits.  this is success if it's a negative
+        // pattern, failure otherwise.
+        if (options.flipNegate) {
+            return false;
+        }
+        return this.negate;
+    }
+    static defaults(def) {
+        return exports.minimatch.defaults(def).Minimatch;
+    }
+}
+exports.Minimatch = Minimatch;
+/* c8 ignore start */
+var ast_js_2 = __webpack_require__(80666);
+Object.defineProperty(exports, "AST", ({ enumerable: true, get: function () { return ast_js_2.AST; } }));
+var escape_js_2 = __webpack_require__(53030);
+Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return escape_js_2.escape; } }));
+var unescape_js_2 = __webpack_require__(91831);
+Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return unescape_js_2.unescape; } }));
+/* c8 ignore stop */
+exports.minimatch.AST = ast_js_1.AST;
+exports.minimatch.Minimatch = Minimatch;
+exports.minimatch.escape = escape_js_1.escape;
+exports.minimatch.unescape = unescape_js_1.unescape;
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 91831:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.unescape = void 0;
+/**
+ * Un-escape a string that has been escaped with {@link escape}.
+ *
+ * If the {@link windowsPathsNoEscape} option is used, then square-brace
+ * escapes are removed, but not backslash escapes.  For example, it will turn
+ * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
+ * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
+ *
+ * When `windowsPathsNoEscape` is not set, then both brace escapes and
+ * backslash escapes are removed.
+ *
+ * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
+ * or unescaped.
+ */
+const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
+    return windowsPathsNoEscape
+        ? s.replace(/\[([^\/\\])\]/g, '$1')
+        : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
+};
+exports.unescape = unescape;
+//# sourceMappingURL=unescape.js.map
+
+/***/ }),
+
+/***/ 366:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0;
+const proc = typeof process === 'object' && process
+    ? process
+    : {
+        stdout: null,
+        stderr: null,
+    };
+const events_1 = __webpack_require__(82361);
+const stream_1 = __importDefault(__webpack_require__(12781));
+const string_decoder_1 = __webpack_require__(71576);
+/**
+ * Return true if the argument is a Minipass stream, Node stream, or something
+ * else that Minipass can interact with.
+ */
+const isStream = (s) => !!s &&
+    typeof s === 'object' &&
+    (s instanceof Minipass ||
+        s instanceof stream_1.default ||
+        (0, exports.isReadable)(s) ||
+        (0, exports.isWritable)(s));
+exports.isStream = isStream;
+/**
+ * Return true if the argument is a valid {@link Minipass.Readable}
+ */
+const isReadable = (s) => !!s &&
+    typeof s === 'object' &&
+    s instanceof events_1.EventEmitter &&
+    typeof s.pipe === 'function' &&
+    // node core Writable streams have a pipe() method, but it throws
+    s.pipe !== stream_1.default.Writable.prototype.pipe;
+exports.isReadable = isReadable;
+/**
+ * Return true if the argument is a valid {@link Minipass.Writable}
+ */
+const isWritable = (s) => !!s &&
+    typeof s === 'object' &&
+    s instanceof events_1.EventEmitter &&
+    typeof s.write === 'function' &&
+    typeof s.end === 'function';
+exports.isWritable = isWritable;
+const EOF = Symbol('EOF');
+const MAYBE_EMIT_END = Symbol('maybeEmitEnd');
+const EMITTED_END = Symbol('emittedEnd');
+const EMITTING_END = Symbol('emittingEnd');
+const EMITTED_ERROR = Symbol('emittedError');
+const CLOSED = Symbol('closed');
+const READ = Symbol('read');
+const FLUSH = Symbol('flush');
+const FLUSHCHUNK = Symbol('flushChunk');
+const ENCODING = Symbol('encoding');
+const DECODER = Symbol('decoder');
+const FLOWING = Symbol('flowing');
+const PAUSED = Symbol('paused');
+const RESUME = Symbol('resume');
+const BUFFER = Symbol('buffer');
+const PIPES = Symbol('pipes');
+const BUFFERLENGTH = Symbol('bufferLength');
+const BUFFERPUSH = Symbol('bufferPush');
+const BUFFERSHIFT = Symbol('bufferShift');
+const OBJECTMODE = Symbol('objectMode');
+// internal event when stream is destroyed
+const DESTROYED = Symbol('destroyed');
+// internal event when stream has an error
+const ERROR = Symbol('error');
+const EMITDATA = Symbol('emitData');
+const EMITEND = Symbol('emitEnd');
+const EMITEND2 = Symbol('emitEnd2');
+const ASYNC = Symbol('async');
+const ABORT = Symbol('abort');
+const ABORTED = Symbol('aborted');
+const SIGNAL = Symbol('signal');
+const DATALISTENERS = Symbol('dataListeners');
+const DISCARDED = Symbol('discarded');
+const defer = (fn) => Promise.resolve().then(fn);
+const nodefer = (fn) => fn();
+const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';
+const isArrayBufferLike = (b) => b instanceof ArrayBuffer ||
+    (!!b &&
+        typeof b === 'object' &&
+        b.constructor &&
+        b.constructor.name === 'ArrayBuffer' &&
+        b.byteLength >= 0);
+const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
+/**
+ * Internal class representing a pipe to a destination stream.
+ *
+ * @internal
+ */
+class Pipe {
+    src;
+    dest;
+    opts;
+    ondrain;
+    constructor(src, dest, opts) {
+        this.src = src;
+        this.dest = dest;
+        this.opts = opts;
+        this.ondrain = () => src[RESUME]();
+        this.dest.on('drain', this.ondrain);
+    }
+    unpipe() {
+        this.dest.removeListener('drain', this.ondrain);
+    }
+    // only here for the prototype
+    /* c8 ignore start */
+    proxyErrors(_er) { }
+    /* c8 ignore stop */
+    end() {
+        this.unpipe();
+        if (this.opts.end)
+            this.dest.end();
+    }
+}
+/**
+ * Internal class representing a pipe to a destination stream where
+ * errors are proxied.
+ *
+ * @internal
+ */
+class PipeProxyErrors extends Pipe {
+    unpipe() {
+        this.src.removeListener('error', this.proxyErrors);
+        super.unpipe();
+    }
+    constructor(src, dest, opts) {
+        super(src, dest, opts);
+        this.proxyErrors = er => dest.emit('error', er);
+        src.on('error', this.proxyErrors);
+    }
+}
+const isObjectModeOptions = (o) => !!o.objectMode;
+const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';
+/**
+ * Main export, the Minipass class
+ *
+ * `RType` is the type of data emitted, defaults to Buffer
+ *
+ * `WType` is the type of data to be written, if RType is buffer or string,
+ * then any {@link Minipass.ContiguousData} is allowed.
+ *
+ * `Events` is the set of event handler signatures that this object
+ * will emit, see {@link Minipass.Events}
+ */
+class Minipass extends events_1.EventEmitter {
+    [FLOWING] = false;
+    [PAUSED] = false;
+    [PIPES] = [];
+    [BUFFER] = [];
+    [OBJECTMODE];
+    [ENCODING];
+    [ASYNC];
+    [DECODER];
+    [EOF] = false;
+    [EMITTED_END] = false;
+    [EMITTING_END] = false;
+    [CLOSED] = false;
+    [EMITTED_ERROR] = null;
+    [BUFFERLENGTH] = 0;
+    [DESTROYED] = false;
+    [SIGNAL];
+    [ABORTED] = false;
+    [DATALISTENERS] = 0;
+    [DISCARDED] = false;
+    /**
+     * true if the stream can be written
+     */
+    writable = true;
+    /**
+     * true if the stream can be read
+     */
+    readable = true;
+    /**
+     * If `RType` is Buffer, then options do not need to be provided.
+     * Otherwise, an options object must be provided to specify either
+     * {@link Minipass.SharedOptions.objectMode} or
+     * {@link Minipass.SharedOptions.encoding}, as appropriate.
+     */
+    constructor(...args) {
+        const options = (args[0] ||
+            {});
+        super();
+        if (options.objectMode && typeof options.encoding === 'string') {
+            throw new TypeError('Encoding and objectMode may not be used together');
+        }
+        if (isObjectModeOptions(options)) {
+            this[OBJECTMODE] = true;
+            this[ENCODING] = null;
+        }
+        else if (isEncodingOptions(options)) {
+            this[ENCODING] = options.encoding;
+            this[OBJECTMODE] = false;
+        }
+        else {
+            this[OBJECTMODE] = false;
+            this[ENCODING] = null;
+        }
+        this[ASYNC] = !!options.async;
+        this[DECODER] = this[ENCODING]
+            ? new string_decoder_1.StringDecoder(this[ENCODING])
+            : null;
+        //@ts-ignore - private option for debugging and testing
+        if (options && options.debugExposeBuffer === true) {
+            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });
+        }
+        //@ts-ignore - private option for debugging and testing
+        if (options && options.debugExposePipes === true) {
+            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });
+        }
+        const { signal } = options;
+        if (signal) {
+            this[SIGNAL] = signal;
+            if (signal.aborted) {
+                this[ABORT]();
+            }
+            else {
+                signal.addEventListener('abort', () => this[ABORT]());
+            }
+        }
+    }
+    /**
+     * The amount of data stored in the buffer waiting to be read.
+     *
+     * For Buffer strings, this will be the total byte length.
+     * For string encoding streams, this will be the string character length,
+     * according to JavaScript's `string.length` logic.
+     * For objectMode streams, this is a count of the items waiting to be
+     * emitted.
+     */
+    get bufferLength() {
+        return this[BUFFERLENGTH];
+    }
+    /**
+     * The `BufferEncoding` currently in use, or `null`
+     */
+    get encoding() {
+        return this[ENCODING];
+    }
+    /**
+     * @deprecated - This is a read only property
+     */
+    set encoding(_enc) {
+        throw new Error('Encoding must be set at instantiation time');
+    }
+    /**
+     * @deprecated - Encoding may only be set at instantiation time
+     */
+    setEncoding(_enc) {
+        throw new Error('Encoding must be set at instantiation time');
+    }
+    /**
+     * True if this is an objectMode stream
+     */
+    get objectMode() {
+        return this[OBJECTMODE];
+    }
+    /**
+     * @deprecated - This is a read-only property
+     */
+    set objectMode(_om) {
+        throw new Error('objectMode must be set at instantiation time');
+    }
+    /**
+     * true if this is an async stream
+     */
+    get ['async']() {
+        return this[ASYNC];
+    }
+    /**
+     * Set to true to make this stream async.
+     *
+     * Once set, it cannot be unset, as this would potentially cause incorrect
+     * behavior.  Ie, a sync stream can be made async, but an async stream
+     * cannot be safely made sync.
+     */
+    set ['async'](a) {
+        this[ASYNC] = this[ASYNC] || !!a;
+    }
+    // drop everything and get out of the flow completely
+    [ABORT]() {
+        this[ABORTED] = true;
+        this.emit('abort', this[SIGNAL]?.reason);
+        this.destroy(this[SIGNAL]?.reason);
+    }
+    /**
+     * True if the stream has been aborted.
+     */
+    get aborted() {
+        return this[ABORTED];
+    }
+    /**
+     * No-op setter. Stream aborted status is set via the AbortSignal provided
+     * in the constructor options.
+     */
+    set aborted(_) { }
+    write(chunk, encoding, cb) {
+        if (this[ABORTED])
+            return false;
+        if (this[EOF])
+            throw new Error('write after end');
+        if (this[DESTROYED]) {
+            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));
+            return true;
+        }
+        if (typeof encoding === 'function') {
+            cb = encoding;
+            encoding = 'utf8';
+        }
+        if (!encoding)
+            encoding = 'utf8';
+        const fn = this[ASYNC] ? defer : nodefer;
+        // convert array buffers and typed array views into buffers
+        // at some point in the future, we may want to do the opposite!
+        // leave strings and buffers as-is
+        // anything is only allowed if in object mode, so throw
+        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
+            if (isArrayBufferView(chunk)) {
+                //@ts-ignore - sinful unsafe type changing
+                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
+            }
+            else if (isArrayBufferLike(chunk)) {
+                //@ts-ignore - sinful unsafe type changing
+                chunk = Buffer.from(chunk);
+            }
+            else if (typeof chunk !== 'string') {
+                throw new Error('Non-contiguous data written to non-objectMode stream');
+            }
+        }
+        // handle object mode up front, since it's simpler
+        // this yields better performance, fewer checks later.
+        if (this[OBJECTMODE]) {
+            // maybe impossible?
+            /* c8 ignore start */
+            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+                this[FLUSH](true);
+            /* c8 ignore stop */
+            if (this[FLOWING])
+                this.emit('data', chunk);
+            else
+                this[BUFFERPUSH](chunk);
+            if (this[BUFFERLENGTH] !== 0)
+                this.emit('readable');
+            if (cb)
+                fn(cb);
+            return this[FLOWING];
+        }
+        // at this point the chunk is a buffer or string
+        // don't buffer it up or send it to the decoder
+        if (!chunk.length) {
+            if (this[BUFFERLENGTH] !== 0)
+                this.emit('readable');
+            if (cb)
+                fn(cb);
+            return this[FLOWING];
+        }
+        // fast-path writing strings of same encoding to a stream with
+        // an empty buffer, skipping the buffer/decoder dance
+        if (typeof chunk === 'string' &&
+            // unless it is a string already ready for us to use
+            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
+            //@ts-ignore - sinful unsafe type change
+            chunk = Buffer.from(chunk, encoding);
+        }
+        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
+            //@ts-ignore - sinful unsafe type change
+            chunk = this[DECODER].write(chunk);
+        }
+        // Note: flushing CAN potentially switch us into not-flowing mode
+        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
+            this[FLUSH](true);
+        if (this[FLOWING])
+            this.emit('data', chunk);
+        else
+            this[BUFFERPUSH](chunk);
+        if (this[BUFFERLENGTH] !== 0)
+            this.emit('readable');
+        if (cb)
+            fn(cb);
+        return this[FLOWING];
+    }
+    /**
+     * Low-level explicit read method.
+     *
+     * In objectMode, the argument is ignored, and one item is returned if
+     * available.
+     *
+     * `n` is the number of bytes (or in the case of encoding streams,
+     * characters) to consume. If `n` is not provided, then the entire buffer
+     * is returned, or `null` is returned if no data is available.
+     *
+     * If `n` is greater that the amount of data in the internal buffer,
+     * then `null` is returned.
+     */
+    read(n) {
+        if (this[DESTROYED])
+            return null;
+        this[DISCARDED] = false;
+        if (this[BUFFERLENGTH] === 0 ||
+            n === 0 ||
+            (n && n > this[BUFFERLENGTH])) {
+            this[MAYBE_EMIT_END]();
+            return null;
+        }
+        if (this[OBJECTMODE])
+            n = null;
+        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
+            // not object mode, so if we have an encoding, then RType is string
+            // otherwise, must be Buffer
+            this[BUFFER] = [
+                (this[ENCODING]
+                    ? this[BUFFER].join('')
+                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),
+            ];
+        }
+        const ret = this[READ](n || null, this[BUFFER][0]);
+        this[MAYBE_EMIT_END]();
+        return ret;
+    }
+    [READ](n, chunk) {
+        if (this[OBJECTMODE])
+            this[BUFFERSHIFT]();
+        else {
+            const c = chunk;
+            if (n === c.length || n === null)
+                this[BUFFERSHIFT]();
+            else if (typeof c === 'string') {
+                this[BUFFER][0] = c.slice(n);
+                chunk = c.slice(0, n);
+                this[BUFFERLENGTH] -= n;
+            }
+            else {
+                this[BUFFER][0] = c.subarray(n);
+                chunk = c.subarray(0, n);
+                this[BUFFERLENGTH] -= n;
+            }
+        }
+        this.emit('data', chunk);
+        if (!this[BUFFER].length && !this[EOF])
+            this.emit('drain');
+        return chunk;
+    }
+    end(chunk, encoding, cb) {
+        if (typeof chunk === 'function') {
+            cb = chunk;
+            chunk = undefined;
+        }
+        if (typeof encoding === 'function') {
+            cb = encoding;
+            encoding = 'utf8';
+        }
+        if (chunk !== undefined)
+            this.write(chunk, encoding);
+        if (cb)
+            this.once('end', cb);
+        this[EOF] = true;
+        this.writable = false;
+        // if we haven't written anything, then go ahead and emit,
+        // even if we're not reading.
+        // we'll re-emit if a new 'end' listener is added anyway.
+        // This makes MP more suitable to write-only use cases.
+        if (this[FLOWING] || !this[PAUSED])
+            this[MAYBE_EMIT_END]();
+        return this;
+    }
+    // don't let the internal resume be overwritten
+    [RESUME]() {
+        if (this[DESTROYED])
+            return;
+        if (!this[DATALISTENERS] && !this[PIPES].length) {
+            this[DISCARDED] = true;
+        }
+        this[PAUSED] = false;
+        this[FLOWING] = true;
+        this.emit('resume');
+        if (this[BUFFER].length)
+            this[FLUSH]();
+        else if (this[EOF])
+            this[MAYBE_EMIT_END]();
+        else
+            this.emit('drain');
+    }
+    /**
+     * Resume the stream if it is currently in a paused state
+     *
+     * If called when there are no pipe destinations or `data` event listeners,
+     * this will place the stream in a "discarded" state, where all data will
+     * be thrown away. The discarded state is removed if a pipe destination or
+     * data handler is added, if pause() is called, or if any synchronous or
+     * asynchronous iteration is started.
+     */
+    resume() {
+        return this[RESUME]();
+    }
+    /**
+     * Pause the stream
+     */
+    pause() {
+        this[FLOWING] = false;
+        this[PAUSED] = true;
+        this[DISCARDED] = false;
+    }
+    /**
+     * true if the stream has been forcibly destroyed
+     */
+    get destroyed() {
+        return this[DESTROYED];
+    }
+    /**
+     * true if the stream is currently in a flowing state, meaning that
+     * any writes will be immediately emitted.
+     */
+    get flowing() {
+        return this[FLOWING];
+    }
+    /**
+     * true if the stream is currently in a paused state
+     */
+    get paused() {
+        return this[PAUSED];
+    }
+    [BUFFERPUSH](chunk) {
+        if (this[OBJECTMODE])
+            this[BUFFERLENGTH] += 1;
+        else
+            this[BUFFERLENGTH] += chunk.length;
+        this[BUFFER].push(chunk);
+    }
+    [BUFFERSHIFT]() {
+        if (this[OBJECTMODE])
+            this[BUFFERLENGTH] -= 1;
+        else
+            this[BUFFERLENGTH] -= this[BUFFER][0].length;
+        return this[BUFFER].shift();
+    }
+    [FLUSH](noDrain = false) {
+        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&
+            this[BUFFER].length);
+        if (!noDrain && !this[BUFFER].length && !this[EOF])
+            this.emit('drain');
+    }
+    [FLUSHCHUNK](chunk) {
+        this.emit('data', chunk);
+        return this[FLOWING];
+    }
+    /**
+     * Pipe all data emitted by this stream into the destination provided.
+     *
+     * Triggers the flow of data.
+     */
+    pipe(dest, opts) {
+        if (this[DESTROYED])
+            return dest;
+        this[DISCARDED] = false;
+        const ended = this[EMITTED_END];
+        opts = opts || {};
+        if (dest === proc.stdout || dest === proc.stderr)
+            opts.end = false;
+        else
+            opts.end = opts.end !== false;
+        opts.proxyErrors = !!opts.proxyErrors;
+        // piping an ended stream ends immediately
+        if (ended) {
+            if (opts.end)
+                dest.end();
+        }
+        else {
+            // "as" here just ignores the WType, which pipes don't care about,
+            // since they're only consuming from us, and writing to the dest
+            this[PIPES].push(!opts.proxyErrors
+                ? new Pipe(this, dest, opts)
+                : new PipeProxyErrors(this, dest, opts));
+            if (this[ASYNC])
+                defer(() => this[RESUME]());
+            else
+                this[RESUME]();
+        }
+        return dest;
+    }
+    /**
+     * Fully unhook a piped destination stream.
+     *
+     * If the destination stream was the only consumer of this stream (ie,
+     * there are no other piped destinations or `'data'` event listeners)
+     * then the flow of data will stop until there is another consumer or
+     * {@link Minipass#resume} is explicitly called.
+     */
+    unpipe(dest) {
+        const p = this[PIPES].find(p => p.dest === dest);
+        if (p) {
+            if (this[PIPES].length === 1) {
+                if (this[FLOWING] && this[DATALISTENERS] === 0) {
+                    this[FLOWING] = false;
+                }
+                this[PIPES] = [];
+            }
+            else
+                this[PIPES].splice(this[PIPES].indexOf(p), 1);
+            p.unpipe();
+        }
+    }
+    /**
+     * Alias for {@link Minipass#on}
+     */
+    addListener(ev, handler) {
+        return this.on(ev, handler);
+    }
+    /**
+     * Mostly identical to `EventEmitter.on`, with the following
+     * behavior differences to prevent data loss and unnecessary hangs:
+     *
+     * - Adding a 'data' event handler will trigger the flow of data
+     *
+     * - Adding a 'readable' event handler when there is data waiting to be read
+     *   will cause 'readable' to be emitted immediately.
+     *
+     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
+     *   already passed will cause the event to be emitted immediately and all
+     *   handlers removed.
+     *
+     * - Adding an 'error' event handler after an error has been emitted will
+     *   cause the event to be re-emitted immediately with the error previously
+     *   raised.
+     */
+    on(ev, handler) {
+        const ret = super.on(ev, handler);
+        if (ev === 'data') {
+            this[DISCARDED] = false;
+            this[DATALISTENERS]++;
+            if (!this[PIPES].length && !this[FLOWING]) {
+                this[RESUME]();
+            }
+        }
+        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {
+            super.emit('readable');
+        }
+        else if (isEndish(ev) && this[EMITTED_END]) {
+            super.emit(ev);
+            this.removeAllListeners(ev);
+        }
+        else if (ev === 'error' && this[EMITTED_ERROR]) {
+            const h = handler;
+            if (this[ASYNC])
+                defer(() => h.call(this, this[EMITTED_ERROR]));
+            else
+                h.call(this, this[EMITTED_ERROR]);
+        }
+        return ret;
+    }
+    /**
+     * Alias for {@link Minipass#off}
+     */
+    removeListener(ev, handler) {
+        return this.off(ev, handler);
+    }
+    /**
+     * Mostly identical to `EventEmitter.off`
+     *
+     * If a 'data' event handler is removed, and it was the last consumer
+     * (ie, there are no pipe destinations or other 'data' event listeners),
+     * then the flow of data will stop until there is another consumer or
+     * {@link Minipass#resume} is explicitly called.
+     */
+    off(ev, handler) {
+        const ret = super.off(ev, handler);
+        // if we previously had listeners, and now we don't, and we don't
+        // have any pipes, then stop the flow, unless it's been explicitly
+        // put in a discarded flowing state via stream.resume().
+        if (ev === 'data') {
+            this[DATALISTENERS] = this.listeners('data').length;
+            if (this[DATALISTENERS] === 0 &&
+                !this[DISCARDED] &&
+                !this[PIPES].length) {
+                this[FLOWING] = false;
+            }
+        }
+        return ret;
+    }
+    /**
+     * Mostly identical to `EventEmitter.removeAllListeners`
+     *
+     * If all 'data' event handlers are removed, and they were the last consumer
+     * (ie, there are no pipe destinations), then the flow of data will stop
+     * until there is another consumer or {@link Minipass#resume} is explicitly
+     * called.
+     */
+    removeAllListeners(ev) {
+        const ret = super.removeAllListeners(ev);
+        if (ev === 'data' || ev === undefined) {
+            this[DATALISTENERS] = 0;
+            if (!this[DISCARDED] && !this[PIPES].length) {
+                this[FLOWING] = false;
+            }
+        }
+        return ret;
+    }
+    /**
+     * true if the 'end' event has been emitted
+     */
+    get emittedEnd() {
+        return this[EMITTED_END];
+    }
+    [MAYBE_EMIT_END]() {
+        if (!this[EMITTING_END] &&
+            !this[EMITTED_END] &&
+            !this[DESTROYED] &&
+            this[BUFFER].length === 0 &&
+            this[EOF]) {
+            this[EMITTING_END] = true;
+            this.emit('end');
+            this.emit('prefinish');
+            this.emit('finish');
+            if (this[CLOSED])
+                this.emit('close');
+            this[EMITTING_END] = false;
+        }
+    }
+    /**
+     * Mostly identical to `EventEmitter.emit`, with the following
+     * behavior differences to prevent data loss and unnecessary hangs:
+     *
+     * If the stream has been destroyed, and the event is something other
+     * than 'close' or 'error', then `false` is returned and no handlers
+     * are called.
+     *
+     * If the event is 'end', and has already been emitted, then the event
+     * is ignored. If the stream is in a paused or non-flowing state, then
+     * the event will be deferred until data flow resumes. If the stream is
+     * async, then handlers will be called on the next tick rather than
+     * immediately.
+     *
+     * If the event is 'close', and 'end' has not yet been emitted, then
+     * the event will be deferred until after 'end' is emitted.
+     *
+     * If the event is 'error', and an AbortSignal was provided for the stream,
+     * and there are no listeners, then the event is ignored, matching the
+     * behavior of node core streams in the presense of an AbortSignal.
+     *
+     * If the event is 'finish' or 'prefinish', then all listeners will be
+     * removed after emitting the event, to prevent double-firing.
+     */
+    emit(ev, ...args) {
+        const data = args[0];
+        // error and close are only events allowed after calling destroy()
+        if (ev !== 'error' &&
+            ev !== 'close' &&
+            ev !== DESTROYED &&
+            this[DESTROYED]) {
+            return false;
+        }
+        else if (ev === 'data') {
+            return !this[OBJECTMODE] && !data
+                ? false
+                : this[ASYNC]
+                    ? (defer(() => this[EMITDATA](data)), true)
+                    : this[EMITDATA](data);
+        }
+        else if (ev === 'end') {
+            return this[EMITEND]();
+        }
+        else if (ev === 'close') {
+            this[CLOSED] = true;
+            // don't emit close before 'end' and 'finish'
+            if (!this[EMITTED_END] && !this[DESTROYED])
+                return false;
+            const ret = super.emit('close');
+            this.removeAllListeners('close');
+            return ret;
+        }
+        else if (ev === 'error') {
+            this[EMITTED_ERROR] = data;
+            super.emit(ERROR, data);
+            const ret = !this[SIGNAL] || this.listeners('error').length
+                ? super.emit('error', data)
+                : false;
+            this[MAYBE_EMIT_END]();
+            return ret;
+        }
+        else if (ev === 'resume') {
+            const ret = super.emit('resume');
+            this[MAYBE_EMIT_END]();
+            return ret;
+        }
+        else if (ev === 'finish' || ev === 'prefinish') {
+            const ret = super.emit(ev);
+            this.removeAllListeners(ev);
+            return ret;
+        }
+        // Some other unknown event
+        const ret = super.emit(ev, ...args);
+        this[MAYBE_EMIT_END]();
+        return ret;
+    }
+    [EMITDATA](data) {
+        for (const p of this[PIPES]) {
+            if (p.dest.write(data) === false)
+                this.pause();
+        }
+        const ret = this[DISCARDED] ? false : super.emit('data', data);
+        this[MAYBE_EMIT_END]();
+        return ret;
+    }
+    [EMITEND]() {
+        if (this[EMITTED_END])
+            return false;
+        this[EMITTED_END] = true;
+        this.readable = false;
+        return this[ASYNC]
+            ? (defer(() => this[EMITEND2]()), true)
+            : this[EMITEND2]();
+    }
+    [EMITEND2]() {
+        if (this[DECODER]) {
+            const data = this[DECODER].end();
+            if (data) {
+                for (const p of this[PIPES]) {
+                    p.dest.write(data);
+                }
+                if (!this[DISCARDED])
+                    super.emit('data', data);
+            }
+        }
+        for (const p of this[PIPES]) {
+            p.end();
+        }
+        const ret = super.emit('end');
+        this.removeAllListeners('end');
+        return ret;
+    }
+    /**
+     * Return a Promise that resolves to an array of all emitted data once
+     * the stream ends.
+     */
+    async collect() {
+        const buf = Object.assign([], {
+            dataLength: 0,
+        });
+        if (!this[OBJECTMODE])
+            buf.dataLength = 0;
+        // set the promise first, in case an error is raised
+        // by triggering the flow here.
+        const p = this.promise();
+        this.on('data', c => {
+            buf.push(c);
+            if (!this[OBJECTMODE])
+                buf.dataLength += c.length;
+        });
+        await p;
+        return buf;
+    }
+    /**
+     * Return a Promise that resolves to the concatenation of all emitted data
+     * once the stream ends.
+     *
+     * Not allowed on objectMode streams.
+     */
+    async concat() {
+        if (this[OBJECTMODE]) {
+            throw new Error('cannot concat in objectMode');
+        }
+        const buf = await this.collect();
+        return (this[ENCODING]
+            ? buf.join('')
+            : Buffer.concat(buf, buf.dataLength));
+    }
+    /**
+     * Return a void Promise that resolves once the stream ends.
+     */
+    async promise() {
+        return new Promise((resolve, reject) => {
+            this.on(DESTROYED, () => reject(new Error('stream destroyed')));
+            this.on('error', er => reject(er));
+            this.on('end', () => resolve());
+        });
+    }
+    /**
+     * Asynchronous `for await of` iteration.
+     *
+     * This will continue emitting all chunks until the stream terminates.
+     */
+    [Symbol.asyncIterator]() {
+        // set this up front, in case the consumer doesn't call next()
+        // right away.
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = async () => {
+            this.pause();
+            stopped = true;
+            return { value: undefined, done: true };
+        };
+        const next = () => {
+            if (stopped)
+                return stop();
+            const res = this.read();
+            if (res !== null)
+                return Promise.resolve({ done: false, value: res });
+            if (this[EOF])
+                return stop();
+            let resolve;
+            let reject;
+            const onerr = (er) => {
+                this.off('data', ondata);
+                this.off('end', onend);
+                this.off(DESTROYED, ondestroy);
+                stop();
+                reject(er);
+            };
+            const ondata = (value) => {
+                this.off('error', onerr);
+                this.off('end', onend);
+                this.off(DESTROYED, ondestroy);
+                this.pause();
+                resolve({ value, done: !!this[EOF] });
+            };
+            const onend = () => {
+                this.off('error', onerr);
+                this.off('data', ondata);
+                this.off(DESTROYED, ondestroy);
+                stop();
+                resolve({ done: true, value: undefined });
+            };
+            const ondestroy = () => onerr(new Error('stream destroyed'));
+            return new Promise((res, rej) => {
+                reject = rej;
+                resolve = res;
+                this.once(DESTROYED, ondestroy);
+                this.once('error', onerr);
+                this.once('end', onend);
+                this.once('data', ondata);
+            });
+        };
+        return {
+            next,
+            throw: stop,
+            return: stop,
+            [Symbol.asyncIterator]() {
+                return this;
+            },
+        };
+    }
+    /**
+     * Synchronous `for of` iteration.
+     *
+     * The iteration will terminate when the internal buffer runs out, even
+     * if the stream has not yet terminated.
+     */
+    [Symbol.iterator]() {
+        // set this up front, in case the consumer doesn't call next()
+        // right away.
+        this[DISCARDED] = false;
+        let stopped = false;
+        const stop = () => {
+            this.pause();
+            this.off(ERROR, stop);
+            this.off(DESTROYED, stop);
+            this.off('end', stop);
+            stopped = true;
+            return { done: true, value: undefined };
+        };
+        const next = () => {
+            if (stopped)
+                return stop();
+            const value = this.read();
+            return value === null ? stop() : { done: false, value };
+        };
+        this.once('end', stop);
+        this.once(ERROR, stop);
+        this.once(DESTROYED, stop);
+        return {
+            next,
+            throw: stop,
+            return: stop,
+            [Symbol.iterator]() {
+                return this;
+            },
+        };
+    }
+    /**
+     * Destroy a stream, preventing it from being used for any further purpose.
+     *
+     * If the stream has a `close()` method, then it will be called on
+     * destruction.
+     *
+     * After destruction, any attempt to write data, read data, or emit most
+     * events will be ignored.
+     *
+     * If an error argument is provided, then it will be emitted in an
+     * 'error' event.
+     */
+    destroy(er) {
+        if (this[DESTROYED]) {
+            if (er)
+                this.emit('error', er);
+            else
+                this.emit(DESTROYED);
+            return this;
+        }
+        this[DESTROYED] = true;
+        this[DISCARDED] = true;
+        // throw away all buffered data, it's never coming out
+        this[BUFFER].length = 0;
+        this[BUFFERLENGTH] = 0;
+        const wc = this;
+        if (typeof wc.close === 'function' && !this[CLOSED])
+            wc.close();
+        if (er)
+            this.emit('error', er);
+        // if no error to emit, still reject pending promises
+        else
+            this.emit(DESTROYED);
+        return this;
+    }
+    /**
+     * Alias for {@link isStream}
+     *
+     * Former export location, maintained for backwards compatibility.
+     *
+     * @deprecated
+     */
+    static get isStream() {
+        return exports.isStream;
+    }
+}
+exports.Minipass = Minipass;
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 95937:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PathScurry = exports.Path = exports.PathScurryDarwin = exports.PathScurryPosix = exports.PathScurryWin32 = exports.PathScurryBase = exports.PathPosix = exports.PathWin32 = exports.PathBase = exports.ChildrenCache = exports.ResolveCache = void 0;
+const lru_cache_1 = __webpack_require__(72159);
+const path_1 = __webpack_require__(71017);
+const url_1 = __webpack_require__(57310);
+const actualFS = __importStar(__webpack_require__(57147));
+const fs_1 = __webpack_require__(57147);
+const realpathSync = fs_1.realpathSync.native;
+// TODO: test perf of fs/promises realpath vs realpathCB,
+// since the promises one uses realpath.native
+const promises_1 = __webpack_require__(73292);
+const minipass_1 = __webpack_require__(366);
+const defaultFS = {
+    lstatSync: fs_1.lstatSync,
+    readdir: fs_1.readdir,
+    readdirSync: fs_1.readdirSync,
+    readlinkSync: fs_1.readlinkSync,
+    realpathSync,
+    promises: {
+        lstat: promises_1.lstat,
+        readdir: promises_1.readdir,
+        readlink: promises_1.readlink,
+        realpath: promises_1.realpath,
+    },
+};
+// if they just gave us require('fs') then use our default
+const fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS
+    ? defaultFS
+    : {
+        ...defaultFS,
+        ...fsOption,
+        promises: {
+            ...defaultFS.promises,
+            ...(fsOption.promises || {}),
+        },
+    };
+// turn something like //?/c:/ into c:\
+const uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
+const uncToDrive = (rootPath) => rootPath.replace(/\//g, '\\').replace(uncDriveRegexp, '$1\\');
+// windows paths are separated by either / or \
+const eitherSep = /[\\\/]/;
+const UNKNOWN = 0; // may not even exist, for all we know
+const IFIFO = 0b0001;
+const IFCHR = 0b0010;
+const IFDIR = 0b0100;
+const IFBLK = 0b0110;
+const IFREG = 0b1000;
+const IFLNK = 0b1010;
+const IFSOCK = 0b1100;
+const IFMT = 0b1111;
+// mask to unset low 4 bits
+const IFMT_UNKNOWN = ~IFMT;
+// set after successfully calling readdir() and getting entries.
+const READDIR_CALLED = 16;
+// set after a successful lstat()
+const LSTAT_CALLED = 32;
+// set if an entry (or one of its parents) is definitely not a dir
+const ENOTDIR = 64;
+// set if an entry (or one of its parents) does not exist
+// (can also be set on lstat errors like EACCES or ENAMETOOLONG)
+const ENOENT = 128;
+// cannot have child entries -- also verify &IFMT is either IFDIR or IFLNK
+// set if we fail to readlink
+const ENOREADLINK = 256;
+// set if we know realpath() will fail
+const ENOREALPATH = 512;
+const ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
+const TYPEMASK = 1023;
+const entToType = (s) => s.isFile()
+    ? IFREG
+    : s.isDirectory()
+        ? IFDIR
+        : s.isSymbolicLink()
+            ? IFLNK
+            : s.isCharacterDevice()
+                ? IFCHR
+                : s.isBlockDevice()
+                    ? IFBLK
+                    : s.isSocket()
+                        ? IFSOCK
+                        : s.isFIFO()
+                            ? IFIFO
+                            : UNKNOWN;
+// normalize unicode path names
+const normalizeCache = new Map();
+const normalize = (s) => {
+    const c = normalizeCache.get(s);
+    if (c)
+        return c;
+    const n = s.normalize('NFKD');
+    normalizeCache.set(s, n);
+    return n;
+};
+const normalizeNocaseCache = new Map();
+const normalizeNocase = (s) => {
+    const c = normalizeNocaseCache.get(s);
+    if (c)
+        return c;
+    const n = normalize(s.toLowerCase());
+    normalizeNocaseCache.set(s, n);
+    return n;
+};
+/**
+ * An LRUCache for storing resolved path strings or Path objects.
+ * @internal
+ */
+class ResolveCache extends lru_cache_1.LRUCache {
+    constructor() {
+        super({ max: 256 });
+    }
+}
+exports.ResolveCache = ResolveCache;
+// In order to prevent blowing out the js heap by allocating hundreds of
+// thousands of Path entries when walking extremely large trees, the "children"
+// in this tree are represented by storing an array of Path entries in an
+// LRUCache, indexed by the parent.  At any time, Path.children() may return an
+// empty array, indicating that it doesn't know about any of its children, and
+// thus has to rebuild that cache.  This is fine, it just means that we don't
+// benefit as much from having the cached entries, but huge directory walks
+// don't blow out the stack, and smaller ones are still as fast as possible.
+//
+//It does impose some complexity when building up the readdir data, because we
+//need to pass a reference to the children array that we started with.
+/**
+ * an LRUCache for storing child entries.
+ * @internal
+ */
+class ChildrenCache extends lru_cache_1.LRUCache {
+    constructor(maxSize = 16 * 1024) {
+        super({
+            maxSize,
+            // parent + children
+            sizeCalculation: a => a.length + 1,
+        });
+    }
+}
+exports.ChildrenCache = ChildrenCache;
+const setAsCwd = Symbol('PathScurry setAsCwd');
+/**
+ * Path objects are sort of like a super-powered
+ * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent}
+ *
+ * Each one represents a single filesystem entry on disk, which may or may not
+ * exist. It includes methods for reading various types of information via
+ * lstat, readlink, and readdir, and caches all information to the greatest
+ * degree possible.
+ *
+ * Note that fs operations that would normally throw will instead return an
+ * "empty" value. This is in order to prevent excessive overhead from error
+ * stack traces.
+ */
+class PathBase {
+    /**
+     * the basename of this path
+     *
+     * **Important**: *always* test the path name against any test string
+     * usingthe {@link isNamed} method, and not by directly comparing this
+     * string. Otherwise, unicode path strings that the system sees as identical
+     * will not be properly treated as the same path, leading to incorrect
+     * behavior and possible security issues.
+     */
+    name;
+    /**
+     * the Path entry corresponding to the path root.
+     *
+     * @internal
+     */
+    root;
+    /**
+     * All roots found within the current PathScurry family
+     *
+     * @internal
+     */
+    roots;
+    /**
+     * a reference to the parent path, or undefined in the case of root entries
+     *
+     * @internal
+     */
+    parent;
+    /**
+     * boolean indicating whether paths are compared case-insensitively
+     * @internal
+     */
+    nocase;
+    // potential default fs override
+    #fs;
+    // Stats fields
+    #dev;
+    get dev() {
+        return this.#dev;
+    }
+    #mode;
+    get mode() {
+        return this.#mode;
+    }
+    #nlink;
+    get nlink() {
+        return this.#nlink;
+    }
+    #uid;
+    get uid() {
+        return this.#uid;
+    }
+    #gid;
+    get gid() {
+        return this.#gid;
+    }
+    #rdev;
+    get rdev() {
+        return this.#rdev;
+    }
+    #blksize;
+    get blksize() {
+        return this.#blksize;
+    }
+    #ino;
+    get ino() {
+        return this.#ino;
+    }
+    #size;
+    get size() {
+        return this.#size;
+    }
+    #blocks;
+    get blocks() {
+        return this.#blocks;
+    }
+    #atimeMs;
+    get atimeMs() {
+        return this.#atimeMs;
+    }
+    #mtimeMs;
+    get mtimeMs() {
+        return this.#mtimeMs;
+    }
+    #ctimeMs;
+    get ctimeMs() {
+        return this.#ctimeMs;
+    }
+    #birthtimeMs;
+    get birthtimeMs() {
+        return this.#birthtimeMs;
+    }
+    #atime;
+    get atime() {
+        return this.#atime;
+    }
+    #mtime;
+    get mtime() {
+        return this.#mtime;
+    }
+    #ctime;
+    get ctime() {
+        return this.#ctime;
+    }
+    #birthtime;
+    get birthtime() {
+        return this.#birthtime;
+    }
+    #matchName;
+    #depth;
+    #fullpath;
+    #fullpathPosix;
+    #relative;
+    #relativePosix;
+    #type;
+    #children;
+    #linkTarget;
+    #realpath;
+    /**
+     * This property is for compatibility with the Dirent class as of
+     * Node v20, where Dirent['path'] refers to the path of the directory
+     * that was passed to readdir.  So, somewhat counterintuitively, this
+     * property refers to the *parent* path, not the path object itself.
+     * For root entries, it's the path to the entry itself.
+     */
+    get path() {
+        return (this.parent || this).fullpath();
+    }
+    /**
+     * Do not create new Path objects directly.  They should always be accessed
+     * via the PathScurry class or other methods on the Path class.
+     *
+     * @internal
+     */
+    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
+        this.name = name;
+        this.#matchName = nocase ? normalizeNocase(name) : normalize(name);
+        this.#type = type & TYPEMASK;
+        this.nocase = nocase;
+        this.roots = roots;
+        this.root = root || this;
+        this.#children = children;
+        this.#fullpath = opts.fullpath;
+        this.#relative = opts.relative;
+        this.#relativePosix = opts.relativePosix;
+        this.parent = opts.parent;
+        if (this.parent) {
+            this.#fs = this.parent.#fs;
+        }
+        else {
+            this.#fs = fsFromOption(opts.fs);
+        }
+    }
+    /**
+     * Returns the depth of the Path object from its root.
+     *
+     * For example, a path at `/foo/bar` would have a depth of 2.
+     */
+    depth() {
+        if (this.#depth !== undefined)
+            return this.#depth;
+        if (!this.parent)
+            return (this.#depth = 0);
+        return (this.#depth = this.parent.depth() + 1);
+    }
+    /**
+     * @internal
+     */
+    childrenCache() {
+        return this.#children;
+    }
+    /**
+     * Get the Path object referenced by the string path, resolved from this Path
+     */
+    resolve(path) {
+        if (!path) {
+            return this;
+        }
+        const rootPath = this.getRootString(path);
+        const dir = path.substring(rootPath.length);
+        const dirParts = dir.split(this.splitSep);
+        const result = rootPath
+            ? this.getRoot(rootPath).#resolveParts(dirParts)
+            : this.#resolveParts(dirParts);
+        return result;
+    }
+    #resolveParts(dirParts) {
+        let p = this;
+        for (const part of dirParts) {
+            p = p.child(part);
+        }
+        return p;
+    }
+    /**
+     * Returns the cached children Path objects, if still available.  If they
+     * have fallen out of the cache, then returns an empty array, and resets the
+     * READDIR_CALLED bit, so that future calls to readdir() will require an fs
+     * lookup.
+     *
+     * @internal
+     */
+    children() {
+        const cached = this.#children.get(this);
+        if (cached) {
+            return cached;
+        }
+        const children = Object.assign([], { provisional: 0 });
+        this.#children.set(this, children);
+        this.#type &= ~READDIR_CALLED;
+        return children;
+    }
+    /**
+     * Resolves a path portion and returns or creates the child Path.
+     *
+     * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
+     * `'..'`.
+     *
+     * This should not be called directly.  If `pathPart` contains any path
+     * separators, it will lead to unsafe undefined behavior.
+     *
+     * Use `Path.resolve()` instead.
+     *
+     * @internal
+     */
+    child(pathPart, opts) {
+        if (pathPart === '' || pathPart === '.') {
+            return this;
+        }
+        if (pathPart === '..') {
+            return this.parent || this;
+        }
+        // find the child
+        const children = this.children();
+        const name = this.nocase
+            ? normalizeNocase(pathPart)
+            : normalize(pathPart);
+        for (const p of children) {
+            if (p.#matchName === name) {
+                return p;
+            }
+        }
+        // didn't find it, create provisional child, since it might not
+        // actually exist.  If we know the parent isn't a dir, then
+        // in fact it CAN'T exist.
+        const s = this.parent ? this.sep : '';
+        const fullpath = this.#fullpath
+            ? this.#fullpath + s + pathPart
+            : undefined;
+        const pchild = this.newChild(pathPart, UNKNOWN, {
+            ...opts,
+            parent: this,
+            fullpath,
+        });
+        if (!this.canReaddir()) {
+            pchild.#type |= ENOENT;
+        }
+        // don't have to update provisional, because if we have real children,
+        // then provisional is set to children.length, otherwise a lower number
+        children.push(pchild);
+        return pchild;
+    }
+    /**
+     * The relative path from the cwd. If it does not share an ancestor with
+     * the cwd, then this ends up being equivalent to the fullpath()
+     */
+    relative() {
+        if (this.#relative !== undefined) {
+            return this.#relative;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+            return (this.#relative = this.name);
+        }
+        const pv = p.relative();
+        return pv + (!pv || !p.parent ? '' : this.sep) + name;
+    }
+    /**
+     * The relative path from the cwd, using / as the path separator.
+     * If it does not share an ancestor with
+     * the cwd, then this ends up being equivalent to the fullpathPosix()
+     * On posix systems, this is identical to relative().
+     */
+    relativePosix() {
+        if (this.sep === '/')
+            return this.relative();
+        if (this.#relativePosix !== undefined)
+            return this.#relativePosix;
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+            return (this.#relativePosix = this.fullpathPosix());
+        }
+        const pv = p.relativePosix();
+        return pv + (!pv || !p.parent ? '' : '/') + name;
+    }
+    /**
+     * The fully resolved path string for this Path entry
+     */
+    fullpath() {
+        if (this.#fullpath !== undefined) {
+            return this.#fullpath;
+        }
+        const name = this.name;
+        const p = this.parent;
+        if (!p) {
+            return (this.#fullpath = this.name);
+        }
+        const pv = p.fullpath();
+        const fp = pv + (!p.parent ? '' : this.sep) + name;
+        return (this.#fullpath = fp);
+    }
+    /**
+     * On platforms other than windows, this is identical to fullpath.
+     *
+     * On windows, this is overridden to return the forward-slash form of the
+     * full UNC path.
+     */
+    fullpathPosix() {
+        if (this.#fullpathPosix !== undefined)
+            return this.#fullpathPosix;
+        if (this.sep === '/')
+            return (this.#fullpathPosix = this.fullpath());
+        if (!this.parent) {
+            const p = this.fullpath().replace(/\\/g, '/');
+            if (/^[a-z]:\//i.test(p)) {
+                return (this.#fullpathPosix = `//?/${p}`);
+            }
+            else {
+                return (this.#fullpathPosix = p);
+            }
+        }
+        const p = this.parent;
+        const pfpp = p.fullpathPosix();
+        const fpp = pfpp + (!pfpp || !p.parent ? '' : '/') + this.name;
+        return (this.#fullpathPosix = fpp);
+    }
+    /**
+     * Is the Path of an unknown type?
+     *
+     * Note that we might know *something* about it if there has been a previous
+     * filesystem operation, for example that it does not exist, or is not a
+     * link, or whether it has child entries.
+     */
+    isUnknown() {
+        return (this.#type & IFMT) === UNKNOWN;
+    }
+    isType(type) {
+        return this[`is${type}`]();
+    }
+    getType() {
+        return this.isUnknown()
+            ? 'Unknown'
+            : this.isDirectory()
+                ? 'Directory'
+                : this.isFile()
+                    ? 'File'
+                    : this.isSymbolicLink()
+                        ? 'SymbolicLink'
+                        : this.isFIFO()
+                            ? 'FIFO'
+                            : this.isCharacterDevice()
+                                ? 'CharacterDevice'
+                                : this.isBlockDevice()
+                                    ? 'BlockDevice'
+                                    : /* c8 ignore start */ this.isSocket()
+                                        ? 'Socket'
+                                        : 'Unknown';
+        /* c8 ignore stop */
+    }
+    /**
+     * Is the Path a regular file?
+     */
+    isFile() {
+        return (this.#type & IFMT) === IFREG;
+    }
+    /**
+     * Is the Path a directory?
+     */
+    isDirectory() {
+        return (this.#type & IFMT) === IFDIR;
+    }
+    /**
+     * Is the path a character device?
+     */
+    isCharacterDevice() {
+        return (this.#type & IFMT) === IFCHR;
+    }
+    /**
+     * Is the path a block device?
+     */
+    isBlockDevice() {
+        return (this.#type & IFMT) === IFBLK;
+    }
+    /**
+     * Is the path a FIFO pipe?
+     */
+    isFIFO() {
+        return (this.#type & IFMT) === IFIFO;
+    }
+    /**
+     * Is the path a socket?
+     */
+    isSocket() {
+        return (this.#type & IFMT) === IFSOCK;
+    }
+    /**
+     * Is the path a symbolic link?
+     */
+    isSymbolicLink() {
+        return (this.#type & IFLNK) === IFLNK;
+    }
+    /**
+     * Return the entry if it has been subject of a successful lstat, or
+     * undefined otherwise.
+     *
+     * Does not read the filesystem, so an undefined result *could* simply
+     * mean that we haven't called lstat on it.
+     */
+    lstatCached() {
+        return this.#type & LSTAT_CALLED ? this : undefined;
+    }
+    /**
+     * Return the cached link target if the entry has been the subject of a
+     * successful readlink, or undefined otherwise.
+     *
+     * Does not read the filesystem, so an undefined result *could* just mean we
+     * don't have any cached data. Only use it if you are very sure that a
+     * readlink() has been called at some point.
+     */
+    readlinkCached() {
+        return this.#linkTarget;
+    }
+    /**
+     * Returns the cached realpath target if the entry has been the subject
+     * of a successful realpath, or undefined otherwise.
+     *
+     * Does not read the filesystem, so an undefined result *could* just mean we
+     * don't have any cached data. Only use it if you are very sure that a
+     * realpath() has been called at some point.
+     */
+    realpathCached() {
+        return this.#realpath;
+    }
+    /**
+     * Returns the cached child Path entries array if the entry has been the
+     * subject of a successful readdir(), or [] otherwise.
+     *
+     * Does not read the filesystem, so an empty array *could* just mean we
+     * don't have any cached data. Only use it if you are very sure that a
+     * readdir() has been called recently enough to still be valid.
+     */
+    readdirCached() {
+        const children = this.children();
+        return children.slice(0, children.provisional);
+    }
+    /**
+     * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
+     * any indication that readlink will definitely fail.
+     *
+     * Returns false if the path is known to not be a symlink, if a previous
+     * readlink failed, or if the entry does not exist.
+     */
+    canReadlink() {
+        if (this.#linkTarget)
+            return true;
+        if (!this.parent)
+            return false;
+        // cases where it cannot possibly succeed
+        const ifmt = this.#type & IFMT;
+        return !((ifmt !== UNKNOWN && ifmt !== IFLNK) ||
+            this.#type & ENOREADLINK ||
+            this.#type & ENOENT);
+    }
+    /**
+     * Return true if readdir has previously been successfully called on this
+     * path, indicating that cachedReaddir() is likely valid.
+     */
+    calledReaddir() {
+        return !!(this.#type & READDIR_CALLED);
+    }
+    /**
+     * Returns true if the path is known to not exist. That is, a previous lstat
+     * or readdir failed to verify its existence when that would have been
+     * expected, or a parent entry was marked either enoent or enotdir.
+     */
+    isENOENT() {
+        return !!(this.#type & ENOENT);
+    }
+    /**
+     * Return true if the path is a match for the given path name.  This handles
+     * case sensitivity and unicode normalization.
+     *
+     * Note: even on case-sensitive systems, it is **not** safe to test the
+     * equality of the `.name` property to determine whether a given pathname
+     * matches, due to unicode normalization mismatches.
+     *
+     * Always use this method instead of testing the `path.name` property
+     * directly.
+     */
+    isNamed(n) {
+        return !this.nocase
+            ? this.#matchName === normalize(n)
+            : this.#matchName === normalizeNocase(n);
+    }
+    /**
+     * Return the Path object corresponding to the target of a symbolic link.
+     *
+     * If the Path is not a symbolic link, or if the readlink call fails for any
+     * reason, `undefined` is returned.
+     *
+     * Result is cached, and thus may be outdated if the filesystem is mutated.
+     */
+    async readlink() {
+        const target = this.#linkTarget;
+        if (target) {
+            return target;
+        }
+        if (!this.canReadlink()) {
+            return undefined;
+        }
+        /* c8 ignore start */
+        // already covered by the canReadlink test, here for ts grumples
+        if (!this.parent) {
+            return undefined;
+        }
+        /* c8 ignore stop */
+        try {
+            const read = await this.#fs.promises.readlink(this.fullpath());
+            const linkTarget = this.parent.resolve(read);
+            if (linkTarget) {
+                return (this.#linkTarget = linkTarget);
+            }
+        }
+        catch (er) {
+            this.#readlinkFail(er.code);
+            return undefined;
+        }
+    }
+    /**
+     * Synchronous {@link PathBase.readlink}
+     */
+    readlinkSync() {
+        const target = this.#linkTarget;
+        if (target) {
+            return target;
+        }
+        if (!this.canReadlink()) {
+            return undefined;
+        }
+        /* c8 ignore start */
+        // already covered by the canReadlink test, here for ts grumples
+        if (!this.parent) {
+            return undefined;
+        }
+        /* c8 ignore stop */
+        try {
+            const read = this.#fs.readlinkSync(this.fullpath());
+            const linkTarget = this.parent.resolve(read);
+            if (linkTarget) {
+                return (this.#linkTarget = linkTarget);
+            }
+        }
+        catch (er) {
+            this.#readlinkFail(er.code);
+            return undefined;
+        }
+    }
+    #readdirSuccess(children) {
+        // succeeded, mark readdir called bit
+        this.#type |= READDIR_CALLED;
+        // mark all remaining provisional children as ENOENT
+        for (let p = children.provisional; p < children.length; p++) {
+            children[p].#markENOENT();
+        }
+    }
+    #markENOENT() {
+        // mark as UNKNOWN and ENOENT
+        if (this.#type & ENOENT)
+            return;
+        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
+        this.#markChildrenENOENT();
+    }
+    #markChildrenENOENT() {
+        // all children are provisional and do not exist
+        const children = this.children();
+        children.provisional = 0;
+        for (const p of children) {
+            p.#markENOENT();
+        }
+    }
+    #markENOREALPATH() {
+        this.#type |= ENOREALPATH;
+        this.#markENOTDIR();
+    }
+    // save the information when we know the entry is not a dir
+    #markENOTDIR() {
+        // entry is not a directory, so any children can't exist.
+        // this *should* be impossible, since any children created
+        // after it's been marked ENOTDIR should be marked ENOENT,
+        // so it won't even get to this point.
+        /* c8 ignore start */
+        if (this.#type & ENOTDIR)
+            return;
+        /* c8 ignore stop */
+        let t = this.#type;
+        // this could happen if we stat a dir, then delete it,
+        // then try to read it or one of its children.
+        if ((t & IFMT) === IFDIR)
+            t &= IFMT_UNKNOWN;
+        this.#type = t | ENOTDIR;
+        this.#markChildrenENOENT();
+    }
+    #readdirFail(code = '') {
+        // markENOTDIR and markENOENT also set provisional=0
+        if (code === 'ENOTDIR' || code === 'EPERM') {
+            this.#markENOTDIR();
+        }
+        else if (code === 'ENOENT') {
+            this.#markENOENT();
+        }
+        else {
+            this.children().provisional = 0;
+        }
+    }
+    #lstatFail(code = '') {
+        // Windows just raises ENOENT in this case, disable for win CI
+        /* c8 ignore start */
+        if (code === 'ENOTDIR') {
+            // already know it has a parent by this point
+            const p = this.parent;
+            p.#markENOTDIR();
+        }
+        else if (code === 'ENOENT') {
+            /* c8 ignore stop */
+            this.#markENOENT();
+        }
+    }
+    #readlinkFail(code = '') {
+        let ter = this.#type;
+        ter |= ENOREADLINK;
+        if (code === 'ENOENT')
+            ter |= ENOENT;
+        // windows gets a weird error when you try to readlink a file
+        if (code === 'EINVAL' || code === 'UNKNOWN') {
+            // exists, but not a symlink, we don't know WHAT it is, so remove
+            // all IFMT bits.
+            ter &= IFMT_UNKNOWN;
+        }
+        this.#type = ter;
+        // windows just gets ENOENT in this case.  We do cover the case,
+        // just disabled because it's impossible on Windows CI
+        /* c8 ignore start */
+        if (code === 'ENOTDIR' && this.parent) {
+            this.parent.#markENOTDIR();
+        }
+        /* c8 ignore stop */
+    }
+    #readdirAddChild(e, c) {
+        return (this.#readdirMaybePromoteChild(e, c) ||
+            this.#readdirAddNewChild(e, c));
+    }
+    #readdirAddNewChild(e, c) {
+        // alloc new entry at head, so it's never provisional
+        const type = entToType(e);
+        const child = this.newChild(e.name, type, { parent: this });
+        const ifmt = child.#type & IFMT;
+        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
+            child.#type |= ENOTDIR;
+        }
+        c.unshift(child);
+        c.provisional++;
+        return child;
+    }
+    #readdirMaybePromoteChild(e, c) {
+        for (let p = c.provisional; p < c.length; p++) {
+            const pchild = c[p];
+            const name = this.nocase
+                ? normalizeNocase(e.name)
+                : normalize(e.name);
+            if (name !== pchild.#matchName) {
+                continue;
+            }
+            return this.#readdirPromoteChild(e, pchild, p, c);
+        }
+    }
+    #readdirPromoteChild(e, p, index, c) {
+        const v = p.name;
+        // retain any other flags, but set ifmt from dirent
+        p.#type = (p.#type & IFMT_UNKNOWN) | entToType(e);
+        // case sensitivity fixing when we learn the true name.
+        if (v !== e.name)
+            p.name = e.name;
+        // just advance provisional index (potentially off the list),
+        // otherwise we have to splice/pop it out and re-insert at head
+        if (index !== c.provisional) {
+            if (index === c.length - 1)
+                c.pop();
+            else
+                c.splice(index, 1);
+            c.unshift(p);
+        }
+        c.provisional++;
+        return p;
+    }
+    /**
+     * Call lstat() on this Path, and update all known information that can be
+     * determined.
+     *
+     * Note that unlike `fs.lstat()`, the returned value does not contain some
+     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+     * information is required, you will need to call `fs.lstat` yourself.
+     *
+     * If the Path refers to a nonexistent file, or if the lstat call fails for
+     * any reason, `undefined` is returned.  Otherwise the updated Path object is
+     * returned.
+     *
+     * Results are cached, and thus may be out of date if the filesystem is
+     * mutated.
+     */
+    async lstat() {
+        if ((this.#type & ENOENT) === 0) {
+            try {
+                this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
+                return this;
+            }
+            catch (er) {
+                this.#lstatFail(er.code);
+            }
+        }
+    }
+    /**
+     * synchronous {@link PathBase.lstat}
+     */
+    lstatSync() {
+        if ((this.#type & ENOENT) === 0) {
+            try {
+                this.#applyStat(this.#fs.lstatSync(this.fullpath()));
+                return this;
+            }
+            catch (er) {
+                this.#lstatFail(er.code);
+            }
+        }
+    }
+    #applyStat(st) {
+        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid, } = st;
+        this.#atime = atime;
+        this.#atimeMs = atimeMs;
+        this.#birthtime = birthtime;
+        this.#birthtimeMs = birthtimeMs;
+        this.#blksize = blksize;
+        this.#blocks = blocks;
+        this.#ctime = ctime;
+        this.#ctimeMs = ctimeMs;
+        this.#dev = dev;
+        this.#gid = gid;
+        this.#ino = ino;
+        this.#mode = mode;
+        this.#mtime = mtime;
+        this.#mtimeMs = mtimeMs;
+        this.#nlink = nlink;
+        this.#rdev = rdev;
+        this.#size = size;
+        this.#uid = uid;
+        const ifmt = entToType(st);
+        // retain any other flags, but set the ifmt
+        this.#type = (this.#type & IFMT_UNKNOWN) | ifmt | LSTAT_CALLED;
+        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
+            this.#type |= ENOTDIR;
+        }
+    }
+    #onReaddirCB = [];
+    #readdirCBInFlight = false;
+    #callOnReaddirCB(children) {
+        this.#readdirCBInFlight = false;
+        const cbs = this.#onReaddirCB.slice();
+        this.#onReaddirCB.length = 0;
+        cbs.forEach(cb => cb(null, children));
+    }
+    /**
+     * Standard node-style callback interface to get list of directory entries.
+     *
+     * If the Path cannot or does not contain any children, then an empty array
+     * is returned.
+     *
+     * Results are cached, and thus may be out of date if the filesystem is
+     * mutated.
+     *
+     * @param cb The callback called with (er, entries).  Note that the `er`
+     * param is somewhat extraneous, as all readdir() errors are handled and
+     * simply result in an empty set of entries being returned.
+     * @param allowZalgo Boolean indicating that immediately known results should
+     * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
+     * zalgo at your peril, the dark pony lord is devious and unforgiving.
+     */
+    readdirCB(cb, allowZalgo = false) {
+        if (!this.canReaddir()) {
+            if (allowZalgo)
+                cb(null, []);
+            else
+                queueMicrotask(() => cb(null, []));
+            return;
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+            const c = children.slice(0, children.provisional);
+            if (allowZalgo)
+                cb(null, c);
+            else
+                queueMicrotask(() => cb(null, c));
+            return;
+        }
+        // don't have to worry about zalgo at this point.
+        this.#onReaddirCB.push(cb);
+        if (this.#readdirCBInFlight) {
+            return;
+        }
+        this.#readdirCBInFlight = true;
+        // else read the directory, fill up children
+        // de-provisionalize any provisional children.
+        const fullpath = this.fullpath();
+        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
+            if (er) {
+                this.#readdirFail(er.code);
+                children.provisional = 0;
+            }
+            else {
+                // if we didn't get an error, we always get entries.
+                //@ts-ignore
+                for (const e of entries) {
+                    this.#readdirAddChild(e, children);
+                }
+                this.#readdirSuccess(children);
+            }
+            this.#callOnReaddirCB(children.slice(0, children.provisional));
+            return;
+        });
+    }
+    #asyncReaddirInFlight;
+    /**
+     * Return an array of known child entries.
+     *
+     * If the Path cannot or does not contain any children, then an empty array
+     * is returned.
+     *
+     * Results are cached, and thus may be out of date if the filesystem is
+     * mutated.
+     */
+    async readdir() {
+        if (!this.canReaddir()) {
+            return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+            return children.slice(0, children.provisional);
+        }
+        // else read the directory, fill up children
+        // de-provisionalize any provisional children.
+        const fullpath = this.fullpath();
+        if (this.#asyncReaddirInFlight) {
+            await this.#asyncReaddirInFlight;
+        }
+        else {
+            /* c8 ignore start */
+            let resolve = () => { };
+            /* c8 ignore stop */
+            this.#asyncReaddirInFlight = new Promise(res => (resolve = res));
+            try {
+                for (const e of await this.#fs.promises.readdir(fullpath, {
+                    withFileTypes: true,
+                })) {
+                    this.#readdirAddChild(e, children);
+                }
+                this.#readdirSuccess(children);
+            }
+            catch (er) {
+                this.#readdirFail(er.code);
+                children.provisional = 0;
+            }
+            this.#asyncReaddirInFlight = undefined;
+            resolve();
+        }
+        return children.slice(0, children.provisional);
+    }
+    /**
+     * synchronous {@link PathBase.readdir}
+     */
+    readdirSync() {
+        if (!this.canReaddir()) {
+            return [];
+        }
+        const children = this.children();
+        if (this.calledReaddir()) {
+            return children.slice(0, children.provisional);
+        }
+        // else read the directory, fill up children
+        // de-provisionalize any provisional children.
+        const fullpath = this.fullpath();
+        try {
+            for (const e of this.#fs.readdirSync(fullpath, {
+                withFileTypes: true,
+            })) {
+                this.#readdirAddChild(e, children);
+            }
+            this.#readdirSuccess(children);
+        }
+        catch (er) {
+            this.#readdirFail(er.code);
+            children.provisional = 0;
+        }
+        return children.slice(0, children.provisional);
+    }
+    canReaddir() {
+        if (this.#type & ENOCHILD)
+            return false;
+        const ifmt = IFMT & this.#type;
+        // we always set ENOTDIR when setting IFMT, so should be impossible
+        /* c8 ignore start */
+        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+            return false;
+        }
+        /* c8 ignore stop */
+        return true;
+    }
+    shouldWalk(dirs, walkFilter) {
+        return ((this.#type & IFDIR) === IFDIR &&
+            !(this.#type & ENOCHILD) &&
+            !dirs.has(this) &&
+            (!walkFilter || walkFilter(this)));
+    }
+    /**
+     * Return the Path object corresponding to path as resolved
+     * by realpath(3).
+     *
+     * If the realpath call fails for any reason, `undefined` is returned.
+     *
+     * Result is cached, and thus may be outdated if the filesystem is mutated.
+     * On success, returns a Path object.
+     */
+    async realpath() {
+        if (this.#realpath)
+            return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+            return undefined;
+        try {
+            const rp = await this.#fs.promises.realpath(this.fullpath());
+            return (this.#realpath = this.resolve(rp));
+        }
+        catch (_) {
+            this.#markENOREALPATH();
+        }
+    }
+    /**
+     * Synchronous {@link realpath}
+     */
+    realpathSync() {
+        if (this.#realpath)
+            return this.#realpath;
+        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
+            return undefined;
+        try {
+            const rp = this.#fs.realpathSync(this.fullpath());
+            return (this.#realpath = this.resolve(rp));
+        }
+        catch (_) {
+            this.#markENOREALPATH();
+        }
+    }
+    /**
+     * Internal method to mark this Path object as the scurry cwd,
+     * called by {@link PathScurry#chdir}
+     *
+     * @internal
+     */
+    [setAsCwd](oldCwd) {
+        if (oldCwd === this)
+            return;
+        const changed = new Set([]);
+        let rp = [];
+        let p = this;
+        while (p && p.parent) {
+            changed.add(p);
+            p.#relative = rp.join(this.sep);
+            p.#relativePosix = rp.join('/');
+            p = p.parent;
+            rp.push('..');
+        }
+        // now un-memoize parents of old cwd
+        p = oldCwd;
+        while (p && p.parent && !changed.has(p)) {
+            p.#relative = undefined;
+            p.#relativePosix = undefined;
+            p = p.parent;
+        }
+    }
+}
+exports.PathBase = PathBase;
+/**
+ * Path class used on win32 systems
+ *
+ * Uses `'\\'` as the path separator for returned paths, either `'\\'` or `'/'`
+ * as the path separator for parsing paths.
+ */
+class PathWin32 extends PathBase {
+    /**
+     * Separator for generating path strings.
+     */
+    sep = '\\';
+    /**
+     * Separator for parsing path strings.
+     */
+    splitSep = eitherSep;
+    /**
+     * Do not create new Path objects directly.  They should always be accessed
+     * via the PathScurry class or other methods on the Path class.
+     *
+     * @internal
+     */
+    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type, root, roots, nocase, children, opts);
+    }
+    /**
+     * @internal
+     */
+    newChild(name, type = UNKNOWN, opts = {}) {
+        return new PathWin32(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    }
+    /**
+     * @internal
+     */
+    getRootString(path) {
+        return path_1.win32.parse(path).root;
+    }
+    /**
+     * @internal
+     */
+    getRoot(rootPath) {
+        rootPath = uncToDrive(rootPath.toUpperCase());
+        if (rootPath === this.root.name) {
+            return this.root;
+        }
+        // ok, not that one, check if it matches another we know about
+        for (const [compare, root] of Object.entries(this.roots)) {
+            if (this.sameRoot(rootPath, compare)) {
+                return (this.roots[rootPath] = root);
+            }
+        }
+        // otherwise, have to create a new one.
+        return (this.roots[rootPath] = new PathScurryWin32(rootPath, this).root);
+    }
+    /**
+     * @internal
+     */
+    sameRoot(rootPath, compare = this.root.name) {
+        // windows can (rarely) have case-sensitive filesystem, but
+        // UNC and drive letters are always case-insensitive, and canonically
+        // represented uppercase.
+        rootPath = rootPath
+            .toUpperCase()
+            .replace(/\//g, '\\')
+            .replace(uncDriveRegexp, '$1\\');
+        return rootPath === compare;
+    }
+}
+exports.PathWin32 = PathWin32;
+/**
+ * Path class used on all posix systems.
+ *
+ * Uses `'/'` as the path separator.
+ */
+class PathPosix extends PathBase {
+    /**
+     * separator for parsing path strings
+     */
+    splitSep = '/';
+    /**
+     * separator for generating path strings
+     */
+    sep = '/';
+    /**
+     * Do not create new Path objects directly.  They should always be accessed
+     * via the PathScurry class or other methods on the Path class.
+     *
+     * @internal
+     */
+    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
+        super(name, type, root, roots, nocase, children, opts);
+    }
+    /**
+     * @internal
+     */
+    getRootString(path) {
+        return path.startsWith('/') ? '/' : '';
+    }
+    /**
+     * @internal
+     */
+    getRoot(_rootPath) {
+        return this.root;
+    }
+    /**
+     * @internal
+     */
+    newChild(name, type = UNKNOWN, opts = {}) {
+        return new PathPosix(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
+    }
+}
+exports.PathPosix = PathPosix;
+/**
+ * The base class for all PathScurry classes, providing the interface for path
+ * resolution and filesystem operations.
+ *
+ * Typically, you should *not* instantiate this class directly, but rather one
+ * of the platform-specific classes, or the exported {@link PathScurry} which
+ * defaults to the current platform.
+ */
+class PathScurryBase {
+    /**
+     * The root Path entry for the current working directory of this Scurry
+     */
+    root;
+    /**
+     * The string path for the root of this Scurry's current working directory
+     */
+    rootPath;
+    /**
+     * A collection of all roots encountered, referenced by rootPath
+     */
+    roots;
+    /**
+     * The Path entry corresponding to this PathScurry's current working directory.
+     */
+    cwd;
+    #resolveCache;
+    #resolvePosixCache;
+    #children;
+    /**
+     * Perform path comparisons case-insensitively.
+     *
+     * Defaults true on Darwin and Windows systems, false elsewhere.
+     */
+    nocase;
+    #fs;
+    /**
+     * This class should not be instantiated directly.
+     *
+     * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
+     *
+     * @internal
+     */
+    constructor(cwd = process.cwd(), pathImpl, sep, { nocase, childrenCacheSize = 16 * 1024, fs = defaultFS, } = {}) {
+        this.#fs = fsFromOption(fs);
+        if (cwd instanceof URL || cwd.startsWith('file://')) {
+            cwd = (0, url_1.fileURLToPath)(cwd);
+        }
+        // resolve and split root, and then add to the store.
+        // this is the only time we call path.resolve()
+        const cwdPath = pathImpl.resolve(cwd);
+        this.roots = Object.create(null);
+        this.rootPath = this.parseRootPath(cwdPath);
+        this.#resolveCache = new ResolveCache();
+        this.#resolvePosixCache = new ResolveCache();
+        this.#children = new ChildrenCache(childrenCacheSize);
+        const split = cwdPath.substring(this.rootPath.length).split(sep);
+        // resolve('/') leaves '', splits to [''], we don't want that.
+        if (split.length === 1 && !split[0]) {
+            split.pop();
+        }
+        /* c8 ignore start */
+        if (nocase === undefined) {
+            throw new TypeError('must provide nocase setting to PathScurryBase ctor');
+        }
+        /* c8 ignore stop */
+        this.nocase = nocase;
+        this.root = this.newRoot(this.#fs);
+        this.roots[this.rootPath] = this.root;
+        let prev = this.root;
+        let len = split.length - 1;
+        const joinSep = pathImpl.sep;
+        let abs = this.rootPath;
+        let sawFirst = false;
+        for (const part of split) {
+            const l = len--;
+            prev = prev.child(part, {
+                relative: new Array(l).fill('..').join(joinSep),
+                relativePosix: new Array(l).fill('..').join('/'),
+                fullpath: (abs += (sawFirst ? '' : joinSep) + part),
+            });
+            sawFirst = true;
+        }
+        this.cwd = prev;
+    }
+    /**
+     * Get the depth of a provided path, string, or the cwd
+     */
+    depth(path = this.cwd) {
+        if (typeof path === 'string') {
+            path = this.cwd.resolve(path);
+        }
+        return path.depth();
+    }
+    /**
+     * Return the cache of child entries.  Exposed so subclasses can create
+     * child Path objects in a platform-specific way.
+     *
+     * @internal
+     */
+    childrenCache() {
+        return this.#children;
+    }
+    /**
+     * Resolve one or more path strings to a resolved string
+     *
+     * Same interface as require('path').resolve.
+     *
+     * Much faster than path.resolve() when called multiple times for the same
+     * path, because the resolved Path objects are cached.  Much slower
+     * otherwise.
+     */
+    resolve(...paths) {
+        // first figure out the minimum number of paths we have to test
+        // we always start at cwd, but any absolutes will bump the start
+        let r = '';
+        for (let i = paths.length - 1; i >= 0; i--) {
+            const p = paths[i];
+            if (!p || p === '.')
+                continue;
+            r = r ? `${p}/${r}` : p;
+            if (this.isAbsolute(p)) {
+                break;
+            }
+        }
+        const cached = this.#resolveCache.get(r);
+        if (cached !== undefined) {
+            return cached;
+        }
+        const result = this.cwd.resolve(r).fullpath();
+        this.#resolveCache.set(r, result);
+        return result;
+    }
+    /**
+     * Resolve one or more path strings to a resolved string, returning
+     * the posix path.  Identical to .resolve() on posix systems, but on
+     * windows will return a forward-slash separated UNC path.
+     *
+     * Same interface as require('path').resolve.
+     *
+     * Much faster than path.resolve() when called multiple times for the same
+     * path, because the resolved Path objects are cached.  Much slower
+     * otherwise.
+     */
+    resolvePosix(...paths) {
+        // first figure out the minimum number of paths we have to test
+        // we always start at cwd, but any absolutes will bump the start
+        let r = '';
+        for (let i = paths.length - 1; i >= 0; i--) {
+            const p = paths[i];
+            if (!p || p === '.')
+                continue;
+            r = r ? `${p}/${r}` : p;
+            if (this.isAbsolute(p)) {
+                break;
+            }
+        }
+        const cached = this.#resolvePosixCache.get(r);
+        if (cached !== undefined) {
+            return cached;
+        }
+        const result = this.cwd.resolve(r).fullpathPosix();
+        this.#resolvePosixCache.set(r, result);
+        return result;
+    }
+    /**
+     * find the relative path from the cwd to the supplied path string or entry
+     */
+    relative(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return entry.relative();
+    }
+    /**
+     * find the relative path from the cwd to the supplied path string or
+     * entry, using / as the path delimiter, even on Windows.
+     */
+    relativePosix(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return entry.relativePosix();
+    }
+    /**
+     * Return the basename for the provided string or Path object
+     */
+    basename(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return entry.name;
+    }
+    /**
+     * Return the dirname for the provided string or Path object
+     */
+    dirname(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return (entry.parent || entry).fullpath();
+    }
+    async readdir(entry = this.cwd, opts = {
+        withFileTypes: true,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes } = opts;
+        if (!entry.canReaddir()) {
+            return [];
+        }
+        else {
+            const p = await entry.readdir();
+            return withFileTypes ? p : p.map(e => e.name);
+        }
+    }
+    readdirSync(entry = this.cwd, opts = {
+        withFileTypes: true,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true } = opts;
+        if (!entry.canReaddir()) {
+            return [];
+        }
+        else if (withFileTypes) {
+            return entry.readdirSync();
+        }
+        else {
+            return entry.readdirSync().map(e => e.name);
+        }
+    }
+    /**
+     * Call lstat() on the string or Path object, and update all known
+     * information that can be determined.
+     *
+     * Note that unlike `fs.lstat()`, the returned value does not contain some
+     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
+     * information is required, you will need to call `fs.lstat` yourself.
+     *
+     * If the Path refers to a nonexistent file, or if the lstat call fails for
+     * any reason, `undefined` is returned.  Otherwise the updated Path object is
+     * returned.
+     *
+     * Results are cached, and thus may be out of date if the filesystem is
+     * mutated.
+     */
+    async lstat(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return entry.lstat();
+    }
+    /**
+     * synchronous {@link PathScurryBase.lstat}
+     */
+    lstatSync(entry = this.cwd) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        return entry.lstatSync();
+    }
+    async readlink(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            withFileTypes = entry.withFileTypes;
+            entry = this.cwd;
+        }
+        const e = await entry.readlink();
+        return withFileTypes ? e : e?.fullpath();
+    }
+    readlinkSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            withFileTypes = entry.withFileTypes;
+            entry = this.cwd;
+        }
+        const e = entry.readlinkSync();
+        return withFileTypes ? e : e?.fullpath();
+    }
+    async realpath(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            withFileTypes = entry.withFileTypes;
+            entry = this.cwd;
+        }
+        const e = await entry.realpath();
+        return withFileTypes ? e : e?.fullpath();
+    }
+    realpathSync(entry = this.cwd, { withFileTypes } = {
+        withFileTypes: false,
+    }) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            withFileTypes = entry.withFileTypes;
+            entry = this.cwd;
+        }
+        const e = entry.realpathSync();
+        return withFileTypes ? e : e?.fullpath();
+    }
+    async walk(entry = this.cwd, opts = {}) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+            results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = new Set();
+        const walk = (dir, cb) => {
+            dirs.add(dir);
+            dir.readdirCB((er, entries) => {
+                /* c8 ignore start */
+                if (er) {
+                    return cb(er);
+                }
+                /* c8 ignore stop */
+                let len = entries.length;
+                if (!len)
+                    return cb();
+                const next = () => {
+                    if (--len === 0) {
+                        cb();
+                    }
+                };
+                for (const e of entries) {
+                    if (!filter || filter(e)) {
+                        results.push(withFileTypes ? e : e.fullpath());
+                    }
+                    if (follow && e.isSymbolicLink()) {
+                        e.realpath()
+                            .then(r => (r?.isUnknown() ? r.lstat() : r))
+                            .then(r => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
+                    }
+                    else {
+                        if (e.shouldWalk(dirs, walkFilter)) {
+                            walk(e, next);
+                        }
+                        else {
+                            next();
+                        }
+                    }
+                }
+            }, true); // zalgooooooo
+        };
+        const start = entry;
+        return new Promise((res, rej) => {
+            walk(start, er => {
+                /* c8 ignore start */
+                if (er)
+                    return rej(er);
+                /* c8 ignore stop */
+                res(results);
+            });
+        });
+    }
+    walkSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
+        const results = [];
+        if (!filter || filter(entry)) {
+            results.push(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = new Set([entry]);
+        for (const dir of dirs) {
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+                if (!filter || filter(e)) {
+                    results.push(withFileTypes ? e : e.fullpath());
+                }
+                let r = e;
+                if (e.isSymbolicLink()) {
+                    if (!(follow && (r = e.realpathSync())))
+                        continue;
+                    if (r.isUnknown())
+                        r.lstatSync();
+                }
+                if (r.shouldWalk(dirs, walkFilter)) {
+                    dirs.add(r);
+                }
+            }
+        }
+        return results;
+    }
+    /**
+     * Support for `for await`
+     *
+     * Alias for {@link PathScurryBase.iterate}
+     *
+     * Note: As of Node 19, this is very slow, compared to other methods of
+     * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
+     * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
+     */
+    [Symbol.asyncIterator]() {
+        return this.iterate();
+    }
+    iterate(entry = this.cwd, options = {}) {
+        // iterating async over the stream is significantly more performant,
+        // especially in the warm-cache scenario, because it buffers up directory
+        // entries in the background instead of waiting for a yield for each one.
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            options = entry;
+            entry = this.cwd;
+        }
+        return this.stream(entry, options)[Symbol.asyncIterator]();
+    }
+    /**
+     * Iterating over a PathScurry performs a synchronous walk.
+     *
+     * Alias for {@link PathScurryBase.iterateSync}
+     */
+    [Symbol.iterator]() {
+        return this.iterateSync();
+    }
+    *iterateSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
+        if (!filter || filter(entry)) {
+            yield withFileTypes ? entry : entry.fullpath();
+        }
+        const dirs = new Set([entry]);
+        for (const dir of dirs) {
+            const entries = dir.readdirSync();
+            for (const e of entries) {
+                if (!filter || filter(e)) {
+                    yield withFileTypes ? e : e.fullpath();
+                }
+                let r = e;
+                if (e.isSymbolicLink()) {
+                    if (!(follow && (r = e.realpathSync())))
+                        continue;
+                    if (r.isUnknown())
+                        r.lstatSync();
+                }
+                if (r.shouldWalk(dirs, walkFilter)) {
+                    dirs.add(r);
+                }
+            }
+        }
+    }
+    stream(entry = this.cwd, opts = {}) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        if (!filter || filter(entry)) {
+            results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const dirs = new Set();
+        const queue = [entry];
+        let processing = 0;
+        const process = () => {
+            let paused = false;
+            while (!paused) {
+                const dir = queue.shift();
+                if (!dir) {
+                    if (processing === 0)
+                        results.end();
+                    return;
+                }
+                processing++;
+                dirs.add(dir);
+                const onReaddir = (er, entries, didRealpaths = false) => {
+                    /* c8 ignore start */
+                    if (er)
+                        return results.emit('error', er);
+                    /* c8 ignore stop */
+                    if (follow && !didRealpaths) {
+                        const promises = [];
+                        for (const e of entries) {
+                            if (e.isSymbolicLink()) {
+                                promises.push(e
+                                    .realpath()
+                                    .then((r) => r?.isUnknown() ? r.lstat() : r));
+                            }
+                        }
+                        if (promises.length) {
+                            Promise.all(promises).then(() => onReaddir(null, entries, true));
+                            return;
+                        }
+                    }
+                    for (const e of entries) {
+                        if (e && (!filter || filter(e))) {
+                            if (!results.write(withFileTypes ? e : e.fullpath())) {
+                                paused = true;
+                            }
+                        }
+                    }
+                    processing--;
+                    for (const e of entries) {
+                        const r = e.realpathCached() || e;
+                        if (r.shouldWalk(dirs, walkFilter)) {
+                            queue.push(r);
+                        }
+                    }
+                    if (paused && !results.flowing) {
+                        results.once('drain', process);
+                    }
+                    else if (!sync) {
+                        process();
+                    }
+                };
+                // zalgo containment
+                let sync = true;
+                dir.readdirCB(onReaddir, true);
+                sync = false;
+            }
+        };
+        process();
+        return results;
+    }
+    streamSync(entry = this.cwd, opts = {}) {
+        if (typeof entry === 'string') {
+            entry = this.cwd.resolve(entry);
+        }
+        else if (!(entry instanceof PathBase)) {
+            opts = entry;
+            entry = this.cwd;
+        }
+        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
+        const results = new minipass_1.Minipass({ objectMode: true });
+        const dirs = new Set();
+        if (!filter || filter(entry)) {
+            results.write(withFileTypes ? entry : entry.fullpath());
+        }
+        const queue = [entry];
+        let processing = 0;
+        const process = () => {
+            let paused = false;
+            while (!paused) {
+                const dir = queue.shift();
+                if (!dir) {
+                    if (processing === 0)
+                        results.end();
+                    return;
+                }
+                processing++;
+                dirs.add(dir);
+                const entries = dir.readdirSync();
+                for (const e of entries) {
+                    if (!filter || filter(e)) {
+                        if (!results.write(withFileTypes ? e : e.fullpath())) {
+                            paused = true;
+                        }
+                    }
+                }
+                processing--;
+                for (const e of entries) {
+                    let r = e;
+                    if (e.isSymbolicLink()) {
+                        if (!(follow && (r = e.realpathSync())))
+                            continue;
+                        if (r.isUnknown())
+                            r.lstatSync();
+                    }
+                    if (r.shouldWalk(dirs, walkFilter)) {
+                        queue.push(r);
+                    }
+                }
+            }
+            if (paused && !results.flowing)
+                results.once('drain', process);
+        };
+        process();
+        return results;
+    }
+    chdir(path = this.cwd) {
+        const oldCwd = this.cwd;
+        this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path;
+        this.cwd[setAsCwd](oldCwd);
+    }
+}
+exports.PathScurryBase = PathScurryBase;
+/**
+ * Windows implementation of {@link PathScurryBase}
+ *
+ * Defaults to case insensitve, uses `'\\'` to generate path strings.  Uses
+ * {@link PathWin32} for Path objects.
+ */
+class PathScurryWin32 extends PathScurryBase {
+    /**
+     * separator for generating path strings
+     */
+    sep = '\\';
+    constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, path_1.win32, '\\', { ...opts, nocase });
+        this.nocase = nocase;
+        for (let p = this.cwd; p; p = p.parent) {
+            p.nocase = this.nocase;
+        }
+    }
+    /**
+     * @internal
+     */
+    parseRootPath(dir) {
+        // if the path starts with a single separator, it's not a UNC, and we'll
+        // just get separator as the root, and driveFromUNC will return \
+        // In that case, mount \ on the root from the cwd.
+        return path_1.win32.parse(dir).root.toUpperCase();
+    }
+    /**
+     * @internal
+     */
+    newRoot(fs) {
+        return new PathWin32(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
+    }
+    /**
+     * Return true if the provided path string is an absolute path
+     */
+    isAbsolute(p) {
+        return (p.startsWith('/') || p.startsWith('\\') || /^[a-z]:(\/|\\)/i.test(p));
+    }
+}
+exports.PathScurryWin32 = PathScurryWin32;
+/**
+ * {@link PathScurryBase} implementation for all posix systems other than Darwin.
+ *
+ * Defaults to case-sensitive matching, uses `'/'` to generate path strings.
+ *
+ * Uses {@link PathPosix} for Path objects.
+ */
+class PathScurryPosix extends PathScurryBase {
+    /**
+     * separator for generating path strings
+     */
+    sep = '/';
+    constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = false } = opts;
+        super(cwd, path_1.posix, '/', { ...opts, nocase });
+        this.nocase = nocase;
+    }
+    /**
+     * @internal
+     */
+    parseRootPath(_dir) {
+        return '/';
+    }
+    /**
+     * @internal
+     */
+    newRoot(fs) {
+        return new PathPosix(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
+    }
+    /**
+     * Return true if the provided path string is an absolute path
+     */
+    isAbsolute(p) {
+        return p.startsWith('/');
+    }
+}
+exports.PathScurryPosix = PathScurryPosix;
+/**
+ * {@link PathScurryBase} implementation for Darwin (macOS) systems.
+ *
+ * Defaults to case-insensitive matching, uses `'/'` for generating path
+ * strings.
+ *
+ * Uses {@link PathPosix} for Path objects.
+ */
+class PathScurryDarwin extends PathScurryPosix {
+    constructor(cwd = process.cwd(), opts = {}) {
+        const { nocase = true } = opts;
+        super(cwd, { ...opts, nocase });
+    }
+}
+exports.PathScurryDarwin = PathScurryDarwin;
+/**
+ * Default {@link PathBase} implementation for the current platform.
+ *
+ * {@link PathWin32} on Windows systems, {@link PathPosix} on all others.
+ */
+exports.Path = process.platform === 'win32' ? PathWin32 : PathPosix;
+/**
+ * Default {@link PathScurryBase} implementation for the current platform.
+ *
+ * {@link PathScurryWin32} on Windows systems, {@link PathScurryDarwin} on
+ * Darwin (macOS) systems, {@link PathScurryPosix} on all others.
+ */
+exports.PathScurry = process.platform === 'win32'
+    ? PathScurryWin32
+    : process.platform === 'darwin'
+        ? PathScurryDarwin
+        : PathScurryPosix;
+//# sourceMappingURL=index.js.map
+
+/***/ })
+
+};
+;
+//# sourceMappingURL=327.index.js.map
\ No newline at end of file
diff --git a/dist/327.index.js.map b/dist/327.index.js.map
new file mode 100644
index 0000000..c85067d
--- /dev/null
+++ b/dist/327.index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"327.index.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACroCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3HA;;;;;;;;;;;;;;;;;;;;;;AAsBA;AACA;AACA;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACveA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC33CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5kBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACl/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACngCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://backstage-blockchain-actions/./node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars.runtime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/base.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/decorators.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/exception.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/logger.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/runtime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/safe-string.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/dist/cjs/handlebars/utils.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/handlebars@4.7.8/node_modules/handlebars/lib/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/glob.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/has-magic.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/ignore.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/pattern.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/processor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/glob@10.3.10/node_modules/glob/dist/commonjs/walker.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/lru-cache@10.0.1/node_modules/lru-cache/dist/cjs/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/assert-valid-pattern.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/ast.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/brace-expressions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/escape.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/dist/cjs/unescape.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/minipass@7.0.4/node_modules/minipass/dist/commonjs/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/path-scurry@1.10.1/node_modules/path-scurry/dist/cjs/index.js"],"sourcesContent":["'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n  if (a instanceof RegExp) a = maybeMatch(a, str);\n  if (b instanceof RegExp) b = maybeMatch(b, str);\n\n  var r = range(a, b, str);\n\n  return r && {\n    start: r[0],\n    end: r[1],\n    pre: str.slice(0, r[0]),\n    body: str.slice(r[0] + a.length, r[1]),\n    post: str.slice(r[1] + b.length)\n  };\n}\n\nfunction maybeMatch(reg, str) {\n  var m = str.match(reg);\n  return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n  var begs, beg, left, right, result;\n  var ai = str.indexOf(a);\n  var bi = str.indexOf(b, ai + 1);\n  var i = ai;\n\n  if (ai >= 0 && bi > 0) {\n    if(a===b) {\n      return [ai, bi];\n    }\n    begs = [];\n    left = str.length;\n\n    while (i >= 0 && !result) {\n      if (i == ai) {\n        begs.push(i);\n        ai = str.indexOf(a, i + 1);\n      } else if (begs.length == 1) {\n        result = [ begs.pop(), bi ];\n      } else {\n        beg = begs.pop();\n        if (beg < left) {\n          left = beg;\n          right = bi;\n        }\n\n        bi = str.indexOf(b, i + 1);\n      }\n\n      i = ai < bi && ai >= 0 ? ai : bi;\n    }\n\n    if (begs.length) {\n      result = [ left, right ];\n    }\n  }\n\n  return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n  return parseInt(str, 10) == str\n    ? parseInt(str, 10)\n    : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n  return str.split('\\\\\\\\').join(escSlash)\n            .split('\\\\{').join(escOpen)\n            .split('\\\\}').join(escClose)\n            .split('\\\\,').join(escComma)\n            .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n  return str.split(escSlash).join('\\\\')\n            .split(escOpen).join('{')\n            .split(escClose).join('}')\n            .split(escComma).join(',')\n            .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n  if (!str)\n    return [''];\n\n  var parts = [];\n  var m = balanced('{', '}', str);\n\n  if (!m)\n    return str.split(',');\n\n  var pre = m.pre;\n  var body = m.body;\n  var post = m.post;\n  var p = pre.split(',');\n\n  p[p.length-1] += '{' + body + '}';\n  var postParts = parseCommaParts(post);\n  if (post.length) {\n    p[p.length-1] += postParts.shift();\n    p.push.apply(p, postParts);\n  }\n\n  parts.push.apply(parts, p);\n\n  return parts;\n}\n\nfunction expandTop(str) {\n  if (!str)\n    return [];\n\n  // I don't know why Bash 4.3 does this, but it does.\n  // Anything starting with {} will have the first two bytes preserved\n  // but *only* at the top level, so {},a}b will not expand to anything,\n  // but a{},b}c will be expanded to [a}c,abc].\n  // One could argue that this is a bug in Bash, but since the goal of\n  // this module is to match Bash's rules, we escape a leading {}\n  if (str.substr(0, 2) === '{}') {\n    str = '\\\\{\\\\}' + str.substr(2);\n  }\n\n  return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n  return '{' + str + '}';\n}\nfunction isPadded(el) {\n  return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n  return i <= y;\n}\nfunction gte(i, y) {\n  return i >= y;\n}\n\nfunction expand(str, isTop) {\n  var expansions = [];\n\n  var m = balanced('{', '}', str);\n  if (!m) return [str];\n\n  // no need to expand pre, since it is guaranteed to be free of brace-sets\n  var pre = m.pre;\n  var post = m.post.length\n    ? expand(m.post, false)\n    : [''];\n\n  if (/\\$$/.test(m.pre)) {    \n    for (var k = 0; k < post.length; k++) {\n      var expansion = pre+ '{' + m.body + '}' + post[k];\n      expansions.push(expansion);\n    }\n  } else {\n    var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n    var isSequence = isNumericSequence || isAlphaSequence;\n    var isOptions = m.body.indexOf(',') >= 0;\n    if (!isSequence && !isOptions) {\n      // {a},b}\n      if (m.post.match(/,.*\\}/)) {\n        str = m.pre + '{' + m.body + escClose + m.post;\n        return expand(str);\n      }\n      return [str];\n    }\n\n    var n;\n    if (isSequence) {\n      n = m.body.split(/\\.\\./);\n    } else {\n      n = parseCommaParts(m.body);\n      if (n.length === 1) {\n        // x{{a,b}}y ==> x{a}y x{b}y\n        n = expand(n[0], false).map(embrace);\n        if (n.length === 1) {\n          return post.map(function(p) {\n            return m.pre + n[0] + p;\n          });\n        }\n      }\n    }\n\n    // at this point, n is the parts, and we know it's not a comma set\n    // with a single entry.\n    var N;\n\n    if (isSequence) {\n      var x = numeric(n[0]);\n      var y = numeric(n[1]);\n      var width = Math.max(n[0].length, n[1].length)\n      var incr = n.length == 3\n        ? Math.abs(numeric(n[2]))\n        : 1;\n      var test = lte;\n      var reverse = y < x;\n      if (reverse) {\n        incr *= -1;\n        test = gte;\n      }\n      var pad = n.some(isPadded);\n\n      N = [];\n\n      for (var i = x; test(i, y); i += incr) {\n        var c;\n        if (isAlphaSequence) {\n          c = String.fromCharCode(i);\n          if (c === '\\\\')\n            c = '';\n        } else {\n          c = String(i);\n          if (pad) {\n            var need = width - c.length;\n            if (need > 0) {\n              var z = new Array(need + 1).join('0');\n              if (i < 0)\n                c = '-' + z + c.slice(1);\n              else\n                c = z + c;\n            }\n          }\n        }\n        N.push(c);\n      }\n    } else {\n      N = [];\n\n      for (var j = 0; j < n.length; j++) {\n        N.push.apply(N, expand(n[j], false));\n      }\n    }\n\n    for (var j = 0; j < N.length; j++) {\n      for (var k = 0; k < post.length; k++) {\n        var expansion = pre + N[j] + post[k];\n        if (!isTop || isSequence || expansion)\n          expansions.push(expansion);\n      }\n    }\n  }\n\n  return expansions;\n}\n\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _handlebarsRuntime = require('./handlebars.runtime');\n\nvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);\n\n// Compiler imports\n\nvar _handlebarsCompilerAst = require('./handlebars/compiler/ast');\n\nvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\nvar _handlebarsCompilerBase = require('./handlebars/compiler/base');\n\nvar _handlebarsCompilerCompiler = require('./handlebars/compiler/compiler');\n\nvar _handlebarsCompilerJavascriptCompiler = require('./handlebars/compiler/javascript-compiler');\n\nvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\nvar _handlebarsCompilerVisitor = require('./handlebars/compiler/visitor');\n\nvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\nvar _create = _handlebarsRuntime2['default'].create;\nfunction create() {\n  var hb = _create();\n\n  hb.compile = function (input, options) {\n    return _handlebarsCompilerCompiler.compile(input, options, hb);\n  };\n  hb.precompile = function (input, options) {\n    return _handlebarsCompilerCompiler.precompile(input, options, hb);\n  };\n\n  hb.AST = _handlebarsCompilerAst2['default'];\n  hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n  hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n  hb.Parser = _handlebarsCompilerBase.parser;\n  hb.parse = _handlebarsCompilerBase.parse;\n  hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;\n\n  return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst.Visitor = _handlebarsCompilerVisitor2['default'];\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUNBQW9CLHNCQUFzQjs7Ozs7O3FDQUcxQiwyQkFBMkI7Ozs7c0NBS3BDLDRCQUE0Qjs7MENBQ1csZ0NBQWdDOztvREFDL0MsMkNBQTJDOzs7O3lDQUN0RCwrQkFBK0I7Ozs7b0NBRTVCLDBCQUEwQjs7OztBQUVqRCxJQUFJLE9BQU8sR0FBRywrQkFBUSxNQUFNLENBQUM7QUFDN0IsU0FBUyxNQUFNLEdBQUc7QUFDaEIsTUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7O0FBRW5CLElBQUUsQ0FBQyxPQUFPLEdBQUcsVUFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLFdBQU8sb0NBQVEsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztHQUNwQyxDQUFDO0FBQ0YsSUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFTLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDdkMsV0FBTyx1Q0FBVyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0dBQ3ZDLENBQUM7O0FBRUYsSUFBRSxDQUFDLEdBQUcscUNBQU0sQ0FBQztBQUNiLElBQUUsQ0FBQyxRQUFRLHVDQUFXLENBQUM7QUFDdkIsSUFBRSxDQUFDLGtCQUFrQixvREFBcUIsQ0FBQztBQUMzQyxJQUFFLENBQUMsTUFBTSxpQ0FBUyxDQUFDO0FBQ25CLElBQUUsQ0FBQyxLQUFLLGdDQUFRLENBQUM7QUFDakIsSUFBRSxDQUFDLHNCQUFzQixpREFBeUIsQ0FBQzs7QUFFbkQsU0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFFRCxJQUFJLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7QUFFckIsa0NBQVcsSUFBSSxDQUFDLENBQUM7O0FBRWpCLElBQUksQ0FBQyxPQUFPLHlDQUFVLENBQUM7O0FBRXZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7O3FCQUVSLElBQUkiLCJmaWxlIjoiaGFuZGxlYmFycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW50aW1lIGZyb20gJy4vaGFuZGxlYmFycy5ydW50aW1lJztcblxuLy8gQ29tcGlsZXIgaW1wb3J0c1xuaW1wb3J0IEFTVCBmcm9tICcuL2hhbmRsZWJhcnMvY29tcGlsZXIvYXN0JztcbmltcG9ydCB7XG4gIHBhcnNlciBhcyBQYXJzZXIsXG4gIHBhcnNlLFxuICBwYXJzZVdpdGhvdXRQcm9jZXNzaW5nXG59IGZyb20gJy4vaGFuZGxlYmFycy9jb21waWxlci9iYXNlJztcbmltcG9ydCB7IENvbXBpbGVyLCBjb21waWxlLCBwcmVjb21waWxlIH0gZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyJztcbmltcG9ydCBKYXZhU2NyaXB0Q29tcGlsZXIgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXInO1xuaW1wb3J0IFZpc2l0b3IgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3InO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG5sZXQgX2NyZWF0ZSA9IHJ1bnRpbWUuY3JlYXRlO1xuZnVuY3Rpb24gY3JlYXRlKCkge1xuICBsZXQgaGIgPSBfY3JlYXRlKCk7XG5cbiAgaGIuY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcbiAgaGIucHJlY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHByZWNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcblxuICBoYi5BU1QgPSBBU1Q7XG4gIGhiLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gIGhiLkphdmFTY3JpcHRDb21waWxlciA9IEphdmFTY3JpcHRDb21waWxlcjtcbiAgaGIuUGFyc2VyID0gUGFyc2VyO1xuICBoYi5wYXJzZSA9IHBhcnNlO1xuICBoYi5wYXJzZVdpdGhvdXRQcm9jZXNzaW5nID0gcGFyc2VXaXRob3V0UHJvY2Vzc2luZztcblxuICByZXR1cm4gaGI7XG59XG5cbmxldCBpbnN0ID0gY3JlYXRlKCk7XG5pbnN0LmNyZWF0ZSA9IGNyZWF0ZTtcblxubm9Db25mbGljdChpbnN0KTtcblxuaW5zdC5WaXNpdG9yID0gVmlzaXRvcjtcblxuaW5zdFsnZGVmYXVsdCddID0gaW5zdDtcblxuZXhwb3J0IGRlZmF1bHQgaW5zdDtcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n  var hb = new base.HandlebarsEnvironment();\n\n  Utils.extend(hb, base);\n  hb.SafeString = _handlebarsSafeString2['default'];\n  hb.Exception = _handlebarsException2['default'];\n  hb.Utils = Utils;\n  hb.escapeExpression = Utils.escapeExpression;\n\n  hb.VM = runtime;\n  hb.template = function (spec) {\n    return runtime.template(spec, hb);\n  };\n\n  return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.8';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n  2: '== 1.0.0-rc.3',\n  3: '== 1.0.0-rc.4',\n  4: '== 1.x.x',\n  5: '== 2.0.0-alpha.x',\n  6: '>= 2.0.0-beta.1',\n  7: '>= 4.0.0 <4.3.0',\n  8: '>= 4.3.0'\n};\n\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n  this.helpers = helpers || {};\n  this.partials = partials || {};\n  this.decorators = decorators || {};\n\n  _helpers.registerDefaultHelpers(this);\n  _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n  constructor: HandlebarsEnvironment,\n\n  logger: _logger2['default'],\n  log: _logger2['default'].log,\n\n  registerHelper: function registerHelper(name, fn) {\n    if (_utils.toString.call(name) === objectType) {\n      if (fn) {\n        throw new _exception2['default']('Arg not supported with multiple helpers');\n      }\n      _utils.extend(this.helpers, name);\n    } else {\n      this.helpers[name] = fn;\n    }\n  },\n  unregisterHelper: function unregisterHelper(name) {\n    delete this.helpers[name];\n  },\n\n  registerPartial: function registerPartial(name, partial) {\n    if (_utils.toString.call(name) === objectType) {\n      _utils.extend(this.partials, name);\n    } else {\n      if (typeof partial === 'undefined') {\n        throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n      }\n      this.partials[name] = partial;\n    }\n  },\n  unregisterPartial: function unregisterPartial(name) {\n    delete this.partials[name];\n  },\n\n  registerDecorator: function registerDecorator(name, fn) {\n    if (_utils.toString.call(name) === objectType) {\n      if (fn) {\n        throw new _exception2['default']('Arg not supported with multiple decorators');\n      }\n      _utils.extend(this.decorators, name);\n    } else {\n      this.decorators[name] = fn;\n    }\n  },\n  unregisterDecorator: function unregisterDecorator(name) {\n    delete this.decorators[name];\n  },\n  /**\n   * Reset the memory of illegal property accesses that have already been logged.\n   * @deprecated should only be used in handlebars test-cases\n   */\n  resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n    _internalProtoAccess.resetLoggedProperties();\n  }\n};\n\nvar log = _logger2['default'].log;\n\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy44JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nvar AST = {\n  // Public API used to evaluate derived attributes regarding AST nodes\n  helpers: {\n    // a mustache is definitely a helper if:\n    // * it is an eligible helper, and\n    // * it has at least one parameter or hash segment\n    helperExpression: function helperExpression(node) {\n      return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n    },\n\n    scopedId: function scopedId(path) {\n      return (/^\\.|this\\b/.test(path.original)\n      );\n    },\n\n    // an ID is simple if it only has one part, and that part is not\n    // `..` or `this`.\n    simpleId: function simpleId(path) {\n      return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n    }\n  }\n};\n\n// Must be exported as an object rather than the root of the module as the jison lexer\n// must modify the object to operate properly.\nexports['default'] = AST;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2FzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLEdBQUcsR0FBRzs7QUFFUixTQUFPLEVBQUU7Ozs7QUFJUCxvQkFBZ0IsRUFBRSwwQkFBUyxJQUFJLEVBQUU7QUFDL0IsYUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFDNUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixJQUNqQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFBLElBQzlCLENBQUMsRUFBRSxBQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLElBQUksQ0FBQSxBQUFDLEFBQUMsQ0FDdkQ7S0FDSDs7QUFFRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQU8sYUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQUM7S0FDekM7Ozs7QUFJRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNyRTtLQUNIO0dBQ0Y7Q0FDRixDQUFDOzs7O3FCQUlhLEdBQUciLCJmaWxlIjoiYXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibGV0IEFTVCA9IHtcbiAgLy8gUHVibGljIEFQSSB1c2VkIHRvIGV2YWx1YXRlIGRlcml2ZWQgYXR0cmlidXRlcyByZWdhcmRpbmcgQVNUIG5vZGVzXG4gIGhlbHBlcnM6IHtcbiAgICAvLyBhIG11c3RhY2hlIGlzIGRlZmluaXRlbHkgYSBoZWxwZXIgaWY6XG4gICAgLy8gKiBpdCBpcyBhbiBlbGlnaWJsZSBoZWxwZXIsIGFuZFxuICAgIC8vICogaXQgaGFzIGF0IGxlYXN0IG9uZSBwYXJhbWV0ZXIgb3IgaGFzaCBzZWdtZW50XG4gICAgaGVscGVyRXhwcmVzc2lvbjogZnVuY3Rpb24obm9kZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9kZS50eXBlID09PSAnU3ViRXhwcmVzc2lvbicgfHxcbiAgICAgICAgKChub2RlLnR5cGUgPT09ICdNdXN0YWNoZVN0YXRlbWVudCcgfHxcbiAgICAgICAgICBub2RlLnR5cGUgPT09ICdCbG9ja1N0YXRlbWVudCcpICYmXG4gICAgICAgICAgISEoKG5vZGUucGFyYW1zICYmIG5vZGUucGFyYW1zLmxlbmd0aCkgfHwgbm9kZS5oYXNoKSlcbiAgICAgICk7XG4gICAgfSxcblxuICAgIHNjb3BlZElkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gL15cXC58dGhpc1xcYi8udGVzdChwYXRoLm9yaWdpbmFsKTtcbiAgICB9LFxuXG4gICAgLy8gYW4gSUQgaXMgc2ltcGxlIGlmIGl0IG9ubHkgaGFzIG9uZSBwYXJ0LCBhbmQgdGhhdCBwYXJ0IGlzIG5vdFxuICAgIC8vIGAuLmAgb3IgYHRoaXNgLlxuICAgIHNpbXBsZUlkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwYXRoLnBhcnRzLmxlbmd0aCA9PT0gMSAmJiAhQVNULmhlbHBlcnMuc2NvcGVkSWQocGF0aCkgJiYgIXBhdGguZGVwdGhcbiAgICAgICk7XG4gICAgfVxuICB9XG59O1xuXG4vLyBNdXN0IGJlIGV4cG9ydGVkIGFzIGFuIG9iamVjdCByYXRoZXIgdGhhbiB0aGUgcm9vdCBvZiB0aGUgbW9kdWxlIGFzIHRoZSBqaXNvbiBsZXhlclxuLy8gbXVzdCBtb2RpZnkgdGhlIG9iamVjdCB0byBvcGVyYXRlIHByb3Blcmx5LlxuZXhwb3J0IGRlZmF1bHQgQVNUO1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.parseWithoutProcessing = parseWithoutProcessing;\nexports.parse = parse;\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _parser = require('./parser');\n\nvar _parser2 = _interopRequireDefault(_parser);\n\nvar _whitespaceControl = require('./whitespace-control');\n\nvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\nvar _helpers = require('./helpers');\n\nvar Helpers = _interopRequireWildcard(_helpers);\n\nvar _utils = require('../utils');\n\nexports.parser = _parser2['default'];\n\nvar yy = {};\n_utils.extend(yy, Helpers);\n\nfunction parseWithoutProcessing(input, options) {\n  // Just return if an already-compiled AST was passed in.\n  if (input.type === 'Program') {\n    return input;\n  }\n\n  _parser2['default'].yy = yy;\n\n  // Altering the shared object here, but this is ok as parser is a sync operation\n  yy.locInfo = function (locInfo) {\n    return new yy.SourceLocation(options && options.srcName, locInfo);\n  };\n\n  var ast = _parser2['default'].parse(input);\n\n  return ast;\n}\n\nfunction parse(input, options) {\n  var ast = parseWithoutProcessing(input, options);\n  var strip = new _whitespaceControl2['default'](options);\n\n  return strip.accept(ast);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztzQkFBbUIsVUFBVTs7OztpQ0FDQyxzQkFBc0I7Ozs7dUJBQzNCLFdBQVc7O0lBQXhCLE9BQU87O3FCQUNJLFVBQVU7O1FBRXhCLE1BQU07O0FBRWYsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ1osY0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRWIsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFOztBQUVyRCxNQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBQzVCLFdBQU8sS0FBSyxDQUFDO0dBQ2Q7O0FBRUQsc0JBQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7O0FBR2YsSUFBRSxDQUFDLE9BQU8sR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM3QixXQUFPLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNuRSxDQUFDOztBQUVGLE1BQUksR0FBRyxHQUFHLG9CQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFOUIsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLE1BQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRCxNQUFJLEtBQUssR0FBRyxtQ0FBc0IsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFNBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJiYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhcnNlciBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgV2hpdGVzcGFjZUNvbnRyb2wgZnJvbSAnLi93aGl0ZXNwYWNlLWNvbnRyb2wnO1xuaW1wb3J0ICogYXMgSGVscGVycyBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgeyBwYXJzZXIgfTtcblxubGV0IHl5ID0ge307XG5leHRlbmQoeXksIEhlbHBlcnMpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VXaXRob3V0UHJvY2Vzc2luZyhpbnB1dCwgb3B0aW9ucykge1xuICAvLyBKdXN0IHJldHVybiBpZiBhbiBhbHJlYWR5LWNvbXBpbGVkIEFTVCB3YXMgcGFzc2VkIGluLlxuICBpZiAoaW5wdXQudHlwZSA9PT0gJ1Byb2dyYW0nKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgcGFyc2VyLnl5ID0geXk7XG5cbiAgLy8gQWx0ZXJpbmcgdGhlIHNoYXJlZCBvYmplY3QgaGVyZSwgYnV0IHRoaXMgaXMgb2sgYXMgcGFyc2VyIGlzIGEgc3luYyBvcGVyYXRpb25cbiAgeXkubG9jSW5mbyA9IGZ1bmN0aW9uKGxvY0luZm8pIHtcbiAgICByZXR1cm4gbmV3IHl5LlNvdXJjZUxvY2F0aW9uKG9wdGlvbnMgJiYgb3B0aW9ucy5zcmNOYW1lLCBsb2NJbmZvKTtcbiAgfTtcblxuICBsZXQgYXN0ID0gcGFyc2VyLnBhcnNlKGlucHV0KTtcblxuICByZXR1cm4gYXN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoaW5wdXQsIG9wdGlvbnMpIHtcbiAgbGV0IGFzdCA9IHBhcnNlV2l0aG91dFByb2Nlc3NpbmcoaW5wdXQsIG9wdGlvbnMpO1xuICBsZXQgc3RyaXAgPSBuZXcgV2hpdGVzcGFjZUNvbnRyb2wob3B0aW9ucyk7XG5cbiAgcmV0dXJuIHN0cmlwLmFjY2VwdChhc3QpO1xufVxuIl19\n","/* global define, require */\n'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nvar SourceNode = undefined;\n\ntry {\n  /* istanbul ignore next */\n  if (typeof define !== 'function' || !define.amd) {\n    // We don't support this in AMD environments. For these environments, we assume that\n    // they are running on the browser and thus have no need for the source-map library.\n    var SourceMap = require('source-map');\n    SourceNode = SourceMap.SourceNode;\n  }\n} catch (err) {}\n/* NOP */\n\n/* istanbul ignore if: tested but not covered in istanbul due to dist build  */\nif (!SourceNode) {\n  SourceNode = function (line, column, srcFile, chunks) {\n    this.src = '';\n    if (chunks) {\n      this.add(chunks);\n    }\n  };\n  /* istanbul ignore next */\n  SourceNode.prototype = {\n    add: function add(chunks) {\n      if (_utils.isArray(chunks)) {\n        chunks = chunks.join('');\n      }\n      this.src += chunks;\n    },\n    prepend: function prepend(chunks) {\n      if (_utils.isArray(chunks)) {\n        chunks = chunks.join('');\n      }\n      this.src = chunks + this.src;\n    },\n    toStringWithSourceMap: function toStringWithSourceMap() {\n      return { code: this.toString() };\n    },\n    toString: function toString() {\n      return this.src;\n    }\n  };\n}\n\nfunction castChunk(chunk, codeGen, loc) {\n  if (_utils.isArray(chunk)) {\n    var ret = [];\n\n    for (var i = 0, len = chunk.length; i < len; i++) {\n      ret.push(codeGen.wrap(chunk[i], loc));\n    }\n    return ret;\n  } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n    // Handle primitives that the SourceNode will throw up on\n    return chunk + '';\n  }\n  return chunk;\n}\n\nfunction CodeGen(srcFile) {\n  this.srcFile = srcFile;\n  this.source = [];\n}\n\nCodeGen.prototype = {\n  isEmpty: function isEmpty() {\n    return !this.source.length;\n  },\n  prepend: function prepend(source, loc) {\n    this.source.unshift(this.wrap(source, loc));\n  },\n  push: function push(source, loc) {\n    this.source.push(this.wrap(source, loc));\n  },\n\n  merge: function merge() {\n    var source = this.empty();\n    this.each(function (line) {\n      source.add(['  ', line, '\\n']);\n    });\n    return source;\n  },\n\n  each: function each(iter) {\n    for (var i = 0, len = this.source.length; i < len; i++) {\n      iter(this.source[i]);\n    }\n  },\n\n  empty: function empty() {\n    var loc = this.currentLocation || { start: {} };\n    return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n  },\n  wrap: function wrap(chunk) {\n    var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];\n\n    if (chunk instanceof SourceNode) {\n      return chunk;\n    }\n\n    chunk = castChunk(chunk, this, loc);\n\n    return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n  },\n\n  functionCall: function functionCall(fn, type, params) {\n    params = this.generateList(params);\n    return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n  },\n\n  quotedString: function quotedString(str) {\n    return '\"' + (str + '').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 + 7.8.4\n    .replace(/\\u2029/g, '\\\\u2029') + '\"';\n  },\n\n  objectLiteral: function objectLiteral(obj) {\n    // istanbul ignore next\n\n    var _this = this;\n\n    var pairs = [];\n\n    Object.keys(obj).forEach(function (key) {\n      var value = castChunk(obj[key], _this);\n      if (value !== 'undefined') {\n        pairs.push([_this.quotedString(key), ':', value]);\n      }\n    });\n\n    var ret = this.generateList(pairs);\n    ret.prepend('{');\n    ret.add('}');\n    return ret;\n  },\n\n  generateList: function generateList(entries) {\n    var ret = this.empty();\n\n    for (var i = 0, len = entries.length; i < len; i++) {\n      if (i) {\n        ret.add(',');\n      }\n\n      ret.add(castChunk(entries[i], this));\n    }\n\n    return ret;\n  },\n\n  generateArray: function generateArray(entries) {\n    var ret = this.generateList(entries);\n    ret.prepend('[');\n    ret.add(']');\n\n    return ret;\n  }\n};\n\nexports['default'] = CodeGen;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvZGUtZ2VuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUN3QixVQUFVOztBQUVsQyxJQUFJLFVBQVUsWUFBQSxDQUFDOztBQUVmLElBQUk7O0FBRUYsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFOzs7QUFHL0MsUUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RDLGNBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0dBQ25DO0NBQ0YsQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUViOzs7O0FBQUEsQUFHRCxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsWUFBVSxHQUFHLFVBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQ25ELFFBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ2QsUUFBSSxNQUFNLEVBQUU7QUFDVixVQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xCO0dBQ0YsQ0FBQzs7QUFFRixZQUFVLENBQUMsU0FBUyxHQUFHO0FBQ3JCLE9BQUcsRUFBRSxhQUFTLE1BQU0sRUFBRTtBQUNwQixVQUFJLGVBQVEsTUFBTSxDQUFDLEVBQUU7QUFDbkIsY0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7T0FDMUI7QUFDRCxVQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQztLQUNwQjtBQUNELFdBQU8sRUFBRSxpQkFBUyxNQUFNLEVBQUU7QUFDeEIsVUFBSSxlQUFRLE1BQU0sQ0FBQyxFQUFFO0FBQ25CLGNBQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO09BQzFCO0FBQ0QsVUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUM5QjtBQUNELHlCQUFxQixFQUFFLGlDQUFXO0FBQ2hDLGFBQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7S0FDbEM7QUFDRCxZQUFRLEVBQUUsb0JBQVc7QUFDbkIsYUFBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ2pCO0dBQ0YsQ0FBQztDQUNIOztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBQ3RDLE1BQUksZUFBUSxLQUFLLENBQUMsRUFBRTtBQUNsQixRQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7O0FBRWIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxTQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdkM7QUFDRCxXQUFPLEdBQUcsQ0FBQztHQUNaLE1BQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFOztBQUVsRSxXQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7R0FDbkI7QUFDRCxTQUFPLEtBQUssQ0FBQztDQUNkOztBQUVELFNBQVMsT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUN4QixNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUN2QixNQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztDQUNsQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHO0FBQ2xCLFNBQU8sRUFBQSxtQkFBRztBQUNSLFdBQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztHQUM1QjtBQUNELFNBQU8sRUFBRSxpQkFBUyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQzdCLFFBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7R0FDN0M7QUFDRCxNQUFJLEVBQUUsY0FBUyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQzFCLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7R0FDMUM7O0FBRUQsT0FBSyxFQUFFLGlCQUFXO0FBQ2hCLFFBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMxQixRQUFJLENBQUMsSUFBSSxDQUFDLFVBQVMsSUFBSSxFQUFFO0FBQ3ZCLFlBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEMsQ0FBQyxDQUFDO0FBQ0gsV0FBTyxNQUFNLENBQUM7R0FDZjs7QUFFRCxNQUFJLEVBQUUsY0FBUyxJQUFJLEVBQUU7QUFDbkIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDdEQsVUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN0QjtHQUNGOztBQUVELE9BQUssRUFBRSxpQkFBVztBQUNoQixRQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2hELFdBQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3ZFO0FBQ0QsTUFBSSxFQUFFLGNBQVMsS0FBSyxFQUErQztRQUE3QyxHQUFHLHlEQUFHLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFOztBQUMvRCxRQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7QUFDL0IsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7O0FBRXBDLFdBQU8sSUFBSSxVQUFVLENBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUNoQixJQUFJLENBQUMsT0FBTyxFQUNaLEtBQUssQ0FDTixDQUFDO0dBQ0g7O0FBRUQsY0FBWSxFQUFFLHNCQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO0FBQ3ZDLFVBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLFdBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQ3BFOztBQUVELGNBQVksRUFBRSxzQkFBUyxHQUFHLEVBQUU7QUFDMUIsV0FDRSxHQUFHLEdBQ0gsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFBLENBQ04sT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDckIsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FDckIsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7S0FDN0IsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FDaEMsR0FBRyxDQUNIO0dBQ0g7O0FBRUQsZUFBYSxFQUFFLHVCQUFTLEdBQUcsRUFBRTs7Ozs7QUFDM0IsUUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDOztBQUVmLFVBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRyxFQUFJO0FBQzlCLFVBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQU8sQ0FBQztBQUN0QyxVQUFJLEtBQUssS0FBSyxXQUFXLEVBQUU7QUFDekIsYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO09BQ2xEO0tBQ0YsQ0FBQyxDQUFDOztBQUVILFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsT0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixPQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2IsV0FBTyxHQUFHLENBQUM7R0FDWjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsT0FBTyxFQUFFO0FBQzlCLFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7QUFFdkIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNsRCxVQUFJLENBQUMsRUFBRTtBQUNMLFdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7T0FDZDs7QUFFRCxTQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN0Qzs7QUFFRCxXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELGVBQWEsRUFBRSx1QkFBUyxPQUFPLEVBQUU7QUFDL0IsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNyQyxPQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE9BQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRWIsV0FBTyxHQUFHLENBQUM7R0FDWjtDQUNGLENBQUM7O3FCQUVhLE9BQU8iLCJmaWxlIjoiY29kZS1nZW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlICovXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5sZXQgU291cmNlTm9kZTtcblxudHJ5IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHR5cGVvZiBkZWZpbmUgIT09ICdmdW5jdGlvbicgfHwgIWRlZmluZS5hbWQpIHtcbiAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHRoaXMgaW4gQU1EIGVudmlyb25tZW50cy4gRm9yIHRoZXNlIGVudmlyb25tZW50cywgd2UgYXNzdW1lIHRoYXRcbiAgICAvLyB0aGV5IGFyZSBydW5uaW5nIG9uIHRoZSBicm93c2VyIGFuZCB0aHVzIGhhdmUgbm8gbmVlZCBmb3IgdGhlIHNvdXJjZS1tYXAgbGlicmFyeS5cbiAgICBsZXQgU291cmNlTWFwID0gcmVxdWlyZSgnc291cmNlLW1hcCcpO1xuICAgIFNvdXJjZU5vZGUgPSBTb3VyY2VNYXAuU291cmNlTm9kZTtcbiAgfVxufSBjYXRjaCAoZXJyKSB7XG4gIC8qIE5PUCAqL1xufVxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IHRlc3RlZCBidXQgbm90IGNvdmVyZWQgaW4gaXN0YW5idWwgZHVlIHRvIGRpc3QgYnVpbGQgICovXG5pZiAoIVNvdXJjZU5vZGUpIHtcbiAgU291cmNlTm9kZSA9IGZ1bmN0aW9uKGxpbmUsIGNvbHVtbiwgc3JjRmlsZSwgY2h1bmtzKSB7XG4gICAgdGhpcy5zcmMgPSAnJztcbiAgICBpZiAoY2h1bmtzKSB7XG4gICAgICB0aGlzLmFkZChjaHVua3MpO1xuICAgIH1cbiAgfTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgU291cmNlTm9kZS5wcm90b3R5cGUgPSB7XG4gICAgYWRkOiBmdW5jdGlvbihjaHVua3MpIHtcbiAgICAgIGlmIChpc0FycmF5KGNodW5rcykpIHtcbiAgICAgICAgY2h1bmtzID0gY2h1bmtzLmpvaW4oJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5zcmMgKz0gY2h1bmtzO1xuICAgIH0sXG4gICAgcHJlcGVuZDogZnVuY3Rpb24oY2h1bmtzKSB7XG4gICAgICBpZiAoaXNBcnJheShjaHVua3MpKSB7XG4gICAgICAgIGNodW5rcyA9IGNodW5rcy5qb2luKCcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3JjID0gY2h1bmtzICsgdGhpcy5zcmM7XG4gICAgfSxcbiAgICB0b1N0cmluZ1dpdGhTb3VyY2VNYXA6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHsgY29kZTogdGhpcy50b1N0cmluZygpIH07XG4gICAgfSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5zcmM7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBjYXN0Q2h1bmsoY2h1bmssIGNvZGVHZW4sIGxvYykge1xuICBpZiAoaXNBcnJheShjaHVuaykpIHtcbiAgICBsZXQgcmV0ID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gY2h1bmsubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHJldC5wdXNoKGNvZGVHZW4ud3JhcChjaHVua1tpXSwgbG9jKSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rID09PSAnYm9vbGVhbicgfHwgdHlwZW9mIGNodW5rID09PSAnbnVtYmVyJykge1xuICAgIC8vIEhhbmRsZSBwcmltaXRpdmVzIHRoYXQgdGhlIFNvdXJjZU5vZGUgd2lsbCB0aHJvdyB1cCBvblxuICAgIHJldHVybiBjaHVuayArICcnO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cblxuZnVuY3Rpb24gQ29kZUdlbihzcmNGaWxlKSB7XG4gIHRoaXMuc3JjRmlsZSA9IHNyY0ZpbGU7XG4gIHRoaXMuc291cmNlID0gW107XG59XG5cbkNvZGVHZW4ucHJvdG90eXBlID0ge1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5zb3VyY2UubGVuZ3RoO1xuICB9LFxuICBwcmVwZW5kOiBmdW5jdGlvbihzb3VyY2UsIGxvYykge1xuICAgIHRoaXMuc291cmNlLnVuc2hpZnQodGhpcy53cmFwKHNvdXJjZSwgbG9jKSk7XG4gIH0sXG4gIHB1c2g6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jKSB7XG4gICAgdGhpcy5zb3VyY2UucHVzaCh0aGlzLndyYXAoc291cmNlLCBsb2MpKTtcbiAgfSxcblxuICBtZXJnZTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IHNvdXJjZSA9IHRoaXMuZW1wdHkoKTtcbiAgICB0aGlzLmVhY2goZnVuY3Rpb24obGluZSkge1xuICAgICAgc291cmNlLmFkZChbJyAgJywgbGluZSwgJ1xcbiddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc291cmNlO1xuICB9LFxuXG4gIGVhY2g6IGZ1bmN0aW9uKGl0ZXIpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5zb3VyY2UubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGl0ZXIodGhpcy5zb3VyY2VbaV0pO1xuICAgIH1cbiAgfSxcblxuICBlbXB0eTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGxvYyA9IHRoaXMuY3VycmVudExvY2F0aW9uIHx8IHsgc3RhcnQ6IHt9IH07XG4gICAgcmV0dXJuIG5ldyBTb3VyY2VOb2RlKGxvYy5zdGFydC5saW5lLCBsb2Muc3RhcnQuY29sdW1uLCB0aGlzLnNyY0ZpbGUpO1xuICB9LFxuICB3cmFwOiBmdW5jdGlvbihjaHVuaywgbG9jID0gdGhpcy5jdXJyZW50TG9jYXRpb24gfHwgeyBzdGFydDoge30gfSkge1xuICAgIGlmIChjaHVuayBpbnN0YW5jZW9mIFNvdXJjZU5vZGUpIHtcbiAgICAgIHJldHVybiBjaHVuaztcbiAgICB9XG5cbiAgICBjaHVuayA9IGNhc3RDaHVuayhjaHVuaywgdGhpcywgbG9jKTtcblxuICAgIHJldHVybiBuZXcgU291cmNlTm9kZShcbiAgICAgIGxvYy5zdGFydC5saW5lLFxuICAgICAgbG9jLnN0YXJ0LmNvbHVtbixcbiAgICAgIHRoaXMuc3JjRmlsZSxcbiAgICAgIGNodW5rXG4gICAgKTtcbiAgfSxcblxuICBmdW5jdGlvbkNhbGw6IGZ1bmN0aW9uKGZuLCB0eXBlLCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSB0aGlzLmdlbmVyYXRlTGlzdChwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLndyYXAoW2ZuLCB0eXBlID8gJy4nICsgdHlwZSArICcoJyA6ICcoJywgcGFyYW1zLCAnKSddKTtcbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiAoXG4gICAgICAnXCInICtcbiAgICAgIChzdHIgKyAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJylcbiAgICAgICAgLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKVxuICAgICAgICAucmVwbGFjZSgvXFxuL2csICdcXFxcbicpXG4gICAgICAgIC5yZXBsYWNlKC9cXHIvZywgJ1xcXFxyJylcbiAgICAgICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpIC8vIFBlciBFY21hLTI2MiA3LjMgKyA3LjguNFxuICAgICAgICAucmVwbGFjZSgvXFx1MjAyOS9nLCAnXFxcXHUyMDI5JykgK1xuICAgICAgJ1wiJ1xuICAgICk7XG4gIH0sXG5cbiAgb2JqZWN0TGl0ZXJhbDogZnVuY3Rpb24ob2JqKSB7XG4gICAgbGV0IHBhaXJzID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IGNhc3RDaHVuayhvYmpba2V5XSwgdGhpcyk7XG4gICAgICBpZiAodmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHBhaXJzLnB1c2goW3RoaXMucXVvdGVkU3RyaW5nKGtleSksICc6JywgdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChwYWlycyk7XG4gICAgcmV0LnByZXBlbmQoJ3snKTtcbiAgICByZXQuYWRkKCd9Jyk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBnZW5lcmF0ZUxpc3Q6IGZ1bmN0aW9uKGVudHJpZXMpIHtcbiAgICBsZXQgcmV0ID0gdGhpcy5lbXB0eSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGVudHJpZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmIChpKSB7XG4gICAgICAgIHJldC5hZGQoJywnKTtcbiAgICAgIH1cblxuICAgICAgcmV0LmFkZChjYXN0Q2h1bmsoZW50cmllc1tpXSwgdGhpcykpO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgZ2VuZXJhdGVBcnJheTogZnVuY3Rpb24oZW50cmllcykge1xuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChlbnRyaWVzKTtcbiAgICByZXQucHJlcGVuZCgnWycpO1xuICAgIHJldC5hZGQoJ10nKTtcblxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGVHZW47XG4iXX0=\n","/* eslint-disable new-cap */\n\n'use strict';\n\nexports.__esModule = true;\nexports.Compiler = Compiler;\nexports.precompile = precompile;\nexports.compile = compile;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _ast = require('./ast');\n\nvar _ast2 = _interopRequireDefault(_ast);\n\nvar slice = [].slice;\n\nfunction Compiler() {}\n\n// the foundHelper register will disambiguate helper lookup from finding a\n// function in a context. This is necessary for mustache compatibility, which\n// requires that context functions in blocks are evaluated by blockHelperMissing,\n// and then proceed as if the resulting value was provided to blockHelperMissing.\n\nCompiler.prototype = {\n  compiler: Compiler,\n\n  equals: function equals(other) {\n    var len = this.opcodes.length;\n    if (other.opcodes.length !== len) {\n      return false;\n    }\n\n    for (var i = 0; i < len; i++) {\n      var opcode = this.opcodes[i],\n          otherOpcode = other.opcodes[i];\n      if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n        return false;\n      }\n    }\n\n    // We know that length is the same between the two arrays because they are directly tied\n    // to the opcode behavior above.\n    len = this.children.length;\n    for (var i = 0; i < len; i++) {\n      if (!this.children[i].equals(other.children[i])) {\n        return false;\n      }\n    }\n\n    return true;\n  },\n\n  guid: 0,\n\n  compile: function compile(program, options) {\n    this.sourceNode = [];\n    this.opcodes = [];\n    this.children = [];\n    this.options = options;\n    this.stringParams = options.stringParams;\n    this.trackIds = options.trackIds;\n\n    options.blockParams = options.blockParams || [];\n\n    options.knownHelpers = _utils.extend(Object.create(null), {\n      helperMissing: true,\n      blockHelperMissing: true,\n      each: true,\n      'if': true,\n      unless: true,\n      'with': true,\n      log: true,\n      lookup: true\n    }, options.knownHelpers);\n\n    return this.accept(program);\n  },\n\n  compileProgram: function compileProgram(program) {\n    var childCompiler = new this.compiler(),\n        // eslint-disable-line new-cap\n    result = childCompiler.compile(program, this.options),\n        guid = this.guid++;\n\n    this.usePartial = this.usePartial || result.usePartial;\n\n    this.children[guid] = result;\n    this.useDepths = this.useDepths || result.useDepths;\n\n    return guid;\n  },\n\n  accept: function accept(node) {\n    /* istanbul ignore next: Sanity code */\n    if (!this[node.type]) {\n      throw new _exception2['default']('Unknown type: ' + node.type, node);\n    }\n\n    this.sourceNode.unshift(node);\n    var ret = this[node.type](node);\n    this.sourceNode.shift();\n    return ret;\n  },\n\n  Program: function Program(program) {\n    this.options.blockParams.unshift(program.blockParams);\n\n    var body = program.body,\n        bodyLength = body.length;\n    for (var i = 0; i < bodyLength; i++) {\n      this.accept(body[i]);\n    }\n\n    this.options.blockParams.shift();\n\n    this.isSimple = bodyLength === 1;\n    this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\n    return this;\n  },\n\n  BlockStatement: function BlockStatement(block) {\n    transformLiteralToPath(block);\n\n    var program = block.program,\n        inverse = block.inverse;\n\n    program = program && this.compileProgram(program);\n    inverse = inverse && this.compileProgram(inverse);\n\n    var type = this.classifySexpr(block);\n\n    if (type === 'helper') {\n      this.helperSexpr(block, program, inverse);\n    } else if (type === 'simple') {\n      this.simpleSexpr(block);\n\n      // now that the simple mustache is resolved, we need to\n      // evaluate it by executing `blockHelperMissing`\n      this.opcode('pushProgram', program);\n      this.opcode('pushProgram', inverse);\n      this.opcode('emptyHash');\n      this.opcode('blockValue', block.path.original);\n    } else {\n      this.ambiguousSexpr(block, program, inverse);\n\n      // now that the simple mustache is resolved, we need to\n      // evaluate it by executing `blockHelperMissing`\n      this.opcode('pushProgram', program);\n      this.opcode('pushProgram', inverse);\n      this.opcode('emptyHash');\n      this.opcode('ambiguousBlockValue');\n    }\n\n    this.opcode('append');\n  },\n\n  DecoratorBlock: function DecoratorBlock(decorator) {\n    var program = decorator.program && this.compileProgram(decorator.program);\n    var params = this.setupFullMustacheParams(decorator, program, undefined),\n        path = decorator.path;\n\n    this.useDecorators = true;\n    this.opcode('registerDecorator', params.length, path.original);\n  },\n\n  PartialStatement: function PartialStatement(partial) {\n    this.usePartial = true;\n\n    var program = partial.program;\n    if (program) {\n      program = this.compileProgram(partial.program);\n    }\n\n    var params = partial.params;\n    if (params.length > 1) {\n      throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n    } else if (!params.length) {\n      if (this.options.explicitPartialContext) {\n        this.opcode('pushLiteral', 'undefined');\n      } else {\n        params.push({ type: 'PathExpression', parts: [], depth: 0 });\n      }\n    }\n\n    var partialName = partial.name.original,\n        isDynamic = partial.name.type === 'SubExpression';\n    if (isDynamic) {\n      this.accept(partial.name);\n    }\n\n    this.setupFullMustacheParams(partial, program, undefined, true);\n\n    var indent = partial.indent || '';\n    if (this.options.preventIndent && indent) {\n      this.opcode('appendContent', indent);\n      indent = '';\n    }\n\n    this.opcode('invokePartial', isDynamic, partialName, indent);\n    this.opcode('append');\n  },\n  PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n    this.PartialStatement(partialBlock);\n  },\n\n  MustacheStatement: function MustacheStatement(mustache) {\n    this.SubExpression(mustache);\n\n    if (mustache.escaped && !this.options.noEscape) {\n      this.opcode('appendEscaped');\n    } else {\n      this.opcode('append');\n    }\n  },\n  Decorator: function Decorator(decorator) {\n    this.DecoratorBlock(decorator);\n  },\n\n  ContentStatement: function ContentStatement(content) {\n    if (content.value) {\n      this.opcode('appendContent', content.value);\n    }\n  },\n\n  CommentStatement: function CommentStatement() {},\n\n  SubExpression: function SubExpression(sexpr) {\n    transformLiteralToPath(sexpr);\n    var type = this.classifySexpr(sexpr);\n\n    if (type === 'simple') {\n      this.simpleSexpr(sexpr);\n    } else if (type === 'helper') {\n      this.helperSexpr(sexpr);\n    } else {\n      this.ambiguousSexpr(sexpr);\n    }\n  },\n  ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n    var path = sexpr.path,\n        name = path.parts[0],\n        isBlock = program != null || inverse != null;\n\n    this.opcode('getContext', path.depth);\n\n    this.opcode('pushProgram', program);\n    this.opcode('pushProgram', inverse);\n\n    path.strict = true;\n    this.accept(path);\n\n    this.opcode('invokeAmbiguous', name, isBlock);\n  },\n\n  simpleSexpr: function simpleSexpr(sexpr) {\n    var path = sexpr.path;\n    path.strict = true;\n    this.accept(path);\n    this.opcode('resolvePossibleLambda');\n  },\n\n  helperSexpr: function helperSexpr(sexpr, program, inverse) {\n    var params = this.setupFullMustacheParams(sexpr, program, inverse),\n        path = sexpr.path,\n        name = path.parts[0];\n\n    if (this.options.knownHelpers[name]) {\n      this.opcode('invokeKnownHelper', params.length, name);\n    } else if (this.options.knownHelpersOnly) {\n      throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n    } else {\n      path.strict = true;\n      path.falsy = true;\n\n      this.accept(path);\n      this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n    }\n  },\n\n  PathExpression: function PathExpression(path) {\n    this.addDepth(path.depth);\n    this.opcode('getContext', path.depth);\n\n    var name = path.parts[0],\n        scoped = _ast2['default'].helpers.scopedId(path),\n        blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n    if (blockParamId) {\n      this.opcode('lookupBlockParam', blockParamId, path.parts);\n    } else if (!name) {\n      // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n      this.opcode('pushContext');\n    } else if (path.data) {\n      this.options.data = true;\n      this.opcode('lookupData', path.depth, path.parts, path.strict);\n    } else {\n      this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n    }\n  },\n\n  StringLiteral: function StringLiteral(string) {\n    this.opcode('pushString', string.value);\n  },\n\n  NumberLiteral: function NumberLiteral(number) {\n    this.opcode('pushLiteral', number.value);\n  },\n\n  BooleanLiteral: function BooleanLiteral(bool) {\n    this.opcode('pushLiteral', bool.value);\n  },\n\n  UndefinedLiteral: function UndefinedLiteral() {\n    this.opcode('pushLiteral', 'undefined');\n  },\n\n  NullLiteral: function NullLiteral() {\n    this.opcode('pushLiteral', 'null');\n  },\n\n  Hash: function Hash(hash) {\n    var pairs = hash.pairs,\n        i = 0,\n        l = pairs.length;\n\n    this.opcode('pushHash');\n\n    for (; i < l; i++) {\n      this.pushParam(pairs[i].value);\n    }\n    while (i--) {\n      this.opcode('assignToHash', pairs[i].key);\n    }\n    this.opcode('popHash');\n  },\n\n  // HELPERS\n  opcode: function opcode(name) {\n    this.opcodes.push({\n      opcode: name,\n      args: slice.call(arguments, 1),\n      loc: this.sourceNode[0].loc\n    });\n  },\n\n  addDepth: function addDepth(depth) {\n    if (!depth) {\n      return;\n    }\n\n    this.useDepths = true;\n  },\n\n  classifySexpr: function classifySexpr(sexpr) {\n    var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n    var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\n    // a mustache is an eligible helper if:\n    // * its id is simple (a single part, not `this` or `..`)\n    var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\n    // if a mustache is an eligible helper but not a definite\n    // helper, it is ambiguous, and will be resolved in a later\n    // pass or at runtime.\n    var isEligible = !isBlockParam && (isHelper || isSimple);\n\n    // if ambiguous, we can possibly resolve the ambiguity now\n    // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n    if (isEligible && !isHelper) {\n      var _name = sexpr.path.parts[0],\n          options = this.options;\n      if (options.knownHelpers[_name]) {\n        isHelper = true;\n      } else if (options.knownHelpersOnly) {\n        isEligible = false;\n      }\n    }\n\n    if (isHelper) {\n      return 'helper';\n    } else if (isEligible) {\n      return 'ambiguous';\n    } else {\n      return 'simple';\n    }\n  },\n\n  pushParams: function pushParams(params) {\n    for (var i = 0, l = params.length; i < l; i++) {\n      this.pushParam(params[i]);\n    }\n  },\n\n  pushParam: function pushParam(val) {\n    var value = val.value != null ? val.value : val.original || '';\n\n    if (this.stringParams) {\n      if (value.replace) {\n        value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n      }\n\n      if (val.depth) {\n        this.addDepth(val.depth);\n      }\n      this.opcode('getContext', val.depth || 0);\n      this.opcode('pushStringParam', value, val.type);\n\n      if (val.type === 'SubExpression') {\n        // SubExpressions get evaluated and passed in\n        // in string params mode.\n        this.accept(val);\n      }\n    } else {\n      if (this.trackIds) {\n        var blockParamIndex = undefined;\n        if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n          blockParamIndex = this.blockParamIndex(val.parts[0]);\n        }\n        if (blockParamIndex) {\n          var blockParamChild = val.parts.slice(1).join('.');\n          this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n        } else {\n          value = val.original || value;\n          if (value.replace) {\n            value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n          }\n\n          this.opcode('pushId', val.type, value);\n        }\n      }\n      this.accept(val);\n    }\n  },\n\n  setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n    var params = sexpr.params;\n    this.pushParams(params);\n\n    this.opcode('pushProgram', program);\n    this.opcode('pushProgram', inverse);\n\n    if (sexpr.hash) {\n      this.accept(sexpr.hash);\n    } else {\n      this.opcode('emptyHash', omitEmpty);\n    }\n\n    return params;\n  },\n\n  blockParamIndex: function blockParamIndex(name) {\n    for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n      var blockParams = this.options.blockParams[depth],\n          param = blockParams && _utils.indexOf(blockParams, name);\n      if (blockParams && param >= 0) {\n        return [depth, param];\n      }\n    }\n  }\n};\n\nfunction precompile(input, options, env) {\n  if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n    throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n  }\n\n  options = options || {};\n  if (!('data' in options)) {\n    options.data = true;\n  }\n  if (options.compat) {\n    options.useDepths = true;\n  }\n\n  var ast = env.parse(input, options),\n      environment = new env.Compiler().compile(ast, options);\n  return new env.JavaScriptCompiler().compile(environment, options);\n}\n\nfunction compile(input, options, env) {\n  if (options === undefined) options = {};\n\n  if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n    throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n  }\n\n  options = _utils.extend({}, options);\n  if (!('data' in options)) {\n    options.data = true;\n  }\n  if (options.compat) {\n    options.useDepths = true;\n  }\n\n  var compiled = undefined;\n\n  function compileInput() {\n    var ast = env.parse(input, options),\n        environment = new env.Compiler().compile(ast, options),\n        templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n    return env.template(templateSpec);\n  }\n\n  // Template is only compiled on first use and cached after that point.\n  function ret(context, execOptions) {\n    if (!compiled) {\n      compiled = compileInput();\n    }\n    return compiled.call(this, context, execOptions);\n  }\n  ret._setup = function (setupOptions) {\n    if (!compiled) {\n      compiled = compileInput();\n    }\n    return compiled._setup(setupOptions);\n  };\n  ret._child = function (i, data, blockParams, depths) {\n    if (!compiled) {\n      compiled = compileInput();\n    }\n    return compiled._child(i, data, blockParams, depths);\n  };\n  return ret;\n}\n\nfunction argEquals(a, b) {\n  if (a === b) {\n    return true;\n  }\n\n  if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n    for (var i = 0; i < a.length; i++) {\n      if (!argEquals(a[i], b[i])) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nfunction transformLiteralToPath(sexpr) {\n  if (!sexpr.path.parts) {\n    var literal = sexpr.path;\n    // Casting to string here to make false and 0 literal values play nicely with the rest\n    // of the system.\n    sexpr.path = {\n      type: 'PathExpression',\n      data: false,\n      depth: 0,\n      parts: [literal.original + ''],\n      original: literal.original + '',\n      loc: literal.loc\n    };\n  }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozt5QkFFc0IsY0FBYzs7OztxQkFDSyxVQUFVOzttQkFDbkMsT0FBTzs7OztBQUV2QixJQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDOztBQUVoQixTQUFTLFFBQVEsR0FBRyxFQUFFOzs7Ozs7O0FBTzdCLFFBQVEsQ0FBQyxTQUFTLEdBQUc7QUFDbkIsVUFBUSxFQUFFLFFBQVE7O0FBRWxCLFFBQU0sRUFBRSxnQkFBUyxLQUFLLEVBQUU7QUFDdEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDOUIsUUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7QUFDaEMsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFVBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1VBQzFCLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFVBQ0UsTUFBTSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxJQUNwQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDekM7QUFDQSxlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7Ozs7QUFJRCxPQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QixVQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQy9DLGVBQU8sS0FBSyxDQUFDO09BQ2Q7S0FDRjs7QUFFRCxXQUFPLElBQUksQ0FBQztHQUNiOztBQUVELE1BQUksRUFBRSxDQUFDOztBQUVQLFNBQU8sRUFBRSxpQkFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ2xDLFFBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLFFBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ2xCLFFBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUN6QyxRQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7O0FBRWpDLFdBQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7O0FBRWhELFdBQU8sQ0FBQyxZQUFZLEdBQUcsY0FDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDbkI7QUFDRSxtQkFBYSxFQUFFLElBQUk7QUFDbkIsd0JBQWtCLEVBQUUsSUFBSTtBQUN4QixVQUFJLEVBQUUsSUFBSTtBQUNWLFlBQUksSUFBSTtBQUNSLFlBQU0sRUFBRSxJQUFJO0FBQ1osY0FBTSxJQUFJO0FBQ1YsU0FBRyxFQUFFLElBQUk7QUFDVCxZQUFNLEVBQUUsSUFBSTtLQUNiLEVBQ0QsT0FBTyxDQUFDLFlBQVksQ0FDckIsQ0FBQzs7QUFFRixXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7R0FDN0I7O0FBRUQsZ0JBQWMsRUFBRSx3QkFBUyxPQUFPLEVBQUU7QUFDaEMsUUFBSSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOztBQUNyQyxVQUFNLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDOztBQUVyQixRQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQzs7QUFFdkQsUUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDN0IsUUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7O0FBRXBELFdBQU8sSUFBSSxDQUFDO0dBQ2I7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLElBQUksRUFBRTs7QUFFckIsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDcEIsWUFBTSwyQkFBYyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3pEOztBQUVELFFBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLFFBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsUUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN4QixXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELFNBQU8sRUFBRSxpQkFBUyxPQUFPLEVBQUU7QUFDekIsUUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFdEQsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUk7UUFDckIsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNuQyxVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3RCOztBQUVELFFBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDOztBQUVqQyxRQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDakMsUUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7QUFFeEUsV0FBTyxJQUFJLENBQUM7R0FDYjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLEtBQUssRUFBRTtBQUM5QiwwQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFOUIsUUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU87UUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7O0FBRTFCLFdBQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsRCxXQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7O0FBRWxELFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFFBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtBQUNyQixVQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0MsTUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDNUIsVUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7OztBQUl4QixVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pCLFVBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDaEQsTUFBTTtBQUNMLFVBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQzs7OztBQUk3QyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pCLFVBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztLQUNwQzs7QUFFRCxRQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0dBQ3ZCOztBQUVELGdCQUFjLEVBQUEsd0JBQUMsU0FBUyxFQUFFO0FBQ3hCLFFBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUUsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQ3RFLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDOztBQUV4QixRQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztBQUMxQixRQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0dBQ2hFOztBQUVELGtCQUFnQixFQUFFLDBCQUFTLE9BQU8sRUFBRTtBQUNsQyxRQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs7QUFFdkIsUUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUM5QixRQUFJLE9BQU8sRUFBRTtBQUNYLGFBQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNoRDs7QUFFRCxRQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQzVCLFFBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDckIsWUFBTSwyQkFDSiwyQ0FBMkMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUMzRCxPQUFPLENBQ1IsQ0FBQztLQUNILE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDekIsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO0FBQ3ZDLFlBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO09BQ3pDLE1BQU07QUFDTCxjQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7T0FDOUQ7S0FDRjs7QUFFRCxRQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVE7UUFDckMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQztBQUNwRCxRQUFJLFNBQVMsRUFBRTtBQUNiLFVBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzNCOztBQUVELFFBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFaEUsUUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDbEMsUUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxNQUFNLEVBQUU7QUFDeEMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckMsWUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNiOztBQUVELFFBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztHQUN2QjtBQUNELHVCQUFxQixFQUFFLCtCQUFTLFlBQVksRUFBRTtBQUM1QyxRQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDckM7O0FBRUQsbUJBQWlCLEVBQUUsMkJBQVMsUUFBUSxFQUFFO0FBQ3BDLFFBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTdCLFFBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO0FBQzlDLFVBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDOUIsTUFBTTtBQUNMLFVBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDdkI7R0FDRjtBQUNELFdBQVMsRUFBQSxtQkFBQyxTQUFTLEVBQUU7QUFDbkIsUUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztHQUNoQzs7QUFFRCxrQkFBZ0IsRUFBRSwwQkFBUyxPQUFPLEVBQUU7QUFDbEMsUUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO0FBQ2pCLFVBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM3QztHQUNGOztBQUVELGtCQUFnQixFQUFFLDRCQUFXLEVBQUU7O0FBRS9CLGVBQWEsRUFBRSx1QkFBUyxLQUFLLEVBQUU7QUFDN0IsMEJBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFckMsUUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQ3JCLFVBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekIsTUFBTSxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7QUFDNUIsVUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN6QixNQUFNO0FBQ0wsVUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM1QjtHQUNGO0FBQ0QsZ0JBQWMsRUFBRSx3QkFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUNoRCxRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSTtRQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEIsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQzs7QUFFL0MsUUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUV0QyxRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNwQyxRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQzs7QUFFcEMsUUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbkIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFbEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7R0FDL0M7O0FBRUQsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0FBQ3RCLFFBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0dBQ3RDOztBQUVELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUM3QyxRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDaEUsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUV2QixRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ25DLFVBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2RCxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtBQUN4QyxZQUFNLDJCQUNKLDhEQUE4RCxHQUFHLElBQUksRUFDckUsS0FBSyxDQUNOLENBQUM7S0FDSCxNQUFNO0FBQ0wsVUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbkIsVUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7O0FBRWxCLFVBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEIsVUFBSSxDQUFDLE1BQU0sQ0FDVCxjQUFjLEVBQ2QsTUFBTSxDQUFDLE1BQU0sRUFDYixJQUFJLENBQUMsUUFBUSxFQUNiLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQzNCLENBQUM7S0FDSDtHQUNGOztBQUVELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFO0FBQzdCLFFBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFCLFFBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFdEMsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ25DLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEUsUUFBSSxZQUFZLEVBQUU7QUFDaEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzNELE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTs7QUFFaEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUM1QixNQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNwQixVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDekIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNoRSxNQUFNO0FBQ0wsVUFBSSxDQUFDLE1BQU0sQ0FDVCxpQkFBaUIsRUFDakIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxNQUFNLEVBQ1gsTUFBTSxDQUNQLENBQUM7S0FDSDtHQUNGOztBQUVELGVBQWEsRUFBRSx1QkFBUyxNQUFNLEVBQUU7QUFDOUIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQ3pDOztBQUVELGVBQWEsRUFBRSx1QkFBUyxNQUFNLEVBQUU7QUFDOUIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQzFDOztBQUVELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFO0FBQzdCLFFBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztHQUN4Qzs7QUFFRCxrQkFBZ0IsRUFBRSw0QkFBVztBQUMzQixRQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztHQUN6Qzs7QUFFRCxhQUFXLEVBQUUsdUJBQVc7QUFDdEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDcEM7O0FBRUQsTUFBSSxFQUFFLGNBQVMsSUFBSSxFQUFFO0FBQ25CLFFBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3BCLENBQUMsR0FBRyxDQUFDO1FBQ0wsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7O0FBRW5CLFFBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7O0FBRXhCLFdBQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNqQixVQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQztBQUNELFdBQU8sQ0FBQyxFQUFFLEVBQUU7QUFDVixVQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0M7QUFDRCxRQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0dBQ3hCOzs7QUFHRCxRQUFNLEVBQUUsZ0JBQVMsSUFBSSxFQUFFO0FBQ3JCLFFBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ2hCLFlBQU0sRUFBRSxJQUFJO0FBQ1osVUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUM5QixTQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO0tBQzVCLENBQUMsQ0FBQztHQUNKOztBQUVELFVBQVEsRUFBRSxrQkFBUyxLQUFLLEVBQUU7QUFDeEIsUUFBSSxDQUFDLEtBQUssRUFBRTtBQUNWLGFBQU87S0FDUjs7QUFFRCxRQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztHQUN2Qjs7QUFFRCxlQUFhLEVBQUUsdUJBQVMsS0FBSyxFQUFFO0FBQzdCLFFBQUksUUFBUSxHQUFHLGlCQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVoRCxRQUFJLFlBQVksR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7OztBQUkzRSxRQUFJLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxpQkFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7O0FBS3BFLFFBQUksVUFBVSxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUEsQUFBQyxDQUFDOzs7O0FBSXpELFFBQUksVUFBVSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQzNCLFVBQUksS0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztVQUM1QixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN6QixVQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSSxDQUFDLEVBQUU7QUFDOUIsZ0JBQVEsR0FBRyxJQUFJLENBQUM7T0FDakIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtBQUNuQyxrQkFBVSxHQUFHLEtBQUssQ0FBQztPQUNwQjtLQUNGOztBQUVELFFBQUksUUFBUSxFQUFFO0FBQ1osYUFBTyxRQUFRLENBQUM7S0FDakIsTUFBTSxJQUFJLFVBQVUsRUFBRTtBQUNyQixhQUFPLFdBQVcsQ0FBQztLQUNwQixNQUFNO0FBQ0wsYUFBTyxRQUFRLENBQUM7S0FDakI7R0FDRjs7QUFFRCxZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFO0FBQzNCLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQjtHQUNGOztBQUVELFdBQVMsRUFBRSxtQkFBUyxHQUFHLEVBQUU7QUFDdkIsUUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQzs7QUFFL0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLFVBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixhQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztPQUMvRDs7QUFFRCxVQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7QUFDYixZQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUMxQjtBQUNELFVBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVoRCxVQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFOzs7QUFHaEMsWUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUNsQjtLQUNGLE1BQU07QUFDTCxVQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsWUFBSSxlQUFlLFlBQUEsQ0FBQztBQUNwQixZQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxpQkFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtBQUN6RCx5QkFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REO0FBQ0QsWUFBSSxlQUFlLEVBQUU7QUFDbkIsY0FBSSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25ELGNBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDdkUsTUFBTTtBQUNMLGVBQUssR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztBQUM5QixjQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsaUJBQUssR0FBRyxLQUFLLENBQ1YsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FDNUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztXQUN4Qjs7QUFFRCxjQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO09BQ0Y7QUFDRCxVQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xCO0dBQ0Y7O0FBRUQseUJBQXVCLEVBQUUsaUNBQVMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO0FBQ3BFLFFBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsUUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFeEIsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDcEMsUUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRXBDLFFBQUksS0FBSyxDQUFDLElBQUksRUFBRTtBQUNkLFVBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pCLE1BQU07QUFDTCxVQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUNyQzs7QUFFRCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELGlCQUFlLEVBQUUseUJBQVMsSUFBSSxFQUFFO0FBQzlCLFNBQ0UsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQ3BELEtBQUssR0FBRyxHQUFHLEVBQ1gsS0FBSyxFQUFFLEVBQ1A7QUFDQSxVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7VUFDL0MsS0FBSyxHQUFHLFdBQVcsSUFBSSxlQUFRLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRCxVQUFJLFdBQVcsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO0FBQzdCLGVBQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7T0FDdkI7S0FDRjtHQUNGO0NBQ0YsQ0FBQzs7QUFFSyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtBQUM5QyxNQUNFLEtBQUssSUFBSSxJQUFJLElBQ1osT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxBQUFDLEVBQ3ZEO0FBQ0EsVUFBTSwyQkFDSixnRkFBZ0YsR0FDOUUsS0FBSyxDQUNSLENBQUM7R0FDSDs7QUFFRCxTQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztBQUN4QixNQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDeEIsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7R0FDckI7QUFDRCxNQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsV0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7R0FDMUI7O0FBRUQsTUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO01BQ2pDLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pELFNBQU8sSUFBSSxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0NBQ25FOztBQUVNLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQU8sR0FBRyxFQUFFO01BQW5CLE9BQU8sZ0JBQVAsT0FBTyxHQUFHLEVBQUU7O0FBQ3pDLE1BQ0UsS0FBSyxJQUFJLElBQUksSUFDWixPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEFBQUMsRUFDdkQ7QUFDQSxVQUFNLDJCQUNKLDZFQUE2RSxHQUMzRSxLQUFLLENBQ1IsQ0FBQztHQUNIOztBQUVELFNBQU8sR0FBRyxjQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5QixNQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDeEIsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7R0FDckI7QUFDRCxNQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsV0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7R0FDMUI7O0FBRUQsTUFBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixXQUFTLFlBQVksR0FBRztBQUN0QixRQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7UUFDakMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQ3RELFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FDakQsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxDQUNMLENBQUM7QUFDSixXQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDbkM7OztBQUdELFdBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUU7QUFDakMsUUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLGNBQVEsR0FBRyxZQUFZLEVBQUUsQ0FBQztLQUMzQjtBQUNELFdBQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0dBQ2xEO0FBQ0QsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLFlBQVksRUFBRTtBQUNsQyxRQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2IsY0FBUSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzNCO0FBQ0QsV0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixLQUFHLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO0FBQ2xELFFBQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixjQUFRLEdBQUcsWUFBWSxFQUFFLENBQUM7S0FDM0I7QUFDRCxXQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDdEQsQ0FBQztBQUNGLFNBQU8sR0FBRyxDQUFDO0NBQ1o7O0FBRUQsU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN2QixNQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxXQUFPLElBQUksQ0FBQztHQUNiOztBQUVELE1BQUksZUFBUSxDQUFDLENBQUMsSUFBSSxlQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRTtBQUNyRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNqQyxVQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMxQixlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7QUFDRCxXQUFPLElBQUksQ0FBQztHQUNiO0NBQ0Y7O0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDckMsTUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ3JCLFFBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7OztBQUd6QixTQUFLLENBQUMsSUFBSSxHQUFHO0FBQ1gsVUFBSSxFQUFFLGdCQUFnQjtBQUN0QixVQUFJLEVBQUUsS0FBSztBQUNYLFdBQUssRUFBRSxDQUFDO0FBQ1IsV0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDOUIsY0FBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsRUFBRTtBQUMvQixTQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7S0FDakIsQ0FBQztHQUNIO0NBQ0YiLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXksIGluZGV4T2YsIGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBBU1QgZnJvbSAnLi9hc3QnO1xuXG5jb25zdCBzbGljZSA9IFtdLnNsaWNlO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29tcGlsZXIoKSB7fVxuXG4vLyB0aGUgZm91bmRIZWxwZXIgcmVnaXN0ZXIgd2lsbCBkaXNhbWJpZ3VhdGUgaGVscGVyIGxvb2t1cCBmcm9tIGZpbmRpbmcgYVxuLy8gZnVuY3Rpb24gaW4gYSBjb250ZXh0LiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgbXVzdGFjaGUgY29tcGF0aWJpbGl0eSwgd2hpY2hcbi8vIHJlcXVpcmVzIHRoYXQgY29udGV4dCBmdW5jdGlvbnMgaW4gYmxvY2tzIGFyZSBldmFsdWF0ZWQgYnkgYmxvY2tIZWxwZXJNaXNzaW5nLFxuLy8gYW5kIHRoZW4gcHJvY2VlZCBhcyBpZiB0aGUgcmVzdWx0aW5nIHZhbHVlIHdhcyBwcm92aWRlZCB0byBibG9ja0hlbHBlck1pc3NpbmcuXG5cbkNvbXBpbGVyLnByb3RvdHlwZSA9IHtcbiAgY29tcGlsZXI6IENvbXBpbGVyLFxuXG4gIGVxdWFsczogZnVuY3Rpb24ob3RoZXIpIHtcbiAgICBsZXQgbGVuID0gdGhpcy5vcGNvZGVzLmxlbmd0aDtcbiAgICBpZiAob3RoZXIub3Bjb2Rlcy5sZW5ndGggIT09IGxlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBvcGNvZGUgPSB0aGlzLm9wY29kZXNbaV0sXG4gICAgICAgIG90aGVyT3Bjb2RlID0gb3RoZXIub3Bjb2Rlc1tpXTtcbiAgICAgIGlmIChcbiAgICAgICAgb3Bjb2RlLm9wY29kZSAhPT0gb3RoZXJPcGNvZGUub3Bjb2RlIHx8XG4gICAgICAgICFhcmdFcXVhbHMob3Bjb2RlLmFyZ3MsIG90aGVyT3Bjb2RlLmFyZ3MpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdlIGtub3cgdGhhdCBsZW5ndGggaXMgdGhlIHNhbWUgYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBiZWNhdXNlIHRoZXkgYXJlIGRpcmVjdGx5IHRpZWRcbiAgICAvLyB0byB0aGUgb3Bjb2RlIGJlaGF2aW9yIGFib3ZlLlxuICAgIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbltpXS5lcXVhbHMob3RoZXIuY2hpbGRyZW5baV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICBndWlkOiAwLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKHByb2dyYW0sIG9wdGlvbnMpIHtcbiAgICB0aGlzLnNvdXJjZU5vZGUgPSBbXTtcbiAgICB0aGlzLm9wY29kZXMgPSBbXTtcbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnN0cmluZ1BhcmFtcyA9IG9wdGlvbnMuc3RyaW5nUGFyYW1zO1xuICAgIHRoaXMudHJhY2tJZHMgPSBvcHRpb25zLnRyYWNrSWRzO1xuXG4gICAgb3B0aW9ucy5ibG9ja1BhcmFtcyA9IG9wdGlvbnMuYmxvY2tQYXJhbXMgfHwgW107XG5cbiAgICBvcHRpb25zLmtub3duSGVscGVycyA9IGV4dGVuZChcbiAgICAgIE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgICB7XG4gICAgICAgIGhlbHBlck1pc3Npbmc6IHRydWUsXG4gICAgICAgIGJsb2NrSGVscGVyTWlzc2luZzogdHJ1ZSxcbiAgICAgICAgZWFjaDogdHJ1ZSxcbiAgICAgICAgaWY6IHRydWUsXG4gICAgICAgIHVubGVzczogdHJ1ZSxcbiAgICAgICAgd2l0aDogdHJ1ZSxcbiAgICAgICAgbG9nOiB0cnVlLFxuICAgICAgICBsb29rdXA6IHRydWVcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLmtub3duSGVscGVyc1xuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQocHJvZ3JhbSk7XG4gIH0sXG5cbiAgY29tcGlsZVByb2dyYW06IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgICBsZXQgY2hpbGRDb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgICAgcmVzdWx0ID0gY2hpbGRDb21waWxlci5jb21waWxlKHByb2dyYW0sIHRoaXMub3B0aW9ucyksXG4gICAgICBndWlkID0gdGhpcy5ndWlkKys7XG5cbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0aGlzLnVzZVBhcnRpYWwgfHwgcmVzdWx0LnVzZVBhcnRpYWw7XG5cbiAgICB0aGlzLmNoaWxkcmVuW2d1aWRdID0gcmVzdWx0O1xuICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgcmVzdWx0LnVzZURlcHRocztcblxuICAgIHJldHVybiBndWlkO1xuICB9LFxuXG4gIGFjY2VwdDogZnVuY3Rpb24obm9kZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBTYW5pdHkgY29kZSAqL1xuICAgIGlmICghdGhpc1tub2RlLnR5cGVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHR5cGU6ICcgKyBub2RlLnR5cGUsIG5vZGUpO1xuICAgIH1cblxuICAgIHRoaXMuc291cmNlTm9kZS51bnNoaWZ0KG5vZGUpO1xuICAgIGxldCByZXQgPSB0aGlzW25vZGUudHlwZV0obm9kZSk7XG4gICAgdGhpcy5zb3VyY2VOb2RlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnVuc2hpZnQocHJvZ3JhbS5ibG9ja1BhcmFtcyk7XG5cbiAgICBsZXQgYm9keSA9IHByb2dyYW0uYm9keSxcbiAgICAgIGJvZHlMZW5ndGggPSBib2R5Lmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJvZHlMZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnNoaWZ0KCk7XG5cbiAgICB0aGlzLmlzU2ltcGxlID0gYm9keUxlbmd0aCA9PT0gMTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gcHJvZ3JhbS5ibG9ja1BhcmFtcyA/IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoIDogMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9LFxuXG4gIEJsb2NrU3RhdGVtZW50OiBmdW5jdGlvbihibG9jaykge1xuICAgIHRyYW5zZm9ybUxpdGVyYWxUb1BhdGgoYmxvY2spO1xuXG4gICAgbGV0IHByb2dyYW0gPSBibG9jay5wcm9ncmFtLFxuICAgICAgaW52ZXJzZSA9IGJsb2NrLmludmVyc2U7XG5cbiAgICBwcm9ncmFtID0gcHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKHByb2dyYW0pO1xuICAgIGludmVyc2UgPSBpbnZlcnNlICYmIHRoaXMuY29tcGlsZVByb2dyYW0oaW52ZXJzZSk7XG5cbiAgICBsZXQgdHlwZSA9IHRoaXMuY2xhc3NpZnlTZXhwcihibG9jayk7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2hlbHBlcicpIHtcbiAgICAgIHRoaXMuaGVscGVyU2V4cHIoYmxvY2ssIHByb2dyYW0sIGludmVyc2UpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NpbXBsZScpIHtcbiAgICAgIHRoaXMuc2ltcGxlU2V4cHIoYmxvY2spO1xuXG4gICAgICAvLyBub3cgdGhhdCB0aGUgc2ltcGxlIG11c3RhY2hlIGlzIHJlc29sdmVkLCB3ZSBuZWVkIHRvXG4gICAgICAvLyBldmFsdWF0ZSBpdCBieSBleGVjdXRpbmcgYGJsb2NrSGVscGVyTWlzc2luZ2BcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hQcm9ncmFtJywgaW52ZXJzZSk7XG4gICAgICB0aGlzLm9wY29kZSgnZW1wdHlIYXNoJyk7XG4gICAgICB0aGlzLm9wY29kZSgnYmxvY2tWYWx1ZScsIGJsb2NrLnBhdGgub3JpZ2luYWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFtYmlndW91c1NleHByKGJsb2NrLCBwcm9ncmFtLCBpbnZlcnNlKTtcblxuICAgICAgLy8gbm93IHRoYXQgdGhlIHNpbXBsZSBtdXN0YWNoZSBpcyByZXNvbHZlZCwgd2UgbmVlZCB0b1xuICAgICAgLy8gZXZhbHVhdGUgaXQgYnkgZXhlY3V0aW5nIGBibG9ja0hlbHBlck1pc3NpbmdgXG4gICAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2FtYmlndW91c0Jsb2NrVmFsdWUnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG5cbiAgRGVjb3JhdG9yQmxvY2soZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb2dyYW0gPSBkZWNvcmF0b3IucHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKGRlY29yYXRvci5wcm9ncmFtKTtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhkZWNvcmF0b3IsIHByb2dyYW0sIHVuZGVmaW5lZCksXG4gICAgICBwYXRoID0gZGVjb3JhdG9yLnBhdGg7XG5cbiAgICB0aGlzLnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgIHRoaXMub3Bjb2RlKCdyZWdpc3RlckRlY29yYXRvcicsIHBhcmFtcy5sZW5ndGgsIHBhdGgub3JpZ2luYWwpO1xuICB9LFxuXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0cnVlO1xuXG4gICAgbGV0IHByb2dyYW0gPSBwYXJ0aWFsLnByb2dyYW07XG4gICAgaWYgKHByb2dyYW0pIHtcbiAgICAgIHByb2dyYW0gPSB0aGlzLmNvbXBpbGVQcm9ncmFtKHBhcnRpYWwucHJvZ3JhbSk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IHBhcnRpYWwucGFyYW1zO1xuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIG51bWJlciBvZiBwYXJ0aWFsIGFyZ3VtZW50czogJyArIHBhcmFtcy5sZW5ndGgsXG4gICAgICAgIHBhcnRpYWxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghcGFyYW1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5leHBsaWNpdFBhcnRpYWxDb250ZXh0KSB7XG4gICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICd1bmRlZmluZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKHsgdHlwZTogJ1BhdGhFeHByZXNzaW9uJywgcGFydHM6IFtdLCBkZXB0aDogMCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcGFydGlhbE5hbWUgPSBwYXJ0aWFsLm5hbWUub3JpZ2luYWwsXG4gICAgICBpc0R5bmFtaWMgPSBwYXJ0aWFsLm5hbWUudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nO1xuICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgIHRoaXMuYWNjZXB0KHBhcnRpYWwubmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhwYXJ0aWFsLCBwcm9ncmFtLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gICAgbGV0IGluZGVudCA9IHBhcnRpYWwuaW5kZW50IHx8ICcnO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJldmVudEluZGVudCAmJiBpbmRlbnQpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRDb250ZW50JywgaW5kZW50KTtcbiAgICAgIGluZGVudCA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMub3Bjb2RlKCdpbnZva2VQYXJ0aWFsJywgaXNEeW5hbWljLCBwYXJ0aWFsTmFtZSwgaW5kZW50KTtcbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbEJsb2NrKSB7XG4gICAgdGhpcy5QYXJ0aWFsU3RhdGVtZW50KHBhcnRpYWxCbG9jayk7XG4gIH0sXG5cbiAgTXVzdGFjaGVTdGF0ZW1lbnQ6IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gICAgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKTtcblxuICAgIGlmIChtdXN0YWNoZS5lc2NhcGVkICYmICF0aGlzLm9wdGlvbnMubm9Fc2NhcGUpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRFc2NhcGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmQnKTtcbiAgICB9XG4gIH0sXG4gIERlY29yYXRvcihkZWNvcmF0b3IpIHtcbiAgICB0aGlzLkRlY29yYXRvckJsb2NrKGRlY29yYXRvcik7XG4gIH0sXG5cbiAgQ29udGVudFN0YXRlbWVudDogZnVuY3Rpb24oY29udGVudCkge1xuICAgIGlmIChjb250ZW50LnZhbHVlKSB7XG4gICAgICB0aGlzLm9wY29kZSgnYXBwZW5kQ29udGVudCcsIGNvbnRlbnQudmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBDb21tZW50U3RhdGVtZW50OiBmdW5jdGlvbigpIHt9LFxuXG4gIFN1YkV4cHJlc3Npb246IGZ1bmN0aW9uKHNleHByKSB7XG4gICAgdHJhbnNmb3JtTGl0ZXJhbFRvUGF0aChzZXhwcik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmNsYXNzaWZ5U2V4cHIoc2V4cHIpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdzaW1wbGUnKSB7XG4gICAgICB0aGlzLnNpbXBsZVNleHByKHNleHByKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoZWxwZXInKSB7XG4gICAgICB0aGlzLmhlbHBlclNleHByKHNleHByKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbWJpZ3VvdXNTZXhwcihzZXhwcik7XG4gICAgfVxuICB9LFxuICBhbWJpZ3VvdXNTZXhwcjogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UpIHtcbiAgICBsZXQgcGF0aCA9IHNleHByLnBhdGgsXG4gICAgICBuYW1lID0gcGF0aC5wYXJ0c1swXSxcbiAgICAgIGlzQmxvY2sgPSBwcm9ncmFtICE9IG51bGwgfHwgaW52ZXJzZSAhPSBudWxsO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2dldENvbnRleHQnLCBwYXRoLmRlcHRoKTtcblxuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuXG4gICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2ludm9rZUFtYmlndW91cycsIG5hbWUsIGlzQmxvY2spO1xuICB9LFxuXG4gIHNpbXBsZVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBwYXRoID0gc2V4cHIucGF0aDtcbiAgICBwYXRoLnN0cmljdCA9IHRydWU7XG4gICAgdGhpcy5hY2NlcHQocGF0aCk7XG4gICAgdGhpcy5vcGNvZGUoJ3Jlc29sdmVQb3NzaWJsZUxhbWJkYScpO1xuICB9LFxuXG4gIGhlbHBlclNleHByOiBmdW5jdGlvbihzZXhwciwgcHJvZ3JhbSwgaW52ZXJzZSkge1xuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNldHVwRnVsbE11c3RhY2hlUGFyYW1zKHNleHByLCBwcm9ncmFtLCBpbnZlcnNlKSxcbiAgICAgIHBhdGggPSBzZXhwci5wYXRoLFxuICAgICAgbmFtZSA9IHBhdGgucGFydHNbMF07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmtub3duSGVscGVyc1tuYW1lXSkge1xuICAgICAgdGhpcy5vcGNvZGUoJ2ludm9rZUtub3duSGVscGVyJywgcGFyYW1zLmxlbmd0aCwgbmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMua25vd25IZWxwZXJzT25seSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1lvdSBzcGVjaWZpZWQga25vd25IZWxwZXJzT25seSwgYnV0IHVzZWQgdGhlIHVua25vd24gaGVscGVyICcgKyBuYW1lLFxuICAgICAgICBzZXhwclxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgICAgcGF0aC5mYWxzeSA9IHRydWU7XG5cbiAgICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuICAgICAgdGhpcy5vcGNvZGUoXG4gICAgICAgICdpbnZva2VIZWxwZXInLFxuICAgICAgICBwYXJhbXMubGVuZ3RoLFxuICAgICAgICBwYXRoLm9yaWdpbmFsLFxuICAgICAgICBBU1QuaGVscGVycy5zaW1wbGVJZChwYXRoKVxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgUGF0aEV4cHJlc3Npb246IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICB0aGlzLmFkZERlcHRoKHBhdGguZGVwdGgpO1xuICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgcGF0aC5kZXB0aCk7XG5cbiAgICBsZXQgbmFtZSA9IHBhdGgucGFydHNbMF0sXG4gICAgICBzY29wZWQgPSBBU1QuaGVscGVycy5zY29wZWRJZChwYXRoKSxcbiAgICAgIGJsb2NrUGFyYW1JZCA9ICFwYXRoLmRlcHRoICYmICFzY29wZWQgJiYgdGhpcy5ibG9ja1BhcmFtSW5kZXgobmFtZSk7XG5cbiAgICBpZiAoYmxvY2tQYXJhbUlkKSB7XG4gICAgICB0aGlzLm9wY29kZSgnbG9va3VwQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JZCwgcGF0aC5wYXJ0cyk7XG4gICAgfSBlbHNlIGlmICghbmFtZSkge1xuICAgICAgLy8gQ29udGV4dCByZWZlcmVuY2UsIGkuZS4gYHt7Zm9vIC59fWAgb3IgYHt7Zm9vIC4ufX1gXG4gICAgICB0aGlzLm9wY29kZSgncHVzaENvbnRleHQnKTtcbiAgICB9IGVsc2UgaWYgKHBhdGguZGF0YSkge1xuICAgICAgdGhpcy5vcHRpb25zLmRhdGEgPSB0cnVlO1xuICAgICAgdGhpcy5vcGNvZGUoJ2xvb2t1cERhdGEnLCBwYXRoLmRlcHRoLCBwYXRoLnBhcnRzLCBwYXRoLnN0cmljdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKFxuICAgICAgICAnbG9va3VwT25Db250ZXh0JyxcbiAgICAgICAgcGF0aC5wYXJ0cyxcbiAgICAgICAgcGF0aC5mYWxzeSxcbiAgICAgICAgcGF0aC5zdHJpY3QsXG4gICAgICAgIHNjb3BlZFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgU3RyaW5nTGl0ZXJhbDogZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmcnLCBzdHJpbmcudmFsdWUpO1xuICB9LFxuXG4gIE51bWJlckxpdGVyYWw6IGZ1bmN0aW9uKG51bWJlcikge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsIG51bWJlci52YWx1ZSk7XG4gIH0sXG5cbiAgQm9vbGVhbkxpdGVyYWw6IGZ1bmN0aW9uKGJvb2wpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCBib29sLnZhbHVlKTtcbiAgfSxcblxuICBVbmRlZmluZWRMaXRlcmFsOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCAndW5kZWZpbmVkJyk7XG4gIH0sXG5cbiAgTnVsbExpdGVyYWw6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICdudWxsJyk7XG4gIH0sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIGxldCBwYWlycyA9IGhhc2gucGFpcnMsXG4gICAgICBpID0gMCxcbiAgICAgIGwgPSBwYWlycy5sZW5ndGg7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaEhhc2gnKTtcblxuICAgIGZvciAoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0aGlzLnB1c2hQYXJhbShwYWlyc1tpXS52YWx1ZSk7XG4gICAgfVxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhc3NpZ25Ub0hhc2gnLCBwYWlyc1tpXS5rZXkpO1xuICAgIH1cbiAgICB0aGlzLm9wY29kZSgncG9wSGFzaCcpO1xuICB9LFxuXG4gIC8vIEhFTFBFUlNcbiAgb3Bjb2RlOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgdGhpcy5vcGNvZGVzLnB1c2goe1xuICAgICAgb3Bjb2RlOiBuYW1lLFxuICAgICAgYXJnczogc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLFxuICAgICAgbG9jOiB0aGlzLnNvdXJjZU5vZGVbMF0ubG9jXG4gICAgfSk7XG4gIH0sXG5cbiAgYWRkRGVwdGg6IGZ1bmN0aW9uKGRlcHRoKSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfSxcblxuICBjbGFzc2lmeVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBpc1NpbXBsZSA9IEFTVC5oZWxwZXJzLnNpbXBsZUlkKHNleHByLnBhdGgpO1xuXG4gICAgbGV0IGlzQmxvY2tQYXJhbSA9IGlzU2ltcGxlICYmICEhdGhpcy5ibG9ja1BhcmFtSW5kZXgoc2V4cHIucGF0aC5wYXJ0c1swXSk7XG5cbiAgICAvLyBhIG11c3RhY2hlIGlzIGFuIGVsaWdpYmxlIGhlbHBlciBpZjpcbiAgICAvLyAqIGl0cyBpZCBpcyBzaW1wbGUgKGEgc2luZ2xlIHBhcnQsIG5vdCBgdGhpc2Agb3IgYC4uYClcbiAgICBsZXQgaXNIZWxwZXIgPSAhaXNCbG9ja1BhcmFtICYmIEFTVC5oZWxwZXJzLmhlbHBlckV4cHJlc3Npb24oc2V4cHIpO1xuXG4gICAgLy8gaWYgYSBtdXN0YWNoZSBpcyBhbiBlbGlnaWJsZSBoZWxwZXIgYnV0IG5vdCBhIGRlZmluaXRlXG4gICAgLy8gaGVscGVyLCBpdCBpcyBhbWJpZ3VvdXMsIGFuZCB3aWxsIGJlIHJlc29sdmVkIGluIGEgbGF0ZXJcbiAgICAvLyBwYXNzIG9yIGF0IHJ1bnRpbWUuXG4gICAgbGV0IGlzRWxpZ2libGUgPSAhaXNCbG9ja1BhcmFtICYmIChpc0hlbHBlciB8fCBpc1NpbXBsZSk7XG5cbiAgICAvLyBpZiBhbWJpZ3VvdXMsIHdlIGNhbiBwb3NzaWJseSByZXNvbHZlIHRoZSBhbWJpZ3VpdHkgbm93XG4gICAgLy8gQW4gZWxpZ2libGUgaGVscGVyIGlzIG9uZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBjb21wbGV4IHBhdGgsIGkuZS4gYHRoaXMuZm9vYCwgYC4uL2Zvb2AgZXRjLlxuICAgIGlmIChpc0VsaWdpYmxlICYmICFpc0hlbHBlcikge1xuICAgICAgbGV0IG5hbWUgPSBzZXhwci5wYXRoLnBhcnRzWzBdLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKG9wdGlvbnMua25vd25IZWxwZXJzW25hbWVdKSB7XG4gICAgICAgIGlzSGVscGVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5rbm93bkhlbHBlcnNPbmx5KSB7XG4gICAgICAgIGlzRWxpZ2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNIZWxwZXIpIHtcbiAgICAgIHJldHVybiAnaGVscGVyJztcbiAgICB9IGVsc2UgaWYgKGlzRWxpZ2libGUpIHtcbiAgICAgIHJldHVybiAnYW1iaWd1b3VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdzaW1wbGUnO1xuICAgIH1cbiAgfSxcblxuICBwdXNoUGFyYW1zOiBmdW5jdGlvbihwYXJhbXMpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHBhcmFtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMucHVzaFBhcmFtKHBhcmFtc1tpXSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2hQYXJhbTogZnVuY3Rpb24odmFsKSB7XG4gICAgbGV0IHZhbHVlID0gdmFsLnZhbHVlICE9IG51bGwgPyB2YWwudmFsdWUgOiB2YWwub3JpZ2luYWwgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIGlmICh2YWx1ZS5yZXBsYWNlKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXihcXC4/XFwuXFwvKSovZywgJycpLnJlcGxhY2UoL1xcLy9nLCAnLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsLmRlcHRoKSB7XG4gICAgICAgIHRoaXMuYWRkRGVwdGgodmFsLmRlcHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgdmFsLmRlcHRoIHx8IDApO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmdQYXJhbScsIHZhbHVlLCB2YWwudHlwZSk7XG5cbiAgICAgIGlmICh2YWwudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nKSB7XG4gICAgICAgIC8vIFN1YkV4cHJlc3Npb25zIGdldCBldmFsdWF0ZWQgYW5kIHBhc3NlZCBpblxuICAgICAgICAvLyBpbiBzdHJpbmcgcGFyYW1zIG1vZGUuXG4gICAgICAgIHRoaXMuYWNjZXB0KHZhbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICAgIGxldCBibG9ja1BhcmFtSW5kZXg7XG4gICAgICAgIGlmICh2YWwucGFydHMgJiYgIUFTVC5oZWxwZXJzLnNjb3BlZElkKHZhbCkgJiYgIXZhbC5kZXB0aCkge1xuICAgICAgICAgIGJsb2NrUGFyYW1JbmRleCA9IHRoaXMuYmxvY2tQYXJhbUluZGV4KHZhbC5wYXJ0c1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJsb2NrUGFyYW1JbmRleCkge1xuICAgICAgICAgIGxldCBibG9ja1BhcmFtQ2hpbGQgPSB2YWwucGFydHMuc2xpY2UoMSkuam9pbignLicpO1xuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCAnQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JbmRleCwgYmxvY2tQYXJhbUNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbC5vcmlnaW5hbCB8fCB2YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUucmVwbGFjZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXnRoaXMoPzpcXC58JCkvLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC5cXC8vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4kLywgJycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCB2YWwudHlwZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFjY2VwdCh2YWwpO1xuICAgIH1cbiAgfSxcblxuICBzZXR1cEZ1bGxNdXN0YWNoZVBhcmFtczogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UsIG9taXRFbXB0eSkge1xuICAgIGxldCBwYXJhbXMgPSBzZXhwci5wYXJhbXM7XG4gICAgdGhpcy5wdXNoUGFyYW1zKHBhcmFtcyk7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBpbnZlcnNlKTtcblxuICAgIGlmIChzZXhwci5oYXNoKSB7XG4gICAgICB0aGlzLmFjY2VwdChzZXhwci5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcsIG9taXRFbXB0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfSxcblxuICBibG9ja1BhcmFtSW5kZXg6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBmb3IgKFxuICAgICAgbGV0IGRlcHRoID0gMCwgbGVuID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLmxlbmd0aDtcbiAgICAgIGRlcHRoIDwgbGVuO1xuICAgICAgZGVwdGgrK1xuICAgICkge1xuICAgICAgbGV0IGJsb2NrUGFyYW1zID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zW2RlcHRoXSxcbiAgICAgICAgcGFyYW0gPSBibG9ja1BhcmFtcyAmJiBpbmRleE9mKGJsb2NrUGFyYW1zLCBuYW1lKTtcbiAgICAgIGlmIChibG9ja1BhcmFtcyAmJiBwYXJhbSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBbZGVwdGgsIHBhcmFtXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVjb21waWxlKGlucHV0LCBvcHRpb25zLCBlbnYpIHtcbiAgaWYgKFxuICAgIGlucHV0ID09IG51bGwgfHxcbiAgICAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJyAmJiBpbnB1dC50eXBlICE9PSAnUHJvZ3JhbScpXG4gICkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAnWW91IG11c3QgcGFzcyBhIHN0cmluZyBvciBIYW5kbGViYXJzIEFTVCB0byBIYW5kbGViYXJzLnByZWNvbXBpbGUuIFlvdSBwYXNzZWQgJyArXG4gICAgICAgIGlucHV0XG4gICAgKTtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoISgnZGF0YScgaW4gb3B0aW9ucykpIHtcbiAgICBvcHRpb25zLmRhdGEgPSB0cnVlO1xuICB9XG4gIGlmIChvcHRpb25zLmNvbXBhdCkge1xuICAgIG9wdGlvbnMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfVxuXG4gIGxldCBhc3QgPSBlbnYucGFyc2UoaW5wdXQsIG9wdGlvbnMpLFxuICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlKGlucHV0LCBvcHRpb25zID0ge30sIGVudikge1xuICBpZiAoXG4gICAgaW5wdXQgPT0gbnVsbCB8fFxuICAgICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnICYmIGlucHV0LnR5cGUgIT09ICdQcm9ncmFtJylcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdZb3UgbXVzdCBwYXNzIGEgc3RyaW5nIG9yIEhhbmRsZWJhcnMgQVNUIHRvIEhhbmRsZWJhcnMuY29tcGlsZS4gWW91IHBhc3NlZCAnICtcbiAgICAgICAgaW5wdXRcbiAgICApO1xuICB9XG5cbiAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gIGlmICghKCdkYXRhJyBpbiBvcHRpb25zKSkge1xuICAgIG9wdGlvbnMuZGF0YSA9IHRydWU7XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29tcGF0KSB7XG4gICAgb3B0aW9ucy51c2VEZXB0aHMgPSB0cnVlO1xuICB9XG5cbiAgbGV0IGNvbXBpbGVkO1xuXG4gIGZ1bmN0aW9uIGNvbXBpbGVJbnB1dCgpIHtcbiAgICBsZXQgYXN0ID0gZW52LnBhcnNlKGlucHV0LCBvcHRpb25zKSxcbiAgICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKSxcbiAgICAgIHRlbXBsYXRlU3BlYyA9IG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICByZXR1cm4gZW52LnRlbXBsYXRlKHRlbXBsYXRlU3BlYyk7XG4gIH1cblxuICAvLyBUZW1wbGF0ZSBpcyBvbmx5IGNvbXBpbGVkIG9uIGZpcnN0IHVzZSBhbmQgY2FjaGVkIGFmdGVyIHRoYXQgcG9pbnQuXG4gIGZ1bmN0aW9uIHJldChjb250ZXh0LCBleGVjT3B0aW9ucykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5jYWxsKHRoaXMsIGNvbnRleHQsIGV4ZWNPcHRpb25zKTtcbiAgfVxuICByZXQuX3NldHVwID0gZnVuY3Rpb24oc2V0dXBPcHRpb25zKSB7XG4gICAgaWYgKCFjb21waWxlZCkge1xuICAgICAgY29tcGlsZWQgPSBjb21waWxlSW5wdXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBpbGVkLl9zZXR1cChzZXR1cE9wdGlvbnMpO1xuICB9O1xuICByZXQuX2NoaWxkID0gZnVuY3Rpb24oaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5fY2hpbGQoaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocyk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGFyZ0VxdWFscyhhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNBcnJheShhKSAmJiBpc0FycmF5KGIpICYmIGEubGVuZ3RoID09PSBiLmxlbmd0aCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFhcmdFcXVhbHMoYVtpXSwgYltpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MaXRlcmFsVG9QYXRoKHNleHByKSB7XG4gIGlmICghc2V4cHIucGF0aC5wYXJ0cykge1xuICAgIGxldCBsaXRlcmFsID0gc2V4cHIucGF0aDtcbiAgICAvLyBDYXN0aW5nIHRvIHN0cmluZyBoZXJlIHRvIG1ha2UgZmFsc2UgYW5kIDAgbGl0ZXJhbCB2YWx1ZXMgcGxheSBuaWNlbHkgd2l0aCB0aGUgcmVzdFxuICAgIC8vIG9mIHRoZSBzeXN0ZW0uXG4gICAgc2V4cHIucGF0aCA9IHtcbiAgICAgIHR5cGU6ICdQYXRoRXhwcmVzc2lvbicsXG4gICAgICBkYXRhOiBmYWxzZSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgcGFydHM6IFtsaXRlcmFsLm9yaWdpbmFsICsgJyddLFxuICAgICAgb3JpZ2luYWw6IGxpdGVyYWwub3JpZ2luYWwgKyAnJyxcbiAgICAgIGxvYzogbGl0ZXJhbC5sb2NcbiAgICB9O1xuICB9XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.SourceLocation = SourceLocation;\nexports.id = id;\nexports.stripFlags = stripFlags;\nexports.stripComment = stripComment;\nexports.preparePath = preparePath;\nexports.prepareMustache = prepareMustache;\nexports.prepareRawBlock = prepareRawBlock;\nexports.prepareBlock = prepareBlock;\nexports.prepareProgram = prepareProgram;\nexports.preparePartialBlock = preparePartialBlock;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction validateClose(open, close) {\n  close = close.path ? close.path.original : close;\n\n  if (open.path.original !== close) {\n    var errorNode = { loc: open.path.loc };\n\n    throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n  }\n}\n\nfunction SourceLocation(source, locInfo) {\n  this.source = source;\n  this.start = {\n    line: locInfo.first_line,\n    column: locInfo.first_column\n  };\n  this.end = {\n    line: locInfo.last_line,\n    column: locInfo.last_column\n  };\n}\n\nfunction id(token) {\n  if (/^\\[.*\\]$/.test(token)) {\n    return token.substring(1, token.length - 1);\n  } else {\n    return token;\n  }\n}\n\nfunction stripFlags(open, close) {\n  return {\n    open: open.charAt(2) === '~',\n    close: close.charAt(close.length - 3) === '~'\n  };\n}\n\nfunction stripComment(comment) {\n  return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n}\n\nfunction preparePath(data, parts, loc) {\n  loc = this.locInfo(loc);\n\n  var original = data ? '@' : '',\n      dig = [],\n      depth = 0;\n\n  for (var i = 0, l = parts.length; i < l; i++) {\n    var part = parts[i].part,\n\n    // If we have [] syntax then we do not treat path references as operators,\n    // i.e. foo.[this] resolves to approximately context.foo['this']\n    isLiteral = parts[i].original !== part;\n    original += (parts[i].separator || '') + part;\n\n    if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n      if (dig.length > 0) {\n        throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n      } else if (part === '..') {\n        depth++;\n      }\n    } else {\n      dig.push(part);\n    }\n  }\n\n  return {\n    type: 'PathExpression',\n    data: data,\n    depth: depth,\n    parts: dig,\n    original: original,\n    loc: loc\n  };\n}\n\nfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n  // Must use charAt to support IE pre-10\n  var escapeFlag = open.charAt(3) || open.charAt(2),\n      escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\n  var decorator = /\\*/.test(open);\n  return {\n    type: decorator ? 'Decorator' : 'MustacheStatement',\n    path: path,\n    params: params,\n    hash: hash,\n    escaped: escaped,\n    strip: strip,\n    loc: this.locInfo(locInfo)\n  };\n}\n\nfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n  validateClose(openRawBlock, close);\n\n  locInfo = this.locInfo(locInfo);\n  var program = {\n    type: 'Program',\n    body: contents,\n    strip: {},\n    loc: locInfo\n  };\n\n  return {\n    type: 'BlockStatement',\n    path: openRawBlock.path,\n    params: openRawBlock.params,\n    hash: openRawBlock.hash,\n    program: program,\n    openStrip: {},\n    inverseStrip: {},\n    closeStrip: {},\n    loc: locInfo\n  };\n}\n\nfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n  if (close && close.path) {\n    validateClose(openBlock, close);\n  }\n\n  var decorator = /\\*/.test(openBlock.open);\n\n  program.blockParams = openBlock.blockParams;\n\n  var inverse = undefined,\n      inverseStrip = undefined;\n\n  if (inverseAndProgram) {\n    if (decorator) {\n      throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n    }\n\n    if (inverseAndProgram.chain) {\n      inverseAndProgram.program.body[0].closeStrip = close.strip;\n    }\n\n    inverseStrip = inverseAndProgram.strip;\n    inverse = inverseAndProgram.program;\n  }\n\n  if (inverted) {\n    inverted = inverse;\n    inverse = program;\n    program = inverted;\n  }\n\n  return {\n    type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n    path: openBlock.path,\n    params: openBlock.params,\n    hash: openBlock.hash,\n    program: program,\n    inverse: inverse,\n    openStrip: openBlock.strip,\n    inverseStrip: inverseStrip,\n    closeStrip: close && close.strip,\n    loc: this.locInfo(locInfo)\n  };\n}\n\nfunction prepareProgram(statements, loc) {\n  if (!loc && statements.length) {\n    var firstLoc = statements[0].loc,\n        lastLoc = statements[statements.length - 1].loc;\n\n    /* istanbul ignore else */\n    if (firstLoc && lastLoc) {\n      loc = {\n        source: firstLoc.source,\n        start: {\n          line: firstLoc.start.line,\n          column: firstLoc.start.column\n        },\n        end: {\n          line: lastLoc.end.line,\n          column: lastLoc.end.column\n        }\n      };\n    }\n  }\n\n  return {\n    type: 'Program',\n    body: statements,\n    strip: {},\n    loc: loc\n  };\n}\n\nfunction preparePartialBlock(open, program, close, locInfo) {\n  validateClose(open, close);\n\n  return {\n    type: 'PartialBlockStatement',\n    name: open.path,\n    params: open.params,\n    hash: open.hash,\n    program: program,\n    openStrip: open.strip,\n    closeStrip: close && close.strip,\n    loc: this.locInfo(locInfo)\n  };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7eUJBQXNCLGNBQWM7Ozs7QUFFcEMsU0FBUyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUNsQyxPQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7O0FBRWpELE1BQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO0FBQ2hDLFFBQUksU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7O0FBRXZDLFVBQU0sMkJBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsS0FBSyxFQUM5QyxTQUFTLENBQ1YsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtBQUM5QyxNQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNyQixNQUFJLENBQUMsS0FBSyxHQUFHO0FBQ1gsUUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0FBQ3hCLFVBQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtHQUM3QixDQUFDO0FBQ0YsTUFBSSxDQUFDLEdBQUcsR0FBRztBQUNULFFBQUksRUFBRSxPQUFPLENBQUMsU0FBUztBQUN2QixVQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7R0FDNUIsQ0FBQztDQUNIOztBQUVNLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRTtBQUN4QixNQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDMUIsV0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzdDLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN0QyxTQUFPO0FBQ0wsUUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztBQUM1QixTQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUc7R0FDOUMsQ0FBQztDQUNIOztBQUVNLFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUNwQyxTQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7Q0FDdkU7O0FBRU0sU0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDNUMsS0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRXhCLE1BQUksUUFBUSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtNQUM1QixHQUFHLEdBQUcsRUFBRTtNQUNSLEtBQUssR0FBRyxDQUFDLENBQUM7O0FBRVosT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxRQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTs7OztBQUd0QixhQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDekMsWUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUEsR0FBSSxJQUFJLENBQUM7O0FBRTlDLFFBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxNQUFNLENBQUEsQUFBQyxFQUFFO0FBQ3BFLFVBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDbEIsY0FBTSwyQkFBYyxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUgsR0FBRyxFQUFFLENBQUMsQ0FBQztPQUMzRCxNQUFNLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtBQUN4QixhQUFLLEVBQUUsQ0FBQztPQUNUO0tBQ0YsTUFBTTtBQUNMLFNBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEI7R0FDRjs7QUFFRCxTQUFPO0FBQ0wsUUFBSSxFQUFFLGdCQUFnQjtBQUN0QixRQUFJLEVBQUosSUFBSTtBQUNKLFNBQUssRUFBTCxLQUFLO0FBQ0wsU0FBSyxFQUFFLEdBQUc7QUFDVixZQUFRLEVBQVIsUUFBUTtBQUNSLE9BQUcsRUFBSCxHQUFHO0dBQ0osQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFOztBQUV4RSxNQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO01BQy9DLE9BQU8sR0FBRyxVQUFVLEtBQUssR0FBRyxJQUFJLFVBQVUsS0FBSyxHQUFHLENBQUM7O0FBRXJELE1BQUksU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTLEdBQUcsV0FBVyxHQUFHLG1CQUFtQjtBQUNuRCxRQUFJLEVBQUosSUFBSTtBQUNKLFVBQU0sRUFBTixNQUFNO0FBQ04sUUFBSSxFQUFKLElBQUk7QUFDSixXQUFPLEVBQVAsT0FBTztBQUNQLFNBQUssRUFBTCxLQUFLO0FBQ0wsT0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0dBQzNCLENBQUM7Q0FDSDs7QUFFTSxTQUFTLGVBQWUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDdEUsZUFBYSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzs7QUFFbkMsU0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEMsTUFBSSxPQUFPLEdBQUc7QUFDWixRQUFJLEVBQUUsU0FBUztBQUNmLFFBQUksRUFBRSxRQUFRO0FBQ2QsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsT0FBTztHQUNiLENBQUM7O0FBRUYsU0FBTztBQUNMLFFBQUksRUFBRSxnQkFBZ0I7QUFDdEIsUUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO0FBQ3ZCLFVBQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtBQUMzQixRQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7QUFDdkIsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsRUFBRTtBQUNiLGdCQUFZLEVBQUUsRUFBRTtBQUNoQixjQUFVLEVBQUUsRUFBRTtBQUNkLE9BQUcsRUFBRSxPQUFPO0dBQ2IsQ0FBQztDQUNIOztBQUVNLFNBQVMsWUFBWSxDQUMxQixTQUFTLEVBQ1QsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsUUFBUSxFQUNSLE9BQU8sRUFDUDtBQUNBLE1BQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7QUFDdkIsaUJBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7R0FDakM7O0FBRUQsTUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRTFDLFNBQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQzs7QUFFNUMsTUFBSSxPQUFPLFlBQUE7TUFBRSxZQUFZLFlBQUEsQ0FBQzs7QUFFMUIsTUFBSSxpQkFBaUIsRUFBRTtBQUNyQixRQUFJLFNBQVMsRUFBRTtBQUNiLFlBQU0sMkJBQ0osdUNBQXVDLEVBQ3ZDLGlCQUFpQixDQUNsQixDQUFDO0tBQ0g7O0FBRUQsUUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7QUFDM0IsdUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztLQUM1RDs7QUFFRCxnQkFBWSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztBQUN2QyxXQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDO0dBQ3JDOztBQUVELE1BQUksUUFBUSxFQUFFO0FBQ1osWUFBUSxHQUFHLE9BQU8sQ0FBQztBQUNuQixXQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ2xCLFdBQU8sR0FBRyxRQUFRLENBQUM7R0FDcEI7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCO0FBQ3JELFFBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtBQUNwQixVQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07QUFDeEIsUUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO0FBQ3BCLFdBQU8sRUFBUCxPQUFPO0FBQ1AsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUs7QUFDMUIsZ0JBQVksRUFBWixZQUFZO0FBQ1osY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIOztBQUVNLFNBQVMsY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7QUFDOUMsTUFBSSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO0FBQzdCLFFBQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO1FBQ2hDLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7OztBQUdsRCxRQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7QUFDdkIsU0FBRyxHQUFHO0FBQ0osY0FBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQ3ZCLGFBQUssRUFBRTtBQUNMLGNBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDekIsZ0JBQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU07U0FDOUI7QUFDRCxXQUFHLEVBQUU7QUFDSCxjQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ3RCLGdCQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1NBQzNCO09BQ0YsQ0FBQztLQUNIO0dBQ0Y7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTO0FBQ2YsUUFBSSxFQUFFLFVBQVU7QUFDaEIsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsR0FBRztHQUNULENBQUM7Q0FDSDs7QUFFTSxTQUFTLG1CQUFtQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUNqRSxlQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUUzQixTQUFPO0FBQ0wsUUFBSSxFQUFFLHVCQUF1QjtBQUM3QixRQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7QUFDZixVQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07QUFDbkIsUUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0FBQ2YsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7QUFDckIsY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpIHtcbiAgY2xvc2UgPSBjbG9zZS5wYXRoID8gY2xvc2UucGF0aC5vcmlnaW5hbCA6IGNsb3NlO1xuXG4gIGlmIChvcGVuLnBhdGgub3JpZ2luYWwgIT09IGNsb3NlKSB7XG4gICAgbGV0IGVycm9yTm9kZSA9IHsgbG9jOiBvcGVuLnBhdGgubG9jIH07XG5cbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgb3Blbi5wYXRoLm9yaWdpbmFsICsgXCIgZG9lc24ndCBtYXRjaCBcIiArIGNsb3NlLFxuICAgICAgZXJyb3JOb2RlXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU291cmNlTG9jYXRpb24oc291cmNlLCBsb2NJbmZvKSB7XG4gIHRoaXMuc291cmNlID0gc291cmNlO1xuICB0aGlzLnN0YXJ0ID0ge1xuICAgIGxpbmU6IGxvY0luZm8uZmlyc3RfbGluZSxcbiAgICBjb2x1bW46IGxvY0luZm8uZmlyc3RfY29sdW1uXG4gIH07XG4gIHRoaXMuZW5kID0ge1xuICAgIGxpbmU6IGxvY0luZm8ubGFzdF9saW5lLFxuICAgIGNvbHVtbjogbG9jSW5mby5sYXN0X2NvbHVtblxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWQodG9rZW4pIHtcbiAgaWYgKC9eXFxbLipcXF0kLy50ZXN0KHRva2VuKSkge1xuICAgIHJldHVybiB0b2tlbi5zdWJzdHJpbmcoMSwgdG9rZW4ubGVuZ3RoIC0gMSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcEZsYWdzKG9wZW4sIGNsb3NlKSB7XG4gIHJldHVybiB7XG4gICAgb3Blbjogb3Blbi5jaGFyQXQoMikgPT09ICd+JyxcbiAgICBjbG9zZTogY2xvc2UuY2hhckF0KGNsb3NlLmxlbmd0aCAtIDMpID09PSAnfidcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29tbWVudChjb21tZW50KSB7XG4gIHJldHVybiBjb21tZW50LnJlcGxhY2UoL15cXHtcXHt+PyEtPy0/LywgJycpLnJlcGxhY2UoLy0/LT9+P1xcfVxcfSQvLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGF0aChkYXRhLCBwYXJ0cywgbG9jKSB7XG4gIGxvYyA9IHRoaXMubG9jSW5mbyhsb2MpO1xuXG4gIGxldCBvcmlnaW5hbCA9IGRhdGEgPyAnQCcgOiAnJyxcbiAgICBkaWcgPSBbXSxcbiAgICBkZXB0aCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldLnBhcnQsXG4gICAgICAvLyBJZiB3ZSBoYXZlIFtdIHN5bnRheCB0aGVuIHdlIGRvIG5vdCB0cmVhdCBwYXRoIHJlZmVyZW5jZXMgYXMgb3BlcmF0b3JzLFxuICAgICAgLy8gaS5lLiBmb28uW3RoaXNdIHJlc29sdmVzIHRvIGFwcHJveGltYXRlbHkgY29udGV4dC5mb29bJ3RoaXMnXVxuICAgICAgaXNMaXRlcmFsID0gcGFydHNbaV0ub3JpZ2luYWwgIT09IHBhcnQ7XG4gICAgb3JpZ2luYWwgKz0gKHBhcnRzW2ldLnNlcGFyYXRvciB8fCAnJykgKyBwYXJ0O1xuXG4gICAgaWYgKCFpc0xpdGVyYWwgJiYgKHBhcnQgPT09ICcuLicgfHwgcGFydCA9PT0gJy4nIHx8IHBhcnQgPT09ICd0aGlzJykpIHtcbiAgICAgIGlmIChkaWcubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHBhdGg6ICcgKyBvcmlnaW5hbCwgeyBsb2MgfSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGlnLnB1c2gocGFydCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnUGF0aEV4cHJlc3Npb24nLFxuICAgIGRhdGEsXG4gICAgZGVwdGgsXG4gICAgcGFydHM6IGRpZyxcbiAgICBvcmlnaW5hbCxcbiAgICBsb2NcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNdXN0YWNoZShwYXRoLCBwYXJhbXMsIGhhc2gsIG9wZW4sIHN0cmlwLCBsb2NJbmZvKSB7XG4gIC8vIE11c3QgdXNlIGNoYXJBdCB0byBzdXBwb3J0IElFIHByZS0xMFxuICBsZXQgZXNjYXBlRmxhZyA9IG9wZW4uY2hhckF0KDMpIHx8IG9wZW4uY2hhckF0KDIpLFxuICAgIGVzY2FwZWQgPSBlc2NhcGVGbGFnICE9PSAneycgJiYgZXNjYXBlRmxhZyAhPT0gJyYnO1xuXG4gIGxldCBkZWNvcmF0b3IgPSAvXFwqLy50ZXN0KG9wZW4pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3InIDogJ011c3RhY2hlU3RhdGVtZW50JyxcbiAgICBwYXRoLFxuICAgIHBhcmFtcyxcbiAgICBoYXNoLFxuICAgIGVzY2FwZWQsXG4gICAgc3RyaXAsXG4gICAgbG9jOiB0aGlzLmxvY0luZm8obG9jSW5mbylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVSYXdCbG9jayhvcGVuUmF3QmxvY2ssIGNvbnRlbnRzLCBjbG9zZSwgbG9jSW5mbykge1xuICB2YWxpZGF0ZUNsb3NlKG9wZW5SYXdCbG9jaywgY2xvc2UpO1xuXG4gIGxvY0luZm8gPSB0aGlzLmxvY0luZm8obG9jSW5mbyk7XG4gIGxldCBwcm9ncmFtID0ge1xuICAgIHR5cGU6ICdQcm9ncmFtJyxcbiAgICBib2R5OiBjb250ZW50cyxcbiAgICBzdHJpcDoge30sXG4gICAgbG9jOiBsb2NJbmZvXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5SYXdCbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlblJhd0Jsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuUmF3QmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIG9wZW5TdHJpcDoge30sXG4gICAgaW52ZXJzZVN0cmlwOiB7fSxcbiAgICBjbG9zZVN0cmlwOiB7fSxcbiAgICBsb2M6IGxvY0luZm9cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVCbG9jayhcbiAgb3BlbkJsb2NrLFxuICBwcm9ncmFtLFxuICBpbnZlcnNlQW5kUHJvZ3JhbSxcbiAgY2xvc2UsXG4gIGludmVydGVkLFxuICBsb2NJbmZvXG4pIHtcbiAgaWYgKGNsb3NlICYmIGNsb3NlLnBhdGgpIHtcbiAgICB2YWxpZGF0ZUNsb3NlKG9wZW5CbG9jaywgY2xvc2UpO1xuICB9XG5cbiAgbGV0IGRlY29yYXRvciA9IC9cXCovLnRlc3Qob3BlbkJsb2NrLm9wZW4pO1xuXG4gIHByb2dyYW0uYmxvY2tQYXJhbXMgPSBvcGVuQmxvY2suYmxvY2tQYXJhbXM7XG5cbiAgbGV0IGludmVyc2UsIGludmVyc2VTdHJpcDtcblxuICBpZiAoaW52ZXJzZUFuZFByb2dyYW0pIHtcbiAgICBpZiAoZGVjb3JhdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVW5leHBlY3RlZCBpbnZlcnNlIGJsb2NrIG9uIGRlY29yYXRvcicsXG4gICAgICAgIGludmVyc2VBbmRQcm9ncmFtXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnZlcnNlQW5kUHJvZ3JhbS5jaGFpbikge1xuICAgICAgaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbS5ib2R5WzBdLmNsb3NlU3RyaXAgPSBjbG9zZS5zdHJpcDtcbiAgICB9XG5cbiAgICBpbnZlcnNlU3RyaXAgPSBpbnZlcnNlQW5kUHJvZ3JhbS5zdHJpcDtcbiAgICBpbnZlcnNlID0gaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbTtcbiAgfVxuXG4gIGlmIChpbnZlcnRlZCkge1xuICAgIGludmVydGVkID0gaW52ZXJzZTtcbiAgICBpbnZlcnNlID0gcHJvZ3JhbTtcbiAgICBwcm9ncmFtID0gaW52ZXJ0ZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3JCbG9jaycgOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5CbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlbkJsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuQmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIGludmVyc2UsXG4gICAgb3BlblN0cmlwOiBvcGVuQmxvY2suc3RyaXAsXG4gICAgaW52ZXJzZVN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUHJvZ3JhbShzdGF0ZW1lbnRzLCBsb2MpIHtcbiAgaWYgKCFsb2MgJiYgc3RhdGVtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBmaXJzdExvYyA9IHN0YXRlbWVudHNbMF0ubG9jLFxuICAgICAgbGFzdExvYyA9IHN0YXRlbWVudHNbc3RhdGVtZW50cy5sZW5ndGggLSAxXS5sb2M7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChmaXJzdExvYyAmJiBsYXN0TG9jKSB7XG4gICAgICBsb2MgPSB7XG4gICAgICAgIHNvdXJjZTogZmlyc3RMb2Muc291cmNlLFxuICAgICAgICBzdGFydDoge1xuICAgICAgICAgIGxpbmU6IGZpcnN0TG9jLnN0YXJ0LmxpbmUsXG4gICAgICAgICAgY29sdW1uOiBmaXJzdExvYy5zdGFydC5jb2x1bW5cbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiB7XG4gICAgICAgICAgbGluZTogbGFzdExvYy5lbmQubGluZSxcbiAgICAgICAgICBjb2x1bW46IGxhc3RMb2MuZW5kLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1Byb2dyYW0nLFxuICAgIGJvZHk6IHN0YXRlbWVudHMsXG4gICAgc3RyaXA6IHt9LFxuICAgIGxvYzogbG9jXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGFydGlhbEJsb2NrKG9wZW4sIHByb2dyYW0sIGNsb3NlLCBsb2NJbmZvKSB7XG4gIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1BhcnRpYWxCbG9ja1N0YXRlbWVudCcsXG4gICAgbmFtZTogb3Blbi5wYXRoLFxuICAgIHBhcmFtczogb3Blbi5wYXJhbXMsXG4gICAgaGFzaDogb3Blbi5oYXNoLFxuICAgIHByb2dyYW0sXG4gICAgb3BlblN0cmlwOiBvcGVuLnN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _base = require('../base');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _codeGen = require('./code-gen');\n\nvar _codeGen2 = _interopRequireDefault(_codeGen);\n\nfunction Literal(value) {\n  this.value = value;\n}\n\nfunction JavaScriptCompiler() {}\n\nJavaScriptCompiler.prototype = {\n  // PUBLIC API: You can override these methods in a subclass to provide\n  // alternative compiled forms for name lookup and buffering semantics\n  nameLookup: function nameLookup(parent, name /*,  type */) {\n    return this.internalNameLookup(parent, name);\n  },\n  depthedLookup: function depthedLookup(name) {\n    return [this.aliasable('container.lookup'), '(depths, ', JSON.stringify(name), ')'];\n  },\n\n  compilerInfo: function compilerInfo() {\n    var revision = _base.COMPILER_REVISION,\n        versions = _base.REVISION_CHANGES[revision];\n    return [revision, versions];\n  },\n\n  appendToBuffer: function appendToBuffer(source, location, explicit) {\n    // Force a source as this simplifies the merge logic.\n    if (!_utils.isArray(source)) {\n      source = [source];\n    }\n    source = this.source.wrap(source, location);\n\n    if (this.environment.isSimple) {\n      return ['return ', source, ';'];\n    } else if (explicit) {\n      // This is a case where the buffer operation occurs as a child of another\n      // construct, generally braces. We have to explicitly output these buffer\n      // operations to ensure that the emitted code goes in the correct location.\n      return ['buffer += ', source, ';'];\n    } else {\n      source.appendToBuffer = true;\n      return source;\n    }\n  },\n\n  initializeBuffer: function initializeBuffer() {\n    return this.quotedString('');\n  },\n  // END PUBLIC API\n  internalNameLookup: function internalNameLookup(parent, name) {\n    this.lookupPropertyFunctionIsUsed = true;\n    return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];\n  },\n\n  lookupPropertyFunctionIsUsed: false,\n\n  compile: function compile(environment, options, context, asObject) {\n    this.environment = environment;\n    this.options = options;\n    this.stringParams = this.options.stringParams;\n    this.trackIds = this.options.trackIds;\n    this.precompile = !asObject;\n\n    this.name = this.environment.name;\n    this.isChild = !!context;\n    this.context = context || {\n      decorators: [],\n      programs: [],\n      environments: []\n    };\n\n    this.preamble();\n\n    this.stackSlot = 0;\n    this.stackVars = [];\n    this.aliases = {};\n    this.registers = { list: [] };\n    this.hashes = [];\n    this.compileStack = [];\n    this.inlineStack = [];\n    this.blockParams = [];\n\n    this.compileChildren(environment, options);\n\n    this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n    this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n\n    var opcodes = environment.opcodes,\n        opcode = undefined,\n        firstLoc = undefined,\n        i = undefined,\n        l = undefined;\n\n    for (i = 0, l = opcodes.length; i < l; i++) {\n      opcode = opcodes[i];\n\n      this.source.currentLocation = opcode.loc;\n      firstLoc = firstLoc || opcode.loc;\n      this[opcode.opcode].apply(this, opcode.args);\n    }\n\n    // Flush any trailing content that might be pending.\n    this.source.currentLocation = firstLoc;\n    this.pushSource('');\n\n    /* istanbul ignore next */\n    if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n      throw new _exception2['default']('Compile completed with content left on stack');\n    }\n\n    if (!this.decorators.isEmpty()) {\n      this.useDecorators = true;\n\n      this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\\n']);\n      this.decorators.push('return fn;');\n\n      if (asObject) {\n        this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n      } else {\n        this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n        this.decorators.push('}\\n');\n        this.decorators = this.decorators.merge();\n      }\n    } else {\n      this.decorators = undefined;\n    }\n\n    var fn = this.createFunctionContext(asObject);\n    if (!this.isChild) {\n      var ret = {\n        compiler: this.compilerInfo(),\n        main: fn\n      };\n\n      if (this.decorators) {\n        ret.main_d = this.decorators; // eslint-disable-line camelcase\n        ret.useDecorators = true;\n      }\n\n      var _context = this.context;\n      var programs = _context.programs;\n      var decorators = _context.decorators;\n\n      for (i = 0, l = programs.length; i < l; i++) {\n        if (programs[i]) {\n          ret[i] = programs[i];\n          if (decorators[i]) {\n            ret[i + '_d'] = decorators[i];\n            ret.useDecorators = true;\n          }\n        }\n      }\n\n      if (this.environment.usePartial) {\n        ret.usePartial = true;\n      }\n      if (this.options.data) {\n        ret.useData = true;\n      }\n      if (this.useDepths) {\n        ret.useDepths = true;\n      }\n      if (this.useBlockParams) {\n        ret.useBlockParams = true;\n      }\n      if (this.options.compat) {\n        ret.compat = true;\n      }\n\n      if (!asObject) {\n        ret.compiler = JSON.stringify(ret.compiler);\n\n        this.source.currentLocation = { start: { line: 1, column: 0 } };\n        ret = this.objectLiteral(ret);\n\n        if (options.srcName) {\n          ret = ret.toStringWithSourceMap({ file: options.destName });\n          ret.map = ret.map && ret.map.toString();\n        } else {\n          ret = ret.toString();\n        }\n      } else {\n        ret.compilerOptions = this.options;\n      }\n\n      return ret;\n    } else {\n      return fn;\n    }\n  },\n\n  preamble: function preamble() {\n    // track the last context pushed into place to allow skipping the\n    // getContext opcode when it would be a noop\n    this.lastContext = 0;\n    this.source = new _codeGen2['default'](this.options.srcName);\n    this.decorators = new _codeGen2['default'](this.options.srcName);\n  },\n\n  createFunctionContext: function createFunctionContext(asObject) {\n    // istanbul ignore next\n\n    var _this = this;\n\n    var varDeclarations = '';\n\n    var locals = this.stackVars.concat(this.registers.list);\n    if (locals.length > 0) {\n      varDeclarations += ', ' + locals.join(', ');\n    }\n\n    // Generate minimizer alias mappings\n    //\n    // When using true SourceNodes, this will update all references to the given alias\n    // as the source nodes are reused in situ. For the non-source node compilation mode,\n    // aliases will not be used, but this case is already being run on the client and\n    // we aren't concern about minimizing the template size.\n    var aliasCount = 0;\n    Object.keys(this.aliases).forEach(function (alias) {\n      var node = _this.aliases[alias];\n      if (node.children && node.referenceCount > 1) {\n        varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n        node.children[0] = 'alias' + aliasCount;\n      }\n    });\n\n    if (this.lookupPropertyFunctionIsUsed) {\n      varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();\n    }\n\n    var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\n    if (this.useBlockParams || this.useDepths) {\n      params.push('blockParams');\n    }\n    if (this.useDepths) {\n      params.push('depths');\n    }\n\n    // Perform a second pass over the output to merge content when possible\n    var source = this.mergeSource(varDeclarations);\n\n    if (asObject) {\n      params.push(source);\n\n      return Function.apply(this, params);\n    } else {\n      return this.source.wrap(['function(', params.join(','), ') {\\n  ', source, '}']);\n    }\n  },\n  mergeSource: function mergeSource(varDeclarations) {\n    var isSimple = this.environment.isSimple,\n        appendOnly = !this.forceBuffer,\n        appendFirst = undefined,\n        sourceSeen = undefined,\n        bufferStart = undefined,\n        bufferEnd = undefined;\n    this.source.each(function (line) {\n      if (line.appendToBuffer) {\n        if (bufferStart) {\n          line.prepend('  + ');\n        } else {\n          bufferStart = line;\n        }\n        bufferEnd = line;\n      } else {\n        if (bufferStart) {\n          if (!sourceSeen) {\n            appendFirst = true;\n          } else {\n            bufferStart.prepend('buffer += ');\n          }\n          bufferEnd.add(';');\n          bufferStart = bufferEnd = undefined;\n        }\n\n        sourceSeen = true;\n        if (!isSimple) {\n          appendOnly = false;\n        }\n      }\n    });\n\n    if (appendOnly) {\n      if (bufferStart) {\n        bufferStart.prepend('return ');\n        bufferEnd.add(';');\n      } else if (!sourceSeen) {\n        this.source.push('return \"\";');\n      }\n    } else {\n      varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\n      if (bufferStart) {\n        bufferStart.prepend('return buffer + ');\n        bufferEnd.add(';');\n      } else {\n        this.source.push('return buffer;');\n      }\n    }\n\n    if (varDeclarations) {\n      this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n    }\n\n    return this.source.merge();\n  },\n\n  lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {\n    return '\\n      lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n        if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n          return parent[propertyName];\\n        }\\n        return undefined\\n    }\\n    '.trim();\n  },\n\n  // [blockValue]\n  //\n  // On stack, before: hash, inverse, program, value\n  // On stack, after: return value of blockHelperMissing\n  //\n  // The purpose of this opcode is to take a block of the form\n  // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n  // replace it on the stack with the result of properly\n  // invoking blockHelperMissing.\n  blockValue: function blockValue(name) {\n    var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n        params = [this.contextName(0)];\n    this.setupHelperArgs(name, 0, params);\n\n    var blockName = this.popStack();\n    params.splice(1, 0, blockName);\n\n    this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n  },\n\n  // [ambiguousBlockValue]\n  //\n  // On stack, before: hash, inverse, program, value\n  // Compiler value, before: lastHelper=value of last found helper, if any\n  // On stack, after, if no lastHelper: same as [blockValue]\n  // On stack, after, if lastHelper: value\n  ambiguousBlockValue: function ambiguousBlockValue() {\n    // We're being a bit cheeky and reusing the options value from the prior exec\n    var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n        params = [this.contextName(0)];\n    this.setupHelperArgs('', 0, params, true);\n\n    this.flushInline();\n\n    var current = this.topStack();\n    params.splice(1, 0, current);\n\n    this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n  },\n\n  // [appendContent]\n  //\n  // On stack, before: ...\n  // On stack, after: ...\n  //\n  // Appends the string value of `content` to the current buffer\n  appendContent: function appendContent(content) {\n    if (this.pendingContent) {\n      content = this.pendingContent + content;\n    } else {\n      this.pendingLocation = this.source.currentLocation;\n    }\n\n    this.pendingContent = content;\n  },\n\n  // [append]\n  //\n  // On stack, before: value, ...\n  // On stack, after: ...\n  //\n  // Coerces `value` to a String and appends it to the current buffer.\n  //\n  // If `value` is truthy, or 0, it is coerced into a string and appended\n  // Otherwise, the empty string is appended\n  append: function append() {\n    if (this.isInline()) {\n      this.replaceStack(function (current) {\n        return [' != null ? ', current, ' : \"\"'];\n      });\n\n      this.pushSource(this.appendToBuffer(this.popStack()));\n    } else {\n      var local = this.popStack();\n      this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n      if (this.environment.isSimple) {\n        this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n      }\n    }\n  },\n\n  // [appendEscaped]\n  //\n  // On stack, before: value, ...\n  // On stack, after: ...\n  //\n  // Escape `value` and append it to the buffer\n  appendEscaped: function appendEscaped() {\n    this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n  },\n\n  // [getContext]\n  //\n  // On stack, before: ...\n  // On stack, after: ...\n  // Compiler value, after: lastContext=depth\n  //\n  // Set the value of the `lastContext` compiler value to the depth\n  getContext: function getContext(depth) {\n    this.lastContext = depth;\n  },\n\n  // [pushContext]\n  //\n  // On stack, before: ...\n  // On stack, after: currentContext, ...\n  //\n  // Pushes the value of the current context onto the stack.\n  pushContext: function pushContext() {\n    this.pushStackLiteral(this.contextName(this.lastContext));\n  },\n\n  // [lookupOnContext]\n  //\n  // On stack, before: ...\n  // On stack, after: currentContext[name], ...\n  //\n  // Looks up the value of `name` on the current context and pushes\n  // it onto the stack.\n  lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n    var i = 0;\n\n    if (!scoped && this.options.compat && !this.lastContext) {\n      // The depthed query is expected to handle the undefined logic for the root level that\n      // is implemented below, so we evaluate that directly in compat mode\n      this.push(this.depthedLookup(parts[i++]));\n    } else {\n      this.pushContext();\n    }\n\n    this.resolvePath('context', parts, i, falsy, strict);\n  },\n\n  // [lookupBlockParam]\n  //\n  // On stack, before: ...\n  // On stack, after: blockParam[name], ...\n  //\n  // Looks up the value of `parts` on the given block param and pushes\n  // it onto the stack.\n  lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n    this.useBlockParams = true;\n\n    this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n    this.resolvePath('context', parts, 1);\n  },\n\n  // [lookupData]\n  //\n  // On stack, before: ...\n  // On stack, after: data, ...\n  //\n  // Push the data lookup operator\n  lookupData: function lookupData(depth, parts, strict) {\n    if (!depth) {\n      this.pushStackLiteral('data');\n    } else {\n      this.pushStackLiteral('container.data(data, ' + depth + ')');\n    }\n\n    this.resolvePath('data', parts, 0, true, strict);\n  },\n\n  resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n    // istanbul ignore next\n\n    var _this2 = this;\n\n    if (this.options.strict || this.options.assumeObjects) {\n      this.push(strictLookup(this.options.strict && strict, this, parts, i, type));\n      return;\n    }\n\n    var len = parts.length;\n    for (; i < len; i++) {\n      /* eslint-disable no-loop-func */\n      this.replaceStack(function (current) {\n        var lookup = _this2.nameLookup(current, parts[i], type);\n        // We want to ensure that zero and false are handled properly if the context (falsy flag)\n        // needs to have the special handling for these values.\n        if (!falsy) {\n          return [' != null ? ', lookup, ' : ', current];\n        } else {\n          // Otherwise we can use generic falsy handling\n          return [' && ', lookup];\n        }\n      });\n      /* eslint-enable no-loop-func */\n    }\n  },\n\n  // [resolvePossibleLambda]\n  //\n  // On stack, before: value, ...\n  // On stack, after: resolved value, ...\n  //\n  // If the `value` is a lambda, replace it on the stack by\n  // the return value of the lambda\n  resolvePossibleLambda: function resolvePossibleLambda() {\n    this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n  },\n\n  // [pushStringParam]\n  //\n  // On stack, before: ...\n  // On stack, after: string, currentContext, ...\n  //\n  // This opcode is designed for use in string mode, which\n  // provides the string value of a parameter along with its\n  // depth rather than resolving it immediately.\n  pushStringParam: function pushStringParam(string, type) {\n    this.pushContext();\n    this.pushString(type);\n\n    // If it's a subexpression, the string result\n    // will be pushed after this opcode.\n    if (type !== 'SubExpression') {\n      if (typeof string === 'string') {\n        this.pushString(string);\n      } else {\n        this.pushStackLiteral(string);\n      }\n    }\n  },\n\n  emptyHash: function emptyHash(omitEmpty) {\n    if (this.trackIds) {\n      this.push('{}'); // hashIds\n    }\n    if (this.stringParams) {\n      this.push('{}'); // hashContexts\n      this.push('{}'); // hashTypes\n    }\n    this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n  },\n  pushHash: function pushHash() {\n    if (this.hash) {\n      this.hashes.push(this.hash);\n    }\n    this.hash = { values: {}, types: [], contexts: [], ids: [] };\n  },\n  popHash: function popHash() {\n    var hash = this.hash;\n    this.hash = this.hashes.pop();\n\n    if (this.trackIds) {\n      this.push(this.objectLiteral(hash.ids));\n    }\n    if (this.stringParams) {\n      this.push(this.objectLiteral(hash.contexts));\n      this.push(this.objectLiteral(hash.types));\n    }\n\n    this.push(this.objectLiteral(hash.values));\n  },\n\n  // [pushString]\n  //\n  // On stack, before: ...\n  // On stack, after: quotedString(string), ...\n  //\n  // Push a quoted version of `string` onto the stack\n  pushString: function pushString(string) {\n    this.pushStackLiteral(this.quotedString(string));\n  },\n\n  // [pushLiteral]\n  //\n  // On stack, before: ...\n  // On stack, after: value, ...\n  //\n  // Pushes a value onto the stack. This operation prevents\n  // the compiler from creating a temporary variable to hold\n  // it.\n  pushLiteral: function pushLiteral(value) {\n    this.pushStackLiteral(value);\n  },\n\n  // [pushProgram]\n  //\n  // On stack, before: ...\n  // On stack, after: program(guid), ...\n  //\n  // Push a program expression onto the stack. This takes\n  // a compile-time guid and converts it into a runtime-accessible\n  // expression.\n  pushProgram: function pushProgram(guid) {\n    if (guid != null) {\n      this.pushStackLiteral(this.programExpression(guid));\n    } else {\n      this.pushStackLiteral(null);\n    }\n  },\n\n  // [registerDecorator]\n  //\n  // On stack, before: hash, program, params..., ...\n  // On stack, after: ...\n  //\n  // Pops off the decorator's parameters, invokes the decorator,\n  // and inserts the decorator into the decorators list.\n  registerDecorator: function registerDecorator(paramSize, name) {\n    var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n        options = this.setupHelperArgs(name, paramSize);\n\n    this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n  },\n\n  // [invokeHelper]\n  //\n  // On stack, before: hash, inverse, program, params..., ...\n  // On stack, after: result of helper invocation\n  //\n  // Pops off the helper's parameters, invokes the helper,\n  // and pushes the helper's return value onto the stack.\n  //\n  // If the helper is not found, `helperMissing` is called.\n  invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n    var nonHelper = this.popStack(),\n        helper = this.setupHelper(paramSize, name);\n\n    var possibleFunctionCalls = [];\n\n    if (isSimple) {\n      // direct call to helper\n      possibleFunctionCalls.push(helper.name);\n    }\n    // call a function from the input object\n    possibleFunctionCalls.push(nonHelper);\n    if (!this.options.strict) {\n      possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));\n    }\n\n    var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];\n    var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);\n    this.push(functionCall);\n  },\n\n  itemsSeparatedBy: function itemsSeparatedBy(items, separator) {\n    var result = [];\n    result.push(items[0]);\n    for (var i = 1; i < items.length; i++) {\n      result.push(separator, items[i]);\n    }\n    return result;\n  },\n  // [invokeKnownHelper]\n  //\n  // On stack, before: hash, inverse, program, params..., ...\n  // On stack, after: result of helper invocation\n  //\n  // This operation is used when the helper is known to exist,\n  // so a `helperMissing` fallback is not required.\n  invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n    var helper = this.setupHelper(paramSize, name);\n    this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n  },\n\n  // [invokeAmbiguous]\n  //\n  // On stack, before: hash, inverse, program, params..., ...\n  // On stack, after: result of disambiguation\n  //\n  // This operation is used when an expression like `{{foo}}`\n  // is provided, but we don't know at compile-time whether it\n  // is a helper or a path.\n  //\n  // This operation emits more code than the other options,\n  // and can be avoided by passing the `knownHelpers` and\n  // `knownHelpersOnly` flags at compile-time.\n  invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n    this.useRegister('helper');\n\n    var nonHelper = this.popStack();\n\n    this.emptyHash();\n    var helper = this.setupHelper(0, name, helperCall);\n\n    var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n\n    var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n    if (!this.options.strict) {\n      lookup[0] = '(helper = ';\n      lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));\n    }\n\n    this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n  },\n\n  // [invokePartial]\n  //\n  // On stack, before: context, ...\n  // On stack after: result of partial invocation\n  //\n  // This operation pops off a context, invokes a partial with that context,\n  // and pushes the result of the invocation back.\n  invokePartial: function invokePartial(isDynamic, name, indent) {\n    var params = [],\n        options = this.setupParams(name, 1, params);\n\n    if (isDynamic) {\n      name = this.popStack();\n      delete options.name;\n    }\n\n    if (indent) {\n      options.indent = JSON.stringify(indent);\n    }\n    options.helpers = 'helpers';\n    options.partials = 'partials';\n    options.decorators = 'container.decorators';\n\n    if (!isDynamic) {\n      params.unshift(this.nameLookup('partials', name, 'partial'));\n    } else {\n      params.unshift(name);\n    }\n\n    if (this.options.compat) {\n      options.depths = 'depths';\n    }\n    options = this.objectLiteral(options);\n    params.push(options);\n\n    this.push(this.source.functionCall('container.invokePartial', '', params));\n  },\n\n  // [assignToHash]\n  //\n  // On stack, before: value, ..., hash, ...\n  // On stack, after: ..., hash, ...\n  //\n  // Pops a value off the stack and assigns it to the current hash\n  assignToHash: function assignToHash(key) {\n    var value = this.popStack(),\n        context = undefined,\n        type = undefined,\n        id = undefined;\n\n    if (this.trackIds) {\n      id = this.popStack();\n    }\n    if (this.stringParams) {\n      type = this.popStack();\n      context = this.popStack();\n    }\n\n    var hash = this.hash;\n    if (context) {\n      hash.contexts[key] = context;\n    }\n    if (type) {\n      hash.types[key] = type;\n    }\n    if (id) {\n      hash.ids[key] = id;\n    }\n    hash.values[key] = value;\n  },\n\n  pushId: function pushId(type, name, child) {\n    if (type === 'BlockParam') {\n      this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n    } else if (type === 'PathExpression') {\n      this.pushString(name);\n    } else if (type === 'SubExpression') {\n      this.pushStackLiteral('true');\n    } else {\n      this.pushStackLiteral('null');\n    }\n  },\n\n  // HELPERS\n\n  compiler: JavaScriptCompiler,\n\n  compileChildren: function compileChildren(environment, options) {\n    var children = environment.children,\n        child = undefined,\n        compiler = undefined;\n\n    for (var i = 0, l = children.length; i < l; i++) {\n      child = children[i];\n      compiler = new this.compiler(); // eslint-disable-line new-cap\n\n      var existing = this.matchExistingProgram(child);\n\n      if (existing == null) {\n        this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n        var index = this.context.programs.length;\n        child.index = index;\n        child.name = 'program' + index;\n        this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n        this.context.decorators[index] = compiler.decorators;\n        this.context.environments[index] = child;\n\n        this.useDepths = this.useDepths || compiler.useDepths;\n        this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n        child.useDepths = this.useDepths;\n        child.useBlockParams = this.useBlockParams;\n      } else {\n        child.index = existing.index;\n        child.name = 'program' + existing.index;\n\n        this.useDepths = this.useDepths || existing.useDepths;\n        this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n      }\n    }\n  },\n  matchExistingProgram: function matchExistingProgram(child) {\n    for (var i = 0, len = this.context.environments.length; i < len; i++) {\n      var environment = this.context.environments[i];\n      if (environment && environment.equals(child)) {\n        return environment;\n      }\n    }\n  },\n\n  programExpression: function programExpression(guid) {\n    var child = this.environment.children[guid],\n        programParams = [child.index, 'data', child.blockParams];\n\n    if (this.useBlockParams || this.useDepths) {\n      programParams.push('blockParams');\n    }\n    if (this.useDepths) {\n      programParams.push('depths');\n    }\n\n    return 'container.program(' + programParams.join(', ') + ')';\n  },\n\n  useRegister: function useRegister(name) {\n    if (!this.registers[name]) {\n      this.registers[name] = true;\n      this.registers.list.push(name);\n    }\n  },\n\n  push: function push(expr) {\n    if (!(expr instanceof Literal)) {\n      expr = this.source.wrap(expr);\n    }\n\n    this.inlineStack.push(expr);\n    return expr;\n  },\n\n  pushStackLiteral: function pushStackLiteral(item) {\n    this.push(new Literal(item));\n  },\n\n  pushSource: function pushSource(source) {\n    if (this.pendingContent) {\n      this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n      this.pendingContent = undefined;\n    }\n\n    if (source) {\n      this.source.push(source);\n    }\n  },\n\n  replaceStack: function replaceStack(callback) {\n    var prefix = ['('],\n        stack = undefined,\n        createdStack = undefined,\n        usedLiteral = undefined;\n\n    /* istanbul ignore next */\n    if (!this.isInline()) {\n      throw new _exception2['default']('replaceStack on non-inline');\n    }\n\n    // We want to merge the inline statement into the replacement statement via ','\n    var top = this.popStack(true);\n\n    if (top instanceof Literal) {\n      // Literals do not need to be inlined\n      stack = [top.value];\n      prefix = ['(', stack];\n      usedLiteral = true;\n    } else {\n      // Get or create the current stack name for use by the inline\n      createdStack = true;\n      var _name = this.incrStack();\n\n      prefix = ['((', this.push(_name), ' = ', top, ')'];\n      stack = this.topStack();\n    }\n\n    var item = callback.call(this, stack);\n\n    if (!usedLiteral) {\n      this.popStack();\n    }\n    if (createdStack) {\n      this.stackSlot--;\n    }\n    this.push(prefix.concat(item, ')'));\n  },\n\n  incrStack: function incrStack() {\n    this.stackSlot++;\n    if (this.stackSlot > this.stackVars.length) {\n      this.stackVars.push('stack' + this.stackSlot);\n    }\n    return this.topStackName();\n  },\n  topStackName: function topStackName() {\n    return 'stack' + this.stackSlot;\n  },\n  flushInline: function flushInline() {\n    var inlineStack = this.inlineStack;\n    this.inlineStack = [];\n    for (var i = 0, len = inlineStack.length; i < len; i++) {\n      var entry = inlineStack[i];\n      /* istanbul ignore if */\n      if (entry instanceof Literal) {\n        this.compileStack.push(entry);\n      } else {\n        var stack = this.incrStack();\n        this.pushSource([stack, ' = ', entry, ';']);\n        this.compileStack.push(stack);\n      }\n    }\n  },\n  isInline: function isInline() {\n    return this.inlineStack.length;\n  },\n\n  popStack: function popStack(wrapped) {\n    var inline = this.isInline(),\n        item = (inline ? this.inlineStack : this.compileStack).pop();\n\n    if (!wrapped && item instanceof Literal) {\n      return item.value;\n    } else {\n      if (!inline) {\n        /* istanbul ignore next */\n        if (!this.stackSlot) {\n          throw new _exception2['default']('Invalid stack pop');\n        }\n        this.stackSlot--;\n      }\n      return item;\n    }\n  },\n\n  topStack: function topStack() {\n    var stack = this.isInline() ? this.inlineStack : this.compileStack,\n        item = stack[stack.length - 1];\n\n    /* istanbul ignore if */\n    if (item instanceof Literal) {\n      return item.value;\n    } else {\n      return item;\n    }\n  },\n\n  contextName: function contextName(context) {\n    if (this.useDepths && context) {\n      return 'depths[' + context + ']';\n    } else {\n      return 'depth' + context;\n    }\n  },\n\n  quotedString: function quotedString(str) {\n    return this.source.quotedString(str);\n  },\n\n  objectLiteral: function objectLiteral(obj) {\n    return this.source.objectLiteral(obj);\n  },\n\n  aliasable: function aliasable(name) {\n    var ret = this.aliases[name];\n    if (ret) {\n      ret.referenceCount++;\n      return ret;\n    }\n\n    ret = this.aliases[name] = this.source.wrap(name);\n    ret.aliasable = true;\n    ret.referenceCount = 1;\n\n    return ret;\n  },\n\n  setupHelper: function setupHelper(paramSize, name, blockHelper) {\n    var params = [],\n        paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n    var foundHelper = this.nameLookup('helpers', name, 'helper'),\n        callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n\n    return {\n      params: params,\n      paramsInit: paramsInit,\n      name: foundHelper,\n      callParams: [callContext].concat(params)\n    };\n  },\n\n  setupParams: function setupParams(helper, paramSize, params) {\n    var options = {},\n        contexts = [],\n        types = [],\n        ids = [],\n        objectArgs = !params,\n        param = undefined;\n\n    if (objectArgs) {\n      params = [];\n    }\n\n    options.name = this.quotedString(helper);\n    options.hash = this.popStack();\n\n    if (this.trackIds) {\n      options.hashIds = this.popStack();\n    }\n    if (this.stringParams) {\n      options.hashTypes = this.popStack();\n      options.hashContexts = this.popStack();\n    }\n\n    var inverse = this.popStack(),\n        program = this.popStack();\n\n    // Avoid setting fn and inverse if neither are set. This allows\n    // helpers to do a check for `if (options.fn)`\n    if (program || inverse) {\n      options.fn = program || 'container.noop';\n      options.inverse = inverse || 'container.noop';\n    }\n\n    // The parameters go on to the stack in order (making sure that they are evaluated in order)\n    // so we need to pop them off the stack in reverse order\n    var i = paramSize;\n    while (i--) {\n      param = this.popStack();\n      params[i] = param;\n\n      if (this.trackIds) {\n        ids[i] = this.popStack();\n      }\n      if (this.stringParams) {\n        types[i] = this.popStack();\n        contexts[i] = this.popStack();\n      }\n    }\n\n    if (objectArgs) {\n      options.args = this.source.generateArray(params);\n    }\n\n    if (this.trackIds) {\n      options.ids = this.source.generateArray(ids);\n    }\n    if (this.stringParams) {\n      options.types = this.source.generateArray(types);\n      options.contexts = this.source.generateArray(contexts);\n    }\n\n    if (this.options.data) {\n      options.data = 'data';\n    }\n    if (this.useBlockParams) {\n      options.blockParams = 'blockParams';\n    }\n    return options;\n  },\n\n  setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n    var options = this.setupParams(helper, paramSize, params);\n    options.loc = JSON.stringify(this.source.currentLocation);\n    options = this.objectLiteral(options);\n    if (useRegister) {\n      this.useRegister('options');\n      params.push('options');\n      return ['options=', options];\n    } else if (params) {\n      params.push(options);\n      return '';\n    } else {\n      return options;\n    }\n  }\n};\n\n(function () {\n  var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');\n\n  var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\n  for (var i = 0, l = reservedWords.length; i < l; i++) {\n    compilerWords[reservedWords[i]] = true;\n  }\n})();\n\n/**\n * @deprecated May be removed in the next major version\n */\nJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n  return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n};\n\nfunction strictLookup(requireTerminal, compiler, parts, i, type) {\n  var stack = compiler.popStack(),\n      len = parts.length;\n  if (requireTerminal) {\n    len--;\n  }\n\n  for (; i < len; i++) {\n    stack = compiler.nameLookup(stack, parts[i], type);\n  }\n\n  if (requireTerminal) {\n    return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];\n  } else {\n    return stack;\n  }\n}\n\nexports['default'] = JavaScriptCompiler;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztvQkFBb0QsU0FBUzs7eUJBQ3ZDLGNBQWM7Ozs7cUJBQ1osVUFBVTs7dUJBQ2QsWUFBWTs7OztBQUVoQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsTUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Q0FDcEI7O0FBRUQsU0FBUyxrQkFBa0IsR0FBRyxFQUFFOztBQUVoQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUc7OztBQUc3QixZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFLElBQUksZUFBZTtBQUM5QyxXQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7R0FDOUM7QUFDRCxlQUFhLEVBQUUsdUJBQVMsSUFBSSxFQUFFO0FBQzVCLFdBQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNwQixHQUFHLENBQ0osQ0FBQztHQUNIOztBQUVELGNBQVksRUFBRSx3QkFBVztBQUN2QixRQUFNLFFBQVEsMEJBQW9CO1FBQ2hDLFFBQVEsR0FBRyx1QkFBaUIsUUFBUSxDQUFDLENBQUM7QUFDeEMsV0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztHQUM3Qjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFOztBQUVuRCxRQUFJLENBQUMsZUFBUSxNQUFNLENBQUMsRUFBRTtBQUNwQixZQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQjtBQUNELFVBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRTVDLFFBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7QUFDN0IsYUFBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDakMsTUFBTSxJQUFJLFFBQVEsRUFBRTs7OztBQUluQixhQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwQyxNQUFNO0FBQ0wsWUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFDN0IsYUFBTyxNQUFNLENBQUM7S0FDZjtHQUNGOztBQUVELGtCQUFnQixFQUFFLDRCQUFXO0FBQzNCLFdBQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxvQkFBa0IsRUFBRSw0QkFBUyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFFBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFDekMsV0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztHQUNwRTs7QUFFRCw4QkFBNEIsRUFBRSxLQUFLOztBQUVuQyxTQUFPLEVBQUUsaUJBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO0FBQ3pELFFBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0FBQy9CLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDOUMsUUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUN0QyxRQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDOztBQUU1QixRQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QixRQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSTtBQUN4QixnQkFBVSxFQUFFLEVBQUU7QUFDZCxjQUFRLEVBQUUsRUFBRTtBQUNaLGtCQUFZLEVBQUUsRUFBRTtLQUNqQixDQUFDOztBQUVGLFFBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7QUFFaEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDbkIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDcEIsUUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDbEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUM5QixRQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNqQixRQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN2QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN0QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQzs7QUFFdEIsUUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFFBQUksQ0FBQyxTQUFTLEdBQ1osSUFBSSxDQUFDLFNBQVMsSUFDZCxXQUFXLENBQUMsU0FBUyxJQUNyQixXQUFXLENBQUMsYUFBYSxJQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN0QixRQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQzs7QUFFeEUsUUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU87UUFDL0IsTUFBTSxZQUFBO1FBQ04sUUFBUSxZQUFBO1FBQ1IsQ0FBQyxZQUFBO1FBQ0QsQ0FBQyxZQUFBLENBQUM7O0FBRUosU0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDMUMsWUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFcEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUN6QyxjQUFRLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDbEMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM5Qzs7O0FBR0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3ZDLFFBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7OztBQUdwQixRQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7QUFDekUsWUFBTSwyQkFBYyw4Q0FBOEMsQ0FBQyxDQUFDO0tBQ3JFOztBQUVELFFBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO0FBQzlCLFVBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDOztBQUUxQixVQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUN0Qix5Q0FBeUMsRUFDekMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEVBQzNDLEtBQUssQ0FDTixDQUFDLENBQUM7QUFDSCxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7QUFFbkMsVUFBSSxRQUFRLEVBQUU7QUFDWixZQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQ3JDLElBQUksRUFDSixPQUFPLEVBQ1AsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUN4QixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3JCLHVFQUF1RSxDQUN4RSxDQUFDO0FBQ0YsWUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsWUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO09BQzNDO0tBQ0YsTUFBTTtBQUNMLFVBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0tBQzdCOztBQUVELFFBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5QyxRQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixVQUFJLEdBQUcsR0FBRztBQUNSLGdCQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtBQUM3QixZQUFJLEVBQUUsRUFBRTtPQUNULENBQUM7O0FBRUYsVUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ25CLFdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztBQUM3QixXQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztPQUMxQjs7cUJBRThCLElBQUksQ0FBQyxPQUFPO1VBQXJDLFFBQVEsWUFBUixRQUFRO1VBQUUsVUFBVSxZQUFWLFVBQVU7O0FBQzFCLFdBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzNDLFlBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ2YsYUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixjQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNqQixlQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixlQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztXQUMxQjtTQUNGO09BQ0Y7O0FBRUQsVUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtBQUMvQixXQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztPQUN2QjtBQUNELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7QUFDckIsV0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7T0FDcEI7QUFDRCxVQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsV0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7T0FDdEI7QUFDRCxVQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDdkIsV0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7T0FDM0I7QUFDRCxVQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3ZCLFdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO09BQ25COztBQUVELFVBQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixXQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUU1QyxZQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDaEUsV0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRTlCLFlBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUNuQixhQUFHLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzVELGFBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3pDLE1BQU07QUFDTCxhQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3RCO09BQ0YsTUFBTTtBQUNMLFdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztPQUNwQzs7QUFFRCxhQUFPLEdBQUcsQ0FBQztLQUNaLE1BQU07QUFDTCxhQUFPLEVBQUUsQ0FBQztLQUNYO0dBQ0Y7O0FBRUQsVUFBUSxFQUFFLG9CQUFXOzs7QUFHbkIsUUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDckIsUUFBSSxDQUFDLE1BQU0sR0FBRyx5QkFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hELFFBQUksQ0FBQyxVQUFVLEdBQUcseUJBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztHQUNyRDs7QUFFRCx1QkFBcUIsRUFBRSwrQkFBUyxRQUFRLEVBQUU7Ozs7O0FBQ3hDLFFBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQzs7QUFFekIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxRQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3JCLHFCQUFlLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0M7Ozs7Ozs7O0FBUUQsUUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLFVBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUssRUFBSTtBQUN6QyxVQUFJLElBQUksR0FBRyxNQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixVQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7QUFDNUMsdUJBQWUsSUFBSSxTQUFTLEdBQUcsRUFBRSxVQUFVLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztBQUMxRCxZQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUM7T0FDekM7S0FDRixDQUFDLENBQUM7O0FBRUgsUUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7QUFDckMscUJBQWUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7S0FDdkU7O0FBRUQsUUFBSSxNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRXBFLFFBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ3pDLFlBQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDNUI7QUFDRCxRQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsWUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2Qjs7O0FBR0QsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQzs7QUFFL0MsUUFBSSxRQUFRLEVBQUU7QUFDWixZQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVwQixhQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3JDLE1BQU07QUFDTCxhQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3RCLFdBQVcsRUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNoQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEdBQUcsQ0FDSixDQUFDLENBQUM7S0FDSjtHQUNGO0FBQ0QsYUFBVyxFQUFFLHFCQUFTLGVBQWUsRUFBRTtBQUNyQyxRQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7UUFDdEMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVc7UUFDOUIsV0FBVyxZQUFBO1FBQ1gsVUFBVSxZQUFBO1FBQ1YsV0FBVyxZQUFBO1FBQ1gsU0FBUyxZQUFBLENBQUM7QUFDWixRQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFBLElBQUksRUFBSTtBQUN2QixVQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDdkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3RCLE1BQU07QUFDTCxxQkFBVyxHQUFHLElBQUksQ0FBQztTQUNwQjtBQUNELGlCQUFTLEdBQUcsSUFBSSxDQUFDO09BQ2xCLE1BQU07QUFDTCxZQUFJLFdBQVcsRUFBRTtBQUNmLGNBQUksQ0FBQyxVQUFVLEVBQUU7QUFDZix1QkFBVyxHQUFHLElBQUksQ0FBQztXQUNwQixNQUFNO0FBQ0wsdUJBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7V0FDbkM7QUFDRCxtQkFBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQixxQkFBVyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDckM7O0FBRUQsa0JBQVUsR0FBRyxJQUFJLENBQUM7QUFDbEIsWUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLG9CQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO09BQ0Y7S0FDRixDQUFDLENBQUM7O0FBRUgsUUFBSSxVQUFVLEVBQUU7QUFDZCxVQUFJLFdBQVcsRUFBRTtBQUNmLG1CQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO09BQ3BCLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUN0QixZQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztPQUNoQztLQUNGLE1BQU07QUFDTCxxQkFBZSxJQUNiLGFBQWEsSUFBSSxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBLEFBQUMsQ0FBQzs7QUFFL0QsVUFBSSxXQUFXLEVBQUU7QUFDZixtQkFBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3hDLGlCQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO09BQ3BCLE1BQU07QUFDTCxZQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO09BQ3BDO0tBQ0Y7O0FBRUQsUUFBSSxlQUFlLEVBQUU7QUFDbkIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2pCLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFBLEFBQUMsQ0FDbkUsQ0FBQztLQUNIOztBQUVELFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztHQUM1Qjs7QUFFRCxzQ0FBb0MsRUFBRSxnREFBVztBQUMvQyxXQUFPLDZQQU9MLElBQUksRUFBRSxDQUFDO0dBQ1Y7Ozs7Ozs7Ozs7O0FBV0QsWUFBVSxFQUFFLG9CQUFTLElBQUksRUFBRTtBQUN6QixRQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQ25DLG9DQUFvQyxDQUNyQztRQUNELE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxRQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRXRDLFFBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQyxVQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7O0FBRS9CLFFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7R0FDekU7Ozs7Ozs7O0FBUUQscUJBQW1CLEVBQUUsK0JBQVc7O0FBRTlCLFFBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDbkMsb0NBQW9DLENBQ3JDO1FBQ0QsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFFBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7O0FBRTFDLFFBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7QUFFbkIsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzlCLFVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQzs7QUFFN0IsUUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNkLE9BQU8sRUFDUCxJQUFJLENBQUMsVUFBVSxFQUNmLE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFDNUQsR0FBRyxDQUNKLENBQUMsQ0FBQztHQUNKOzs7Ozs7OztBQVFELGVBQWEsRUFBRSx1QkFBUyxPQUFPLEVBQUU7QUFDL0IsUUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztLQUN6QyxNQUFNO0FBQ0wsVUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztLQUNwRDs7QUFFRCxRQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQztHQUMvQjs7Ozs7Ozs7Ozs7QUFXRCxRQUFNLEVBQUUsa0JBQVc7QUFDakIsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7QUFDbkIsVUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFBLE9BQU87ZUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO09BQUEsQ0FBQyxDQUFDOztBQUVoRSxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN2RCxNQUFNO0FBQ0wsVUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzVCLFVBQUksQ0FBQyxVQUFVLENBQUMsQ0FDZCxNQUFNLEVBQ04sS0FBSyxFQUNMLGNBQWMsRUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQzNDLElBQUksQ0FDTCxDQUFDLENBQUM7QUFDSCxVQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO0FBQzdCLFlBQUksQ0FBQyxVQUFVLENBQUMsQ0FDZCxTQUFTLEVBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUMxQyxJQUFJLENBQ0wsQ0FBQyxDQUFDO09BQ0o7S0FDRjtHQUNGOzs7Ozs7OztBQVFELGVBQWEsRUFBRSx5QkFBVztBQUN4QixRQUFJLENBQUMsVUFBVSxDQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUM1QyxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLEdBQUcsQ0FDSixDQUFDLENBQ0gsQ0FBQztHQUNIOzs7Ozs7Ozs7QUFTRCxZQUFVLEVBQUUsb0JBQVMsS0FBSyxFQUFFO0FBQzFCLFFBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0dBQzFCOzs7Ozs7OztBQVFELGFBQVcsRUFBRSx1QkFBVztBQUN0QixRQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztHQUMzRDs7Ozs7Ozs7O0FBU0QsaUJBQWUsRUFBRSx5QkFBUyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7QUFDdEQsUUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVWLFFBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFOzs7QUFHdkQsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQyxNQUFNO0FBQ0wsVUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3BCOztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0dBQ3REOzs7Ozs7Ozs7QUFTRCxrQkFBZ0IsRUFBRSwwQkFBUyxZQUFZLEVBQUUsS0FBSyxFQUFFO0FBQzlDLFFBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDOztBQUUzQixRQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekUsUUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0dBQ3ZDOzs7Ozs7OztBQVFELFlBQVUsRUFBRSxvQkFBUyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN6QyxRQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsVUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9CLE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQzlEOztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0dBQ2xEOztBQUVELGFBQVcsRUFBRSxxQkFBUyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFOzs7OztBQUNuRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO0FBQ3JELFVBQUksQ0FBQyxJQUFJLENBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDbEUsQ0FBQztBQUNGLGFBQU87S0FDUjs7QUFFRCxRQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3ZCLFdBQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTs7QUFFbkIsVUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFBLE9BQU8sRUFBSTtBQUMzQixZQUFJLE1BQU0sR0FBRyxPQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDOzs7QUFHdEQsWUFBSSxDQUFDLEtBQUssRUFBRTtBQUNWLGlCQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDaEQsTUFBTTs7QUFFTCxpQkFBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6QjtPQUNGLENBQUMsQ0FBQzs7S0FFSjtHQUNGOzs7Ozs7Ozs7QUFTRCx1QkFBcUIsRUFBRSxpQ0FBVztBQUNoQyxRQUFJLENBQUMsSUFBSSxDQUFDLENBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNsQyxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLElBQUksRUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNuQixHQUFHLENBQ0osQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7Ozs7QUFVRCxpQkFBZSxFQUFFLHlCQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDdEMsUUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7QUFJdEIsUUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO0FBQzVCLFVBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO0FBQzlCLFlBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7T0FDekIsTUFBTTtBQUNMLFlBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztPQUMvQjtLQUNGO0dBQ0Y7O0FBRUQsV0FBUyxFQUFFLG1CQUFTLFNBQVMsRUFBRTtBQUM3QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtBQUNELFFBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7QUFDRCxRQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztHQUN2RDtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixRQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDYixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7QUFDRCxRQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0dBQzlEO0FBQ0QsU0FBTyxFQUFFLG1CQUFXO0FBQ2xCLFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsUUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOztBQUU5QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3QyxVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDM0M7O0FBRUQsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0dBQzVDOzs7Ozs7OztBQVFELFlBQVUsRUFBRSxvQkFBUyxNQUFNLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUNsRDs7Ozs7Ozs7OztBQVVELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQzlCOzs7Ozs7Ozs7O0FBVUQsYUFBVyxFQUFFLHFCQUFTLElBQUksRUFBRTtBQUMxQixRQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7QUFDaEIsVUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3JELE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7R0FDRjs7Ozs7Ozs7O0FBU0QsbUJBQWlCLEVBQUEsMkJBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtBQUNqQyxRQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzs7QUFFbEQsUUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FDbkIsT0FBTyxFQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxFQUNKLE9BQU8sRUFDUCxXQUFXLEVBQ1gsT0FBTyxDQUNSLENBQUMsRUFDRixTQUFTLENBQ1YsQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7Ozs7O0FBV0QsY0FBWSxFQUFFLHNCQUFTLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0FBQ2hELFFBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDN0IsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDOztBQUU3QyxRQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQzs7QUFFL0IsUUFBSSxRQUFRLEVBQUU7O0FBRVosMkJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN6Qzs7QUFFRCx5QkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEMsUUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3hCLDJCQUFxQixDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxDQUNoRCxDQUFDO0tBQ0g7O0FBRUQsUUFBSSxrQkFBa0IsR0FBRyxDQUN2QixHQUFHLEVBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxFQUNsRCxHQUFHLENBQ0osQ0FBQztBQUNGLFFBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUN6QyxrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLE1BQU0sQ0FBQyxVQUFVLENBQ2xCLENBQUM7QUFDRixRQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3pCOztBQUVELGtCQUFnQixFQUFFLDBCQUFTLEtBQUssRUFBRSxTQUFTLEVBQUU7QUFDM0MsUUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ2hCLFVBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDckMsWUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbEM7QUFDRCxXQUFPLE1BQU0sQ0FBQztHQUNmOzs7Ozs7OztBQVFELG1CQUFpQixFQUFFLDJCQUFTLFNBQVMsRUFBRSxJQUFJLEVBQUU7QUFDM0MsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztHQUM3RTs7Ozs7Ozs7Ozs7Ozs7QUFjRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxVQUFVLEVBQUU7QUFDMUMsUUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7QUFFM0IsUUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUVoQyxRQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDOztBQUVuRCxRQUFJLFVBQVUsR0FBSSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQ2pELFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxDQUNULEFBQUMsQ0FBQzs7QUFFSCxRQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckUsUUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3hCLFlBQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUM7QUFDekIsWUFBTSxDQUFDLElBQUksQ0FDVCxzQkFBc0IsRUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxDQUNoRCxDQUFDO0tBQ0g7O0FBRUQsUUFBSSxDQUFDLElBQUksQ0FBQyxDQUNSLEdBQUcsRUFDSCxNQUFNLEVBQ04sTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUNuRCxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzVCLEtBQUssRUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFDN0QsYUFBYSxDQUNkLENBQUMsQ0FBQztHQUNKOzs7Ozs7Ozs7QUFTRCxlQUFhLEVBQUUsdUJBQVMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7QUFDL0MsUUFBSSxNQUFNLEdBQUcsRUFBRTtRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRTlDLFFBQUksU0FBUyxFQUFFO0FBQ2IsVUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN2QixhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDckI7O0FBRUQsUUFBSSxNQUFNLEVBQUU7QUFDVixhQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDekM7QUFDRCxXQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUM1QixXQUFPLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUM5QixXQUFPLENBQUMsVUFBVSxHQUFHLHNCQUFzQixDQUFDOztBQUU1QyxRQUFJLENBQUMsU0FBUyxFQUFFO0FBQ2QsWUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUM5RCxNQUFNO0FBQ0wsWUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0Qjs7QUFFRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3ZCLGFBQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0tBQzNCO0FBQ0QsV0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEMsVUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzs7QUFFckIsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUM1RTs7Ozs7Ozs7QUFRRCxjQUFZLEVBQUUsc0JBQVMsR0FBRyxFQUFFO0FBQzFCLFFBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDekIsT0FBTyxZQUFBO1FBQ1AsSUFBSSxZQUFBO1FBQ0osRUFBRSxZQUFBLENBQUM7O0FBRUwsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2pCLFFBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEI7QUFDRCxRQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDckIsVUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN2QixhQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzNCOztBQUVELFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsUUFBSSxPQUFPLEVBQUU7QUFDWCxVQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztLQUM5QjtBQUNELFFBQUksSUFBSSxFQUFFO0FBQ1IsVUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDeEI7QUFDRCxRQUFJLEVBQUUsRUFBRTtBQUNOLFVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3BCO0FBQ0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7R0FDMUI7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ2xDLFFBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtBQUN6QixVQUFJLENBQUMsZ0JBQWdCLENBQ25CLGNBQWMsR0FDWixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQ1AsU0FBUyxHQUNULElBQUksQ0FBQyxDQUFDLENBQUMsR0FDUCxHQUFHLElBQ0YsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUEsQUFBQyxDQUNyRCxDQUFDO0tBQ0gsTUFBTSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtBQUNwQyxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCLE1BQU0sSUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO0FBQ25DLFVBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9CO0dBQ0Y7Ozs7QUFJRCxVQUFRLEVBQUUsa0JBQWtCOztBQUU1QixpQkFBZSxFQUFFLHlCQUFTLFdBQVcsRUFBRSxPQUFPLEVBQUU7QUFDOUMsUUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVE7UUFDakMsS0FBSyxZQUFBO1FBQ0wsUUFBUSxZQUFBLENBQUM7O0FBRVgsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMvQyxXQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLGNBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7QUFFL0IsVUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVoRCxVQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7QUFDcEIsWUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLFlBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUN6QyxhQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNwQixhQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDL0IsWUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FDN0MsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsT0FBTyxFQUNaLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDakIsQ0FBQztBQUNGLFlBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFDckQsWUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUV6QyxZQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQztBQUN0RCxZQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQztBQUNyRSxhQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7QUFDakMsYUFBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO09BQzVDLE1BQU07QUFDTCxhQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDN0IsYUFBSyxDQUFDLElBQUksR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQzs7QUFFeEMsWUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUM7QUFDdEQsWUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUM7T0FDdEU7S0FDRjtHQUNGO0FBQ0Qsc0JBQW9CLEVBQUUsOEJBQVMsS0FBSyxFQUFFO0FBQ3BDLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNwRSxVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxVQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVDLGVBQU8sV0FBVyxDQUFDO09BQ3BCO0tBQ0Y7R0FDRjs7QUFFRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFM0QsUUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDekMsbUJBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsbUJBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsV0FBTyxvQkFBb0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztHQUM5RDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsSUFBSSxFQUFFO0FBQzFCLFFBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQzVCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNoQztHQUNGOztBQUVELE1BQUksRUFBRSxjQUFTLElBQUksRUFBRTtBQUNuQixRQUFJLEVBQUUsSUFBSSxZQUFZLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDOUIsVUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQy9COztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLFdBQU8sSUFBSSxDQUFDO0dBQ2I7O0FBRUQsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFO0FBQzNCLFFBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUN2QixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzdDLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQ0YsQ0FBQztBQUNGLFVBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQ2pDOztBQUVELFFBQUksTUFBTSxFQUFFO0FBQ1YsVUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsUUFBUSxFQUFFO0FBQy9CLFFBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ2hCLEtBQUssWUFBQTtRQUNMLFlBQVksWUFBQTtRQUNaLFdBQVcsWUFBQSxDQUFDOzs7QUFHZCxRQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO0FBQ3BCLFlBQU0sMkJBQWMsNEJBQTRCLENBQUMsQ0FBQztLQUNuRDs7O0FBR0QsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFOUIsUUFBSSxHQUFHLFlBQVksT0FBTyxFQUFFOztBQUUxQixXQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsWUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLGlCQUFXLEdBQUcsSUFBSSxDQUFDO0tBQ3BCLE1BQU07O0FBRUwsa0JBQVksR0FBRyxJQUFJLENBQUM7QUFDcEIsVUFBSSxLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDOztBQUU1QixZQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFdBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDekI7O0FBRUQsUUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7O0FBRXRDLFFBQUksQ0FBQyxXQUFXLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2pCO0FBQ0QsUUFBSSxZQUFZLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0tBQ2xCO0FBQ0QsUUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQ3JDOztBQUVELFdBQVMsRUFBRSxxQkFBVztBQUNwQixRQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakIsUUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO0FBQzFDLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDL0M7QUFDRCxXQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztHQUM1QjtBQUNELGNBQVksRUFBRSx3QkFBVztBQUN2QixXQUFPLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0dBQ2pDO0FBQ0QsYUFBVyxFQUFFLHVCQUFXO0FBQ3RCLFFBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7QUFDbkMsUUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdEIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN0RCxVQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTNCLFVBQUksS0FBSyxZQUFZLE9BQU8sRUFBRTtBQUM1QixZQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUMvQixNQUFNO0FBQ0wsWUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzdCLFlBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLFlBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO09BQy9CO0tBQ0Y7R0FDRjtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixXQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0dBQ2hDOztBQUVELFVBQVEsRUFBRSxrQkFBUyxPQUFPLEVBQUU7QUFDMUIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBLENBQUUsR0FBRyxFQUFFLENBQUM7O0FBRS9ELFFBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxZQUFZLE9BQU8sRUFBRTtBQUN2QyxhQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkIsTUFBTTtBQUNMLFVBQUksQ0FBQyxNQUFNLEVBQUU7O0FBRVgsWUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbkIsZ0JBQU0sMkJBQWMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztBQUNELFlBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztPQUNsQjtBQUNELGFBQU8sSUFBSSxDQUFDO0tBQ2I7R0FDRjs7QUFFRCxVQUFRLEVBQUUsb0JBQVc7QUFDbkIsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVk7UUFDaEUsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDOzs7QUFHakMsUUFBSSxJQUFJLFlBQVksT0FBTyxFQUFFO0FBQzNCLGFBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNuQixNQUFNO0FBQ0wsYUFBTyxJQUFJLENBQUM7S0FDYjtHQUNGOztBQUVELGFBQVcsRUFBRSxxQkFBUyxPQUFPLEVBQUU7QUFDN0IsUUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRTtBQUM3QixhQUFPLFNBQVMsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQ2xDLE1BQU07QUFDTCxhQUFPLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsR0FBRyxFQUFFO0FBQzFCLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7R0FDdEM7O0FBRUQsZUFBYSxFQUFFLHVCQUFTLEdBQUcsRUFBRTtBQUMzQixXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ3ZDOztBQUVELFdBQVMsRUFBRSxtQkFBUyxJQUFJLEVBQUU7QUFDeEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QixRQUFJLEdBQUcsRUFBRTtBQUNQLFNBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUNyQixhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELE9BQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELE9BQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE9BQUcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDOztBQUV2QixXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELGFBQVcsRUFBRSxxQkFBUyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtBQUNsRCxRQUFJLE1BQU0sR0FBRyxFQUFFO1FBQ2IsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDMUUsUUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsbUJBQWMsSUFBSSxDQUFDLFdBQVcsQ0FDbEQsQ0FBQyxDQUNGLHNDQUNGLENBQUM7O0FBRUosV0FBTztBQUNMLFlBQU0sRUFBRSxNQUFNO0FBQ2QsZ0JBQVUsRUFBRSxVQUFVO0FBQ3RCLFVBQUksRUFBRSxXQUFXO0FBQ2pCLGdCQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQ3pDLENBQUM7R0FDSDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7QUFDL0MsUUFBSSxPQUFPLEdBQUcsRUFBRTtRQUNkLFFBQVEsR0FBRyxFQUFFO1FBQ2IsS0FBSyxHQUFHLEVBQUU7UUFDVixHQUFHLEdBQUcsRUFBRTtRQUNSLFVBQVUsR0FBRyxDQUFDLE1BQU07UUFDcEIsS0FBSyxZQUFBLENBQUM7O0FBRVIsUUFBSSxVQUFVLEVBQUU7QUFDZCxZQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ2I7O0FBRUQsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLFdBQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUUvQixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsYUFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDckIsYUFBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDcEMsYUFBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDeEM7O0FBRUQsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7O0FBSTVCLFFBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtBQUN0QixhQUFPLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztBQUN6QyxhQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztLQUMvQzs7OztBQUlELFFBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUNsQixXQUFPLENBQUMsRUFBRSxFQUFFO0FBQ1YsV0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4QixZQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUVsQixVQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsV0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztPQUMxQjtBQUNELFVBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixhQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLGdCQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO09BQy9CO0tBQ0Y7O0FBRUQsUUFBSSxVQUFVLEVBQUU7QUFDZCxhQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xEOztBQUVELFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNqQixhQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzlDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakQsYUFBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4RDs7QUFFRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0tBQ3ZCO0FBQ0QsUUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO0FBQ3ZCLGFBQU8sQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxPQUFPLENBQUM7R0FDaEI7O0FBRUQsaUJBQWUsRUFBRSx5QkFBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUU7QUFDaEUsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzFELFdBQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzFELFdBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLFFBQUksV0FBVyxFQUFFO0FBQ2YsVUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QixZQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZCLGFBQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDOUIsTUFBTSxJQUFJLE1BQU0sRUFBRTtBQUNqQixZQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTTtBQUNMLGFBQU8sT0FBTyxDQUFDO0tBQ2hCO0dBQ0Y7Q0FDRixDQUFDOztBQUVGLENBQUMsWUFBVztBQUNWLE1BQU0sYUFBYSxHQUFHLENBQ3BCLG9CQUFvQixHQUNwQiwyQkFBMkIsR0FDM0IseUJBQXlCLEdBQ3pCLDhCQUE4QixHQUM5QixtQkFBbUIsR0FDbkIsZ0JBQWdCLEdBQ2hCLHVCQUF1QixHQUN2QiwwQkFBMEIsR0FDMUIsa0NBQWtDLEdBQ2xDLDBCQUEwQixHQUMxQixpQ0FBaUMsR0FDakMsNkJBQTZCLEdBQzdCLCtCQUErQixHQUMvQix5Q0FBeUMsR0FDekMsdUNBQXVDLEdBQ3ZDLGtCQUFrQixDQUFBLENBQ2xCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFYixNQUFNLGFBQWEsR0FBSSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsRUFBRSxBQUFDLENBQUM7O0FBRS9ELE9BQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDcEQsaUJBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7R0FDeEM7Q0FDRixDQUFBLEVBQUcsQ0FBQzs7Ozs7QUFLTCxrQkFBa0IsQ0FBQyw2QkFBNkIsR0FBRyxVQUFTLElBQUksRUFBRTtBQUNoRSxTQUNFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUN4Qyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3ZDO0NBQ0gsQ0FBQzs7QUFFRixTQUFTLFlBQVksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0FBQy9ELE1BQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUU7TUFDN0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDckIsTUFBSSxlQUFlLEVBQUU7QUFDbkIsT0FBRyxFQUFFLENBQUM7R0FDUDs7QUFFRCxTQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDbkIsU0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNwRDs7QUFFRCxNQUFJLGVBQWUsRUFBRTtBQUNuQixXQUFPLENBQ0wsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMvQixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUMvQyxJQUFJLENBQ0wsQ0FBQztHQUNILE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O3FCQUVjLGtCQUFrQiIsImZpbGUiOiJqYXZhc2NyaXB0LWNvbXBpbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NUElMRVJfUkVWSVNJT04sIFJFVklTSU9OX0NIQU5HRVMgfSBmcm9tICcuLi9iYXNlJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgQ29kZUdlbiBmcm9tICcuL2NvZGUtZ2VuJztcblxuZnVuY3Rpb24gTGl0ZXJhbCh2YWx1ZSkge1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIEphdmFTY3JpcHRDb21waWxlcigpIHt9XG5cbkphdmFTY3JpcHRDb21waWxlci5wcm90b3R5cGUgPSB7XG4gIC8vIFBVQkxJQyBBUEk6IFlvdSBjYW4gb3ZlcnJpZGUgdGhlc2UgbWV0aG9kcyBpbiBhIHN1YmNsYXNzIHRvIHByb3ZpZGVcbiAgLy8gYWx0ZXJuYXRpdmUgY29tcGlsZWQgZm9ybXMgZm9yIG5hbWUgbG9va3VwIGFuZCBidWZmZXJpbmcgc2VtYW50aWNzXG4gIG5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSAvKiwgIHR5cGUgKi8pIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbE5hbWVMb29rdXAocGFyZW50LCBuYW1lKTtcbiAgfSxcbiAgZGVwdGhlZExvb2t1cDogZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxvb2t1cCcpLFxuICAgICAgJyhkZXB0aHMsICcsXG4gICAgICBKU09OLnN0cmluZ2lmeShuYW1lKSxcbiAgICAgICcpJ1xuICAgIF07XG4gIH0sXG5cbiAgY29tcGlsZXJJbmZvOiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCByZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OLFxuICAgICAgdmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW3JldmlzaW9uXTtcbiAgICByZXR1cm4gW3JldmlzaW9uLCB2ZXJzaW9uc107XG4gIH0sXG5cbiAgYXBwZW5kVG9CdWZmZXI6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jYXRpb24sIGV4cGxpY2l0KSB7XG4gICAgLy8gRm9yY2UgYSBzb3VyY2UgYXMgdGhpcyBzaW1wbGlmaWVzIHRoZSBtZXJnZSBsb2dpYy5cbiAgICBpZiAoIWlzQXJyYXkoc291cmNlKSkge1xuICAgICAgc291cmNlID0gW3NvdXJjZV07XG4gICAgfVxuICAgIHNvdXJjZSA9IHRoaXMuc291cmNlLndyYXAoc291cmNlLCBsb2NhdGlvbik7XG5cbiAgICBpZiAodGhpcy5lbnZpcm9ubWVudC5pc1NpbXBsZSkge1xuICAgICAgcmV0dXJuIFsncmV0dXJuICcsIHNvdXJjZSwgJzsnXTtcbiAgICB9IGVsc2UgaWYgKGV4cGxpY2l0KSB7XG4gICAgICAvLyBUaGlzIGlzIGEgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIG9wZXJhdGlvbiBvY2N1cnMgYXMgYSBjaGlsZCBvZiBhbm90aGVyXG4gICAgICAvLyBjb25zdHJ1Y3QsIGdlbmVyYWxseSBicmFjZXMuIFdlIGhhdmUgdG8gZXhwbGljaXRseSBvdXRwdXQgdGhlc2UgYnVmZmVyXG4gICAgICAvLyBvcGVyYXRpb25zIHRvIGVuc3VyZSB0aGF0IHRoZSBlbWl0dGVkIGNvZGUgZ29lcyBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICAgIHJldHVybiBbJ2J1ZmZlciArPSAnLCBzb3VyY2UsICc7J107XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvdXJjZS5hcHBlbmRUb0J1ZmZlciA9IHRydWU7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cbiAgfSxcblxuICBpbml0aWFsaXplQnVmZmVyOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZWRTdHJpbmcoJycpO1xuICB9LFxuICAvLyBFTkQgUFVCTElDIEFQSVxuICBpbnRlcm5hbE5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSkge1xuICAgIHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCA9IHRydWU7XG4gICAgcmV0dXJuIFsnbG9va3VwUHJvcGVydHkoJywgcGFyZW50LCAnLCcsIEpTT04uc3RyaW5naWZ5KG5hbWUpLCAnKSddO1xuICB9LFxuXG4gIGxvb2t1cFByb3BlcnR5RnVuY3Rpb25Jc1VzZWQ6IGZhbHNlLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zLCBjb250ZXh0LCBhc09iamVjdCkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuc3RyaW5nUGFyYW1zID0gdGhpcy5vcHRpb25zLnN0cmluZ1BhcmFtcztcbiAgICB0aGlzLnRyYWNrSWRzID0gdGhpcy5vcHRpb25zLnRyYWNrSWRzO1xuICAgIHRoaXMucHJlY29tcGlsZSA9ICFhc09iamVjdDtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuZW52aXJvbm1lbnQubmFtZTtcbiAgICB0aGlzLmlzQ2hpbGQgPSAhIWNvbnRleHQ7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dCB8fCB7XG4gICAgICBkZWNvcmF0b3JzOiBbXSxcbiAgICAgIHByb2dyYW1zOiBbXSxcbiAgICAgIGVudmlyb25tZW50czogW11cbiAgICB9O1xuXG4gICAgdGhpcy5wcmVhbWJsZSgpO1xuXG4gICAgdGhpcy5zdGFja1Nsb3QgPSAwO1xuICAgIHRoaXMuc3RhY2tWYXJzID0gW107XG4gICAgdGhpcy5hbGlhc2VzID0ge307XG4gICAgdGhpcy5yZWdpc3RlcnMgPSB7IGxpc3Q6IFtdIH07XG4gICAgdGhpcy5oYXNoZXMgPSBbXTtcbiAgICB0aGlzLmNvbXBpbGVTdGFjayA9IFtdO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gW107XG5cbiAgICB0aGlzLmNvbXBpbGVDaGlsZHJlbihlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG5cbiAgICB0aGlzLnVzZURlcHRocyA9XG4gICAgICB0aGlzLnVzZURlcHRocyB8fFxuICAgICAgZW52aXJvbm1lbnQudXNlRGVwdGhzIHx8XG4gICAgICBlbnZpcm9ubWVudC51c2VEZWNvcmF0b3JzIHx8XG4gICAgICB0aGlzLm9wdGlvbnMuY29tcGF0O1xuICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGVudmlyb25tZW50LnVzZUJsb2NrUGFyYW1zO1xuXG4gICAgbGV0IG9wY29kZXMgPSBlbnZpcm9ubWVudC5vcGNvZGVzLFxuICAgICAgb3Bjb2RlLFxuICAgICAgZmlyc3RMb2MsXG4gICAgICBpLFxuICAgICAgbDtcblxuICAgIGZvciAoaSA9IDAsIGwgPSBvcGNvZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgb3Bjb2RlID0gb3Bjb2Rlc1tpXTtcblxuICAgICAgdGhpcy5zb3VyY2UuY3VycmVudExvY2F0aW9uID0gb3Bjb2RlLmxvYztcbiAgICAgIGZpcnN0TG9jID0gZmlyc3RMb2MgfHwgb3Bjb2RlLmxvYztcbiAgICAgIHRoaXNbb3Bjb2RlLm9wY29kZV0uYXBwbHkodGhpcywgb3Bjb2RlLmFyZ3MpO1xuICAgIH1cblxuICAgIC8vIEZsdXNoIGFueSB0cmFpbGluZyBjb250ZW50IHRoYXQgbWlnaHQgYmUgcGVuZGluZy5cbiAgICB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb24gPSBmaXJzdExvYztcbiAgICB0aGlzLnB1c2hTb3VyY2UoJycpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5zdGFja1Nsb3QgfHwgdGhpcy5pbmxpbmVTdGFjay5sZW5ndGggfHwgdGhpcy5jb21waWxlU3RhY2subGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDb21waWxlIGNvbXBsZXRlZCB3aXRoIGNvbnRlbnQgbGVmdCBvbiBzdGFjaycpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kZWNvcmF0b3JzLmlzRW1wdHkoKSkge1xuICAgICAgdGhpcy51c2VEZWNvcmF0b3JzID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoW1xuICAgICAgICAndmFyIGRlY29yYXRvcnMgPSBjb250YWluZXIuZGVjb3JhdG9ycywgJyxcbiAgICAgICAgdGhpcy5sb29rdXBQcm9wZXJ0eUZ1bmN0aW9uVmFyRGVjbGFyYXRpb24oKSxcbiAgICAgICAgJztcXG4nXG4gICAgICBdKTtcbiAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCdyZXR1cm4gZm47Jyk7XG5cbiAgICAgIGlmIChhc09iamVjdCkge1xuICAgICAgICB0aGlzLmRlY29yYXRvcnMgPSBGdW5jdGlvbi5hcHBseSh0aGlzLCBbXG4gICAgICAgICAgJ2ZuJyxcbiAgICAgICAgICAncHJvcHMnLFxuICAgICAgICAgICdjb250YWluZXInLFxuICAgICAgICAgICdkZXB0aDAnLFxuICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAnYmxvY2tQYXJhbXMnLFxuICAgICAgICAgICdkZXB0aHMnLFxuICAgICAgICAgIHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpXG4gICAgICAgIF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoXG4gICAgICAgICAgJ2Z1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBkZXB0aDAsIGRhdGEsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcXG4nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCd9XFxuJyk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycyA9IHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlY29yYXRvcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZuID0gdGhpcy5jcmVhdGVGdW5jdGlvbkNvbnRleHQoYXNPYmplY3QpO1xuICAgIGlmICghdGhpcy5pc0NoaWxkKSB7XG4gICAgICBsZXQgcmV0ID0ge1xuICAgICAgICBjb21waWxlcjogdGhpcy5jb21waWxlckluZm8oKSxcbiAgICAgICAgbWFpbjogZm5cbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLmRlY29yYXRvcnMpIHtcbiAgICAgICAgcmV0Lm1haW5fZCA9IHRoaXMuZGVjb3JhdG9yczsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjYW1lbGNhc2VcbiAgICAgICAgcmV0LnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgeyBwcm9ncmFtcywgZGVjb3JhdG9ycyB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgZm9yIChpID0gMCwgbCA9IHByb2dyYW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAocHJvZ3JhbXNbaV0pIHtcbiAgICAgICAgICByZXRbaV0gPSBwcm9ncmFtc1tpXTtcbiAgICAgICAgICBpZiAoZGVjb3JhdG9yc1tpXSkge1xuICAgICAgICAgICAgcmV0W2kgKyAnX2QnXSA9IGRlY29yYXRvcnNbaV07XG4gICAgICAgICAgICByZXQudXNlRGVjb3JhdG9ycyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LnVzZVBhcnRpYWwpIHtcbiAgICAgICAgcmV0LnVzZVBhcnRpYWwgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICAgIHJldC51c2VEYXRhID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgICByZXQudXNlRGVwdGhzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHJldC51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhdCkge1xuICAgICAgICByZXQuY29tcGF0ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhc09iamVjdCkge1xuICAgICAgICByZXQuY29tcGlsZXIgPSBKU09OLnN0cmluZ2lmeShyZXQuY29tcGlsZXIpO1xuXG4gICAgICAgIHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbiA9IHsgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAwIH0gfTtcbiAgICAgICAgcmV0ID0gdGhpcy5vYmplY3RMaXRlcmFsKHJldCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuc3JjTmFtZSkge1xuICAgICAgICAgIHJldCA9IHJldC50b1N0cmluZ1dpdGhTb3VyY2VNYXAoeyBmaWxlOiBvcHRpb25zLmRlc3ROYW1lIH0pO1xuICAgICAgICAgIHJldC5tYXAgPSByZXQubWFwICYmIHJldC5tYXAudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXQgPSByZXQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0LmNvbXBpbGVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZuO1xuICAgIH1cbiAgfSxcblxuICBwcmVhbWJsZTogZnVuY3Rpb24oKSB7XG4gICAgLy8gdHJhY2sgdGhlIGxhc3QgY29udGV4dCBwdXNoZWQgaW50byBwbGFjZSB0byBhbGxvdyBza2lwcGluZyB0aGVcbiAgICAvLyBnZXRDb250ZXh0IG9wY29kZSB3aGVuIGl0IHdvdWxkIGJlIGEgbm9vcFxuICAgIHRoaXMubGFzdENvbnRleHQgPSAwO1xuICAgIHRoaXMuc291cmNlID0gbmV3IENvZGVHZW4odGhpcy5vcHRpb25zLnNyY05hbWUpO1xuICAgIHRoaXMuZGVjb3JhdG9ycyA9IG5ldyBDb2RlR2VuKHRoaXMub3B0aW9ucy5zcmNOYW1lKTtcbiAgfSxcblxuICBjcmVhdGVGdW5jdGlvbkNvbnRleHQ6IGZ1bmN0aW9uKGFzT2JqZWN0KSB7XG4gICAgbGV0IHZhckRlY2xhcmF0aW9ucyA9ICcnO1xuXG4gICAgbGV0IGxvY2FscyA9IHRoaXMuc3RhY2tWYXJzLmNvbmNhdCh0aGlzLnJlZ2lzdGVycy5saXN0KTtcbiAgICBpZiAobG9jYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCAnICsgbG9jYWxzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgbWluaW1pemVyIGFsaWFzIG1hcHBpbmdzXG4gICAgLy9cbiAgICAvLyBXaGVuIHVzaW5nIHRydWUgU291cmNlTm9kZXMsIHRoaXMgd2lsbCB1cGRhdGUgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGdpdmVuIGFsaWFzXG4gICAgLy8gYXMgdGhlIHNvdXJjZSBub2RlcyBhcmUgcmV1c2VkIGluIHNpdHUuIEZvciB0aGUgbm9uLXNvdXJjZSBub2RlIGNvbXBpbGF0aW9uIG1vZGUsXG4gICAgLy8gYWxpYXNlcyB3aWxsIG5vdCBiZSB1c2VkLCBidXQgdGhpcyBjYXNlIGlzIGFscmVhZHkgYmVpbmcgcnVuIG9uIHRoZSBjbGllbnQgYW5kXG4gICAgLy8gd2UgYXJlbid0IGNvbmNlcm4gYWJvdXQgbWluaW1pemluZyB0aGUgdGVtcGxhdGUgc2l6ZS5cbiAgICBsZXQgYWxpYXNDb3VudCA9IDA7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGlhc2VzKS5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgIGxldCBub2RlID0gdGhpcy5hbGlhc2VzW2FsaWFzXTtcbiAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUucmVmZXJlbmNlQ291bnQgPiAxKSB7XG4gICAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCBhbGlhcycgKyArK2FsaWFzQ291bnQgKyAnPScgKyBhbGlhcztcbiAgICAgICAgbm9kZS5jaGlsZHJlblswXSA9ICdhbGlhcycgKyBhbGlhc0NvdW50O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCkge1xuICAgICAgdmFyRGVjbGFyYXRpb25zICs9ICcsICcgKyB0aGlzLmxvb2t1cFByb3BlcnR5RnVuY3Rpb25WYXJEZWNsYXJhdGlvbigpO1xuICAgIH1cblxuICAgIGxldCBwYXJhbXMgPSBbJ2NvbnRhaW5lcicsICdkZXB0aDAnLCAnaGVscGVycycsICdwYXJ0aWFscycsICdkYXRhJ107XG5cbiAgICBpZiAodGhpcy51c2VCbG9ja1BhcmFtcyB8fCB0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2RlcHRocycpO1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm0gYSBzZWNvbmQgcGFzcyBvdmVyIHRoZSBvdXRwdXQgdG8gbWVyZ2UgY29udGVudCB3aGVuIHBvc3NpYmxlXG4gICAgbGV0IHNvdXJjZSA9IHRoaXMubWVyZ2VTb3VyY2UodmFyRGVjbGFyYXRpb25zKTtcblxuICAgIGlmIChhc09iamVjdCkge1xuICAgICAgcGFyYW1zLnB1c2goc291cmNlKTtcblxuICAgICAgcmV0dXJuIEZ1bmN0aW9uLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZS53cmFwKFtcbiAgICAgICAgJ2Z1bmN0aW9uKCcsXG4gICAgICAgIHBhcmFtcy5qb2luKCcsJyksXG4gICAgICAgICcpIHtcXG4gICcsXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgJ30nXG4gICAgICBdKTtcbiAgICB9XG4gIH0sXG4gIG1lcmdlU291cmNlOiBmdW5jdGlvbih2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICBsZXQgaXNTaW1wbGUgPSB0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlLFxuICAgICAgYXBwZW5kT25seSA9ICF0aGlzLmZvcmNlQnVmZmVyLFxuICAgICAgYXBwZW5kRmlyc3QsXG4gICAgICBzb3VyY2VTZWVuLFxuICAgICAgYnVmZmVyU3RhcnQsXG4gICAgICBidWZmZXJFbmQ7XG4gICAgdGhpcy5zb3VyY2UuZWFjaChsaW5lID0+IHtcbiAgICAgIGlmIChsaW5lLmFwcGVuZFRvQnVmZmVyKSB7XG4gICAgICAgIGlmIChidWZmZXJTdGFydCkge1xuICAgICAgICAgIGxpbmUucHJlcGVuZCgnICArICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gbGluZTtcbiAgICAgICAgfVxuICAgICAgICBidWZmZXJFbmQgPSBsaW5lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGJ1ZmZlclN0YXJ0KSB7XG4gICAgICAgICAgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgICAgICBhcHBlbmRGaXJzdCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlclN0YXJ0LnByZXBlbmQoJ2J1ZmZlciArPSAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnVmZmVyRW5kLmFkZCgnOycpO1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gYnVmZmVyRW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgc291cmNlU2VlbiA9IHRydWU7XG4gICAgICAgIGlmICghaXNTaW1wbGUpIHtcbiAgICAgICAgICBhcHBlbmRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhcHBlbmRPbmx5KSB7XG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2UgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnB1c2goJ3JldHVybiBcIlwiOycpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXJEZWNsYXJhdGlvbnMgKz1cbiAgICAgICAgJywgYnVmZmVyID0gJyArIChhcHBlbmRGaXJzdCA/ICcnIDogdGhpcy5pbml0aWFsaXplQnVmZmVyKCkpO1xuXG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuIGJ1ZmZlciArICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNvdXJjZS5wdXNoKCdyZXR1cm4gYnVmZmVyOycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICAgIHRoaXMuc291cmNlLnByZXBlbmQoXG4gICAgICAgICd2YXIgJyArIHZhckRlY2xhcmF0aW9ucy5zdWJzdHJpbmcoMikgKyAoYXBwZW5kRmlyc3QgPyAnJyA6ICc7XFxuJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc291cmNlLm1lcmdlKCk7XG4gIH0sXG5cbiAgbG9va3VwUHJvcGVydHlGdW5jdGlvblZhckRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYFxuICAgICAgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHkgfHwgZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gcGFyZW50W3Byb3BlcnR5TmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICBgLnRyaW0oKTtcbiAgfSxcblxuICAvLyBbYmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gT24gc3RhY2ssIGFmdGVyOiByZXR1cm4gdmFsdWUgb2YgYmxvY2tIZWxwZXJNaXNzaW5nXG4gIC8vXG4gIC8vIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3Bjb2RlIGlzIHRvIHRha2UgYSBibG9jayBvZiB0aGUgZm9ybVxuICAvLyBge3sjdGhpcy5mb299fS4uLnt7L3RoaXMuZm9vfX1gLCByZXNvbHZlIHRoZSB2YWx1ZSBvZiBgZm9vYCwgYW5kXG4gIC8vIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIHdpdGggdGhlIHJlc3VsdCBvZiBwcm9wZXJseVxuICAvLyBpbnZva2luZyBibG9ja0hlbHBlck1pc3NpbmcuXG4gIGJsb2NrVmFsdWU6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBsZXQgYmxvY2tIZWxwZXJNaXNzaW5nID0gdGhpcy5hbGlhc2FibGUoXG4gICAgICAgICdjb250YWluZXIuaG9va3MuYmxvY2tIZWxwZXJNaXNzaW5nJ1xuICAgICAgKSxcbiAgICAgIHBhcmFtcyA9IFt0aGlzLmNvbnRleHROYW1lKDApXTtcbiAgICB0aGlzLnNldHVwSGVscGVyQXJncyhuYW1lLCAwLCBwYXJhbXMpO1xuXG4gICAgbGV0IGJsb2NrTmFtZSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICBwYXJhbXMuc3BsaWNlKDEsIDAsIGJsb2NrTmFtZSk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYW1iaWd1b3VzQmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gQ29tcGlsZXIgdmFsdWUsIGJlZm9yZTogbGFzdEhlbHBlcj12YWx1ZSBvZiBsYXN0IGZvdW5kIGhlbHBlciwgaWYgYW55XG4gIC8vIE9uIHN0YWNrLCBhZnRlciwgaWYgbm8gbGFzdEhlbHBlcjogc2FtZSBhcyBbYmxvY2tWYWx1ZV1cbiAgLy8gT24gc3RhY2ssIGFmdGVyLCBpZiBsYXN0SGVscGVyOiB2YWx1ZVxuICBhbWJpZ3VvdXNCbG9ja1ZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICAvLyBXZSdyZSBiZWluZyBhIGJpdCBjaGVla3kgYW5kIHJldXNpbmcgdGhlIG9wdGlvbnMgdmFsdWUgZnJvbSB0aGUgcHJpb3IgZXhlY1xuICAgIGxldCBibG9ja0hlbHBlck1pc3NpbmcgPSB0aGlzLmFsaWFzYWJsZShcbiAgICAgICAgJ2NvbnRhaW5lci5ob29rcy5ibG9ja0hlbHBlck1pc3NpbmcnXG4gICAgICApLFxuICAgICAgcGFyYW1zID0gW3RoaXMuY29udGV4dE5hbWUoMCldO1xuICAgIHRoaXMuc2V0dXBIZWxwZXJBcmdzKCcnLCAwLCBwYXJhbXMsIHRydWUpO1xuXG4gICAgdGhpcy5mbHVzaElubGluZSgpO1xuXG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLnRvcFN0YWNrKCk7XG4gICAgcGFyYW1zLnNwbGljZSgxLCAwLCBjdXJyZW50KTtcblxuICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAnaWYgKCEnLFxuICAgICAgdGhpcy5sYXN0SGVscGVyLFxuICAgICAgJykgeyAnLFxuICAgICAgY3VycmVudCxcbiAgICAgICcgPSAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpLFxuICAgICAgJ30nXG4gICAgXSk7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZENvbnRlbnRdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBBcHBlbmRzIHRoZSBzdHJpbmcgdmFsdWUgb2YgYGNvbnRlbnRgIHRvIHRoZSBjdXJyZW50IGJ1ZmZlclxuICBhcHBlbmRDb250ZW50OiBmdW5jdGlvbihjb250ZW50KSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NvbnRlbnQpIHtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLnBlbmRpbmdDb250ZW50ICsgY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb24gPSB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nQ29udGVudCA9IGNvbnRlbnQ7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBDb2VyY2VzIGB2YWx1ZWAgdG8gYSBTdHJpbmcgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLlxuICAvL1xuICAvLyBJZiBgdmFsdWVgIGlzIHRydXRoeSwgb3IgMCwgaXQgaXMgY29lcmNlZCBpbnRvIGEgc3RyaW5nIGFuZCBhcHBlbmRlZFxuICAvLyBPdGhlcndpc2UsIHRoZSBlbXB0eSBzdHJpbmcgaXMgYXBwZW5kZWRcbiAgYXBwZW5kOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc0lubGluZSgpKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTdGFjayhjdXJyZW50ID0+IFsnICE9IG51bGwgPyAnLCBjdXJyZW50LCAnIDogXCJcIiddKTtcblxuICAgICAgdGhpcy5wdXNoU291cmNlKHRoaXMuYXBwZW5kVG9CdWZmZXIodGhpcy5wb3BTdGFjaygpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBsb2NhbCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICdpZiAoJyxcbiAgICAgICAgbG9jYWwsXG4gICAgICAgICcgIT0gbnVsbCkgeyAnLFxuICAgICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKGxvY2FsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAnIH0nXG4gICAgICBdKTtcbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlKSB7XG4gICAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICAgJ2Vsc2UgeyAnLFxuICAgICAgICAgIHRoaXMuYXBwZW5kVG9CdWZmZXIoXCInJ1wiLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAgICcgfSdcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vIFthcHBlbmRFc2NhcGVkXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIEVzY2FwZSBgdmFsdWVgIGFuZCBhcHBlbmQgaXQgdG8gdGhlIGJ1ZmZlclxuICBhcHBlbmRFc2NhcGVkOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLnB1c2hTb3VyY2UoXG4gICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKFtcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5lc2NhcGVFeHByZXNzaW9uJyksXG4gICAgICAgICcoJyxcbiAgICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgICAnKSdcbiAgICAgIF0pXG4gICAgKTtcbiAgfSxcblxuICAvLyBbZ2V0Q29udGV4dF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vIENvbXBpbGVyIHZhbHVlLCBhZnRlcjogbGFzdENvbnRleHQ9ZGVwdGhcbiAgLy9cbiAgLy8gU2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGxhc3RDb250ZXh0YCBjb21waWxlciB2YWx1ZSB0byB0aGUgZGVwdGhcbiAgZ2V0Q29udGV4dDogZnVuY3Rpb24oZGVwdGgpIHtcbiAgICB0aGlzLmxhc3RDb250ZXh0ID0gZGVwdGg7XG4gIH0sXG5cbiAgLy8gW3B1c2hDb250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dCwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBvbnRvIHRoZSBzdGFjay5cbiAgcHVzaENvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLmNvbnRleHROYW1lKHRoaXMubGFzdENvbnRleHQpKTtcbiAgfSxcblxuICAvLyBbbG9va3VwT25Db250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dFtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgbmFtZWAgb24gdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBPbkNvbnRleHQ6IGZ1bmN0aW9uKHBhcnRzLCBmYWxzeSwgc3RyaWN0LCBzY29wZWQpIHtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICBpZiAoIXNjb3BlZCAmJiB0aGlzLm9wdGlvbnMuY29tcGF0ICYmICF0aGlzLmxhc3RDb250ZXh0KSB7XG4gICAgICAvLyBUaGUgZGVwdGhlZCBxdWVyeSBpcyBleHBlY3RlZCB0byBoYW5kbGUgdGhlIHVuZGVmaW5lZCBsb2dpYyBmb3IgdGhlIHJvb3QgbGV2ZWwgdGhhdFxuICAgICAgLy8gaXMgaW1wbGVtZW50ZWQgYmVsb3csIHNvIHdlIGV2YWx1YXRlIHRoYXQgZGlyZWN0bHkgaW4gY29tcGF0IG1vZGVcbiAgICAgIHRoaXMucHVzaCh0aGlzLmRlcHRoZWRMb29rdXAocGFydHNbaSsrXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2hDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KTtcbiAgfSxcblxuICAvLyBbbG9va3VwQmxvY2tQYXJhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogYmxvY2tQYXJhbVtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgcGFydHNgIG9uIHRoZSBnaXZlbiBibG9jayBwYXJhbSBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBCbG9ja1BhcmFtOiBmdW5jdGlvbihibG9ja1BhcmFtSWQsIHBhcnRzKSB7XG4gICAgdGhpcy51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG5cbiAgICB0aGlzLnB1c2goWydibG9ja1BhcmFtc1snLCBibG9ja1BhcmFtSWRbMF0sICddWycsIGJsb2NrUGFyYW1JZFsxXSwgJ10nXSk7XG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCAxKTtcbiAgfSxcblxuICAvLyBbbG9va3VwRGF0YV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogZGF0YSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggdGhlIGRhdGEgbG9va3VwIG9wZXJhdG9yXG4gIGxvb2t1cERhdGE6IGZ1bmN0aW9uKGRlcHRoLCBwYXJ0cywgc3RyaWN0KSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCdkYXRhJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnY29udGFpbmVyLmRhdGEoZGF0YSwgJyArIGRlcHRoICsgJyknKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc29sdmVQYXRoKCdkYXRhJywgcGFydHMsIDAsIHRydWUsIHN0cmljdCk7XG4gIH0sXG5cbiAgcmVzb2x2ZVBhdGg6IGZ1bmN0aW9uKHR5cGUsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zdHJpY3QgfHwgdGhpcy5vcHRpb25zLmFzc3VtZU9iamVjdHMpIHtcbiAgICAgIHRoaXMucHVzaChcbiAgICAgICAgc3RyaWN0TG9va3VwKHRoaXMub3B0aW9ucy5zdHJpY3QgJiYgc3RyaWN0LCB0aGlzLCBwYXJ0cywgaSwgdHlwZSlcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGxlbiA9IHBhcnRzLmxlbmd0aDtcbiAgICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICAgIHRoaXMucmVwbGFjZVN0YWNrKGN1cnJlbnQgPT4ge1xuICAgICAgICBsZXQgbG9va3VwID0gdGhpcy5uYW1lTG9va3VwKGN1cnJlbnQsIHBhcnRzW2ldLCB0eXBlKTtcbiAgICAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB6ZXJvIGFuZCBmYWxzZSBhcmUgaGFuZGxlZCBwcm9wZXJseSBpZiB0aGUgY29udGV4dCAoZmFsc3kgZmxhZylcbiAgICAgICAgLy8gbmVlZHMgdG8gaGF2ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgdGhlc2UgdmFsdWVzLlxuICAgICAgICBpZiAoIWZhbHN5KSB7XG4gICAgICAgICAgcmV0dXJuIFsnICE9IG51bGwgPyAnLCBsb29rdXAsICcgOiAnLCBjdXJyZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2Ugd2UgY2FuIHVzZSBnZW5lcmljIGZhbHN5IGhhbmRsaW5nXG4gICAgICAgICAgcmV0dXJuIFsnICYmICcsIGxvb2t1cF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICB9XG4gIH0sXG5cbiAgLy8gW3Jlc29sdmVQb3NzaWJsZUxhbWJkYV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc29sdmVkIHZhbHVlLCAuLi5cbiAgLy9cbiAgLy8gSWYgdGhlIGB2YWx1ZWAgaXMgYSBsYW1iZGEsIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIGJ5XG4gIC8vIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGxhbWJkYVxuICByZXNvbHZlUG9zc2libGVMYW1iZGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaChbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxhbWJkYScpLFxuICAgICAgJygnLFxuICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgJywgJyxcbiAgICAgIHRoaXMuY29udGV4dE5hbWUoMCksXG4gICAgICAnKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbcHVzaFN0cmluZ1BhcmFtXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBzdHJpbmcsIGN1cnJlbnRDb250ZXh0LCAuLi5cbiAgLy9cbiAgLy8gVGhpcyBvcGNvZGUgaXMgZGVzaWduZWQgZm9yIHVzZSBpbiBzdHJpbmcgbW9kZSwgd2hpY2hcbiAgLy8gcHJvdmlkZXMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIHBhcmFtZXRlciBhbG9uZyB3aXRoIGl0c1xuICAvLyBkZXB0aCByYXRoZXIgdGhhbiByZXNvbHZpbmcgaXQgaW1tZWRpYXRlbHkuXG4gIHB1c2hTdHJpbmdQYXJhbTogZnVuY3Rpb24oc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy5wdXNoQ29udGV4dCgpO1xuICAgIHRoaXMucHVzaFN0cmluZyh0eXBlKTtcblxuICAgIC8vIElmIGl0J3MgYSBzdWJleHByZXNzaW9uLCB0aGUgc3RyaW5nIHJlc3VsdFxuICAgIC8vIHdpbGwgYmUgcHVzaGVkIGFmdGVyIHRoaXMgb3Bjb2RlLlxuICAgIGlmICh0eXBlICE9PSAnU3ViRXhwcmVzc2lvbicpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnB1c2hTdHJpbmcoc3RyaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBlbXB0eUhhc2g6IGZ1bmN0aW9uKG9taXRFbXB0eSkge1xuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hJZHNcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hDb250ZXh0c1xuICAgICAgdGhpcy5wdXNoKCd7fScpOyAvLyBoYXNoVHlwZXNcbiAgICB9XG4gICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG9taXRFbXB0eSA/ICd1bmRlZmluZWQnIDogJ3t9Jyk7XG4gIH0sXG4gIHB1c2hIYXNoOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hlcy5wdXNoKHRoaXMuaGFzaCk7XG4gICAgfVxuICAgIHRoaXMuaGFzaCA9IHsgdmFsdWVzOiB7fSwgdHlwZXM6IFtdLCBjb250ZXh0czogW10sIGlkczogW10gfTtcbiAgfSxcbiAgcG9wSGFzaDogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmhhc2g7XG4gICAgdGhpcy5oYXNoID0gdGhpcy5oYXNoZXMucG9wKCk7XG5cbiAgICBpZiAodGhpcy50cmFja0lkcykge1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLmlkcykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIHRoaXMucHVzaCh0aGlzLm9iamVjdExpdGVyYWwoaGFzaC5jb250ZXh0cykpO1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnR5cGVzKSk7XG4gICAgfVxuXG4gICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnZhbHVlcykpO1xuICB9LFxuXG4gIC8vIFtwdXNoU3RyaW5nXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBxdW90ZWRTdHJpbmcoc3RyaW5nKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBxdW90ZWQgdmVyc2lvbiBvZiBgc3RyaW5nYCBvbnRvIHRoZSBzdGFja1xuICBwdXNoU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodGhpcy5xdW90ZWRTdHJpbmcoc3RyaW5nKSk7XG4gIH0sXG5cbiAgLy8gW3B1c2hMaXRlcmFsXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiB2YWx1ZSwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyBhIHZhbHVlIG9udG8gdGhlIHN0YWNrLiBUaGlzIG9wZXJhdGlvbiBwcmV2ZW50c1xuICAvLyB0aGUgY29tcGlsZXIgZnJvbSBjcmVhdGluZyBhIHRlbXBvcmFyeSB2YXJpYWJsZSB0byBob2xkXG4gIC8vIGl0LlxuICBwdXNoTGl0ZXJhbDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodmFsdWUpO1xuICB9LFxuXG4gIC8vIFtwdXNoUHJvZ3JhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcHJvZ3JhbShndWlkKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBwcm9ncmFtIGV4cHJlc3Npb24gb250byB0aGUgc3RhY2suIFRoaXMgdGFrZXNcbiAgLy8gYSBjb21waWxlLXRpbWUgZ3VpZCBhbmQgY29udmVydHMgaXQgaW50byBhIHJ1bnRpbWUtYWNjZXNzaWJsZVxuICAvLyBleHByZXNzaW9uLlxuICBwdXNoUHJvZ3JhbTogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGlmIChndWlkICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLnByb2dyYW1FeHByZXNzaW9uKGd1aWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG51bGwpO1xuICAgIH1cbiAgfSxcblxuICAvLyBbcmVnaXN0ZXJEZWNvcmF0b3JdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIFBvcHMgb2ZmIHRoZSBkZWNvcmF0b3IncyBwYXJhbWV0ZXJzLCBpbnZva2VzIHRoZSBkZWNvcmF0b3IsXG4gIC8vIGFuZCBpbnNlcnRzIHRoZSBkZWNvcmF0b3IgaW50byB0aGUgZGVjb3JhdG9ycyBsaXN0LlxuICByZWdpc3RlckRlY29yYXRvcihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgZm91bmREZWNvcmF0b3IgPSB0aGlzLm5hbWVMb29rdXAoJ2RlY29yYXRvcnMnLCBuYW1lLCAnZGVjb3JhdG9yJyksXG4gICAgICBvcHRpb25zID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplKTtcblxuICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKFtcbiAgICAgICdmbiA9ICcsXG4gICAgICB0aGlzLmRlY29yYXRvcnMuZnVuY3Rpb25DYWxsKGZvdW5kRGVjb3JhdG9yLCAnJywgW1xuICAgICAgICAnZm4nLFxuICAgICAgICAncHJvcHMnLFxuICAgICAgICAnY29udGFpbmVyJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgXSksXG4gICAgICAnIHx8IGZuOydcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlSGVscGVyXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBoZWxwZXIgaW52b2NhdGlvblxuICAvL1xuICAvLyBQb3BzIG9mZiB0aGUgaGVscGVyJ3MgcGFyYW1ldGVycywgaW52b2tlcyB0aGUgaGVscGVyLFxuICAvLyBhbmQgcHVzaGVzIHRoZSBoZWxwZXIncyByZXR1cm4gdmFsdWUgb250byB0aGUgc3RhY2suXG4gIC8vXG4gIC8vIElmIHRoZSBoZWxwZXIgaXMgbm90IGZvdW5kLCBgaGVscGVyTWlzc2luZ2AgaXMgY2FsbGVkLlxuICBpbnZva2VIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgaXNTaW1wbGUpIHtcbiAgICBsZXQgbm9uSGVscGVyID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuXG4gICAgbGV0IHBvc3NpYmxlRnVuY3Rpb25DYWxscyA9IFtdO1xuXG4gICAgaWYgKGlzU2ltcGxlKSB7XG4gICAgICAvLyBkaXJlY3QgY2FsbCB0byBoZWxwZXJcbiAgICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKGhlbHBlci5uYW1lKTtcbiAgICB9XG4gICAgLy8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gdGhlIGlucHV0IG9iamVjdFxuICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKG5vbkhlbHBlcik7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICBwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMucHVzaChcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5ob29rcy5oZWxwZXJNaXNzaW5nJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGZ1bmN0aW9uTG9va3VwQ29kZSA9IFtcbiAgICAgICcoJyxcbiAgICAgIHRoaXMuaXRlbXNTZXBhcmF0ZWRCeShwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMsICd8fCcpLFxuICAgICAgJyknXG4gICAgXTtcbiAgICBsZXQgZnVuY3Rpb25DYWxsID0gdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKFxuICAgICAgZnVuY3Rpb25Mb29rdXBDb2RlLFxuICAgICAgJ2NhbGwnLFxuICAgICAgaGVscGVyLmNhbGxQYXJhbXNcbiAgICApO1xuICAgIHRoaXMucHVzaChmdW5jdGlvbkNhbGwpO1xuICB9LFxuXG4gIGl0ZW1zU2VwYXJhdGVkQnk6IGZ1bmN0aW9uKGl0ZW1zLCBzZXBhcmF0b3IpIHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgcmVzdWx0LnB1c2goaXRlbXNbMF0pO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHNlcGFyYXRvciwgaXRlbXNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuICAvLyBbaW52b2tlS25vd25IZWxwZXJdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIGludmVyc2UsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcmVzdWx0IG9mIGhlbHBlciBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWQgd2hlbiB0aGUgaGVscGVyIGlzIGtub3duIHRvIGV4aXN0LFxuICAvLyBzbyBhIGBoZWxwZXJNaXNzaW5nYCBmYWxsYmFjayBpcyBub3QgcmVxdWlyZWQuXG4gIGludm9rZUtub3duSGVscGVyOiBmdW5jdGlvbihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuICAgIHRoaXMucHVzaCh0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoaGVscGVyLm5hbWUsICdjYWxsJywgaGVscGVyLmNhbGxQYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbaW52b2tlQW1iaWd1b3VzXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBkaXNhbWJpZ3VhdGlvblxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBpcyB1c2VkIHdoZW4gYW4gZXhwcmVzc2lvbiBsaWtlIGB7e2Zvb319YFxuICAvLyBpcyBwcm92aWRlZCwgYnV0IHdlIGRvbid0IGtub3cgYXQgY29tcGlsZS10aW1lIHdoZXRoZXIgaXRcbiAgLy8gaXMgYSBoZWxwZXIgb3IgYSBwYXRoLlxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBlbWl0cyBtb3JlIGNvZGUgdGhhbiB0aGUgb3RoZXIgb3B0aW9ucyxcbiAgLy8gYW5kIGNhbiBiZSBhdm9pZGVkIGJ5IHBhc3NpbmcgdGhlIGBrbm93bkhlbHBlcnNgIGFuZFxuICAvLyBga25vd25IZWxwZXJzT25seWAgZmxhZ3MgYXQgY29tcGlsZS10aW1lLlxuICBpbnZva2VBbWJpZ3VvdXM6IGZ1bmN0aW9uKG5hbWUsIGhlbHBlckNhbGwpIHtcbiAgICB0aGlzLnVzZVJlZ2lzdGVyKCdoZWxwZXInKTtcblxuICAgIGxldCBub25IZWxwZXIgPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICB0aGlzLmVtcHR5SGFzaCgpO1xuICAgIGxldCBoZWxwZXIgPSB0aGlzLnNldHVwSGVscGVyKDAsIG5hbWUsIGhlbHBlckNhbGwpO1xuXG4gICAgbGV0IGhlbHBlck5hbWUgPSAodGhpcy5sYXN0SGVscGVyID0gdGhpcy5uYW1lTG9va3VwKFxuICAgICAgJ2hlbHBlcnMnLFxuICAgICAgbmFtZSxcbiAgICAgICdoZWxwZXInXG4gICAgKSk7XG5cbiAgICBsZXQgbG9va3VwID0gWycoJywgJyhoZWxwZXIgPSAnLCBoZWxwZXJOYW1lLCAnIHx8ICcsIG5vbkhlbHBlciwgJyknXTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIGxvb2t1cFswXSA9ICcoaGVscGVyID0gJztcbiAgICAgIGxvb2t1cC5wdXNoKFxuICAgICAgICAnICE9IG51bGwgPyBoZWxwZXIgOiAnLFxuICAgICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmhvb2tzLmhlbHBlck1pc3NpbmcnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goW1xuICAgICAgJygnLFxuICAgICAgbG9va3VwLFxuICAgICAgaGVscGVyLnBhcmFtc0luaXQgPyBbJyksKCcsIGhlbHBlci5wYXJhbXNJbml0XSA6IFtdLFxuICAgICAgJyksJyxcbiAgICAgICcodHlwZW9mIGhlbHBlciA9PT0gJyxcbiAgICAgIHRoaXMuYWxpYXNhYmxlKCdcImZ1bmN0aW9uXCInKSxcbiAgICAgICcgPyAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdoZWxwZXInLCAnY2FsbCcsIGhlbHBlci5jYWxsUGFyYW1zKSxcbiAgICAgICcgOiBoZWxwZXIpKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlUGFydGlhbF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogY29udGV4dCwgLi4uXG4gIC8vIE9uIHN0YWNrIGFmdGVyOiByZXN1bHQgb2YgcGFydGlhbCBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIHBvcHMgb2ZmIGEgY29udGV4dCwgaW52b2tlcyBhIHBhcnRpYWwgd2l0aCB0aGF0IGNvbnRleHQsXG4gIC8vIGFuZCBwdXNoZXMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2NhdGlvbiBiYWNrLlxuICBpbnZva2VQYXJ0aWFsOiBmdW5jdGlvbihpc0R5bmFtaWMsIG5hbWUsIGluZGVudCkge1xuICAgIGxldCBwYXJhbXMgPSBbXSxcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnNldHVwUGFyYW1zKG5hbWUsIDEsIHBhcmFtcyk7XG5cbiAgICBpZiAoaXNEeW5hbWljKSB7XG4gICAgICBuYW1lID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgZGVsZXRlIG9wdGlvbnMubmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50KSB7XG4gICAgICBvcHRpb25zLmluZGVudCA9IEpTT04uc3RyaW5naWZ5KGluZGVudCk7XG4gICAgfVxuICAgIG9wdGlvbnMuaGVscGVycyA9ICdoZWxwZXJzJztcbiAgICBvcHRpb25zLnBhcnRpYWxzID0gJ3BhcnRpYWxzJztcbiAgICBvcHRpb25zLmRlY29yYXRvcnMgPSAnY29udGFpbmVyLmRlY29yYXRvcnMnO1xuXG4gICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgIHBhcmFtcy51bnNoaWZ0KHRoaXMubmFtZUxvb2t1cCgncGFydGlhbHMnLCBuYW1lLCAncGFydGlhbCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zLnVuc2hpZnQobmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb21wYXQpIHtcbiAgICAgIG9wdGlvbnMuZGVwdGhzID0gJ2RlcHRocyc7XG4gICAgfVxuICAgIG9wdGlvbnMgPSB0aGlzLm9iamVjdExpdGVyYWwob3B0aW9ucyk7XG4gICAgcGFyYW1zLnB1c2gob3B0aW9ucyk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdjb250YWluZXIuaW52b2tlUGFydGlhbCcsICcnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYXNzaWduVG9IYXNoXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uLCBoYXNoLCAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiAuLi4sIGhhc2gsIC4uLlxuICAvL1xuICAvLyBQb3BzIGEgdmFsdWUgb2ZmIHRoZSBzdGFjayBhbmQgYXNzaWducyBpdCB0byB0aGUgY3VycmVudCBoYXNoXG4gIGFzc2lnblRvSGFzaDogZnVuY3Rpb24oa2V5KSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgY29udGV4dCxcbiAgICAgIHR5cGUsXG4gICAgICBpZDtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBpZCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0eXBlID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgY29udGV4dCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaGFzaCA9IHRoaXMuaGFzaDtcbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgaGFzaC5jb250ZXh0c1trZXldID0gY29udGV4dDtcbiAgICB9XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIGhhc2gudHlwZXNba2V5XSA9IHR5cGU7XG4gICAgfVxuICAgIGlmIChpZCkge1xuICAgICAgaGFzaC5pZHNba2V5XSA9IGlkO1xuICAgIH1cbiAgICBoYXNoLnZhbHVlc1trZXldID0gdmFsdWU7XG4gIH0sXG5cbiAgcHVzaElkOiBmdW5jdGlvbih0eXBlLCBuYW1lLCBjaGlsZCkge1xuICAgIGlmICh0eXBlID09PSAnQmxvY2tQYXJhbScpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChcbiAgICAgICAgJ2Jsb2NrUGFyYW1zWycgK1xuICAgICAgICAgIG5hbWVbMF0gK1xuICAgICAgICAgICddLnBhdGhbJyArXG4gICAgICAgICAgbmFtZVsxXSArXG4gICAgICAgICAgJ10nICtcbiAgICAgICAgICAoY2hpbGQgPyAnICsgJyArIEpTT04uc3RyaW5naWZ5KCcuJyArIGNoaWxkKSA6ICcnKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQYXRoRXhwcmVzc2lvbicpIHtcbiAgICAgIHRoaXMucHVzaFN0cmluZyhuYW1lKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdTdWJFeHByZXNzaW9uJykge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnbnVsbCcpO1xuICAgIH1cbiAgfSxcblxuICAvLyBIRUxQRVJTXG5cbiAgY29tcGlsZXI6IEphdmFTY3JpcHRDb21waWxlcixcblxuICBjb21waWxlQ2hpbGRyZW46IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zKSB7XG4gICAgbGV0IGNoaWxkcmVuID0gZW52aXJvbm1lbnQuY2hpbGRyZW4sXG4gICAgICBjaGlsZCxcbiAgICAgIGNvbXBpbGVyO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBjb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuXG4gICAgICBsZXQgZXhpc3RpbmcgPSB0aGlzLm1hdGNoRXhpc3RpbmdQcm9ncmFtKGNoaWxkKTtcblxuICAgICAgaWYgKGV4aXN0aW5nID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnByb2dyYW1zLnB1c2goJycpOyAvLyBQbGFjZWhvbGRlciB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzIGZvciBuZXN0ZWQgY2hpbGRyZW5cbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5jb250ZXh0LnByb2dyYW1zLmxlbmd0aDtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGluZGV4O1xuICAgICAgICB0aGlzLmNvbnRleHQucHJvZ3JhbXNbaW5kZXhdID0gY29tcGlsZXIuY29tcGlsZShcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRoaXMuY29udGV4dCxcbiAgICAgICAgICAhdGhpcy5wcmVjb21waWxlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kZWNvcmF0b3JzW2luZGV4XSA9IGNvbXBpbGVyLmRlY29yYXRvcnM7XG4gICAgICAgIHRoaXMuY29udGV4dC5lbnZpcm9ubWVudHNbaW5kZXhdID0gY2hpbGQ7XG5cbiAgICAgICAgdGhpcy51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocyB8fCBjb21waWxlci51c2VEZXB0aHM7XG4gICAgICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGNvbXBpbGVyLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgICBjaGlsZC51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocztcbiAgICAgICAgY2hpbGQudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBleGlzdGluZy5pbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGV4aXN0aW5nLmluZGV4O1xuXG4gICAgICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgZXhpc3RpbmcudXNlRGVwdGhzO1xuICAgICAgICB0aGlzLnVzZUJsb2NrUGFyYW1zID0gdGhpcy51c2VCbG9ja1BhcmFtcyB8fCBleGlzdGluZy51c2VCbG9ja1BhcmFtcztcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1hdGNoRXhpc3RpbmdQcm9ncmFtOiBmdW5jdGlvbihjaGlsZCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgZW52aXJvbm1lbnQgPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzW2ldO1xuICAgICAgaWYgKGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmVxdWFscyhjaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIGVudmlyb25tZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwcm9ncmFtRXhwcmVzc2lvbjogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGxldCBjaGlsZCA9IHRoaXMuZW52aXJvbm1lbnQuY2hpbGRyZW5bZ3VpZF0sXG4gICAgICBwcm9ncmFtUGFyYW1zID0gW2NoaWxkLmluZGV4LCAnZGF0YScsIGNoaWxkLmJsb2NrUGFyYW1zXTtcblxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IHRoaXMudXNlRGVwdGhzKSB7XG4gICAgICBwcm9ncmFtUGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcHJvZ3JhbVBhcmFtcy5wdXNoKCdkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NvbnRhaW5lci5wcm9ncmFtKCcgKyBwcm9ncmFtUGFyYW1zLmpvaW4oJywgJykgKyAnKSc7XG4gIH0sXG5cbiAgdXNlUmVnaXN0ZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJzW25hbWVdKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyc1tuYW1lXSA9IHRydWU7XG4gICAgICB0aGlzLnJlZ2lzdGVycy5saXN0LnB1c2gobmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2g6IGZ1bmN0aW9uKGV4cHIpIHtcbiAgICBpZiAoIShleHByIGluc3RhbmNlb2YgTGl0ZXJhbCkpIHtcbiAgICAgIGV4cHIgPSB0aGlzLnNvdXJjZS53cmFwKGV4cHIpO1xuICAgIH1cblxuICAgIHRoaXMuaW5saW5lU3RhY2sucHVzaChleHByKTtcbiAgICByZXR1cm4gZXhwcjtcbiAgfSxcblxuICBwdXNoU3RhY2tMaXRlcmFsOiBmdW5jdGlvbihpdGVtKSB7XG4gICAgdGhpcy5wdXNoKG5ldyBMaXRlcmFsKGl0ZW0pKTtcbiAgfSxcblxuICBwdXNoU291cmNlOiBmdW5jdGlvbihzb3VyY2UpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ29udGVudCkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChcbiAgICAgICAgdGhpcy5hcHBlbmRUb0J1ZmZlcihcbiAgICAgICAgICB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcodGhpcy5wZW5kaW5nQ29udGVudCksXG4gICAgICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb25cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMucGVuZGluZ0NvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChzb3VyY2UpO1xuICAgIH1cbiAgfSxcblxuICByZXBsYWNlU3RhY2s6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgbGV0IHByZWZpeCA9IFsnKCddLFxuICAgICAgc3RhY2ssXG4gICAgICBjcmVhdGVkU3RhY2ssXG4gICAgICB1c2VkTGl0ZXJhbDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCF0aGlzLmlzSW5saW5lKCkpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ3JlcGxhY2VTdGFjayBvbiBub24taW5saW5lJyk7XG4gICAgfVxuXG4gICAgLy8gV2Ugd2FudCB0byBtZXJnZSB0aGUgaW5saW5lIHN0YXRlbWVudCBpbnRvIHRoZSByZXBsYWNlbWVudCBzdGF0ZW1lbnQgdmlhICcsJ1xuICAgIGxldCB0b3AgPSB0aGlzLnBvcFN0YWNrKHRydWUpO1xuXG4gICAgaWYgKHRvcCBpbnN0YW5jZW9mIExpdGVyYWwpIHtcbiAgICAgIC8vIExpdGVyYWxzIGRvIG5vdCBuZWVkIHRvIGJlIGlubGluZWRcbiAgICAgIHN0YWNrID0gW3RvcC52YWx1ZV07XG4gICAgICBwcmVmaXggPSBbJygnLCBzdGFja107XG4gICAgICB1c2VkTGl0ZXJhbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEdldCBvciBjcmVhdGUgdGhlIGN1cnJlbnQgc3RhY2sgbmFtZSBmb3IgdXNlIGJ5IHRoZSBpbmxpbmVcbiAgICAgIGNyZWF0ZWRTdGFjayA9IHRydWU7XG4gICAgICBsZXQgbmFtZSA9IHRoaXMuaW5jclN0YWNrKCk7XG5cbiAgICAgIHByZWZpeCA9IFsnKCgnLCB0aGlzLnB1c2gobmFtZSksICcgPSAnLCB0b3AsICcpJ107XG4gICAgICBzdGFjayA9IHRoaXMudG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbSA9IGNhbGxiYWNrLmNhbGwodGhpcywgc3RhY2spO1xuXG4gICAgaWYgKCF1c2VkTGl0ZXJhbCkge1xuICAgICAgdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZFN0YWNrKSB7XG4gICAgICB0aGlzLnN0YWNrU2xvdC0tO1xuICAgIH1cbiAgICB0aGlzLnB1c2gocHJlZml4LmNvbmNhdChpdGVtLCAnKScpKTtcbiAgfSxcblxuICBpbmNyU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuc3RhY2tTbG90Kys7XG4gICAgaWYgKHRoaXMuc3RhY2tTbG90ID4gdGhpcy5zdGFja1ZhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YWNrVmFycy5wdXNoKCdzdGFjaycgKyB0aGlzLnN0YWNrU2xvdCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRvcFN0YWNrTmFtZSgpO1xuICB9LFxuICB0b3BTdGFja05hbWU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc3RhY2snICsgdGhpcy5zdGFja1Nsb3Q7XG4gIH0sXG4gIGZsdXNoSW5saW5lOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgaW5saW5lU3RhY2sgPSB0aGlzLmlubGluZVN0YWNrO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5saW5lU3RhY2subGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBlbnRyeSA9IGlubGluZVN0YWNrW2ldO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoZW50cnkgaW5zdGFuY2VvZiBMaXRlcmFsKSB7XG4gICAgICAgIHRoaXMuY29tcGlsZVN0YWNrLnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHN0YWNrID0gdGhpcy5pbmNyU3RhY2soKTtcbiAgICAgICAgdGhpcy5wdXNoU291cmNlKFtzdGFjaywgJyA9ICcsIGVudHJ5LCAnOyddKTtcbiAgICAgICAgdGhpcy5jb21waWxlU3RhY2sucHVzaChzdGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBpc0lubGluZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5saW5lU3RhY2subGVuZ3RoO1xuICB9LFxuXG4gIHBvcFN0YWNrOiBmdW5jdGlvbih3cmFwcGVkKSB7XG4gICAgbGV0IGlubGluZSA9IHRoaXMuaXNJbmxpbmUoKSxcbiAgICAgIGl0ZW0gPSAoaW5saW5lID8gdGhpcy5pbmxpbmVTdGFjayA6IHRoaXMuY29tcGlsZVN0YWNrKS5wb3AoKTtcblxuICAgIGlmICghd3JhcHBlZCAmJiBpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhpcy5zdGFja1Nsb3QpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHN0YWNrIHBvcCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhY2tTbG90LS07XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG4gIH0sXG5cbiAgdG9wU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIGxldCBzdGFjayA9IHRoaXMuaXNJbmxpbmUoKSA/IHRoaXMuaW5saW5lU3RhY2sgOiB0aGlzLmNvbXBpbGVTdGFjayxcbiAgICAgIGl0ZW0gPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgfSxcblxuICBjb250ZXh0TmFtZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGlmICh0aGlzLnVzZURlcHRocyAmJiBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gJ2RlcHRoc1snICsgY29udGV4dCArICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdkZXB0aCcgKyBjb250ZXh0O1xuICAgIH1cbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcoc3RyKTtcbiAgfSxcblxuICBvYmplY3RMaXRlcmFsOiBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uub2JqZWN0TGl0ZXJhbChvYmopO1xuICB9LFxuXG4gIGFsaWFzYWJsZTogZnVuY3Rpb24obmFtZSkge1xuICAgIGxldCByZXQgPSB0aGlzLmFsaWFzZXNbbmFtZV07XG4gICAgaWYgKHJldCkge1xuICAgICAgcmV0LnJlZmVyZW5jZUNvdW50Kys7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIHJldCA9IHRoaXMuYWxpYXNlc1tuYW1lXSA9IHRoaXMuc291cmNlLndyYXAobmFtZSk7XG4gICAgcmV0LmFsaWFzYWJsZSA9IHRydWU7XG4gICAgcmV0LnJlZmVyZW5jZUNvdW50ID0gMTtcblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgYmxvY2tIZWxwZXIpIHtcbiAgICBsZXQgcGFyYW1zID0gW10sXG4gICAgICBwYXJhbXNJbml0ID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplLCBwYXJhbXMsIGJsb2NrSGVscGVyKTtcbiAgICBsZXQgZm91bmRIZWxwZXIgPSB0aGlzLm5hbWVMb29rdXAoJ2hlbHBlcnMnLCBuYW1lLCAnaGVscGVyJyksXG4gICAgICBjYWxsQ29udGV4dCA9IHRoaXMuYWxpYXNhYmxlKFxuICAgICAgICBgJHt0aGlzLmNvbnRleHROYW1lKDApfSAhPSBudWxsID8gJHt0aGlzLmNvbnRleHROYW1lKFxuICAgICAgICAgIDBcbiAgICAgICAgKX0gOiAoY29udGFpbmVyLm51bGxDb250ZXh0IHx8IHt9KWBcbiAgICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBwYXJhbXNJbml0OiBwYXJhbXNJbml0LFxuICAgICAgbmFtZTogZm91bmRIZWxwZXIsXG4gICAgICBjYWxsUGFyYW1zOiBbY2FsbENvbnRleHRdLmNvbmNhdChwYXJhbXMpXG4gICAgfTtcbiAgfSxcblxuICBzZXR1cFBhcmFtczogZnVuY3Rpb24oaGVscGVyLCBwYXJhbVNpemUsIHBhcmFtcykge1xuICAgIGxldCBvcHRpb25zID0ge30sXG4gICAgICBjb250ZXh0cyA9IFtdLFxuICAgICAgdHlwZXMgPSBbXSxcbiAgICAgIGlkcyA9IFtdLFxuICAgICAgb2JqZWN0QXJncyA9ICFwYXJhbXMsXG4gICAgICBwYXJhbTtcblxuICAgIGlmIChvYmplY3RBcmdzKSB7XG4gICAgICBwYXJhbXMgPSBbXTtcbiAgICB9XG5cbiAgICBvcHRpb25zLm5hbWUgPSB0aGlzLnF1b3RlZFN0cmluZyhoZWxwZXIpO1xuICAgIG9wdGlvbnMuaGFzaCA9IHRoaXMucG9wU3RhY2soKTtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmhhc2hJZHMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0cmluZ1BhcmFtcykge1xuICAgICAgb3B0aW9ucy5oYXNoVHlwZXMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBvcHRpb25zLmhhc2hDb250ZXh0cyA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaW52ZXJzZSA9IHRoaXMucG9wU3RhY2soKSxcbiAgICAgIHByb2dyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICAvLyBBdm9pZCBzZXR0aW5nIGZuIGFuZCBpbnZlcnNlIGlmIG5laXRoZXIgYXJlIHNldC4gVGhpcyBhbGxvd3NcbiAgICAvLyBoZWxwZXJzIHRvIGRvIGEgY2hlY2sgZm9yIGBpZiAob3B0aW9ucy5mbilgXG4gICAgaWYgKHByb2dyYW0gfHwgaW52ZXJzZSkge1xuICAgICAgb3B0aW9ucy5mbiA9IHByb2dyYW0gfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICAgIG9wdGlvbnMuaW52ZXJzZSA9IGludmVyc2UgfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICB9XG5cbiAgICAvLyBUaGUgcGFyYW1ldGVycyBnbyBvbiB0byB0aGUgc3RhY2sgaW4gb3JkZXIgKG1ha2luZyBzdXJlIHRoYXQgdGhleSBhcmUgZXZhbHVhdGVkIGluIG9yZGVyKVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcG9wIHRoZW0gb2ZmIHRoZSBzdGFjayBpbiByZXZlcnNlIG9yZGVyXG4gICAgbGV0IGkgPSBwYXJhbVNpemU7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgcGFyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBwYXJhbXNbaV0gPSBwYXJhbTtcblxuICAgICAgaWYgKHRoaXMudHJhY2tJZHMpIHtcbiAgICAgICAgaWRzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICAgIHR5cGVzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgICBjb250ZXh0c1tpXSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2JqZWN0QXJncykge1xuICAgICAgb3B0aW9ucy5hcmdzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShwYXJhbXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmlkcyA9IHRoaXMuc291cmNlLmdlbmVyYXRlQXJyYXkoaWRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLnR5cGVzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheSh0eXBlcyk7XG4gICAgICBvcHRpb25zLmNvbnRleHRzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShjb250ZXh0cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICBvcHRpb25zLmRhdGEgPSAnZGF0YSc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLmJsb2NrUGFyYW1zID0gJ2Jsb2NrUGFyYW1zJztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXJBcmdzOiBmdW5jdGlvbihoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zLCB1c2VSZWdpc3Rlcikge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5zZXR1cFBhcmFtcyhoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zKTtcbiAgICBvcHRpb25zLmxvYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbik7XG4gICAgb3B0aW9ucyA9IHRoaXMub2JqZWN0TGl0ZXJhbChvcHRpb25zKTtcbiAgICBpZiAodXNlUmVnaXN0ZXIpIHtcbiAgICAgIHRoaXMudXNlUmVnaXN0ZXIoJ29wdGlvbnMnKTtcbiAgICAgIHBhcmFtcy5wdXNoKCdvcHRpb25zJyk7XG4gICAgICByZXR1cm4gWydvcHRpb25zPScsIG9wdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMucHVzaChvcHRpb25zKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuICB9XG59O1xuXG4oZnVuY3Rpb24oKSB7XG4gIGNvbnN0IHJlc2VydmVkV29yZHMgPSAoXG4gICAgJ2JyZWFrIGVsc2UgbmV3IHZhcicgK1xuICAgICcgY2FzZSBmaW5hbGx5IHJldHVybiB2b2lkJyArXG4gICAgJyBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlJyArXG4gICAgJyBjb250aW51ZSBmdW5jdGlvbiB0aGlzIHdpdGgnICtcbiAgICAnIGRlZmF1bHQgaWYgdGhyb3cnICtcbiAgICAnIGRlbGV0ZSBpbiB0cnknICtcbiAgICAnIGRvIGluc3RhbmNlb2YgdHlwZW9mJyArXG4gICAgJyBhYnN0cmFjdCBlbnVtIGludCBzaG9ydCcgK1xuICAgICcgYm9vbGVhbiBleHBvcnQgaW50ZXJmYWNlIHN0YXRpYycgK1xuICAgICcgYnl0ZSBleHRlbmRzIGxvbmcgc3VwZXInICtcbiAgICAnIGNoYXIgZmluYWwgbmF0aXZlIHN5bmNocm9uaXplZCcgK1xuICAgICcgY2xhc3MgZmxvYXQgcGFja2FnZSB0aHJvd3MnICtcbiAgICAnIGNvbnN0IGdvdG8gcHJpdmF0ZSB0cmFuc2llbnQnICtcbiAgICAnIGRlYnVnZ2VyIGltcGxlbWVudHMgcHJvdGVjdGVkIHZvbGF0aWxlJyArXG4gICAgJyBkb3VibGUgaW1wb3J0IHB1YmxpYyBsZXQgeWllbGQgYXdhaXQnICtcbiAgICAnIG51bGwgdHJ1ZSBmYWxzZSdcbiAgKS5zcGxpdCgnICcpO1xuXG4gIGNvbnN0IGNvbXBpbGVyV29yZHMgPSAoSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTID0ge30pO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsID0gcmVzZXJ2ZWRXb3Jkcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb21waWxlcldvcmRzW3Jlc2VydmVkV29yZHNbaV1dID0gdHJ1ZTtcbiAgfVxufSkoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNYXkgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG4gKi9cbkphdmFTY3JpcHRDb21waWxlci5pc1ZhbGlkSmF2YVNjcmlwdFZhcmlhYmxlTmFtZSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgcmV0dXJuIChcbiAgICAhSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTW25hbWVdICYmXG4gICAgL15bYS16QS1aXyRdWzAtOWEtekEtWl8kXSokLy50ZXN0KG5hbWUpXG4gICk7XG59O1xuXG5mdW5jdGlvbiBzdHJpY3RMb29rdXAocmVxdWlyZVRlcm1pbmFsLCBjb21waWxlciwgcGFydHMsIGksIHR5cGUpIHtcbiAgbGV0IHN0YWNrID0gY29tcGlsZXIucG9wU3RhY2soKSxcbiAgICBsZW4gPSBwYXJ0cy5sZW5ndGg7XG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICBsZW4tLTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzdGFjayA9IGNvbXBpbGVyLm5hbWVMb29rdXAoc3RhY2ssIHBhcnRzW2ldLCB0eXBlKTtcbiAgfVxuXG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICByZXR1cm4gW1xuICAgICAgY29tcGlsZXIuYWxpYXNhYmxlKCdjb250YWluZXIuc3RyaWN0JyksXG4gICAgICAnKCcsXG4gICAgICBzdGFjayxcbiAgICAgICcsICcsXG4gICAgICBjb21waWxlci5xdW90ZWRTdHJpbmcocGFydHNbaV0pLFxuICAgICAgJywgJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbXBpbGVyLnNvdXJjZS5jdXJyZW50TG9jYXRpb24pLFxuICAgICAgJyApJ1xuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YWNrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEphdmFTY3JpcHRDb21waWxlcjtcbiJdfQ==\n","// File ignored in coverage tests via setting in .istanbul.yml\n/* Jison generated parser */\n\"use strict\";\n\nexports.__esModule = true;\nvar handlebars = (function () {\n    var parser = { trace: function trace() {},\n        yy: {},\n        symbols_: { \"error\": 2, \"root\": 3, \"program\": 4, \"EOF\": 5, \"program_repetition0\": 6, \"statement\": 7, \"mustache\": 8, \"block\": 9, \"rawBlock\": 10, \"partial\": 11, \"partialBlock\": 12, \"content\": 13, \"COMMENT\": 14, \"CONTENT\": 15, \"openRawBlock\": 16, \"rawBlock_repetition0\": 17, \"END_RAW_BLOCK\": 18, \"OPEN_RAW_BLOCK\": 19, \"helperName\": 20, \"openRawBlock_repetition0\": 21, \"openRawBlock_option0\": 22, \"CLOSE_RAW_BLOCK\": 23, \"openBlock\": 24, \"block_option0\": 25, \"closeBlock\": 26, \"openInverse\": 27, \"block_option1\": 28, \"OPEN_BLOCK\": 29, \"openBlock_repetition0\": 30, \"openBlock_option0\": 31, \"openBlock_option1\": 32, \"CLOSE\": 33, \"OPEN_INVERSE\": 34, \"openInverse_repetition0\": 35, \"openInverse_option0\": 36, \"openInverse_option1\": 37, \"openInverseChain\": 38, \"OPEN_INVERSE_CHAIN\": 39, \"openInverseChain_repetition0\": 40, \"openInverseChain_option0\": 41, \"openInverseChain_option1\": 42, \"inverseAndProgram\": 43, \"INVERSE\": 44, \"inverseChain\": 45, \"inverseChain_option0\": 46, \"OPEN_ENDBLOCK\": 47, \"OPEN\": 48, \"mustache_repetition0\": 49, \"mustache_option0\": 50, \"OPEN_UNESCAPED\": 51, \"mustache_repetition1\": 52, \"mustache_option1\": 53, \"CLOSE_UNESCAPED\": 54, \"OPEN_PARTIAL\": 55, \"partialName\": 56, \"partial_repetition0\": 57, \"partial_option0\": 58, \"openPartialBlock\": 59, \"OPEN_PARTIAL_BLOCK\": 60, \"openPartialBlock_repetition0\": 61, \"openPartialBlock_option0\": 62, \"param\": 63, \"sexpr\": 64, \"OPEN_SEXPR\": 65, \"sexpr_repetition0\": 66, \"sexpr_option0\": 67, \"CLOSE_SEXPR\": 68, \"hash\": 69, \"hash_repetition_plus0\": 70, \"hashSegment\": 71, \"ID\": 72, \"EQUALS\": 73, \"blockParams\": 74, \"OPEN_BLOCK_PARAMS\": 75, \"blockParams_repetition_plus0\": 76, \"CLOSE_BLOCK_PARAMS\": 77, \"path\": 78, \"dataName\": 79, \"STRING\": 80, \"NUMBER\": 81, \"BOOLEAN\": 82, \"UNDEFINED\": 83, \"NULL\": 84, \"DATA\": 85, \"pathSegments\": 86, \"SEP\": 87, \"$accept\": 0, \"$end\": 1 },\n        terminals_: { 2: \"error\", 5: \"EOF\", 14: \"COMMENT\", 15: \"CONTENT\", 18: \"END_RAW_BLOCK\", 19: \"OPEN_RAW_BLOCK\", 23: \"CLOSE_RAW_BLOCK\", 29: \"OPEN_BLOCK\", 33: \"CLOSE\", 34: \"OPEN_INVERSE\", 39: \"OPEN_INVERSE_CHAIN\", 44: \"INVERSE\", 47: \"OPEN_ENDBLOCK\", 48: \"OPEN\", 51: \"OPEN_UNESCAPED\", 54: \"CLOSE_UNESCAPED\", 55: \"OPEN_PARTIAL\", 60: \"OPEN_PARTIAL_BLOCK\", 65: \"OPEN_SEXPR\", 68: \"CLOSE_SEXPR\", 72: \"ID\", 73: \"EQUALS\", 75: \"OPEN_BLOCK_PARAMS\", 77: \"CLOSE_BLOCK_PARAMS\", 80: \"STRING\", 81: \"NUMBER\", 82: \"BOOLEAN\", 83: \"UNDEFINED\", 84: \"NULL\", 85: \"DATA\", 87: \"SEP\" },\n        productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],\n        performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n\n            var $0 = $$.length - 1;\n            switch (yystate) {\n                case 1:\n                    return $$[$0 - 1];\n                    break;\n                case 2:\n                    this.$ = yy.prepareProgram($$[$0]);\n                    break;\n                case 3:\n                    this.$ = $$[$0];\n                    break;\n                case 4:\n                    this.$ = $$[$0];\n                    break;\n                case 5:\n                    this.$ = $$[$0];\n                    break;\n                case 6:\n                    this.$ = $$[$0];\n                    break;\n                case 7:\n                    this.$ = $$[$0];\n                    break;\n                case 8:\n                    this.$ = $$[$0];\n                    break;\n                case 9:\n                    this.$ = {\n                        type: 'CommentStatement',\n                        value: yy.stripComment($$[$0]),\n                        strip: yy.stripFlags($$[$0], $$[$0]),\n                        loc: yy.locInfo(this._$)\n                    };\n\n                    break;\n                case 10:\n                    this.$ = {\n                        type: 'ContentStatement',\n                        original: $$[$0],\n                        value: $$[$0],\n                        loc: yy.locInfo(this._$)\n                    };\n\n                    break;\n                case 11:\n                    this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n                    break;\n                case 12:\n                    this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };\n                    break;\n                case 13:\n                    this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n                    break;\n                case 14:\n                    this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n                    break;\n                case 15:\n                    this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n                    break;\n                case 16:\n                    this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n                    break;\n                case 17:\n                    this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n                    break;\n                case 18:\n                    this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };\n                    break;\n                case 19:\n                    var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n                        program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n                    program.chained = true;\n\n                    this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };\n\n                    break;\n                case 20:\n                    this.$ = $$[$0];\n                    break;\n                case 21:\n                    this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };\n                    break;\n                case 22:\n                    this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n                    break;\n                case 23:\n                    this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n                    break;\n                case 24:\n                    this.$ = {\n                        type: 'PartialStatement',\n                        name: $$[$0 - 3],\n                        params: $$[$0 - 2],\n                        hash: $$[$0 - 1],\n                        indent: '',\n                        strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n                        loc: yy.locInfo(this._$)\n                    };\n\n                    break;\n                case 25:\n                    this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n                    break;\n                case 26:\n                    this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };\n                    break;\n                case 27:\n                    this.$ = $$[$0];\n                    break;\n                case 28:\n                    this.$ = $$[$0];\n                    break;\n                case 29:\n                    this.$ = {\n                        type: 'SubExpression',\n                        path: $$[$0 - 3],\n                        params: $$[$0 - 2],\n                        hash: $$[$0 - 1],\n                        loc: yy.locInfo(this._$)\n                    };\n\n                    break;\n                case 30:\n                    this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };\n                    break;\n                case 31:\n                    this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };\n                    break;\n                case 32:\n                    this.$ = yy.id($$[$0 - 1]);\n                    break;\n                case 33:\n                    this.$ = $$[$0];\n                    break;\n                case 34:\n                    this.$ = $$[$0];\n                    break;\n                case 35:\n                    this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };\n                    break;\n                case 36:\n                    this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };\n                    break;\n                case 37:\n                    this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };\n                    break;\n                case 38:\n                    this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };\n                    break;\n                case 39:\n                    this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };\n                    break;\n                case 40:\n                    this.$ = $$[$0];\n                    break;\n                case 41:\n                    this.$ = $$[$0];\n                    break;\n                case 42:\n                    this.$ = yy.preparePath(true, $$[$0], this._$);\n                    break;\n                case 43:\n                    this.$ = yy.preparePath(false, $$[$0], this._$);\n                    break;\n                case 44:\n                    $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];\n                    break;\n                case 45:\n                    this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];\n                    break;\n                case 46:\n                    this.$ = [];\n                    break;\n                case 47:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 48:\n                    this.$ = [];\n                    break;\n                case 49:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 50:\n                    this.$ = [];\n                    break;\n                case 51:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 58:\n                    this.$ = [];\n                    break;\n                case 59:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 64:\n                    this.$ = [];\n                    break;\n                case 65:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 70:\n                    this.$ = [];\n                    break;\n                case 71:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 78:\n                    this.$ = [];\n                    break;\n                case 79:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 82:\n                    this.$ = [];\n                    break;\n                case 83:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 86:\n                    this.$ = [];\n                    break;\n                case 87:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 90:\n                    this.$ = [];\n                    break;\n                case 91:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 94:\n                    this.$ = [];\n                    break;\n                case 95:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 98:\n                    this.$ = [$$[$0]];\n                    break;\n                case 99:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n                case 100:\n                    this.$ = [$$[$0]];\n                    break;\n                case 101:\n                    $$[$0 - 1].push($$[$0]);\n                    break;\n            }\n        },\n        table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],\n        defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] },\n        parseError: function parseError(str, hash) {\n            throw new Error(str);\n        },\n        parse: function parse(input) {\n            var self = this,\n                stack = [0],\n                vstack = [null],\n                lstack = [],\n                table = this.table,\n                yytext = \"\",\n                yylineno = 0,\n                yyleng = 0,\n                recovering = 0,\n                TERROR = 2,\n                EOF = 1;\n            this.lexer.setInput(input);\n            this.lexer.yy = this.yy;\n            this.yy.lexer = this.lexer;\n            this.yy.parser = this;\n            if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n            var yyloc = this.lexer.yylloc;\n            lstack.push(yyloc);\n            var ranges = this.lexer.options && this.lexer.options.ranges;\n            if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n            function popStack(n) {\n                stack.length = stack.length - 2 * n;\n                vstack.length = vstack.length - n;\n                lstack.length = lstack.length - n;\n            }\n            function lex() {\n                var token;\n                token = self.lexer.lex() || 1;\n                if (typeof token !== \"number\") {\n                    token = self.symbols_[token] || token;\n                }\n                return token;\n            }\n            var symbol,\n                preErrorSymbol,\n                state,\n                action,\n                a,\n                r,\n                yyval = {},\n                p,\n                len,\n                newState,\n                expected;\n            while (true) {\n                state = stack[stack.length - 1];\n                if (this.defaultActions[state]) {\n                    action = this.defaultActions[state];\n                } else {\n                    if (symbol === null || typeof symbol == \"undefined\") {\n                        symbol = lex();\n                    }\n                    action = table[state] && table[state][symbol];\n                }\n                if (typeof action === \"undefined\" || !action.length || !action[0]) {\n                    var errStr = \"\";\n                    if (!recovering) {\n                        expected = [];\n                        for (p in table[state]) if (this.terminals_[p] && p > 2) {\n                            expected.push(\"'\" + this.terminals_[p] + \"'\");\n                        }\n                        if (this.lexer.showPosition) {\n                            errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n                        } else {\n                            errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n                        }\n                        this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });\n                    }\n                }\n                if (action[0] instanceof Array && action.length > 1) {\n                    throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n                }\n                switch (action[0]) {\n                    case 1:\n                        stack.push(symbol);\n                        vstack.push(this.lexer.yytext);\n                        lstack.push(this.lexer.yylloc);\n                        stack.push(action[1]);\n                        symbol = null;\n                        if (!preErrorSymbol) {\n                            yyleng = this.lexer.yyleng;\n                            yytext = this.lexer.yytext;\n                            yylineno = this.lexer.yylineno;\n                            yyloc = this.lexer.yylloc;\n                            if (recovering > 0) recovering--;\n                        } else {\n                            symbol = preErrorSymbol;\n                            preErrorSymbol = null;\n                        }\n                        break;\n                    case 2:\n                        len = this.productions_[action[1]][1];\n                        yyval.$ = vstack[vstack.length - len];\n                        yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column };\n                        if (ranges) {\n                            yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n                        }\n                        r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n                        if (typeof r !== \"undefined\") {\n                            return r;\n                        }\n                        if (len) {\n                            stack = stack.slice(0, -1 * len * 2);\n                            vstack = vstack.slice(0, -1 * len);\n                            lstack = lstack.slice(0, -1 * len);\n                        }\n                        stack.push(this.productions_[action[1]][0]);\n                        vstack.push(yyval.$);\n                        lstack.push(yyval._$);\n                        newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n                        stack.push(newState);\n                        break;\n                    case 3:\n                        return true;\n                }\n            }\n            return true;\n        }\n    };\n    /* Jison generated lexer */\n    var lexer = (function () {\n        var lexer = { EOF: 1,\n            parseError: function parseError(str, hash) {\n                if (this.yy.parser) {\n                    this.yy.parser.parseError(str, hash);\n                } else {\n                    throw new Error(str);\n                }\n            },\n            setInput: function setInput(input) {\n                this._input = input;\n                this._more = this._less = this.done = false;\n                this.yylineno = this.yyleng = 0;\n                this.yytext = this.matched = this.match = '';\n                this.conditionStack = ['INITIAL'];\n                this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };\n                if (this.options.ranges) this.yylloc.range = [0, 0];\n                this.offset = 0;\n                return this;\n            },\n            input: function input() {\n                var ch = this._input[0];\n                this.yytext += ch;\n                this.yyleng++;\n                this.offset++;\n                this.match += ch;\n                this.matched += ch;\n                var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n                if (lines) {\n                    this.yylineno++;\n                    this.yylloc.last_line++;\n                } else {\n                    this.yylloc.last_column++;\n                }\n                if (this.options.ranges) this.yylloc.range[1]++;\n\n                this._input = this._input.slice(1);\n                return ch;\n            },\n            unput: function unput(ch) {\n                var len = ch.length;\n                var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n                this._input = ch + this._input;\n                this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);\n                //this.yyleng -= len;\n                this.offset -= len;\n                var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n                this.match = this.match.substr(0, this.match.length - 1);\n                this.matched = this.matched.substr(0, this.matched.length - 1);\n\n                if (lines.length - 1) this.yylineno -= lines.length - 1;\n                var r = this.yylloc.range;\n\n                this.yylloc = { first_line: this.yylloc.first_line,\n                    last_line: this.yylineno + 1,\n                    first_column: this.yylloc.first_column,\n                    last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n                };\n\n                if (this.options.ranges) {\n                    this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n                }\n                return this;\n            },\n            more: function more() {\n                this._more = true;\n                return this;\n            },\n            less: function less(n) {\n                this.unput(this.match.slice(n));\n            },\n            pastInput: function pastInput() {\n                var past = this.matched.substr(0, this.matched.length - this.match.length);\n                return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n            },\n            upcomingInput: function upcomingInput() {\n                var next = this.match;\n                if (next.length < 20) {\n                    next += this._input.substr(0, 20 - next.length);\n                }\n                return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n            },\n            showPosition: function showPosition() {\n                var pre = this.pastInput();\n                var c = new Array(pre.length + 1).join(\"-\");\n                return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n            },\n            next: function next() {\n                if (this.done) {\n                    return this.EOF;\n                }\n                if (!this._input) this.done = true;\n\n                var token, match, tempMatch, index, col, lines;\n                if (!this._more) {\n                    this.yytext = '';\n                    this.match = '';\n                }\n                var rules = this._currentRules();\n                for (var i = 0; i < rules.length; i++) {\n                    tempMatch = this._input.match(this.rules[rules[i]]);\n                    if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n                        match = tempMatch;\n                        index = i;\n                        if (!this.options.flex) break;\n                    }\n                }\n                if (match) {\n                    lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n                    if (lines) this.yylineno += lines.length;\n                    this.yylloc = { first_line: this.yylloc.last_line,\n                        last_line: this.yylineno + 1,\n                        first_column: this.yylloc.last_column,\n                        last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length };\n                    this.yytext += match[0];\n                    this.match += match[0];\n                    this.matches = match;\n                    this.yyleng = this.yytext.length;\n                    if (this.options.ranges) {\n                        this.yylloc.range = [this.offset, this.offset += this.yyleng];\n                    }\n                    this._more = false;\n                    this._input = this._input.slice(match[0].length);\n                    this.matched += match[0];\n                    token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n                    if (this.done && this._input) this.done = false;\n                    if (token) return token;else return;\n                }\n                if (this._input === \"\") {\n                    return this.EOF;\n                } else {\n                    return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), { text: \"\", token: null, line: this.yylineno });\n                }\n            },\n            lex: function lex() {\n                var r = this.next();\n                if (typeof r !== 'undefined') {\n                    return r;\n                } else {\n                    return this.lex();\n                }\n            },\n            begin: function begin(condition) {\n                this.conditionStack.push(condition);\n            },\n            popState: function popState() {\n                return this.conditionStack.pop();\n            },\n            _currentRules: function _currentRules() {\n                return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n            },\n            topState: function topState() {\n                return this.conditionStack[this.conditionStack.length - 2];\n            },\n            pushState: function begin(condition) {\n                this.begin(condition);\n            } };\n        lexer.options = {};\n        lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\n            function strip(start, end) {\n                return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);\n            }\n\n            var YYSTATE = YY_START;\n            switch ($avoiding_name_collisions) {\n                case 0:\n                    if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n                        strip(0, 1);\n                        this.begin(\"mu\");\n                    } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n                        strip(0, 1);\n                        this.begin(\"emu\");\n                    } else {\n                        this.begin(\"mu\");\n                    }\n                    if (yy_.yytext) return 15;\n\n                    break;\n                case 1:\n                    return 15;\n                    break;\n                case 2:\n                    this.popState();\n                    return 15;\n\n                    break;\n                case 3:\n                    this.begin('raw');return 15;\n                    break;\n                case 4:\n                    this.popState();\n                    // Should be using `this.topState()` below, but it currently\n                    // returns the second top instead of the first top. Opened an\n                    // issue about it at https://github.com/zaach/jison/issues/291\n                    if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n                        return 15;\n                    } else {\n                        strip(5, 9);\n                        return 'END_RAW_BLOCK';\n                    }\n\n                    break;\n                case 5:\n                    return 15;\n                    break;\n                case 6:\n                    this.popState();\n                    return 14;\n\n                    break;\n                case 7:\n                    return 65;\n                    break;\n                case 8:\n                    return 68;\n                    break;\n                case 9:\n                    return 19;\n                    break;\n                case 10:\n                    this.popState();\n                    this.begin('raw');\n                    return 23;\n\n                    break;\n                case 11:\n                    return 55;\n                    break;\n                case 12:\n                    return 60;\n                    break;\n                case 13:\n                    return 29;\n                    break;\n                case 14:\n                    return 47;\n                    break;\n                case 15:\n                    this.popState();return 44;\n                    break;\n                case 16:\n                    this.popState();return 44;\n                    break;\n                case 17:\n                    return 34;\n                    break;\n                case 18:\n                    return 39;\n                    break;\n                case 19:\n                    return 51;\n                    break;\n                case 20:\n                    return 48;\n                    break;\n                case 21:\n                    this.unput(yy_.yytext);\n                    this.popState();\n                    this.begin('com');\n\n                    break;\n                case 22:\n                    this.popState();\n                    return 14;\n\n                    break;\n                case 23:\n                    return 48;\n                    break;\n                case 24:\n                    return 73;\n                    break;\n                case 25:\n                    return 72;\n                    break;\n                case 26:\n                    return 72;\n                    break;\n                case 27:\n                    return 87;\n                    break;\n                case 28:\n                    // ignore whitespace\n                    break;\n                case 29:\n                    this.popState();return 54;\n                    break;\n                case 30:\n                    this.popState();return 33;\n                    break;\n                case 31:\n                    yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');return 80;\n                    break;\n                case 32:\n                    yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");return 80;\n                    break;\n                case 33:\n                    return 85;\n                    break;\n                case 34:\n                    return 82;\n                    break;\n                case 35:\n                    return 82;\n                    break;\n                case 36:\n                    return 83;\n                    break;\n                case 37:\n                    return 84;\n                    break;\n                case 38:\n                    return 81;\n                    break;\n                case 39:\n                    return 75;\n                    break;\n                case 40:\n                    return 77;\n                    break;\n                case 41:\n                    return 72;\n                    break;\n                case 42:\n                    yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');return 72;\n                    break;\n                case 43:\n                    return 'INVALID';\n                    break;\n                case 44:\n                    return 5;\n                    break;\n            }\n        };\n        lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/, /^(?:[^\\x00]+)/, /^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/, /^(?:\\{\\{\\{\\{(?=[^/]))/, /^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/, /^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/, /^(?:[\\s\\S]*?--(~)?\\}\\})/, /^(?:\\()/, /^(?:\\))/, /^(?:\\{\\{\\{\\{)/, /^(?:\\}\\}\\}\\})/, /^(?:\\{\\{(~)?>)/, /^(?:\\{\\{(~)?#>)/, /^(?:\\{\\{(~)?#\\*?)/, /^(?:\\{\\{(~)?\\/)/, /^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\^)/, /^(?:\\{\\{(~)?\\s*else\\b)/, /^(?:\\{\\{(~)?\\{)/, /^(?:\\{\\{(~)?&)/, /^(?:\\{\\{(~)?!--)/, /^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/, /^(?:\\{\\{(~)?\\*?)/, /^(?:=)/, /^(?:\\.\\.)/, /^(?:\\.(?=([=~}\\s\\/.)|])))/, /^(?:[\\/.])/, /^(?:\\s+)/, /^(?:\\}(~)?\\}\\})/, /^(?:(~)?\\}\\})/, /^(?:\"(\\\\[\"]|[^\"])*\")/, /^(?:'(\\\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\\s)])))/, /^(?:false(?=([~}\\s)])))/, /^(?:undefined(?=([~}\\s)])))/, /^(?:null(?=([~}\\s)])))/, /^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/, /^(?:as\\s+\\|)/, /^(?:\\|)/, /^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/, /^(?:\\[(\\\\\\]|[^\\]])*\\])/, /^(?:.)/, /^(?:$)/];\n        lexer.conditions = { \"mu\": { \"rules\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], \"inclusive\": false }, \"emu\": { \"rules\": [2], \"inclusive\": false }, \"com\": { \"rules\": [6], \"inclusive\": false }, \"raw\": { \"rules\": [3, 4, 5], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 44], \"inclusive\": true } };\n        return lexer;\n    })();\n    parser.lexer = lexer;\n    function Parser() {\n        this.yy = {};\n    }Parser.prototype = parser;parser.Parser = Parser;\n    return new Parser();\n})();exports[\"default\"] = handlebars;\nmodule.exports = exports[\"default\"];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3BhcnNlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQUksVUFBVSxHQUFHLENBQUMsWUFBVTtBQUM1QixRQUFJLE1BQU0sR0FBRyxFQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssR0FBSSxFQUFHO0FBQzFDLFVBQUUsRUFBRSxFQUFFO0FBQ04sZ0JBQVEsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMscUJBQXFCLEVBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsc0JBQXNCLEVBQUMsRUFBRSxFQUFDLGVBQWUsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsMEJBQTBCLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDLG1CQUFtQixFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFBRSxFQUFDLHlCQUF5QixFQUFDLEVBQUUsRUFBQyxxQkFBcUIsRUFBQyxFQUFFLEVBQUMscUJBQXFCLEVBQUMsRUFBRSxFQUFDLGtCQUFrQixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsOEJBQThCLEVBQUMsRUFBRSxFQUFDLDBCQUEwQixFQUFDLEVBQUUsRUFBQywwQkFBMEIsRUFBQyxFQUFFLEVBQUMsbUJBQW1CLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFDLEVBQUUsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxrQkFBa0IsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxrQkFBa0IsRUFBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBQyxxQkFBcUIsRUFBQyxFQUFFLEVBQUMsaUJBQWlCLEVBQUMsRUFBRSxFQUFDLGtCQUFrQixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsOEJBQThCLEVBQUMsRUFBRSxFQUFDLDBCQUEwQixFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsbUJBQW1CLEVBQUMsRUFBRSxFQUFDLDhCQUE4QixFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUM7QUFDNW1ELGtCQUFVLEVBQUUsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLGdCQUFnQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsZUFBZSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLGdCQUFnQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFDLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLEVBQUUsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsb0JBQW9CLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLEtBQUssRUFBQztBQUM1ZSxvQkFBWSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JzQixxQkFBYSxFQUFFLFNBQVMsU0FBUyxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFDdkU7O0FBRUYsZ0JBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLG9CQUFRLE9BQU87QUFDZixxQkFBSyxDQUFDO0FBQUUsMkJBQU8sRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFDRix3QkFBSSxDQUFDLENBQUMsR0FBRztBQUNQLDRCQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLDZCQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUIsNkJBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDcEMsMkJBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7cUJBQ3pCLENBQUM7O0FBRU4sMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFDSCx3QkFBSSxDQUFDLENBQUMsR0FBRztBQUNQLDRCQUFJLEVBQUUsa0JBQWtCO0FBQ3hCLGdDQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoQiw2QkFBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDYiwyQkFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDekIsQ0FBQzs7QUFFTiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JKLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDckksMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNySSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQy9FLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzdFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCwyQkFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7O0FBRXZCLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOztBQUV0RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDO0FBQzFFLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEgsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0SCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUNILHdCQUFJLENBQUMsQ0FBQyxHQUFHO0FBQ1AsNEJBQUksRUFBRSxrQkFBa0I7QUFDeEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRTtBQUNWLDZCQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QywyQkFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDekIsQ0FBQzs7QUFFTiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlHLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksQ0FBQyxDQUFDLEdBQUc7QUFDUCw0QkFBSSxFQUFFLGVBQWU7QUFDckIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDJCQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3FCQUN6QixDQUFDOztBQUVOLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDbkcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDcEcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQ3BILDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDM0gsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDN0csMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQzlGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEQsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBRSxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxBQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUMzRCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEdBQUc7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxHQUFHO0FBQUMsc0JBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLDBCQUFNO0FBQUEsYUFDTDtTQUNBO0FBQ0QsYUFBSyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQy8vVixzQkFBYyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQztBQUNsTSxrQkFBVSxFQUFFLFNBQVMsVUFBVSxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDeEMsa0JBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEI7QUFDRCxhQUFLLEVBQUUsU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFO0FBQ3pCLGdCQUFJLElBQUksR0FBRyxJQUFJO2dCQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQUUsTUFBTSxHQUFHLEVBQUU7Z0JBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO2dCQUFFLE1BQU0sR0FBRyxFQUFFO2dCQUFFLFFBQVEsR0FBRyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUFFLFVBQVUsR0FBRyxDQUFDO2dCQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDM0osZ0JBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNCLGdCQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3hCLGdCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQzNCLGdCQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDdEIsZ0JBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxXQUFXLEVBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUMzQixnQkFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDOUIsa0JBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkIsZ0JBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUM3RCxnQkFBSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztBQUN6QyxxQkFBUyxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ2pCLHFCQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxzQkFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNsQyxzQkFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNyQztBQUNELHFCQUFTLEdBQUcsR0FBRztBQUNYLG9CQUFJLEtBQUssQ0FBQztBQUNWLHFCQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUIsb0JBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO0FBQzNCLHlCQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7aUJBQ3pDO0FBQ0QsdUJBQU8sS0FBSyxDQUFDO2FBQ2hCO0FBQ0QsZ0JBQUksTUFBTTtnQkFBRSxjQUFjO2dCQUFFLEtBQUs7Z0JBQUUsTUFBTTtnQkFBRSxDQUFDO2dCQUFFLENBQUM7Z0JBQUUsS0FBSyxHQUFHLEVBQUU7Z0JBQUUsQ0FBQztnQkFBRSxHQUFHO2dCQUFFLFFBQVE7Z0JBQUUsUUFBUSxDQUFDO0FBQ3hGLG1CQUFPLElBQUksRUFBRTtBQUNULHFCQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEMsb0JBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUM1QiwwQkFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3ZDLE1BQU07QUFDSCx3QkFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxJQUFJLFdBQVcsRUFBRTtBQUNqRCw4QkFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO3FCQUNsQjtBQUNELDBCQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDakQ7QUFDRCxvQkFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQy9ELHdCQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDaEIsd0JBQUksQ0FBQyxVQUFVLEVBQUU7QUFDYixnQ0FBUSxHQUFHLEVBQUUsQ0FBQztBQUNkLDZCQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQzdCLG9DQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3lCQUNqRDtBQUNMLDRCQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO0FBQ3pCLGtDQUFNLEdBQUcsc0JBQXNCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQSxBQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFBLEFBQUMsR0FBRyxHQUFHLENBQUM7eUJBQ3ZMLE1BQU07QUFDSCxrQ0FBTSxHQUFHLHNCQUFzQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUEsQUFBQyxHQUFHLGVBQWUsSUFBSSxNQUFNLElBQUksQ0FBQyxHQUFDLGNBQWMsR0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUEsQUFBQyxHQUFHLEdBQUcsQ0FBQSxBQUFDLENBQUM7eUJBQ3JKO0FBQ0QsNEJBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDMUo7aUJBQ0o7QUFDRCxvQkFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ2pELDBCQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxHQUFHLEtBQUssR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUM7aUJBQ3ZHO0FBQ0Qsd0JBQVEsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNqQix5QkFBSyxDQUFDO0FBQ0YsNkJBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkIsOEJBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQiw4QkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLDZCQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLDhCQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2QsNEJBQUksQ0FBQyxjQUFjLEVBQUU7QUFDakIsa0NBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMzQixrQ0FBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNCLG9DQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDL0IsaUNBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMxQixnQ0FBSSxVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsRUFBRSxDQUFDO3lCQUNwQixNQUFNO0FBQ0gsa0NBQU0sR0FBRyxjQUFjLENBQUM7QUFDeEIsMENBQWMsR0FBRyxJQUFJLENBQUM7eUJBQ3pCO0FBQ0QsOEJBQU07QUFBQSxBQUNWLHlCQUFLLENBQUM7QUFDRiwyQkFBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsNkJBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDdEMsNkJBQUssQ0FBQyxFQUFFLEdBQUcsRUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQSxBQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQSxBQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDO0FBQzFPLDRCQUFJLE1BQU0sRUFBRTtBQUNSLGlDQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUEsQUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN0RztBQUNELHlCQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRyw0QkFBSSxPQUFPLENBQUMsS0FBSyxXQUFXLEVBQUU7QUFDMUIsbUNBQU8sQ0FBQyxDQUFDO3lCQUNaO0FBQ0QsNEJBQUksR0FBRyxFQUFFO0FBQ0wsaUNBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckMsa0NBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNuQyxrQ0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3lCQUN0QztBQUNELDZCQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1Qyw4QkFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsOEJBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RCLGdDQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSw2QkFBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQiw4QkFBTTtBQUFBLEFBQ1YseUJBQUssQ0FBQztBQUNGLCtCQUFPLElBQUksQ0FBQztBQUFBLGlCQUNmO2FBQ0o7QUFDRCxtQkFBTyxJQUFJLENBQUM7U0FDZjtLQUNBLENBQUM7O0FBRUYsUUFBSSxLQUFLLEdBQUcsQ0FBQyxZQUFVO0FBQ3ZCLFlBQUksS0FBSyxHQUFJLEVBQUMsR0FBRyxFQUFDLENBQUM7QUFDbkIsc0JBQVUsRUFBQyxTQUFTLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO0FBQ2xDLG9CQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFO0FBQ2hCLHdCQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUN4QyxNQUFNO0FBQ0gsMEJBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3hCO2FBQ0o7QUFDTCxvQkFBUSxFQUFDLGtCQUFVLEtBQUssRUFBRTtBQUNsQixvQkFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDcEIsb0JBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztBQUM1QyxvQkFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNoQyxvQkFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQzdDLG9CQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsb0JBQUksQ0FBQyxNQUFNLEdBQUcsRUFBQyxVQUFVLEVBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUM7QUFDdEUsb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsb0JBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLHVCQUFPLElBQUksQ0FBQzthQUNmO0FBQ0wsaUJBQUssRUFBQyxpQkFBWTtBQUNWLG9CQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLG9CQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztBQUNsQixvQkFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2Qsb0JBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNkLG9CQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUNqQixvQkFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDbkIsb0JBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4QyxvQkFBSSxLQUFLLEVBQUU7QUFDUCx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLHdCQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2lCQUMzQixNQUFNO0FBQ0gsd0JBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQzdCO0FBQ0Qsb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs7QUFFaEQsb0JBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsdUJBQU8sRUFBRSxDQUFDO2FBQ2I7QUFDTCxpQkFBSyxFQUFDLGVBQVUsRUFBRSxFQUFFO0FBQ1osb0JBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7QUFDcEIsb0JBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7O0FBRXRDLG9CQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQy9CLG9CQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTlELG9CQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztBQUNuQixvQkFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDakQsb0JBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELG9CQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFN0Qsb0JBQUksS0FBSyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztBQUNwRCxvQkFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7O0FBRTFCLG9CQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtBQUMvQyw2QkFBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQztBQUMxQixnQ0FBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtBQUN0QywrQkFBVyxFQUFFLEtBQUssR0FDZCxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUEsR0FBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQ3JJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUc7aUJBQ2pDLENBQUM7O0FBRUosb0JBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDckIsd0JBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO2lCQUN4RDtBQUNELHVCQUFPLElBQUksQ0FBQzthQUNmO0FBQ0wsZ0JBQUksRUFBQyxnQkFBWTtBQUNULG9CQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztBQUNsQix1QkFBTyxJQUFJLENBQUM7YUFDZjtBQUNMLGdCQUFJLEVBQUMsY0FBVSxDQUFDLEVBQUU7QUFDVixvQkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DO0FBQ0wscUJBQVMsRUFBQyxxQkFBWTtBQUNkLG9CQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzRSx1QkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBQyxFQUFFLENBQUEsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzthQUM5RTtBQUNMLHlCQUFhLEVBQUMseUJBQVk7QUFDbEIsb0JBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDdEIsb0JBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7QUFDbEIsd0JBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDakQ7QUFDRCx1QkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxJQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0U7QUFDTCx3QkFBWSxFQUFDLHdCQUFZO0FBQ2pCLG9CQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDM0Isb0JBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLHVCQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBQyxHQUFHLENBQUM7YUFDcEQ7QUFDTCxnQkFBSSxFQUFDLGdCQUFZO0FBQ1Qsb0JBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNYLDJCQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ25CO0FBQ0Qsb0JBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOztBQUVuQyxvQkFBSSxLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsR0FBRyxFQUNILEtBQUssQ0FBQztBQUNWLG9CQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtBQUNiLHdCQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNqQix3QkFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7aUJBQ25CO0FBQ0Qsb0JBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUNqQyxxQkFBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDaEMsNkJBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsd0JBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxBQUFDLEVBQUU7QUFDaEUsNkJBQUssR0FBRyxTQUFTLENBQUM7QUFDbEIsNkJBQUssR0FBRyxDQUFDLENBQUM7QUFDViw0QkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU07cUJBQ2pDO2lCQUNKO0FBQ0Qsb0JBQUksS0FBSyxFQUFFO0FBQ1AseUJBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUMsd0JBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN6Qyx3QkFBSSxDQUFDLE1BQU0sR0FBRyxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7QUFDakMsaUNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUM7QUFDMUIsb0NBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7QUFDckMsbUNBQVcsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDO0FBQzlKLHdCQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4Qix3QkFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsd0JBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLHdCQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ2pDLHdCQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ3JCLDRCQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ2pFO0FBQ0Qsd0JBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ25CLHdCQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRCx3QkFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIseUJBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNySCx3QkFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7QUFDaEQsd0JBQUksS0FBSyxFQUFFLE9BQU8sS0FBSyxDQUFDLEtBQ25CLE9BQU87aUJBQ2Y7QUFDRCxvQkFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtBQUNwQiwyQkFBTyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNuQixNQUFNO0FBQ0gsMkJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsSUFBRSxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQSxBQUFDLEdBQUMsd0JBQXdCLEdBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUN0RyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0o7QUFDTCxlQUFHLEVBQUMsU0FBUyxHQUFHLEdBQUk7QUFDWixvQkFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3BCLG9CQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsRUFBRTtBQUMxQiwyQkFBTyxDQUFDLENBQUM7aUJBQ1osTUFBTTtBQUNILDJCQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDckI7YUFDSjtBQUNMLGlCQUFLLEVBQUMsU0FBUyxLQUFLLENBQUUsU0FBUyxFQUFFO0FBQ3pCLG9CQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN2QztBQUNMLG9CQUFRLEVBQUMsU0FBUyxRQUFRLEdBQUk7QUFDdEIsdUJBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNwQztBQUNMLHlCQUFhLEVBQUMsU0FBUyxhQUFhLEdBQUk7QUFDaEMsdUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ25GO0FBQ0wsb0JBQVEsRUFBQyxvQkFBWTtBQUNiLHVCQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUQ7QUFDTCxxQkFBUyxFQUFDLFNBQVMsS0FBSyxDQUFFLFNBQVMsRUFBRTtBQUM3QixvQkFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN6QixFQUFDLEFBQUMsQ0FBQztBQUNSLGFBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQ25CLGFBQUssQ0FBQyxhQUFhLEdBQUcsU0FBUyxTQUFTLENBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyx5QkFBeUIsRUFBQyxRQUFRLEVBQ2hGOztBQUdGLHFCQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO0FBQ3pCLHVCQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO2FBQzNFOztBQUdELGdCQUFJLE9BQU8sR0FBQyxRQUFRLENBQUE7QUFDcEIsb0JBQU8seUJBQXlCO0FBQ2hDLHFCQUFLLENBQUM7QUFDNkIsd0JBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLEVBQUU7QUFDbEMsNkJBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCw0QkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEIsTUFBTSxJQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO0FBQ3ZDLDZCQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsNEJBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25CLE1BQU07QUFDTCw0QkFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEI7QUFDRCx3QkFBRyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOztBQUU1RCwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUFDLDJCQUFPLEVBQUUsQ0FBQztBQUNqQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssQ0FBQztBQUM2Qix3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLDJCQUFPLEVBQUUsQ0FBQzs7QUFFN0MsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQyx3QkFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3BDLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQzRCLHdCQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs7QUFJaEIsd0JBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDL0QsK0JBQU8sRUFBRSxDQUFDO3FCQUNYLE1BQU07QUFDTCw2QkFBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNaLCtCQUFPLGVBQWUsQ0FBQztxQkFDeEI7O0FBRW5DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQUUsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxDQUFDO0FBQ0osd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQiwyQkFBTyxFQUFFLENBQUM7O0FBRVosMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDakIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDakIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLENBQUM7QUFBRSwyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFDMkIsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQix3QkFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQiwyQkFBTyxFQUFFLENBQUM7O0FBRTVDLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0wsd0JBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLHdCQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDaEIsd0JBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXBCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0wsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQiwyQkFBTyxFQUFFLENBQUM7O0FBRVosMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7O0FBQ1AsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx1QkFBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUMsR0FBRyxDQUFDLENBQUMsQUFBQyxPQUFPLEVBQUUsQ0FBQztBQUMvRCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHVCQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQy9ELDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsdUJBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLElBQUksQ0FBQyxDQUFDLEFBQUMsT0FBTyxFQUFFLENBQUM7QUFDdkUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxTQUFTLENBQUM7QUFDekIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQywyQkFBTyxDQUFDLENBQUM7QUFDakIsMEJBQU07QUFBQSxhQUNMO1NBQ0EsQ0FBQztBQUNGLGFBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQywwQkFBMEIsRUFBQyxlQUFlLEVBQUMsK0NBQStDLEVBQUMsdUJBQXVCLEVBQUMsb0VBQW9FLEVBQUMsOEJBQThCLEVBQUMseUJBQXlCLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsZUFBZSxFQUFDLGdCQUFnQixFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGlCQUFpQixFQUFDLDRCQUE0QixFQUFDLGlDQUFpQyxFQUFDLGlCQUFpQixFQUFDLHdCQUF3QixFQUFDLGlCQUFpQixFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLDRCQUE0QixFQUFDLGtCQUFrQixFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsMkJBQTJCLEVBQUMsWUFBWSxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMsc0JBQXNCLEVBQUMsc0JBQXNCLEVBQUMsUUFBUSxFQUFDLHdCQUF3QixFQUFDLHlCQUF5QixFQUFDLDZCQUE2QixFQUFDLHdCQUF3QixFQUFDLHlDQUF5QyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMseURBQXlELEVBQUMsd0JBQXdCLEVBQUMsUUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xnQyxhQUFLLENBQUMsVUFBVSxHQUFHLEVBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxFQUFDLFdBQVcsRUFBQyxLQUFLLEVBQUMsRUFBQyxLQUFLLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsS0FBSyxFQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLEtBQUssRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLFNBQVMsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7QUFDM1UsZUFBTyxLQUFLLENBQUM7S0FBQyxDQUFBLEVBQUcsQ0FBQTtBQUNqQixVQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNyQixhQUFTLE1BQU0sR0FBSTtBQUFFLFlBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0tBQUUsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckYsV0FBTyxJQUFJLE1BQU0sRUFBQSxDQUFDO0NBQ2pCLENBQUEsRUFBRyxDQUFDLHFCQUFlLFVBQVUiLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZSBpZ25vcmVkIGluIGNvdmVyYWdlIHRlc3RzIHZpYSBzZXR0aW5nIGluIC5pc3RhbmJ1bC55bWxcbi8qIEppc29uIGdlbmVyYXRlZCBwYXJzZXIgKi9cbnZhciBoYW5kbGViYXJzID0gKGZ1bmN0aW9uKCl7XG52YXIgcGFyc2VyID0ge3RyYWNlOiBmdW5jdGlvbiB0cmFjZSAoKSB7IH0sXG55eToge30sXG5zeW1ib2xzXzoge1wiZXJyb3JcIjoyLFwicm9vdFwiOjMsXCJwcm9ncmFtXCI6NCxcIkVPRlwiOjUsXCJwcm9ncmFtX3JlcGV0aXRpb24wXCI6NixcInN0YXRlbWVudFwiOjcsXCJtdXN0YWNoZVwiOjgsXCJibG9ja1wiOjksXCJyYXdCbG9ja1wiOjEwLFwicGFydGlhbFwiOjExLFwicGFydGlhbEJsb2NrXCI6MTIsXCJjb250ZW50XCI6MTMsXCJDT01NRU5UXCI6MTQsXCJDT05URU5UXCI6MTUsXCJvcGVuUmF3QmxvY2tcIjoxNixcInJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MTcsXCJFTkRfUkFXX0JMT0NLXCI6MTgsXCJPUEVOX1JBV19CTE9DS1wiOjE5LFwiaGVscGVyTmFtZVwiOjIwLFwib3BlblJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MjEsXCJvcGVuUmF3QmxvY2tfb3B0aW9uMFwiOjIyLFwiQ0xPU0VfUkFXX0JMT0NLXCI6MjMsXCJvcGVuQmxvY2tcIjoyNCxcImJsb2NrX29wdGlvbjBcIjoyNSxcImNsb3NlQmxvY2tcIjoyNixcIm9wZW5JbnZlcnNlXCI6MjcsXCJibG9ja19vcHRpb24xXCI6MjgsXCJPUEVOX0JMT0NLXCI6MjksXCJvcGVuQmxvY2tfcmVwZXRpdGlvbjBcIjozMCxcIm9wZW5CbG9ja19vcHRpb24wXCI6MzEsXCJvcGVuQmxvY2tfb3B0aW9uMVwiOjMyLFwiQ0xPU0VcIjozMyxcIk9QRU5fSU5WRVJTRVwiOjM0LFwib3BlbkludmVyc2VfcmVwZXRpdGlvbjBcIjozNSxcIm9wZW5JbnZlcnNlX29wdGlvbjBcIjozNixcIm9wZW5JbnZlcnNlX29wdGlvbjFcIjozNyxcIm9wZW5JbnZlcnNlQ2hhaW5cIjozOCxcIk9QRU5fSU5WRVJTRV9DSEFJTlwiOjM5LFwib3BlbkludmVyc2VDaGFpbl9yZXBldGl0aW9uMFwiOjQwLFwib3BlbkludmVyc2VDaGFpbl9vcHRpb24wXCI6NDEsXCJvcGVuSW52ZXJzZUNoYWluX29wdGlvbjFcIjo0MixcImludmVyc2VBbmRQcm9ncmFtXCI6NDMsXCJJTlZFUlNFXCI6NDQsXCJpbnZlcnNlQ2hhaW5cIjo0NSxcImludmVyc2VDaGFpbl9vcHRpb24wXCI6NDYsXCJPUEVOX0VOREJMT0NLXCI6NDcsXCJPUEVOXCI6NDgsXCJtdXN0YWNoZV9yZXBldGl0aW9uMFwiOjQ5LFwibXVzdGFjaGVfb3B0aW9uMFwiOjUwLFwiT1BFTl9VTkVTQ0FQRURcIjo1MSxcIm11c3RhY2hlX3JlcGV0aXRpb24xXCI6NTIsXCJtdXN0YWNoZV9vcHRpb24xXCI6NTMsXCJDTE9TRV9VTkVTQ0FQRURcIjo1NCxcIk9QRU5fUEFSVElBTFwiOjU1LFwicGFydGlhbE5hbWVcIjo1NixcInBhcnRpYWxfcmVwZXRpdGlvbjBcIjo1NyxcInBhcnRpYWxfb3B0aW9uMFwiOjU4LFwib3BlblBhcnRpYWxCbG9ja1wiOjU5LFwiT1BFTl9QQVJUSUFMX0JMT0NLXCI6NjAsXCJvcGVuUGFydGlhbEJsb2NrX3JlcGV0aXRpb24wXCI6NjEsXCJvcGVuUGFydGlhbEJsb2NrX29wdGlvbjBcIjo2MixcInBhcmFtXCI6NjMsXCJzZXhwclwiOjY0LFwiT1BFTl9TRVhQUlwiOjY1LFwic2V4cHJfcmVwZXRpdGlvbjBcIjo2NixcInNleHByX29wdGlvbjBcIjo2NyxcIkNMT1NFX1NFWFBSXCI6NjgsXCJoYXNoXCI6NjksXCJoYXNoX3JlcGV0aXRpb25fcGx1czBcIjo3MCxcImhhc2hTZWdtZW50XCI6NzEsXCJJRFwiOjcyLFwiRVFVQUxTXCI6NzMsXCJibG9ja1BhcmFtc1wiOjc0LFwiT1BFTl9CTE9DS19QQVJBTVNcIjo3NSxcImJsb2NrUGFyYW1zX3JlcGV0aXRpb25fcGx1czBcIjo3NixcIkNMT1NFX0JMT0NLX1BBUkFNU1wiOjc3LFwicGF0aFwiOjc4LFwiZGF0YU5hbWVcIjo3OSxcIlNUUklOR1wiOjgwLFwiTlVNQkVSXCI6ODEsXCJCT09MRUFOXCI6ODIsXCJVTkRFRklORURcIjo4MyxcIk5VTExcIjo4NCxcIkRBVEFcIjo4NSxcInBhdGhTZWdtZW50c1wiOjg2LFwiU0VQXCI6ODcsXCIkYWNjZXB0XCI6MCxcIiRlbmRcIjoxfSxcbnRlcm1pbmFsc186IHsyOlwiZXJyb3JcIiw1OlwiRU9GXCIsMTQ6XCJDT01NRU5UXCIsMTU6XCJDT05URU5UXCIsMTg6XCJFTkRfUkFXX0JMT0NLXCIsMTk6XCJPUEVOX1JBV19CTE9DS1wiLDIzOlwiQ0xPU0VfUkFXX0JMT0NLXCIsMjk6XCJPUEVOX0JMT0NLXCIsMzM6XCJDTE9TRVwiLDM0OlwiT1BFTl9JTlZFUlNFXCIsMzk6XCJPUEVOX0lOVkVSU0VfQ0hBSU5cIiw0NDpcIklOVkVSU0VcIiw0NzpcIk9QRU5fRU5EQkxPQ0tcIiw0ODpcIk9QRU5cIiw1MTpcIk9QRU5fVU5FU0NBUEVEXCIsNTQ6XCJDTE9TRV9VTkVTQ0FQRURcIiw1NTpcIk9QRU5fUEFSVElBTFwiLDYwOlwiT1BFTl9QQVJUSUFMX0JMT0NLXCIsNjU6XCJPUEVOX1NFWFBSXCIsNjg6XCJDTE9TRV9TRVhQUlwiLDcyOlwiSURcIiw3MzpcIkVRVUFMU1wiLDc1OlwiT1BFTl9CTE9DS19QQVJBTVNcIiw3NzpcIkNMT1NFX0JMT0NLX1BBUkFNU1wiLDgwOlwiU1RSSU5HXCIsODE6XCJOVU1CRVJcIiw4MjpcIkJPT0xFQU5cIiw4MzpcIlVOREVGSU5FRFwiLDg0OlwiTlVMTFwiLDg1OlwiREFUQVwiLDg3OlwiU0VQXCJ9LFxucHJvZHVjdGlvbnNfOiBbMCxbMywyXSxbNCwxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbMTMsMV0sWzEwLDNdLFsxNiw1XSxbOSw0XSxbOSw0XSxbMjQsNl0sWzI3LDZdLFszOCw2XSxbNDMsMl0sWzQ1LDNdLFs0NSwxXSxbMjYsM10sWzgsNV0sWzgsNV0sWzExLDVdLFsxMiwzXSxbNTksNV0sWzYzLDFdLFs2MywxXSxbNjQsNV0sWzY5LDFdLFs3MSwzXSxbNzQsM10sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFs1NiwxXSxbNTYsMV0sWzc5LDJdLFs3OCwxXSxbODYsM10sWzg2LDFdLFs2LDBdLFs2LDJdLFsxNywwXSxbMTcsMl0sWzIxLDBdLFsyMSwyXSxbMjIsMF0sWzIyLDFdLFsyNSwwXSxbMjUsMV0sWzI4LDBdLFsyOCwxXSxbMzAsMF0sWzMwLDJdLFszMSwwXSxbMzEsMV0sWzMyLDBdLFszMiwxXSxbMzUsMF0sWzM1LDJdLFszNiwwXSxbMzYsMV0sWzM3LDBdLFszNywxXSxbNDAsMF0sWzQwLDJdLFs0MSwwXSxbNDEsMV0sWzQyLDBdLFs0MiwxXSxbNDYsMF0sWzQ2LDFdLFs0OSwwXSxbNDksMl0sWzUwLDBdLFs1MCwxXSxbNTIsMF0sWzUyLDJdLFs1MywwXSxbNTMsMV0sWzU3LDBdLFs1NywyXSxbNTgsMF0sWzU4LDFdLFs2MSwwXSxbNjEsMl0sWzYyLDBdLFs2MiwxXSxbNjYsMF0sWzY2LDJdLFs2NywwXSxbNjcsMV0sWzcwLDFdLFs3MCwyXSxbNzYsMV0sWzc2LDJdXSxcbnBlcmZvcm1BY3Rpb246IGZ1bmN0aW9uIGFub255bW91cyh5eXRleHQseXlsZW5nLHl5bGluZW5vLHl5LHl5c3RhdGUsJCQsXyRcbikge1xuXG52YXIgJDAgPSAkJC5sZW5ndGggLSAxO1xuc3dpdGNoICh5eXN0YXRlKSB7XG5jYXNlIDE6IHJldHVybiAkJFskMC0xXTsgXG5icmVhaztcbmNhc2UgMjp0aGlzLiQgPSB5eS5wcmVwYXJlUHJvZ3JhbSgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDM6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDQ6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDU6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDY6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDc6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDk6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbW1lbnRTdGF0ZW1lbnQnLFxuICAgICAgdmFsdWU6IHl5LnN0cmlwQ29tbWVudCgkJFskMF0pLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDBdLCAkJFskMF0pLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMTA6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbnRlbnRTdGF0ZW1lbnQnLFxuICAgICAgb3JpZ2luYWw6ICQkWyQwXSxcbiAgICAgIHZhbHVlOiAkJFskMF0sXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAxMTp0aGlzLiQgPSB5eS5wcmVwYXJlUmF3QmxvY2soJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDEyOnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtM10sIHBhcmFtczogJCRbJDAtMl0sIGhhc2g6ICQkWyQwLTFdIH07XG5icmVhaztcbmNhc2UgMTM6dGhpcy4kID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTNdLCAkJFskMC0yXSwgJCRbJDAtMV0sICQkWyQwXSwgZmFsc2UsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE0OnRoaXMuJCA9IHl5LnByZXBhcmVCbG9jaygkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRydWUsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMuJCA9IHsgb3BlbjogJCRbJDAtNV0sIHBhdGg6ICQkWyQwLTRdLCBwYXJhbXM6ICQkWyQwLTNdLCBoYXNoOiAkJFskMC0yXSwgYmxvY2tQYXJhbXM6ICQkWyQwLTFdLCBzdHJpcDogeXkuc3RyaXBGbGFncygkJFskMC01XSwgJCRbJDBdKSB9O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtNF0sIHBhcmFtczogJCRbJDAtM10sIGhhc2g6ICQkWyQwLTJdLCBibG9ja1BhcmFtczogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTVdLCAkJFskMF0pIH07XG5icmVhaztcbmNhc2UgMTc6dGhpcy4kID0geyBwYXRoOiAkJFskMC00XSwgcGFyYW1zOiAkJFskMC0zXSwgaGFzaDogJCRbJDAtMl0sIGJsb2NrUGFyYW1zOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNV0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAxODp0aGlzLiQgPSB7IHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTFdLCAkJFskMC0xXSksIHByb2dyYW06ICQkWyQwXSB9O1xuYnJlYWs7XG5jYXNlIDE5OlxuICAgIHZhciBpbnZlcnNlID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCAkJFskMF0sIGZhbHNlLCB0aGlzLl8kKSxcbiAgICAgICAgcHJvZ3JhbSA9IHl5LnByZXBhcmVQcm9ncmFtKFtpbnZlcnNlXSwgJCRbJDAtMV0ubG9jKTtcbiAgICBwcm9ncmFtLmNoYWluZWQgPSB0cnVlO1xuXG4gICAgdGhpcy4kID0geyBzdHJpcDogJCRbJDAtMl0uc3RyaXAsIHByb2dyYW06IHByb2dyYW0sIGNoYWluOiB0cnVlIH07XG4gIFxuYnJlYWs7XG5jYXNlIDIwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAyMTp0aGlzLiQgPSB7cGF0aDogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTJdLCAkJFskMF0pfTtcbmJyZWFrO1xuY2FzZSAyMjp0aGlzLiQgPSB5eS5wcmVwYXJlTXVzdGFjaGUoJCRbJDAtM10sICQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDAtNF0sIHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDIzOnRoaXMuJCA9IHl5LnByZXBhcmVNdXN0YWNoZSgkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMC00XSwgeXkuc3RyaXBGbGFncygkJFskMC00XSwgJCRbJDBdKSwgdGhpcy5fJCk7XG5icmVhaztcbmNhc2UgMjQ6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ1BhcnRpYWxTdGF0ZW1lbnQnLFxuICAgICAgbmFtZTogJCRbJDAtM10sXG4gICAgICBwYXJhbXM6ICQkWyQwLTJdLFxuICAgICAgaGFzaDogJCRbJDAtMV0sXG4gICAgICBpbmRlbnQ6ICcnLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAyNTp0aGlzLiQgPSB5eS5wcmVwYXJlUGFydGlhbEJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSAyNjp0aGlzLiQgPSB7IHBhdGg6ICQkWyQwLTNdLCBwYXJhbXM6ICQkWyQwLTJdLCBoYXNoOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAyNzp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMjg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDI5OlxuICAgIHRoaXMuJCA9IHtcbiAgICAgIHR5cGU6ICdTdWJFeHByZXNzaW9uJyxcbiAgICAgIHBhdGg6ICQkWyQwLTNdLFxuICAgICAgcGFyYW1zOiAkJFskMC0yXSxcbiAgICAgIGhhc2g6ICQkWyQwLTFdLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMzA6dGhpcy4kID0ge3R5cGU6ICdIYXNoJywgcGFpcnM6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzMTp0aGlzLiQgPSB7dHlwZTogJ0hhc2hQYWlyJywga2V5OiB5eS5pZCgkJFskMC0yXSksIHZhbHVlOiAkJFskMF0sIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzI6dGhpcy4kID0geXkuaWQoJCRbJDAtMV0pO1xuYnJlYWs7XG5jYXNlIDMzOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAzNDp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMzU6dGhpcy4kID0ge3R5cGU6ICdTdHJpbmdMaXRlcmFsJywgdmFsdWU6ICQkWyQwXSwgb3JpZ2luYWw6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNjp0aGlzLiQgPSB7dHlwZTogJ051bWJlckxpdGVyYWwnLCB2YWx1ZTogTnVtYmVyKCQkWyQwXSksIG9yaWdpbmFsOiBOdW1iZXIoJCRbJDBdKSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNzp0aGlzLiQgPSB7dHlwZTogJ0Jvb2xlYW5MaXRlcmFsJywgdmFsdWU6ICQkWyQwXSA9PT0gJ3RydWUnLCBvcmlnaW5hbDogJCRbJDBdID09PSAndHJ1ZScsIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzg6dGhpcy4kID0ge3R5cGU6ICdVbmRlZmluZWRMaXRlcmFsJywgb3JpZ2luYWw6IHVuZGVmaW5lZCwgdmFsdWU6IHVuZGVmaW5lZCwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzOTp0aGlzLiQgPSB7dHlwZTogJ051bGxMaXRlcmFsJywgb3JpZ2luYWw6IG51bGwsIHZhbHVlOiBudWxsLCBsb2M6IHl5LmxvY0luZm8odGhpcy5fJCl9O1xuYnJlYWs7XG5jYXNlIDQwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSA0MTp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgNDI6dGhpcy4kID0geXkucHJlcGFyZVBhdGgodHJ1ZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0Mzp0aGlzLiQgPSB5eS5wcmVwYXJlUGF0aChmYWxzZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0NDogJCRbJDAtMl0ucHVzaCh7cGFydDogeXkuaWQoJCRbJDBdKSwgb3JpZ2luYWw6ICQkWyQwXSwgc2VwYXJhdG9yOiAkJFskMC0xXX0pOyB0aGlzLiQgPSAkJFskMC0yXTsgXG5icmVhaztcbmNhc2UgNDU6dGhpcy4kID0gW3twYXJ0OiB5eS5pZCgkJFskMF0pLCBvcmlnaW5hbDogJCRbJDBdfV07XG5icmVhaztcbmNhc2UgNDY6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNDc6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDQ4OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDQ5OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA1MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA1MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNTg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNTk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDY0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDY1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA3MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA3MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNzg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNzk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDgyOnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDgzOiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA4Njp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA4NzokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgOTA6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgOTE6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDk0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDk1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA5ODp0aGlzLiQgPSBbJCRbJDBdXTtcbmJyZWFrO1xuY2FzZSA5OTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgMTAwOnRoaXMuJCA9IFskJFskMF1dO1xuYnJlYWs7XG5jYXNlIDEwMTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbn1cbn0sXG50YWJsZTogW3szOjEsNDoyLDU6WzIsNDZdLDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE6WzNdfSx7NTpbMSw0XX0sezU6WzIsMl0sNzo1LDg6Niw5OjcsMTA6OCwxMTo5LDEyOjEwLDEzOjExLDE0OlsxLDEyXSwxNTpbMSwyMF0sMTY6MTcsMTk6WzEsMjNdLDI0OjE1LDI3OjE2LDI5OlsxLDIxXSwzNDpbMSwyMl0sMzk6WzIsMl0sNDQ6WzIsMl0sNDc6WzIsMl0sNDg6WzEsMTNdLDUxOlsxLDE0XSw1NTpbMSwxOF0sNTk6MTksNjA6WzEsMjRdfSx7MTpbMiwxXX0sezU6WzIsNDddLDE0OlsyLDQ3XSwxNTpbMiw0N10sMTk6WzIsNDddLDI5OlsyLDQ3XSwzNDpbMiw0N10sMzk6WzIsNDddLDQ0OlsyLDQ3XSw0NzpbMiw0N10sNDg6WzIsNDddLDUxOlsyLDQ3XSw1NTpbMiw0N10sNjA6WzIsNDddfSx7NTpbMiwzXSwxNDpbMiwzXSwxNTpbMiwzXSwxOTpbMiwzXSwyOTpbMiwzXSwzNDpbMiwzXSwzOTpbMiwzXSw0NDpbMiwzXSw0NzpbMiwzXSw0ODpbMiwzXSw1MTpbMiwzXSw1NTpbMiwzXSw2MDpbMiwzXX0sezU6WzIsNF0sMTQ6WzIsNF0sMTU6WzIsNF0sMTk6WzIsNF0sMjk6WzIsNF0sMzQ6WzIsNF0sMzk6WzIsNF0sNDQ6WzIsNF0sNDc6WzIsNF0sNDg6WzIsNF0sNTE6WzIsNF0sNTU6WzIsNF0sNjA6WzIsNF19LHs1OlsyLDVdLDE0OlsyLDVdLDE1OlsyLDVdLDE5OlsyLDVdLDI5OlsyLDVdLDM0OlsyLDVdLDM5OlsyLDVdLDQ0OlsyLDVdLDQ3OlsyLDVdLDQ4OlsyLDVdLDUxOlsyLDVdLDU1OlsyLDVdLDYwOlsyLDVdfSx7NTpbMiw2XSwxNDpbMiw2XSwxNTpbMiw2XSwxOTpbMiw2XSwyOTpbMiw2XSwzNDpbMiw2XSwzOTpbMiw2XSw0NDpbMiw2XSw0NzpbMiw2XSw0ODpbMiw2XSw1MTpbMiw2XSw1NTpbMiw2XSw2MDpbMiw2XX0sezU6WzIsN10sMTQ6WzIsN10sMTU6WzIsN10sMTk6WzIsN10sMjk6WzIsN10sMzQ6WzIsN10sMzk6WzIsN10sNDQ6WzIsN10sNDc6WzIsN10sNDg6WzIsN10sNTE6WzIsN10sNTU6WzIsN10sNjA6WzIsN119LHs1OlsyLDhdLDE0OlsyLDhdLDE1OlsyLDhdLDE5OlsyLDhdLDI5OlsyLDhdLDM0OlsyLDhdLDM5OlsyLDhdLDQ0OlsyLDhdLDQ3OlsyLDhdLDQ4OlsyLDhdLDUxOlsyLDhdLDU1OlsyLDhdLDYwOlsyLDhdfSx7NTpbMiw5XSwxNDpbMiw5XSwxNTpbMiw5XSwxOTpbMiw5XSwyOTpbMiw5XSwzNDpbMiw5XSwzOTpbMiw5XSw0NDpbMiw5XSw0NzpbMiw5XSw0ODpbMiw5XSw1MTpbMiw5XSw1NTpbMiw5XSw2MDpbMiw5XX0sezIwOjI1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjM2LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6MzcsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sMzk6WzIsNDZdLDQ0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NDozOCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE1OlsyLDQ4XSwxNzozOSwxODpbMiw0OF19LHsyMDo0MSw1Njo0MCw2NDo0Miw2NTpbMSw0M10sNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NDo0NCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NTpbMiwxMF0sMTQ6WzIsMTBdLDE1OlsyLDEwXSwxODpbMiwxMF0sMTk6WzIsMTBdLDI5OlsyLDEwXSwzNDpbMiwxMF0sMzk6WzIsMTBdLDQ0OlsyLDEwXSw0NzpbMiwxMF0sNDg6WzIsMTBdLDUxOlsyLDEwXSw1NTpbMiwxMF0sNjA6WzIsMTBdfSx7MjA6NDUsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDYsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDcsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDEsNTY6NDgsNjQ6NDIsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsyLDc4XSw0OTo0OSw2NTpbMiw3OF0sNzI6WzIsNzhdLDgwOlsyLDc4XSw4MTpbMiw3OF0sODI6WzIsNzhdLDgzOlsyLDc4XSw4NDpbMiw3OF0sODU6WzIsNzhdfSx7MjM6WzIsMzNdLDMzOlsyLDMzXSw1NDpbMiwzM10sNjU6WzIsMzNdLDY4OlsyLDMzXSw3MjpbMiwzM10sNzU6WzIsMzNdLDgwOlsyLDMzXSw4MTpbMiwzM10sODI6WzIsMzNdLDgzOlsyLDMzXSw4NDpbMiwzM10sODU6WzIsMzNdfSx7MjM6WzIsMzRdLDMzOlsyLDM0XSw1NDpbMiwzNF0sNjU6WzIsMzRdLDY4OlsyLDM0XSw3MjpbMiwzNF0sNzU6WzIsMzRdLDgwOlsyLDM0XSw4MTpbMiwzNF0sODI6WzIsMzRdLDgzOlsyLDM0XSw4NDpbMiwzNF0sODU6WzIsMzRdfSx7MjM6WzIsMzVdLDMzOlsyLDM1XSw1NDpbMiwzNV0sNjU6WzIsMzVdLDY4OlsyLDM1XSw3MjpbMiwzNV0sNzU6WzIsMzVdLDgwOlsyLDM1XSw4MTpbMiwzNV0sODI6WzIsMzVdLDgzOlsyLDM1XSw4NDpbMiwzNV0sODU6WzIsMzVdfSx7MjM6WzIsMzZdLDMzOlsyLDM2XSw1NDpbMiwzNl0sNjU6WzIsMzZdLDY4OlsyLDM2XSw3MjpbMiwzNl0sNzU6WzIsMzZdLDgwOlsyLDM2XSw4MTpbMiwzNl0sODI6WzIsMzZdLDgzOlsyLDM2XSw4NDpbMiwzNl0sODU6WzIsMzZdfSx7MjM6WzIsMzddLDMzOlsyLDM3XSw1NDpbMiwzN10sNjU6WzIsMzddLDY4OlsyLDM3XSw3MjpbMiwzN10sNzU6WzIsMzddLDgwOlsyLDM3XSw4MTpbMiwzN10sODI6WzIsMzddLDgzOlsyLDM3XSw4NDpbMiwzN10sODU6WzIsMzddfSx7MjM6WzIsMzhdLDMzOlsyLDM4XSw1NDpbMiwzOF0sNjU6WzIsMzhdLDY4OlsyLDM4XSw3MjpbMiwzOF0sNzU6WzIsMzhdLDgwOlsyLDM4XSw4MTpbMiwzOF0sODI6WzIsMzhdLDgzOlsyLDM4XSw4NDpbMiwzOF0sODU6WzIsMzhdfSx7MjM6WzIsMzldLDMzOlsyLDM5XSw1NDpbMiwzOV0sNjU6WzIsMzldLDY4OlsyLDM5XSw3MjpbMiwzOV0sNzU6WzIsMzldLDgwOlsyLDM5XSw4MTpbMiwzOV0sODI6WzIsMzldLDgzOlsyLDM5XSw4NDpbMiwzOV0sODU6WzIsMzldfSx7MjM6WzIsNDNdLDMzOlsyLDQzXSw1NDpbMiw0M10sNjU6WzIsNDNdLDY4OlsyLDQzXSw3MjpbMiw0M10sNzU6WzIsNDNdLDgwOlsyLDQzXSw4MTpbMiw0M10sODI6WzIsNDNdLDgzOlsyLDQzXSw4NDpbMiw0M10sODU6WzIsNDNdLDg3OlsxLDUwXX0sezcyOlsxLDM1XSw4Njo1MX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDc1OlsyLDQ1XSw4MDpbMiw0NV0sODE6WzIsNDVdLDgyOlsyLDQ1XSw4MzpbMiw0NV0sODQ6WzIsNDVdLDg1OlsyLDQ1XSw4NzpbMiw0NV19LHs1Mjo1Miw1NDpbMiw4Ml0sNjU6WzIsODJdLDcyOlsyLDgyXSw4MDpbMiw4Ml0sODE6WzIsODJdLDgyOlsyLDgyXSw4MzpbMiw4Ml0sODQ6WzIsODJdLDg1OlsyLDgyXX0sezI1OjUzLDM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6NTQsNDc6WzIsNTRdfSx7Mjg6NTksNDM6NjAsNDQ6WzEsNThdLDQ3OlsyLDU2XX0sezEzOjYyLDE1OlsxLDIwXSwxODpbMSw2MV19LHszMzpbMiw4Nl0sNTc6NjMsNjU6WzIsODZdLDcyOlsyLDg2XSw4MDpbMiw4Nl0sODE6WzIsODZdLDgyOlsyLDg2XSw4MzpbMiw4Nl0sODQ6WzIsODZdLDg1OlsyLDg2XX0sezMzOlsyLDQwXSw2NTpbMiw0MF0sNzI6WzIsNDBdLDgwOlsyLDQwXSw4MTpbMiw0MF0sODI6WzIsNDBdLDgzOlsyLDQwXSw4NDpbMiw0MF0sODU6WzIsNDBdfSx7MzM6WzIsNDFdLDY1OlsyLDQxXSw3MjpbMiw0MV0sODA6WzIsNDFdLDgxOlsyLDQxXSw4MjpbMiw0MV0sODM6WzIsNDFdLDg0OlsyLDQxXSw4NTpbMiw0MV19LHsyMDo2NCw3MjpbMSwzNV0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo2NSw0NzpbMSw2Nl19LHszMDo2NywzMzpbMiw1OF0sNjU6WzIsNThdLDcyOlsyLDU4XSw3NTpbMiw1OF0sODA6WzIsNThdLDgxOlsyLDU4XSw4MjpbMiw1OF0sODM6WzIsNThdLDg0OlsyLDU4XSw4NTpbMiw1OF19LHszMzpbMiw2NF0sMzU6NjgsNjU6WzIsNjRdLDcyOlsyLDY0XSw3NTpbMiw2NF0sODA6WzIsNjRdLDgxOlsyLDY0XSw4MjpbMiw2NF0sODM6WzIsNjRdLDg0OlsyLDY0XSw4NTpbMiw2NF19LHsyMTo2OSwyMzpbMiw1MF0sNjU6WzIsNTBdLDcyOlsyLDUwXSw4MDpbMiw1MF0sODE6WzIsNTBdLDgyOlsyLDUwXSw4MzpbMiw1MF0sODQ6WzIsNTBdLDg1OlsyLDUwXX0sezMzOlsyLDkwXSw2MTo3MCw2NTpbMiw5MF0sNzI6WzIsOTBdLDgwOlsyLDkwXSw4MTpbMiw5MF0sODI6WzIsOTBdLDgzOlsyLDkwXSw4NDpbMiw5MF0sODU6WzIsOTBdfSx7MjA6NzQsMzM6WzIsODBdLDUwOjcxLDYzOjcyLDY0Ojc1LDY1OlsxLDQzXSw2OTo3Myw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHs3MjpbMSw3OV19LHsyMzpbMiw0Ml0sMzM6WzIsNDJdLDU0OlsyLDQyXSw2NTpbMiw0Ml0sNjg6WzIsNDJdLDcyOlsyLDQyXSw3NTpbMiw0Ml0sODA6WzIsNDJdLDgxOlsyLDQyXSw4MjpbMiw0Ml0sODM6WzIsNDJdLDg0OlsyLDQyXSw4NTpbMiw0Ml0sODc6WzEsNTBdfSx7MjA6NzQsNTM6ODAsNTQ6WzIsODRdLDYzOjgxLDY0Ojc1LDY1OlsxLDQzXSw2OTo4Miw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo4Myw0NzpbMSw2Nl19LHs0NzpbMiw1NV19LHs0Ojg0LDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDM5OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezQ3OlsyLDIwXX0sezIwOjg1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6ODYsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezI2Ojg3LDQ3OlsxLDY2XX0sezQ3OlsyLDU3XX0sezU6WzIsMTFdLDE0OlsyLDExXSwxNTpbMiwxMV0sMTk6WzIsMTFdLDI5OlsyLDExXSwzNDpbMiwxMV0sMzk6WzIsMTFdLDQ0OlsyLDExXSw0NzpbMiwxMV0sNDg6WzIsMTFdLDUxOlsyLDExXSw1NTpbMiwxMV0sNjA6WzIsMTFdfSx7MTU6WzIsNDldLDE4OlsyLDQ5XX0sezIwOjc0LDMzOlsyLDg4XSw1ODo4OCw2Mzo4OSw2NDo3NSw2NTpbMSw0M10sNjk6OTAsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NjU6WzIsOTRdLDY2OjkxLDY4OlsyLDk0XSw3MjpbMiw5NF0sODA6WzIsOTRdLDgxOlsyLDk0XSw4MjpbMiw5NF0sODM6WzIsOTRdLDg0OlsyLDk0XSw4NTpbMiw5NF19LHs1OlsyLDI1XSwxNDpbMiwyNV0sMTU6WzIsMjVdLDE5OlsyLDI1XSwyOTpbMiwyNV0sMzQ6WzIsMjVdLDM5OlsyLDI1XSw0NDpbMiwyNV0sNDc6WzIsMjVdLDQ4OlsyLDI1XSw1MTpbMiwyNV0sNTU6WzIsMjVdLDYwOlsyLDI1XX0sezIwOjkyLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMxOjkzLDMzOlsyLDYwXSw2Mzo5NCw2NDo3NSw2NTpbMSw0M10sNjk6OTUsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDYwXSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMzOlsyLDY2XSwzNjo5Niw2Mzo5Nyw2NDo3NSw2NTpbMSw0M10sNjk6OTgsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDY2XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDIyOjk5LDIzOlsyLDUyXSw2MzoxMDAsNjQ6NzUsNjU6WzEsNDNdLDY5OjEwMSw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyMDo3NCwzMzpbMiw5Ml0sNjI6MTAyLDYzOjEwMyw2NDo3NSw2NTpbMSw0M10sNjk6MTA0LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDEwNV19LHszMzpbMiw3OV0sNjU6WzIsNzldLDcyOlsyLDc5XSw4MDpbMiw3OV0sODE6WzIsNzldLDgyOlsyLDc5XSw4MzpbMiw3OV0sODQ6WzIsNzldLDg1OlsyLDc5XX0sezMzOlsyLDgxXX0sezIzOlsyLDI3XSwzMzpbMiwyN10sNTQ6WzIsMjddLDY1OlsyLDI3XSw2ODpbMiwyN10sNzI6WzIsMjddLDc1OlsyLDI3XSw4MDpbMiwyN10sODE6WzIsMjddLDgyOlsyLDI3XSw4MzpbMiwyN10sODQ6WzIsMjddLDg1OlsyLDI3XX0sezIzOlsyLDI4XSwzMzpbMiwyOF0sNTQ6WzIsMjhdLDY1OlsyLDI4XSw2ODpbMiwyOF0sNzI6WzIsMjhdLDc1OlsyLDI4XSw4MDpbMiwyOF0sODE6WzIsMjhdLDgyOlsyLDI4XSw4MzpbMiwyOF0sODQ6WzIsMjhdLDg1OlsyLDI4XX0sezIzOlsyLDMwXSwzMzpbMiwzMF0sNTQ6WzIsMzBdLDY4OlsyLDMwXSw3MToxMDYsNzI6WzEsMTA3XSw3NTpbMiwzMF19LHsyMzpbMiw5OF0sMzM6WzIsOThdLDU0OlsyLDk4XSw2ODpbMiw5OF0sNzI6WzIsOThdLDc1OlsyLDk4XX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDczOlsxLDEwOF0sNzU6WzIsNDVdLDgwOlsyLDQ1XSw4MTpbMiw0NV0sODI6WzIsNDVdLDgzOlsyLDQ1XSw4NDpbMiw0NV0sODU6WzIsNDVdLDg3OlsyLDQ1XX0sezIzOlsyLDQ0XSwzMzpbMiw0NF0sNTQ6WzIsNDRdLDY1OlsyLDQ0XSw2ODpbMiw0NF0sNzI6WzIsNDRdLDc1OlsyLDQ0XSw4MDpbMiw0NF0sODE6WzIsNDRdLDgyOlsyLDQ0XSw4MzpbMiw0NF0sODQ6WzIsNDRdLDg1OlsyLDQ0XSw4NzpbMiw0NF19LHs1NDpbMSwxMDldfSx7NTQ6WzIsODNdLDY1OlsyLDgzXSw3MjpbMiw4M10sODA6WzIsODNdLDgxOlsyLDgzXSw4MjpbMiw4M10sODM6WzIsODNdLDg0OlsyLDgzXSw4NTpbMiw4M119LHs1NDpbMiw4NV19LHs1OlsyLDEzXSwxNDpbMiwxM10sMTU6WzIsMTNdLDE5OlsyLDEzXSwyOTpbMiwxM10sMzQ6WzIsMTNdLDM5OlsyLDEzXSw0NDpbMiwxM10sNDc6WzIsMTNdLDQ4OlsyLDEzXSw1MTpbMiwxM10sNTU6WzIsMTNdLDYwOlsyLDEzXX0sezM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6MTExLDQ2OjExMCw0NzpbMiw3Nl19LHszMzpbMiw3MF0sNDA6MTEyLDY1OlsyLDcwXSw3MjpbMiw3MF0sNzU6WzIsNzBdLDgwOlsyLDcwXSw4MTpbMiw3MF0sODI6WzIsNzBdLDgzOlsyLDcwXSw4NDpbMiw3MF0sODU6WzIsNzBdfSx7NDc6WzIsMThdfSx7NTpbMiwxNF0sMTQ6WzIsMTRdLDE1OlsyLDE0XSwxOTpbMiwxNF0sMjk6WzIsMTRdLDM0OlsyLDE0XSwzOTpbMiwxNF0sNDQ6WzIsMTRdLDQ3OlsyLDE0XSw0ODpbMiwxNF0sNTE6WzIsMTRdLDU1OlsyLDE0XSw2MDpbMiwxNF19LHszMzpbMSwxMTNdfSx7MzM6WzIsODddLDY1OlsyLDg3XSw3MjpbMiw4N10sODA6WzIsODddLDgxOlsyLDg3XSw4MjpbMiw4N10sODM6WzIsODddLDg0OlsyLDg3XSw4NTpbMiw4N119LHszMzpbMiw4OV19LHsyMDo3NCw2MzoxMTUsNjQ6NzUsNjU6WzEsNDNdLDY3OjExNCw2ODpbMiw5Nl0sNjk6MTE2LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDExN119LHszMjoxMTgsMzM6WzIsNjJdLDc0OjExOSw3NTpbMSwxMjBdfSx7MzM6WzIsNTldLDY1OlsyLDU5XSw3MjpbMiw1OV0sNzU6WzIsNTldLDgwOlsyLDU5XSw4MTpbMiw1OV0sODI6WzIsNTldLDgzOlsyLDU5XSw4NDpbMiw1OV0sODU6WzIsNTldfSx7MzM6WzIsNjFdLDc1OlsyLDYxXX0sezMzOlsyLDY4XSwzNzoxMjEsNzQ6MTIyLDc1OlsxLDEyMF19LHszMzpbMiw2NV0sNjU6WzIsNjVdLDcyOlsyLDY1XSw3NTpbMiw2NV0sODA6WzIsNjVdLDgxOlsyLDY1XSw4MjpbMiw2NV0sODM6WzIsNjVdLDg0OlsyLDY1XSw4NTpbMiw2NV19LHszMzpbMiw2N10sNzU6WzIsNjddfSx7MjM6WzEsMTIzXX0sezIzOlsyLDUxXSw2NTpbMiw1MV0sNzI6WzIsNTFdLDgwOlsyLDUxXSw4MTpbMiw1MV0sODI6WzIsNTFdLDgzOlsyLDUxXSw4NDpbMiw1MV0sODU6WzIsNTFdfSx7MjM6WzIsNTNdfSx7MzM6WzEsMTI0XX0sezMzOlsyLDkxXSw2NTpbMiw5MV0sNzI6WzIsOTFdLDgwOlsyLDkxXSw4MTpbMiw5MV0sODI6WzIsOTFdLDgzOlsyLDkxXSw4NDpbMiw5MV0sODU6WzIsOTFdfSx7MzM6WzIsOTNdfSx7NTpbMiwyMl0sMTQ6WzIsMjJdLDE1OlsyLDIyXSwxOTpbMiwyMl0sMjk6WzIsMjJdLDM0OlsyLDIyXSwzOTpbMiwyMl0sNDQ6WzIsMjJdLDQ3OlsyLDIyXSw0ODpbMiwyMl0sNTE6WzIsMjJdLDU1OlsyLDIyXSw2MDpbMiwyMl19LHsyMzpbMiw5OV0sMzM6WzIsOTldLDU0OlsyLDk5XSw2ODpbMiw5OV0sNzI6WzIsOTldLDc1OlsyLDk5XX0sezczOlsxLDEwOF19LHsyMDo3NCw2MzoxMjUsNjQ6NzUsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezU6WzIsMjNdLDE0OlsyLDIzXSwxNTpbMiwyM10sMTk6WzIsMjNdLDI5OlsyLDIzXSwzNDpbMiwyM10sMzk6WzIsMjNdLDQ0OlsyLDIzXSw0NzpbMiwyM10sNDg6WzIsMjNdLDUxOlsyLDIzXSw1NTpbMiwyM10sNjA6WzIsMjNdfSx7NDc6WzIsMTldfSx7NDc6WzIsNzddfSx7MjA6NzQsMzM6WzIsNzJdLDQxOjEyNiw2MzoxMjcsNjQ6NzUsNjU6WzEsNDNdLDY5OjEyOCw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzU6WzIsNzJdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NTpbMiwyNF0sMTQ6WzIsMjRdLDE1OlsyLDI0XSwxOTpbMiwyNF0sMjk6WzIsMjRdLDM0OlsyLDI0XSwzOTpbMiwyNF0sNDQ6WzIsMjRdLDQ3OlsyLDI0XSw0ODpbMiwyNF0sNTE6WzIsMjRdLDU1OlsyLDI0XSw2MDpbMiwyNF19LHs2ODpbMSwxMjldfSx7NjU6WzIsOTVdLDY4OlsyLDk1XSw3MjpbMiw5NV0sODA6WzIsOTVdLDgxOlsyLDk1XSw4MjpbMiw5NV0sODM6WzIsOTVdLDg0OlsyLDk1XSw4NTpbMiw5NV19LHs2ODpbMiw5N119LHs1OlsyLDIxXSwxNDpbMiwyMV0sMTU6WzIsMjFdLDE5OlsyLDIxXSwyOTpbMiwyMV0sMzQ6WzIsMjFdLDM5OlsyLDIxXSw0NDpbMiwyMV0sNDc6WzIsMjFdLDQ4OlsyLDIxXSw1MTpbMiwyMV0sNTU6WzIsMjFdLDYwOlsyLDIxXX0sezMzOlsxLDEzMF19LHszMzpbMiw2M119LHs3MjpbMSwxMzJdLDc2OjEzMX0sezMzOlsxLDEzM119LHszMzpbMiw2OV19LHsxNTpbMiwxMl0sMTg6WzIsMTJdfSx7MTQ6WzIsMjZdLDE1OlsyLDI2XSwxOTpbMiwyNl0sMjk6WzIsMjZdLDM0OlsyLDI2XSw0NzpbMiwyNl0sNDg6WzIsMjZdLDUxOlsyLDI2XSw1NTpbMiwyNl0sNjA6WzIsMjZdfSx7MjM6WzIsMzFdLDMzOlsyLDMxXSw1NDpbMiwzMV0sNjg6WzIsMzFdLDcyOlsyLDMxXSw3NTpbMiwzMV19LHszMzpbMiw3NF0sNDI6MTM0LDc0OjEzNSw3NTpbMSwxMjBdfSx7MzM6WzIsNzFdLDY1OlsyLDcxXSw3MjpbMiw3MV0sNzU6WzIsNzFdLDgwOlsyLDcxXSw4MTpbMiw3MV0sODI6WzIsNzFdLDgzOlsyLDcxXSw4NDpbMiw3MV0sODU6WzIsNzFdfSx7MzM6WzIsNzNdLDc1OlsyLDczXX0sezIzOlsyLDI5XSwzMzpbMiwyOV0sNTQ6WzIsMjldLDY1OlsyLDI5XSw2ODpbMiwyOV0sNzI6WzIsMjldLDc1OlsyLDI5XSw4MDpbMiwyOV0sODE6WzIsMjldLDgyOlsyLDI5XSw4MzpbMiwyOV0sODQ6WzIsMjldLDg1OlsyLDI5XX0sezE0OlsyLDE1XSwxNTpbMiwxNV0sMTk6WzIsMTVdLDI5OlsyLDE1XSwzNDpbMiwxNV0sMzk6WzIsMTVdLDQ0OlsyLDE1XSw0NzpbMiwxNV0sNDg6WzIsMTVdLDUxOlsyLDE1XSw1NTpbMiwxNV0sNjA6WzIsMTVdfSx7NzI6WzEsMTM3XSw3NzpbMSwxMzZdfSx7NzI6WzIsMTAwXSw3NzpbMiwxMDBdfSx7MTQ6WzIsMTZdLDE1OlsyLDE2XSwxOTpbMiwxNl0sMjk6WzIsMTZdLDM0OlsyLDE2XSw0NDpbMiwxNl0sNDc6WzIsMTZdLDQ4OlsyLDE2XSw1MTpbMiwxNl0sNTU6WzIsMTZdLDYwOlsyLDE2XX0sezMzOlsxLDEzOF19LHszMzpbMiw3NV19LHszMzpbMiwzMl19LHs3MjpbMiwxMDFdLDc3OlsyLDEwMV19LHsxNDpbMiwxN10sMTU6WzIsMTddLDE5OlsyLDE3XSwyOTpbMiwxN10sMzQ6WzIsMTddLDM5OlsyLDE3XSw0NDpbMiwxN10sNDc6WzIsMTddLDQ4OlsyLDE3XSw1MTpbMiwxN10sNTU6WzIsMTddLDYwOlsyLDE3XX1dLFxuZGVmYXVsdEFjdGlvbnM6IHs0OlsyLDFdLDU0OlsyLDU1XSw1NjpbMiwyMF0sNjA6WzIsNTddLDczOlsyLDgxXSw4MjpbMiw4NV0sODY6WzIsMThdLDkwOlsyLDg5XSwxMDE6WzIsNTNdLDEwNDpbMiw5M10sMTEwOlsyLDE5XSwxMTE6WzIsNzddLDExNjpbMiw5N10sMTE5OlsyLDYzXSwxMjI6WzIsNjldLDEzNTpbMiw3NV0sMTM2OlsyLDMyXX0sXG5wYXJzZUVycm9yOiBmdW5jdGlvbiBwYXJzZUVycm9yIChzdHIsIGhhc2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3Ioc3RyKTtcbn0sXG5wYXJzZTogZnVuY3Rpb24gcGFyc2UoaW5wdXQpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsIHN0YWNrID0gWzBdLCB2c3RhY2sgPSBbbnVsbF0sIGxzdGFjayA9IFtdLCB0YWJsZSA9IHRoaXMudGFibGUsIHl5dGV4dCA9IFwiXCIsIHl5bGluZW5vID0gMCwgeXlsZW5nID0gMCwgcmVjb3ZlcmluZyA9IDAsIFRFUlJPUiA9IDIsIEVPRiA9IDE7XG4gICAgdGhpcy5sZXhlci5zZXRJbnB1dChpbnB1dCk7XG4gICAgdGhpcy5sZXhlci55eSA9IHRoaXMueXk7XG4gICAgdGhpcy55eS5sZXhlciA9IHRoaXMubGV4ZXI7XG4gICAgdGhpcy55eS5wYXJzZXIgPSB0aGlzO1xuICAgIGlmICh0eXBlb2YgdGhpcy5sZXhlci55eWxsb2MgPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgdGhpcy5sZXhlci55eWxsb2MgPSB7fTtcbiAgICB2YXIgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICBsc3RhY2sucHVzaCh5eWxvYyk7XG4gICAgdmFyIHJhbmdlcyA9IHRoaXMubGV4ZXIub3B0aW9ucyAmJiB0aGlzLmxleGVyLm9wdGlvbnMucmFuZ2VzO1xuICAgIGlmICh0eXBlb2YgdGhpcy55eS5wYXJzZUVycm9yID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRoaXMueXkucGFyc2VFcnJvcjtcbiAgICBmdW5jdGlvbiBwb3BTdGFjayhuKSB7XG4gICAgICAgIHN0YWNrLmxlbmd0aCA9IHN0YWNrLmxlbmd0aCAtIDIgKiBuO1xuICAgICAgICB2c3RhY2subGVuZ3RoID0gdnN0YWNrLmxlbmd0aCAtIG47XG4gICAgICAgIGxzdGFjay5sZW5ndGggPSBsc3RhY2subGVuZ3RoIC0gbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gbGV4KCkge1xuICAgICAgICB2YXIgdG9rZW47XG4gICAgICAgIHRva2VuID0gc2VsZi5sZXhlci5sZXgoKSB8fCAxO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICB0b2tlbiA9IHNlbGYuc3ltYm9sc19bdG9rZW5dIHx8IHRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG4gICAgdmFyIHN5bWJvbCwgcHJlRXJyb3JTeW1ib2wsIHN0YXRlLCBhY3Rpb24sIGEsIHIsIHl5dmFsID0ge30sIHAsIGxlbiwgbmV3U3RhdGUsIGV4cGVjdGVkO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHN0YXRlID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRBY3Rpb25zW3N0YXRlXSkge1xuICAgICAgICAgICAgYWN0aW9uID0gdGhpcy5kZWZhdWx0QWN0aW9uc1tzdGF0ZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoc3ltYm9sID09PSBudWxsIHx8IHR5cGVvZiBzeW1ib2wgPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIHN5bWJvbCA9IGxleCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aW9uID0gdGFibGVbc3RhdGVdICYmIHRhYmxlW3N0YXRlXVtzeW1ib2xdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSBcInVuZGVmaW5lZFwiIHx8ICFhY3Rpb24ubGVuZ3RoIHx8ICFhY3Rpb25bMF0pIHtcbiAgICAgICAgICAgIHZhciBlcnJTdHIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFyZWNvdmVyaW5nKSB7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHAgaW4gdGFibGVbc3RhdGVdKVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXJtaW5hbHNfW3BdICYmIHAgPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZC5wdXNoKFwiJ1wiICsgdGhpcy50ZXJtaW5hbHNfW3BdICsgXCInXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGV4ZXIuc2hvd1Bvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGVyclN0ciA9IFwiUGFyc2UgZXJyb3Igb24gbGluZSBcIiArICh5eWxpbmVubyArIDEpICsgXCI6XFxuXCIgKyB0aGlzLmxleGVyLnNob3dQb3NpdGlvbigpICsgXCJcXG5FeHBlY3RpbmcgXCIgKyBleHBlY3RlZC5qb2luKFwiLCBcIikgKyBcIiwgZ290ICdcIiArICh0aGlzLnRlcm1pbmFsc19bc3ltYm9sXSB8fCBzeW1ib2wpICsgXCInXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyU3RyID0gXCJQYXJzZSBlcnJvciBvbiBsaW5lIFwiICsgKHl5bGluZW5vICsgMSkgKyBcIjogVW5leHBlY3RlZCBcIiArIChzeW1ib2wgPT0gMT9cImVuZCBvZiBpbnB1dFwiOlwiJ1wiICsgKHRoaXMudGVybWluYWxzX1tzeW1ib2xdIHx8IHN5bWJvbCkgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcihlcnJTdHIsIHt0ZXh0OiB0aGlzLmxleGVyLm1hdGNoLCB0b2tlbjogdGhpcy50ZXJtaW5hbHNfW3N5bWJvbF0gfHwgc3ltYm9sLCBsaW5lOiB0aGlzLmxleGVyLnl5bGluZW5vLCBsb2M6IHl5bG9jLCBleHBlY3RlZDogZXhwZWN0ZWR9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uWzBdIGluc3RhbmNlb2YgQXJyYXkgJiYgYWN0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcnNlIEVycm9yOiBtdWx0aXBsZSBhY3Rpb25zIHBvc3NpYmxlIGF0IHN0YXRlOiBcIiArIHN0YXRlICsgXCIsIHRva2VuOiBcIiArIHN5bWJvbCk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChhY3Rpb25bMF0pIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgc3RhY2sucHVzaChzeW1ib2wpO1xuICAgICAgICAgICAgdnN0YWNrLnB1c2godGhpcy5sZXhlci55eXRleHQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2godGhpcy5sZXhlci55eWxsb2MpO1xuICAgICAgICAgICAgc3RhY2sucHVzaChhY3Rpb25bMV0pO1xuICAgICAgICAgICAgc3ltYm9sID0gbnVsbDtcbiAgICAgICAgICAgIGlmICghcHJlRXJyb3JTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICB5eWxlbmcgPSB0aGlzLmxleGVyLnl5bGVuZztcbiAgICAgICAgICAgICAgICB5eXRleHQgPSB0aGlzLmxleGVyLnl5dGV4dDtcbiAgICAgICAgICAgICAgICB5eWxpbmVubyA9IHRoaXMubGV4ZXIueXlsaW5lbm87XG4gICAgICAgICAgICAgICAgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICAgICAgICAgICAgICBpZiAocmVjb3ZlcmluZyA+IDApXG4gICAgICAgICAgICAgICAgICAgIHJlY292ZXJpbmctLTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gcHJlRXJyb3JTeW1ib2w7XG4gICAgICAgICAgICAgICAgcHJlRXJyb3JTeW1ib2wgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGxlbiA9IHRoaXMucHJvZHVjdGlvbnNfW2FjdGlvblsxXV1bMV07XG4gICAgICAgICAgICB5eXZhbC4kID0gdnN0YWNrW3ZzdGFjay5sZW5ndGggLSBsZW5dO1xuICAgICAgICAgICAgeXl2YWwuXyQgPSB7Zmlyc3RfbGluZTogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5maXJzdF9saW5lLCBsYXN0X2xpbmU6IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gMV0ubGFzdF9saW5lLCBmaXJzdF9jb2x1bW46IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gKGxlbiB8fCAxKV0uZmlyc3RfY29sdW1uLCBsYXN0X2NvbHVtbjogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5sYXN0X2NvbHVtbn07XG4gICAgICAgICAgICBpZiAocmFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgeXl2YWwuXyQucmFuZ2UgPSBbbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5yYW5nZVswXSwgbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5yYW5nZVsxXV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByID0gdGhpcy5wZXJmb3JtQWN0aW9uLmNhbGwoeXl2YWwsIHl5dGV4dCwgeXlsZW5nLCB5eWxpbmVubywgdGhpcy55eSwgYWN0aW9uWzFdLCB2c3RhY2ssIGxzdGFjayk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZW4pIHtcbiAgICAgICAgICAgICAgICBzdGFjayA9IHN0YWNrLnNsaWNlKDAsIC0xICogbGVuICogMik7XG4gICAgICAgICAgICAgICAgdnN0YWNrID0gdnN0YWNrLnNsaWNlKDAsIC0xICogbGVuKTtcbiAgICAgICAgICAgICAgICBsc3RhY2sgPSBsc3RhY2suc2xpY2UoMCwgLTEgKiBsZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLnByb2R1Y3Rpb25zX1thY3Rpb25bMV1dWzBdKTtcbiAgICAgICAgICAgIHZzdGFjay5wdXNoKHl5dmFsLiQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2goeXl2YWwuXyQpO1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB0YWJsZVtzdGFja1tzdGFjay5sZW5ndGggLSAyXV1bc3RhY2tbc3RhY2subGVuZ3RoIC0gMV1dO1xuICAgICAgICAgICAgc3RhY2sucHVzaChuZXdTdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG59O1xuLyogSmlzb24gZ2VuZXJhdGVkIGxleGVyICovXG52YXIgbGV4ZXIgPSAoZnVuY3Rpb24oKXtcbnZhciBsZXhlciA9ICh7RU9GOjEsXG5wYXJzZUVycm9yOmZ1bmN0aW9uIHBhcnNlRXJyb3Ioc3RyLCBoYXNoKSB7XG4gICAgICAgIGlmICh0aGlzLnl5LnBhcnNlcikge1xuICAgICAgICAgICAgdGhpcy55eS5wYXJzZXIucGFyc2VFcnJvcihzdHIsIGhhc2gpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHN0cik7XG4gICAgICAgIH1cbiAgICB9LFxuc2V0SW5wdXQ6ZnVuY3Rpb24gKGlucHV0KSB7XG4gICAgICAgIHRoaXMuX2lucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0aGlzLl9sZXNzID0gdGhpcy5kb25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMueXlsaW5lbm8gPSB0aGlzLnl5bGVuZyA9IDA7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy5tYXRjaGVkID0gdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB0aGlzLmNvbmRpdGlvblN0YWNrID0gWydJTklUSUFMJ107XG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6MSxmaXJzdF9jb2x1bW46MCxsYXN0X2xpbmU6MSxsYXN0X2NvbHVtbjowfTtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlID0gWzAsMF07XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbmlucHV0OmZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNoID0gdGhpcy5faW5wdXRbMF07XG4gICAgICAgIHRoaXMueXl0ZXh0ICs9IGNoO1xuICAgICAgICB0aGlzLnl5bGVuZysrO1xuICAgICAgICB0aGlzLm9mZnNldCsrO1xuICAgICAgICB0aGlzLm1hdGNoICs9IGNoO1xuICAgICAgICB0aGlzLm1hdGNoZWQgKz0gY2g7XG4gICAgICAgIHZhciBsaW5lcyA9IGNoLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgaWYgKGxpbmVzKSB7XG4gICAgICAgICAgICB0aGlzLnl5bGluZW5vKys7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYy5sYXN0X2xpbmUrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMueXlsbG9jLmxhc3RfY29sdW1uKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlWzFdKys7XG5cbiAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZSgxKTtcbiAgICAgICAgcmV0dXJuIGNoO1xuICAgIH0sXG51bnB1dDpmdW5jdGlvbiAoY2gpIHtcbiAgICAgICAgdmFyIGxlbiA9IGNoLmxlbmd0aDtcbiAgICAgICAgdmFyIGxpbmVzID0gY2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcblxuICAgICAgICB0aGlzLl9pbnB1dCA9IGNoICsgdGhpcy5faW5wdXQ7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy55eXRleHQuc3Vic3RyKDAsIHRoaXMueXl0ZXh0Lmxlbmd0aC1sZW4tMSk7XG4gICAgICAgIC8vdGhpcy55eWxlbmcgLT0gbGVuO1xuICAgICAgICB0aGlzLm9mZnNldCAtPSBsZW47XG4gICAgICAgIHZhciBvbGRMaW5lcyA9IHRoaXMubWF0Y2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcbiAgICAgICAgdGhpcy5tYXRjaCA9IHRoaXMubWF0Y2guc3Vic3RyKDAsIHRoaXMubWF0Y2gubGVuZ3RoLTEpO1xuICAgICAgICB0aGlzLm1hdGNoZWQgPSB0aGlzLm1hdGNoZWQuc3Vic3RyKDAsIHRoaXMubWF0Y2hlZC5sZW5ndGgtMSk7XG5cbiAgICAgICAgaWYgKGxpbmVzLmxlbmd0aC0xKSB0aGlzLnl5bGluZW5vIC09IGxpbmVzLmxlbmd0aC0xO1xuICAgICAgICB2YXIgciA9IHRoaXMueXlsbG9jLnJhbmdlO1xuXG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6IHRoaXMueXlsbG9jLmZpcnN0X2xpbmUsXG4gICAgICAgICAgbGFzdF9saW5lOiB0aGlzLnl5bGluZW5vKzEsXG4gICAgICAgICAgZmlyc3RfY29sdW1uOiB0aGlzLnl5bGxvYy5maXJzdF9jb2x1bW4sXG4gICAgICAgICAgbGFzdF9jb2x1bW46IGxpbmVzID9cbiAgICAgICAgICAgICAgKGxpbmVzLmxlbmd0aCA9PT0gb2xkTGluZXMubGVuZ3RoID8gdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIDogMCkgKyBvbGRMaW5lc1tvbGRMaW5lcy5sZW5ndGggLSBsaW5lcy5sZW5ndGhdLmxlbmd0aCAtIGxpbmVzWzBdLmxlbmd0aDpcbiAgICAgICAgICAgICAgdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIC0gbGVuXG4gICAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJhbmdlcykge1xuICAgICAgICAgICAgdGhpcy55eWxsb2MucmFuZ2UgPSBbclswXSwgclswXSArIHRoaXMueXlsZW5nIC0gbGVuXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubW9yZTpmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubGVzczpmdW5jdGlvbiAobikge1xuICAgICAgICB0aGlzLnVucHV0KHRoaXMubWF0Y2guc2xpY2UobikpO1xuICAgIH0sXG5wYXN0SW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcGFzdCA9IHRoaXMubWF0Y2hlZC5zdWJzdHIoMCwgdGhpcy5tYXRjaGVkLmxlbmd0aCAtIHRoaXMubWF0Y2gubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIChwYXN0Lmxlbmd0aCA+IDIwID8gJy4uLic6JycpICsgcGFzdC5zdWJzdHIoLTIwKS5yZXBsYWNlKC9cXG4vZywgXCJcIik7XG4gICAgfSxcbnVwY29taW5nSW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbmV4dCA9IHRoaXMubWF0Y2g7XG4gICAgICAgIGlmIChuZXh0Lmxlbmd0aCA8IDIwKSB7XG4gICAgICAgICAgICBuZXh0ICs9IHRoaXMuX2lucHV0LnN1YnN0cigwLCAyMC1uZXh0Lmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChuZXh0LnN1YnN0cigwLDIwKSsobmV4dC5sZW5ndGggPiAyMCA/ICcuLi4nOicnKSkucmVwbGFjZSgvXFxuL2csIFwiXCIpO1xuICAgIH0sXG5zaG93UG9zaXRpb246ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcHJlID0gdGhpcy5wYXN0SW5wdXQoKTtcbiAgICAgICAgdmFyIGMgPSBuZXcgQXJyYXkocHJlLmxlbmd0aCArIDEpLmpvaW4oXCItXCIpO1xuICAgICAgICByZXR1cm4gcHJlICsgdGhpcy51cGNvbWluZ0lucHV0KCkgKyBcIlxcblwiICsgYytcIl5cIjtcbiAgICB9LFxubmV4dDpmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkVPRjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSB0cnVlO1xuXG4gICAgICAgIHZhciB0b2tlbixcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgdGVtcE1hdGNoLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICBjb2wsXG4gICAgICAgICAgICBsaW5lcztcbiAgICAgICAgaWYgKCF0aGlzLl9tb3JlKSB7XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCA9ICcnO1xuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBydWxlcyA9IHRoaXMuX2N1cnJlbnRSdWxlcygpO1xuICAgICAgICBmb3IgKHZhciBpPTA7aSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0ZW1wTWF0Y2ggPSB0aGlzLl9pbnB1dC5tYXRjaCh0aGlzLnJ1bGVzW3J1bGVzW2ldXSk7XG4gICAgICAgICAgICBpZiAodGVtcE1hdGNoICYmICghbWF0Y2ggfHwgdGVtcE1hdGNoWzBdLmxlbmd0aCA+IG1hdGNoWzBdLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IHRlbXBNYXRjaDtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZmxleCkgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBsaW5lcyA9IG1hdGNoWzBdLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgICAgIGlmIChsaW5lcykgdGhpcy55eWxpbmVubyArPSBsaW5lcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYyA9IHtmaXJzdF9saW5lOiB0aGlzLnl5bGxvYy5sYXN0X2xpbmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2xpbmU6IHRoaXMueXlsaW5lbm8rMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X2NvbHVtbjogdGhpcy55eWxsb2MubGFzdF9jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2NvbHVtbjogbGluZXMgPyBsaW5lc1tsaW5lcy5sZW5ndGgtMV0ubGVuZ3RoLWxpbmVzW2xpbmVzLmxlbmd0aC0xXS5tYXRjaCgvXFxyP1xcbj8vKVswXS5sZW5ndGggOiB0aGlzLnl5bGxvYy5sYXN0X2NvbHVtbiArIG1hdGNoWzBdLmxlbmd0aH07XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCArPSBtYXRjaFswXTtcbiAgICAgICAgICAgIHRoaXMubWF0Y2ggKz0gbWF0Y2hbMF07XG4gICAgICAgICAgICB0aGlzLm1hdGNoZXMgPSBtYXRjaDtcbiAgICAgICAgICAgIHRoaXMueXlsZW5nID0gdGhpcy55eXRleHQubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnl5bGxvYy5yYW5nZSA9IFt0aGlzLm9mZnNldCwgdGhpcy5vZmZzZXQgKz0gdGhpcy55eWxlbmddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fbW9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZShtYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5tYXRjaGVkICs9IG1hdGNoWzBdO1xuICAgICAgICAgICAgdG9rZW4gPSB0aGlzLnBlcmZvcm1BY3Rpb24uY2FsbCh0aGlzLCB0aGlzLnl5LCB0aGlzLCBydWxlc1tpbmRleF0sdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5kb25lICYmIHRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0b2tlbikgcmV0dXJuIHRva2VuO1xuICAgICAgICAgICAgZWxzZSByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2lucHV0ID09PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5FT0Y7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUVycm9yKCdMZXhpY2FsIGVycm9yIG9uIGxpbmUgJysodGhpcy55eWxpbmVubysxKSsnLiBVbnJlY29nbml6ZWQgdGV4dC5cXG4nK3RoaXMuc2hvd1Bvc2l0aW9uKCksXG4gICAgICAgICAgICAgICAgICAgIHt0ZXh0OiBcIlwiLCB0b2tlbjogbnVsbCwgbGluZTogdGhpcy55eWxpbmVub30pO1xuICAgICAgICB9XG4gICAgfSxcbmxleDpmdW5jdGlvbiBsZXggKCkge1xuICAgICAgICB2YXIgciA9IHRoaXMubmV4dCgpO1xuICAgICAgICBpZiAodHlwZW9mIHIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxleCgpO1xuICAgICAgICB9XG4gICAgfSxcbmJlZ2luOmZ1bmN0aW9uIGJlZ2luIChjb25kaXRpb24pIHtcbiAgICAgICAgdGhpcy5jb25kaXRpb25TdGFjay5wdXNoKGNvbmRpdGlvbik7XG4gICAgfSxcbnBvcFN0YXRlOmZ1bmN0aW9uIHBvcFN0YXRlICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2sucG9wKCk7XG4gICAgfSxcbl9jdXJyZW50UnVsZXM6ZnVuY3Rpb24gX2N1cnJlbnRSdWxlcyAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbnNbdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXV0ucnVsZXM7XG4gICAgfSxcbnRvcFN0YXRlOmZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMl07XG4gICAgfSxcbnB1c2hTdGF0ZTpmdW5jdGlvbiBiZWdpbiAoY29uZGl0aW9uKSB7XG4gICAgICAgIHRoaXMuYmVnaW4oY29uZGl0aW9uKTtcbiAgICB9fSk7XG5sZXhlci5vcHRpb25zID0ge307XG5sZXhlci5wZXJmb3JtQWN0aW9uID0gZnVuY3Rpb24gYW5vbnltb3VzKHl5LHl5XywkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zLFlZX1NUQVJUXG4pIHtcblxuXG5mdW5jdGlvbiBzdHJpcChzdGFydCwgZW5kKSB7XG4gIHJldHVybiB5eV8ueXl0ZXh0ID0geXlfLnl5dGV4dC5zdWJzdHJpbmcoc3RhcnQsIHl5Xy55eWxlbmcgLSBlbmQgKyBzdGFydCk7XG59XG5cblxudmFyIFlZU1RBVEU9WVlfU1RBUlRcbnN3aXRjaCgkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zKSB7XG5jYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHl5Xy55eXRleHQuc2xpY2UoLTIpID09PSBcIlxcXFxcXFxcXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcCgwLDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4oXCJtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKHl5Xy55eXRleHQuc2xpY2UoLTEpID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDAsMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbihcImVtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luKFwibXVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoeXlfLnl5dGV4dCkgcmV0dXJuIDE1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTpyZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSAzOnRoaXMuYmVnaW4oJ3JhdycpOyByZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdWxkIGJlIHVzaW5nIGB0aGlzLnRvcFN0YXRlKClgIGJlbG93LCBidXQgaXQgY3VycmVudGx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJucyB0aGUgc2Vjb25kIHRvcCBpbnN0ZWFkIG9mIHRoZSBmaXJzdCB0b3AuIE9wZW5lZCBhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzc3VlIGFib3V0IGl0IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS96YWFjaC9qaXNvbi9pc3N1ZXMvMjkxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV0gPT09ICdyYXcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDUsIDkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdFTkRfUkFXX0JMT0NLJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSA1OiByZXR1cm4gMTU7IFxuYnJlYWs7XG5jYXNlIDY6XG4gIHRoaXMucG9wU3RhdGUoKTtcbiAgcmV0dXJuIDE0O1xuXG5icmVhaztcbmNhc2UgNzpyZXR1cm4gNjU7XG5icmVhaztcbmNhc2UgODpyZXR1cm4gNjg7XG5icmVhaztcbmNhc2UgOTogcmV0dXJuIDE5OyBcbmJyZWFrO1xuY2FzZSAxMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbigncmF3Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTE6cmV0dXJuIDU1O1xuYnJlYWs7XG5jYXNlIDEyOnJldHVybiA2MDtcbmJyZWFrO1xuY2FzZSAxMzpyZXR1cm4gMjk7XG5icmVhaztcbmNhc2UgMTQ6cmV0dXJuIDQ3O1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE3OnJldHVybiAzNDtcbmJyZWFrO1xuY2FzZSAxODpyZXR1cm4gMzk7XG5icmVhaztcbmNhc2UgMTk6cmV0dXJuIDUxO1xuYnJlYWs7XG5jYXNlIDIwOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyMTpcbiAgdGhpcy51bnB1dCh5eV8ueXl0ZXh0KTtcbiAgdGhpcy5wb3BTdGF0ZSgpO1xuICB0aGlzLmJlZ2luKCdjb20nKTtcblxuYnJlYWs7XG5jYXNlIDIyOlxuICB0aGlzLnBvcFN0YXRlKCk7XG4gIHJldHVybiAxNDtcblxuYnJlYWs7XG5jYXNlIDIzOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyNDpyZXR1cm4gNzM7XG5icmVhaztcbmNhc2UgMjU6cmV0dXJuIDcyO1xuYnJlYWs7XG5jYXNlIDI2OnJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSAyNzpyZXR1cm4gODc7XG5icmVhaztcbmNhc2UgMjg6Ly8gaWdub3JlIHdoaXRlc3BhY2VcbmJyZWFrO1xuY2FzZSAyOTp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiA1NDtcbmJyZWFrO1xuY2FzZSAzMDp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiAzMztcbmJyZWFrO1xuY2FzZSAzMTp5eV8ueXl0ZXh0ID0gc3RyaXAoMSwyKS5yZXBsYWNlKC9cXFxcXCIvZywnXCInKTsgcmV0dXJuIDgwO1xuYnJlYWs7XG5jYXNlIDMyOnl5Xy55eXRleHQgPSBzdHJpcCgxLDIpLnJlcGxhY2UoL1xcXFwnL2csXCInXCIpOyByZXR1cm4gODA7XG5icmVhaztcbmNhc2UgMzM6cmV0dXJuIDg1O1xuYnJlYWs7XG5jYXNlIDM0OnJldHVybiA4MjtcbmJyZWFrO1xuY2FzZSAzNTpyZXR1cm4gODI7XG5icmVhaztcbmNhc2UgMzY6cmV0dXJuIDgzO1xuYnJlYWs7XG5jYXNlIDM3OnJldHVybiA4NDtcbmJyZWFrO1xuY2FzZSAzODpyZXR1cm4gODE7XG5icmVhaztcbmNhc2UgMzk6cmV0dXJuIDc1O1xuYnJlYWs7XG5jYXNlIDQwOnJldHVybiA3NztcbmJyZWFrO1xuY2FzZSA0MTpyZXR1cm4gNzI7XG5icmVhaztcbmNhc2UgNDI6eXlfLnl5dGV4dCA9IHl5Xy55eXRleHQucmVwbGFjZSgvXFxcXChbXFxcXFxcXV0pL2csJyQxJyk7IHJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSA0MzpyZXR1cm4gJ0lOVkFMSUQnO1xuYnJlYWs7XG5jYXNlIDQ0OnJldHVybiA1O1xuYnJlYWs7XG59XG59O1xubGV4ZXIucnVsZXMgPSBbL14oPzpbXlxceDAwXSo/KD89KFxce1xceykpKS8sL14oPzpbXlxceDAwXSspLywvXig/OlteXFx4MDBdezIsfT8oPz0oXFx7XFx7fFxcXFxcXHtcXHt8XFxcXFxcXFxcXHtcXHt8JCkpKS8sL14oPzpcXHtcXHtcXHtcXHsoPz1bXi9dKSkvLC9eKD86XFx7XFx7XFx7XFx7XFwvW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PVs9fVxcc1xcLy5dKVxcfVxcfVxcfVxcfSkvLC9eKD86W15cXHgwMF0rPyg/PShcXHtcXHtcXHtcXHspKSkvLC9eKD86W1xcc1xcU10qPy0tKH4pP1xcfVxcfSkvLC9eKD86XFwoKS8sL14oPzpcXCkpLywvXig/Olxce1xce1xce1xceykvLC9eKD86XFx9XFx9XFx9XFx9KS8sL14oPzpcXHtcXHsofik/PikvLC9eKD86XFx7XFx7KH4pPyM+KS8sL14oPzpcXHtcXHsofik/I1xcKj8pLywvXig/Olxce1xceyh+KT9cXC8pLywvXig/Olxce1xceyh+KT9cXF5cXHMqKH4pP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xccyplbHNlXFxzKih+KT9cXH1cXH0pLywvXig/Olxce1xceyh+KT9cXF4pLywvXig/Olxce1xceyh+KT9cXHMqZWxzZVxcYikvLC9eKD86XFx7XFx7KH4pP1xceykvLC9eKD86XFx7XFx7KH4pPyYpLywvXig/Olxce1xceyh+KT8hLS0pLywvXig/Olxce1xceyh+KT8hW1xcc1xcU10qP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xcKj8pLywvXig/Oj0pLywvXig/OlxcLlxcLikvLC9eKD86XFwuKD89KFs9fn1cXHNcXC8uKXxdKSkpLywvXig/OltcXC8uXSkvLC9eKD86XFxzKykvLC9eKD86XFx9KH4pP1xcfVxcfSkvLC9eKD86KH4pP1xcfVxcfSkvLC9eKD86XCIoXFxcXFtcIl18W15cIl0pKlwiKS8sL14oPzonKFxcXFxbJ118W14nXSkqJykvLC9eKD86QCkvLC9eKD86dHJ1ZSg/PShbfn1cXHMpXSkpKS8sL14oPzpmYWxzZSg/PShbfn1cXHMpXSkpKS8sL14oPzp1bmRlZmluZWQoPz0oW359XFxzKV0pKSkvLC9eKD86bnVsbCg/PShbfn1cXHMpXSkpKS8sL14oPzotP1swLTldKyg/OlxcLlswLTldKyk/KD89KFt+fVxccyldKSkpLywvXig/OmFzXFxzK1xcfCkvLC9eKD86XFx8KS8sL14oPzooW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PShbPX59XFxzXFwvLil8XSkpKSkvLC9eKD86XFxbKFxcXFxcXF18W15cXF1dKSpcXF0pLywvXig/Oi4pLywvXig/OiQpL107XG5sZXhlci5jb25kaXRpb25zID0ge1wibXVcIjp7XCJydWxlc1wiOls3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NF0sXCJpbmNsdXNpdmVcIjpmYWxzZX0sXCJlbXVcIjp7XCJydWxlc1wiOlsyXSxcImluY2x1c2l2ZVwiOmZhbHNlfSxcImNvbVwiOntcInJ1bGVzXCI6WzZdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwicmF3XCI6e1wicnVsZXNcIjpbMyw0LDVdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwiSU5JVElBTFwiOntcInJ1bGVzXCI6WzAsMSw0NF0sXCJpbmNsdXNpdmVcIjp0cnVlfX07XG5yZXR1cm4gbGV4ZXI7fSkoKVxucGFyc2VyLmxleGVyID0gbGV4ZXI7XG5mdW5jdGlvbiBQYXJzZXIgKCkgeyB0aGlzLnl5ID0ge307IH1QYXJzZXIucHJvdG90eXBlID0gcGFyc2VyO3BhcnNlci5QYXJzZXIgPSBQYXJzZXI7XG5yZXR1cm4gbmV3IFBhcnNlcjtcbn0pKCk7ZXhwb3J0IGRlZmF1bHQgaGFuZGxlYmFycztcbiJdfQ==\n","/* eslint-disable new-cap */\n'use strict';\n\nexports.__esModule = true;\nexports.print = print;\nexports.PrintVisitor = PrintVisitor;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _visitor = require('./visitor');\n\nvar _visitor2 = _interopRequireDefault(_visitor);\n\nfunction print(ast) {\n  return new PrintVisitor().accept(ast);\n}\n\nfunction PrintVisitor() {\n  this.padding = 0;\n}\n\nPrintVisitor.prototype = new _visitor2['default']();\n\nPrintVisitor.prototype.pad = function (string) {\n  var out = '';\n\n  for (var i = 0, l = this.padding; i < l; i++) {\n    out += '  ';\n  }\n\n  out += string + '\\n';\n  return out;\n};\n\nPrintVisitor.prototype.Program = function (program) {\n  var out = '',\n      body = program.body,\n      i = undefined,\n      l = undefined;\n\n  if (program.blockParams) {\n    var blockParams = 'BLOCK PARAMS: [';\n    for (i = 0, l = program.blockParams.length; i < l; i++) {\n      blockParams += ' ' + program.blockParams[i];\n    }\n    blockParams += ' ]';\n    out += this.pad(blockParams);\n  }\n\n  for (i = 0, l = body.length; i < l; i++) {\n    out += this.accept(body[i]);\n  }\n\n  this.padding--;\n\n  return out;\n};\n\nPrintVisitor.prototype.MustacheStatement = function (mustache) {\n  return this.pad('{{ ' + this.SubExpression(mustache) + ' }}');\n};\nPrintVisitor.prototype.Decorator = function (mustache) {\n  return this.pad('{{ DIRECTIVE ' + this.SubExpression(mustache) + ' }}');\n};\n\nPrintVisitor.prototype.BlockStatement = PrintVisitor.prototype.DecoratorBlock = function (block) {\n  var out = '';\n\n  out += this.pad((block.type === 'DecoratorBlock' ? 'DIRECTIVE ' : '') + 'BLOCK:');\n  this.padding++;\n  out += this.pad(this.SubExpression(block));\n  if (block.program) {\n    out += this.pad('PROGRAM:');\n    this.padding++;\n    out += this.accept(block.program);\n    this.padding--;\n  }\n  if (block.inverse) {\n    if (block.program) {\n      this.padding++;\n    }\n    out += this.pad('{{^}}');\n    this.padding++;\n    out += this.accept(block.inverse);\n    this.padding--;\n    if (block.program) {\n      this.padding--;\n    }\n  }\n  this.padding--;\n\n  return out;\n};\n\nPrintVisitor.prototype.PartialStatement = function (partial) {\n  var content = 'PARTIAL:' + partial.name.original;\n  if (partial.params[0]) {\n    content += ' ' + this.accept(partial.params[0]);\n  }\n  if (partial.hash) {\n    content += ' ' + this.accept(partial.hash);\n  }\n  return this.pad('{{> ' + content + ' }}');\n};\nPrintVisitor.prototype.PartialBlockStatement = function (partial) {\n  var content = 'PARTIAL BLOCK:' + partial.name.original;\n  if (partial.params[0]) {\n    content += ' ' + this.accept(partial.params[0]);\n  }\n  if (partial.hash) {\n    content += ' ' + this.accept(partial.hash);\n  }\n\n  content += ' ' + this.pad('PROGRAM:');\n  this.padding++;\n  content += this.accept(partial.program);\n  this.padding--;\n\n  return this.pad('{{> ' + content + ' }}');\n};\n\nPrintVisitor.prototype.ContentStatement = function (content) {\n  return this.pad(\"CONTENT[ '\" + content.value + \"' ]\");\n};\n\nPrintVisitor.prototype.CommentStatement = function (comment) {\n  return this.pad(\"{{! '\" + comment.value + \"' }}\");\n};\n\nPrintVisitor.prototype.SubExpression = function (sexpr) {\n  var params = sexpr.params,\n      paramStrings = [],\n      hash = undefined;\n\n  for (var i = 0, l = params.length; i < l; i++) {\n    paramStrings.push(this.accept(params[i]));\n  }\n\n  params = '[' + paramStrings.join(', ') + ']';\n\n  hash = sexpr.hash ? ' ' + this.accept(sexpr.hash) : '';\n\n  return this.accept(sexpr.path) + ' ' + params + hash;\n};\n\nPrintVisitor.prototype.PathExpression = function (id) {\n  var path = id.parts.join('/');\n  return (id.data ? '@' : '') + 'PATH:' + path;\n};\n\nPrintVisitor.prototype.StringLiteral = function (string) {\n  return '\"' + string.value + '\"';\n};\n\nPrintVisitor.prototype.NumberLiteral = function (number) {\n  return 'NUMBER{' + number.value + '}';\n};\n\nPrintVisitor.prototype.BooleanLiteral = function (bool) {\n  return 'BOOLEAN{' + bool.value + '}';\n};\n\nPrintVisitor.prototype.UndefinedLiteral = function () {\n  return 'UNDEFINED';\n};\n\nPrintVisitor.prototype.NullLiteral = function () {\n  return 'NULL';\n};\n\nPrintVisitor.prototype.Hash = function (hash) {\n  var pairs = hash.pairs,\n      joinedPairs = [];\n\n  for (var i = 0, l = pairs.length; i < l; i++) {\n    joinedPairs.push(this.accept(pairs[i]));\n  }\n\n  return 'HASH{' + joinedPairs.join(', ') + '}';\n};\nPrintVisitor.prototype.HashPair = function (pair) {\n  return pair.key + '=' + this.accept(pair.value);\n};\n/* eslint-enable new-cap */\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3ByaW50ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozt1QkFDb0IsV0FBVzs7OztBQUV4QixTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUU7QUFDekIsU0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN2Qzs7QUFFTSxTQUFTLFlBQVksR0FBRztBQUM3QixNQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztDQUNsQjs7QUFFRCxZQUFZLENBQUMsU0FBUyxHQUFHLDBCQUFhLENBQUM7O0FBRXZDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLFVBQVMsTUFBTSxFQUFFO0FBQzVDLE1BQUksR0FBRyxHQUFHLEVBQUUsQ0FBQzs7QUFFYixPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVDLE9BQUcsSUFBSSxJQUFJLENBQUM7R0FDYjs7QUFFRCxLQUFHLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztBQUNyQixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDakQsTUFBSSxHQUFHLEdBQUcsRUFBRTtNQUNWLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSTtNQUNuQixDQUFDLFlBQUE7TUFDRCxDQUFDLFlBQUEsQ0FBQzs7QUFFSixNQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7QUFDdkIsUUFBSSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDcEMsU0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3RELGlCQUFXLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDN0M7QUFDRCxlQUFXLElBQUksSUFBSSxDQUFDO0FBQ3BCLE9BQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0dBQzlCOztBQUVELE9BQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLE9BQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQzdCOztBQUVELE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7QUFFZixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsR0FBRyxVQUFTLFFBQVEsRUFBRTtBQUM1RCxTQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Q0FDL0QsQ0FBQztBQUNGLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFVBQVMsUUFBUSxFQUFFO0FBQ3BELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztDQUN6RSxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQzlFLEtBQUssRUFDTDtBQUNBLE1BQUksR0FBRyxHQUFHLEVBQUUsQ0FBQzs7QUFFYixLQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FDYixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBQSxHQUFJLFFBQVEsQ0FDakUsQ0FBQztBQUNGLE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLEtBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxNQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsT0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsUUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2YsT0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztHQUNoQjtBQUNELE1BQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixRQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7QUFDakIsVUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ2hCO0FBQ0QsT0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsUUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2YsT0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLFFBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNqQixVQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDaEI7R0FDRjtBQUNELE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7QUFFZixTQUFPLEdBQUcsQ0FBQztDQUNaLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUMxRCxNQUFJLE9BQU8sR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDakQsTUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0FBQ3JCLFdBQU8sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7R0FDakQ7QUFDRCxNQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7QUFDaEIsV0FBTyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUM1QztBQUNELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0NBQzNDLENBQUM7QUFDRixZQUFZLENBQUMsU0FBUyxDQUFDLHFCQUFxQixHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQy9ELE1BQUksT0FBTyxHQUFHLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3ZELE1BQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNyQixXQUFPLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQ2pEO0FBQ0QsTUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLFdBQU8sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDNUM7O0FBRUQsU0FBTyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RDLE1BQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNmLFNBQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxNQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7O0FBRWYsU0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7Q0FDM0MsQ0FBQzs7QUFFRixZQUFZLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQzFELFNBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztDQUN2RCxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDMUQsU0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0NBQ25ELENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsVUFBUyxLQUFLLEVBQUU7QUFDckQsTUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU07TUFDdkIsWUFBWSxHQUFHLEVBQUU7TUFDakIsSUFBSSxZQUFBLENBQUM7O0FBRVAsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM3QyxnQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7R0FDM0M7O0FBRUQsUUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQzs7QUFFN0MsTUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzs7QUFFdkQsU0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztDQUN0RCxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVMsRUFBRSxFQUFFO0FBQ25ELE1BQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLFNBQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0NBQzlDLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsVUFBUyxNQUFNLEVBQUU7QUFDdEQsU0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Q0FDakMsQ0FBQzs7QUFFRixZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxVQUFTLE1BQU0sRUFBRTtBQUN0RCxTQUFPLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztDQUN2QyxDQUFDOztBQUVGLFlBQVksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQ3JELFNBQU8sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0NBQ3RDLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxZQUFXO0FBQ25ELFNBQU8sV0FBVyxDQUFDO0NBQ3BCLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsWUFBVztBQUM5QyxTQUFPLE1BQU0sQ0FBQztDQUNmLENBQUM7O0FBRUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsVUFBUyxJQUFJLEVBQUU7QUFDM0MsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7TUFDcEIsV0FBVyxHQUFHLEVBQUUsQ0FBQzs7QUFFbkIsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxlQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztHQUN6Qzs7QUFFRCxTQUFPLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztDQUMvQyxDQUFDO0FBQ0YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBUyxJQUFJLEVBQUU7QUFDL0MsU0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUNqRCxDQUFDIiwiZmlsZSI6InByaW50ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5pbXBvcnQgVmlzaXRvciBmcm9tICcuL3Zpc2l0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnQoYXN0KSB7XG4gIHJldHVybiBuZXcgUHJpbnRWaXNpdG9yKCkuYWNjZXB0KGFzdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcmludFZpc2l0b3IoKSB7XG4gIHRoaXMucGFkZGluZyA9IDA7XG59XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUgPSBuZXcgVmlzaXRvcigpO1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLnBhZCA9IGZ1bmN0aW9uKHN0cmluZykge1xuICBsZXQgb3V0ID0gJyc7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnBhZGRpbmc7IGkgPCBsOyBpKyspIHtcbiAgICBvdXQgKz0gJyAgJztcbiAgfVxuXG4gIG91dCArPSBzdHJpbmcgKyAnXFxuJztcbiAgcmV0dXJuIG91dDtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuUHJvZ3JhbSA9IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgbGV0IG91dCA9ICcnLFxuICAgIGJvZHkgPSBwcm9ncmFtLmJvZHksXG4gICAgaSxcbiAgICBsO1xuXG4gIGlmIChwcm9ncmFtLmJsb2NrUGFyYW1zKSB7XG4gICAgbGV0IGJsb2NrUGFyYW1zID0gJ0JMT0NLIFBBUkFNUzogWyc7XG4gICAgZm9yIChpID0gMCwgbCA9IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBibG9ja1BhcmFtcyArPSAnICcgKyBwcm9ncmFtLmJsb2NrUGFyYW1zW2ldO1xuICAgIH1cbiAgICBibG9ja1BhcmFtcyArPSAnIF0nO1xuICAgIG91dCArPSB0aGlzLnBhZChibG9ja1BhcmFtcyk7XG4gIH1cblxuICBmb3IgKGkgPSAwLCBsID0gYm9keS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvdXQgKz0gdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gIH1cblxuICB0aGlzLnBhZGRpbmctLTtcblxuICByZXR1cm4gb3V0O1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudCA9IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gIHJldHVybiB0aGlzLnBhZCgne3sgJyArIHRoaXMuU3ViRXhwcmVzc2lvbihtdXN0YWNoZSkgKyAnIH19Jyk7XG59O1xuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5EZWNvcmF0b3IgPSBmdW5jdGlvbihtdXN0YWNoZSkge1xuICByZXR1cm4gdGhpcy5wYWQoJ3t7IERJUkVDVElWRSAnICsgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKSArICcgfX0nKTtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuQmxvY2tTdGF0ZW1lbnQgPSBQcmludFZpc2l0b3IucHJvdG90eXBlLkRlY29yYXRvckJsb2NrID0gZnVuY3Rpb24oXG4gIGJsb2NrXG4pIHtcbiAgbGV0IG91dCA9ICcnO1xuXG4gIG91dCArPSB0aGlzLnBhZChcbiAgICAoYmxvY2sudHlwZSA9PT0gJ0RlY29yYXRvckJsb2NrJyA/ICdESVJFQ1RJVkUgJyA6ICcnKSArICdCTE9DSzonXG4gICk7XG4gIHRoaXMucGFkZGluZysrO1xuICBvdXQgKz0gdGhpcy5wYWQodGhpcy5TdWJFeHByZXNzaW9uKGJsb2NrKSk7XG4gIGlmIChibG9jay5wcm9ncmFtKSB7XG4gICAgb3V0ICs9IHRoaXMucGFkKCdQUk9HUkFNOicpO1xuICAgIHRoaXMucGFkZGluZysrO1xuICAgIG91dCArPSB0aGlzLmFjY2VwdChibG9jay5wcm9ncmFtKTtcbiAgICB0aGlzLnBhZGRpbmctLTtcbiAgfVxuICBpZiAoYmxvY2suaW52ZXJzZSkge1xuICAgIGlmIChibG9jay5wcm9ncmFtKSB7XG4gICAgICB0aGlzLnBhZGRpbmcrKztcbiAgICB9XG4gICAgb3V0ICs9IHRoaXMucGFkKCd7e159fScpO1xuICAgIHRoaXMucGFkZGluZysrO1xuICAgIG91dCArPSB0aGlzLmFjY2VwdChibG9jay5pbnZlcnNlKTtcbiAgICB0aGlzLnBhZGRpbmctLTtcbiAgICBpZiAoYmxvY2sucHJvZ3JhbSkge1xuICAgICAgdGhpcy5wYWRkaW5nLS07XG4gICAgfVxuICB9XG4gIHRoaXMucGFkZGluZy0tO1xuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlBhcnRpYWxTdGF0ZW1lbnQgPSBmdW5jdGlvbihwYXJ0aWFsKSB7XG4gIGxldCBjb250ZW50ID0gJ1BBUlRJQUw6JyArIHBhcnRpYWwubmFtZS5vcmlnaW5hbDtcbiAgaWYgKHBhcnRpYWwucGFyYW1zWzBdKSB7XG4gICAgY29udGVudCArPSAnICcgKyB0aGlzLmFjY2VwdChwYXJ0aWFsLnBhcmFtc1swXSk7XG4gIH1cbiAgaWYgKHBhcnRpYWwuaGFzaCkge1xuICAgIGNvbnRlbnQgKz0gJyAnICsgdGhpcy5hY2NlcHQocGFydGlhbC5oYXNoKTtcbiAgfVxuICByZXR1cm4gdGhpcy5wYWQoJ3t7PiAnICsgY29udGVudCArICcgfX0nKTtcbn07XG5QcmludFZpc2l0b3IucHJvdG90eXBlLlBhcnRpYWxCbG9ja1N0YXRlbWVudCA9IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgbGV0IGNvbnRlbnQgPSAnUEFSVElBTCBCTE9DSzonICsgcGFydGlhbC5uYW1lLm9yaWdpbmFsO1xuICBpZiAocGFydGlhbC5wYXJhbXNbMF0pIHtcbiAgICBjb250ZW50ICs9ICcgJyArIHRoaXMuYWNjZXB0KHBhcnRpYWwucGFyYW1zWzBdKTtcbiAgfVxuICBpZiAocGFydGlhbC5oYXNoKSB7XG4gICAgY29udGVudCArPSAnICcgKyB0aGlzLmFjY2VwdChwYXJ0aWFsLmhhc2gpO1xuICB9XG5cbiAgY29udGVudCArPSAnICcgKyB0aGlzLnBhZCgnUFJPR1JBTTonKTtcbiAgdGhpcy5wYWRkaW5nKys7XG4gIGNvbnRlbnQgKz0gdGhpcy5hY2NlcHQocGFydGlhbC5wcm9ncmFtKTtcbiAgdGhpcy5wYWRkaW5nLS07XG5cbiAgcmV0dXJuIHRoaXMucGFkKCd7ez4gJyArIGNvbnRlbnQgKyAnIH19Jyk7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLkNvbnRlbnRTdGF0ZW1lbnQgPSBmdW5jdGlvbihjb250ZW50KSB7XG4gIHJldHVybiB0aGlzLnBhZChcIkNPTlRFTlRbICdcIiArIGNvbnRlbnQudmFsdWUgKyBcIicgXVwiKTtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuQ29tbWVudFN0YXRlbWVudCA9IGZ1bmN0aW9uKGNvbW1lbnQpIHtcbiAgcmV0dXJuIHRoaXMucGFkKFwie3shICdcIiArIGNvbW1lbnQudmFsdWUgKyBcIicgfX1cIik7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlN1YkV4cHJlc3Npb24gPSBmdW5jdGlvbihzZXhwcikge1xuICBsZXQgcGFyYW1zID0gc2V4cHIucGFyYW1zLFxuICAgIHBhcmFtU3RyaW5ncyA9IFtdLFxuICAgIGhhc2g7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJhbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgcGFyYW1TdHJpbmdzLnB1c2godGhpcy5hY2NlcHQocGFyYW1zW2ldKSk7XG4gIH1cblxuICBwYXJhbXMgPSAnWycgKyBwYXJhbVN0cmluZ3Muam9pbignLCAnKSArICddJztcblxuICBoYXNoID0gc2V4cHIuaGFzaCA/ICcgJyArIHRoaXMuYWNjZXB0KHNleHByLmhhc2gpIDogJyc7XG5cbiAgcmV0dXJuIHRoaXMuYWNjZXB0KHNleHByLnBhdGgpICsgJyAnICsgcGFyYW1zICsgaGFzaDtcbn07XG5cblByaW50VmlzaXRvci5wcm90b3R5cGUuUGF0aEV4cHJlc3Npb24gPSBmdW5jdGlvbihpZCkge1xuICBsZXQgcGF0aCA9IGlkLnBhcnRzLmpvaW4oJy8nKTtcbiAgcmV0dXJuIChpZC5kYXRhID8gJ0AnIDogJycpICsgJ1BBVEg6JyArIHBhdGg7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlN0cmluZ0xpdGVyYWwgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgcmV0dXJuICdcIicgKyBzdHJpbmcudmFsdWUgKyAnXCInO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5OdW1iZXJMaXRlcmFsID0gZnVuY3Rpb24obnVtYmVyKSB7XG4gIHJldHVybiAnTlVNQkVSeycgKyBudW1iZXIudmFsdWUgKyAnfSc7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLkJvb2xlYW5MaXRlcmFsID0gZnVuY3Rpb24oYm9vbCkge1xuICByZXR1cm4gJ0JPT0xFQU57JyArIGJvb2wudmFsdWUgKyAnfSc7XG59O1xuXG5QcmludFZpc2l0b3IucHJvdG90eXBlLlVuZGVmaW5lZExpdGVyYWwgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuICdVTkRFRklORUQnO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5OdWxsTGl0ZXJhbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gJ05VTEwnO1xufTtcblxuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5IYXNoID0gZnVuY3Rpb24oaGFzaCkge1xuICBsZXQgcGFpcnMgPSBoYXNoLnBhaXJzLFxuICAgIGpvaW5lZFBhaXJzID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYWlycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBqb2luZWRQYWlycy5wdXNoKHRoaXMuYWNjZXB0KHBhaXJzW2ldKSk7XG4gIH1cblxuICByZXR1cm4gJ0hBU0h7JyArIGpvaW5lZFBhaXJzLmpvaW4oJywgJykgKyAnfSc7XG59O1xuUHJpbnRWaXNpdG9yLnByb3RvdHlwZS5IYXNoUGFpciA9IGZ1bmN0aW9uKHBhaXIpIHtcbiAgcmV0dXJuIHBhaXIua2V5ICsgJz0nICsgdGhpcy5hY2NlcHQocGFpci52YWx1ZSk7XG59O1xuLyogZXNsaW50LWVuYWJsZSBuZXctY2FwICovXG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction Visitor() {\n  this.parents = [];\n}\n\nVisitor.prototype = {\n  constructor: Visitor,\n  mutating: false,\n\n  // Visits a given value. If mutating, will replace the value if necessary.\n  acceptKey: function acceptKey(node, name) {\n    var value = this.accept(node[name]);\n    if (this.mutating) {\n      // Hacky sanity check: This may have a few false positives for type for the helper\n      // methods but will generally do the right thing without a lot of overhead.\n      if (value && !Visitor.prototype[value.type]) {\n        throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n      }\n      node[name] = value;\n    }\n  },\n\n  // Performs an accept operation with added sanity check to ensure\n  // required keys are not removed.\n  acceptRequired: function acceptRequired(node, name) {\n    this.acceptKey(node, name);\n\n    if (!node[name]) {\n      throw new _exception2['default'](node.type + ' requires ' + name);\n    }\n  },\n\n  // Traverses a given array. If mutating, empty respnses will be removed\n  // for child elements.\n  acceptArray: function acceptArray(array) {\n    for (var i = 0, l = array.length; i < l; i++) {\n      this.acceptKey(array, i);\n\n      if (!array[i]) {\n        array.splice(i, 1);\n        i--;\n        l--;\n      }\n    }\n  },\n\n  accept: function accept(object) {\n    if (!object) {\n      return;\n    }\n\n    /* istanbul ignore next: Sanity code */\n    if (!this[object.type]) {\n      throw new _exception2['default']('Unknown type: ' + object.type, object);\n    }\n\n    if (this.current) {\n      this.parents.unshift(this.current);\n    }\n    this.current = object;\n\n    var ret = this[object.type](object);\n\n    this.current = this.parents.shift();\n\n    if (!this.mutating || ret) {\n      return ret;\n    } else if (ret !== false) {\n      return object;\n    }\n  },\n\n  Program: function Program(program) {\n    this.acceptArray(program.body);\n  },\n\n  MustacheStatement: visitSubExpression,\n  Decorator: visitSubExpression,\n\n  BlockStatement: visitBlock,\n  DecoratorBlock: visitBlock,\n\n  PartialStatement: visitPartial,\n  PartialBlockStatement: function PartialBlockStatement(partial) {\n    visitPartial.call(this, partial);\n\n    this.acceptKey(partial, 'program');\n  },\n\n  ContentStatement: function ContentStatement() /* content */{},\n  CommentStatement: function CommentStatement() /* comment */{},\n\n  SubExpression: visitSubExpression,\n\n  PathExpression: function PathExpression() /* path */{},\n\n  StringLiteral: function StringLiteral() /* string */{},\n  NumberLiteral: function NumberLiteral() /* number */{},\n  BooleanLiteral: function BooleanLiteral() /* bool */{},\n  UndefinedLiteral: function UndefinedLiteral() /* literal */{},\n  NullLiteral: function NullLiteral() /* literal */{},\n\n  Hash: function Hash(hash) {\n    this.acceptArray(hash.pairs);\n  },\n  HashPair: function HashPair(pair) {\n    this.acceptRequired(pair, 'value');\n  }\n};\n\nfunction visitSubExpression(mustache) {\n  this.acceptRequired(mustache, 'path');\n  this.acceptArray(mustache.params);\n  this.acceptKey(mustache, 'hash');\n}\nfunction visitBlock(block) {\n  visitSubExpression.call(this, block);\n\n  this.acceptKey(block, 'program');\n  this.acceptKey(block, 'inverse');\n}\nfunction visitPartial(partial) {\n  this.acceptRequired(partial, 'name');\n  this.acceptArray(partial.params);\n  this.acceptKey(partial, 'hash');\n}\n\nexports['default'] = Visitor;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztBQUVwQyxTQUFTLE9BQU8sR0FBRztBQUNqQixNQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztDQUNuQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHO0FBQ2xCLGFBQVcsRUFBRSxPQUFPO0FBQ3BCLFVBQVEsRUFBRSxLQUFLOzs7QUFHZixXQUFTLEVBQUUsbUJBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUM5QixRQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7O0FBR2pCLFVBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDM0MsY0FBTSwyQkFDSix3QkFBd0IsR0FDdEIsS0FBSyxDQUFDLElBQUksR0FDVix5QkFBeUIsR0FDekIsSUFBSSxHQUNKLE1BQU0sR0FDTixJQUFJLENBQUMsSUFBSSxDQUNaLENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDcEI7R0FDRjs7OztBQUlELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUNuQyxRQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFM0IsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNmLFlBQU0sMkJBQWMsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDdEQ7R0FDRjs7OztBQUlELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxVQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFekIsVUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUNiLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25CLFNBQUMsRUFBRSxDQUFDO0FBQ0osU0FBQyxFQUFFLENBQUM7T0FDTDtLQUNGO0dBQ0Y7O0FBRUQsUUFBTSxFQUFFLGdCQUFTLE1BQU0sRUFBRTtBQUN2QixRQUFJLENBQUMsTUFBTSxFQUFFO0FBQ1gsYUFBTztLQUNSOzs7QUFHRCxRQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUN0QixZQUFNLDJCQUFjLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDN0Q7O0FBRUQsUUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO0FBQ2hCLFVBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNwQztBQUNELFFBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDOztBQUV0QixRQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVwQyxRQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7O0FBRXBDLFFBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFBRTtBQUN6QixhQUFPLEdBQUcsQ0FBQztLQUNaLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO0FBQ3hCLGFBQU8sTUFBTSxDQUFDO0tBQ2Y7R0FDRjs7QUFFRCxTQUFPLEVBQUUsaUJBQVMsT0FBTyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQ2hDOztBQUVELG1CQUFpQixFQUFFLGtCQUFrQjtBQUNyQyxXQUFTLEVBQUUsa0JBQWtCOztBQUU3QixnQkFBYyxFQUFFLFVBQVU7QUFDMUIsZ0JBQWMsRUFBRSxVQUFVOztBQUUxQixrQkFBZ0IsRUFBRSxZQUFZO0FBQzlCLHVCQUFxQixFQUFFLCtCQUFTLE9BQU8sRUFBRTtBQUN2QyxnQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRWpDLFFBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3BDOztBQUVELGtCQUFnQixFQUFFLHlDQUF3QixFQUFFO0FBQzVDLGtCQUFnQixFQUFFLHlDQUF3QixFQUFFOztBQUU1QyxlQUFhLEVBQUUsa0JBQWtCOztBQUVqQyxnQkFBYyxFQUFFLG9DQUFxQixFQUFFOztBQUV2QyxlQUFhLEVBQUUscUNBQXVCLEVBQUU7QUFDeEMsZUFBYSxFQUFFLHFDQUF1QixFQUFFO0FBQ3hDLGdCQUFjLEVBQUUsb0NBQXFCLEVBQUU7QUFDdkMsa0JBQWdCLEVBQUUseUNBQXdCLEVBQUU7QUFDNUMsYUFBVyxFQUFFLG9DQUF3QixFQUFFOztBQUV2QyxNQUFJLEVBQUUsY0FBUyxJQUFJLEVBQUU7QUFDbkIsUUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7R0FDOUI7QUFDRCxVQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLFFBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ3BDO0NBQ0YsQ0FBQzs7QUFFRixTQUFTLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtBQUNwQyxNQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN0QyxNQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxNQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRTtBQUN6QixvQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUVyQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUM3QixNQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxNQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNqQzs7cUJBRWMsT0FBTyIsImZpbGUiOiJ2aXNpdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5mdW5jdGlvbiBWaXNpdG9yKCkge1xuICB0aGlzLnBhcmVudHMgPSBbXTtcbn1cblxuVmlzaXRvci5wcm90b3R5cGUgPSB7XG4gIGNvbnN0cnVjdG9yOiBWaXNpdG9yLFxuICBtdXRhdGluZzogZmFsc2UsXG5cbiAgLy8gVmlzaXRzIGEgZ2l2ZW4gdmFsdWUuIElmIG11dGF0aW5nLCB3aWxsIHJlcGxhY2UgdGhlIHZhbHVlIGlmIG5lY2Vzc2FyeS5cbiAgYWNjZXB0S2V5OiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5hY2NlcHQobm9kZVtuYW1lXSk7XG4gICAgaWYgKHRoaXMubXV0YXRpbmcpIHtcbiAgICAgIC8vIEhhY2t5IHNhbml0eSBjaGVjazogVGhpcyBtYXkgaGF2ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgZm9yIHR5cGUgZm9yIHRoZSBoZWxwZXJcbiAgICAgIC8vIG1ldGhvZHMgYnV0IHdpbGwgZ2VuZXJhbGx5IGRvIHRoZSByaWdodCB0aGluZyB3aXRob3V0IGEgbG90IG9mIG92ZXJoZWFkLlxuICAgICAgaWYgKHZhbHVlICYmICFWaXNpdG9yLnByb3RvdHlwZVt2YWx1ZS50eXBlXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAgICdVbmV4cGVjdGVkIG5vZGUgdHlwZSBcIicgK1xuICAgICAgICAgICAgdmFsdWUudHlwZSArXG4gICAgICAgICAgICAnXCIgZm91bmQgd2hlbiBhY2NlcHRpbmcgJyArXG4gICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICcgb24gJyArXG4gICAgICAgICAgICBub2RlLnR5cGVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIG5vZGVbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH0sXG5cbiAgLy8gUGVyZm9ybXMgYW4gYWNjZXB0IG9wZXJhdGlvbiB3aXRoIGFkZGVkIHNhbml0eSBjaGVjayB0byBlbnN1cmVcbiAgLy8gcmVxdWlyZWQga2V5cyBhcmUgbm90IHJlbW92ZWQuXG4gIGFjY2VwdFJlcXVpcmVkOiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgdGhpcy5hY2NlcHRLZXkobm9kZSwgbmFtZSk7XG5cbiAgICBpZiAoIW5vZGVbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24obm9kZS50eXBlICsgJyByZXF1aXJlcyAnICsgbmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIC8vIFRyYXZlcnNlcyBhIGdpdmVuIGFycmF5LiBJZiBtdXRhdGluZywgZW1wdHkgcmVzcG5zZXMgd2lsbCBiZSByZW1vdmVkXG4gIC8vIGZvciBjaGlsZCBlbGVtZW50cy5cbiAgYWNjZXB0QXJyYXk6IGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBhcnJheS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMuYWNjZXB0S2V5KGFycmF5LCBpKTtcblxuICAgICAgaWYgKCFhcnJheVtpXSkge1xuICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGktLTtcbiAgICAgICAgbC0tO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBhY2NlcHQ6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgIGlmICghb2JqZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IFNhbml0eSBjb2RlICovXG4gICAgaWYgKCF0aGlzW29iamVjdC50eXBlXSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVW5rbm93biB0eXBlOiAnICsgb2JqZWN0LnR5cGUsIG9iamVjdCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgdGhpcy5wYXJlbnRzLnVuc2hpZnQodGhpcy5jdXJyZW50KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50ID0gb2JqZWN0O1xuXG4gICAgbGV0IHJldCA9IHRoaXNbb2JqZWN0LnR5cGVdKG9iamVjdCk7XG5cbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnBhcmVudHMuc2hpZnQoKTtcblxuICAgIGlmICghdGhpcy5tdXRhdGluZyB8fCByZXQpIHtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBlbHNlIGlmIChyZXQgIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5hY2NlcHRBcnJheShwcm9ncmFtLmJvZHkpO1xuICB9LFxuXG4gIE11c3RhY2hlU3RhdGVtZW50OiB2aXNpdFN1YkV4cHJlc3Npb24sXG4gIERlY29yYXRvcjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIEJsb2NrU3RhdGVtZW50OiB2aXNpdEJsb2NrLFxuICBEZWNvcmF0b3JCbG9jazogdmlzaXRCbG9jayxcblxuICBQYXJ0aWFsU3RhdGVtZW50OiB2aXNpdFBhcnRpYWwsXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbCkge1xuICAgIHZpc2l0UGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwpO1xuXG4gICAgdGhpcy5hY2NlcHRLZXkocGFydGlhbCwgJ3Byb2dyYW0nKTtcbiAgfSxcblxuICBDb250ZW50U3RhdGVtZW50OiBmdW5jdGlvbigvKiBjb250ZW50ICovKSB7fSxcbiAgQ29tbWVudFN0YXRlbWVudDogZnVuY3Rpb24oLyogY29tbWVudCAqLykge30sXG5cbiAgU3ViRXhwcmVzc2lvbjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIFBhdGhFeHByZXNzaW9uOiBmdW5jdGlvbigvKiBwYXRoICovKSB7fSxcblxuICBTdHJpbmdMaXRlcmFsOiBmdW5jdGlvbigvKiBzdHJpbmcgKi8pIHt9LFxuICBOdW1iZXJMaXRlcmFsOiBmdW5jdGlvbigvKiBudW1iZXIgKi8pIHt9LFxuICBCb29sZWFuTGl0ZXJhbDogZnVuY3Rpb24oLyogYm9vbCAqLykge30sXG4gIFVuZGVmaW5lZExpdGVyYWw6IGZ1bmN0aW9uKC8qIGxpdGVyYWwgKi8pIHt9LFxuICBOdWxsTGl0ZXJhbDogZnVuY3Rpb24oLyogbGl0ZXJhbCAqLykge30sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIHRoaXMuYWNjZXB0QXJyYXkoaGFzaC5wYWlycyk7XG4gIH0sXG4gIEhhc2hQYWlyOiBmdW5jdGlvbihwYWlyKSB7XG4gICAgdGhpcy5hY2NlcHRSZXF1aXJlZChwYWlyLCAndmFsdWUnKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdmlzaXRTdWJFeHByZXNzaW9uKG11c3RhY2hlKSB7XG4gIHRoaXMuYWNjZXB0UmVxdWlyZWQobXVzdGFjaGUsICdwYXRoJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkobXVzdGFjaGUucGFyYW1zKTtcbiAgdGhpcy5hY2NlcHRLZXkobXVzdGFjaGUsICdoYXNoJyk7XG59XG5mdW5jdGlvbiB2aXNpdEJsb2NrKGJsb2NrKSB7XG4gIHZpc2l0U3ViRXhwcmVzc2lvbi5jYWxsKHRoaXMsIGJsb2NrKTtcblxuICB0aGlzLmFjY2VwdEtleShibG9jaywgJ3Byb2dyYW0nKTtcbiAgdGhpcy5hY2NlcHRLZXkoYmxvY2ssICdpbnZlcnNlJyk7XG59XG5mdW5jdGlvbiB2aXNpdFBhcnRpYWwocGFydGlhbCkge1xuICB0aGlzLmFjY2VwdFJlcXVpcmVkKHBhcnRpYWwsICduYW1lJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkocGFydGlhbC5wYXJhbXMpO1xuICB0aGlzLmFjY2VwdEtleShwYXJ0aWFsLCAnaGFzaCcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNpdG9yO1xuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _visitor = require('./visitor');\n\nvar _visitor2 = _interopRequireDefault(_visitor);\n\nfunction WhitespaceControl() {\n  var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n  this.options = options;\n}\nWhitespaceControl.prototype = new _visitor2['default']();\n\nWhitespaceControl.prototype.Program = function (program) {\n  var doStandalone = !this.options.ignoreStandalone;\n\n  var isRoot = !this.isRootSeen;\n  this.isRootSeen = true;\n\n  var body = program.body;\n  for (var i = 0, l = body.length; i < l; i++) {\n    var current = body[i],\n        strip = this.accept(current);\n\n    if (!strip) {\n      continue;\n    }\n\n    var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n        _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n        openStandalone = strip.openStandalone && _isPrevWhitespace,\n        closeStandalone = strip.closeStandalone && _isNextWhitespace,\n        inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\n    if (strip.close) {\n      omitRight(body, i, true);\n    }\n    if (strip.open) {\n      omitLeft(body, i, true);\n    }\n\n    if (doStandalone && inlineStandalone) {\n      omitRight(body, i);\n\n      if (omitLeft(body, i)) {\n        // If we are on a standalone node, save the indent info for partials\n        if (current.type === 'PartialStatement') {\n          // Pull out the whitespace from the final line\n          current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n        }\n      }\n    }\n    if (doStandalone && openStandalone) {\n      omitRight((current.program || current.inverse).body);\n\n      // Strip out the previous content node if it's whitespace only\n      omitLeft(body, i);\n    }\n    if (doStandalone && closeStandalone) {\n      // Always strip the next node\n      omitRight(body, i);\n\n      omitLeft((current.inverse || current.program).body);\n    }\n  }\n\n  return program;\n};\n\nWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n  this.accept(block.program);\n  this.accept(block.inverse);\n\n  // Find the inverse program that is involed with whitespace stripping.\n  var program = block.program || block.inverse,\n      inverse = block.program && block.inverse,\n      firstInverse = inverse,\n      lastInverse = inverse;\n\n  if (inverse && inverse.chained) {\n    firstInverse = inverse.body[0].program;\n\n    // Walk the inverse chain to find the last inverse that is actually in the chain.\n    while (lastInverse.chained) {\n      lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n    }\n  }\n\n  var strip = {\n    open: block.openStrip.open,\n    close: block.closeStrip.close,\n\n    // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n    // so our parent can determine if we actually are standalone\n    openStandalone: isNextWhitespace(program.body),\n    closeStandalone: isPrevWhitespace((firstInverse || program).body)\n  };\n\n  if (block.openStrip.close) {\n    omitRight(program.body, null, true);\n  }\n\n  if (inverse) {\n    var inverseStrip = block.inverseStrip;\n\n    if (inverseStrip.open) {\n      omitLeft(program.body, null, true);\n    }\n\n    if (inverseStrip.close) {\n      omitRight(firstInverse.body, null, true);\n    }\n    if (block.closeStrip.open) {\n      omitLeft(lastInverse.body, null, true);\n    }\n\n    // Find standalone else statments\n    if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n      omitLeft(program.body);\n      omitRight(firstInverse.body);\n    }\n  } else if (block.closeStrip.open) {\n    omitLeft(program.body, null, true);\n  }\n\n  return strip;\n};\n\nWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n  return mustache.strip;\n};\n\nWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n  /* istanbul ignore next */\n  var strip = node.strip || {};\n  return {\n    inlineStandalone: true,\n    open: strip.open,\n    close: strip.close\n  };\n};\n\nfunction isPrevWhitespace(body, i, isRoot) {\n  if (i === undefined) {\n    i = body.length;\n  }\n\n  // Nodes that end with newlines are considered whitespace (but are special\n  // cased for strip operations)\n  var prev = body[i - 1],\n      sibling = body[i - 2];\n  if (!prev) {\n    return isRoot;\n  }\n\n  if (prev.type === 'ContentStatement') {\n    return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n  }\n}\nfunction isNextWhitespace(body, i, isRoot) {\n  if (i === undefined) {\n    i = -1;\n  }\n\n  var next = body[i + 1],\n      sibling = body[i + 2];\n  if (!next) {\n    return isRoot;\n  }\n\n  if (next.type === 'ContentStatement') {\n    return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n  }\n}\n\n// Marks the node to the right of the position as omitted.\n// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n//\n// If i is undefined, then the first child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\nfunction omitRight(body, i, multiple) {\n  var current = body[i == null ? 0 : i + 1];\n  if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n    return;\n  }\n\n  var original = current.value;\n  current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n  current.rightStripped = current.value !== original;\n}\n\n// Marks the node to the left of the position as omitted.\n// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n//\n// If i is undefined then the last child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\nfunction omitLeft(body, i, multiple) {\n  var current = body[i == null ? body.length - 1 : i - 1];\n  if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n    return;\n  }\n\n  // We omit the last node if it's whitespace only and not preceded by a non-content node.\n  var original = current.value;\n  current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n  current.leftStripped = current.value !== original;\n  return current.leftStripped;\n}\n\nexports['default'] = WhitespaceControl;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3doaXRlc3BhY2UtY29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3VCQUFvQixXQUFXOzs7O0FBRS9CLFNBQVMsaUJBQWlCLEdBQWU7TUFBZCxPQUFPLHlEQUFHLEVBQUU7O0FBQ3JDLE1BQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0NBQ3hCO0FBQ0QsaUJBQWlCLENBQUMsU0FBUyxHQUFHLDBCQUFhLENBQUM7O0FBRTVDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDdEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDOztBQUVwRCxNQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDOUIsTUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7O0FBRXZCLE1BQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDeEIsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMzQyxRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25CLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUUvQixRQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsZUFBUztLQUNWOztBQUVELFFBQUksaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkQsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDckQsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksaUJBQWlCO1FBQzFELGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLGlCQUFpQjtRQUM1RCxnQkFBZ0IsR0FDZCxLQUFLLENBQUMsZ0JBQWdCLElBQUksaUJBQWlCLElBQUksaUJBQWlCLENBQUM7O0FBRXJFLFFBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtBQUNmLGVBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzFCO0FBQ0QsUUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ2QsY0FBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDekI7O0FBRUQsUUFBSSxZQUFZLElBQUksZ0JBQWdCLEVBQUU7QUFDcEMsZUFBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs7QUFFbkIsVUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFOztBQUVyQixZQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUU7O0FBRXZDLGlCQUFPLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1RDtPQUNGO0tBQ0Y7QUFDRCxRQUFJLFlBQVksSUFBSSxjQUFjLEVBQUU7QUFDbEMsZUFBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFBLENBQUUsSUFBSSxDQUFDLENBQUM7OztBQUdyRCxjQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ25CO0FBQ0QsUUFBSSxZQUFZLElBQUksZUFBZSxFQUFFOztBQUVuQyxlQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUVuQixjQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUEsQ0FBRSxJQUFJLENBQUMsQ0FBQztLQUNyRDtHQUNGOztBQUVELFNBQU8sT0FBTyxDQUFDO0NBQ2hCLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxVQUM1SSxLQUFLLEVBQ0w7QUFDQSxNQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQixNQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzs7O0FBRzNCLE1BQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU87TUFDMUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU87TUFDeEMsWUFBWSxHQUFHLE9BQU87TUFDdEIsV0FBVyxHQUFHLE9BQU8sQ0FBQzs7QUFFeEIsTUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUM5QixnQkFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzs7QUFHdkMsV0FBTyxXQUFXLENBQUMsT0FBTyxFQUFFO0FBQzFCLGlCQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7S0FDckU7R0FDRjs7QUFFRCxNQUFJLEtBQUssR0FBRztBQUNWLFFBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7QUFDMUIsU0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSzs7OztBQUk3QixrQkFBYyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDOUMsbUJBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUEsQ0FBRSxJQUFJLENBQUM7R0FDbEUsQ0FBQzs7QUFFRixNQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO0FBQ3pCLGFBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNyQzs7QUFFRCxNQUFJLE9BQU8sRUFBRTtBQUNYLFFBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7O0FBRXRDLFFBQUksWUFBWSxDQUFDLElBQUksRUFBRTtBQUNyQixjQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDcEM7O0FBRUQsUUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFO0FBQ3RCLGVBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMxQztBQUNELFFBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7QUFDekIsY0FBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hDOzs7QUFHRCxRQUNFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFDOUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUM5QixnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQ25DO0FBQ0EsY0FBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QixlQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCO0dBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNwQzs7QUFFRCxTQUFPLEtBQUssQ0FBQztDQUNkLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsVUFDdEYsUUFBUSxFQUNSO0FBQ0EsU0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0NBQ3ZCLENBQUM7O0FBRUYsaUJBQWlCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxVQUM1RixJQUFJLEVBQ0o7O0FBRUEsTUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDN0IsU0FBTztBQUNMLG9CQUFnQixFQUFFLElBQUk7QUFDdEIsUUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0FBQ2hCLFNBQUssRUFBRSxLQUFLLENBQUMsS0FBSztHQUNuQixDQUFDO0NBQ0gsQ0FBQzs7QUFFRixTQUFTLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtBQUNuQixLQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztHQUNqQjs7OztBQUlELE1BQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELE1BQUksSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtBQUNwQyxXQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQSxDQUFFLElBQUksQ0FDaEUsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0dBQ0g7Q0FDRjtBQUNELFNBQVMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7QUFDekMsTUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25CLEtBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztHQUNSOztBQUVELE1BQUksSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hCLE1BQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxXQUFPLE1BQU0sQ0FBQztHQUNmOztBQUVELE1BQUksSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtBQUNwQyxXQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQSxDQUFFLElBQUksQ0FDaEUsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0dBQ0g7Q0FDRjs7Ozs7Ozs7O0FBU0QsU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUU7QUFDcEMsTUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxQyxNQUNFLENBQUMsT0FBTyxJQUNSLE9BQU8sQ0FBQyxJQUFJLEtBQUssa0JBQWtCLElBQ2xDLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEFBQUMsRUFDcEM7QUFDQSxXQUFPO0dBQ1I7O0FBRUQsTUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUM3QixTQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNuQyxRQUFRLEdBQUcsTUFBTSxHQUFHLGVBQWUsRUFDbkMsRUFBRSxDQUNILENBQUM7QUFDRixTQUFPLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO0NBQ3BEOzs7Ozs7Ozs7QUFTRCxTQUFTLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtBQUNuQyxNQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDeEQsTUFDRSxDQUFDLE9BQU8sSUFDUixPQUFPLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUNsQyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsWUFBWSxBQUFDLEVBQ25DO0FBQ0EsV0FBTztHQUNSOzs7QUFHRCxNQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzdCLFNBQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekUsU0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNsRCxTQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7Q0FDN0I7O3FCQUVjLGlCQUFpQiIsImZpbGUiOiJ3aGl0ZXNwYWNlLWNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVmlzaXRvciBmcm9tICcuL3Zpc2l0b3InO1xuXG5mdW5jdGlvbiBXaGl0ZXNwYWNlQ29udHJvbChvcHRpb25zID0ge30pIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbn1cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZSA9IG5ldyBWaXNpdG9yKCk7XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5Qcm9ncmFtID0gZnVuY3Rpb24ocHJvZ3JhbSkge1xuICBjb25zdCBkb1N0YW5kYWxvbmUgPSAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmU7XG5cbiAgbGV0IGlzUm9vdCA9ICF0aGlzLmlzUm9vdFNlZW47XG4gIHRoaXMuaXNSb290U2VlbiA9IHRydWU7XG5cbiAgbGV0IGJvZHkgPSBwcm9ncmFtLmJvZHk7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gYm9keS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgY3VycmVudCA9IGJvZHlbaV0sXG4gICAgICBzdHJpcCA9IHRoaXMuYWNjZXB0KGN1cnJlbnQpO1xuXG4gICAgaWYgKCFzdHJpcCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IF9pc1ByZXZXaGl0ZXNwYWNlID0gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpLFxuICAgICAgX2lzTmV4dFdoaXRlc3BhY2UgPSBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCksXG4gICAgICBvcGVuU3RhbmRhbG9uZSA9IHN0cmlwLm9wZW5TdGFuZGFsb25lICYmIF9pc1ByZXZXaGl0ZXNwYWNlLFxuICAgICAgY2xvc2VTdGFuZGFsb25lID0gc3RyaXAuY2xvc2VTdGFuZGFsb25lICYmIF9pc05leHRXaGl0ZXNwYWNlLFxuICAgICAgaW5saW5lU3RhbmRhbG9uZSA9XG4gICAgICAgIHN0cmlwLmlubGluZVN0YW5kYWxvbmUgJiYgX2lzUHJldldoaXRlc3BhY2UgJiYgX2lzTmV4dFdoaXRlc3BhY2U7XG5cbiAgICBpZiAoc3RyaXAuY2xvc2UpIHtcbiAgICAgIG9taXRSaWdodChib2R5LCBpLCB0cnVlKTtcbiAgICB9XG4gICAgaWYgKHN0cmlwLm9wZW4pIHtcbiAgICAgIG9taXRMZWZ0KGJvZHksIGksIHRydWUpO1xuICAgIH1cblxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgaW5saW5lU3RhbmRhbG9uZSkge1xuICAgICAgb21pdFJpZ2h0KGJvZHksIGkpO1xuXG4gICAgICBpZiAob21pdExlZnQoYm9keSwgaSkpIHtcbiAgICAgICAgLy8gSWYgd2UgYXJlIG9uIGEgc3RhbmRhbG9uZSBub2RlLCBzYXZlIHRoZSBpbmRlbnQgaW5mbyBmb3IgcGFydGlhbHNcbiAgICAgICAgaWYgKGN1cnJlbnQudHlwZSA9PT0gJ1BhcnRpYWxTdGF0ZW1lbnQnKSB7XG4gICAgICAgICAgLy8gUHVsbCBvdXQgdGhlIHdoaXRlc3BhY2UgZnJvbSB0aGUgZmluYWwgbGluZVxuICAgICAgICAgIGN1cnJlbnQuaW5kZW50ID0gLyhbIFxcdF0rJCkvLmV4ZWMoYm9keVtpIC0gMV0ub3JpZ2luYWwpWzFdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgb3BlblN0YW5kYWxvbmUpIHtcbiAgICAgIG9taXRSaWdodCgoY3VycmVudC5wcm9ncmFtIHx8IGN1cnJlbnQuaW52ZXJzZSkuYm9keSk7XG5cbiAgICAgIC8vIFN0cmlwIG91dCB0aGUgcHJldmlvdXMgY29udGVudCBub2RlIGlmIGl0J3Mgd2hpdGVzcGFjZSBvbmx5XG4gICAgICBvbWl0TGVmdChib2R5LCBpKTtcbiAgICB9XG4gICAgaWYgKGRvU3RhbmRhbG9uZSAmJiBjbG9zZVN0YW5kYWxvbmUpIHtcbiAgICAgIC8vIEFsd2F5cyBzdHJpcCB0aGUgbmV4dCBub2RlXG4gICAgICBvbWl0UmlnaHQoYm9keSwgaSk7XG5cbiAgICAgIG9taXRMZWZ0KChjdXJyZW50LmludmVyc2UgfHwgY3VycmVudC5wcm9ncmFtKS5ib2R5KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvZ3JhbTtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5CbG9ja1N0YXRlbWVudCA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5EZWNvcmF0b3JCbG9jayA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsQmxvY2tTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgYmxvY2tcbikge1xuICB0aGlzLmFjY2VwdChibG9jay5wcm9ncmFtKTtcbiAgdGhpcy5hY2NlcHQoYmxvY2suaW52ZXJzZSk7XG5cbiAgLy8gRmluZCB0aGUgaW52ZXJzZSBwcm9ncmFtIHRoYXQgaXMgaW52b2xlZCB3aXRoIHdoaXRlc3BhY2Ugc3RyaXBwaW5nLlxuICBsZXQgcHJvZ3JhbSA9IGJsb2NrLnByb2dyYW0gfHwgYmxvY2suaW52ZXJzZSxcbiAgICBpbnZlcnNlID0gYmxvY2sucHJvZ3JhbSAmJiBibG9jay5pbnZlcnNlLFxuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UsXG4gICAgbGFzdEludmVyc2UgPSBpbnZlcnNlO1xuXG4gIGlmIChpbnZlcnNlICYmIGludmVyc2UuY2hhaW5lZCkge1xuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UuYm9keVswXS5wcm9ncmFtO1xuXG4gICAgLy8gV2FsayB0aGUgaW52ZXJzZSBjaGFpbiB0byBmaW5kIHRoZSBsYXN0IGludmVyc2UgdGhhdCBpcyBhY3R1YWxseSBpbiB0aGUgY2hhaW4uXG4gICAgd2hpbGUgKGxhc3RJbnZlcnNlLmNoYWluZWQpIHtcbiAgICAgIGxhc3RJbnZlcnNlID0gbGFzdEludmVyc2UuYm9keVtsYXN0SW52ZXJzZS5ib2R5Lmxlbmd0aCAtIDFdLnByb2dyYW07XG4gICAgfVxuICB9XG5cbiAgbGV0IHN0cmlwID0ge1xuICAgIG9wZW46IGJsb2NrLm9wZW5TdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBibG9jay5jbG9zZVN0cmlwLmNsb3NlLFxuXG4gICAgLy8gRGV0ZXJtaW5lIHRoZSBzdGFuZGFsb25lIGNhbmRpYWN5LiBCYXNpY2FsbHkgZmxhZyBvdXIgY29udGVudCBhcyBiZWluZyBwb3NzaWJseSBzdGFuZGFsb25lXG4gICAgLy8gc28gb3VyIHBhcmVudCBjYW4gZGV0ZXJtaW5lIGlmIHdlIGFjdHVhbGx5IGFyZSBzdGFuZGFsb25lXG4gICAgb3BlblN0YW5kYWxvbmU6IGlzTmV4dFdoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSxcbiAgICBjbG9zZVN0YW5kYWxvbmU6IGlzUHJldldoaXRlc3BhY2UoKGZpcnN0SW52ZXJzZSB8fCBwcm9ncmFtKS5ib2R5KVxuICB9O1xuXG4gIGlmIChibG9jay5vcGVuU3RyaXAuY2xvc2UpIHtcbiAgICBvbWl0UmlnaHQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChpbnZlcnNlKSB7XG4gICAgbGV0IGludmVyc2VTdHJpcCA9IGJsb2NrLmludmVyc2VTdHJpcDtcblxuICAgIGlmIChpbnZlcnNlU3RyaXAub3Blbikge1xuICAgICAgb21pdExlZnQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAoaW52ZXJzZVN0cmlwLmNsb3NlKSB7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHksIG51bGwsIHRydWUpO1xuICAgIH1cbiAgICBpZiAoYmxvY2suY2xvc2VTdHJpcC5vcGVuKSB7XG4gICAgICBvbWl0TGVmdChsYXN0SW52ZXJzZS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBGaW5kIHN0YW5kYWxvbmUgZWxzZSBzdGF0bWVudHNcbiAgICBpZiAoXG4gICAgICAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmUgJiZcbiAgICAgIGlzUHJldldoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSAmJlxuICAgICAgaXNOZXh0V2hpdGVzcGFjZShmaXJzdEludmVyc2UuYm9keSlcbiAgICApIHtcbiAgICAgIG9taXRMZWZ0KHByb2dyYW0uYm9keSk7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChibG9jay5jbG9zZVN0cmlwLm9wZW4pIHtcbiAgICBvbWl0TGVmdChwcm9ncmFtLmJvZHksIG51bGwsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHN0cmlwO1xufTtcblxuV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkRlY29yYXRvciA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudCA9IGZ1bmN0aW9uKFxuICBtdXN0YWNoZVxuKSB7XG4gIHJldHVybiBtdXN0YWNoZS5zdHJpcDtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsU3RhdGVtZW50ID0gV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkNvbW1lbnRTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgbm9kZVxuKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCBzdHJpcCA9IG5vZGUuc3RyaXAgfHwge307XG4gIHJldHVybiB7XG4gICAgaW5saW5lU3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBvcGVuOiBzdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBzdHJpcC5jbG9zZVxuICB9O1xufTtcblxuZnVuY3Rpb24gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpIHtcbiAgaWYgKGkgPT09IHVuZGVmaW5lZCkge1xuICAgIGkgPSBib2R5Lmxlbmd0aDtcbiAgfVxuXG4gIC8vIE5vZGVzIHRoYXQgZW5kIHdpdGggbmV3bGluZXMgYXJlIGNvbnNpZGVyZWQgd2hpdGVzcGFjZSAoYnV0IGFyZSBzcGVjaWFsXG4gIC8vIGNhc2VkIGZvciBzdHJpcCBvcGVyYXRpb25zKVxuICBsZXQgcHJldiA9IGJvZHlbaSAtIDFdLFxuICAgIHNpYmxpbmcgPSBib2R5W2kgLSAyXTtcbiAgaWYgKCFwcmV2KSB7XG4gICAgcmV0dXJuIGlzUm9vdDtcbiAgfVxuXG4gIGlmIChwcmV2LnR5cGUgPT09ICdDb250ZW50U3RhdGVtZW50Jykge1xuICAgIHJldHVybiAoc2libGluZyB8fCAhaXNSb290ID8gL1xccj9cXG5cXHMqPyQvIDogLyhefFxccj9cXG4pXFxzKj8kLykudGVzdChcbiAgICAgIHByZXYub3JpZ2luYWxcbiAgICApO1xuICB9XG59XG5mdW5jdGlvbiBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCkge1xuICBpZiAoaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaSA9IC0xO1xuICB9XG5cbiAgbGV0IG5leHQgPSBib2R5W2kgKyAxXSxcbiAgICBzaWJsaW5nID0gYm9keVtpICsgMl07XG4gIGlmICghbmV4dCkge1xuICAgIHJldHVybiBpc1Jvb3Q7XG4gIH1cblxuICBpZiAobmV4dC50eXBlID09PSAnQ29udGVudFN0YXRlbWVudCcpIHtcbiAgICByZXR1cm4gKHNpYmxpbmcgfHwgIWlzUm9vdCA/IC9eXFxzKj9cXHI/XFxuLyA6IC9eXFxzKj8oXFxyP1xcbnwkKS8pLnRlc3QoXG4gICAgICBuZXh0Lm9yaWdpbmFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBNYXJrcyB0aGUgbm9kZSB0byB0aGUgcmlnaHQgb2YgdGhlIHBvc2l0aW9uIGFzIG9taXR0ZWQuXG4vLyBJLmUuIHt7Zm9vfX0nICcgd2lsbCBtYXJrIHRoZSAnICcgbm9kZSBhcyBvbWl0dGVkLlxuLy9cbi8vIElmIGkgaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmaXJzdCBjaGlsZCB3aWxsIGJlIG1hcmtlZCBhcyBzdWNoLlxuLy9cbi8vIElmIG11bGl0cGxlIGlzIHRydXRoeSB0aGVuIGFsbCB3aGl0ZXNwYWNlIHdpbGwgYmUgc3RyaXBwZWQgb3V0IHVudGlsIG5vbi13aGl0ZXNwYWNlXG4vLyBjb250ZW50IGlzIG1ldC5cbmZ1bmN0aW9uIG9taXRSaWdodChib2R5LCBpLCBtdWx0aXBsZSkge1xuICBsZXQgY3VycmVudCA9IGJvZHlbaSA9PSBudWxsID8gMCA6IGkgKyAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQucmlnaHRTdHJpcHBlZClcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IG9yaWdpbmFsID0gY3VycmVudC52YWx1ZTtcbiAgY3VycmVudC52YWx1ZSA9IGN1cnJlbnQudmFsdWUucmVwbGFjZShcbiAgICBtdWx0aXBsZSA/IC9eXFxzKy8gOiAvXlsgXFx0XSpcXHI/XFxuPy8sXG4gICAgJydcbiAgKTtcbiAgY3VycmVudC5yaWdodFN0cmlwcGVkID0gY3VycmVudC52YWx1ZSAhPT0gb3JpZ2luYWw7XG59XG5cbi8vIE1hcmtzIHRoZSBub2RlIHRvIHRoZSBsZWZ0IG9mIHRoZSBwb3NpdGlvbiBhcyBvbWl0dGVkLlxuLy8gSS5lLiAnICd7e2Zvb319IHdpbGwgbWFyayB0aGUgJyAnIG5vZGUgYXMgb21pdHRlZC5cbi8vXG4vLyBJZiBpIGlzIHVuZGVmaW5lZCB0aGVuIHRoZSBsYXN0IGNoaWxkIHdpbGwgYmUgbWFya2VkIGFzIHN1Y2guXG4vL1xuLy8gSWYgbXVsaXRwbGUgaXMgdHJ1dGh5IHRoZW4gYWxsIHdoaXRlc3BhY2Ugd2lsbCBiZSBzdHJpcHBlZCBvdXQgdW50aWwgbm9uLXdoaXRlc3BhY2Vcbi8vIGNvbnRlbnQgaXMgbWV0LlxuZnVuY3Rpb24gb21pdExlZnQoYm9keSwgaSwgbXVsdGlwbGUpIHtcbiAgbGV0IGN1cnJlbnQgPSBib2R5W2kgPT0gbnVsbCA/IGJvZHkubGVuZ3RoIC0gMSA6IGkgLSAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQubGVmdFN0cmlwcGVkKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBXZSBvbWl0IHRoZSBsYXN0IG5vZGUgaWYgaXQncyB3aGl0ZXNwYWNlIG9ubHkgYW5kIG5vdCBwcmVjZWRlZCBieSBhIG5vbi1jb250ZW50IG5vZGUuXG4gIGxldCBvcmlnaW5hbCA9IGN1cnJlbnQudmFsdWU7XG4gIGN1cnJlbnQudmFsdWUgPSBjdXJyZW50LnZhbHVlLnJlcGxhY2UobXVsdGlwbGUgPyAvXFxzKyQvIDogL1sgXFx0XSskLywgJycpO1xuICBjdXJyZW50LmxlZnRTdHJpcHBlZCA9IGN1cnJlbnQudmFsdWUgIT09IG9yaWdpbmFsO1xuICByZXR1cm4gY3VycmVudC5sZWZ0U3RyaXBwZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdoaXRlc3BhY2VDb250cm9sO1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n  _decoratorsInline2['default'](instance);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n  instance.registerDecorator('inline', function (fn, props, container, options) {\n    var ret = fn;\n    if (!props.partials) {\n      props.partials = {};\n      ret = function (context, options) {\n        // Create a new partials stack frame prior to exec.\n        var original = container.partials;\n        container.partials = _utils.extend({}, original, props.partials);\n        var ret = fn(context, options);\n        container.partials = original;\n        return ret;\n      };\n    }\n\n    props.partials[options.args[0]] = options.fn;\n\n    return ret;\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n  var loc = node && node.loc,\n      line = undefined,\n      endLineNumber = undefined,\n      column = undefined,\n      endColumn = undefined;\n\n  if (loc) {\n    line = loc.start.line;\n    endLineNumber = loc.end.line;\n    column = loc.start.column;\n    endColumn = loc.end.column;\n\n    message += ' - ' + line + ':' + column;\n  }\n\n  var tmp = Error.prototype.constructor.call(this, message);\n\n  // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n  for (var idx = 0; idx < errorProps.length; idx++) {\n    this[errorProps[idx]] = tmp[errorProps[idx]];\n  }\n\n  /* istanbul ignore else */\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, Exception);\n  }\n\n  try {\n    if (loc) {\n      this.lineNumber = line;\n      this.endLineNumber = endLineNumber;\n\n      // Work around issue under safari where we can't directly set the column value\n      /* istanbul ignore next */\n      if (Object.defineProperty) {\n        Object.defineProperty(this, 'column', {\n          value: column,\n          enumerable: true\n        });\n        Object.defineProperty(this, 'endColumn', {\n          value: endColumn,\n          enumerable: true\n        });\n      } else {\n        this.column = column;\n        this.endColumn = endColumn;\n      }\n    }\n  } catch (nop) {\n    /* Ignore if the browser is very particular */\n  }\n}\n\nException.prototype = new Error();\n\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n  _helpersBlockHelperMissing2['default'](instance);\n  _helpersEach2['default'](instance);\n  _helpersHelperMissing2['default'](instance);\n  _helpersIf2['default'](instance);\n  _helpersLog2['default'](instance);\n  _helpersLookup2['default'](instance);\n  _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n  if (instance.helpers[helperName]) {\n    instance.hooks[helperName] = instance.helpers[helperName];\n    if (!keepHelper) {\n      delete instance.helpers[helperName];\n    }\n  }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n  instance.registerHelper('blockHelperMissing', function (context, options) {\n    var inverse = options.inverse,\n        fn = options.fn;\n\n    if (context === true) {\n      return fn(this);\n    } else if (context === false || context == null) {\n      return inverse(this);\n    } else if (_utils.isArray(context)) {\n      if (context.length > 0) {\n        if (options.ids) {\n          options.ids = [options.name];\n        }\n\n        return instance.helpers.each(context, options);\n      } else {\n        return inverse(this);\n      }\n    } else {\n      if (options.data && options.ids) {\n        var data = _utils.createFrame(options.data);\n        data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n        options = { data: data };\n      }\n\n      return fn(context, options);\n    }\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n  instance.registerHelper('each', function (context, options) {\n    if (!options) {\n      throw new _exception2['default']('Must pass iterator to #each');\n    }\n\n    var fn = options.fn,\n        inverse = options.inverse,\n        i = 0,\n        ret = '',\n        data = undefined,\n        contextPath = undefined;\n\n    if (options.data && options.ids) {\n      contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n    }\n\n    if (_utils.isFunction(context)) {\n      context = context.call(this);\n    }\n\n    if (options.data) {\n      data = _utils.createFrame(options.data);\n    }\n\n    function execIteration(field, index, last) {\n      if (data) {\n        data.key = field;\n        data.index = index;\n        data.first = index === 0;\n        data.last = !!last;\n\n        if (contextPath) {\n          data.contextPath = contextPath + field;\n        }\n      }\n\n      ret = ret + fn(context[field], {\n        data: data,\n        blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n      });\n    }\n\n    if (context && typeof context === 'object') {\n      if (_utils.isArray(context)) {\n        for (var j = context.length; i < j; i++) {\n          if (i in context) {\n            execIteration(i, i, i === context.length - 1);\n          }\n        }\n      } else if (typeof Symbol === 'function' && context[Symbol.iterator]) {\n        var newContext = [];\n        var iterator = context[Symbol.iterator]();\n        for (var it = iterator.next(); !it.done; it = iterator.next()) {\n          newContext.push(it.value);\n        }\n        context = newContext;\n        for (var j = context.length; i < j; i++) {\n          execIteration(i, i, i === context.length - 1);\n        }\n      } else {\n        (function () {\n          var priorKey = undefined;\n\n          Object.keys(context).forEach(function (key) {\n            // We're running the iterations one step out of sync so we can detect\n            // the last iteration without have to scan the object twice and create\n            // an itermediate keys array.\n            if (priorKey !== undefined) {\n              execIteration(priorKey, i - 1);\n            }\n            priorKey = key;\n            i++;\n          });\n          if (priorKey !== undefined) {\n            execIteration(priorKey, i - 1, true);\n          }\n        })();\n      }\n    }\n\n    if (i === 0) {\n      ret = inverse(this);\n    }\n\n    return ret;\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n  instance.registerHelper('helperMissing', function () /* [args, ]options */{\n    if (arguments.length === 1) {\n      // A missing field in a {{foo}} construct.\n      return undefined;\n    } else {\n      // Someone is actually trying to call something, blow up.\n      throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n    }\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n  instance.registerHelper('if', function (conditional, options) {\n    if (arguments.length != 2) {\n      throw new _exception2['default']('#if requires exactly one argument');\n    }\n    if (_utils.isFunction(conditional)) {\n      conditional = conditional.call(this);\n    }\n\n    // Default behavior is to render the positive path if the value is truthy and not empty.\n    // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n    // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n    if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n      return options.inverse(this);\n    } else {\n      return options.fn(this);\n    }\n  });\n\n  instance.registerHelper('unless', function (conditional, options) {\n    if (arguments.length != 2) {\n      throw new _exception2['default']('#unless requires exactly one argument');\n    }\n    return instance.helpers['if'].call(this, conditional, {\n      fn: options.inverse,\n      inverse: options.fn,\n      hash: options.hash\n    });\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n  instance.registerHelper('log', function () /* message, options */{\n    var args = [undefined],\n        options = arguments[arguments.length - 1];\n    for (var i = 0; i < arguments.length - 1; i++) {\n      args.push(arguments[i]);\n    }\n\n    var level = 1;\n    if (options.hash.level != null) {\n      level = options.hash.level;\n    } else if (options.data && options.data.level != null) {\n      level = options.data.level;\n    }\n    args[0] = level;\n\n    instance.log.apply(instance, args);\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n  instance.registerHelper('lookup', function (obj, field, options) {\n    if (!obj) {\n      // Note for 5.0: Change to \"obj == null\" in 5.0\n      return obj;\n    }\n    return options.lookupProperty(obj, field);\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n  instance.registerHelper('with', function (context, options) {\n    if (arguments.length != 2) {\n      throw new _exception2['default']('#with requires exactly one argument');\n    }\n    if (_utils.isFunction(context)) {\n      context = context.call(this);\n    }\n\n    var fn = options.fn;\n\n    if (!_utils.isEmpty(context)) {\n      var data = options.data;\n      if (options.data && options.ids) {\n        data = _utils.createFrame(options.data);\n        data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n      }\n\n      return fn(context, {\n        data: data,\n        blockParams: _utils.blockParams([context], [data && data.contextPath])\n      });\n    } else {\n      return options.inverse(this);\n    }\n  });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.createNewLookupObject = createNewLookupObject;\n\nvar _utils = require('../utils');\n\n/**\n * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n * The resulting object can be used with \"object[property]\" to check if a property exists\n * @param {...object} sources a varargs parameter of source objects that will be merged\n * @returns {object}\n */\n\nfunction createNewLookupObject() {\n  for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n    sources[_key] = arguments[_key];\n  }\n\n  return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createNewLookupObject = require('./create-new-lookup-object');\n\nvar _logger = require('../logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n  var defaultMethodWhiteList = Object.create(null);\n  defaultMethodWhiteList['constructor'] = false;\n  defaultMethodWhiteList['__defineGetter__'] = false;\n  defaultMethodWhiteList['__defineSetter__'] = false;\n  defaultMethodWhiteList['__lookupGetter__'] = false;\n\n  var defaultPropertyWhiteList = Object.create(null);\n  // eslint-disable-next-line no-proto\n  defaultPropertyWhiteList['__proto__'] = false;\n\n  return {\n    properties: {\n      whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n      defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n    },\n    methods: {\n      whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n      defaultValue: runtimeOptions.allowProtoMethodsByDefault\n    }\n  };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n  if (typeof result === 'function') {\n    return checkWhiteList(protoAccessControl.methods, propertyName);\n  } else {\n    return checkWhiteList(protoAccessControl.properties, propertyName);\n  }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n  if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n    return protoAccessControlForType.whitelist[propertyName] === true;\n  }\n  if (protoAccessControlForType.defaultValue !== undefined) {\n    return protoAccessControlForType.defaultValue;\n  }\n  logUnexpecedPropertyAccessOnce(propertyName);\n  return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n  if (loggedProperties[propertyName] !== true) {\n    loggedProperties[propertyName] = true;\n    _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n  }\n}\n\nfunction resetLoggedProperties() {\n  Object.keys(loggedProperties).forEach(function (propertyName) {\n    delete loggedProperties[propertyName];\n  });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMvQyxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7QUFDdkQsTUFBSSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pELHdCQUFzQixDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM5Qyx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQzs7QUFFbkQsTUFBSSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVuRCwwQkFBd0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRTlDLFNBQU87QUFDTCxjQUFVLEVBQUU7QUFDVixlQUFTLEVBQUUsNkNBQ1Qsd0JBQXdCLEVBQ3hCLGNBQWMsQ0FBQyxzQkFBc0IsQ0FDdEM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQyw2QkFBNkI7S0FDM0Q7QUFDRCxXQUFPLEVBQUU7QUFDUCxlQUFTLEVBQUUsNkNBQ1Qsc0JBQXNCLEVBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQywwQkFBMEI7S0FDeEQ7R0FDRixDQUFDO0NBQ0g7O0FBRU0sU0FBUyxlQUFlLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRTtBQUN4RSxNQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtBQUNoQyxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDakUsTUFBTTtBQUNMLFdBQU8sY0FBYyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztHQUNwRTtDQUNGOztBQUVELFNBQVMsY0FBYyxDQUFDLHlCQUF5QixFQUFFLFlBQVksRUFBRTtBQUMvRCxNQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxTQUFTLEVBQUU7QUFDbkUsV0FBTyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDO0dBQ25FO0FBQ0QsTUFBSSx5QkFBeUIsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO0FBQ3hELFdBQU8seUJBQXlCLENBQUMsWUFBWSxDQUFDO0dBQy9DO0FBQ0QsZ0NBQThCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDN0MsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFRCxTQUFTLDhCQUE4QixDQUFDLFlBQVksRUFBRTtBQUNwRCxNQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRTtBQUMzQyxvQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDdEMsd0JBQU8sR0FBRyxDQUNSLE9BQU8sRUFDUCxpRUFBK0QsWUFBWSxvSUFDSCxvSEFDMkMsQ0FDcEgsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxxQkFBcUIsR0FBRztBQUN0QyxRQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsWUFBWSxFQUFJO0FBQ3BELFdBQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDdkMsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoicHJvdG8tYWNjZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlTmV3TG9va3VwT2JqZWN0IH0gZnJvbSAnLi9jcmVhdGUtbmV3LWxvb2t1cC1vYmplY3QnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuXG5jb25zdCBsb2dnZWRQcm9wZXJ0aWVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChydW50aW1lT3B0aW9ucykge1xuICBsZXQgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ2NvbnN0cnVjdG9yJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lU2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2xvb2t1cEdldHRlcl9fJ10gPSBmYWxzZTtcblxuICBsZXQgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvXG4gIGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdFsnX19wcm90b19fJ10gPSBmYWxzZTtcblxuICByZXR1cm4ge1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHdoaXRlbGlzdDogY3JlYXRlTmV3TG9va3VwT2JqZWN0KFxuICAgICAgICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b1Byb3BlcnRpZXNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9Qcm9wZXJ0aWVzQnlEZWZhdWx0XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCxcbiAgICAgICAgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvTWV0aG9kc1xuICAgICAgKSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b01ldGhvZHNCeURlZmF1bHRcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN1bHRJc0FsbG93ZWQocmVzdWx0LCBwcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkge1xuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wubWV0aG9kcywgcHJvcGVydHlOYW1lKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLnByb3BlcnRpZXMsIHByb3BlcnR5TmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZSwgcHJvcGVydHlOYW1lKSB7XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSA9PT0gdHJ1ZTtcbiAgfVxuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZTtcbiAgfVxuICBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKTtcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKSB7XG4gIGlmIChsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gIT09IHRydWUpIHtcbiAgICBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gPSB0cnVlO1xuICAgIGxvZ2dlci5sb2coXG4gICAgICAnZXJyb3InLFxuICAgICAgYEhhbmRsZWJhcnM6IEFjY2VzcyBoYXMgYmVlbiBkZW5pZWQgdG8gcmVzb2x2ZSB0aGUgcHJvcGVydHkgXCIke3Byb3BlcnR5TmFtZX1cIiBiZWNhdXNlIGl0IGlzIG5vdCBhbiBcIm93biBwcm9wZXJ0eVwiIG9mIGl0cyBwYXJlbnQuXFxuYCArXG4gICAgICAgIGBZb3UgY2FuIGFkZCBhIHJ1bnRpbWUgb3B0aW9uIHRvIGRpc2FibGUgdGhlIGNoZWNrIG9yIHRoaXMgd2FybmluZzpcXG5gICtcbiAgICAgICAgYFNlZSBodHRwczovL2hhbmRsZWJhcnNqcy5jb20vYXBpLXJlZmVyZW5jZS9ydW50aW1lLW9wdGlvbnMuaHRtbCNvcHRpb25zLXRvLWNvbnRyb2wtcHJvdG90eXBlLWFjY2VzcyBmb3IgZGV0YWlsc2BcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldExvZ2dlZFByb3BlcnRpZXMoKSB7XG4gIE9iamVjdC5rZXlzKGxvZ2dlZFByb3BlcnRpZXMpLmZvckVhY2gocHJvcGVydHlOYW1lID0+IHtcbiAgICBkZWxldGUgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n  if (typeof helper !== 'function') {\n    // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n    // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n    return helper;\n  }\n  var wrapper = function wrapper() /* dynamic arguments */{\n    var options = arguments[arguments.length - 1];\n    arguments[arguments.length - 1] = transformOptionsFn(options);\n    return helper.apply(this, arguments);\n  };\n  return wrapper;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n  methodMap: ['debug', 'info', 'warn', 'error'],\n  level: 'info',\n\n  // Maps a given level value to the `methodMap` indexes above.\n  lookupLevel: function lookupLevel(level) {\n    if (typeof level === 'string') {\n      var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n      if (levelMap >= 0) {\n        level = levelMap;\n      } else {\n        level = parseInt(level, 10);\n      }\n    }\n\n    return level;\n  },\n\n  // Can be overridden in the host environment\n  log: function log(level) {\n    level = logger.lookupLevel(level);\n\n    if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n      var method = logger.methodMap[level];\n      // eslint-disable-next-line no-console\n      if (!console[method]) {\n        method = 'log';\n      }\n\n      for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n        message[_key - 1] = arguments[_key];\n      }\n\n      console[method].apply(console, message); // eslint-disable-line no-console\n    }\n  }\n};\n\nexports['default'] = logger;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=\n","/* global globalThis */\n'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n  /* istanbul ignore next */\n  // https://mathiasbynens.be/notes/globalthis\n  (function () {\n    if (typeof globalThis === 'object') return;\n    Object.prototype.__defineGetter__('__magic__', function () {\n      return this;\n    });\n    __magic__.globalThis = __magic__; // eslint-disable-line no-undef\n    delete Object.prototype.__magic__;\n  })();\n\n  var $Handlebars = globalThis.Handlebars;\n\n  /* istanbul ignore next */\n  Handlebars.noConflict = function () {\n    if (globalThis.Handlebars === Handlebars) {\n      globalThis.Handlebars = $Handlebars;\n    }\n    return Handlebars;\n  };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n  var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n      currentRevision = _base.COMPILER_REVISION;\n\n  if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n    return;\n  }\n\n  if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n    var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n        compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n    throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n  } else {\n    // Use the embedded version info since the runtime doesn't know about this revision yet\n    throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n  }\n}\n\nfunction template(templateSpec, env) {\n  /* istanbul ignore next */\n  if (!env) {\n    throw new _exception2['default']('No environment passed to template');\n  }\n  if (!templateSpec || !templateSpec.main) {\n    throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n  }\n\n  templateSpec.main.decorator = templateSpec.main_d;\n\n  // Note: Using env.VM references rather than local var references throughout this section to allow\n  // for external users to override these as pseudo-supported APIs.\n  env.VM.checkRevision(templateSpec.compiler);\n\n  // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n  var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n  function invokePartialWrapper(partial, context, options) {\n    if (options.hash) {\n      context = Utils.extend({}, context, options.hash);\n      if (options.ids) {\n        options.ids[0] = true;\n      }\n    }\n    partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n    var extendedOptions = Utils.extend({}, options, {\n      hooks: this.hooks,\n      protoAccessControl: this.protoAccessControl\n    });\n\n    var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n    if (result == null && env.compile) {\n      options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n      result = options.partials[options.name](context, extendedOptions);\n    }\n    if (result != null) {\n      if (options.indent) {\n        var lines = result.split('\\n');\n        for (var i = 0, l = lines.length; i < l; i++) {\n          if (!lines[i] && i + 1 === l) {\n            break;\n          }\n\n          lines[i] = options.indent + lines[i];\n        }\n        result = lines.join('\\n');\n      }\n      return result;\n    } else {\n      throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n    }\n  }\n\n  // Just add water\n  var container = {\n    strict: function strict(obj, name, loc) {\n      if (!obj || !(name in obj)) {\n        throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n          loc: loc\n        });\n      }\n      return container.lookupProperty(obj, name);\n    },\n    lookupProperty: function lookupProperty(parent, propertyName) {\n      var result = parent[propertyName];\n      if (result == null) {\n        return result;\n      }\n      if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n        return result;\n      }\n\n      if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n        return result;\n      }\n      return undefined;\n    },\n    lookup: function lookup(depths, name) {\n      var len = depths.length;\n      for (var i = 0; i < len; i++) {\n        var result = depths[i] && container.lookupProperty(depths[i], name);\n        if (result != null) {\n          return depths[i][name];\n        }\n      }\n    },\n    lambda: function lambda(current, context) {\n      return typeof current === 'function' ? current.call(context) : current;\n    },\n\n    escapeExpression: Utils.escapeExpression,\n    invokePartial: invokePartialWrapper,\n\n    fn: function fn(i) {\n      var ret = templateSpec[i];\n      ret.decorator = templateSpec[i + '_d'];\n      return ret;\n    },\n\n    programs: [],\n    program: function program(i, data, declaredBlockParams, blockParams, depths) {\n      var programWrapper = this.programs[i],\n          fn = this.fn(i);\n      if (data || depths || blockParams || declaredBlockParams) {\n        programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n      } else if (!programWrapper) {\n        programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n      }\n      return programWrapper;\n    },\n\n    data: function data(value, depth) {\n      while (value && depth--) {\n        value = value._parent;\n      }\n      return value;\n    },\n    mergeIfNeeded: function mergeIfNeeded(param, common) {\n      var obj = param || common;\n\n      if (param && common && param !== common) {\n        obj = Utils.extend({}, common, param);\n      }\n\n      return obj;\n    },\n    // An empty object to use as replacement for null-contexts\n    nullContext: Object.seal({}),\n\n    noop: env.VM.noop,\n    compilerInfo: templateSpec.compiler\n  };\n\n  function ret(context) {\n    var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n    var data = options.data;\n\n    ret._setup(options);\n    if (!options.partial && templateSpec.useData) {\n      data = initData(context, data);\n    }\n    var depths = undefined,\n        blockParams = templateSpec.useBlockParams ? [] : undefined;\n    if (templateSpec.useDepths) {\n      if (options.depths) {\n        depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n      } else {\n        depths = [context];\n      }\n    }\n\n    function main(context /*, options*/) {\n      return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n    }\n\n    main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n    return main(context, options);\n  }\n\n  ret.isTop = true;\n\n  ret._setup = function (options) {\n    if (!options.partial) {\n      var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n      wrapHelpersToPassLookupProperty(mergedHelpers, container);\n      container.helpers = mergedHelpers;\n\n      if (templateSpec.usePartial) {\n        // Use mergeIfNeeded here to prevent compiling global partials multiple times\n        container.partials = container.mergeIfNeeded(options.partials, env.partials);\n      }\n      if (templateSpec.usePartial || templateSpec.useDecorators) {\n        container.decorators = Utils.extend({}, env.decorators, options.decorators);\n      }\n\n      container.hooks = {};\n      container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n      var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n      _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n      _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n    } else {\n      container.protoAccessControl = options.protoAccessControl; // internal option\n      container.helpers = options.helpers;\n      container.partials = options.partials;\n      container.decorators = options.decorators;\n      container.hooks = options.hooks;\n    }\n  };\n\n  ret._child = function (i, data, blockParams, depths) {\n    if (templateSpec.useBlockParams && !blockParams) {\n      throw new _exception2['default']('must pass block params');\n    }\n    if (templateSpec.useDepths && !depths) {\n      throw new _exception2['default']('must pass parent depths');\n    }\n\n    return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n  };\n  return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n  function prog(context) {\n    var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n    var currentDepths = depths;\n    if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n      currentDepths = [context].concat(depths);\n    }\n\n    return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n  }\n\n  prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n  prog.program = i;\n  prog.depth = depths ? depths.length : 0;\n  prog.blockParams = declaredBlockParams || 0;\n  return prog;\n}\n\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\nfunction resolvePartial(partial, context, options) {\n  if (!partial) {\n    if (options.name === '@partial-block') {\n      partial = options.data['partial-block'];\n    } else {\n      partial = options.partials[options.name];\n    }\n  } else if (!partial.call && !options.name) {\n    // This is a dynamic partial that returned a string\n    options.name = partial;\n    partial = options.partials[partial];\n  }\n  return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n  // Use the current closure context to save the partial-block if this partial\n  var currentPartialBlock = options.data && options.data['partial-block'];\n  options.partial = true;\n  if (options.ids) {\n    options.data.contextPath = options.ids[0] || options.data.contextPath;\n  }\n\n  var partialBlock = undefined;\n  if (options.fn && options.fn !== noop) {\n    (function () {\n      options.data = _base.createFrame(options.data);\n      // Wrapper function to get access to currentPartialBlock from the closure\n      var fn = options.fn;\n      partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n        var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n        // Restore the partial-block from the closure for the execution of the block\n        // i.e. the part inside the block of the partial call.\n        options.data = _base.createFrame(options.data);\n        options.data['partial-block'] = currentPartialBlock;\n        return fn(context, options);\n      };\n      if (fn.partials) {\n        options.partials = Utils.extend({}, options.partials, fn.partials);\n      }\n    })();\n  }\n\n  if (partial === undefined && partialBlock) {\n    partial = partialBlock;\n  }\n\n  if (partial === undefined) {\n    throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n  } else if (partial instanceof Function) {\n    return partial(context, options);\n  }\n}\n\nfunction noop() {\n  return '';\n}\n\nfunction initData(context, data) {\n  if (!data || !('root' in data)) {\n    data = data ? _base.createFrame(data) : {};\n    data.root = context;\n  }\n  return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n  if (fn.decorator) {\n    var props = {};\n    prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n    Utils.extend(prog, props);\n  }\n  return prog;\n}\n\nfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n  Object.keys(mergedHelpers).forEach(function (helperName) {\n    var helper = mergedHelpers[helperName];\n    mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n  });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n  var lookupProperty = container.lookupProperty;\n  return _internalWrapHelper.wrapHelper(helper, function (options) {\n    return Utils.extend({ lookupProperty: lookupProperty }, options);\n  });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztHQUN4RTs7QUFFRCxjQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O0FBSWxELEtBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O0FBRzVDLE1BQU0sb0NBQW9DLEdBQ3hDLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRTFELFdBQVMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDdkQsUUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELFVBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGVBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0tBQ0Y7QUFDRCxXQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUV0RSxRQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDOUMsV0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0FBQ2pCLHdCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7S0FDNUMsQ0FBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDOztBQUVGLFFBQUksTUFBTSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzFDLE9BQU8sRUFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixHQUFHLENBQ0osQ0FBQztBQUNGLFlBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDbkU7QUFDRCxRQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsVUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ2xCLFlBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsYUFBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLGtCQUFNO1dBQ1A7O0FBRUQsZUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0FBQ0QsY0FBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7QUFDRCxhQUFPLE1BQU0sQ0FBQztLQUNmLE1BQU07QUFDTCxZQUFNLDJCQUNKLGNBQWMsR0FDWixPQUFPLENBQUMsSUFBSSxHQUNaLDBEQUEwRCxDQUM3RCxDQUFDO0tBQ0g7R0FDRjs7O0FBR0QsTUFBSSxTQUFTLEdBQUc7QUFDZCxVQUFNLEVBQUUsZ0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDL0IsVUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxHQUFHLENBQUEsQUFBQyxFQUFFO0FBQzFCLGNBQU0sMkJBQWMsR0FBRyxHQUFHLElBQUksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7QUFDMUQsYUFBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7T0FDSjtBQUNELGFBQU8sU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7QUFDRCxrQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxZQUFZLEVBQUU7QUFDN0MsVUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xDLFVBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsVUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFO0FBQzlELGVBQU8sTUFBTSxDQUFDO09BQ2Y7O0FBRUQsVUFBSSxxQ0FBZ0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsRUFBRTtBQUN2RSxlQUFPLE1BQU0sQ0FBQztPQUNmO0FBQ0QsYUFBTyxTQUFTLENBQUM7S0FDbEI7QUFDRCxVQUFNLEVBQUUsZ0JBQVMsTUFBTSxFQUFFLElBQUksRUFBRTtBQUM3QixVQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQzFCLFdBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDNUIsWUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BFLFlBQUksTUFBTSxJQUFJLElBQUksRUFBRTtBQUNsQixpQkFBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7T0FDRjtLQUNGO0FBQ0QsVUFBTSxFQUFFLGdCQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDakMsYUFBTyxPQUFPLE9BQU8sS0FBSyxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7S0FDeEU7O0FBRUQsb0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtBQUN4QyxpQkFBYSxFQUFFLG9CQUFvQjs7QUFFbkMsTUFBRSxFQUFFLFlBQVMsQ0FBQyxFQUFFO0FBQ2QsVUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLFNBQUcsQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2QyxhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELFlBQVEsRUFBRSxFQUFFO0FBQ1osV0FBTyxFQUFFLGlCQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNuRSxVQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztVQUNuQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixVQUFJLElBQUksSUFBSSxNQUFNLElBQUksV0FBVyxJQUFJLG1CQUFtQixFQUFFO0FBQ3hELHNCQUFjLEdBQUcsV0FBVyxDQUMxQixJQUFJLEVBQ0osQ0FBQyxFQUNELEVBQUUsRUFDRixJQUFJLEVBQ0osbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztPQUNILE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUMxQixzQkFBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7T0FDOUQ7QUFDRCxhQUFPLGNBQWMsQ0FBQztLQUN2Qjs7QUFFRCxRQUFJLEVBQUUsY0FBUyxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQzNCLGFBQU8sS0FBSyxJQUFJLEtBQUssRUFBRSxFQUFFO0FBQ3ZCLGFBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO09BQ3ZCO0FBQ0QsYUFBTyxLQUFLLENBQUM7S0FDZDtBQUNELGlCQUFhLEVBQUUsdUJBQVMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUNyQyxVQUFJLEdBQUcsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDOztBQUUxQixVQUFJLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtBQUN2QyxXQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO09BQ3ZDOztBQUVELGFBQU8sR0FBRyxDQUFDO0tBQ1o7O0FBRUQsZUFBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOztBQUU1QixRQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJO0FBQ2pCLGdCQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVE7R0FDcEMsQ0FBQzs7QUFFRixXQUFTLEdBQUcsQ0FBQyxPQUFPLEVBQWdCO1FBQWQsT0FBTyx5REFBRyxFQUFFOztBQUNoQyxRQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDOztBQUV4QixPQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDNUMsVUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDaEM7QUFDRCxRQUFJLE1BQU0sWUFBQTtRQUNSLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7QUFDN0QsUUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO0FBQzFCLFVBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtBQUNsQixjQUFNLEdBQ0osT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQ3hCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQztPQUN0QixNQUFNO0FBQ0wsY0FBTSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7T0FDcEI7S0FDRjs7QUFFRCxhQUFTLElBQUksQ0FBQyxPQUFPLGdCQUFnQjtBQUNuQyxhQUNFLEVBQUUsR0FDRixZQUFZLENBQUMsSUFBSSxDQUNmLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxDQUFDLE9BQU8sRUFDakIsU0FBUyxDQUFDLFFBQVEsRUFDbEIsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FDRDtLQUNIOztBQUVELFFBQUksR0FBRyxpQkFBaUIsQ0FDdEIsWUFBWSxDQUFDLElBQUksRUFDakIsSUFBSSxFQUNKLFNBQVMsRUFDVCxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFDcEIsSUFBSSxFQUNKLFdBQVcsQ0FDWixDQUFDO0FBQ0YsV0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQy9COztBQUVELEtBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztBQUVqQixLQUFHLENBQUMsTUFBTSxHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQzdCLFFBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO0FBQ3BCLFVBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25FLHFDQUErQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxRCxlQUFTLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQzs7QUFFbEMsVUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFOztBQUUzQixpQkFBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUMxQyxPQUFPLENBQUMsUUFBUSxFQUNoQixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7T0FDSDtBQUNELFVBQUksWUFBWSxDQUFDLFVBQVUsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFO0FBQ3pELGlCQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2pDLEVBQUUsRUFDRixHQUFHLENBQUMsVUFBVSxFQUNkLE9BQU8sQ0FBQyxVQUFVLENBQ25CLENBQUM7T0FDSDs7QUFFRCxlQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNyQixlQUFTLENBQUMsa0JBQWtCLEdBQUcsOENBQXlCLE9BQU8sQ0FBQyxDQUFDOztBQUVqRSxVQUFJLG1CQUFtQixHQUNyQixPQUFPLENBQUMseUJBQXlCLElBQ2pDLG9DQUFvQyxDQUFDO0FBQ3ZDLGlDQUFrQixTQUFTLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDbkUsaUNBQWtCLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0tBQ3pFLE1BQU07QUFDTCxlQUFTLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQzFELGVBQVMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUNwQyxlQUFTLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDdEMsZUFBUyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQzFDLGVBQVMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUNqQztHQUNGLENBQUM7O0FBRUYsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtBQUNsRCxRQUFJLFlBQVksQ0FBQyxjQUFjLElBQUksQ0FBQyxXQUFXLEVBQUU7QUFDL0MsWUFBTSwyQkFBYyx3QkFBd0IsQ0FBQyxDQUFDO0tBQy9DO0FBQ0QsUUFBSSxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ3JDLFlBQU0sMkJBQWMseUJBQXlCLENBQUMsQ0FBQztLQUNoRDs7QUFFRCxXQUFPLFdBQVcsQ0FDaEIsU0FBUyxFQUNULENBQUMsRUFDRCxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsSUFBSSxFQUNKLENBQUMsRUFDRCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7R0FDSCxDQUFDO0FBQ0YsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLFdBQVcsQ0FDekIsU0FBUyxFQUNULENBQUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsTUFBTSxFQUNOO0FBQ0EsV0FBUyxJQUFJLENBQUMsT0FBTyxFQUFnQjtRQUFkLE9BQU8seURBQUcsRUFBRTs7QUFDakMsUUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBQzNCLFFBQ0UsTUFBTSxJQUNOLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQ3BCLEVBQUUsT0FBTyxLQUFLLFNBQVMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQSxBQUFDLEVBQzFEO0FBQ0EsbUJBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQzs7QUFFRCxXQUFPLEVBQUUsQ0FDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxFQUNwQixXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUN4RCxhQUFhLENBQ2QsQ0FBQztHQUNIOztBQUVELE1BQUksR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDOztBQUV6RSxNQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN4QyxNQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixJQUFJLENBQUMsQ0FBQztBQUM1QyxTQUFPLElBQUksQ0FBQztDQUNiOzs7Ozs7QUFLTSxTQUFTLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN4RCxNQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osUUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFO0FBQ3JDLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3pDLE1BQU07QUFDTCxhQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUM7R0FDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTs7QUFFekMsV0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7QUFDdkIsV0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7R0FDckM7QUFDRCxTQUFPLE9BQU8sQ0FBQztDQUNoQjs7QUFFTSxTQUFTLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTs7QUFFdkQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDMUUsU0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDdkIsTUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO0FBQ2YsV0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztHQUN2RTs7QUFFRCxNQUFJLFlBQVksWUFBQSxDQUFDO0FBQ2pCLE1BQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTs7QUFDckMsYUFBTyxDQUFDLElBQUksR0FBRyxrQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXpDLFVBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7QUFDcEIsa0JBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFNBQVMsbUJBQW1CLENBQ3pFLE9BQU8sRUFFUDtZQURBLE9BQU8seURBQUcsRUFBRTs7OztBQUlaLGVBQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLGVBQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsbUJBQW1CLENBQUM7QUFDcEQsZUFBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQzdCLENBQUM7QUFDRixVQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7QUFDZixlQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO09BQ3BFOztHQUNGOztBQUVELE1BQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxZQUFZLEVBQUU7QUFDekMsV0FBTyxHQUFHLFlBQVksQ0FBQztHQUN4Qjs7QUFFRCxNQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7QUFDekIsVUFBTSwyQkFBYyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0dBQzVFLE1BQU0sSUFBSSxPQUFPLFlBQVksUUFBUSxFQUFFO0FBQ3RDLFdBQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNsQztDQUNGOztBQUVNLFNBQVMsSUFBSSxHQUFHO0FBQ3JCLFNBQU8sRUFBRSxDQUFDO0NBQ1g7O0FBRUQsU0FBUyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUMvQixNQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQSxBQUFDLEVBQUU7QUFDOUIsUUFBSSxHQUFHLElBQUksR0FBRyxrQkFBWSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDckMsUUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7R0FDckI7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7QUFDekUsTUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFO0FBQ2hCLFFBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNmLFFBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0FBQ0YsU0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7R0FDM0I7QUFDRCxTQUFPLElBQUksQ0FBQztDQUNiOztBQUVELFNBQVMsK0JBQStCLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRTtBQUNqRSxRQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFVBQVUsRUFBSTtBQUMvQyxRQUFJLE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkMsaUJBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7R0FDekUsQ0FBQyxDQUFDO0NBQ0o7O0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO0FBQ25ELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUM7QUFDaEQsU0FBTywrQkFBVyxNQUFNLEVBQUUsVUFBQSxPQUFPLEVBQUk7QUFDbkMsV0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxFQUFkLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ2xELENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgbGV0IGV4dGVuZGVkT3B0aW9ucyA9IFV0aWxzLmV4dGVuZCh7fSwgb3B0aW9ucywge1xuICAgICAgaG9va3M6IHRoaXMuaG9va3MsXG4gICAgICBwcm90b0FjY2Vzc0NvbnRyb2w6IHRoaXMucHJvdG9BY2Nlc3NDb250cm9sXG4gICAgfSk7XG5cbiAgICBsZXQgcmVzdWx0ID0gZW52LlZNLmludm9rZVBhcnRpYWwuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICBwYXJ0aWFsLFxuICAgICAgY29udGV4dCxcbiAgICAgIGV4dGVuZGVkT3B0aW9uc1xuICAgICk7XG5cbiAgICBpZiAocmVzdWx0ID09IG51bGwgJiYgZW52LmNvbXBpbGUpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHNbb3B0aW9ucy5uYW1lXSA9IGVudi5jb21waWxlKFxuICAgICAgICBwYXJ0aWFsLFxuICAgICAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICBlbnZcbiAgICAgICk7XG4gICAgICByZXN1bHQgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0oY29udGV4dCwgZXh0ZW5kZWRPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICBpZiAob3B0aW9ucy5pbmRlbnQpIHtcbiAgICAgICAgbGV0IGxpbmVzID0gcmVzdWx0LnNwbGl0KCdcXG4nKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaW5lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICBpZiAoIWxpbmVzW2ldICYmIGkgKyAxID09PSBsKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lc1tpXSA9IG9wdGlvbnMuaW5kZW50ICsgbGluZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gbGluZXMuam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVGhlIHBhcnRpYWwgJyArXG4gICAgICAgICAgb3B0aW9ucy5uYW1lICtcbiAgICAgICAgICAnIGNvdWxkIG5vdCBiZSBjb21waWxlZCB3aGVuIHJ1bm5pbmcgaW4gcnVudGltZS1vbmx5IG1vZGUnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEp1c3QgYWRkIHdhdGVyXG4gIGxldCBjb250YWluZXIgPSB7XG4gICAgc3RyaWN0OiBmdW5jdGlvbihvYmosIG5hbWUsIGxvYykge1xuICAgICAgaWYgKCFvYmogfHwgIShuYW1lIGluIG9iaikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignXCInICsgbmFtZSArICdcIiBub3QgZGVmaW5lZCBpbiAnICsgb2JqLCB7XG4gICAgICAgICAgbG9jOiBsb2NcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5KG9iaiwgbmFtZSk7XG4gICAgfSxcbiAgICBsb29rdXBQcm9wZXJ0eTogZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGxldCByZXN1bHQgPSBwYXJlbnRbcHJvcGVydHlOYW1lXTtcbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBsb29rdXA6IGZ1bmN0aW9uKGRlcHRocywgbmFtZSkge1xuICAgICAgY29uc3QgbGVuID0gZGVwdGhzLmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGRlcHRoc1tpXSAmJiBjb250YWluZXIubG9va3VwUHJvcGVydHkoZGVwdGhzW2ldLCBuYW1lKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGRlcHRoc1tpXVtuYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgbGFtYmRhOiBmdW5jdGlvbihjdXJyZW50LCBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGN1cnJlbnQgPT09ICdmdW5jdGlvbicgPyBjdXJyZW50LmNhbGwoY29udGV4dCkgOiBjdXJyZW50O1xuICAgIH0sXG5cbiAgICBlc2NhcGVFeHByZXNzaW9uOiBVdGlscy5lc2NhcGVFeHByZXNzaW9uLFxuICAgIGludm9rZVBhcnRpYWw6IGludm9rZVBhcnRpYWxXcmFwcGVyLFxuXG4gICAgZm46IGZ1bmN0aW9uKGkpIHtcbiAgICAgIGxldCByZXQgPSB0ZW1wbGF0ZVNwZWNbaV07XG4gICAgICByZXQuZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjW2kgKyAnX2QnXTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSxcblxuICAgIHByb2dyYW1zOiBbXSxcbiAgICBwcm9ncmFtOiBmdW5jdGlvbihpLCBkYXRhLCBkZWNsYXJlZEJsb2NrUGFyYW1zLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgICBsZXQgcHJvZ3JhbVdyYXBwZXIgPSB0aGlzLnByb2dyYW1zW2ldLFxuICAgICAgICBmbiA9IHRoaXMuZm4oaSk7XG4gICAgICBpZiAoZGF0YSB8fCBkZXB0aHMgfHwgYmxvY2tQYXJhbXMgfHwgZGVjbGFyZWRCbG9ja1BhcmFtcykge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHdyYXBQcm9ncmFtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgaSxcbiAgICAgICAgICBmbixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRlY2xhcmVkQmxvY2tQYXJhbXMsXG4gICAgICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICAgICAgZGVwdGhzXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKCFwcm9ncmFtV3JhcHBlcikge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0gPSB3cmFwUHJvZ3JhbSh0aGlzLCBpLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvZ3JhbVdyYXBwZXI7XG4gICAgfSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uKHZhbHVlLCBkZXB0aCkge1xuICAgICAgd2hpbGUgKHZhbHVlICYmIGRlcHRoLS0pIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5fcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgbWVyZ2VJZk5lZWRlZDogZnVuY3Rpb24ocGFyYW0sIGNvbW1vbikge1xuICAgICAgbGV0IG9iaiA9IHBhcmFtIHx8IGNvbW1vbjtcblxuICAgICAgaWYgKHBhcmFtICYmIGNvbW1vbiAmJiBwYXJhbSAhPT0gY29tbW9uKSB7XG4gICAgICAgIG9iaiA9IFV0aWxzLmV4dGVuZCh7fSwgY29tbW9uLCBwYXJhbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICAvLyBBbiBlbXB0eSBvYmplY3QgdG8gdXNlIGFzIHJlcGxhY2VtZW50IGZvciBudWxsLWNvbnRleHRzXG4gICAgbnVsbENvbnRleHQ6IE9iamVjdC5zZWFsKHt9KSxcblxuICAgIG5vb3A6IGVudi5WTS5ub29wLFxuICAgIGNvbXBpbGVySW5mbzogdGVtcGxhdGVTcGVjLmNvbXBpbGVyXG4gIH07XG5cbiAgZnVuY3Rpb24gcmV0KGNvbnRleHQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuXG4gICAgcmV0Ll9zZXR1cChvcHRpb25zKTtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCAmJiB0ZW1wbGF0ZVNwZWMudXNlRGF0YSkge1xuICAgICAgZGF0YSA9IGluaXREYXRhKGNvbnRleHQsIGRhdGEpO1xuICAgIH1cbiAgICBsZXQgZGVwdGhzLFxuICAgICAgYmxvY2tQYXJhbXMgPSB0ZW1wbGF0ZVNwZWMudXNlQmxvY2tQYXJhbXMgPyBbXSA6IHVuZGVmaW5lZDtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocykge1xuICAgICAgaWYgKG9wdGlvbnMuZGVwdGhzKSB7XG4gICAgICAgIGRlcHRocyA9XG4gICAgICAgICAgY29udGV4dCAhPSBvcHRpb25zLmRlcHRoc1swXVxuICAgICAgICAgICAgPyBbY29udGV4dF0uY29uY2F0KG9wdGlvbnMuZGVwdGhzKVxuICAgICAgICAgICAgOiBvcHRpb25zLmRlcHRocztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlcHRocyA9IFtjb250ZXh0XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWluKGNvbnRleHQgLyosIG9wdGlvbnMqLykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgJycgK1xuICAgICAgICB0ZW1wbGF0ZVNwZWMubWFpbihcbiAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtYWluID0gZXhlY3V0ZURlY29yYXRvcnMoXG4gICAgICB0ZW1wbGF0ZVNwZWMubWFpbixcbiAgICAgIG1haW4sXG4gICAgICBjb250YWluZXIsXG4gICAgICBvcHRpb25zLmRlcHRocyB8fCBbXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtc1xuICAgICk7XG4gICAgcmV0dXJuIG1haW4oY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cblxuICByZXQuaXNUb3AgPSB0cnVlO1xuXG4gIHJldC5fc2V0dXAgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhcnRpYWwpIHtcbiAgICAgIGxldCBtZXJnZWRIZWxwZXJzID0gVXRpbHMuZXh0ZW5kKHt9LCBlbnYuaGVscGVycywgb3B0aW9ucy5oZWxwZXJzKTtcbiAgICAgIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdO1xuICAgIH1cbiAgfSBlbHNlIGlmICghcGFydGlhbC5jYWxsICYmICFvcHRpb25zLm5hbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZHluYW1pYyBwYXJ0aWFsIHRoYXQgcmV0dXJuZWQgYSBzdHJpbmdcbiAgICBvcHRpb25zLm5hbWUgPSBwYXJ0aWFsO1xuICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW3BhcnRpYWxdO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhKGNvbnRleHQsIGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8ICEoJ3Jvb3QnIGluIGRhdGEpKSB7XG4gICAgZGF0YSA9IGRhdGEgPyBjcmVhdGVGcmFtZShkYXRhKSA6IHt9O1xuICAgIGRhdGEucm9vdCA9IGNvbnRleHQ7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEZWNvcmF0b3JzKGZuLCBwcm9nLCBjb250YWluZXIsIGRlcHRocywgZGF0YSwgYmxvY2tQYXJhbXMpIHtcbiAgaWYgKGZuLmRlY29yYXRvcikge1xuICAgIGxldCBwcm9wcyA9IHt9O1xuICAgIHByb2cgPSBmbi5kZWNvcmF0b3IoXG4gICAgICBwcm9nLFxuICAgICAgcHJvcHMsXG4gICAgICBjb250YWluZXIsXG4gICAgICBkZXB0aHMgJiYgZGVwdGhzWzBdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgICBVdGlscy5leHRlbmQocHJvZywgcHJvcHMpO1xuICB9XG4gIHJldHVybiBwcm9nO1xufVxuXG5mdW5jdGlvbiB3cmFwSGVscGVyc1RvUGFzc0xvb2t1cFByb3BlcnR5KG1lcmdlZEhlbHBlcnMsIGNvbnRhaW5lcikge1xuICBPYmplY3Qua2V5cyhtZXJnZWRIZWxwZXJzKS5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgIGxldCBoZWxwZXIgPSBtZXJnZWRIZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV0gPSBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFzc0xvb2t1cFByb3BlcnR5T3B0aW9uKGhlbHBlciwgY29udGFpbmVyKSB7XG4gIGNvbnN0IGxvb2t1cFByb3BlcnR5ID0gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5O1xuICByZXR1cm4gd3JhcEhlbHBlcihoZWxwZXIsIG9wdGlvbnMgPT4ge1xuICAgIHJldHVybiBVdGlscy5leHRlbmQoeyBsb29rdXBQcm9wZXJ0eSB9LCBvcHRpb25zKTtcbiAgfSk7XG59XG4iXX0=\n","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\nfunction SafeString(string) {\n  this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n  return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n  '&': '&',\n  '<': '<',\n  '>': '>',\n  '\"': '"',\n  \"'\": ''',\n  '`': '`',\n  '=': '='\n};\n\nvar badChars = /[&<>\"'`=]/g,\n    possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n  return escape[chr];\n}\n\nfunction extend(obj /* , ...source */) {\n  for (var i = 1; i < arguments.length; i++) {\n    for (var key in arguments[i]) {\n      if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n        obj[key] = arguments[i][key];\n      }\n    }\n  }\n\n  return obj;\n}\n\nvar toString = Object.prototype.toString;\n\nexports.toString = toString;\n// Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n/* eslint-disable func-style */\nvar isFunction = function isFunction(value) {\n  return typeof value === 'function';\n};\n// fallback for older versions of Chrome and Safari\n/* istanbul ignore next */\nif (isFunction(/x/)) {\n  exports.isFunction = isFunction = function (value) {\n    return typeof value === 'function' && toString.call(value) === '[object Function]';\n  };\n}\nexports.isFunction = isFunction;\n\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\nvar isArray = Array.isArray || function (value) {\n  return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray;\n// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n  for (var i = 0, len = array.length; i < len; i++) {\n    if (array[i] === value) {\n      return i;\n    }\n  }\n  return -1;\n}\n\nfunction escapeExpression(string) {\n  if (typeof string !== 'string') {\n    // don't escape SafeStrings, since they're already safe\n    if (string && string.toHTML) {\n      return string.toHTML();\n    } else if (string == null) {\n      return '';\n    } else if (!string) {\n      return string + '';\n    }\n\n    // Force a string conversion as this will be done by the append regardless and\n    // the regex test will do this transparently behind the scenes, causing issues if\n    // an object's to string has escaped characters in it.\n    string = '' + string;\n  }\n\n  if (!possible.test(string)) {\n    return string;\n  }\n  return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n  if (!value && value !== 0) {\n    return true;\n  } else if (isArray(value) && value.length === 0) {\n    return true;\n  } else {\n    return false;\n  }\n}\n\nfunction createFrame(object) {\n  var frame = extend({}, object);\n  frame._parent = object;\n  return frame;\n}\n\nfunction blockParams(params, ids) {\n  params.path = ids;\n  return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n  return (contextPath ? contextPath + '.' : '') + id;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=\n",null,"/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n  this._array = [];\n  this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n  var set = new ArraySet();\n  for (var i = 0, len = aArray.length; i < len; i++) {\n    set.add(aArray[i], aAllowDuplicates);\n  }\n  return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n  return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n  var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n  var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n  var idx = this._array.length;\n  if (!isDuplicate || aAllowDuplicates) {\n    this._array.push(aStr);\n  }\n  if (!isDuplicate) {\n    if (hasNativeMap) {\n      this._set.set(aStr, idx);\n    } else {\n      this._set[sStr] = idx;\n    }\n  }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n  if (hasNativeMap) {\n    return this._set.has(aStr);\n  } else {\n    var sStr = util.toSetString(aStr);\n    return has.call(this._set, sStr);\n  }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n  if (hasNativeMap) {\n    var idx = this._set.get(aStr);\n    if (idx >= 0) {\n        return idx;\n    }\n  } else {\n    var sStr = util.toSetString(aStr);\n    if (has.call(this._set, sStr)) {\n      return this._set[sStr];\n    }\n  }\n\n  throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n  if (aIdx >= 0 && aIdx < this._array.length) {\n    return this._array[aIdx];\n  }\n  throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n  return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n *  * Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n *  * Redistributions in binary form must reproduce the above\n *    copyright notice, this list of conditions and the following\n *    disclaimer in the documentation and/or other materials provided\n *    with the distribution.\n *  * Neither the name of Google Inc. nor the names of its\n *    contributors may be used to endorse or promote products derived\n *    from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n//   Continuation\n//   |    Sign\n//   |    |\n//   V    V\n//   101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit.  For example, as decimals:\n *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n  return aValue < 0\n    ? ((-aValue) << 1) + 1\n    : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit.  For example, as decimals:\n *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n  var isNegative = (aValue & 1) === 1;\n  var shifted = aValue >> 1;\n  return isNegative\n    ? -shifted\n    : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n  var encoded = \"\";\n  var digit;\n\n  var vlq = toVLQSigned(aValue);\n\n  do {\n    digit = vlq & VLQ_BASE_MASK;\n    vlq >>>= VLQ_BASE_SHIFT;\n    if (vlq > 0) {\n      // There are still more digits in this value, so we must make sure the\n      // continuation bit is marked.\n      digit |= VLQ_CONTINUATION_BIT;\n    }\n    encoded += base64.encode(digit);\n  } while (vlq > 0);\n\n  return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n  var strLen = aStr.length;\n  var result = 0;\n  var shift = 0;\n  var continuation, digit;\n\n  do {\n    if (aIndex >= strLen) {\n      throw new Error(\"Expected more digits in base 64 VLQ value.\");\n    }\n\n    digit = base64.decode(aStr.charCodeAt(aIndex++));\n    if (digit === -1) {\n      throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n    }\n\n    continuation = !!(digit & VLQ_CONTINUATION_BIT);\n    digit &= VLQ_BASE_MASK;\n    result = result + (digit << shift);\n    shift += VLQ_BASE_SHIFT;\n  } while (continuation);\n\n  aOutParam.value = fromVLQSigned(result);\n  aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n  if (0 <= number && number < intToCharMap.length) {\n    return intToCharMap[number];\n  }\n  throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n  var bigA = 65;     // 'A'\n  var bigZ = 90;     // 'Z'\n\n  var littleA = 97;  // 'a'\n  var littleZ = 122; // 'z'\n\n  var zero = 48;     // '0'\n  var nine = 57;     // '9'\n\n  var plus = 43;     // '+'\n  var slash = 47;    // '/'\n\n  var littleOffset = 26;\n  var numberOffset = 52;\n\n  // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n  if (bigA <= charCode && charCode <= bigZ) {\n    return (charCode - bigA);\n  }\n\n  // 26 - 51: abcdefghijklmnopqrstuvwxyz\n  if (littleA <= charCode && charCode <= littleZ) {\n    return (charCode - littleA + littleOffset);\n  }\n\n  // 52 - 61: 0123456789\n  if (zero <= charCode && charCode <= nine) {\n    return (charCode - zero + numberOffset);\n  }\n\n  // 62: +\n  if (charCode == plus) {\n    return 62;\n  }\n\n  // 63: /\n  if (charCode == slash) {\n    return 63;\n  }\n\n  // Invalid base64 digit.\n  return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n *     closest element that is smaller than or greater than the one we are\n *     searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n  // This function terminates when one of the following is true:\n  //\n  //   1. We find the exact element we are looking for.\n  //\n  //   2. We did not find the exact element, but we can return the index of\n  //      the next-closest element.\n  //\n  //   3. We did not find the exact element, and there is no next-closest\n  //      element than the one we are searching for, so we return -1.\n  var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n  var cmp = aCompare(aNeedle, aHaystack[mid], true);\n  if (cmp === 0) {\n    // Found the element we are looking for.\n    return mid;\n  }\n  else if (cmp > 0) {\n    // Our needle is greater than aHaystack[mid].\n    if (aHigh - mid > 1) {\n      // The element is in the upper half.\n      return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n    }\n\n    // The exact needle element was not found in this haystack. Determine if\n    // we are in termination case (3) or (2) and return the appropriate thing.\n    if (aBias == exports.LEAST_UPPER_BOUND) {\n      return aHigh < aHaystack.length ? aHigh : -1;\n    } else {\n      return mid;\n    }\n  }\n  else {\n    // Our needle is less than aHaystack[mid].\n    if (mid - aLow > 1) {\n      // The element is in the lower half.\n      return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n    }\n\n    // we are in termination case (3) or (2) and return the appropriate thing.\n    if (aBias == exports.LEAST_UPPER_BOUND) {\n      return mid;\n    } else {\n      return aLow < 0 ? -1 : aLow;\n    }\n  }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n *     array and returns -1, 0, or 1 depending on whether the needle is less\n *     than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n *     closest element that is smaller than or greater than the one we are\n *     searching for, respectively, if the exact element cannot be found.\n *     Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n  if (aHaystack.length === 0) {\n    return -1;\n  }\n\n  var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n                              aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n  if (index < 0) {\n    return -1;\n  }\n\n  // We have found either the exact element, or the next-closest element than\n  // the one we are searching for. However, there may be more than one such\n  // element. Make sure we always return the smallest of these.\n  while (index - 1 >= 0) {\n    if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n      break;\n    }\n    --index;\n  }\n\n  return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n  // Optimized for most common case\n  var lineA = mappingA.generatedLine;\n  var lineB = mappingB.generatedLine;\n  var columnA = mappingA.generatedColumn;\n  var columnB = mappingB.generatedColumn;\n  return lineB > lineA || lineB == lineA && columnB >= columnA ||\n         util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n  this._array = [];\n  this._sorted = true;\n  // Serves as infimum\n  this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n  function MappingList_forEach(aCallback, aThisArg) {\n    this._array.forEach(aCallback, aThisArg);\n  };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n  if (generatedPositionAfter(this._last, aMapping)) {\n    this._last = aMapping;\n    this._array.push(aMapping);\n  } else {\n    this._sorted = false;\n    this._array.push(aMapping);\n  }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n  if (!this._sorted) {\n    this._array.sort(util.compareByGeneratedPositionsInflated);\n    this._sorted = true;\n  }\n  return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n *        The array.\n * @param {Number} x\n *        The index of the first item.\n * @param {Number} y\n *        The index of the second item.\n */\nfunction swap(ary, x, y) {\n  var temp = ary[x];\n  ary[x] = ary[y];\n  ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n *        The lower bound on the range.\n * @param {Number} high\n *        The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n  return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n *        An array to sort.\n * @param {function} comparator\n *        Function to use to compare two items.\n * @param {Number} p\n *        Start index of the array\n * @param {Number} r\n *        End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n  // If our lower bound is less than our upper bound, we (1) partition the\n  // array into two pieces and (2) recurse on each half. If it is not, this is\n  // the empty array and our base case.\n\n  if (p < r) {\n    // (1) Partitioning.\n    //\n    // The partitioning chooses a pivot between `p` and `r` and moves all\n    // elements that are less than or equal to the pivot to the before it, and\n    // all the elements that are greater than it after it. The effect is that\n    // once partition is done, the pivot is in the exact place it will be when\n    // the array is put in sorted order, and it will not need to be moved\n    // again. This runs in O(n) time.\n\n    // Always choose a random pivot so that an input array which is reverse\n    // sorted does not cause O(n^2) running time.\n    var pivotIndex = randomIntInRange(p, r);\n    var i = p - 1;\n\n    swap(ary, pivotIndex, r);\n    var pivot = ary[r];\n\n    // Immediately after `j` is incremented in this loop, the following hold\n    // true:\n    //\n    //   * Every element in `ary[p .. i]` is less than or equal to the pivot.\n    //\n    //   * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n    for (var j = p; j < r; j++) {\n      if (comparator(ary[j], pivot) <= 0) {\n        i += 1;\n        swap(ary, i, j);\n      }\n    }\n\n    swap(ary, i + 1, j);\n    var q = i + 1;\n\n    // (2) Recurse on each half.\n\n    doQuickSort(ary, comparator, p, q - 1);\n    doQuickSort(ary, comparator, q + 1, r);\n  }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n *        An array to sort.\n * @param {function} comparator\n *        Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n  doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n  var sourceMap = aSourceMap;\n  if (typeof aSourceMap === 'string') {\n    sourceMap = util.parseSourceMapInput(aSourceMap);\n  }\n\n  return sourceMap.sections != null\n    ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n    : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n  return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n//     {\n//       generatedLine: The line number in the generated code,\n//       generatedColumn: The column number in the generated code,\n//       source: The path to the original source file that generated this\n//               chunk of code,\n//       originalLine: The line number in the original source that\n//                     corresponds to this chunk of generated code,\n//       originalColumn: The column number in the original source that\n//                       corresponds to this chunk of generated code,\n//       name: The name of the original symbol which generated this chunk of\n//             code.\n//     }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n  configurable: true,\n  enumerable: true,\n  get: function () {\n    if (!this.__generatedMappings) {\n      this._parseMappings(this._mappings, this.sourceRoot);\n    }\n\n    return this.__generatedMappings;\n  }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n  configurable: true,\n  enumerable: true,\n  get: function () {\n    if (!this.__originalMappings) {\n      this._parseMappings(this._mappings, this.sourceRoot);\n    }\n\n    return this.__originalMappings;\n  }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n  function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n    var c = aStr.charAt(index);\n    return c === \";\" || c === \",\";\n  };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n  function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n    throw new Error(\"Subclasses must implement _parseMappings\");\n  };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n *        The function that is called with each mapping.\n * @param Object aContext\n *        Optional. If specified, this object will be the value of `this` every\n *        time that `aCallback` is called.\n * @param aOrder\n *        Either `SourceMapConsumer.GENERATED_ORDER` or\n *        `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n *        iterate over the mappings sorted by the generated file's line/column\n *        order or the original's source/line/column order, respectively. Defaults to\n *        `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n  function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n    var context = aContext || null;\n    var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n    var mappings;\n    switch (order) {\n    case SourceMapConsumer.GENERATED_ORDER:\n      mappings = this._generatedMappings;\n      break;\n    case SourceMapConsumer.ORIGINAL_ORDER:\n      mappings = this._originalMappings;\n      break;\n    default:\n      throw new Error(\"Unknown order of iteration.\");\n    }\n\n    var sourceRoot = this.sourceRoot;\n    mappings.map(function (mapping) {\n      var source = mapping.source === null ? null : this._sources.at(mapping.source);\n      source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n      return {\n        source: source,\n        generatedLine: mapping.generatedLine,\n        generatedColumn: mapping.generatedColumn,\n        originalLine: mapping.originalLine,\n        originalColumn: mapping.originalColumn,\n        name: mapping.name === null ? null : this._names.at(mapping.name)\n      };\n    }, this).forEach(aCallback, context);\n  };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n *   - source: The filename of the original source.\n *   - line: The line number in the original source.  The line number is 1-based.\n *   - column: Optional. the column number in the original source.\n *    The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n *   - line: The line number in the generated source, or null.  The\n *    line number is 1-based.\n *   - column: The column number in the generated source, or null.\n *    The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n  function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n    var line = util.getArg(aArgs, 'line');\n\n    // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n    // returns the index of the closest mapping less than the needle. By\n    // setting needle.originalColumn to 0, we thus find the last mapping for\n    // the given line, provided such a mapping exists.\n    var needle = {\n      source: util.getArg(aArgs, 'source'),\n      originalLine: line,\n      originalColumn: util.getArg(aArgs, 'column', 0)\n    };\n\n    needle.source = this._findSourceIndex(needle.source);\n    if (needle.source < 0) {\n      return [];\n    }\n\n    var mappings = [];\n\n    var index = this._findMapping(needle,\n                                  this._originalMappings,\n                                  \"originalLine\",\n                                  \"originalColumn\",\n                                  util.compareByOriginalPositions,\n                                  binarySearch.LEAST_UPPER_BOUND);\n    if (index >= 0) {\n      var mapping = this._originalMappings[index];\n\n      if (aArgs.column === undefined) {\n        var originalLine = mapping.originalLine;\n\n        // Iterate until either we run out of mappings, or we run into\n        // a mapping for a different line than the one we found. Since\n        // mappings are sorted, this is guaranteed to find all mappings for\n        // the line we found.\n        while (mapping && mapping.originalLine === originalLine) {\n          mappings.push({\n            line: util.getArg(mapping, 'generatedLine', null),\n            column: util.getArg(mapping, 'generatedColumn', null),\n            lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n          });\n\n          mapping = this._originalMappings[++index];\n        }\n      } else {\n        var originalColumn = mapping.originalColumn;\n\n        // Iterate until either we run out of mappings, or we run into\n        // a mapping for a different line than the one we were searching for.\n        // Since mappings are sorted, this is guaranteed to find all mappings for\n        // the line we are searching for.\n        while (mapping &&\n               mapping.originalLine === line &&\n               mapping.originalColumn == originalColumn) {\n          mappings.push({\n            line: util.getArg(mapping, 'generatedLine', null),\n            column: util.getArg(mapping, 'generatedColumn', null),\n            lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n          });\n\n          mapping = this._originalMappings[++index];\n        }\n      }\n    }\n\n    return mappings;\n  };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n *   - version: Which version of the source map spec this map is following.\n *   - sources: An array of URLs to the original source files.\n *   - names: An array of identifiers which can be referrenced by individual mappings.\n *   - sourceRoot: Optional. The URL root from which all sources are relative.\n *   - sourcesContent: Optional. An array of contents of the original source files.\n *   - mappings: A string of base64 VLQs which contain the actual mappings.\n *   - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n *     {\n *       version : 3,\n *       file: \"out.js\",\n *       sourceRoot : \"\",\n *       sources: [\"foo.js\", \"bar.js\"],\n *       names: [\"src\", \"maps\", \"are\", \"fun\"],\n *       mappings: \"AA,AB;;ABCDE;\"\n *     }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found.  This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n  var sourceMap = aSourceMap;\n  if (typeof aSourceMap === 'string') {\n    sourceMap = util.parseSourceMapInput(aSourceMap);\n  }\n\n  var version = util.getArg(sourceMap, 'version');\n  var sources = util.getArg(sourceMap, 'sources');\n  // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n  // requires the array) to play nice here.\n  var names = util.getArg(sourceMap, 'names', []);\n  var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n  var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n  var mappings = util.getArg(sourceMap, 'mappings');\n  var file = util.getArg(sourceMap, 'file', null);\n\n  // Once again, Sass deviates from the spec and supplies the version as a\n  // string rather than a number, so we use loose equality checking here.\n  if (version != this._version) {\n    throw new Error('Unsupported version: ' + version);\n  }\n\n  if (sourceRoot) {\n    sourceRoot = util.normalize(sourceRoot);\n  }\n\n  sources = sources\n    .map(String)\n    // Some source maps produce relative source paths like \"./foo.js\" instead of\n    // \"foo.js\".  Normalize these first so that future comparisons will succeed.\n    // See bugzil.la/1090768.\n    .map(util.normalize)\n    // Always ensure that absolute sources are internally stored relative to\n    // the source root, if the source root is absolute. Not doing this would\n    // be particularly problematic when the source root is a prefix of the\n    // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n    .map(function (source) {\n      return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n        ? util.relative(sourceRoot, source)\n        : source;\n    });\n\n  // Pass `true` below to allow duplicate names and sources. While source maps\n  // are intended to be compressed and deduplicated, the TypeScript compiler\n  // sometimes generates source maps with duplicates in them. See Github issue\n  // #72 and bugzil.la/889492.\n  this._names = ArraySet.fromArray(names.map(String), true);\n  this._sources = ArraySet.fromArray(sources, true);\n\n  this._absoluteSources = this._sources.toArray().map(function (s) {\n    return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n  });\n\n  this.sourceRoot = sourceRoot;\n  this.sourcesContent = sourcesContent;\n  this._mappings = mappings;\n  this._sourceMapURL = aSourceMapURL;\n  this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source.  Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n  var relativeSource = aSource;\n  if (this.sourceRoot != null) {\n    relativeSource = util.relative(this.sourceRoot, relativeSource);\n  }\n\n  if (this._sources.has(relativeSource)) {\n    return this._sources.indexOf(relativeSource);\n  }\n\n  // Maybe aSource is an absolute URL as returned by |sources|.  In\n  // this case we can't simply undo the transform.\n  var i;\n  for (i = 0; i < this._absoluteSources.length; ++i) {\n    if (this._absoluteSources[i] == aSource) {\n      return i;\n    }\n  }\n\n  return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n *        The source map that will be consumed.\n * @param String aSourceMapURL\n *        The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n  function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n    var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n    var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n    var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n    smc.sourceRoot = aSourceMap._sourceRoot;\n    smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n                                                            smc.sourceRoot);\n    smc.file = aSourceMap._file;\n    smc._sourceMapURL = aSourceMapURL;\n    smc._absoluteSources = smc._sources.toArray().map(function (s) {\n      return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n    });\n\n    // Because we are modifying the entries (by converting string sources and\n    // names to indices into the sources and names ArraySets), we have to make\n    // a copy of the entry or else bad things happen. Shared mutable state\n    // strikes again! See github issue #191.\n\n    var generatedMappings = aSourceMap._mappings.toArray().slice();\n    var destGeneratedMappings = smc.__generatedMappings = [];\n    var destOriginalMappings = smc.__originalMappings = [];\n\n    for (var i = 0, length = generatedMappings.length; i < length; i++) {\n      var srcMapping = generatedMappings[i];\n      var destMapping = new Mapping;\n      destMapping.generatedLine = srcMapping.generatedLine;\n      destMapping.generatedColumn = srcMapping.generatedColumn;\n\n      if (srcMapping.source) {\n        destMapping.source = sources.indexOf(srcMapping.source);\n        destMapping.originalLine = srcMapping.originalLine;\n        destMapping.originalColumn = srcMapping.originalColumn;\n\n        if (srcMapping.name) {\n          destMapping.name = names.indexOf(srcMapping.name);\n        }\n\n        destOriginalMappings.push(destMapping);\n      }\n\n      destGeneratedMappings.push(destMapping);\n    }\n\n    quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n    return smc;\n  };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n  get: function () {\n    return this._absoluteSources.slice();\n  }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n  this.generatedLine = 0;\n  this.generatedColumn = 0;\n  this.source = null;\n  this.originalLine = null;\n  this.originalColumn = null;\n  this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n  function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n    var generatedLine = 1;\n    var previousGeneratedColumn = 0;\n    var previousOriginalLine = 0;\n    var previousOriginalColumn = 0;\n    var previousSource = 0;\n    var previousName = 0;\n    var length = aStr.length;\n    var index = 0;\n    var cachedSegments = {};\n    var temp = {};\n    var originalMappings = [];\n    var generatedMappings = [];\n    var mapping, str, segment, end, value;\n\n    while (index < length) {\n      if (aStr.charAt(index) === ';') {\n        generatedLine++;\n        index++;\n        previousGeneratedColumn = 0;\n      }\n      else if (aStr.charAt(index) === ',') {\n        index++;\n      }\n      else {\n        mapping = new Mapping();\n        mapping.generatedLine = generatedLine;\n\n        // Because each offset is encoded relative to the previous one,\n        // many segments often have the same encoding. We can exploit this\n        // fact by caching the parsed variable length fields of each segment,\n        // allowing us to avoid a second parse if we encounter the same\n        // segment again.\n        for (end = index; end < length; end++) {\n          if (this._charIsMappingSeparator(aStr, end)) {\n            break;\n          }\n        }\n        str = aStr.slice(index, end);\n\n        segment = cachedSegments[str];\n        if (segment) {\n          index += str.length;\n        } else {\n          segment = [];\n          while (index < end) {\n            base64VLQ.decode(aStr, index, temp);\n            value = temp.value;\n            index = temp.rest;\n            segment.push(value);\n          }\n\n          if (segment.length === 2) {\n            throw new Error('Found a source, but no line and column');\n          }\n\n          if (segment.length === 3) {\n            throw new Error('Found a source and line, but no column');\n          }\n\n          cachedSegments[str] = segment;\n        }\n\n        // Generated column.\n        mapping.generatedColumn = previousGeneratedColumn + segment[0];\n        previousGeneratedColumn = mapping.generatedColumn;\n\n        if (segment.length > 1) {\n          // Original source.\n          mapping.source = previousSource + segment[1];\n          previousSource += segment[1];\n\n          // Original line.\n          mapping.originalLine = previousOriginalLine + segment[2];\n          previousOriginalLine = mapping.originalLine;\n          // Lines are stored 0-based\n          mapping.originalLine += 1;\n\n          // Original column.\n          mapping.originalColumn = previousOriginalColumn + segment[3];\n          previousOriginalColumn = mapping.originalColumn;\n\n          if (segment.length > 4) {\n            // Original name.\n            mapping.name = previousName + segment[4];\n            previousName += segment[4];\n          }\n        }\n\n        generatedMappings.push(mapping);\n        if (typeof mapping.originalLine === 'number') {\n          originalMappings.push(mapping);\n        }\n      }\n    }\n\n    quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n    this.__generatedMappings = generatedMappings;\n\n    quickSort(originalMappings, util.compareByOriginalPositions);\n    this.__originalMappings = originalMappings;\n  };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n  function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n                                         aColumnName, aComparator, aBias) {\n    // To return the position we are searching for, we must first find the\n    // mapping for the given position and then return the opposite position it\n    // points to. Because the mappings are sorted, we can use binary search to\n    // find the best mapping.\n\n    if (aNeedle[aLineName] <= 0) {\n      throw new TypeError('Line must be greater than or equal to 1, got '\n                          + aNeedle[aLineName]);\n    }\n    if (aNeedle[aColumnName] < 0) {\n      throw new TypeError('Column must be greater than or equal to 0, got '\n                          + aNeedle[aColumnName]);\n    }\n\n    return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n  };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n  function SourceMapConsumer_computeColumnSpans() {\n    for (var index = 0; index < this._generatedMappings.length; ++index) {\n      var mapping = this._generatedMappings[index];\n\n      // Mappings do not contain a field for the last generated columnt. We\n      // can come up with an optimistic estimate, however, by assuming that\n      // mappings are contiguous (i.e. given two consecutive mappings, the\n      // first mapping ends where the second one starts).\n      if (index + 1 < this._generatedMappings.length) {\n        var nextMapping = this._generatedMappings[index + 1];\n\n        if (mapping.generatedLine === nextMapping.generatedLine) {\n          mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n          continue;\n        }\n      }\n\n      // The last mapping for each line spans the entire line.\n      mapping.lastGeneratedColumn = Infinity;\n    }\n  };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n *   - line: The line number in the generated source.  The line number\n *     is 1-based.\n *   - column: The column number in the generated source.  The column\n *     number is 0-based.\n *   - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n *     'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n *     closest element that is smaller than or greater than the one we are\n *     searching for, respectively, if the exact element cannot be found.\n *     Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n *   - source: The original source file, or null.\n *   - line: The line number in the original source, or null.  The\n *     line number is 1-based.\n *   - column: The column number in the original source, or null.  The\n *     column number is 0-based.\n *   - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n  function SourceMapConsumer_originalPositionFor(aArgs) {\n    var needle = {\n      generatedLine: util.getArg(aArgs, 'line'),\n      generatedColumn: util.getArg(aArgs, 'column')\n    };\n\n    var index = this._findMapping(\n      needle,\n      this._generatedMappings,\n      \"generatedLine\",\n      \"generatedColumn\",\n      util.compareByGeneratedPositionsDeflated,\n      util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n    );\n\n    if (index >= 0) {\n      var mapping = this._generatedMappings[index];\n\n      if (mapping.generatedLine === needle.generatedLine) {\n        var source = util.getArg(mapping, 'source', null);\n        if (source !== null) {\n          source = this._sources.at(source);\n          source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n        }\n        var name = util.getArg(mapping, 'name', null);\n        if (name !== null) {\n          name = this._names.at(name);\n        }\n        return {\n          source: source,\n          line: util.getArg(mapping, 'originalLine', null),\n          column: util.getArg(mapping, 'originalColumn', null),\n          name: name\n        };\n      }\n    }\n\n    return {\n      source: null,\n      line: null,\n      column: null,\n      name: null\n    };\n  };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n  function BasicSourceMapConsumer_hasContentsOfAllSources() {\n    if (!this.sourcesContent) {\n      return false;\n    }\n    return this.sourcesContent.length >= this._sources.size() &&\n      !this.sourcesContent.some(function (sc) { return sc == null; });\n  };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n  function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n    if (!this.sourcesContent) {\n      return null;\n    }\n\n    var index = this._findSourceIndex(aSource);\n    if (index >= 0) {\n      return this.sourcesContent[index];\n    }\n\n    var relativeSource = aSource;\n    if (this.sourceRoot != null) {\n      relativeSource = util.relative(this.sourceRoot, relativeSource);\n    }\n\n    var url;\n    if (this.sourceRoot != null\n        && (url = util.urlParse(this.sourceRoot))) {\n      // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n      // many users. We can help them out when they expect file:// URIs to\n      // behave like it would if they were running a local HTTP server. See\n      // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n      var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n      if (url.scheme == \"file\"\n          && this._sources.has(fileUriAbsPath)) {\n        return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n      }\n\n      if ((!url.path || url.path == \"/\")\n          && this._sources.has(\"/\" + relativeSource)) {\n        return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n      }\n    }\n\n    // This function is used recursively from\n    // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n    // don't want to throw if we can't find the source - we just want to\n    // return null, so we provide a flag to exit gracefully.\n    if (nullOnMissing) {\n      return null;\n    }\n    else {\n      throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n    }\n  };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n *   - source: The filename of the original source.\n *   - line: The line number in the original source.  The line number\n *     is 1-based.\n *   - column: The column number in the original source.  The column\n *     number is 0-based.\n *   - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n *     'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n *     closest element that is smaller than or greater than the one we are\n *     searching for, respectively, if the exact element cannot be found.\n *     Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n *   - line: The line number in the generated source, or null.  The\n *     line number is 1-based.\n *   - column: The column number in the generated source, or null.\n *     The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n  function SourceMapConsumer_generatedPositionFor(aArgs) {\n    var source = util.getArg(aArgs, 'source');\n    source = this._findSourceIndex(source);\n    if (source < 0) {\n      return {\n        line: null,\n        column: null,\n        lastColumn: null\n      };\n    }\n\n    var needle = {\n      source: source,\n      originalLine: util.getArg(aArgs, 'line'),\n      originalColumn: util.getArg(aArgs, 'column')\n    };\n\n    var index = this._findMapping(\n      needle,\n      this._originalMappings,\n      \"originalLine\",\n      \"originalColumn\",\n      util.compareByOriginalPositions,\n      util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n    );\n\n    if (index >= 0) {\n      var mapping = this._originalMappings[index];\n\n      if (mapping.source === needle.source) {\n        return {\n          line: util.getArg(mapping, 'generatedLine', null),\n          column: util.getArg(mapping, 'generatedColumn', null),\n          lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n        };\n      }\n    }\n\n    return {\n      line: null,\n      column: null,\n      lastColumn: null\n    };\n  };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n *   - version: Which version of the source map spec this map is following.\n *   - file: Optional. The generated file this source map is associated with.\n *   - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n *   - offset: The offset into the original specified at which this section\n *       begins to apply, defined as an object with a \"line\" and \"column\"\n *       field.\n *   - map: A source map definition. This source map could also be indexed,\n *       but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n *  {\n *    version : 3,\n *    file: \"app.js\",\n *    sections: [{\n *      offset: {line:100, column:10},\n *      map: {\n *        version : 3,\n *        file: \"section.js\",\n *        sources: [\"foo.js\", \"bar.js\"],\n *        names: [\"src\", \"maps\", \"are\", \"fun\"],\n *        mappings: \"AAAA,E;;ABCDE;\"\n *      }\n *    }],\n *  }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found.  This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n  var sourceMap = aSourceMap;\n  if (typeof aSourceMap === 'string') {\n    sourceMap = util.parseSourceMapInput(aSourceMap);\n  }\n\n  var version = util.getArg(sourceMap, 'version');\n  var sections = util.getArg(sourceMap, 'sections');\n\n  if (version != this._version) {\n    throw new Error('Unsupported version: ' + version);\n  }\n\n  this._sources = new ArraySet();\n  this._names = new ArraySet();\n\n  var lastOffset = {\n    line: -1,\n    column: 0\n  };\n  this._sections = sections.map(function (s) {\n    if (s.url) {\n      // The url field will require support for asynchronicity.\n      // See https://github.com/mozilla/source-map/issues/16\n      throw new Error('Support for url field in sections not implemented.');\n    }\n    var offset = util.getArg(s, 'offset');\n    var offsetLine = util.getArg(offset, 'line');\n    var offsetColumn = util.getArg(offset, 'column');\n\n    if (offsetLine < lastOffset.line ||\n        (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n      throw new Error('Section offsets must be ordered and non-overlapping.');\n    }\n    lastOffset = offset;\n\n    return {\n      generatedOffset: {\n        // The offset fields are 0-based, but we use 1-based indices when\n        // encoding/decoding from VLQ.\n        generatedLine: offsetLine + 1,\n        generatedColumn: offsetColumn + 1\n      },\n      consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n    }\n  });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n  get: function () {\n    var sources = [];\n    for (var i = 0; i < this._sections.length; i++) {\n      for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n        sources.push(this._sections[i].consumer.sources[j]);\n      }\n    }\n    return sources;\n  }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n *   - line: The line number in the generated source.  The line number\n *     is 1-based.\n *   - column: The column number in the generated source.  The column\n *     number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n *   - source: The original source file, or null.\n *   - line: The line number in the original source, or null.  The\n *     line number is 1-based.\n *   - column: The column number in the original source, or null.  The\n *     column number is 0-based.\n *   - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n  function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n    var needle = {\n      generatedLine: util.getArg(aArgs, 'line'),\n      generatedColumn: util.getArg(aArgs, 'column')\n    };\n\n    // Find the section containing the generated position we're trying to map\n    // to an original position.\n    var sectionIndex = binarySearch.search(needle, this._sections,\n      function(needle, section) {\n        var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n        if (cmp) {\n          return cmp;\n        }\n\n        return (needle.generatedColumn -\n                section.generatedOffset.generatedColumn);\n      });\n    var section = this._sections[sectionIndex];\n\n    if (!section) {\n      return {\n        source: null,\n        line: null,\n        column: null,\n        name: null\n      };\n    }\n\n    return section.consumer.originalPositionFor({\n      line: needle.generatedLine -\n        (section.generatedOffset.generatedLine - 1),\n      column: needle.generatedColumn -\n        (section.generatedOffset.generatedLine === needle.generatedLine\n         ? section.generatedOffset.generatedColumn - 1\n         : 0),\n      bias: aArgs.bias\n    });\n  };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n  function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n    return this._sections.every(function (s) {\n      return s.consumer.hasContentsOfAllSources();\n    });\n  };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n  function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n    for (var i = 0; i < this._sections.length; i++) {\n      var section = this._sections[i];\n\n      var content = section.consumer.sourceContentFor(aSource, true);\n      if (content) {\n        return content;\n      }\n    }\n    if (nullOnMissing) {\n      return null;\n    }\n    else {\n      throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n    }\n  };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n *   - source: The filename of the original source.\n *   - line: The line number in the original source.  The line number\n *     is 1-based.\n *   - column: The column number in the original source.  The column\n *     number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n *   - line: The line number in the generated source, or null.  The\n *     line number is 1-based. \n *   - column: The column number in the generated source, or null.\n *     The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n  function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n    for (var i = 0; i < this._sections.length; i++) {\n      var section = this._sections[i];\n\n      // Only consider this section if the requested source is in the list of\n      // sources of the consumer.\n      if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n        continue;\n      }\n      var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n      if (generatedPosition) {\n        var ret = {\n          line: generatedPosition.line +\n            (section.generatedOffset.generatedLine - 1),\n          column: generatedPosition.column +\n            (section.generatedOffset.generatedLine === generatedPosition.line\n             ? section.generatedOffset.generatedColumn - 1\n             : 0)\n        };\n        return ret;\n      }\n    }\n\n    return {\n      line: null,\n      column: null\n    };\n  };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n  function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n    this.__generatedMappings = [];\n    this.__originalMappings = [];\n    for (var i = 0; i < this._sections.length; i++) {\n      var section = this._sections[i];\n      var sectionMappings = section.consumer._generatedMappings;\n      for (var j = 0; j < sectionMappings.length; j++) {\n        var mapping = sectionMappings[j];\n\n        var source = section.consumer._sources.at(mapping.source);\n        source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n        this._sources.add(source);\n        source = this._sources.indexOf(source);\n\n        var name = null;\n        if (mapping.name) {\n          name = section.consumer._names.at(mapping.name);\n          this._names.add(name);\n          name = this._names.indexOf(name);\n        }\n\n        // The mappings coming from the consumer for the section have\n        // generated positions relative to the start of the section, so we\n        // need to offset them to be relative to the start of the concatenated\n        // generated file.\n        var adjustedMapping = {\n          source: source,\n          generatedLine: mapping.generatedLine +\n            (section.generatedOffset.generatedLine - 1),\n          generatedColumn: mapping.generatedColumn +\n            (section.generatedOffset.generatedLine === mapping.generatedLine\n            ? section.generatedOffset.generatedColumn - 1\n            : 0),\n          originalLine: mapping.originalLine,\n          originalColumn: mapping.originalColumn,\n          name: name\n        };\n\n        this.__generatedMappings.push(adjustedMapping);\n        if (typeof adjustedMapping.originalLine === 'number') {\n          this.__originalMappings.push(adjustedMapping);\n        }\n      }\n    }\n\n    quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n    quickSort(this.__originalMappings, util.compareByOriginalPositions);\n  };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n *   - file: The filename of the generated source.\n *   - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n  if (!aArgs) {\n    aArgs = {};\n  }\n  this._file = util.getArg(aArgs, 'file', null);\n  this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n  this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n  this._sources = new ArraySet();\n  this._names = new ArraySet();\n  this._mappings = new MappingList();\n  this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n  function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n    var sourceRoot = aSourceMapConsumer.sourceRoot;\n    var generator = new SourceMapGenerator({\n      file: aSourceMapConsumer.file,\n      sourceRoot: sourceRoot\n    });\n    aSourceMapConsumer.eachMapping(function (mapping) {\n      var newMapping = {\n        generated: {\n          line: mapping.generatedLine,\n          column: mapping.generatedColumn\n        }\n      };\n\n      if (mapping.source != null) {\n        newMapping.source = mapping.source;\n        if (sourceRoot != null) {\n          newMapping.source = util.relative(sourceRoot, newMapping.source);\n        }\n\n        newMapping.original = {\n          line: mapping.originalLine,\n          column: mapping.originalColumn\n        };\n\n        if (mapping.name != null) {\n          newMapping.name = mapping.name;\n        }\n      }\n\n      generator.addMapping(newMapping);\n    });\n    aSourceMapConsumer.sources.forEach(function (sourceFile) {\n      var sourceRelative = sourceFile;\n      if (sourceRoot !== null) {\n        sourceRelative = util.relative(sourceRoot, sourceFile);\n      }\n\n      if (!generator._sources.has(sourceRelative)) {\n        generator._sources.add(sourceRelative);\n      }\n\n      var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n      if (content != null) {\n        generator.setSourceContent(sourceFile, content);\n      }\n    });\n    return generator;\n  };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n *   - generated: An object with the generated line and column positions.\n *   - original: An object with the original line and column positions.\n *   - source: The original source file (relative to the sourceRoot).\n *   - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n  function SourceMapGenerator_addMapping(aArgs) {\n    var generated = util.getArg(aArgs, 'generated');\n    var original = util.getArg(aArgs, 'original', null);\n    var source = util.getArg(aArgs, 'source', null);\n    var name = util.getArg(aArgs, 'name', null);\n\n    if (!this._skipValidation) {\n      this._validateMapping(generated, original, source, name);\n    }\n\n    if (source != null) {\n      source = String(source);\n      if (!this._sources.has(source)) {\n        this._sources.add(source);\n      }\n    }\n\n    if (name != null) {\n      name = String(name);\n      if (!this._names.has(name)) {\n        this._names.add(name);\n      }\n    }\n\n    this._mappings.add({\n      generatedLine: generated.line,\n      generatedColumn: generated.column,\n      originalLine: original != null && original.line,\n      originalColumn: original != null && original.column,\n      source: source,\n      name: name\n    });\n  };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n  function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n    var source = aSourceFile;\n    if (this._sourceRoot != null) {\n      source = util.relative(this._sourceRoot, source);\n    }\n\n    if (aSourceContent != null) {\n      // Add the source content to the _sourcesContents map.\n      // Create a new _sourcesContents map if the property is null.\n      if (!this._sourcesContents) {\n        this._sourcesContents = Object.create(null);\n      }\n      this._sourcesContents[util.toSetString(source)] = aSourceContent;\n    } else if (this._sourcesContents) {\n      // Remove the source file from the _sourcesContents map.\n      // If the _sourcesContents map is empty, set the property to null.\n      delete this._sourcesContents[util.toSetString(source)];\n      if (Object.keys(this._sourcesContents).length === 0) {\n        this._sourcesContents = null;\n      }\n    }\n  };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n *        If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n *        to be applied. If relative, it is relative to the SourceMapConsumer.\n *        This parameter is needed when the two source maps aren't in the same\n *        directory, and the source map to be applied contains relative source\n *        paths. If so, those relative source paths need to be rewritten\n *        relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n  function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n    var sourceFile = aSourceFile;\n    // If aSourceFile is omitted, we will use the file property of the SourceMap\n    if (aSourceFile == null) {\n      if (aSourceMapConsumer.file == null) {\n        throw new Error(\n          'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n          'or the source map\\'s \"file\" property. Both were omitted.'\n        );\n      }\n      sourceFile = aSourceMapConsumer.file;\n    }\n    var sourceRoot = this._sourceRoot;\n    // Make \"sourceFile\" relative if an absolute Url is passed.\n    if (sourceRoot != null) {\n      sourceFile = util.relative(sourceRoot, sourceFile);\n    }\n    // Applying the SourceMap can add and remove items from the sources and\n    // the names array.\n    var newSources = new ArraySet();\n    var newNames = new ArraySet();\n\n    // Find mappings for the \"sourceFile\"\n    this._mappings.unsortedForEach(function (mapping) {\n      if (mapping.source === sourceFile && mapping.originalLine != null) {\n        // Check if it can be mapped by the source map, then update the mapping.\n        var original = aSourceMapConsumer.originalPositionFor({\n          line: mapping.originalLine,\n          column: mapping.originalColumn\n        });\n        if (original.source != null) {\n          // Copy mapping\n          mapping.source = original.source;\n          if (aSourceMapPath != null) {\n            mapping.source = util.join(aSourceMapPath, mapping.source)\n          }\n          if (sourceRoot != null) {\n            mapping.source = util.relative(sourceRoot, mapping.source);\n          }\n          mapping.originalLine = original.line;\n          mapping.originalColumn = original.column;\n          if (original.name != null) {\n            mapping.name = original.name;\n          }\n        }\n      }\n\n      var source = mapping.source;\n      if (source != null && !newSources.has(source)) {\n        newSources.add(source);\n      }\n\n      var name = mapping.name;\n      if (name != null && !newNames.has(name)) {\n        newNames.add(name);\n      }\n\n    }, this);\n    this._sources = newSources;\n    this._names = newNames;\n\n    // Copy sourcesContents of applied map.\n    aSourceMapConsumer.sources.forEach(function (sourceFile) {\n      var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n      if (content != null) {\n        if (aSourceMapPath != null) {\n          sourceFile = util.join(aSourceMapPath, sourceFile);\n        }\n        if (sourceRoot != null) {\n          sourceFile = util.relative(sourceRoot, sourceFile);\n        }\n        this.setSourceContent(sourceFile, content);\n      }\n    }, this);\n  };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n *   1. Just the generated position.\n *   2. The Generated position, original position, and original source.\n *   3. Generated and original position, original source, as well as a name\n *      token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n  function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n                                              aName) {\n    // When aOriginal is truthy but has empty values for .line and .column,\n    // it is most likely a programmer error. In this case we throw a very\n    // specific error message to try to guide them the right way.\n    // For example: https://github.com/Polymer/polymer-bundler/pull/519\n    if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n        throw new Error(\n            'original.line and original.column are not numbers -- you probably meant to omit ' +\n            'the original mapping entirely and only map the generated position. If so, pass ' +\n            'null for the original mapping instead of an object with empty or null values.'\n        );\n    }\n\n    if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n        && aGenerated.line > 0 && aGenerated.column >= 0\n        && !aOriginal && !aSource && !aName) {\n      // Case 1.\n      return;\n    }\n    else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n             && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n             && aGenerated.line > 0 && aGenerated.column >= 0\n             && aOriginal.line > 0 && aOriginal.column >= 0\n             && aSource) {\n      // Cases 2 and 3.\n      return;\n    }\n    else {\n      throw new Error('Invalid mapping: ' + JSON.stringify({\n        generated: aGenerated,\n        source: aSource,\n        original: aOriginal,\n        name: aName\n      }));\n    }\n  };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n  function SourceMapGenerator_serializeMappings() {\n    var previousGeneratedColumn = 0;\n    var previousGeneratedLine = 1;\n    var previousOriginalColumn = 0;\n    var previousOriginalLine = 0;\n    var previousName = 0;\n    var previousSource = 0;\n    var result = '';\n    var next;\n    var mapping;\n    var nameIdx;\n    var sourceIdx;\n\n    var mappings = this._mappings.toArray();\n    for (var i = 0, len = mappings.length; i < len; i++) {\n      mapping = mappings[i];\n      next = ''\n\n      if (mapping.generatedLine !== previousGeneratedLine) {\n        previousGeneratedColumn = 0;\n        while (mapping.generatedLine !== previousGeneratedLine) {\n          next += ';';\n          previousGeneratedLine++;\n        }\n      }\n      else {\n        if (i > 0) {\n          if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n            continue;\n          }\n          next += ',';\n        }\n      }\n\n      next += base64VLQ.encode(mapping.generatedColumn\n                                 - previousGeneratedColumn);\n      previousGeneratedColumn = mapping.generatedColumn;\n\n      if (mapping.source != null) {\n        sourceIdx = this._sources.indexOf(mapping.source);\n        next += base64VLQ.encode(sourceIdx - previousSource);\n        previousSource = sourceIdx;\n\n        // lines are stored 0-based in SourceMap spec version 3\n        next += base64VLQ.encode(mapping.originalLine - 1\n                                   - previousOriginalLine);\n        previousOriginalLine = mapping.originalLine - 1;\n\n        next += base64VLQ.encode(mapping.originalColumn\n                                   - previousOriginalColumn);\n        previousOriginalColumn = mapping.originalColumn;\n\n        if (mapping.name != null) {\n          nameIdx = this._names.indexOf(mapping.name);\n          next += base64VLQ.encode(nameIdx - previousName);\n          previousName = nameIdx;\n        }\n      }\n\n      result += next;\n    }\n\n    return result;\n  };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n  function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n    return aSources.map(function (source) {\n      if (!this._sourcesContents) {\n        return null;\n      }\n      if (aSourceRoot != null) {\n        source = util.relative(aSourceRoot, source);\n      }\n      var key = util.toSetString(source);\n      return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n        ? this._sourcesContents[key]\n        : null;\n    }, this);\n  };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n  function SourceMapGenerator_toJSON() {\n    var map = {\n      version: this._version,\n      sources: this._sources.toArray(),\n      names: this._names.toArray(),\n      mappings: this._serializeMappings()\n    };\n    if (this._file != null) {\n      map.file = this._file;\n    }\n    if (this._sourceRoot != null) {\n      map.sourceRoot = this._sourceRoot;\n    }\n    if (this._sourcesContents) {\n      map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n    }\n\n    return map;\n  };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n  function SourceMapGenerator_toString() {\n    return JSON.stringify(this.toJSON());\n  };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n *        generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n  this.children = [];\n  this.sourceContents = {};\n  this.line = aLine == null ? null : aLine;\n  this.column = aColumn == null ? null : aColumn;\n  this.source = aSource == null ? null : aSource;\n  this.name = aName == null ? null : aName;\n  this[isSourceNode] = true;\n  if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n *        SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n  function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n    // The SourceNode we want to fill with the generated code\n    // and the SourceMap\n    var node = new SourceNode();\n\n    // All even indices of this array are one line of the generated code,\n    // while all odd indices are the newlines between two adjacent lines\n    // (since `REGEX_NEWLINE` captures its match).\n    // Processed fragments are accessed by calling `shiftNextLine`.\n    var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n    var remainingLinesIndex = 0;\n    var shiftNextLine = function() {\n      var lineContents = getNextLine();\n      // The last line of a file might not have a newline.\n      var newLine = getNextLine() || \"\";\n      return lineContents + newLine;\n\n      function getNextLine() {\n        return remainingLinesIndex < remainingLines.length ?\n            remainingLines[remainingLinesIndex++] : undefined;\n      }\n    };\n\n    // We need to remember the position of \"remainingLines\"\n    var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n    // The generate SourceNodes we need a code range.\n    // To extract it current and last mapping is used.\n    // Here we store the last mapping.\n    var lastMapping = null;\n\n    aSourceMapConsumer.eachMapping(function (mapping) {\n      if (lastMapping !== null) {\n        // We add the code from \"lastMapping\" to \"mapping\":\n        // First check if there is a new line in between.\n        if (lastGeneratedLine < mapping.generatedLine) {\n          // Associate first line with \"lastMapping\"\n          addMappingWithCode(lastMapping, shiftNextLine());\n          lastGeneratedLine++;\n          lastGeneratedColumn = 0;\n          // The remaining code is added without mapping\n        } else {\n          // There is no new line in between.\n          // Associate the code between \"lastGeneratedColumn\" and\n          // \"mapping.generatedColumn\" with \"lastMapping\"\n          var nextLine = remainingLines[remainingLinesIndex] || '';\n          var code = nextLine.substr(0, mapping.generatedColumn -\n                                        lastGeneratedColumn);\n          remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n                                              lastGeneratedColumn);\n          lastGeneratedColumn = mapping.generatedColumn;\n          addMappingWithCode(lastMapping, code);\n          // No more remaining code, continue\n          lastMapping = mapping;\n          return;\n        }\n      }\n      // We add the generated code until the first mapping\n      // to the SourceNode without any mapping.\n      // Each line is added as separate string.\n      while (lastGeneratedLine < mapping.generatedLine) {\n        node.add(shiftNextLine());\n        lastGeneratedLine++;\n      }\n      if (lastGeneratedColumn < mapping.generatedColumn) {\n        var nextLine = remainingLines[remainingLinesIndex] || '';\n        node.add(nextLine.substr(0, mapping.generatedColumn));\n        remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n        lastGeneratedColumn = mapping.generatedColumn;\n      }\n      lastMapping = mapping;\n    }, this);\n    // We have processed all mappings.\n    if (remainingLinesIndex < remainingLines.length) {\n      if (lastMapping) {\n        // Associate the remaining code in the current line with \"lastMapping\"\n        addMappingWithCode(lastMapping, shiftNextLine());\n      }\n      // and add the remaining lines without any mapping\n      node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n    }\n\n    // Copy sourcesContent into SourceNode\n    aSourceMapConsumer.sources.forEach(function (sourceFile) {\n      var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n      if (content != null) {\n        if (aRelativePath != null) {\n          sourceFile = util.join(aRelativePath, sourceFile);\n        }\n        node.setSourceContent(sourceFile, content);\n      }\n    });\n\n    return node;\n\n    function addMappingWithCode(mapping, code) {\n      if (mapping === null || mapping.source === undefined) {\n        node.add(code);\n      } else {\n        var source = aRelativePath\n          ? util.join(aRelativePath, mapping.source)\n          : mapping.source;\n        node.add(new SourceNode(mapping.originalLine,\n                                mapping.originalColumn,\n                                source,\n                                code,\n                                mapping.name));\n      }\n    }\n  };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n *        SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n  if (Array.isArray(aChunk)) {\n    aChunk.forEach(function (chunk) {\n      this.add(chunk);\n    }, this);\n  }\n  else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n    if (aChunk) {\n      this.children.push(aChunk);\n    }\n  }\n  else {\n    throw new TypeError(\n      \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n    );\n  }\n  return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n *        SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n  if (Array.isArray(aChunk)) {\n    for (var i = aChunk.length-1; i >= 0; i--) {\n      this.prepend(aChunk[i]);\n    }\n  }\n  else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n    this.children.unshift(aChunk);\n  }\n  else {\n    throw new TypeError(\n      \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n    );\n  }\n  return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n  var chunk;\n  for (var i = 0, len = this.children.length; i < len; i++) {\n    chunk = this.children[i];\n    if (chunk[isSourceNode]) {\n      chunk.walk(aFn);\n    }\n    else {\n      if (chunk !== '') {\n        aFn(chunk, { source: this.source,\n                     line: this.line,\n                     column: this.column,\n                     name: this.name });\n      }\n    }\n  }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n  var newChildren;\n  var i;\n  var len = this.children.length;\n  if (len > 0) {\n    newChildren = [];\n    for (i = 0; i < len-1; i++) {\n      newChildren.push(this.children[i]);\n      newChildren.push(aSep);\n    }\n    newChildren.push(this.children[i]);\n    this.children = newChildren;\n  }\n  return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n  var lastChild = this.children[this.children.length - 1];\n  if (lastChild[isSourceNode]) {\n    lastChild.replaceRight(aPattern, aReplacement);\n  }\n  else if (typeof lastChild === 'string') {\n    this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n  }\n  else {\n    this.children.push(''.replace(aPattern, aReplacement));\n  }\n  return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n  function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n    this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n  };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n  function SourceNode_walkSourceContents(aFn) {\n    for (var i = 0, len = this.children.length; i < len; i++) {\n      if (this.children[i][isSourceNode]) {\n        this.children[i].walkSourceContents(aFn);\n      }\n    }\n\n    var sources = Object.keys(this.sourceContents);\n    for (var i = 0, len = sources.length; i < len; i++) {\n      aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n    }\n  };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n  var str = \"\";\n  this.walk(function (chunk) {\n    str += chunk;\n  });\n  return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n  var generated = {\n    code: \"\",\n    line: 1,\n    column: 0\n  };\n  var map = new SourceMapGenerator(aArgs);\n  var sourceMappingActive = false;\n  var lastOriginalSource = null;\n  var lastOriginalLine = null;\n  var lastOriginalColumn = null;\n  var lastOriginalName = null;\n  this.walk(function (chunk, original) {\n    generated.code += chunk;\n    if (original.source !== null\n        && original.line !== null\n        && original.column !== null) {\n      if(lastOriginalSource !== original.source\n         || lastOriginalLine !== original.line\n         || lastOriginalColumn !== original.column\n         || lastOriginalName !== original.name) {\n        map.addMapping({\n          source: original.source,\n          original: {\n            line: original.line,\n            column: original.column\n          },\n          generated: {\n            line: generated.line,\n            column: generated.column\n          },\n          name: original.name\n        });\n      }\n      lastOriginalSource = original.source;\n      lastOriginalLine = original.line;\n      lastOriginalColumn = original.column;\n      lastOriginalName = original.name;\n      sourceMappingActive = true;\n    } else if (sourceMappingActive) {\n      map.addMapping({\n        generated: {\n          line: generated.line,\n          column: generated.column\n        }\n      });\n      lastOriginalSource = null;\n      sourceMappingActive = false;\n    }\n    for (var idx = 0, length = chunk.length; idx < length; idx++) {\n      if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n        generated.line++;\n        generated.column = 0;\n        // Mappings end at eol\n        if (idx + 1 === length) {\n          lastOriginalSource = null;\n          sourceMappingActive = false;\n        } else if (sourceMappingActive) {\n          map.addMapping({\n            source: original.source,\n            original: {\n              line: original.line,\n              column: original.column\n            },\n            generated: {\n              line: generated.line,\n              column: generated.column\n            },\n            name: original.name\n          });\n        }\n      } else {\n        generated.column++;\n      }\n    }\n  });\n  this.walkSourceContents(function (sourceFile, sourceContent) {\n    map.setSourceContent(sourceFile, sourceContent);\n  });\n\n  return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n  if (aName in aArgs) {\n    return aArgs[aName];\n  } else if (arguments.length === 3) {\n    return aDefaultValue;\n  } else {\n    throw new Error('\"' + aName + '\" is a required argument.');\n  }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n  var match = aUrl.match(urlRegexp);\n  if (!match) {\n    return null;\n  }\n  return {\n    scheme: match[1],\n    auth: match[2],\n    host: match[3],\n    port: match[4],\n    path: match[5]\n  };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n  var url = '';\n  if (aParsedUrl.scheme) {\n    url += aParsedUrl.scheme + ':';\n  }\n  url += '//';\n  if (aParsedUrl.auth) {\n    url += aParsedUrl.auth + '@';\n  }\n  if (aParsedUrl.host) {\n    url += aParsedUrl.host;\n  }\n  if (aParsedUrl.port) {\n    url += \":\" + aParsedUrl.port\n  }\n  if (aParsedUrl.path) {\n    url += aParsedUrl.path;\n  }\n  return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n  var path = aPath;\n  var url = urlParse(aPath);\n  if (url) {\n    if (!url.path) {\n      return aPath;\n    }\n    path = url.path;\n  }\n  var isAbsolute = exports.isAbsolute(path);\n\n  var parts = path.split(/\\/+/);\n  for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n    part = parts[i];\n    if (part === '.') {\n      parts.splice(i, 1);\n    } else if (part === '..') {\n      up++;\n    } else if (up > 0) {\n      if (part === '') {\n        // The first part is blank if the path is absolute. Trying to go\n        // above the root is a no-op. Therefore we can remove all '..' parts\n        // directly after the root.\n        parts.splice(i + 1, up);\n        up = 0;\n      } else {\n        parts.splice(i, 2);\n        up--;\n      }\n    }\n  }\n  path = parts.join('/');\n\n  if (path === '') {\n    path = isAbsolute ? '/' : '.';\n  }\n\n  if (url) {\n    url.path = path;\n    return urlGenerate(url);\n  }\n  return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n *   scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n *   first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n *   is updated with the result and aRoot is returned. Otherwise the result\n *   is returned.\n *   - If aPath is absolute, the result is aPath.\n *   - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n  if (aRoot === \"\") {\n    aRoot = \".\";\n  }\n  if (aPath === \"\") {\n    aPath = \".\";\n  }\n  var aPathUrl = urlParse(aPath);\n  var aRootUrl = urlParse(aRoot);\n  if (aRootUrl) {\n    aRoot = aRootUrl.path || '/';\n  }\n\n  // `join(foo, '//www.example.org')`\n  if (aPathUrl && !aPathUrl.scheme) {\n    if (aRootUrl) {\n      aPathUrl.scheme = aRootUrl.scheme;\n    }\n    return urlGenerate(aPathUrl);\n  }\n\n  if (aPathUrl || aPath.match(dataUrlRegexp)) {\n    return aPath;\n  }\n\n  // `join('http://', 'www.example.com')`\n  if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n    aRootUrl.host = aPath;\n    return urlGenerate(aRootUrl);\n  }\n\n  var joined = aPath.charAt(0) === '/'\n    ? aPath\n    : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n  if (aRootUrl) {\n    aRootUrl.path = joined;\n    return urlGenerate(aRootUrl);\n  }\n  return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n  return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n  if (aRoot === \"\") {\n    aRoot = \".\";\n  }\n\n  aRoot = aRoot.replace(/\\/$/, '');\n\n  // It is possible for the path to be above the root. In this case, simply\n  // checking whether the root is a prefix of the path won't work. Instead, we\n  // need to remove components from the root one by one, until either we find\n  // a prefix that fits, or we run out of components to remove.\n  var level = 0;\n  while (aPath.indexOf(aRoot + '/') !== 0) {\n    var index = aRoot.lastIndexOf(\"/\");\n    if (index < 0) {\n      return aPath;\n    }\n\n    // If the only part of the root that is left is the scheme (i.e. http://,\n    // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n    // have exhausted all components, so the path is not relative to the root.\n    aRoot = aRoot.slice(0, index);\n    if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n      return aPath;\n    }\n\n    ++level;\n  }\n\n  // Make sure we add a \"../\" for each component we removed from the root.\n  return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n  var obj = Object.create(null);\n  return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n  return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n  if (isProtoString(aStr)) {\n    return '$' + aStr;\n  }\n\n  return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n  if (isProtoString(aStr)) {\n    return aStr.slice(1);\n  }\n\n  return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n  if (!s) {\n    return false;\n  }\n\n  var length = s.length;\n\n  if (length < 9 /* \"__proto__\".length */) {\n    return false;\n  }\n\n  if (s.charCodeAt(length - 1) !== 95  /* '_' */ ||\n      s.charCodeAt(length - 2) !== 95  /* '_' */ ||\n      s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n      s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n      s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n      s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n      s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n      s.charCodeAt(length - 8) !== 95  /* '_' */ ||\n      s.charCodeAt(length - 9) !== 95  /* '_' */) {\n    return false;\n  }\n\n  for (var i = length - 10; i >= 0; i--) {\n    if (s.charCodeAt(i) !== 36 /* '$' */) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n  var cmp = strcmp(mappingA.source, mappingB.source);\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalLine - mappingB.originalLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalColumn - mappingB.originalColumn;\n  if (cmp !== 0 || onlyCompareOriginal) {\n    return cmp;\n  }\n\n  cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.generatedLine - mappingB.generatedLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n  var cmp = mappingA.generatedLine - mappingB.generatedLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n  if (cmp !== 0 || onlyCompareGenerated) {\n    return cmp;\n  }\n\n  cmp = strcmp(mappingA.source, mappingB.source);\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalLine - mappingB.originalLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalColumn - mappingB.originalColumn;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n  if (aStr1 === aStr2) {\n    return 0;\n  }\n\n  if (aStr1 === null) {\n    return 1; // aStr2 !== null\n  }\n\n  if (aStr2 === null) {\n    return -1; // aStr1 !== null\n  }\n\n  if (aStr1 > aStr2) {\n    return 1;\n  }\n\n  return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n  var cmp = mappingA.generatedLine - mappingB.generatedLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = strcmp(mappingA.source, mappingB.source);\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalLine - mappingB.originalLine;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  cmp = mappingA.originalColumn - mappingB.originalColumn;\n  if (cmp !== 0) {\n    return cmp;\n  }\n\n  return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n  return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n  sourceURL = sourceURL || '';\n\n  if (sourceRoot) {\n    // This follows what Chrome does.\n    if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n      sourceRoot += '/';\n    }\n    // The spec says:\n    //   Line 4: An optional source root, useful for relocating source\n    //   files on a server or removing repeated values in the\n    //   “sources” entry.  This value is prepended to the individual\n    //   entries in the “source” field.\n    sourceURL = sourceRoot + sourceURL;\n  }\n\n  // Historically, SourceMapConsumer did not take the sourceMapURL as\n  // a parameter.  This mode is still somewhat supported, which is why\n  // this code block is conditional.  However, it's preferable to pass\n  // the source map URL to SourceMapConsumer, so that this function\n  // can implement the source URL resolution algorithm as outlined in\n  // the spec.  This block is basically the equivalent of:\n  //    new URL(sourceURL, sourceMapURL).toString()\n  // ... except it avoids using URL, which wasn't available in the\n  // older releases of node still supported by this library.\n  //\n  // The spec says:\n  //   If the sources are not absolute URLs after prepending of the\n  //   “sourceRoot”, the sources are resolved relative to the\n  //   SourceMap (like resolving script src in a html document).\n  if (sourceMapURL) {\n    var parsed = urlParse(sourceMapURL);\n    if (!parsed) {\n      throw new Error(\"sourceMapURL could not be parsed\");\n    }\n    if (parsed.path) {\n      // Strip the last path component, but keep the \"/\".\n      var index = parsed.path.lastIndexOf('/');\n      if (index >= 0) {\n        parsed.path = parsed.path.substring(0, index + 1);\n      }\n    }\n    sourceURL = join(urlGenerate(parsed), sourceURL);\n  }\n\n  return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Glob = void 0;\nconst minimatch_1 = require(\"minimatch\");\nconst path_scurry_1 = require(\"path-scurry\");\nconst url_1 = require(\"url\");\nconst pattern_js_1 = require(\"./pattern.js\");\nconst walker_js_1 = require(\"./walker.js\");\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform = typeof process === 'object' &&\n    process &&\n    typeof process.platform === 'string'\n    ? process.platform\n    : 'linux';\n/**\n * An object that can perform glob pattern traversals.\n */\nclass Glob {\n    absolute;\n    cwd;\n    root;\n    dot;\n    dotRelative;\n    follow;\n    ignore;\n    magicalBraces;\n    mark;\n    matchBase;\n    maxDepth;\n    nobrace;\n    nocase;\n    nodir;\n    noext;\n    noglobstar;\n    pattern;\n    platform;\n    realpath;\n    scurry;\n    stat;\n    signal;\n    windowsPathsNoEscape;\n    withFileTypes;\n    /**\n     * The options provided to the constructor.\n     */\n    opts;\n    /**\n     * An array of parsed immutable {@link Pattern} objects.\n     */\n    patterns;\n    /**\n     * All options are stored as properties on the `Glob` object.\n     *\n     * See {@link GlobOptions} for full options descriptions.\n     *\n     * Note that a previous `Glob` object can be passed as the\n     * `GlobOptions` to another `Glob` instantiation to re-use settings\n     * and caches with a new pattern.\n     *\n     * Traversal functions can be called multiple times to run the walk\n     * again.\n     */\n    constructor(pattern, opts) {\n        /* c8 ignore start */\n        if (!opts)\n            throw new TypeError('glob options required');\n        /* c8 ignore stop */\n        this.withFileTypes = !!opts.withFileTypes;\n        this.signal = opts.signal;\n        this.follow = !!opts.follow;\n        this.dot = !!opts.dot;\n        this.dotRelative = !!opts.dotRelative;\n        this.nodir = !!opts.nodir;\n        this.mark = !!opts.mark;\n        if (!opts.cwd) {\n            this.cwd = '';\n        }\n        else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n            opts.cwd = (0, url_1.fileURLToPath)(opts.cwd);\n        }\n        this.cwd = opts.cwd || '';\n        this.root = opts.root;\n        this.magicalBraces = !!opts.magicalBraces;\n        this.nobrace = !!opts.nobrace;\n        this.noext = !!opts.noext;\n        this.realpath = !!opts.realpath;\n        this.absolute = opts.absolute;\n        this.noglobstar = !!opts.noglobstar;\n        this.matchBase = !!opts.matchBase;\n        this.maxDepth =\n            typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity;\n        this.stat = !!opts.stat;\n        this.ignore = opts.ignore;\n        if (this.withFileTypes && this.absolute !== undefined) {\n            throw new Error('cannot set absolute and withFileTypes:true');\n        }\n        if (typeof pattern === 'string') {\n            pattern = [pattern];\n        }\n        this.windowsPathsNoEscape =\n            !!opts.windowsPathsNoEscape ||\n                opts.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            pattern = pattern.map(p => p.replace(/\\\\/g, '/'));\n        }\n        if (this.matchBase) {\n            if (opts.noglobstar) {\n                throw new TypeError('base matching requires globstar');\n            }\n            pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`));\n        }\n        this.pattern = pattern;\n        this.platform = opts.platform || defaultPlatform;\n        this.opts = { ...opts, platform: this.platform };\n        if (opts.scurry) {\n            this.scurry = opts.scurry;\n            if (opts.nocase !== undefined &&\n                opts.nocase !== opts.scurry.nocase) {\n                throw new Error('nocase option contradicts provided scurry option');\n            }\n        }\n        else {\n            const Scurry = opts.platform === 'win32'\n                ? path_scurry_1.PathScurryWin32\n                : opts.platform === 'darwin'\n                    ? path_scurry_1.PathScurryDarwin\n                    : opts.platform\n                        ? path_scurry_1.PathScurryPosix\n                        : path_scurry_1.PathScurry;\n            this.scurry = new Scurry(this.cwd, {\n                nocase: opts.nocase,\n                fs: opts.fs,\n            });\n        }\n        this.nocase = this.scurry.nocase;\n        // If you do nocase:true on a case-sensitive file system, then\n        // we need to use regexps instead of strings for non-magic\n        // path portions, because statting `aBc` won't return results\n        // for the file `AbC` for example.\n        const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32';\n        const mmo = {\n            // default nocase based on platform\n            ...opts,\n            dot: this.dot,\n            matchBase: this.matchBase,\n            nobrace: this.nobrace,\n            nocase: this.nocase,\n            nocaseMagicOnly,\n            nocomment: true,\n            noext: this.noext,\n            nonegate: true,\n            optimizationLevel: 2,\n            platform: this.platform,\n            windowsPathsNoEscape: this.windowsPathsNoEscape,\n            debug: !!this.opts.debug,\n        };\n        const mms = this.pattern.map(p => new minimatch_1.Minimatch(p, mmo));\n        const [matchSet, globParts] = mms.reduce((set, m) => {\n            set[0].push(...m.set);\n            set[1].push(...m.globParts);\n            return set;\n        }, [[], []]);\n        this.patterns = matchSet.map((set, i) => {\n            const g = globParts[i];\n            /* c8 ignore start */\n            if (!g)\n                throw new Error('invalid pattern object');\n            /* c8 ignore stop */\n            return new pattern_js_1.Pattern(set, g, 0, this.platform);\n        });\n    }\n    async walk() {\n        // Walkers always return array of Path objects, so we just have to\n        // coerce them into the right shape.  It will have already called\n        // realpath() if the option was set to do so, so we know that's cached.\n        // start out knowing the cwd, at least\n        return [\n            ...(await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {\n                ...this.opts,\n                maxDepth: this.maxDepth !== Infinity\n                    ? this.maxDepth + this.scurry.cwd.depth()\n                    : Infinity,\n                platform: this.platform,\n                nocase: this.nocase,\n            }).walk()),\n        ];\n    }\n    walkSync() {\n        return [\n            ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {\n                ...this.opts,\n                maxDepth: this.maxDepth !== Infinity\n                    ? this.maxDepth + this.scurry.cwd.depth()\n                    : Infinity,\n                platform: this.platform,\n                nocase: this.nocase,\n            }).walkSync(),\n        ];\n    }\n    stream() {\n        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {\n            ...this.opts,\n            maxDepth: this.maxDepth !== Infinity\n                ? this.maxDepth + this.scurry.cwd.depth()\n                : Infinity,\n            platform: this.platform,\n            nocase: this.nocase,\n        }).stream();\n    }\n    streamSync() {\n        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {\n            ...this.opts,\n            maxDepth: this.maxDepth !== Infinity\n                ? this.maxDepth + this.scurry.cwd.depth()\n                : Infinity,\n            platform: this.platform,\n            nocase: this.nocase,\n        }).streamSync();\n    }\n    /**\n     * Default sync iteration function. Returns a Generator that\n     * iterates over the results.\n     */\n    iterateSync() {\n        return this.streamSync()[Symbol.iterator]();\n    }\n    [Symbol.iterator]() {\n        return this.iterateSync();\n    }\n    /**\n     * Default async iteration function. Returns an AsyncGenerator that\n     * iterates over the results.\n     */\n    iterate() {\n        return this.stream()[Symbol.asyncIterator]();\n    }\n    [Symbol.asyncIterator]() {\n        return this.iterate();\n    }\n}\nexports.Glob = Glob;\n//# sourceMappingURL=glob.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasMagic = void 0;\nconst minimatch_1 = require(\"minimatch\");\n/**\n * Return true if the patterns provided contain any magic glob characters,\n * given the options provided.\n *\n * Brace expansion is not considered \"magic\" unless the `magicalBraces` option\n * is set, as brace expansion just turns one string into an array of strings.\n * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and\n * `'xby'` both do not contain any magic glob characters, and it's treated the\n * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`\n * is in the options, brace expansion _is_ treated as a pattern having magic.\n */\nconst hasMagic = (pattern, options = {}) => {\n    if (!Array.isArray(pattern)) {\n        pattern = [pattern];\n    }\n    for (const p of pattern) {\n        if (new minimatch_1.Minimatch(p, options).hasMagic())\n            return true;\n    }\n    return false;\n};\nexports.hasMagic = hasMagic;\n//# sourceMappingURL=has-magic.js.map","\"use strict\";\n// give it a pattern, and it'll be able to tell you if\n// a given path should be ignored.\n// Ignoring a path ignores its children if the pattern ends in /**\n// Ignores are always parsed in dot:true mode\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ignore = void 0;\nconst minimatch_1 = require(\"minimatch\");\nconst pattern_js_1 = require(\"./pattern.js\");\nconst defaultPlatform = typeof process === 'object' &&\n    process &&\n    typeof process.platform === 'string'\n    ? process.platform\n    : 'linux';\n/**\n * Class used to process ignored patterns\n */\nclass Ignore {\n    relative;\n    relativeChildren;\n    absolute;\n    absoluteChildren;\n    constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform, }) {\n        this.relative = [];\n        this.absolute = [];\n        this.relativeChildren = [];\n        this.absoluteChildren = [];\n        const mmopts = {\n            dot: true,\n            nobrace,\n            nocase,\n            noext,\n            noglobstar,\n            optimizationLevel: 2,\n            platform,\n            nocomment: true,\n            nonegate: true,\n        };\n        // this is a little weird, but it gives us a clean set of optimized\n        // minimatch matchers, without getting tripped up if one of them\n        // ends in /** inside a brace section, and it's only inefficient at\n        // the start of the walk, not along it.\n        // It'd be nice if the Pattern class just had a .test() method, but\n        // handling globstars is a bit of a pita, and that code already lives\n        // in minimatch anyway.\n        // Another way would be if maybe Minimatch could take its set/globParts\n        // as an option, and then we could at least just use Pattern to test\n        // for absolute-ness.\n        // Yet another way, Minimatch could take an array of glob strings, and\n        // a cwd option, and do the right thing.\n        for (const ign of ignored) {\n            const mm = new minimatch_1.Minimatch(ign, mmopts);\n            for (let i = 0; i < mm.set.length; i++) {\n                const parsed = mm.set[i];\n                const globParts = mm.globParts[i];\n                /* c8 ignore start */\n                if (!parsed || !globParts) {\n                    throw new Error('invalid pattern object');\n                }\n                /* c8 ignore stop */\n                const p = new pattern_js_1.Pattern(parsed, globParts, 0, platform);\n                const m = new minimatch_1.Minimatch(p.globString(), mmopts);\n                const children = globParts[globParts.length - 1] === '**';\n                const absolute = p.isAbsolute();\n                if (absolute)\n                    this.absolute.push(m);\n                else\n                    this.relative.push(m);\n                if (children) {\n                    if (absolute)\n                        this.absoluteChildren.push(m);\n                    else\n                        this.relativeChildren.push(m);\n                }\n            }\n        }\n    }\n    ignored(p) {\n        const fullpath = p.fullpath();\n        const fullpaths = `${fullpath}/`;\n        const relative = p.relative() || '.';\n        const relatives = `${relative}/`;\n        for (const m of this.relative) {\n            if (m.match(relative) || m.match(relatives))\n                return true;\n        }\n        for (const m of this.absolute) {\n            if (m.match(fullpath) || m.match(fullpaths))\n                return true;\n        }\n        return false;\n    }\n    childrenIgnored(p) {\n        const fullpath = p.fullpath() + '/';\n        const relative = (p.relative() || '.') + '/';\n        for (const m of this.relativeChildren) {\n            if (m.match(relative))\n                return true;\n        }\n        for (const m of this.absoluteChildren) {\n            if (m.match(fullpath))\n                return true;\n        }\n        return false;\n    }\n}\nexports.Ignore = Ignore;\n//# sourceMappingURL=ignore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.glob = exports.hasMagic = exports.Glob = exports.unescape = exports.escape = exports.sync = exports.iterate = exports.iterateSync = exports.stream = exports.streamSync = exports.globIterate = exports.globIterateSync = exports.globSync = exports.globStream = exports.globStreamSync = void 0;\nconst minimatch_1 = require(\"minimatch\");\nconst glob_js_1 = require(\"./glob.js\");\nconst has_magic_js_1 = require(\"./has-magic.js\");\nfunction globStreamSync(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).streamSync();\n}\nexports.globStreamSync = globStreamSync;\nfunction globStream(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).stream();\n}\nexports.globStream = globStream;\nfunction globSync(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).walkSync();\n}\nexports.globSync = globSync;\nasync function glob_(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).walk();\n}\nfunction globIterateSync(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).iterateSync();\n}\nexports.globIterateSync = globIterateSync;\nfunction globIterate(pattern, options = {}) {\n    return new glob_js_1.Glob(pattern, options).iterate();\n}\nexports.globIterate = globIterate;\n// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc\nexports.streamSync = globStreamSync;\nexports.stream = Object.assign(globStream, { sync: globStreamSync });\nexports.iterateSync = globIterateSync;\nexports.iterate = Object.assign(globIterate, {\n    sync: globIterateSync,\n});\nexports.sync = Object.assign(globSync, {\n    stream: globStreamSync,\n    iterate: globIterateSync,\n});\n/* c8 ignore start */\nvar minimatch_2 = require(\"minimatch\");\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return minimatch_2.escape; } });\nObject.defineProperty(exports, \"unescape\", { enumerable: true, get: function () { return minimatch_2.unescape; } });\nvar glob_js_2 = require(\"./glob.js\");\nObject.defineProperty(exports, \"Glob\", { enumerable: true, get: function () { return glob_js_2.Glob; } });\nvar has_magic_js_2 = require(\"./has-magic.js\");\nObject.defineProperty(exports, \"hasMagic\", { enumerable: true, get: function () { return has_magic_js_2.hasMagic; } });\n/* c8 ignore stop */\nexports.glob = Object.assign(glob_, {\n    glob: glob_,\n    globSync,\n    sync: exports.sync,\n    globStream,\n    stream: exports.stream,\n    globStreamSync,\n    streamSync: exports.streamSync,\n    globIterate,\n    iterate: exports.iterate,\n    globIterateSync,\n    iterateSync: exports.iterateSync,\n    Glob: glob_js_1.Glob,\n    hasMagic: has_magic_js_1.hasMagic,\n    escape: minimatch_1.escape,\n    unescape: minimatch_1.unescape,\n});\nexports.glob.glob = exports.glob;\n//# sourceMappingURL=index.js.map","\"use strict\";\n// this is just a very light wrapper around 2 arrays with an offset index\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pattern = void 0;\nconst minimatch_1 = require(\"minimatch\");\nconst isPatternList = (pl) => pl.length >= 1;\nconst isGlobList = (gl) => gl.length >= 1;\n/**\n * An immutable-ish view on an array of glob parts and their parsed\n * results\n */\nclass Pattern {\n    #patternList;\n    #globList;\n    #index;\n    length;\n    #platform;\n    #rest;\n    #globString;\n    #isDrive;\n    #isUNC;\n    #isAbsolute;\n    #followGlobstar = true;\n    constructor(patternList, globList, index, platform) {\n        if (!isPatternList(patternList)) {\n            throw new TypeError('empty pattern list');\n        }\n        if (!isGlobList(globList)) {\n            throw new TypeError('empty glob list');\n        }\n        if (globList.length !== patternList.length) {\n            throw new TypeError('mismatched pattern list and glob list lengths');\n        }\n        this.length = patternList.length;\n        if (index < 0 || index >= this.length) {\n            throw new TypeError('index out of range');\n        }\n        this.#patternList = patternList;\n        this.#globList = globList;\n        this.#index = index;\n        this.#platform = platform;\n        // normalize root entries of absolute patterns on initial creation.\n        if (this.#index === 0) {\n            // c: => ['c:/']\n            // C:/ => ['C:/']\n            // C:/x => ['C:/', 'x']\n            // //host/share => ['//host/share/']\n            // //host/share/ => ['//host/share/']\n            // //host/share/x => ['//host/share/', 'x']\n            // /etc => ['/', 'etc']\n            // / => ['/']\n            if (this.isUNC()) {\n                // '' / '' / 'host' / 'share'\n                const [p0, p1, p2, p3, ...prest] = this.#patternList;\n                const [g0, g1, g2, g3, ...grest] = this.#globList;\n                if (prest[0] === '') {\n                    // ends in /\n                    prest.shift();\n                    grest.shift();\n                }\n                const p = [p0, p1, p2, p3, ''].join('/');\n                const g = [g0, g1, g2, g3, ''].join('/');\n                this.#patternList = [p, ...prest];\n                this.#globList = [g, ...grest];\n                this.length = this.#patternList.length;\n            }\n            else if (this.isDrive() || this.isAbsolute()) {\n                const [p1, ...prest] = this.#patternList;\n                const [g1, ...grest] = this.#globList;\n                if (prest[0] === '') {\n                    // ends in /\n                    prest.shift();\n                    grest.shift();\n                }\n                const p = p1 + '/';\n                const g = g1 + '/';\n                this.#patternList = [p, ...prest];\n                this.#globList = [g, ...grest];\n                this.length = this.#patternList.length;\n            }\n        }\n    }\n    /**\n     * The first entry in the parsed list of patterns\n     */\n    pattern() {\n        return this.#patternList[this.#index];\n    }\n    /**\n     * true of if pattern() returns a string\n     */\n    isString() {\n        return typeof this.#patternList[this.#index] === 'string';\n    }\n    /**\n     * true of if pattern() returns GLOBSTAR\n     */\n    isGlobstar() {\n        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;\n    }\n    /**\n     * true if pattern() returns a regexp\n     */\n    isRegExp() {\n        return this.#patternList[this.#index] instanceof RegExp;\n    }\n    /**\n     * The /-joined set of glob parts that make up this pattern\n     */\n    globString() {\n        return (this.#globString =\n            this.#globString ||\n                (this.#index === 0\n                    ? this.isAbsolute()\n                        ? this.#globList[0] + this.#globList.slice(1).join('/')\n                        : this.#globList.join('/')\n                    : this.#globList.slice(this.#index).join('/')));\n    }\n    /**\n     * true if there are more pattern parts after this one\n     */\n    hasMore() {\n        return this.length > this.#index + 1;\n    }\n    /**\n     * The rest of the pattern after this part, or null if this is the end\n     */\n    rest() {\n        if (this.#rest !== undefined)\n            return this.#rest;\n        if (!this.hasMore())\n            return (this.#rest = null);\n        this.#rest = new Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);\n        this.#rest.#isAbsolute = this.#isAbsolute;\n        this.#rest.#isUNC = this.#isUNC;\n        this.#rest.#isDrive = this.#isDrive;\n        return this.#rest;\n    }\n    /**\n     * true if the pattern represents a //unc/path/ on windows\n     */\n    isUNC() {\n        const pl = this.#patternList;\n        return this.#isUNC !== undefined\n            ? this.#isUNC\n            : (this.#isUNC =\n                this.#platform === 'win32' &&\n                    this.#index === 0 &&\n                    pl[0] === '' &&\n                    pl[1] === '' &&\n                    typeof pl[2] === 'string' &&\n                    !!pl[2] &&\n                    typeof pl[3] === 'string' &&\n                    !!pl[3]);\n    }\n    // pattern like C:/...\n    // split = ['C:', ...]\n    // XXX: would be nice to handle patterns like `c:*` to test the cwd\n    // in c: for *, but I don't know of a way to even figure out what that\n    // cwd is without actually chdir'ing into it?\n    /**\n     * True if the pattern starts with a drive letter on Windows\n     */\n    isDrive() {\n        const pl = this.#patternList;\n        return this.#isDrive !== undefined\n            ? this.#isDrive\n            : (this.#isDrive =\n                this.#platform === 'win32' &&\n                    this.#index === 0 &&\n                    this.length > 1 &&\n                    typeof pl[0] === 'string' &&\n                    /^[a-z]:$/i.test(pl[0]));\n    }\n    // pattern = '/' or '/...' or '/x/...'\n    // split = ['', ''] or ['', ...] or ['', 'x', ...]\n    // Drive and UNC both considered absolute on windows\n    /**\n     * True if the pattern is rooted on an absolute path\n     */\n    isAbsolute() {\n        const pl = this.#patternList;\n        return this.#isAbsolute !== undefined\n            ? this.#isAbsolute\n            : (this.#isAbsolute =\n                (pl[0] === '' && pl.length > 1) ||\n                    this.isDrive() ||\n                    this.isUNC());\n    }\n    /**\n     * consume the root of the pattern, and return it\n     */\n    root() {\n        const p = this.#patternList[0];\n        return typeof p === 'string' && this.isAbsolute() && this.#index === 0\n            ? p\n            : '';\n    }\n    /**\n     * Check to see if the current globstar pattern is allowed to follow\n     * a symbolic link.\n     */\n    checkFollowGlobstar() {\n        return !(this.#index === 0 ||\n            !this.isGlobstar() ||\n            !this.#followGlobstar);\n    }\n    /**\n     * Mark that the current globstar pattern is following a symbolic link\n     */\n    markFollowGlobstar() {\n        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)\n            return false;\n        this.#followGlobstar = false;\n        return true;\n    }\n}\nexports.Pattern = Pattern;\n//# sourceMappingURL=pattern.js.map","\"use strict\";\n// synchronous utility for filtering entries and calculating subwalks\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Processor = exports.SubWalks = exports.MatchRecord = exports.HasWalkedCache = void 0;\nconst minimatch_1 = require(\"minimatch\");\n/**\n * A cache of which patterns have been processed for a given Path\n */\nclass HasWalkedCache {\n    store;\n    constructor(store = new Map()) {\n        this.store = store;\n    }\n    copy() {\n        return new HasWalkedCache(new Map(this.store));\n    }\n    hasWalked(target, pattern) {\n        return this.store.get(target.fullpath())?.has(pattern.globString());\n    }\n    storeWalked(target, pattern) {\n        const fullpath = target.fullpath();\n        const cached = this.store.get(fullpath);\n        if (cached)\n            cached.add(pattern.globString());\n        else\n            this.store.set(fullpath, new Set([pattern.globString()]));\n    }\n}\nexports.HasWalkedCache = HasWalkedCache;\n/**\n * A record of which paths have been matched in a given walk step,\n * and whether they only are considered a match if they are a directory,\n * and whether their absolute or relative path should be returned.\n */\nclass MatchRecord {\n    store = new Map();\n    add(target, absolute, ifDir) {\n        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);\n        const current = this.store.get(target);\n        this.store.set(target, current === undefined ? n : n & current);\n    }\n    // match, absolute, ifdir\n    entries() {\n        return [...this.store.entries()].map(([path, n]) => [\n            path,\n            !!(n & 2),\n            !!(n & 1),\n        ]);\n    }\n}\nexports.MatchRecord = MatchRecord;\n/**\n * A collection of patterns that must be processed in a subsequent step\n * for a given path.\n */\nclass SubWalks {\n    store = new Map();\n    add(target, pattern) {\n        if (!target.canReaddir()) {\n            return;\n        }\n        const subs = this.store.get(target);\n        if (subs) {\n            if (!subs.find(p => p.globString() === pattern.globString())) {\n                subs.push(pattern);\n            }\n        }\n        else\n            this.store.set(target, [pattern]);\n    }\n    get(target) {\n        const subs = this.store.get(target);\n        /* c8 ignore start */\n        if (!subs) {\n            throw new Error('attempting to walk unknown path');\n        }\n        /* c8 ignore stop */\n        return subs;\n    }\n    entries() {\n        return this.keys().map(k => [k, this.store.get(k)]);\n    }\n    keys() {\n        return [...this.store.keys()].filter(t => t.canReaddir());\n    }\n}\nexports.SubWalks = SubWalks;\n/**\n * The class that processes patterns for a given path.\n *\n * Handles child entry filtering, and determining whether a path's\n * directory contents must be read.\n */\nclass Processor {\n    hasWalkedCache;\n    matches = new MatchRecord();\n    subwalks = new SubWalks();\n    patterns;\n    follow;\n    dot;\n    opts;\n    constructor(opts, hasWalkedCache) {\n        this.opts = opts;\n        this.follow = !!opts.follow;\n        this.dot = !!opts.dot;\n        this.hasWalkedCache = hasWalkedCache\n            ? hasWalkedCache.copy()\n            : new HasWalkedCache();\n    }\n    processPatterns(target, patterns) {\n        this.patterns = patterns;\n        const processingSet = patterns.map(p => [target, p]);\n        // map of paths to the magic-starting subwalks they need to walk\n        // first item in patterns is the filter\n        for (let [t, pattern] of processingSet) {\n            this.hasWalkedCache.storeWalked(t, pattern);\n            const root = pattern.root();\n            const absolute = pattern.isAbsolute() && this.opts.absolute !== false;\n            // start absolute patterns at root\n            if (root) {\n                t = t.resolve(root === '/' && this.opts.root !== undefined\n                    ? this.opts.root\n                    : root);\n                const rest = pattern.rest();\n                if (!rest) {\n                    this.matches.add(t, true, false);\n                    continue;\n                }\n                else {\n                    pattern = rest;\n                }\n            }\n            if (t.isENOENT())\n                continue;\n            let p;\n            let rest;\n            let changed = false;\n            while (typeof (p = pattern.pattern()) === 'string' &&\n                (rest = pattern.rest())) {\n                const c = t.resolve(p);\n                t = c;\n                pattern = rest;\n                changed = true;\n            }\n            p = pattern.pattern();\n            rest = pattern.rest();\n            if (changed) {\n                if (this.hasWalkedCache.hasWalked(t, pattern))\n                    continue;\n                this.hasWalkedCache.storeWalked(t, pattern);\n            }\n            // now we have either a final string for a known entry,\n            // more strings for an unknown entry,\n            // or a pattern starting with magic, mounted on t.\n            if (typeof p === 'string') {\n                // must not be final entry, otherwise we would have\n                // concatenated it earlier.\n                const ifDir = p === '..' || p === '' || p === '.';\n                this.matches.add(t.resolve(p), absolute, ifDir);\n                continue;\n            }\n            else if (p === minimatch_1.GLOBSTAR) {\n                // if no rest, match and subwalk pattern\n                // if rest, process rest and subwalk pattern\n                // if it's a symlink, but we didn't get here by way of a\n                // globstar match (meaning it's the first time THIS globstar\n                // has traversed a symlink), then we follow it. Otherwise, stop.\n                if (!t.isSymbolicLink() ||\n                    this.follow ||\n                    pattern.checkFollowGlobstar()) {\n                    this.subwalks.add(t, pattern);\n                }\n                const rp = rest?.pattern();\n                const rrest = rest?.rest();\n                if (!rest || ((rp === '' || rp === '.') && !rrest)) {\n                    // only HAS to be a dir if it ends in **/ or **/.\n                    // but ending in ** will match files as well.\n                    this.matches.add(t, absolute, rp === '' || rp === '.');\n                }\n                else {\n                    if (rp === '..') {\n                        // this would mean you're matching **/.. at the fs root,\n                        // and no thanks, I'm not gonna test that specific case.\n                        /* c8 ignore start */\n                        const tp = t.parent || t;\n                        /* c8 ignore stop */\n                        if (!rrest)\n                            this.matches.add(tp, absolute, true);\n                        else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {\n                            this.subwalks.add(tp, rrest);\n                        }\n                    }\n                }\n            }\n            else if (p instanceof RegExp) {\n                this.subwalks.add(t, pattern);\n            }\n        }\n        return this;\n    }\n    subwalkTargets() {\n        return this.subwalks.keys();\n    }\n    child() {\n        return new Processor(this.opts, this.hasWalkedCache);\n    }\n    // return a new Processor containing the subwalks for each\n    // child entry, and a set of matches, and\n    // a hasWalkedCache that's a copy of this one\n    // then we're going to call\n    filterEntries(parent, entries) {\n        const patterns = this.subwalks.get(parent);\n        // put matches and entry walks into the results processor\n        const results = this.child();\n        for (const e of entries) {\n            for (const pattern of patterns) {\n                const absolute = pattern.isAbsolute();\n                const p = pattern.pattern();\n                const rest = pattern.rest();\n                if (p === minimatch_1.GLOBSTAR) {\n                    results.testGlobstar(e, pattern, rest, absolute);\n                }\n                else if (p instanceof RegExp) {\n                    results.testRegExp(e, p, rest, absolute);\n                }\n                else {\n                    results.testString(e, p, rest, absolute);\n                }\n            }\n        }\n        return results;\n    }\n    testGlobstar(e, pattern, rest, absolute) {\n        if (this.dot || !e.name.startsWith('.')) {\n            if (!pattern.hasMore()) {\n                this.matches.add(e, absolute, false);\n            }\n            if (e.canReaddir()) {\n                // if we're in follow mode or it's not a symlink, just keep\n                // testing the same pattern. If there's more after the globstar,\n                // then this symlink consumes the globstar. If not, then we can\n                // follow at most ONE symlink along the way, so we mark it, which\n                // also checks to ensure that it wasn't already marked.\n                if (this.follow || !e.isSymbolicLink()) {\n                    this.subwalks.add(e, pattern);\n                }\n                else if (e.isSymbolicLink()) {\n                    if (rest && pattern.checkFollowGlobstar()) {\n                        this.subwalks.add(e, rest);\n                    }\n                    else if (pattern.markFollowGlobstar()) {\n                        this.subwalks.add(e, pattern);\n                    }\n                }\n            }\n        }\n        // if the NEXT thing matches this entry, then also add\n        // the rest.\n        if (rest) {\n            const rp = rest.pattern();\n            if (typeof rp === 'string' &&\n                // dots and empty were handled already\n                rp !== '..' &&\n                rp !== '' &&\n                rp !== '.') {\n                this.testString(e, rp, rest.rest(), absolute);\n            }\n            else if (rp === '..') {\n                /* c8 ignore start */\n                const ep = e.parent || e;\n                /* c8 ignore stop */\n                this.subwalks.add(ep, rest);\n            }\n            else if (rp instanceof RegExp) {\n                this.testRegExp(e, rp, rest.rest(), absolute);\n            }\n        }\n    }\n    testRegExp(e, p, rest, absolute) {\n        if (!p.test(e.name))\n            return;\n        if (!rest) {\n            this.matches.add(e, absolute, false);\n        }\n        else {\n            this.subwalks.add(e, rest);\n        }\n    }\n    testString(e, p, rest, absolute) {\n        // should never happen?\n        if (!e.isNamed(p))\n            return;\n        if (!rest) {\n            this.matches.add(e, absolute, false);\n        }\n        else {\n            this.subwalks.add(e, rest);\n        }\n    }\n}\nexports.Processor = Processor;\n//# sourceMappingURL=processor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GlobStream = exports.GlobWalker = exports.GlobUtil = void 0;\n/**\n * Single-use utility classes to provide functionality to the {@link Glob}\n * methods.\n *\n * @module\n */\nconst minipass_1 = require(\"minipass\");\nconst ignore_js_1 = require(\"./ignore.js\");\nconst processor_js_1 = require(\"./processor.js\");\nconst makeIgnore = (ignore, opts) => typeof ignore === 'string'\n    ? new ignore_js_1.Ignore([ignore], opts)\n    : Array.isArray(ignore)\n        ? new ignore_js_1.Ignore(ignore, opts)\n        : ignore;\n/**\n * basic walking utilities that all the glob walker types use\n */\nclass GlobUtil {\n    path;\n    patterns;\n    opts;\n    seen = new Set();\n    paused = false;\n    aborted = false;\n    #onResume = [];\n    #ignore;\n    #sep;\n    signal;\n    maxDepth;\n    constructor(patterns, path, opts) {\n        this.patterns = patterns;\n        this.path = path;\n        this.opts = opts;\n        this.#sep = !opts.posix && opts.platform === 'win32' ? '\\\\' : '/';\n        if (opts.ignore) {\n            this.#ignore = makeIgnore(opts.ignore, opts);\n        }\n        // ignore, always set with maxDepth, but it's optional on the\n        // GlobOptions type\n        /* c8 ignore start */\n        this.maxDepth = opts.maxDepth || Infinity;\n        /* c8 ignore stop */\n        if (opts.signal) {\n            this.signal = opts.signal;\n            this.signal.addEventListener('abort', () => {\n                this.#onResume.length = 0;\n            });\n        }\n    }\n    #ignored(path) {\n        return this.seen.has(path) || !!this.#ignore?.ignored?.(path);\n    }\n    #childrenIgnored(path) {\n        return !!this.#ignore?.childrenIgnored?.(path);\n    }\n    // backpressure mechanism\n    pause() {\n        this.paused = true;\n    }\n    resume() {\n        /* c8 ignore start */\n        if (this.signal?.aborted)\n            return;\n        /* c8 ignore stop */\n        this.paused = false;\n        let fn = undefined;\n        while (!this.paused && (fn = this.#onResume.shift())) {\n            fn();\n        }\n    }\n    onResume(fn) {\n        if (this.signal?.aborted)\n            return;\n        /* c8 ignore start */\n        if (!this.paused) {\n            fn();\n        }\n        else {\n            /* c8 ignore stop */\n            this.#onResume.push(fn);\n        }\n    }\n    // do the requisite realpath/stat checking, and return the path\n    // to add or undefined to filter it out.\n    async matchCheck(e, ifDir) {\n        if (ifDir && this.opts.nodir)\n            return undefined;\n        let rpc;\n        if (this.opts.realpath) {\n            rpc = e.realpathCached() || (await e.realpath());\n            if (!rpc)\n                return undefined;\n            e = rpc;\n        }\n        const needStat = e.isUnknown() || this.opts.stat;\n        return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir);\n    }\n    matchCheckTest(e, ifDir) {\n        return e &&\n            (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&\n            (!ifDir || e.canReaddir()) &&\n            (!this.opts.nodir || !e.isDirectory()) &&\n            !this.#ignored(e)\n            ? e\n            : undefined;\n    }\n    matchCheckSync(e, ifDir) {\n        if (ifDir && this.opts.nodir)\n            return undefined;\n        let rpc;\n        if (this.opts.realpath) {\n            rpc = e.realpathCached() || e.realpathSync();\n            if (!rpc)\n                return undefined;\n            e = rpc;\n        }\n        const needStat = e.isUnknown() || this.opts.stat;\n        return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir);\n    }\n    matchFinish(e, absolute) {\n        if (this.#ignored(e))\n            return;\n        const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute;\n        this.seen.add(e);\n        const mark = this.opts.mark && e.isDirectory() ? this.#sep : '';\n        // ok, we have what we need!\n        if (this.opts.withFileTypes) {\n            this.matchEmit(e);\n        }\n        else if (abs) {\n            const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath();\n            this.matchEmit(abs + mark);\n        }\n        else {\n            const rel = this.opts.posix ? e.relativePosix() : e.relative();\n            const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep)\n                ? '.' + this.#sep\n                : '';\n            this.matchEmit(!rel ? '.' + mark : pre + rel + mark);\n        }\n    }\n    async match(e, absolute, ifDir) {\n        const p = await this.matchCheck(e, ifDir);\n        if (p)\n            this.matchFinish(p, absolute);\n    }\n    matchSync(e, absolute, ifDir) {\n        const p = this.matchCheckSync(e, ifDir);\n        if (p)\n            this.matchFinish(p, absolute);\n    }\n    walkCB(target, patterns, cb) {\n        /* c8 ignore start */\n        if (this.signal?.aborted)\n            cb();\n        /* c8 ignore stop */\n        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);\n    }\n    walkCB2(target, patterns, processor, cb) {\n        if (this.#childrenIgnored(target))\n            return cb();\n        if (this.signal?.aborted)\n            cb();\n        if (this.paused) {\n            this.onResume(() => this.walkCB2(target, patterns, processor, cb));\n            return;\n        }\n        processor.processPatterns(target, patterns);\n        // done processing.  all of the above is sync, can be abstracted out.\n        // subwalks is a map of paths to the entry filters they need\n        // matches is a map of paths to [absolute, ifDir] tuples.\n        let tasks = 1;\n        const next = () => {\n            if (--tasks === 0)\n                cb();\n        };\n        for (const [m, absolute, ifDir] of processor.matches.entries()) {\n            if (this.#ignored(m))\n                continue;\n            tasks++;\n            this.match(m, absolute, ifDir).then(() => next());\n        }\n        for (const t of processor.subwalkTargets()) {\n            if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n                continue;\n            }\n            tasks++;\n            const childrenCached = t.readdirCached();\n            if (t.calledReaddir())\n                this.walkCB3(t, childrenCached, processor, next);\n            else {\n                t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true);\n            }\n        }\n        next();\n    }\n    walkCB3(target, entries, processor, cb) {\n        processor = processor.filterEntries(target, entries);\n        let tasks = 1;\n        const next = () => {\n            if (--tasks === 0)\n                cb();\n        };\n        for (const [m, absolute, ifDir] of processor.matches.entries()) {\n            if (this.#ignored(m))\n                continue;\n            tasks++;\n            this.match(m, absolute, ifDir).then(() => next());\n        }\n        for (const [target, patterns] of processor.subwalks.entries()) {\n            tasks++;\n            this.walkCB2(target, patterns, processor.child(), next);\n        }\n        next();\n    }\n    walkCBSync(target, patterns, cb) {\n        /* c8 ignore start */\n        if (this.signal?.aborted)\n            cb();\n        /* c8 ignore stop */\n        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);\n    }\n    walkCB2Sync(target, patterns, processor, cb) {\n        if (this.#childrenIgnored(target))\n            return cb();\n        if (this.signal?.aborted)\n            cb();\n        if (this.paused) {\n            this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));\n            return;\n        }\n        processor.processPatterns(target, patterns);\n        // done processing.  all of the above is sync, can be abstracted out.\n        // subwalks is a map of paths to the entry filters they need\n        // matches is a map of paths to [absolute, ifDir] tuples.\n        let tasks = 1;\n        const next = () => {\n            if (--tasks === 0)\n                cb();\n        };\n        for (const [m, absolute, ifDir] of processor.matches.entries()) {\n            if (this.#ignored(m))\n                continue;\n            this.matchSync(m, absolute, ifDir);\n        }\n        for (const t of processor.subwalkTargets()) {\n            if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n                continue;\n            }\n            tasks++;\n            const children = t.readdirSync();\n            this.walkCB3Sync(t, children, processor, next);\n        }\n        next();\n    }\n    walkCB3Sync(target, entries, processor, cb) {\n        processor = processor.filterEntries(target, entries);\n        let tasks = 1;\n        const next = () => {\n            if (--tasks === 0)\n                cb();\n        };\n        for (const [m, absolute, ifDir] of processor.matches.entries()) {\n            if (this.#ignored(m))\n                continue;\n            this.matchSync(m, absolute, ifDir);\n        }\n        for (const [target, patterns] of processor.subwalks.entries()) {\n            tasks++;\n            this.walkCB2Sync(target, patterns, processor.child(), next);\n        }\n        next();\n    }\n}\nexports.GlobUtil = GlobUtil;\nclass GlobWalker extends GlobUtil {\n    matches;\n    constructor(patterns, path, opts) {\n        super(patterns, path, opts);\n        this.matches = new Set();\n    }\n    matchEmit(e) {\n        this.matches.add(e);\n    }\n    async walk() {\n        if (this.signal?.aborted)\n            throw this.signal.reason;\n        if (this.path.isUnknown()) {\n            await this.path.lstat();\n        }\n        await new Promise((res, rej) => {\n            this.walkCB(this.path, this.patterns, () => {\n                if (this.signal?.aborted) {\n                    rej(this.signal.reason);\n                }\n                else {\n                    res(this.matches);\n                }\n            });\n        });\n        return this.matches;\n    }\n    walkSync() {\n        if (this.signal?.aborted)\n            throw this.signal.reason;\n        if (this.path.isUnknown()) {\n            this.path.lstatSync();\n        }\n        // nothing for the callback to do, because this never pauses\n        this.walkCBSync(this.path, this.patterns, () => {\n            if (this.signal?.aborted)\n                throw this.signal.reason;\n        });\n        return this.matches;\n    }\n}\nexports.GlobWalker = GlobWalker;\nclass GlobStream extends GlobUtil {\n    results;\n    constructor(patterns, path, opts) {\n        super(patterns, path, opts);\n        this.results = new minipass_1.Minipass({\n            signal: this.signal,\n            objectMode: true,\n        });\n        this.results.on('drain', () => this.resume());\n        this.results.on('resume', () => this.resume());\n    }\n    matchEmit(e) {\n        this.results.write(e);\n        if (!this.results.flowing)\n            this.pause();\n    }\n    stream() {\n        const target = this.path;\n        if (target.isUnknown()) {\n            target.lstat().then(() => {\n                this.walkCB(target, this.patterns, () => this.results.end());\n            });\n        }\n        else {\n            this.walkCB(target, this.patterns, () => this.results.end());\n        }\n        return this.results;\n    }\n    streamSync() {\n        if (this.path.isUnknown()) {\n            this.path.lstatSync();\n        }\n        this.walkCBSync(this.path, this.patterns, () => this.results.end());\n        return this.results;\n    }\n}\nexports.GlobStream = GlobStream;\n//# sourceMappingURL=walker.js.map","\"use strict\";\n/**\n * @module LRUCache\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LRUCache = void 0;\nconst perf = typeof performance === 'object' &&\n    performance &&\n    typeof performance.now === 'function'\n    ? performance\n    : Date;\nconst warned = new Set();\n/* c8 ignore start */\nconst PROCESS = (typeof process === 'object' && !!process ? process : {});\n/* c8 ignore start */\nconst emitWarning = (msg, type, code, fn) => {\n    typeof PROCESS.emitWarning === 'function'\n        ? PROCESS.emitWarning(msg, type, code, fn)\n        : console.error(`[${code}] ${type}: ${msg}`);\n};\nlet AC = globalThis.AbortController;\nlet AS = globalThis.AbortSignal;\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n    //@ts-ignore\n    AS = class AbortSignal {\n        onabort;\n        _onabort = [];\n        reason;\n        aborted = false;\n        addEventListener(_, fn) {\n            this._onabort.push(fn);\n        }\n    };\n    //@ts-ignore\n    AC = class AbortController {\n        constructor() {\n            warnACPolyfill();\n        }\n        signal = new AS();\n        abort(reason) {\n            if (this.signal.aborted)\n                return;\n            //@ts-ignore\n            this.signal.reason = reason;\n            //@ts-ignore\n            this.signal.aborted = true;\n            //@ts-ignore\n            for (const fn of this.signal._onabort) {\n                fn(reason);\n            }\n            this.signal.onabort?.(reason);\n        }\n    };\n    let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1';\n    const warnACPolyfill = () => {\n        if (!printACPolyfillWarning)\n            return;\n        printACPolyfillWarning = false;\n        emitWarning('AbortController is not defined. If using lru-cache in ' +\n            'node 14, load an AbortController polyfill from the ' +\n            '`node-abort-controller` package. A minimal polyfill is ' +\n            'provided for use by LRUCache.fetch(), but it should not be ' +\n            'relied upon in other contexts (eg, passing it to other APIs that ' +\n            'use AbortController/AbortSignal might have undesirable effects). ' +\n            'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill);\n    };\n}\n/* c8 ignore stop */\nconst shouldWarn = (code) => !warned.has(code);\nconst TYPE = Symbol('type');\nconst isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values.  Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max) => !isPosInt(max)\n    ? null\n    : max <= Math.pow(2, 8)\n        ? Uint8Array\n        : max <= Math.pow(2, 16)\n            ? Uint16Array\n            : max <= Math.pow(2, 32)\n                ? Uint32Array\n                : max <= Number.MAX_SAFE_INTEGER\n                    ? ZeroArray\n                    : null;\n/* c8 ignore stop */\nclass ZeroArray extends Array {\n    constructor(size) {\n        super(size);\n        this.fill(0);\n    }\n}\nclass Stack {\n    heap;\n    length;\n    // private constructor\n    static #constructing = false;\n    static create(max) {\n        const HeapCls = getUintArray(max);\n        if (!HeapCls)\n            return [];\n        Stack.#constructing = true;\n        const s = new Stack(max, HeapCls);\n        Stack.#constructing = false;\n        return s;\n    }\n    constructor(max, HeapCls) {\n        /* c8 ignore start */\n        if (!Stack.#constructing) {\n            throw new TypeError('instantiate Stack using Stack.create(n)');\n        }\n        /* c8 ignore stop */\n        this.heap = new HeapCls(max);\n        this.length = 0;\n    }\n    push(n) {\n        this.heap[this.length++] = n;\n    }\n    pop() {\n        return this.heap[--this.length];\n    }\n}\n/**\n * Default export, the thing you're using this module to get.\n *\n * All properties from the options object (with the exception of\n * {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as\n * normal public members. (`max` and `maxBase` are read-only getters.)\n * Changing any of these will alter the defaults for subsequent method calls,\n * but is otherwise safe.\n */\nclass LRUCache {\n    // properties coming in from the options of these, only max and maxSize\n    // really *need* to be protected. The rest can be modified, as they just\n    // set defaults for various methods.\n    #max;\n    #maxSize;\n    #dispose;\n    #disposeAfter;\n    #fetchMethod;\n    /**\n     * {@link LRUCache.OptionsBase.ttl}\n     */\n    ttl;\n    /**\n     * {@link LRUCache.OptionsBase.ttlResolution}\n     */\n    ttlResolution;\n    /**\n     * {@link LRUCache.OptionsBase.ttlAutopurge}\n     */\n    ttlAutopurge;\n    /**\n     * {@link LRUCache.OptionsBase.updateAgeOnGet}\n     */\n    updateAgeOnGet;\n    /**\n     * {@link LRUCache.OptionsBase.updateAgeOnHas}\n     */\n    updateAgeOnHas;\n    /**\n     * {@link LRUCache.OptionsBase.allowStale}\n     */\n    allowStale;\n    /**\n     * {@link LRUCache.OptionsBase.noDisposeOnSet}\n     */\n    noDisposeOnSet;\n    /**\n     * {@link LRUCache.OptionsBase.noUpdateTTL}\n     */\n    noUpdateTTL;\n    /**\n     * {@link LRUCache.OptionsBase.maxEntrySize}\n     */\n    maxEntrySize;\n    /**\n     * {@link LRUCache.OptionsBase.sizeCalculation}\n     */\n    sizeCalculation;\n    /**\n     * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n     */\n    noDeleteOnFetchRejection;\n    /**\n     * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n     */\n    noDeleteOnStaleGet;\n    /**\n     * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n     */\n    allowStaleOnFetchAbort;\n    /**\n     * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n     */\n    allowStaleOnFetchRejection;\n    /**\n     * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n     */\n    ignoreFetchAbort;\n    // computed properties\n    #size;\n    #calculatedSize;\n    #keyMap;\n    #keyList;\n    #valList;\n    #next;\n    #prev;\n    #head;\n    #tail;\n    #free;\n    #disposed;\n    #sizes;\n    #starts;\n    #ttls;\n    #hasDispose;\n    #hasFetchMethod;\n    #hasDisposeAfter;\n    /**\n     * Do not call this method unless you need to inspect the\n     * inner workings of the cache.  If anything returned by this\n     * object is modified in any way, strange breakage may occur.\n     *\n     * These fields are private for a reason!\n     *\n     * @internal\n     */\n    static unsafeExposeInternals(c) {\n        return {\n            // properties\n            starts: c.#starts,\n            ttls: c.#ttls,\n            sizes: c.#sizes,\n            keyMap: c.#keyMap,\n            keyList: c.#keyList,\n            valList: c.#valList,\n            next: c.#next,\n            prev: c.#prev,\n            get head() {\n                return c.#head;\n            },\n            get tail() {\n                return c.#tail;\n            },\n            free: c.#free,\n            // methods\n            isBackgroundFetch: (p) => c.#isBackgroundFetch(p),\n            backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),\n            moveToTail: (index) => c.#moveToTail(index),\n            indexes: (options) => c.#indexes(options),\n            rindexes: (options) => c.#rindexes(options),\n            isStale: (index) => c.#isStale(index),\n        };\n    }\n    // Protected read-only members\n    /**\n     * {@link LRUCache.OptionsBase.max} (read-only)\n     */\n    get max() {\n        return this.#max;\n    }\n    /**\n     * {@link LRUCache.OptionsBase.maxSize} (read-only)\n     */\n    get maxSize() {\n        return this.#maxSize;\n    }\n    /**\n     * The total computed size of items in the cache (read-only)\n     */\n    get calculatedSize() {\n        return this.#calculatedSize;\n    }\n    /**\n     * The number of items stored in the cache (read-only)\n     */\n    get size() {\n        return this.#size;\n    }\n    /**\n     * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n     */\n    get fetchMethod() {\n        return this.#fetchMethod;\n    }\n    /**\n     * {@link LRUCache.OptionsBase.dispose} (read-only)\n     */\n    get dispose() {\n        return this.#dispose;\n    }\n    /**\n     * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n     */\n    get disposeAfter() {\n        return this.#disposeAfter;\n    }\n    constructor(options) {\n        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options;\n        if (max !== 0 && !isPosInt(max)) {\n            throw new TypeError('max option must be a nonnegative integer');\n        }\n        const UintArray = max ? getUintArray(max) : Array;\n        if (!UintArray) {\n            throw new Error('invalid max value: ' + max);\n        }\n        this.#max = max;\n        this.#maxSize = maxSize;\n        this.maxEntrySize = maxEntrySize || this.#maxSize;\n        this.sizeCalculation = sizeCalculation;\n        if (this.sizeCalculation) {\n            if (!this.#maxSize && !this.maxEntrySize) {\n                throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize');\n            }\n            if (typeof this.sizeCalculation !== 'function') {\n                throw new TypeError('sizeCalculation set to non-function');\n            }\n        }\n        if (fetchMethod !== undefined &&\n            typeof fetchMethod !== 'function') {\n            throw new TypeError('fetchMethod must be a function if specified');\n        }\n        this.#fetchMethod = fetchMethod;\n        this.#hasFetchMethod = !!fetchMethod;\n        this.#keyMap = new Map();\n        this.#keyList = new Array(max).fill(undefined);\n        this.#valList = new Array(max).fill(undefined);\n        this.#next = new UintArray(max);\n        this.#prev = new UintArray(max);\n        this.#head = 0;\n        this.#tail = 0;\n        this.#free = Stack.create(max);\n        this.#size = 0;\n        this.#calculatedSize = 0;\n        if (typeof dispose === 'function') {\n            this.#dispose = dispose;\n        }\n        if (typeof disposeAfter === 'function') {\n            this.#disposeAfter = disposeAfter;\n            this.#disposed = [];\n        }\n        else {\n            this.#disposeAfter = undefined;\n            this.#disposed = undefined;\n        }\n        this.#hasDispose = !!this.#dispose;\n        this.#hasDisposeAfter = !!this.#disposeAfter;\n        this.noDisposeOnSet = !!noDisposeOnSet;\n        this.noUpdateTTL = !!noUpdateTTL;\n        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;\n        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;\n        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;\n        this.ignoreFetchAbort = !!ignoreFetchAbort;\n        // NB: maxEntrySize is set to maxSize if it's set\n        if (this.maxEntrySize !== 0) {\n            if (this.#maxSize !== 0) {\n                if (!isPosInt(this.#maxSize)) {\n                    throw new TypeError('maxSize must be a positive integer if specified');\n                }\n            }\n            if (!isPosInt(this.maxEntrySize)) {\n                throw new TypeError('maxEntrySize must be a positive integer if specified');\n            }\n            this.#initializeSizeTracking();\n        }\n        this.allowStale = !!allowStale;\n        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;\n        this.updateAgeOnGet = !!updateAgeOnGet;\n        this.updateAgeOnHas = !!updateAgeOnHas;\n        this.ttlResolution =\n            isPosInt(ttlResolution) || ttlResolution === 0\n                ? ttlResolution\n                : 1;\n        this.ttlAutopurge = !!ttlAutopurge;\n        this.ttl = ttl || 0;\n        if (this.ttl) {\n            if (!isPosInt(this.ttl)) {\n                throw new TypeError('ttl must be a positive integer if specified');\n            }\n            this.#initializeTTLTracking();\n        }\n        // do not allow completely unbounded caches\n        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n            throw new TypeError('At least one of max, maxSize, or ttl is required');\n        }\n        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n            const code = 'LRU_CACHE_UNBOUNDED';\n            if (shouldWarn(code)) {\n                warned.add(code);\n                const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n                    'result in unbounded memory consumption.';\n                emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache);\n            }\n        }\n    }\n    /**\n     * Return the remaining TTL time for a given entry key\n     */\n    getRemainingTTL(key) {\n        return this.#keyMap.has(key) ? Infinity : 0;\n    }\n    #initializeTTLTracking() {\n        const ttls = new ZeroArray(this.#max);\n        const starts = new ZeroArray(this.#max);\n        this.#ttls = ttls;\n        this.#starts = starts;\n        this.#setItemTTL = (index, ttl, start = perf.now()) => {\n            starts[index] = ttl !== 0 ? start : 0;\n            ttls[index] = ttl;\n            if (ttl !== 0 && this.ttlAutopurge) {\n                const t = setTimeout(() => {\n                    if (this.#isStale(index)) {\n                        this.delete(this.#keyList[index]);\n                    }\n                }, ttl + 1);\n                // unref() not supported on all platforms\n                /* c8 ignore start */\n                if (t.unref) {\n                    t.unref();\n                }\n                /* c8 ignore stop */\n            }\n        };\n        this.#updateItemAge = index => {\n            starts[index] = ttls[index] !== 0 ? perf.now() : 0;\n        };\n        this.#statusTTL = (status, index) => {\n            if (ttls[index]) {\n                const ttl = ttls[index];\n                const start = starts[index];\n                status.ttl = ttl;\n                status.start = start;\n                status.now = cachedNow || getNow();\n                const age = status.now - start;\n                status.remainingTTL = ttl - age;\n            }\n        };\n        // debounce calls to perf.now() to 1s so we're not hitting\n        // that costly call repeatedly.\n        let cachedNow = 0;\n        const getNow = () => {\n            const n = perf.now();\n            if (this.ttlResolution > 0) {\n                cachedNow = n;\n                const t = setTimeout(() => (cachedNow = 0), this.ttlResolution);\n                // not available on all platforms\n                /* c8 ignore start */\n                if (t.unref) {\n                    t.unref();\n                }\n                /* c8 ignore stop */\n            }\n            return n;\n        };\n        this.getRemainingTTL = key => {\n            const index = this.#keyMap.get(key);\n            if (index === undefined) {\n                return 0;\n            }\n            const ttl = ttls[index];\n            const start = starts[index];\n            if (ttl === 0 || start === 0) {\n                return Infinity;\n            }\n            const age = (cachedNow || getNow()) - start;\n            return ttl - age;\n        };\n        this.#isStale = index => {\n            return (ttls[index] !== 0 &&\n                starts[index] !== 0 &&\n                (cachedNow || getNow()) - starts[index] > ttls[index]);\n        };\n    }\n    // conditionally set private methods related to TTL\n    #updateItemAge = () => { };\n    #statusTTL = () => { };\n    #setItemTTL = () => { };\n    /* c8 ignore stop */\n    #isStale = () => false;\n    #initializeSizeTracking() {\n        const sizes = new ZeroArray(this.#max);\n        this.#calculatedSize = 0;\n        this.#sizes = sizes;\n        this.#removeItemSize = index => {\n            this.#calculatedSize -= sizes[index];\n            sizes[index] = 0;\n        };\n        this.#requireSize = (k, v, size, sizeCalculation) => {\n            // provisionally accept background fetches.\n            // actual value size will be checked when they return.\n            if (this.#isBackgroundFetch(v)) {\n                return 0;\n            }\n            if (!isPosInt(size)) {\n                if (sizeCalculation) {\n                    if (typeof sizeCalculation !== 'function') {\n                        throw new TypeError('sizeCalculation must be a function');\n                    }\n                    size = sizeCalculation(v, k);\n                    if (!isPosInt(size)) {\n                        throw new TypeError('sizeCalculation return invalid (expect positive integer)');\n                    }\n                }\n                else {\n                    throw new TypeError('invalid size value (must be positive integer). ' +\n                        'When maxSize or maxEntrySize is used, sizeCalculation ' +\n                        'or size must be set.');\n                }\n            }\n            return size;\n        };\n        this.#addItemSize = (index, size, status) => {\n            sizes[index] = size;\n            if (this.#maxSize) {\n                const maxSize = this.#maxSize - sizes[index];\n                while (this.#calculatedSize > maxSize) {\n                    this.#evict(true);\n                }\n            }\n            this.#calculatedSize += sizes[index];\n            if (status) {\n                status.entrySize = size;\n                status.totalCalculatedSize = this.#calculatedSize;\n            }\n        };\n    }\n    #removeItemSize = _i => { };\n    #addItemSize = (_i, _s, _st) => { };\n    #requireSize = (_k, _v, size, sizeCalculation) => {\n        if (size || sizeCalculation) {\n            throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache');\n        }\n        return 0;\n    };\n    *#indexes({ allowStale = this.allowStale } = {}) {\n        if (this.#size) {\n            for (let i = this.#tail; true;) {\n                if (!this.#isValidIndex(i)) {\n                    break;\n                }\n                if (allowStale || !this.#isStale(i)) {\n                    yield i;\n                }\n                if (i === this.#head) {\n                    break;\n                }\n                else {\n                    i = this.#prev[i];\n                }\n            }\n        }\n    }\n    *#rindexes({ allowStale = this.allowStale } = {}) {\n        if (this.#size) {\n            for (let i = this.#head; true;) {\n                if (!this.#isValidIndex(i)) {\n                    break;\n                }\n                if (allowStale || !this.#isStale(i)) {\n                    yield i;\n                }\n                if (i === this.#tail) {\n                    break;\n                }\n                else {\n                    i = this.#next[i];\n                }\n            }\n        }\n    }\n    #isValidIndex(index) {\n        return (index !== undefined &&\n            this.#keyMap.get(this.#keyList[index]) === index);\n    }\n    /**\n     * Return a generator yielding `[key, value]` pairs,\n     * in order from most recently used to least recently used.\n     */\n    *entries() {\n        for (const i of this.#indexes()) {\n            if (this.#valList[i] !== undefined &&\n                this.#keyList[i] !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield [this.#keyList[i], this.#valList[i]];\n            }\n        }\n    }\n    /**\n     * Inverse order version of {@link LRUCache.entries}\n     *\n     * Return a generator yielding `[key, value]` pairs,\n     * in order from least recently used to most recently used.\n     */\n    *rentries() {\n        for (const i of this.#rindexes()) {\n            if (this.#valList[i] !== undefined &&\n                this.#keyList[i] !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield [this.#keyList[i], this.#valList[i]];\n            }\n        }\n    }\n    /**\n     * Return a generator yielding the keys in the cache,\n     * in order from most recently used to least recently used.\n     */\n    *keys() {\n        for (const i of this.#indexes()) {\n            const k = this.#keyList[i];\n            if (k !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield k;\n            }\n        }\n    }\n    /**\n     * Inverse order version of {@link LRUCache.keys}\n     *\n     * Return a generator yielding the keys in the cache,\n     * in order from least recently used to most recently used.\n     */\n    *rkeys() {\n        for (const i of this.#rindexes()) {\n            const k = this.#keyList[i];\n            if (k !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield k;\n            }\n        }\n    }\n    /**\n     * Return a generator yielding the values in the cache,\n     * in order from most recently used to least recently used.\n     */\n    *values() {\n        for (const i of this.#indexes()) {\n            const v = this.#valList[i];\n            if (v !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield this.#valList[i];\n            }\n        }\n    }\n    /**\n     * Inverse order version of {@link LRUCache.values}\n     *\n     * Return a generator yielding the values in the cache,\n     * in order from least recently used to most recently used.\n     */\n    *rvalues() {\n        for (const i of this.#rindexes()) {\n            const v = this.#valList[i];\n            if (v !== undefined &&\n                !this.#isBackgroundFetch(this.#valList[i])) {\n                yield this.#valList[i];\n            }\n        }\n    }\n    /**\n     * Iterating over the cache itself yields the same results as\n     * {@link LRUCache.entries}\n     */\n    [Symbol.iterator]() {\n        return this.entries();\n    }\n    /**\n     * Find a value for which the supplied fn method returns a truthy value,\n     * similar to Array.find().  fn is called as fn(value, key, cache).\n     */\n    find(fn, getOptions = {}) {\n        for (const i of this.#indexes()) {\n            const v = this.#valList[i];\n            const value = this.#isBackgroundFetch(v)\n                ? v.__staleWhileFetching\n                : v;\n            if (value === undefined)\n                continue;\n            if (fn(value, this.#keyList[i], this)) {\n                return this.get(this.#keyList[i], getOptions);\n            }\n        }\n    }\n    /**\n     * Call the supplied function on each item in the cache, in order from\n     * most recently used to least recently used.  fn is called as\n     * fn(value, key, cache).  Does not update age or recenty of use.\n     * Does not iterate over stale values.\n     */\n    forEach(fn, thisp = this) {\n        for (const i of this.#indexes()) {\n            const v = this.#valList[i];\n            const value = this.#isBackgroundFetch(v)\n                ? v.__staleWhileFetching\n                : v;\n            if (value === undefined)\n                continue;\n            fn.call(thisp, value, this.#keyList[i], this);\n        }\n    }\n    /**\n     * The same as {@link LRUCache.forEach} but items are iterated over in\n     * reverse order.  (ie, less recently used items are iterated over first.)\n     */\n    rforEach(fn, thisp = this) {\n        for (const i of this.#rindexes()) {\n            const v = this.#valList[i];\n            const value = this.#isBackgroundFetch(v)\n                ? v.__staleWhileFetching\n                : v;\n            if (value === undefined)\n                continue;\n            fn.call(thisp, value, this.#keyList[i], this);\n        }\n    }\n    /**\n     * Delete any stale entries. Returns true if anything was removed,\n     * false otherwise.\n     */\n    purgeStale() {\n        let deleted = false;\n        for (const i of this.#rindexes({ allowStale: true })) {\n            if (this.#isStale(i)) {\n                this.delete(this.#keyList[i]);\n                deleted = true;\n            }\n        }\n        return deleted;\n    }\n    /**\n     * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n     * passed to cache.load()\n     */\n    dump() {\n        const arr = [];\n        for (const i of this.#indexes({ allowStale: true })) {\n            const key = this.#keyList[i];\n            const v = this.#valList[i];\n            const value = this.#isBackgroundFetch(v)\n                ? v.__staleWhileFetching\n                : v;\n            if (value === undefined || key === undefined)\n                continue;\n            const entry = { value };\n            if (this.#ttls && this.#starts) {\n                entry.ttl = this.#ttls[i];\n                // always dump the start relative to a portable timestamp\n                // it's ok for this to be a bit slow, it's a rare operation.\n                const age = perf.now() - this.#starts[i];\n                entry.start = Math.floor(Date.now() - age);\n            }\n            if (this.#sizes) {\n                entry.size = this.#sizes[i];\n            }\n            arr.unshift([key, entry]);\n        }\n        return arr;\n    }\n    /**\n     * Reset the cache and load in the items in entries in the order listed.\n     * Note that the shape of the resulting cache may be different if the\n     * same options are not used in both caches.\n     */\n    load(arr) {\n        this.clear();\n        for (const [key, entry] of arr) {\n            if (entry.start) {\n                // entry.start is a portable timestamp, but we may be using\n                // node's performance.now(), so calculate the offset, so that\n                // we get the intended remaining TTL, no matter how long it's\n                // been on ice.\n                //\n                // it's ok for this to be a bit slow, it's a rare operation.\n                const age = Date.now() - entry.start;\n                entry.start = perf.now() - age;\n            }\n            this.set(key, entry.value, entry);\n        }\n    }\n    /**\n     * Add a value to the cache.\n     *\n     * Note: if `undefined` is specified as a value, this is an alias for\n     * {@link LRUCache#delete}\n     */\n    set(k, v, setOptions = {}) {\n        if (v === undefined) {\n            this.delete(k);\n            return this;\n        }\n        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;\n        let { noUpdateTTL = this.noUpdateTTL } = setOptions;\n        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);\n        // if the item doesn't fit, don't do anything\n        // NB: maxEntrySize set to maxSize by default\n        if (this.maxEntrySize && size > this.maxEntrySize) {\n            if (status) {\n                status.set = 'miss';\n                status.maxEntrySizeExceeded = true;\n            }\n            // have to delete, in case something is there already.\n            this.delete(k);\n            return this;\n        }\n        let index = this.#size === 0 ? undefined : this.#keyMap.get(k);\n        if (index === undefined) {\n            // addition\n            index = (this.#size === 0\n                ? this.#tail\n                : this.#free.length !== 0\n                    ? this.#free.pop()\n                    : this.#size === this.#max\n                        ? this.#evict(false)\n                        : this.#size);\n            this.#keyList[index] = k;\n            this.#valList[index] = v;\n            this.#keyMap.set(k, index);\n            this.#next[this.#tail] = index;\n            this.#prev[index] = this.#tail;\n            this.#tail = index;\n            this.#size++;\n            this.#addItemSize(index, size, status);\n            if (status)\n                status.set = 'add';\n            noUpdateTTL = false;\n        }\n        else {\n            // update\n            this.#moveToTail(index);\n            const oldVal = this.#valList[index];\n            if (v !== oldVal) {\n                if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n                    oldVal.__abortController.abort(new Error('replaced'));\n                    const { __staleWhileFetching: s } = oldVal;\n                    if (s !== undefined && !noDisposeOnSet) {\n                        if (this.#hasDispose) {\n                            this.#dispose?.(s, k, 'set');\n                        }\n                        if (this.#hasDisposeAfter) {\n                            this.#disposed?.push([s, k, 'set']);\n                        }\n                    }\n                }\n                else if (!noDisposeOnSet) {\n                    if (this.#hasDispose) {\n                        this.#dispose?.(oldVal, k, 'set');\n                    }\n                    if (this.#hasDisposeAfter) {\n                        this.#disposed?.push([oldVal, k, 'set']);\n                    }\n                }\n                this.#removeItemSize(index);\n                this.#addItemSize(index, size, status);\n                this.#valList[index] = v;\n                if (status) {\n                    status.set = 'replace';\n                    const oldValue = oldVal && this.#isBackgroundFetch(oldVal)\n                        ? oldVal.__staleWhileFetching\n                        : oldVal;\n                    if (oldValue !== undefined)\n                        status.oldValue = oldValue;\n                }\n            }\n            else if (status) {\n                status.set = 'update';\n            }\n        }\n        if (ttl !== 0 && !this.#ttls) {\n            this.#initializeTTLTracking();\n        }\n        if (this.#ttls) {\n            if (!noUpdateTTL) {\n                this.#setItemTTL(index, ttl, start);\n            }\n            if (status)\n                this.#statusTTL(status, index);\n        }\n        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n            const dt = this.#disposed;\n            let task;\n            while ((task = dt?.shift())) {\n                this.#disposeAfter?.(...task);\n            }\n        }\n        return this;\n    }\n    /**\n     * Evict the least recently used item, returning its value or\n     * `undefined` if cache is empty.\n     */\n    pop() {\n        try {\n            while (this.#size) {\n                const val = this.#valList[this.#head];\n                this.#evict(true);\n                if (this.#isBackgroundFetch(val)) {\n                    if (val.__staleWhileFetching) {\n                        return val.__staleWhileFetching;\n                    }\n                }\n                else if (val !== undefined) {\n                    return val;\n                }\n            }\n        }\n        finally {\n            if (this.#hasDisposeAfter && this.#disposed) {\n                const dt = this.#disposed;\n                let task;\n                while ((task = dt?.shift())) {\n                    this.#disposeAfter?.(...task);\n                }\n            }\n        }\n    }\n    #evict(free) {\n        const head = this.#head;\n        const k = this.#keyList[head];\n        const v = this.#valList[head];\n        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n            v.__abortController.abort(new Error('evicted'));\n        }\n        else if (this.#hasDispose || this.#hasDisposeAfter) {\n            if (this.#hasDispose) {\n                this.#dispose?.(v, k, 'evict');\n            }\n            if (this.#hasDisposeAfter) {\n                this.#disposed?.push([v, k, 'evict']);\n            }\n        }\n        this.#removeItemSize(head);\n        // if we aren't about to use the index, then null these out\n        if (free) {\n            this.#keyList[head] = undefined;\n            this.#valList[head] = undefined;\n            this.#free.push(head);\n        }\n        if (this.#size === 1) {\n            this.#head = this.#tail = 0;\n            this.#free.length = 0;\n        }\n        else {\n            this.#head = this.#next[head];\n        }\n        this.#keyMap.delete(k);\n        this.#size--;\n        return head;\n    }\n    /**\n     * Check if a key is in the cache, without updating the recency of use.\n     * Will return false if the item is stale, even though it is technically\n     * in the cache.\n     *\n     * Will not update item age unless\n     * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n     */\n    has(k, hasOptions = {}) {\n        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;\n        const index = this.#keyMap.get(k);\n        if (index !== undefined) {\n            const v = this.#valList[index];\n            if (this.#isBackgroundFetch(v) &&\n                v.__staleWhileFetching === undefined) {\n                return false;\n            }\n            if (!this.#isStale(index)) {\n                if (updateAgeOnHas) {\n                    this.#updateItemAge(index);\n                }\n                if (status) {\n                    status.has = 'hit';\n                    this.#statusTTL(status, index);\n                }\n                return true;\n            }\n            else if (status) {\n                status.has = 'stale';\n                this.#statusTTL(status, index);\n            }\n        }\n        else if (status) {\n            status.has = 'miss';\n        }\n        return false;\n    }\n    /**\n     * Like {@link LRUCache#get} but doesn't update recency or delete stale\n     * items.\n     *\n     * Returns `undefined` if the item is stale, unless\n     * {@link LRUCache.OptionsBase.allowStale} is set.\n     */\n    peek(k, peekOptions = {}) {\n        const { allowStale = this.allowStale } = peekOptions;\n        const index = this.#keyMap.get(k);\n        if (index !== undefined &&\n            (allowStale || !this.#isStale(index))) {\n            const v = this.#valList[index];\n            // either stale and allowed, or forcing a refresh of non-stale value\n            return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;\n        }\n    }\n    #backgroundFetch(k, index, options, context) {\n        const v = index === undefined ? undefined : this.#valList[index];\n        if (this.#isBackgroundFetch(v)) {\n            return v;\n        }\n        const ac = new AC();\n        const { signal } = options;\n        // when/if our AC signals, then stop listening to theirs.\n        signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n            signal: ac.signal,\n        });\n        const fetchOpts = {\n            signal: ac.signal,\n            options,\n            context,\n        };\n        const cb = (v, updateCache = false) => {\n            const { aborted } = ac.signal;\n            const ignoreAbort = options.ignoreFetchAbort && v !== undefined;\n            if (options.status) {\n                if (aborted && !updateCache) {\n                    options.status.fetchAborted = true;\n                    options.status.fetchError = ac.signal.reason;\n                    if (ignoreAbort)\n                        options.status.fetchAbortIgnored = true;\n                }\n                else {\n                    options.status.fetchResolved = true;\n                }\n            }\n            if (aborted && !ignoreAbort && !updateCache) {\n                return fetchFail(ac.signal.reason);\n            }\n            // either we didn't abort, and are still here, or we did, and ignored\n            const bf = p;\n            if (this.#valList[index] === p) {\n                if (v === undefined) {\n                    if (bf.__staleWhileFetching) {\n                        this.#valList[index] = bf.__staleWhileFetching;\n                    }\n                    else {\n                        this.delete(k);\n                    }\n                }\n                else {\n                    if (options.status)\n                        options.status.fetchUpdated = true;\n                    this.set(k, v, fetchOpts.options);\n                }\n            }\n            return v;\n        };\n        const eb = (er) => {\n            if (options.status) {\n                options.status.fetchRejected = true;\n                options.status.fetchError = er;\n            }\n            return fetchFail(er);\n        };\n        const fetchFail = (er) => {\n            const { aborted } = ac.signal;\n            const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;\n            const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;\n            const noDelete = allowStale || options.noDeleteOnFetchRejection;\n            const bf = p;\n            if (this.#valList[index] === p) {\n                // if we allow stale on fetch rejections, then we need to ensure that\n                // the stale value is not removed from the cache when the fetch fails.\n                const del = !noDelete || bf.__staleWhileFetching === undefined;\n                if (del) {\n                    this.delete(k);\n                }\n                else if (!allowStaleAborted) {\n                    // still replace the *promise* with the stale value,\n                    // since we are done with the promise at this point.\n                    // leave it untouched if we're still waiting for an\n                    // aborted background fetch that hasn't yet returned.\n                    this.#valList[index] = bf.__staleWhileFetching;\n                }\n            }\n            if (allowStale) {\n                if (options.status && bf.__staleWhileFetching !== undefined) {\n                    options.status.returnedStale = true;\n                }\n                return bf.__staleWhileFetching;\n            }\n            else if (bf.__returned === bf) {\n                throw er;\n            }\n        };\n        const pcall = (res, rej) => {\n            const fmp = this.#fetchMethod?.(k, v, fetchOpts);\n            if (fmp && fmp instanceof Promise) {\n                fmp.then(v => res(v === undefined ? undefined : v), rej);\n            }\n            // ignored, we go until we finish, regardless.\n            // defer check until we are actually aborting,\n            // so fetchMethod can override.\n            ac.signal.addEventListener('abort', () => {\n                if (!options.ignoreFetchAbort ||\n                    options.allowStaleOnFetchAbort) {\n                    res(undefined);\n                    // when it eventually resolves, update the cache.\n                    if (options.allowStaleOnFetchAbort) {\n                        res = v => cb(v, true);\n                    }\n                }\n            });\n        };\n        if (options.status)\n            options.status.fetchDispatched = true;\n        const p = new Promise(pcall).then(cb, eb);\n        const bf = Object.assign(p, {\n            __abortController: ac,\n            __staleWhileFetching: v,\n            __returned: undefined,\n        });\n        if (index === undefined) {\n            // internal, don't expose status.\n            this.set(k, bf, { ...fetchOpts.options, status: undefined });\n            index = this.#keyMap.get(k);\n        }\n        else {\n            this.#valList[index] = bf;\n        }\n        return bf;\n    }\n    #isBackgroundFetch(p) {\n        if (!this.#hasFetchMethod)\n            return false;\n        const b = p;\n        return (!!b &&\n            b instanceof Promise &&\n            b.hasOwnProperty('__staleWhileFetching') &&\n            b.__abortController instanceof AC);\n    }\n    async fetch(k, fetchOptions = {}) {\n        const { \n        // get options\n        allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, \n        // set options\n        ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, \n        // fetch exclusive options\n        noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions;\n        if (!this.#hasFetchMethod) {\n            if (status)\n                status.fetch = 'get';\n            return this.get(k, {\n                allowStale,\n                updateAgeOnGet,\n                noDeleteOnStaleGet,\n                status,\n            });\n        }\n        const options = {\n            allowStale,\n            updateAgeOnGet,\n            noDeleteOnStaleGet,\n            ttl,\n            noDisposeOnSet,\n            size,\n            sizeCalculation,\n            noUpdateTTL,\n            noDeleteOnFetchRejection,\n            allowStaleOnFetchRejection,\n            allowStaleOnFetchAbort,\n            ignoreFetchAbort,\n            status,\n            signal,\n        };\n        let index = this.#keyMap.get(k);\n        if (index === undefined) {\n            if (status)\n                status.fetch = 'miss';\n            const p = this.#backgroundFetch(k, index, options, context);\n            return (p.__returned = p);\n        }\n        else {\n            // in cache, maybe already fetching\n            const v = this.#valList[index];\n            if (this.#isBackgroundFetch(v)) {\n                const stale = allowStale && v.__staleWhileFetching !== undefined;\n                if (status) {\n                    status.fetch = 'inflight';\n                    if (stale)\n                        status.returnedStale = true;\n                }\n                return stale ? v.__staleWhileFetching : (v.__returned = v);\n            }\n            // if we force a refresh, that means do NOT serve the cached value,\n            // unless we are already in the process of refreshing the cache.\n            const isStale = this.#isStale(index);\n            if (!forceRefresh && !isStale) {\n                if (status)\n                    status.fetch = 'hit';\n                this.#moveToTail(index);\n                if (updateAgeOnGet) {\n                    this.#updateItemAge(index);\n                }\n                if (status)\n                    this.#statusTTL(status, index);\n                return v;\n            }\n            // ok, it is stale or a forced refresh, and not already fetching.\n            // refresh the cache.\n            const p = this.#backgroundFetch(k, index, options, context);\n            const hasStale = p.__staleWhileFetching !== undefined;\n            const staleVal = hasStale && allowStale;\n            if (status) {\n                status.fetch = isStale ? 'stale' : 'refresh';\n                if (staleVal && isStale)\n                    status.returnedStale = true;\n            }\n            return staleVal ? p.__staleWhileFetching : (p.__returned = p);\n        }\n    }\n    /**\n     * Return a value from the cache. Will update the recency of the cache\n     * entry found.\n     *\n     * If the key is not found, get() will return `undefined`.\n     */\n    get(k, getOptions = {}) {\n        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions;\n        const index = this.#keyMap.get(k);\n        if (index !== undefined) {\n            const value = this.#valList[index];\n            const fetching = this.#isBackgroundFetch(value);\n            if (status)\n                this.#statusTTL(status, index);\n            if (this.#isStale(index)) {\n                if (status)\n                    status.get = 'stale';\n                // delete only if not an in-flight background fetch\n                if (!fetching) {\n                    if (!noDeleteOnStaleGet) {\n                        this.delete(k);\n                    }\n                    if (status && allowStale)\n                        status.returnedStale = true;\n                    return allowStale ? value : undefined;\n                }\n                else {\n                    if (status &&\n                        allowStale &&\n                        value.__staleWhileFetching !== undefined) {\n                        status.returnedStale = true;\n                    }\n                    return allowStale ? value.__staleWhileFetching : undefined;\n                }\n            }\n            else {\n                if (status)\n                    status.get = 'hit';\n                // if we're currently fetching it, we don't actually have it yet\n                // it's not stale, which means this isn't a staleWhileRefetching.\n                // If it's not stale, and fetching, AND has a __staleWhileFetching\n                // value, then that means the user fetched with {forceRefresh:true},\n                // so it's safe to return that value.\n                if (fetching) {\n                    return value.__staleWhileFetching;\n                }\n                this.#moveToTail(index);\n                if (updateAgeOnGet) {\n                    this.#updateItemAge(index);\n                }\n                return value;\n            }\n        }\n        else if (status) {\n            status.get = 'miss';\n        }\n    }\n    #connect(p, n) {\n        this.#prev[n] = p;\n        this.#next[p] = n;\n    }\n    #moveToTail(index) {\n        // if tail already, nothing to do\n        // if head, move head to next[index]\n        // else\n        //   move next[prev[index]] to next[index] (head has no prev)\n        //   move prev[next[index]] to prev[index]\n        // prev[index] = tail\n        // next[tail] = index\n        // tail = index\n        if (index !== this.#tail) {\n            if (index === this.#head) {\n                this.#head = this.#next[index];\n            }\n            else {\n                this.#connect(this.#prev[index], this.#next[index]);\n            }\n            this.#connect(this.#tail, index);\n            this.#tail = index;\n        }\n    }\n    /**\n     * Deletes a key out of the cache.\n     * Returns true if the key was deleted, false otherwise.\n     */\n    delete(k) {\n        let deleted = false;\n        if (this.#size !== 0) {\n            const index = this.#keyMap.get(k);\n            if (index !== undefined) {\n                deleted = true;\n                if (this.#size === 1) {\n                    this.clear();\n                }\n                else {\n                    this.#removeItemSize(index);\n                    const v = this.#valList[index];\n                    if (this.#isBackgroundFetch(v)) {\n                        v.__abortController.abort(new Error('deleted'));\n                    }\n                    else if (this.#hasDispose || this.#hasDisposeAfter) {\n                        if (this.#hasDispose) {\n                            this.#dispose?.(v, k, 'delete');\n                        }\n                        if (this.#hasDisposeAfter) {\n                            this.#disposed?.push([v, k, 'delete']);\n                        }\n                    }\n                    this.#keyMap.delete(k);\n                    this.#keyList[index] = undefined;\n                    this.#valList[index] = undefined;\n                    if (index === this.#tail) {\n                        this.#tail = this.#prev[index];\n                    }\n                    else if (index === this.#head) {\n                        this.#head = this.#next[index];\n                    }\n                    else {\n                        this.#next[this.#prev[index]] = this.#next[index];\n                        this.#prev[this.#next[index]] = this.#prev[index];\n                    }\n                    this.#size--;\n                    this.#free.push(index);\n                }\n            }\n        }\n        if (this.#hasDisposeAfter && this.#disposed?.length) {\n            const dt = this.#disposed;\n            let task;\n            while ((task = dt?.shift())) {\n                this.#disposeAfter?.(...task);\n            }\n        }\n        return deleted;\n    }\n    /**\n     * Clear the cache entirely, throwing away all values.\n     */\n    clear() {\n        for (const index of this.#rindexes({ allowStale: true })) {\n            const v = this.#valList[index];\n            if (this.#isBackgroundFetch(v)) {\n                v.__abortController.abort(new Error('deleted'));\n            }\n            else {\n                const k = this.#keyList[index];\n                if (this.#hasDispose) {\n                    this.#dispose?.(v, k, 'delete');\n                }\n                if (this.#hasDisposeAfter) {\n                    this.#disposed?.push([v, k, 'delete']);\n                }\n            }\n        }\n        this.#keyMap.clear();\n        this.#valList.fill(undefined);\n        this.#keyList.fill(undefined);\n        if (this.#ttls && this.#starts) {\n            this.#ttls.fill(0);\n            this.#starts.fill(0);\n        }\n        if (this.#sizes) {\n            this.#sizes.fill(0);\n        }\n        this.#head = 0;\n        this.#tail = 0;\n        this.#free.length = 0;\n        this.#calculatedSize = 0;\n        this.#size = 0;\n        if (this.#hasDisposeAfter && this.#disposed) {\n            const dt = this.#disposed;\n            let task;\n            while ((task = dt?.shift())) {\n                this.#disposeAfter?.(...task);\n            }\n        }\n    }\n}\nexports.LRUCache = LRUCache;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertValidPattern = void 0;\nconst MAX_PATTERN_LENGTH = 1024 * 64;\nconst assertValidPattern = (pattern) => {\n    if (typeof pattern !== 'string') {\n        throw new TypeError('invalid pattern');\n    }\n    if (pattern.length > MAX_PATTERN_LENGTH) {\n        throw new TypeError('pattern is too long');\n    }\n};\nexports.assertValidPattern = assertValidPattern;\n//# sourceMappingURL=assert-valid-pattern.js.map","\"use strict\";\n// parse a single path portion\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST = void 0;\nconst brace_expressions_js_1 = require(\"./brace-expressions.js\");\nconst unescape_js_1 = require(\"./unescape.js\");\nconst types = new Set(['!', '?', '+', '*', '@']);\nconst isExtglobType = (c) => types.has(c);\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))';\nconst startNoDot = '(?!\\\\.)';\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.']);\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.']);\nconst reSpecials = new Set('().*{}+?[]^$\\\\!');\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// any single thing other than /\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?';\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\nclass AST {\n    type;\n    #root;\n    #hasMagic;\n    #uflag = false;\n    #parts = [];\n    #parent;\n    #parentIndex;\n    #negs;\n    #filledNegs = false;\n    #options;\n    #toString;\n    // set to true if it's an extglob with no children\n    // (which really means one child of '')\n    #emptyExt = false;\n    constructor(type, parent, options = {}) {\n        this.type = type;\n        // extglobs are inherently magical\n        if (type)\n            this.#hasMagic = true;\n        this.#parent = parent;\n        this.#root = this.#parent ? this.#parent.#root : this;\n        this.#options = this.#root === this ? options : this.#root.#options;\n        this.#negs = this.#root === this ? [] : this.#root.#negs;\n        if (type === '!' && !this.#root.#filledNegs)\n            this.#negs.push(this);\n        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;\n    }\n    get hasMagic() {\n        /* c8 ignore start */\n        if (this.#hasMagic !== undefined)\n            return this.#hasMagic;\n        /* c8 ignore stop */\n        for (const p of this.#parts) {\n            if (typeof p === 'string')\n                continue;\n            if (p.type || p.hasMagic)\n                return (this.#hasMagic = true);\n        }\n        // note: will be undefined until we generate the regexp src and find out\n        return this.#hasMagic;\n    }\n    // reconstructs the pattern\n    toString() {\n        if (this.#toString !== undefined)\n            return this.#toString;\n        if (!this.type) {\n            return (this.#toString = this.#parts.map(p => String(p)).join(''));\n        }\n        else {\n            return (this.#toString =\n                this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')');\n        }\n    }\n    #fillNegs() {\n        /* c8 ignore start */\n        if (this !== this.#root)\n            throw new Error('should only call on root');\n        if (this.#filledNegs)\n            return this;\n        /* c8 ignore stop */\n        // call toString() once to fill this out\n        this.toString();\n        this.#filledNegs = true;\n        let n;\n        while ((n = this.#negs.pop())) {\n            if (n.type !== '!')\n                continue;\n            // walk up the tree, appending everthing that comes AFTER parentIndex\n            let p = n;\n            let pp = p.#parent;\n            while (pp) {\n                for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {\n                    for (const part of n.#parts) {\n                        /* c8 ignore start */\n                        if (typeof part === 'string') {\n                            throw new Error('string part in extglob AST??');\n                        }\n                        /* c8 ignore stop */\n                        part.copyIn(pp.#parts[i]);\n                    }\n                }\n                p = pp;\n                pp = p.#parent;\n            }\n        }\n        return this;\n    }\n    push(...parts) {\n        for (const p of parts) {\n            if (p === '')\n                continue;\n            /* c8 ignore start */\n            if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) {\n                throw new Error('invalid part: ' + p);\n            }\n            /* c8 ignore stop */\n            this.#parts.push(p);\n        }\n    }\n    toJSON() {\n        const ret = this.type === null\n            ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n            : [this.type, ...this.#parts.map(p => p.toJSON())];\n        if (this.isStart() && !this.type)\n            ret.unshift([]);\n        if (this.isEnd() &&\n            (this === this.#root ||\n                (this.#root.#filledNegs && this.#parent?.type === '!'))) {\n            ret.push({});\n        }\n        return ret;\n    }\n    isStart() {\n        if (this.#root === this)\n            return true;\n        // if (this.type) return !!this.#parent?.isStart()\n        if (!this.#parent?.isStart())\n            return false;\n        if (this.#parentIndex === 0)\n            return true;\n        // if everything AHEAD of this is a negation, then it's still the \"start\"\n        const p = this.#parent;\n        for (let i = 0; i < this.#parentIndex; i++) {\n            const pp = p.#parts[i];\n            if (!(pp instanceof AST && pp.type === '!')) {\n                return false;\n            }\n        }\n        return true;\n    }\n    isEnd() {\n        if (this.#root === this)\n            return true;\n        if (this.#parent?.type === '!')\n            return true;\n        if (!this.#parent?.isEnd())\n            return false;\n        if (!this.type)\n            return this.#parent?.isEnd();\n        // if not root, it'll always have a parent\n        /* c8 ignore start */\n        const pl = this.#parent ? this.#parent.#parts.length : 0;\n        /* c8 ignore stop */\n        return this.#parentIndex === pl - 1;\n    }\n    copyIn(part) {\n        if (typeof part === 'string')\n            this.push(part);\n        else\n            this.push(part.clone(this));\n    }\n    clone(parent) {\n        const c = new AST(this.type, parent);\n        for (const p of this.#parts) {\n            c.copyIn(p);\n        }\n        return c;\n    }\n    static #parseAST(str, ast, pos, opt) {\n        let escaping = false;\n        let inBrace = false;\n        let braceStart = -1;\n        let braceNeg = false;\n        if (ast.type === null) {\n            // outside of a extglob, append until we find a start\n            let i = pos;\n            let acc = '';\n            while (i < str.length) {\n                const c = str.charAt(i++);\n                // still accumulate escapes at this point, but we do ignore\n                // starts that are escaped\n                if (escaping || c === '\\\\') {\n                    escaping = !escaping;\n                    acc += c;\n                    continue;\n                }\n                if (inBrace) {\n                    if (i === braceStart + 1) {\n                        if (c === '^' || c === '!') {\n                            braceNeg = true;\n                        }\n                    }\n                    else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n                        inBrace = false;\n                    }\n                    acc += c;\n                    continue;\n                }\n                else if (c === '[') {\n                    inBrace = true;\n                    braceStart = i;\n                    braceNeg = false;\n                    acc += c;\n                    continue;\n                }\n                if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') {\n                    ast.push(acc);\n                    acc = '';\n                    const ext = new AST(c, ast);\n                    i = AST.#parseAST(str, ext, i, opt);\n                    ast.push(ext);\n                    continue;\n                }\n                acc += c;\n            }\n            ast.push(acc);\n            return i;\n        }\n        // some kind of extglob, pos is at the (\n        // find the next | or )\n        let i = pos + 1;\n        let part = new AST(null, ast);\n        const parts = [];\n        let acc = '';\n        while (i < str.length) {\n            const c = str.charAt(i++);\n            // still accumulate escapes at this point, but we do ignore\n            // starts that are escaped\n            if (escaping || c === '\\\\') {\n                escaping = !escaping;\n                acc += c;\n                continue;\n            }\n            if (inBrace) {\n                if (i === braceStart + 1) {\n                    if (c === '^' || c === '!') {\n                        braceNeg = true;\n                    }\n                }\n                else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n                    inBrace = false;\n                }\n                acc += c;\n                continue;\n            }\n            else if (c === '[') {\n                inBrace = true;\n                braceStart = i;\n                braceNeg = false;\n                acc += c;\n                continue;\n            }\n            if (isExtglobType(c) && str.charAt(i) === '(') {\n                part.push(acc);\n                acc = '';\n                const ext = new AST(c, part);\n                part.push(ext);\n                i = AST.#parseAST(str, ext, i, opt);\n                continue;\n            }\n            if (c === '|') {\n                part.push(acc);\n                acc = '';\n                parts.push(part);\n                part = new AST(null, ast);\n                continue;\n            }\n            if (c === ')') {\n                if (acc === '' && ast.#parts.length === 0) {\n                    ast.#emptyExt = true;\n                }\n                part.push(acc);\n                acc = '';\n                ast.push(...parts, part);\n                return i;\n            }\n            acc += c;\n        }\n        // unfinished extglob\n        // if we got here, it was a malformed extglob! not an extglob, but\n        // maybe something else in there.\n        ast.type = null;\n        ast.#hasMagic = undefined;\n        ast.#parts = [str.substring(pos - 1)];\n        return i;\n    }\n    static fromGlob(pattern, options = {}) {\n        const ast = new AST(null, undefined, options);\n        AST.#parseAST(pattern, ast, 0, options);\n        return ast;\n    }\n    // returns the regular expression if there's magic, or the unescaped\n    // string if not.\n    toMMPattern() {\n        // should only be called on root\n        /* c8 ignore start */\n        if (this !== this.#root)\n            return this.#root.toMMPattern();\n        /* c8 ignore stop */\n        const glob = this.toString();\n        const [re, body, hasMagic, uflag] = this.toRegExpSource();\n        // if we're in nocase mode, and not nocaseMagicOnly, then we do\n        // still need a regular expression if we have to case-insensitively\n        // match capital/lowercase characters.\n        const anyMagic = hasMagic ||\n            this.#hasMagic ||\n            (this.#options.nocase &&\n                !this.#options.nocaseMagicOnly &&\n                glob.toUpperCase() !== glob.toLowerCase());\n        if (!anyMagic) {\n            return body;\n        }\n        const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '');\n        return Object.assign(new RegExp(`^${re}$`, flags), {\n            _src: re,\n            _glob: glob,\n        });\n    }\n    // returns the string match, the regexp source, whether there's magic\n    // in the regexp (so a regular expression is required) and whether or\n    // not the uflag is needed for the regular expression (for posix classes)\n    // TODO: instead of injecting the start/end at this point, just return\n    // the BODY of the regexp, along with the start/end portions suitable\n    // for binding the start/end in either a joined full-path makeRe context\n    // (where we bind to (^|/), or a standalone matchPart context (where\n    // we bind to ^, and not /).  Otherwise slashes get duped!\n    //\n    // In part-matching mode, the start is:\n    // - if not isStart: nothing\n    // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n    // - if dots allowed or not possible: ^\n    // - if dots possible and not allowed: ^(?!\\.)\n    // end is:\n    // - if not isEnd(): nothing\n    // - else: $\n    //\n    // In full-path matching mode, we put the slash at the START of the\n    // pattern, so start is:\n    // - if first pattern: same as part-matching mode\n    // - if not isStart(): nothing\n    // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n    // - if dots allowed or not possible: /\n    // - if dots possible and not allowed: /(?!\\.)\n    // end is:\n    // - if last pattern, same as part-matching mode\n    // - else nothing\n    //\n    // Always put the (?:$|/) on negated tails, though, because that has to be\n    // there to bind the end of the negated pattern portion, and it's easier to\n    // just stick it in now rather than try to inject it later in the middle of\n    // the pattern.\n    //\n    // We can just always return the same end, and leave it up to the caller\n    // to know whether it's going to be used joined or in parts.\n    // And, if the start is adjusted slightly, can do the same there:\n    // - if not isStart: nothing\n    // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n    // - if dots allowed or not possible: (?:/|^)\n    // - if dots possible and not allowed: (?:/|^)(?!\\.)\n    //\n    // But it's better to have a simpler binding without a conditional, for\n    // performance, so probably better to return both start options.\n    //\n    // Then the caller just ignores the end if it's not the first pattern,\n    // and the start always gets applied.\n    //\n    // But that's always going to be $ if it's the ending pattern, or nothing,\n    // so the caller can just attach $ at the end of the pattern when building.\n    //\n    // So the todo is:\n    // - better detect what kind of start is needed\n    // - return both flavors of starting pattern\n    // - attach $ at the end of the pattern when creating the actual RegExp\n    //\n    // Ah, but wait, no, that all only applies to the root when the first pattern\n    // is not an extglob. If the first pattern IS an extglob, then we need all\n    // that dot prevention biz to live in the extglob portions, because eg\n    // +(*|.x*) can match .xy but not .yx.\n    //\n    // So, return the two flavors if it's #root and the first child is not an\n    // AST, otherwise leave it to the child AST to handle it, and there,\n    // use the (?:^|/) style of start binding.\n    //\n    // Even simplified further:\n    // - Since the start for a join is eg /(?!\\.) and the start for a part\n    // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n    // or start or whatever) and prepend ^ or / at the Regexp construction.\n    toRegExpSource(allowDot) {\n        const dot = allowDot ?? !!this.#options.dot;\n        if (this.#root === this)\n            this.#fillNegs();\n        if (!this.type) {\n            const noEmpty = this.isStart() && this.isEnd();\n            const src = this.#parts\n                .map(p => {\n                const [re, _, hasMagic, uflag] = typeof p === 'string'\n                    ? AST.#parseGlob(p, this.#hasMagic, noEmpty)\n                    : p.toRegExpSource(allowDot);\n                this.#hasMagic = this.#hasMagic || hasMagic;\n                this.#uflag = this.#uflag || uflag;\n                return re;\n            })\n                .join('');\n            let start = '';\n            if (this.isStart()) {\n                if (typeof this.#parts[0] === 'string') {\n                    // this is the string that will match the start of the pattern,\n                    // so we need to protect against dots and such.\n                    // '.' and '..' cannot match unless the pattern is that exactly,\n                    // even if it starts with . or dot:true is set.\n                    const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);\n                    if (!dotTravAllowed) {\n                        const aps = addPatternStart;\n                        // check if we have a possibility of matching . or ..,\n                        // and prevent that.\n                        const needNoTrav = \n                        // dots are allowed, and the pattern starts with [ or .\n                        (dot && aps.has(src.charAt(0))) ||\n                            // the pattern starts with \\., and then [ or .\n                            (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n                            // the pattern starts with \\.\\., and then [ or .\n                            (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)));\n                        // no need to prevent dots if it can't match a dot, or if a\n                        // sub-pattern will be preventing it anyway.\n                        const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));\n                        start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : '';\n                    }\n                }\n            }\n            // append the \"end of path portion\" pattern to negation tails\n            let end = '';\n            if (this.isEnd() &&\n                this.#root.#filledNegs &&\n                this.#parent?.type === '!') {\n                end = '(?:$|\\\\/)';\n            }\n            const final = start + src + end;\n            return [\n                final,\n                (0, unescape_js_1.unescape)(src),\n                (this.#hasMagic = !!this.#hasMagic),\n                this.#uflag,\n            ];\n        }\n        // We need to calculate the body *twice* if it's a repeat pattern\n        // at the start, once in nodot mode, then again in dot mode, so a\n        // pattern like *(?) can match 'x.y'\n        const repeated = this.type === '*' || this.type === '+';\n        // some kind of extglob\n        const start = this.type === '!' ? '(?:(?!(?:' : '(?:';\n        let body = this.#partsToRegExp(dot);\n        if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n            // invalid extglob, has to at least be *something* present, if it's\n            // the entire path portion.\n            const s = this.toString();\n            this.#parts = [s];\n            this.type = null;\n            this.#hasMagic = undefined;\n            return [s, (0, unescape_js_1.unescape)(this.toString()), false, false];\n        }\n        // XXX abstract out this map method\n        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot\n            ? ''\n            : this.#partsToRegExp(true);\n        if (bodyDotAllowed === body) {\n            bodyDotAllowed = '';\n        }\n        if (bodyDotAllowed) {\n            body = `(?:${body})(?:${bodyDotAllowed})*?`;\n        }\n        // an empty !() is exactly equivalent to a starNoEmpty\n        let final = '';\n        if (this.type === '!' && this.#emptyExt) {\n            final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty;\n        }\n        else {\n            const close = this.type === '!'\n                ? // !() must match something,but !(x) can match ''\n                    '))' +\n                        (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n                        star +\n                        ')'\n                : this.type === '@'\n                    ? ')'\n                    : this.type === '?'\n                        ? ')?'\n                        : this.type === '+' && bodyDotAllowed\n                            ? ')'\n                            : this.type === '*' && bodyDotAllowed\n                                ? `)?`\n                                : `)${this.type}`;\n            final = start + body + close;\n        }\n        return [\n            final,\n            (0, unescape_js_1.unescape)(body),\n            (this.#hasMagic = !!this.#hasMagic),\n            this.#uflag,\n        ];\n    }\n    #partsToRegExp(dot) {\n        return this.#parts\n            .map(p => {\n            // extglob ASTs should only contain parent ASTs\n            /* c8 ignore start */\n            if (typeof p === 'string') {\n                throw new Error('string type in extglob ast??');\n            }\n            /* c8 ignore stop */\n            // can ignore hasMagic, because extglobs are already always magic\n            const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot);\n            this.#uflag = this.#uflag || uflag;\n            return re;\n        })\n            .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n            .join('|');\n    }\n    static #parseGlob(glob, hasMagic, noEmpty = false) {\n        let escaping = false;\n        let re = '';\n        let uflag = false;\n        for (let i = 0; i < glob.length; i++) {\n            const c = glob.charAt(i);\n            if (escaping) {\n                escaping = false;\n                re += (reSpecials.has(c) ? '\\\\' : '') + c;\n                continue;\n            }\n            if (c === '\\\\') {\n                if (i === glob.length - 1) {\n                    re += '\\\\\\\\';\n                }\n                else {\n                    escaping = true;\n                }\n                continue;\n            }\n            if (c === '[') {\n                const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob, i);\n                if (consumed) {\n                    re += src;\n                    uflag = uflag || needUflag;\n                    i += consumed - 1;\n                    hasMagic = hasMagic || magic;\n                    continue;\n                }\n            }\n            if (c === '*') {\n                if (noEmpty && glob === '*')\n                    re += starNoEmpty;\n                else\n                    re += star;\n                hasMagic = true;\n                continue;\n            }\n            if (c === '?') {\n                re += qmark;\n                hasMagic = true;\n                continue;\n            }\n            re += regExpEscape(c);\n        }\n        return [re, (0, unescape_js_1.unescape)(glob), !!hasMagic, uflag];\n    }\n}\nexports.AST = AST;\n//# sourceMappingURL=ast.js.map","\"use strict\";\n// translate the various posix character classes into unicode properties\n// this works across all unicode locales\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseClass = void 0;\n// { : [, /u flag required, negated]\nconst posixClasses = {\n    '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n    '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n    '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n    '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n    '[:cntrl:]': ['\\\\p{Cc}', true],\n    '[:digit:]': ['\\\\p{Nd}', true],\n    '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n    '[:lower:]': ['\\\\p{Ll}', true],\n    '[:print:]': ['\\\\p{C}', true],\n    '[:punct:]': ['\\\\p{P}', true],\n    '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n    '[:upper:]': ['\\\\p{Lu}', true],\n    '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n    '[:xdigit:]': ['A-Fa-f0-9', false],\n};\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s) => s.replace(/[[\\]\\\\-]/g, '\\\\$&');\n// escape all regexp magic characters\nconst regexpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges) => ranges.join('');\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nconst parseClass = (glob, position) => {\n    const pos = position;\n    /* c8 ignore start */\n    if (glob.charAt(pos) !== '[') {\n        throw new Error('not in a brace expression');\n    }\n    /* c8 ignore stop */\n    const ranges = [];\n    const negs = [];\n    let i = pos + 1;\n    let sawStart = false;\n    let uflag = false;\n    let escaping = false;\n    let negate = false;\n    let endPos = pos;\n    let rangeStart = '';\n    WHILE: while (i < glob.length) {\n        const c = glob.charAt(i);\n        if ((c === '!' || c === '^') && i === pos + 1) {\n            negate = true;\n            i++;\n            continue;\n        }\n        if (c === ']' && sawStart && !escaping) {\n            endPos = i + 1;\n            break;\n        }\n        sawStart = true;\n        if (c === '\\\\') {\n            if (!escaping) {\n                escaping = true;\n                i++;\n                continue;\n            }\n            // escaped \\ char, fall through and treat like normal char\n        }\n        if (c === '[' && !escaping) {\n            // either a posix class, a collation equivalent, or just a [\n            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n                if (glob.startsWith(cls, i)) {\n                    // invalid, [a-[] is fine, but not [a-[:alpha]]\n                    if (rangeStart) {\n                        return ['$.', false, glob.length - pos, true];\n                    }\n                    i += cls.length;\n                    if (neg)\n                        negs.push(unip);\n                    else\n                        ranges.push(unip);\n                    uflag = uflag || u;\n                    continue WHILE;\n                }\n            }\n        }\n        // now it's just a normal character, effectively\n        escaping = false;\n        if (rangeStart) {\n            // throw this range away if it's not valid, but others\n            // can still match.\n            if (c > rangeStart) {\n                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));\n            }\n            else if (c === rangeStart) {\n                ranges.push(braceEscape(c));\n            }\n            rangeStart = '';\n            i++;\n            continue;\n        }\n        // now might be the start of a range.\n        // can be either c-d or c-] or c] or c] at this point\n        if (glob.startsWith('-]', i + 1)) {\n            ranges.push(braceEscape(c + '-'));\n            i += 2;\n            continue;\n        }\n        if (glob.startsWith('-', i + 1)) {\n            rangeStart = c;\n            i += 2;\n            continue;\n        }\n        // not the start of a range, just a single character\n        ranges.push(braceEscape(c));\n        i++;\n    }\n    if (endPos < i) {\n        // didn't see the end of the class, not a valid class,\n        // but might still be valid as a literal match.\n        return ['', false, 0, false];\n    }\n    // if we got no ranges and no negates, then we have a range that\n    // cannot possibly match anything, and that poisons the whole glob\n    if (!ranges.length && !negs.length) {\n        return ['$.', false, glob.length - pos, true];\n    }\n    // if we got one positive range, and it's a single character, then that's\n    // not actually a magic pattern, it's just that one literal character.\n    // we should not treat that as \"magic\", we should just return the literal\n    // character. [_] is a perfectly valid way to escape glob magic chars.\n    if (negs.length === 0 &&\n        ranges.length === 1 &&\n        /^\\\\?.$/.test(ranges[0]) &&\n        !negate) {\n        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];\n        return [regexpEscape(r), false, endPos - pos, false];\n    }\n    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';\n    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';\n    const comb = ranges.length && negs.length\n        ? '(' + sranges + '|' + snegs + ')'\n        : ranges.length\n            ? sranges\n            : snegs;\n    return [comb, uflag, endPos - pos, true];\n};\nexports.parseClass = parseClass;\n//# sourceMappingURL=brace-expressions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escape = void 0;\n/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character.  In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nconst escape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    // don't need to escape +@! because we escape the parens\n    // that make those magic, and escaping ! as [!] isn't valid,\n    // because [!]] is a valid glob class meaning not ']'.\n    return windowsPathsNoEscape\n        ? s.replace(/[?*()[\\]]/g, '[$&]')\n        : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&');\n};\nexports.escape = escape;\n//# sourceMappingURL=escape.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;\nconst brace_expansion_1 = __importDefault(require(\"brace-expansion\"));\nconst assert_valid_pattern_js_1 = require(\"./assert-valid-pattern.js\");\nconst ast_js_1 = require(\"./ast.js\");\nconst escape_js_1 = require(\"./escape.js\");\nconst unescape_js_1 = require(\"./unescape.js\");\nconst minimatch = (p, pattern, options = {}) => {\n    (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);\n    // shortcut: comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n        return false;\n    }\n    return new Minimatch(pattern, options).match(p);\n};\nexports.minimatch = minimatch;\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/;\nconst starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);\nconst starDotExtTestDot = (ext) => (f) => f.endsWith(ext);\nconst starDotExtTestNocase = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);\n};\nconst starDotExtTestNocaseDot = (ext) => {\n    ext = ext.toLowerCase();\n    return (f) => f.toLowerCase().endsWith(ext);\n};\nconst starDotStarRE = /^\\*+\\.\\*+$/;\nconst starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');\nconst starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');\nconst dotStarRE = /^\\.\\*+$/;\nconst dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');\nconst starRE = /^\\*+$/;\nconst starTest = (f) => f.length !== 0 && !f.startsWith('.');\nconst starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/;\nconst qmarksTestNocase = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestNocaseDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    if (!ext)\n        return noext;\n    ext = ext.toLowerCase();\n    return (f) => noext(f) && f.toLowerCase().endsWith(ext);\n};\nconst qmarksTestDot = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExtDot([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTest = ([$0, ext = '']) => {\n    const noext = qmarksTestNoExt([$0]);\n    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);\n};\nconst qmarksTestNoExt = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && !f.startsWith('.');\n};\nconst qmarksTestNoExtDot = ([$0]) => {\n    const len = $0.length;\n    return (f) => f.length === len && f !== '.' && f !== '..';\n};\n/* c8 ignore start */\nconst defaultPlatform = (typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n        process.platform\n    : 'posix');\nconst path = {\n    win32: { sep: '\\\\' },\n    posix: { sep: '/' },\n};\n/* c8 ignore stop */\nexports.sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;\nexports.minimatch.sep = exports.sep;\nexports.GLOBSTAR = Symbol('globstar **');\nexports.minimatch.GLOBSTAR = exports.GLOBSTAR;\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]';\n// * => any number of characters\nconst star = qmark + '*?';\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?';\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?';\nconst filter = (pattern, options = {}) => (p) => (0, exports.minimatch)(p, pattern, options);\nexports.filter = filter;\nexports.minimatch.filter = exports.filter;\nconst ext = (a, b = {}) => Object.assign({}, a, b);\nconst defaults = (def) => {\n    if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n        return exports.minimatch;\n    }\n    const orig = exports.minimatch;\n    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));\n    return Object.assign(m, {\n        Minimatch: class Minimatch extends orig.Minimatch {\n            constructor(pattern, options = {}) {\n                super(pattern, ext(def, options));\n            }\n            static defaults(options) {\n                return orig.defaults(ext(def, options)).Minimatch;\n            }\n        },\n        AST: class AST extends orig.AST {\n            /* c8 ignore start */\n            constructor(type, parent, options = {}) {\n                super(type, parent, ext(def, options));\n            }\n            /* c8 ignore stop */\n            static fromGlob(pattern, options = {}) {\n                return orig.AST.fromGlob(pattern, ext(def, options));\n            }\n        },\n        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),\n        escape: (s, options = {}) => orig.escape(s, ext(def, options)),\n        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),\n        defaults: (options) => orig.defaults(ext(def, options)),\n        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),\n        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),\n        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),\n        sep: orig.sep,\n        GLOBSTAR: exports.GLOBSTAR,\n    });\n};\nexports.defaults = defaults;\nexports.minimatch.defaults = exports.defaults;\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nconst braceExpand = (pattern, options = {}) => {\n    (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);\n    // Thanks to Yeting Li  for\n    // improving this regexp to avoid a ReDOS vulnerability.\n    if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n        // shortcut. no need to expand.\n        return [pattern];\n    }\n    return (0, brace_expansion_1.default)(pattern);\n};\nexports.braceExpand = braceExpand;\nexports.minimatch.braceExpand = exports.braceExpand;\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nconst makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();\nexports.makeRe = makeRe;\nexports.minimatch.makeRe = exports.makeRe;\nconst match = (list, pattern, options = {}) => {\n    const mm = new Minimatch(pattern, options);\n    list = list.filter(f => mm.match(f));\n    if (mm.options.nonull && !list.length) {\n        list.push(pattern);\n    }\n    return list;\n};\nexports.match = match;\nexports.minimatch.match = exports.match;\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/;\nconst regExpEscape = (s) => s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\nclass Minimatch {\n    options;\n    set;\n    pattern;\n    windowsPathsNoEscape;\n    nonegate;\n    negate;\n    comment;\n    empty;\n    preserveMultipleSlashes;\n    partial;\n    globSet;\n    globParts;\n    nocase;\n    isWindows;\n    platform;\n    windowsNoMagicRoot;\n    regexp;\n    constructor(pattern, options = {}) {\n        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);\n        options = options || {};\n        this.options = options;\n        this.pattern = pattern;\n        this.platform = options.platform || defaultPlatform;\n        this.isWindows = this.platform === 'win32';\n        this.windowsPathsNoEscape =\n            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;\n        if (this.windowsPathsNoEscape) {\n            this.pattern = this.pattern.replace(/\\\\/g, '/');\n        }\n        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;\n        this.regexp = null;\n        this.negate = false;\n        this.nonegate = !!options.nonegate;\n        this.comment = false;\n        this.empty = false;\n        this.partial = !!options.partial;\n        this.nocase = !!this.options.nocase;\n        this.windowsNoMagicRoot =\n            options.windowsNoMagicRoot !== undefined\n                ? options.windowsNoMagicRoot\n                : !!(this.isWindows && this.nocase);\n        this.globSet = [];\n        this.globParts = [];\n        this.set = [];\n        // make the set of regexps etc.\n        this.make();\n    }\n    hasMagic() {\n        if (this.options.magicalBraces && this.set.length > 1) {\n            return true;\n        }\n        for (const pattern of this.set) {\n            for (const part of pattern) {\n                if (typeof part !== 'string')\n                    return true;\n            }\n        }\n        return false;\n    }\n    debug(..._) { }\n    make() {\n        const pattern = this.pattern;\n        const options = this.options;\n        // empty patterns and comments match nothing.\n        if (!options.nocomment && pattern.charAt(0) === '#') {\n            this.comment = true;\n            return;\n        }\n        if (!pattern) {\n            this.empty = true;\n            return;\n        }\n        // step 1: figure out negation, etc.\n        this.parseNegate();\n        // step 2: expand braces\n        this.globSet = [...new Set(this.braceExpand())];\n        if (options.debug) {\n            this.debug = (...args) => console.error(...args);\n        }\n        this.debug(this.pattern, this.globSet);\n        // step 3: now we have a set, so turn each one into a series of\n        // path-portion matching patterns.\n        // These will be regexps, except in the case of \"**\", which is\n        // set to the GLOBSTAR object for globstar behavior,\n        // and will not contain any / characters\n        //\n        // First, we preprocess to make the glob pattern sets a bit simpler\n        // and deduped.  There are some perf-killing patterns that can cause\n        // problems with a glob walk, but we can simplify them down a bit.\n        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));\n        this.globParts = this.preprocess(rawGlobParts);\n        this.debug(this.pattern, this.globParts);\n        // glob --> regexps\n        let set = this.globParts.map((s, _, __) => {\n            if (this.isWindows && this.windowsNoMagicRoot) {\n                // check if it's a drive or unc path.\n                const isUNC = s[0] === '' &&\n                    s[1] === '' &&\n                    (s[2] === '?' || !globMagic.test(s[2])) &&\n                    !globMagic.test(s[3]);\n                const isDrive = /^[a-z]:/i.test(s[0]);\n                if (isUNC) {\n                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];\n                }\n                else if (isDrive) {\n                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];\n                }\n            }\n            return s.map(ss => this.parse(ss));\n        });\n        this.debug(this.pattern, set);\n        // filter out everything that didn't compile properly.\n        this.set = set.filter(s => s.indexOf(false) === -1);\n        // do not treat the ? in UNC paths as magic\n        if (this.isWindows) {\n            for (let i = 0; i < this.set.length; i++) {\n                const p = this.set[i];\n                if (p[0] === '' &&\n                    p[1] === '' &&\n                    this.globParts[i][2] === '?' &&\n                    typeof p[3] === 'string' &&\n                    /^[a-z]:$/i.test(p[3])) {\n                    p[2] = '?';\n                }\n            }\n        }\n        this.debug(this.pattern, this.set);\n    }\n    // various transforms to equivalent pattern sets that are\n    // faster to process in a filesystem walk.  The goal is to\n    // eliminate what we can, and push all ** patterns as far\n    // to the right as possible, even if it increases the number\n    // of patterns that we have to process.\n    preprocess(globParts) {\n        // if we're not in globstar mode, then turn all ** into *\n        if (this.options.noglobstar) {\n            for (let i = 0; i < globParts.length; i++) {\n                for (let j = 0; j < globParts[i].length; j++) {\n                    if (globParts[i][j] === '**') {\n                        globParts[i][j] = '*';\n                    }\n                }\n            }\n        }\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            // aggressive optimization for the purpose of fs walking\n            globParts = this.firstPhasePreProcess(globParts);\n            globParts = this.secondPhasePreProcess(globParts);\n        }\n        else if (optimizationLevel >= 1) {\n            // just basic optimizations to remove some .. parts\n            globParts = this.levelOneOptimize(globParts);\n        }\n        else {\n            globParts = this.adjascentGlobstarOptimize(globParts);\n        }\n        return globParts;\n    }\n    // just get rid of adjascent ** portions\n    adjascentGlobstarOptimize(globParts) {\n        return globParts.map(parts => {\n            let gs = -1;\n            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n                let i = gs;\n                while (parts[i + 1] === '**') {\n                    i++;\n                }\n                if (i !== gs) {\n                    parts.splice(gs, i - gs);\n                }\n            }\n            return parts;\n        });\n    }\n    // get rid of adjascent ** and resolve .. portions\n    levelOneOptimize(globParts) {\n        return globParts.map(parts => {\n            parts = parts.reduce((set, part) => {\n                const prev = set[set.length - 1];\n                if (part === '**' && prev === '**') {\n                    return set;\n                }\n                if (part === '..') {\n                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n                        set.pop();\n                        return set;\n                    }\n                }\n                set.push(part);\n                return set;\n            }, []);\n            return parts.length === 0 ? [''] : parts;\n        });\n    }\n    levelTwoFileOptimize(parts) {\n        if (!Array.isArray(parts)) {\n            parts = this.slashSplit(parts);\n        }\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
// -> 
/\n            if (!this.preserveMultipleSlashes) {\n                for (let i = 1; i < parts.length - 1; i++) {\n                    const p = parts[i];\n                    // don't squeeze out UNC patterns\n                    if (i === 1 && p === '' && parts[0] === '')\n                        continue;\n                    if (p === '.' || p === '') {\n                        didSomething = true;\n                        parts.splice(i, 1);\n                        i--;\n                    }\n                }\n                if (parts[0] === '.' &&\n                    parts.length === 2 &&\n                    (parts[1] === '.' || parts[1] === '')) {\n                    didSomething = true;\n                    parts.pop();\n                }\n            }\n            // 
/

/../ ->

/\n            let dd = 0;\n            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                const p = parts[dd - 1];\n                if (p && p !== '.' && p !== '..' && p !== '**') {\n                    didSomething = true;\n                    parts.splice(dd - 1, 2);\n                    dd -= 2;\n                }\n            }\n        } while (didSomething);\n        return parts.length === 0 ? [''] : parts;\n    }\n    // First phase: single-pattern processing\n    // 
 is 1 or more portions\n    //  is 1 or more portions\n    // 

is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n //

// -> 
/\n    // 
/

/../ ->

/\n    // **/**/ -> **/\n    //\n    // **/*/ -> */**/ <== not valid because ** doesn't follow\n    // this WOULD be allowed if ** did follow symlinks, or * didn't\n    firstPhasePreProcess(globParts) {\n        let didSomething = false;\n        do {\n            didSomething = false;\n            // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs = -1;\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss = gs;\n while (parts[gss + 1] === '**') {\n //

/**/**/ -> 
/**/\n                        gss++;\n                    }\n                    // eg, if gs is 2 and gss is 4, that means we have 3 **\n                    // parts, and can remove 2 of them.\n                    if (gss > gs) {\n                        parts.splice(gs + 1, gss - gs);\n                    }\n                    let next = parts[gs + 1];\n                    const p = parts[gs + 2];\n                    const p2 = parts[gs + 3];\n                    if (next !== '..')\n                        continue;\n                    if (!p ||\n                        p === '.' ||\n                        p === '..' ||\n                        !p2 ||\n                        p2 === '.' ||\n                        p2 === '..') {\n                        continue;\n                    }\n                    didSomething = true;\n                    // edit parts in place, and push the new one\n                    parts.splice(gs, 1);\n                    const other = parts.slice(0);\n                    other[gs] = '**';\n                    globParts.push(other);\n                    gs--;\n                }\n                // 
// -> 
/\n                if (!this.preserveMultipleSlashes) {\n                    for (let i = 1; i < parts.length - 1; i++) {\n                        const p = parts[i];\n                        // don't squeeze out UNC patterns\n                        if (i === 1 && p === '' && parts[0] === '')\n                            continue;\n                        if (p === '.' || p === '') {\n                            didSomething = true;\n                            parts.splice(i, 1);\n                            i--;\n                        }\n                    }\n                    if (parts[0] === '.' &&\n                        parts.length === 2 &&\n                        (parts[1] === '.' || parts[1] === '')) {\n                        didSomething = true;\n                        parts.pop();\n                    }\n                }\n                // 
/

/../ ->

/\n                let dd = 0;\n                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n                    const p = parts[dd - 1];\n                    if (p && p !== '.' && p !== '..' && p !== '**') {\n                        didSomething = true;\n                        const needDot = dd === 1 && parts[dd + 1] === '**';\n                        const splin = needDot ? ['.'] : [];\n                        parts.splice(dd - 1, 2, ...splin);\n                        if (parts.length === 0)\n                            parts.push('');\n                        dd -= 2;\n                    }\n                }\n            }\n        } while (didSomething);\n        return globParts;\n    }\n    // second phase: multi-pattern dedupes\n    // {
/*/,
/

/} ->

/*/\n    // {
/,
/} -> 
/\n    // {
/**/,
/} -> 
/**/\n    //\n    // {
/**/,
/**/

/} ->

/**/\n    // ^-- not valid because ** doens't follow symlinks\n    secondPhasePreProcess(globParts) {\n        for (let i = 0; i < globParts.length - 1; i++) {\n            for (let j = i + 1; j < globParts.length; j++) {\n                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);\n                if (!matched)\n                    continue;\n                globParts[i] = matched;\n                globParts[j] = [];\n            }\n        }\n        return globParts.filter(gs => gs.length);\n    }\n    partsMatch(a, b, emptyGSMatch = false) {\n        let ai = 0;\n        let bi = 0;\n        let result = [];\n        let which = '';\n        while (ai < a.length && bi < b.length) {\n            if (a[ai] === b[bi]) {\n                result.push(which === 'b' ? b[bi] : a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n                result.push(a[ai]);\n                ai++;\n            }\n            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n                result.push(b[bi]);\n                bi++;\n            }\n            else if (a[ai] === '*' &&\n                b[bi] &&\n                (this.options.dot || !b[bi].startsWith('.')) &&\n                b[bi] !== '**') {\n                if (which === 'b')\n                    return false;\n                which = 'a';\n                result.push(a[ai]);\n                ai++;\n                bi++;\n            }\n            else if (b[bi] === '*' &&\n                a[ai] &&\n                (this.options.dot || !a[ai].startsWith('.')) &&\n                a[ai] !== '**') {\n                if (which === 'a')\n                    return false;\n                which = 'b';\n                result.push(b[bi]);\n                ai++;\n                bi++;\n            }\n            else {\n                return false;\n            }\n        }\n        // if we fall out of the loop, it means they two are identical\n        // as long as their lengths match\n        return a.length === b.length && result;\n    }\n    parseNegate() {\n        if (this.nonegate)\n            return;\n        const pattern = this.pattern;\n        let negate = false;\n        let negateOffset = 0;\n        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n            negate = !negate;\n            negateOffset++;\n        }\n        if (negateOffset)\n            this.pattern = pattern.slice(negateOffset);\n        this.negate = negate;\n    }\n    // set partial to true to test if, for example,\n    // \"/a/b\" matches the start of \"/*/b/*/d\"\n    // Partial means, if you run out of file before you run\n    // out of pattern, then that's fine, as long as all\n    // the parts match.\n    matchOne(file, pattern, partial = false) {\n        const options = this.options;\n        // UNC paths like //?/X:/... can match X:/... and vice versa\n        // Drive letters in absolute drive or unc paths are always compared\n        // case-insensitively.\n        if (this.isWindows) {\n            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);\n            const fileUNC = !fileDrive &&\n                file[0] === '' &&\n                file[1] === '' &&\n                file[2] === '?' &&\n                /^[a-z]:$/i.test(file[3]);\n            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);\n            const patternUNC = !patternDrive &&\n                pattern[0] === '' &&\n                pattern[1] === '' &&\n                pattern[2] === '?' &&\n                typeof pattern[3] === 'string' &&\n                /^[a-z]:$/i.test(pattern[3]);\n            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;\n            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;\n            if (typeof fdi === 'number' && typeof pdi === 'number') {\n                const [fd, pd] = [file[fdi], pattern[pdi]];\n                if (fd.toLowerCase() === pd.toLowerCase()) {\n                    pattern[pdi] = fd;\n                    if (pdi > fdi) {\n                        pattern = pattern.slice(pdi);\n                    }\n                    else if (fdi > pdi) {\n                        file = file.slice(fdi);\n                    }\n                }\n            }\n        }\n        // resolve and reduce . and .. portions in the file as well.\n        // dont' need to do the second phase, because it's only one string[]\n        const { optimizationLevel = 1 } = this.options;\n        if (optimizationLevel >= 2) {\n            file = this.levelTwoFileOptimize(file);\n        }\n        this.debug('matchOne', this, { file, pattern });\n        this.debug('matchOne', file.length, pattern.length);\n        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {\n            this.debug('matchOne loop');\n            var p = pattern[pi];\n            var f = file[fi];\n            this.debug(pattern, p, f);\n            // should be impossible.\n            // some invalid regexp stuff in the set.\n            /* c8 ignore start */\n            if (p === false) {\n                return false;\n            }\n            /* c8 ignore stop */\n            if (p === exports.GLOBSTAR) {\n                this.debug('GLOBSTAR', [pattern, p, f]);\n                // \"**\"\n                // a/**/b/**/c would match the following:\n                // a/b/x/y/z/c\n                // a/x/y/z/b/c\n                // a/b/x/b/x/c\n                // a/b/c\n                // To do this, take the rest of the pattern after\n                // the **, and see if it would match the file remainder.\n                // If so, return success.\n                // If not, the ** \"swallows\" a segment, and try again.\n                // This is recursively awful.\n                //\n                // a/**/b/**/c matching a/b/x/y/z/c\n                // - a matches a\n                // - doublestar\n                //   - matchOne(b/x/y/z/c, b/**/c)\n                //     - b matches b\n                //     - doublestar\n                //       - matchOne(x/y/z/c, c) -> no\n                //       - matchOne(y/z/c, c) -> no\n                //       - matchOne(z/c, c) -> no\n                //       - matchOne(c, c) yes, hit\n                var fr = fi;\n                var pr = pi + 1;\n                if (pr === pl) {\n                    this.debug('** at the end');\n                    // a ** at the end will just swallow the rest.\n                    // We have found a match.\n                    // however, it will not swallow /.x, unless\n                    // options.dot is set.\n                    // . and .. are *never* matched by **, for explosively\n                    // exponential reasons.\n                    for (; fi < fl; fi++) {\n                        if (file[fi] === '.' ||\n                            file[fi] === '..' ||\n                            (!options.dot && file[fi].charAt(0) === '.'))\n                            return false;\n                    }\n                    return true;\n                }\n                // ok, let's see if we can swallow whatever we can.\n                while (fr < fl) {\n                    var swallowee = file[fr];\n                    this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee);\n                    // XXX remove this slice.  Just pass the start index.\n                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n                        this.debug('globstar found match!', fr, fl, swallowee);\n                        // found a match.\n                        return true;\n                    }\n                    else {\n                        // can't swallow \".\" or \"..\" ever.\n                        // can only swallow \".foo\" when explicitly asked.\n                        if (swallowee === '.' ||\n                            swallowee === '..' ||\n                            (!options.dot && swallowee.charAt(0) === '.')) {\n                            this.debug('dot detected!', file, fr, pattern, pr);\n                            break;\n                        }\n                        // ** swallows a segment, and continue.\n                        this.debug('globstar swallow a segment, and continue');\n                        fr++;\n                    }\n                }\n                // no match was found.\n                // However, in partial mode, we can't say this is necessarily over.\n                /* c8 ignore start */\n                if (partial) {\n                    // ran out of file\n                    this.debug('\\n>>> no match, partial?', file, fr, pattern, pr);\n                    if (fr === fl) {\n                        return true;\n                    }\n                }\n                /* c8 ignore stop */\n                return false;\n            }\n            // something other than **\n            // non-magic patterns just have to match exactly\n            // patterns with magic have been turned into regexps.\n            let hit;\n            if (typeof p === 'string') {\n                hit = f === p;\n                this.debug('string match', p, f, hit);\n            }\n            else {\n                hit = p.test(f);\n                this.debug('pattern match', p, f, hit);\n            }\n            if (!hit)\n                return false;\n        }\n        // Note: ending in / means that we'll get a final \"\"\n        // at the end of the pattern.  This can only match a\n        // corresponding \"\" at the end of the file.\n        // If the file ends in /, then it can only match a\n        // a pattern that ends in /, unless the pattern just\n        // doesn't have any more for it. But, a/b/ should *not*\n        // match \"a/b/*\", even though \"\" matches against the\n        // [^/]*? pattern, except in partial mode, where it might\n        // simply not be reached yet.\n        // However, a/b/ should still satisfy a/*\n        // now either we fell off the end of the pattern, or we're done.\n        if (fi === fl && pi === pl) {\n            // ran out of pattern and filename at the same time.\n            // an exact hit!\n            return true;\n        }\n        else if (fi === fl) {\n            // ran out of file, but still had pattern left.\n            // this is ok if we're doing the match as part of\n            // a glob fs traversal.\n            return partial;\n        }\n        else if (pi === pl) {\n            // ran out of pattern, still have file left.\n            // this is only acceptable if we're on the very last\n            // empty segment of a file with a trailing slash.\n            // a/* should match a/b/\n            return fi === fl - 1 && file[fi] === '';\n            /* c8 ignore start */\n        }\n        else {\n            // should be unreachable.\n            throw new Error('wtf?');\n        }\n        /* c8 ignore stop */\n    }\n    braceExpand() {\n        return (0, exports.braceExpand)(this.pattern, this.options);\n    }\n    parse(pattern) {\n        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);\n        const options = this.options;\n        // shortcuts\n        if (pattern === '**')\n            return exports.GLOBSTAR;\n        if (pattern === '')\n            return '';\n        // far and away, the most common glob pattern parts are\n        // *, *.*, and *.  Add a fast check method for those.\n        let m;\n        let fastTest = null;\n        if ((m = pattern.match(starRE))) {\n            fastTest = options.dot ? starTestDot : starTest;\n        }\n        else if ((m = pattern.match(starDotExtRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? starDotExtTestNocaseDot\n                    : starDotExtTestNocase\n                : options.dot\n                    ? starDotExtTestDot\n                    : starDotExtTest)(m[1]);\n        }\n        else if ((m = pattern.match(qmarksRE))) {\n            fastTest = (options.nocase\n                ? options.dot\n                    ? qmarksTestNocaseDot\n                    : qmarksTestNocase\n                : options.dot\n                    ? qmarksTestDot\n                    : qmarksTest)(m);\n        }\n        else if ((m = pattern.match(starDotStarRE))) {\n            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;\n        }\n        else if ((m = pattern.match(dotStarRE))) {\n            fastTest = dotStarTest;\n        }\n        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();\n        return fastTest ? Object.assign(re, { test: fastTest }) : re;\n    }\n    makeRe() {\n        if (this.regexp || this.regexp === false)\n            return this.regexp;\n        // at this point, this.set is a 2d array of partial\n        // pattern strings, or \"**\".\n        //\n        // It's better to use .match().  This function shouldn't\n        // be used, really, but it's pretty convenient sometimes,\n        // when you just want to work with a regex.\n        const set = this.set;\n        if (!set.length) {\n            this.regexp = false;\n            return this.regexp;\n        }\n        const options = this.options;\n        const twoStar = options.noglobstar\n            ? star\n            : options.dot\n                ? twoStarDot\n                : twoStarNoDot;\n        const flags = new Set(options.nocase ? ['i'] : []);\n        // regexpify non-globstar patterns\n        // if ** is only item, then we just do one twoStar\n        // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n        // if ** is last, append (\\/twoStar|) to previous\n        // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n        // then filter out GLOBSTAR symbols\n        let re = set\n            .map(pattern => {\n            const pp = pattern.map(p => {\n                if (p instanceof RegExp) {\n                    for (const f of p.flags.split(''))\n                        flags.add(f);\n                }\n                return typeof p === 'string'\n                    ? regExpEscape(p)\n                    : p === exports.GLOBSTAR\n                        ? exports.GLOBSTAR\n                        : p._src;\n            });\n            pp.forEach((p, i) => {\n                const next = pp[i + 1];\n                const prev = pp[i - 1];\n                if (p !== exports.GLOBSTAR || prev === exports.GLOBSTAR) {\n                    return;\n                }\n                if (prev === undefined) {\n                    if (next !== undefined && next !== exports.GLOBSTAR) {\n                        pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next;\n                    }\n                    else {\n                        pp[i] = twoStar;\n                    }\n                }\n                else if (next === undefined) {\n                    pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?';\n                }\n                else if (next !== exports.GLOBSTAR) {\n                    pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next;\n                    pp[i + 1] = exports.GLOBSTAR;\n                }\n            });\n            return pp.filter(p => p !== exports.GLOBSTAR).join('/');\n        })\n            .join('|');\n        // need to wrap in parens if we had more than one thing with |,\n        // otherwise only the first will be anchored to ^ and the last to $\n        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];\n        // must match entire pattern\n        // ending in a * or ** will make it less strict.\n        re = '^' + open + re + close + '$';\n        // can match anything, as long as it's not this.\n        if (this.negate)\n            re = '^(?!' + re + ').+$';\n        try {\n            this.regexp = new RegExp(re, [...flags].join(''));\n            /* c8 ignore start */\n        }\n        catch (ex) {\n            // should be impossible\n            this.regexp = false;\n        }\n        /* c8 ignore stop */\n        return this.regexp;\n    }\n    slashSplit(p) {\n        // if p starts with // on windows, we preserve that\n        // so that UNC paths aren't broken.  Otherwise, any number of\n        // / characters are coalesced into one, unless\n        // preserveMultipleSlashes is set to true.\n        if (this.preserveMultipleSlashes) {\n            return p.split('/');\n        }\n        else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n            // add an extra '' for the one we lose\n            return ['', ...p.split(/\\/+/)];\n        }\n        else {\n            return p.split(/\\/+/);\n        }\n    }\n    match(f, partial = this.partial) {\n        this.debug('match', f, this.pattern);\n        // short-circuit in the case of busted things.\n        // comments, etc.\n        if (this.comment) {\n            return false;\n        }\n        if (this.empty) {\n            return f === '';\n        }\n        if (f === '/' && partial) {\n            return true;\n        }\n        const options = this.options;\n        // windows: need to use /, not \\\n        if (this.isWindows) {\n            f = f.split('\\\\').join('/');\n        }\n        // treat the test path as a set of pathparts.\n        const ff = this.slashSplit(f);\n        this.debug(this.pattern, 'split', ff);\n        // just ONE of the pattern sets in this.set needs to match\n        // in order for it to be valid.  If negating, then just one\n        // match means that we have failed.\n        // Either way, return on the first hit.\n        const set = this.set;\n        this.debug(this.pattern, 'set', set);\n        // Find the basename of the path by looking for the last non-empty segment\n        let filename = ff[ff.length - 1];\n        if (!filename) {\n            for (let i = ff.length - 2; !filename && i >= 0; i--) {\n                filename = ff[i];\n            }\n        }\n        for (let i = 0; i < set.length; i++) {\n            const pattern = set[i];\n            let file = ff;\n            if (options.matchBase && pattern.length === 1) {\n                file = [filename];\n            }\n            const hit = this.matchOne(file, pattern, partial);\n            if (hit) {\n                if (options.flipNegate) {\n                    return true;\n                }\n                return !this.negate;\n            }\n        }\n        // didn't get any hits.  this is success if it's a negative\n        // pattern, failure otherwise.\n        if (options.flipNegate) {\n            return false;\n        }\n        return this.negate;\n    }\n    static defaults(def) {\n        return exports.minimatch.defaults(def).Minimatch;\n    }\n}\nexports.Minimatch = Minimatch;\n/* c8 ignore start */\nvar ast_js_2 = require(\"./ast.js\");\nObject.defineProperty(exports, \"AST\", { enumerable: true, get: function () { return ast_js_2.AST; } });\nvar escape_js_2 = require(\"./escape.js\");\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return escape_js_2.escape; } });\nvar unescape_js_2 = require(\"./unescape.js\");\nObject.defineProperty(exports, \"unescape\", { enumerable: true, get: function () { return unescape_js_2.unescape; } });\n/* c8 ignore stop */\nexports.minimatch.AST = ast_js_1.AST;\nexports.minimatch.Minimatch = Minimatch;\nexports.minimatch.escape = escape_js_1.escape;\nexports.minimatch.unescape = unescape_js_1.unescape;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unescape = void 0;\n/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes.  For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nconst unescape = (s, { windowsPathsNoEscape = false, } = {}) => {\n    return windowsPathsNoEscape\n        ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n        : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1');\n};\nexports.unescape = unescape;\n//# sourceMappingURL=unescape.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0;\nconst proc = typeof process === 'object' && process\n    ? process\n    : {\n        stdout: null,\n        stderr: null,\n    };\nconst events_1 = require(\"events\");\nconst stream_1 = __importDefault(require(\"stream\"));\nconst string_decoder_1 = require(\"string_decoder\");\n/**\n * Return true if the argument is a Minipass stream, Node stream, or something\n * else that Minipass can interact with.\n */\nconst isStream = (s) => !!s &&\n    typeof s === 'object' &&\n    (s instanceof Minipass ||\n        s instanceof stream_1.default ||\n        (0, exports.isReadable)(s) ||\n        (0, exports.isWritable)(s));\nexports.isStream = isStream;\n/**\n * Return true if the argument is a valid {@link Minipass.Readable}\n */\nconst isReadable = (s) => !!s &&\n    typeof s === 'object' &&\n    s instanceof events_1.EventEmitter &&\n    typeof s.pipe === 'function' &&\n    // node core Writable streams have a pipe() method, but it throws\n    s.pipe !== stream_1.default.Writable.prototype.pipe;\nexports.isReadable = isReadable;\n/**\n * Return true if the argument is a valid {@link Minipass.Writable}\n */\nconst isWritable = (s) => !!s &&\n    typeof s === 'object' &&\n    s instanceof events_1.EventEmitter &&\n    typeof s.write === 'function' &&\n    typeof s.end === 'function';\nexports.isWritable = isWritable;\nconst EOF = Symbol('EOF');\nconst MAYBE_EMIT_END = Symbol('maybeEmitEnd');\nconst EMITTED_END = Symbol('emittedEnd');\nconst EMITTING_END = Symbol('emittingEnd');\nconst EMITTED_ERROR = Symbol('emittedError');\nconst CLOSED = Symbol('closed');\nconst READ = Symbol('read');\nconst FLUSH = Symbol('flush');\nconst FLUSHCHUNK = Symbol('flushChunk');\nconst ENCODING = Symbol('encoding');\nconst DECODER = Symbol('decoder');\nconst FLOWING = Symbol('flowing');\nconst PAUSED = Symbol('paused');\nconst RESUME = Symbol('resume');\nconst BUFFER = Symbol('buffer');\nconst PIPES = Symbol('pipes');\nconst BUFFERLENGTH = Symbol('bufferLength');\nconst BUFFERPUSH = Symbol('bufferPush');\nconst BUFFERSHIFT = Symbol('bufferShift');\nconst OBJECTMODE = Symbol('objectMode');\n// internal event when stream is destroyed\nconst DESTROYED = Symbol('destroyed');\n// internal event when stream has an error\nconst ERROR = Symbol('error');\nconst EMITDATA = Symbol('emitData');\nconst EMITEND = Symbol('emitEnd');\nconst EMITEND2 = Symbol('emitEnd2');\nconst ASYNC = Symbol('async');\nconst ABORT = Symbol('abort');\nconst ABORTED = Symbol('aborted');\nconst SIGNAL = Symbol('signal');\nconst DATALISTENERS = Symbol('dataListeners');\nconst DISCARDED = Symbol('discarded');\nconst defer = (fn) => Promise.resolve().then(fn);\nconst nodefer = (fn) => fn();\nconst isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';\nconst isArrayBufferLike = (b) => b instanceof ArrayBuffer ||\n    (!!b &&\n        typeof b === 'object' &&\n        b.constructor &&\n        b.constructor.name === 'ArrayBuffer' &&\n        b.byteLength >= 0);\nconst isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);\n/**\n * Internal class representing a pipe to a destination stream.\n *\n * @internal\n */\nclass Pipe {\n    src;\n    dest;\n    opts;\n    ondrain;\n    constructor(src, dest, opts) {\n        this.src = src;\n        this.dest = dest;\n        this.opts = opts;\n        this.ondrain = () => src[RESUME]();\n        this.dest.on('drain', this.ondrain);\n    }\n    unpipe() {\n        this.dest.removeListener('drain', this.ondrain);\n    }\n    // only here for the prototype\n    /* c8 ignore start */\n    proxyErrors(_er) { }\n    /* c8 ignore stop */\n    end() {\n        this.unpipe();\n        if (this.opts.end)\n            this.dest.end();\n    }\n}\n/**\n * Internal class representing a pipe to a destination stream where\n * errors are proxied.\n *\n * @internal\n */\nclass PipeProxyErrors extends Pipe {\n    unpipe() {\n        this.src.removeListener('error', this.proxyErrors);\n        super.unpipe();\n    }\n    constructor(src, dest, opts) {\n        super(src, dest, opts);\n        this.proxyErrors = er => dest.emit('error', er);\n        src.on('error', this.proxyErrors);\n    }\n}\nconst isObjectModeOptions = (o) => !!o.objectMode;\nconst isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';\n/**\n * Main export, the Minipass class\n *\n * `RType` is the type of data emitted, defaults to Buffer\n *\n * `WType` is the type of data to be written, if RType is buffer or string,\n * then any {@link Minipass.ContiguousData} is allowed.\n *\n * `Events` is the set of event handler signatures that this object\n * will emit, see {@link Minipass.Events}\n */\nclass Minipass extends events_1.EventEmitter {\n    [FLOWING] = false;\n    [PAUSED] = false;\n    [PIPES] = [];\n    [BUFFER] = [];\n    [OBJECTMODE];\n    [ENCODING];\n    [ASYNC];\n    [DECODER];\n    [EOF] = false;\n    [EMITTED_END] = false;\n    [EMITTING_END] = false;\n    [CLOSED] = false;\n    [EMITTED_ERROR] = null;\n    [BUFFERLENGTH] = 0;\n    [DESTROYED] = false;\n    [SIGNAL];\n    [ABORTED] = false;\n    [DATALISTENERS] = 0;\n    [DISCARDED] = false;\n    /**\n     * true if the stream can be written\n     */\n    writable = true;\n    /**\n     * true if the stream can be read\n     */\n    readable = true;\n    /**\n     * If `RType` is Buffer, then options do not need to be provided.\n     * Otherwise, an options object must be provided to specify either\n     * {@link Minipass.SharedOptions.objectMode} or\n     * {@link Minipass.SharedOptions.encoding}, as appropriate.\n     */\n    constructor(...args) {\n        const options = (args[0] ||\n            {});\n        super();\n        if (options.objectMode && typeof options.encoding === 'string') {\n            throw new TypeError('Encoding and objectMode may not be used together');\n        }\n        if (isObjectModeOptions(options)) {\n            this[OBJECTMODE] = true;\n            this[ENCODING] = null;\n        }\n        else if (isEncodingOptions(options)) {\n            this[ENCODING] = options.encoding;\n            this[OBJECTMODE] = false;\n        }\n        else {\n            this[OBJECTMODE] = false;\n            this[ENCODING] = null;\n        }\n        this[ASYNC] = !!options.async;\n        this[DECODER] = this[ENCODING]\n            ? new string_decoder_1.StringDecoder(this[ENCODING])\n            : null;\n        //@ts-ignore - private option for debugging and testing\n        if (options && options.debugExposeBuffer === true) {\n            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });\n        }\n        //@ts-ignore - private option for debugging and testing\n        if (options && options.debugExposePipes === true) {\n            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });\n        }\n        const { signal } = options;\n        if (signal) {\n            this[SIGNAL] = signal;\n            if (signal.aborted) {\n                this[ABORT]();\n            }\n            else {\n                signal.addEventListener('abort', () => this[ABORT]());\n            }\n        }\n    }\n    /**\n     * The amount of data stored in the buffer waiting to be read.\n     *\n     * For Buffer strings, this will be the total byte length.\n     * For string encoding streams, this will be the string character length,\n     * according to JavaScript's `string.length` logic.\n     * For objectMode streams, this is a count of the items waiting to be\n     * emitted.\n     */\n    get bufferLength() {\n        return this[BUFFERLENGTH];\n    }\n    /**\n     * The `BufferEncoding` currently in use, or `null`\n     */\n    get encoding() {\n        return this[ENCODING];\n    }\n    /**\n     * @deprecated - This is a read only property\n     */\n    set encoding(_enc) {\n        throw new Error('Encoding must be set at instantiation time');\n    }\n    /**\n     * @deprecated - Encoding may only be set at instantiation time\n     */\n    setEncoding(_enc) {\n        throw new Error('Encoding must be set at instantiation time');\n    }\n    /**\n     * True if this is an objectMode stream\n     */\n    get objectMode() {\n        return this[OBJECTMODE];\n    }\n    /**\n     * @deprecated - This is a read-only property\n     */\n    set objectMode(_om) {\n        throw new Error('objectMode must be set at instantiation time');\n    }\n    /**\n     * true if this is an async stream\n     */\n    get ['async']() {\n        return this[ASYNC];\n    }\n    /**\n     * Set to true to make this stream async.\n     *\n     * Once set, it cannot be unset, as this would potentially cause incorrect\n     * behavior.  Ie, a sync stream can be made async, but an async stream\n     * cannot be safely made sync.\n     */\n    set ['async'](a) {\n        this[ASYNC] = this[ASYNC] || !!a;\n    }\n    // drop everything and get out of the flow completely\n    [ABORT]() {\n        this[ABORTED] = true;\n        this.emit('abort', this[SIGNAL]?.reason);\n        this.destroy(this[SIGNAL]?.reason);\n    }\n    /**\n     * True if the stream has been aborted.\n     */\n    get aborted() {\n        return this[ABORTED];\n    }\n    /**\n     * No-op setter. Stream aborted status is set via the AbortSignal provided\n     * in the constructor options.\n     */\n    set aborted(_) { }\n    write(chunk, encoding, cb) {\n        if (this[ABORTED])\n            return false;\n        if (this[EOF])\n            throw new Error('write after end');\n        if (this[DESTROYED]) {\n            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));\n            return true;\n        }\n        if (typeof encoding === 'function') {\n            cb = encoding;\n            encoding = 'utf8';\n        }\n        if (!encoding)\n            encoding = 'utf8';\n        const fn = this[ASYNC] ? defer : nodefer;\n        // convert array buffers and typed array views into buffers\n        // at some point in the future, we may want to do the opposite!\n        // leave strings and buffers as-is\n        // anything is only allowed if in object mode, so throw\n        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {\n            if (isArrayBufferView(chunk)) {\n                //@ts-ignore - sinful unsafe type changing\n                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n            }\n            else if (isArrayBufferLike(chunk)) {\n                //@ts-ignore - sinful unsafe type changing\n                chunk = Buffer.from(chunk);\n            }\n            else if (typeof chunk !== 'string') {\n                throw new Error('Non-contiguous data written to non-objectMode stream');\n            }\n        }\n        // handle object mode up front, since it's simpler\n        // this yields better performance, fewer checks later.\n        if (this[OBJECTMODE]) {\n            // maybe impossible?\n            /* c8 ignore start */\n            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)\n                this[FLUSH](true);\n            /* c8 ignore stop */\n            if (this[FLOWING])\n                this.emit('data', chunk);\n            else\n                this[BUFFERPUSH](chunk);\n            if (this[BUFFERLENGTH] !== 0)\n                this.emit('readable');\n            if (cb)\n                fn(cb);\n            return this[FLOWING];\n        }\n        // at this point the chunk is a buffer or string\n        // don't buffer it up or send it to the decoder\n        if (!chunk.length) {\n            if (this[BUFFERLENGTH] !== 0)\n                this.emit('readable');\n            if (cb)\n                fn(cb);\n            return this[FLOWING];\n        }\n        // fast-path writing strings of same encoding to a stream with\n        // an empty buffer, skipping the buffer/decoder dance\n        if (typeof chunk === 'string' &&\n            // unless it is a string already ready for us to use\n            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {\n            //@ts-ignore - sinful unsafe type change\n            chunk = Buffer.from(chunk, encoding);\n        }\n        if (Buffer.isBuffer(chunk) && this[ENCODING]) {\n            //@ts-ignore - sinful unsafe type change\n            chunk = this[DECODER].write(chunk);\n        }\n        // Note: flushing CAN potentially switch us into not-flowing mode\n        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)\n            this[FLUSH](true);\n        if (this[FLOWING])\n            this.emit('data', chunk);\n        else\n            this[BUFFERPUSH](chunk);\n        if (this[BUFFERLENGTH] !== 0)\n            this.emit('readable');\n        if (cb)\n            fn(cb);\n        return this[FLOWING];\n    }\n    /**\n     * Low-level explicit read method.\n     *\n     * In objectMode, the argument is ignored, and one item is returned if\n     * available.\n     *\n     * `n` is the number of bytes (or in the case of encoding streams,\n     * characters) to consume. If `n` is not provided, then the entire buffer\n     * is returned, or `null` is returned if no data is available.\n     *\n     * If `n` is greater that the amount of data in the internal buffer,\n     * then `null` is returned.\n     */\n    read(n) {\n        if (this[DESTROYED])\n            return null;\n        this[DISCARDED] = false;\n        if (this[BUFFERLENGTH] === 0 ||\n            n === 0 ||\n            (n && n > this[BUFFERLENGTH])) {\n            this[MAYBE_EMIT_END]();\n            return null;\n        }\n        if (this[OBJECTMODE])\n            n = null;\n        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {\n            // not object mode, so if we have an encoding, then RType is string\n            // otherwise, must be Buffer\n            this[BUFFER] = [\n                (this[ENCODING]\n                    ? this[BUFFER].join('')\n                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),\n            ];\n        }\n        const ret = this[READ](n || null, this[BUFFER][0]);\n        this[MAYBE_EMIT_END]();\n        return ret;\n    }\n    [READ](n, chunk) {\n        if (this[OBJECTMODE])\n            this[BUFFERSHIFT]();\n        else {\n            const c = chunk;\n            if (n === c.length || n === null)\n                this[BUFFERSHIFT]();\n            else if (typeof c === 'string') {\n                this[BUFFER][0] = c.slice(n);\n                chunk = c.slice(0, n);\n                this[BUFFERLENGTH] -= n;\n            }\n            else {\n                this[BUFFER][0] = c.subarray(n);\n                chunk = c.subarray(0, n);\n                this[BUFFERLENGTH] -= n;\n            }\n        }\n        this.emit('data', chunk);\n        if (!this[BUFFER].length && !this[EOF])\n            this.emit('drain');\n        return chunk;\n    }\n    end(chunk, encoding, cb) {\n        if (typeof chunk === 'function') {\n            cb = chunk;\n            chunk = undefined;\n        }\n        if (typeof encoding === 'function') {\n            cb = encoding;\n            encoding = 'utf8';\n        }\n        if (chunk !== undefined)\n            this.write(chunk, encoding);\n        if (cb)\n            this.once('end', cb);\n        this[EOF] = true;\n        this.writable = false;\n        // if we haven't written anything, then go ahead and emit,\n        // even if we're not reading.\n        // we'll re-emit if a new 'end' listener is added anyway.\n        // This makes MP more suitable to write-only use cases.\n        if (this[FLOWING] || !this[PAUSED])\n            this[MAYBE_EMIT_END]();\n        return this;\n    }\n    // don't let the internal resume be overwritten\n    [RESUME]() {\n        if (this[DESTROYED])\n            return;\n        if (!this[DATALISTENERS] && !this[PIPES].length) {\n            this[DISCARDED] = true;\n        }\n        this[PAUSED] = false;\n        this[FLOWING] = true;\n        this.emit('resume');\n        if (this[BUFFER].length)\n            this[FLUSH]();\n        else if (this[EOF])\n            this[MAYBE_EMIT_END]();\n        else\n            this.emit('drain');\n    }\n    /**\n     * Resume the stream if it is currently in a paused state\n     *\n     * If called when there are no pipe destinations or `data` event listeners,\n     * this will place the stream in a \"discarded\" state, where all data will\n     * be thrown away. The discarded state is removed if a pipe destination or\n     * data handler is added, if pause() is called, or if any synchronous or\n     * asynchronous iteration is started.\n     */\n    resume() {\n        return this[RESUME]();\n    }\n    /**\n     * Pause the stream\n     */\n    pause() {\n        this[FLOWING] = false;\n        this[PAUSED] = true;\n        this[DISCARDED] = false;\n    }\n    /**\n     * true if the stream has been forcibly destroyed\n     */\n    get destroyed() {\n        return this[DESTROYED];\n    }\n    /**\n     * true if the stream is currently in a flowing state, meaning that\n     * any writes will be immediately emitted.\n     */\n    get flowing() {\n        return this[FLOWING];\n    }\n    /**\n     * true if the stream is currently in a paused state\n     */\n    get paused() {\n        return this[PAUSED];\n    }\n    [BUFFERPUSH](chunk) {\n        if (this[OBJECTMODE])\n            this[BUFFERLENGTH] += 1;\n        else\n            this[BUFFERLENGTH] += chunk.length;\n        this[BUFFER].push(chunk);\n    }\n    [BUFFERSHIFT]() {\n        if (this[OBJECTMODE])\n            this[BUFFERLENGTH] -= 1;\n        else\n            this[BUFFERLENGTH] -= this[BUFFER][0].length;\n        return this[BUFFER].shift();\n    }\n    [FLUSH](noDrain = false) {\n        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&\n            this[BUFFER].length);\n        if (!noDrain && !this[BUFFER].length && !this[EOF])\n            this.emit('drain');\n    }\n    [FLUSHCHUNK](chunk) {\n        this.emit('data', chunk);\n        return this[FLOWING];\n    }\n    /**\n     * Pipe all data emitted by this stream into the destination provided.\n     *\n     * Triggers the flow of data.\n     */\n    pipe(dest, opts) {\n        if (this[DESTROYED])\n            return dest;\n        this[DISCARDED] = false;\n        const ended = this[EMITTED_END];\n        opts = opts || {};\n        if (dest === proc.stdout || dest === proc.stderr)\n            opts.end = false;\n        else\n            opts.end = opts.end !== false;\n        opts.proxyErrors = !!opts.proxyErrors;\n        // piping an ended stream ends immediately\n        if (ended) {\n            if (opts.end)\n                dest.end();\n        }\n        else {\n            // \"as\" here just ignores the WType, which pipes don't care about,\n            // since they're only consuming from us, and writing to the dest\n            this[PIPES].push(!opts.proxyErrors\n                ? new Pipe(this, dest, opts)\n                : new PipeProxyErrors(this, dest, opts));\n            if (this[ASYNC])\n                defer(() => this[RESUME]());\n            else\n                this[RESUME]();\n        }\n        return dest;\n    }\n    /**\n     * Fully unhook a piped destination stream.\n     *\n     * If the destination stream was the only consumer of this stream (ie,\n     * there are no other piped destinations or `'data'` event listeners)\n     * then the flow of data will stop until there is another consumer or\n     * {@link Minipass#resume} is explicitly called.\n     */\n    unpipe(dest) {\n        const p = this[PIPES].find(p => p.dest === dest);\n        if (p) {\n            if (this[PIPES].length === 1) {\n                if (this[FLOWING] && this[DATALISTENERS] === 0) {\n                    this[FLOWING] = false;\n                }\n                this[PIPES] = [];\n            }\n            else\n                this[PIPES].splice(this[PIPES].indexOf(p), 1);\n            p.unpipe();\n        }\n    }\n    /**\n     * Alias for {@link Minipass#on}\n     */\n    addListener(ev, handler) {\n        return this.on(ev, handler);\n    }\n    /**\n     * Mostly identical to `EventEmitter.on`, with the following\n     * behavior differences to prevent data loss and unnecessary hangs:\n     *\n     * - Adding a 'data' event handler will trigger the flow of data\n     *\n     * - Adding a 'readable' event handler when there is data waiting to be read\n     *   will cause 'readable' to be emitted immediately.\n     *\n     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has\n     *   already passed will cause the event to be emitted immediately and all\n     *   handlers removed.\n     *\n     * - Adding an 'error' event handler after an error has been emitted will\n     *   cause the event to be re-emitted immediately with the error previously\n     *   raised.\n     */\n    on(ev, handler) {\n        const ret = super.on(ev, handler);\n        if (ev === 'data') {\n            this[DISCARDED] = false;\n            this[DATALISTENERS]++;\n            if (!this[PIPES].length && !this[FLOWING]) {\n                this[RESUME]();\n            }\n        }\n        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {\n            super.emit('readable');\n        }\n        else if (isEndish(ev) && this[EMITTED_END]) {\n            super.emit(ev);\n            this.removeAllListeners(ev);\n        }\n        else if (ev === 'error' && this[EMITTED_ERROR]) {\n            const h = handler;\n            if (this[ASYNC])\n                defer(() => h.call(this, this[EMITTED_ERROR]));\n            else\n                h.call(this, this[EMITTED_ERROR]);\n        }\n        return ret;\n    }\n    /**\n     * Alias for {@link Minipass#off}\n     */\n    removeListener(ev, handler) {\n        return this.off(ev, handler);\n    }\n    /**\n     * Mostly identical to `EventEmitter.off`\n     *\n     * If a 'data' event handler is removed, and it was the last consumer\n     * (ie, there are no pipe destinations or other 'data' event listeners),\n     * then the flow of data will stop until there is another consumer or\n     * {@link Minipass#resume} is explicitly called.\n     */\n    off(ev, handler) {\n        const ret = super.off(ev, handler);\n        // if we previously had listeners, and now we don't, and we don't\n        // have any pipes, then stop the flow, unless it's been explicitly\n        // put in a discarded flowing state via stream.resume().\n        if (ev === 'data') {\n            this[DATALISTENERS] = this.listeners('data').length;\n            if (this[DATALISTENERS] === 0 &&\n                !this[DISCARDED] &&\n                !this[PIPES].length) {\n                this[FLOWING] = false;\n            }\n        }\n        return ret;\n    }\n    /**\n     * Mostly identical to `EventEmitter.removeAllListeners`\n     *\n     * If all 'data' event handlers are removed, and they were the last consumer\n     * (ie, there are no pipe destinations), then the flow of data will stop\n     * until there is another consumer or {@link Minipass#resume} is explicitly\n     * called.\n     */\n    removeAllListeners(ev) {\n        const ret = super.removeAllListeners(ev);\n        if (ev === 'data' || ev === undefined) {\n            this[DATALISTENERS] = 0;\n            if (!this[DISCARDED] && !this[PIPES].length) {\n                this[FLOWING] = false;\n            }\n        }\n        return ret;\n    }\n    /**\n     * true if the 'end' event has been emitted\n     */\n    get emittedEnd() {\n        return this[EMITTED_END];\n    }\n    [MAYBE_EMIT_END]() {\n        if (!this[EMITTING_END] &&\n            !this[EMITTED_END] &&\n            !this[DESTROYED] &&\n            this[BUFFER].length === 0 &&\n            this[EOF]) {\n            this[EMITTING_END] = true;\n            this.emit('end');\n            this.emit('prefinish');\n            this.emit('finish');\n            if (this[CLOSED])\n                this.emit('close');\n            this[EMITTING_END] = false;\n        }\n    }\n    /**\n     * Mostly identical to `EventEmitter.emit`, with the following\n     * behavior differences to prevent data loss and unnecessary hangs:\n     *\n     * If the stream has been destroyed, and the event is something other\n     * than 'close' or 'error', then `false` is returned and no handlers\n     * are called.\n     *\n     * If the event is 'end', and has already been emitted, then the event\n     * is ignored. If the stream is in a paused or non-flowing state, then\n     * the event will be deferred until data flow resumes. If the stream is\n     * async, then handlers will be called on the next tick rather than\n     * immediately.\n     *\n     * If the event is 'close', and 'end' has not yet been emitted, then\n     * the event will be deferred until after 'end' is emitted.\n     *\n     * If the event is 'error', and an AbortSignal was provided for the stream,\n     * and there are no listeners, then the event is ignored, matching the\n     * behavior of node core streams in the presense of an AbortSignal.\n     *\n     * If the event is 'finish' or 'prefinish', then all listeners will be\n     * removed after emitting the event, to prevent double-firing.\n     */\n    emit(ev, ...args) {\n        const data = args[0];\n        // error and close are only events allowed after calling destroy()\n        if (ev !== 'error' &&\n            ev !== 'close' &&\n            ev !== DESTROYED &&\n            this[DESTROYED]) {\n            return false;\n        }\n        else if (ev === 'data') {\n            return !this[OBJECTMODE] && !data\n                ? false\n                : this[ASYNC]\n                    ? (defer(() => this[EMITDATA](data)), true)\n                    : this[EMITDATA](data);\n        }\n        else if (ev === 'end') {\n            return this[EMITEND]();\n        }\n        else if (ev === 'close') {\n            this[CLOSED] = true;\n            // don't emit close before 'end' and 'finish'\n            if (!this[EMITTED_END] && !this[DESTROYED])\n                return false;\n            const ret = super.emit('close');\n            this.removeAllListeners('close');\n            return ret;\n        }\n        else if (ev === 'error') {\n            this[EMITTED_ERROR] = data;\n            super.emit(ERROR, data);\n            const ret = !this[SIGNAL] || this.listeners('error').length\n                ? super.emit('error', data)\n                : false;\n            this[MAYBE_EMIT_END]();\n            return ret;\n        }\n        else if (ev === 'resume') {\n            const ret = super.emit('resume');\n            this[MAYBE_EMIT_END]();\n            return ret;\n        }\n        else if (ev === 'finish' || ev === 'prefinish') {\n            const ret = super.emit(ev);\n            this.removeAllListeners(ev);\n            return ret;\n        }\n        // Some other unknown event\n        const ret = super.emit(ev, ...args);\n        this[MAYBE_EMIT_END]();\n        return ret;\n    }\n    [EMITDATA](data) {\n        for (const p of this[PIPES]) {\n            if (p.dest.write(data) === false)\n                this.pause();\n        }\n        const ret = this[DISCARDED] ? false : super.emit('data', data);\n        this[MAYBE_EMIT_END]();\n        return ret;\n    }\n    [EMITEND]() {\n        if (this[EMITTED_END])\n            return false;\n        this[EMITTED_END] = true;\n        this.readable = false;\n        return this[ASYNC]\n            ? (defer(() => this[EMITEND2]()), true)\n            : this[EMITEND2]();\n    }\n    [EMITEND2]() {\n        if (this[DECODER]) {\n            const data = this[DECODER].end();\n            if (data) {\n                for (const p of this[PIPES]) {\n                    p.dest.write(data);\n                }\n                if (!this[DISCARDED])\n                    super.emit('data', data);\n            }\n        }\n        for (const p of this[PIPES]) {\n            p.end();\n        }\n        const ret = super.emit('end');\n        this.removeAllListeners('end');\n        return ret;\n    }\n    /**\n     * Return a Promise that resolves to an array of all emitted data once\n     * the stream ends.\n     */\n    async collect() {\n        const buf = Object.assign([], {\n            dataLength: 0,\n        });\n        if (!this[OBJECTMODE])\n            buf.dataLength = 0;\n        // set the promise first, in case an error is raised\n        // by triggering the flow here.\n        const p = this.promise();\n        this.on('data', c => {\n            buf.push(c);\n            if (!this[OBJECTMODE])\n                buf.dataLength += c.length;\n        });\n        await p;\n        return buf;\n    }\n    /**\n     * Return a Promise that resolves to the concatenation of all emitted data\n     * once the stream ends.\n     *\n     * Not allowed on objectMode streams.\n     */\n    async concat() {\n        if (this[OBJECTMODE]) {\n            throw new Error('cannot concat in objectMode');\n        }\n        const buf = await this.collect();\n        return (this[ENCODING]\n            ? buf.join('')\n            : Buffer.concat(buf, buf.dataLength));\n    }\n    /**\n     * Return a void Promise that resolves once the stream ends.\n     */\n    async promise() {\n        return new Promise((resolve, reject) => {\n            this.on(DESTROYED, () => reject(new Error('stream destroyed')));\n            this.on('error', er => reject(er));\n            this.on('end', () => resolve());\n        });\n    }\n    /**\n     * Asynchronous `for await of` iteration.\n     *\n     * This will continue emitting all chunks until the stream terminates.\n     */\n    [Symbol.asyncIterator]() {\n        // set this up front, in case the consumer doesn't call next()\n        // right away.\n        this[DISCARDED] = false;\n        let stopped = false;\n        const stop = async () => {\n            this.pause();\n            stopped = true;\n            return { value: undefined, done: true };\n        };\n        const next = () => {\n            if (stopped)\n                return stop();\n            const res = this.read();\n            if (res !== null)\n                return Promise.resolve({ done: false, value: res });\n            if (this[EOF])\n                return stop();\n            let resolve;\n            let reject;\n            const onerr = (er) => {\n                this.off('data', ondata);\n                this.off('end', onend);\n                this.off(DESTROYED, ondestroy);\n                stop();\n                reject(er);\n            };\n            const ondata = (value) => {\n                this.off('error', onerr);\n                this.off('end', onend);\n                this.off(DESTROYED, ondestroy);\n                this.pause();\n                resolve({ value, done: !!this[EOF] });\n            };\n            const onend = () => {\n                this.off('error', onerr);\n                this.off('data', ondata);\n                this.off(DESTROYED, ondestroy);\n                stop();\n                resolve({ done: true, value: undefined });\n            };\n            const ondestroy = () => onerr(new Error('stream destroyed'));\n            return new Promise((res, rej) => {\n                reject = rej;\n                resolve = res;\n                this.once(DESTROYED, ondestroy);\n                this.once('error', onerr);\n                this.once('end', onend);\n                this.once('data', ondata);\n            });\n        };\n        return {\n            next,\n            throw: stop,\n            return: stop,\n            [Symbol.asyncIterator]() {\n                return this;\n            },\n        };\n    }\n    /**\n     * Synchronous `for of` iteration.\n     *\n     * The iteration will terminate when the internal buffer runs out, even\n     * if the stream has not yet terminated.\n     */\n    [Symbol.iterator]() {\n        // set this up front, in case the consumer doesn't call next()\n        // right away.\n        this[DISCARDED] = false;\n        let stopped = false;\n        const stop = () => {\n            this.pause();\n            this.off(ERROR, stop);\n            this.off(DESTROYED, stop);\n            this.off('end', stop);\n            stopped = true;\n            return { done: true, value: undefined };\n        };\n        const next = () => {\n            if (stopped)\n                return stop();\n            const value = this.read();\n            return value === null ? stop() : { done: false, value };\n        };\n        this.once('end', stop);\n        this.once(ERROR, stop);\n        this.once(DESTROYED, stop);\n        return {\n            next,\n            throw: stop,\n            return: stop,\n            [Symbol.iterator]() {\n                return this;\n            },\n        };\n    }\n    /**\n     * Destroy a stream, preventing it from being used for any further purpose.\n     *\n     * If the stream has a `close()` method, then it will be called on\n     * destruction.\n     *\n     * After destruction, any attempt to write data, read data, or emit most\n     * events will be ignored.\n     *\n     * If an error argument is provided, then it will be emitted in an\n     * 'error' event.\n     */\n    destroy(er) {\n        if (this[DESTROYED]) {\n            if (er)\n                this.emit('error', er);\n            else\n                this.emit(DESTROYED);\n            return this;\n        }\n        this[DESTROYED] = true;\n        this[DISCARDED] = true;\n        // throw away all buffered data, it's never coming out\n        this[BUFFER].length = 0;\n        this[BUFFERLENGTH] = 0;\n        const wc = this;\n        if (typeof wc.close === 'function' && !this[CLOSED])\n            wc.close();\n        if (er)\n            this.emit('error', er);\n        // if no error to emit, still reject pending promises\n        else\n            this.emit(DESTROYED);\n        return this;\n    }\n    /**\n     * Alias for {@link isStream}\n     *\n     * Former export location, maintained for backwards compatibility.\n     *\n     * @deprecated\n     */\n    static get isStream() {\n        return exports.isStream;\n    }\n}\nexports.Minipass = Minipass;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathScurry = exports.Path = exports.PathScurryDarwin = exports.PathScurryPosix = exports.PathScurryWin32 = exports.PathScurryBase = exports.PathPosix = exports.PathWin32 = exports.PathBase = exports.ChildrenCache = exports.ResolveCache = void 0;\nconst lru_cache_1 = require(\"lru-cache\");\nconst path_1 = require(\"path\");\nconst url_1 = require(\"url\");\nconst actualFS = __importStar(require(\"fs\"));\nconst fs_1 = require(\"fs\");\nconst realpathSync = fs_1.realpathSync.native;\n// TODO: test perf of fs/promises realpath vs realpathCB,\n// since the promises one uses realpath.native\nconst promises_1 = require(\"fs/promises\");\nconst minipass_1 = require(\"minipass\");\nconst defaultFS = {\n    lstatSync: fs_1.lstatSync,\n    readdir: fs_1.readdir,\n    readdirSync: fs_1.readdirSync,\n    readlinkSync: fs_1.readlinkSync,\n    realpathSync,\n    promises: {\n        lstat: promises_1.lstat,\n        readdir: promises_1.readdir,\n        readlink: promises_1.readlink,\n        realpath: promises_1.realpath,\n    },\n};\n// if they just gave us require('fs') then use our default\nconst fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS\n    ? defaultFS\n    : {\n        ...defaultFS,\n        ...fsOption,\n        promises: {\n            ...defaultFS.promises,\n            ...(fsOption.promises || {}),\n        },\n    };\n// turn something like //?/c:/ into c:\\\nconst uncDriveRegexp = /^\\\\\\\\\\?\\\\([a-z]:)\\\\?$/i;\nconst uncToDrive = (rootPath) => rootPath.replace(/\\//g, '\\\\').replace(uncDriveRegexp, '$1\\\\');\n// windows paths are separated by either / or \\\nconst eitherSep = /[\\\\\\/]/;\nconst UNKNOWN = 0; // may not even exist, for all we know\nconst IFIFO = 0b0001;\nconst IFCHR = 0b0010;\nconst IFDIR = 0b0100;\nconst IFBLK = 0b0110;\nconst IFREG = 0b1000;\nconst IFLNK = 0b1010;\nconst IFSOCK = 0b1100;\nconst IFMT = 0b1111;\n// mask to unset low 4 bits\nconst IFMT_UNKNOWN = ~IFMT;\n// set after successfully calling readdir() and getting entries.\nconst READDIR_CALLED = 16;\n// set after a successful lstat()\nconst LSTAT_CALLED = 32;\n// set if an entry (or one of its parents) is definitely not a dir\nconst ENOTDIR = 64;\n// set if an entry (or one of its parents) does not exist\n// (can also be set on lstat errors like EACCES or ENAMETOOLONG)\nconst ENOENT = 128;\n// cannot have child entries -- also verify &IFMT is either IFDIR or IFLNK\n// set if we fail to readlink\nconst ENOREADLINK = 256;\n// set if we know realpath() will fail\nconst ENOREALPATH = 512;\nconst ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;\nconst TYPEMASK = 1023;\nconst entToType = (s) => s.isFile()\n    ? IFREG\n    : s.isDirectory()\n        ? IFDIR\n        : s.isSymbolicLink()\n            ? IFLNK\n            : s.isCharacterDevice()\n                ? IFCHR\n                : s.isBlockDevice()\n                    ? IFBLK\n                    : s.isSocket()\n                        ? IFSOCK\n                        : s.isFIFO()\n                            ? IFIFO\n                            : UNKNOWN;\n// normalize unicode path names\nconst normalizeCache = new Map();\nconst normalize = (s) => {\n    const c = normalizeCache.get(s);\n    if (c)\n        return c;\n    const n = s.normalize('NFKD');\n    normalizeCache.set(s, n);\n    return n;\n};\nconst normalizeNocaseCache = new Map();\nconst normalizeNocase = (s) => {\n    const c = normalizeNocaseCache.get(s);\n    if (c)\n        return c;\n    const n = normalize(s.toLowerCase());\n    normalizeNocaseCache.set(s, n);\n    return n;\n};\n/**\n * An LRUCache for storing resolved path strings or Path objects.\n * @internal\n */\nclass ResolveCache extends lru_cache_1.LRUCache {\n    constructor() {\n        super({ max: 256 });\n    }\n}\nexports.ResolveCache = ResolveCache;\n// In order to prevent blowing out the js heap by allocating hundreds of\n// thousands of Path entries when walking extremely large trees, the \"children\"\n// in this tree are represented by storing an array of Path entries in an\n// LRUCache, indexed by the parent.  At any time, Path.children() may return an\n// empty array, indicating that it doesn't know about any of its children, and\n// thus has to rebuild that cache.  This is fine, it just means that we don't\n// benefit as much from having the cached entries, but huge directory walks\n// don't blow out the stack, and smaller ones are still as fast as possible.\n//\n//It does impose some complexity when building up the readdir data, because we\n//need to pass a reference to the children array that we started with.\n/**\n * an LRUCache for storing child entries.\n * @internal\n */\nclass ChildrenCache extends lru_cache_1.LRUCache {\n    constructor(maxSize = 16 * 1024) {\n        super({\n            maxSize,\n            // parent + children\n            sizeCalculation: a => a.length + 1,\n        });\n    }\n}\nexports.ChildrenCache = ChildrenCache;\nconst setAsCwd = Symbol('PathScurry setAsCwd');\n/**\n * Path objects are sort of like a super-powered\n * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent}\n *\n * Each one represents a single filesystem entry on disk, which may or may not\n * exist. It includes methods for reading various types of information via\n * lstat, readlink, and readdir, and caches all information to the greatest\n * degree possible.\n *\n * Note that fs operations that would normally throw will instead return an\n * \"empty\" value. This is in order to prevent excessive overhead from error\n * stack traces.\n */\nclass PathBase {\n    /**\n     * the basename of this path\n     *\n     * **Important**: *always* test the path name against any test string\n     * usingthe {@link isNamed} method, and not by directly comparing this\n     * string. Otherwise, unicode path strings that the system sees as identical\n     * will not be properly treated as the same path, leading to incorrect\n     * behavior and possible security issues.\n     */\n    name;\n    /**\n     * the Path entry corresponding to the path root.\n     *\n     * @internal\n     */\n    root;\n    /**\n     * All roots found within the current PathScurry family\n     *\n     * @internal\n     */\n    roots;\n    /**\n     * a reference to the parent path, or undefined in the case of root entries\n     *\n     * @internal\n     */\n    parent;\n    /**\n     * boolean indicating whether paths are compared case-insensitively\n     * @internal\n     */\n    nocase;\n    // potential default fs override\n    #fs;\n    // Stats fields\n    #dev;\n    get dev() {\n        return this.#dev;\n    }\n    #mode;\n    get mode() {\n        return this.#mode;\n    }\n    #nlink;\n    get nlink() {\n        return this.#nlink;\n    }\n    #uid;\n    get uid() {\n        return this.#uid;\n    }\n    #gid;\n    get gid() {\n        return this.#gid;\n    }\n    #rdev;\n    get rdev() {\n        return this.#rdev;\n    }\n    #blksize;\n    get blksize() {\n        return this.#blksize;\n    }\n    #ino;\n    get ino() {\n        return this.#ino;\n    }\n    #size;\n    get size() {\n        return this.#size;\n    }\n    #blocks;\n    get blocks() {\n        return this.#blocks;\n    }\n    #atimeMs;\n    get atimeMs() {\n        return this.#atimeMs;\n    }\n    #mtimeMs;\n    get mtimeMs() {\n        return this.#mtimeMs;\n    }\n    #ctimeMs;\n    get ctimeMs() {\n        return this.#ctimeMs;\n    }\n    #birthtimeMs;\n    get birthtimeMs() {\n        return this.#birthtimeMs;\n    }\n    #atime;\n    get atime() {\n        return this.#atime;\n    }\n    #mtime;\n    get mtime() {\n        return this.#mtime;\n    }\n    #ctime;\n    get ctime() {\n        return this.#ctime;\n    }\n    #birthtime;\n    get birthtime() {\n        return this.#birthtime;\n    }\n    #matchName;\n    #depth;\n    #fullpath;\n    #fullpathPosix;\n    #relative;\n    #relativePosix;\n    #type;\n    #children;\n    #linkTarget;\n    #realpath;\n    /**\n     * This property is for compatibility with the Dirent class as of\n     * Node v20, where Dirent['path'] refers to the path of the directory\n     * that was passed to readdir.  So, somewhat counterintuitively, this\n     * property refers to the *parent* path, not the path object itself.\n     * For root entries, it's the path to the entry itself.\n     */\n    get path() {\n        return (this.parent || this).fullpath();\n    }\n    /**\n     * Do not create new Path objects directly.  They should always be accessed\n     * via the PathScurry class or other methods on the Path class.\n     *\n     * @internal\n     */\n    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {\n        this.name = name;\n        this.#matchName = nocase ? normalizeNocase(name) : normalize(name);\n        this.#type = type & TYPEMASK;\n        this.nocase = nocase;\n        this.roots = roots;\n        this.root = root || this;\n        this.#children = children;\n        this.#fullpath = opts.fullpath;\n        this.#relative = opts.relative;\n        this.#relativePosix = opts.relativePosix;\n        this.parent = opts.parent;\n        if (this.parent) {\n            this.#fs = this.parent.#fs;\n        }\n        else {\n            this.#fs = fsFromOption(opts.fs);\n        }\n    }\n    /**\n     * Returns the depth of the Path object from its root.\n     *\n     * For example, a path at `/foo/bar` would have a depth of 2.\n     */\n    depth() {\n        if (this.#depth !== undefined)\n            return this.#depth;\n        if (!this.parent)\n            return (this.#depth = 0);\n        return (this.#depth = this.parent.depth() + 1);\n    }\n    /**\n     * @internal\n     */\n    childrenCache() {\n        return this.#children;\n    }\n    /**\n     * Get the Path object referenced by the string path, resolved from this Path\n     */\n    resolve(path) {\n        if (!path) {\n            return this;\n        }\n        const rootPath = this.getRootString(path);\n        const dir = path.substring(rootPath.length);\n        const dirParts = dir.split(this.splitSep);\n        const result = rootPath\n            ? this.getRoot(rootPath).#resolveParts(dirParts)\n            : this.#resolveParts(dirParts);\n        return result;\n    }\n    #resolveParts(dirParts) {\n        let p = this;\n        for (const part of dirParts) {\n            p = p.child(part);\n        }\n        return p;\n    }\n    /**\n     * Returns the cached children Path objects, if still available.  If they\n     * have fallen out of the cache, then returns an empty array, and resets the\n     * READDIR_CALLED bit, so that future calls to readdir() will require an fs\n     * lookup.\n     *\n     * @internal\n     */\n    children() {\n        const cached = this.#children.get(this);\n        if (cached) {\n            return cached;\n        }\n        const children = Object.assign([], { provisional: 0 });\n        this.#children.set(this, children);\n        this.#type &= ~READDIR_CALLED;\n        return children;\n    }\n    /**\n     * Resolves a path portion and returns or creates the child Path.\n     *\n     * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is\n     * `'..'`.\n     *\n     * This should not be called directly.  If `pathPart` contains any path\n     * separators, it will lead to unsafe undefined behavior.\n     *\n     * Use `Path.resolve()` instead.\n     *\n     * @internal\n     */\n    child(pathPart, opts) {\n        if (pathPart === '' || pathPart === '.') {\n            return this;\n        }\n        if (pathPart === '..') {\n            return this.parent || this;\n        }\n        // find the child\n        const children = this.children();\n        const name = this.nocase\n            ? normalizeNocase(pathPart)\n            : normalize(pathPart);\n        for (const p of children) {\n            if (p.#matchName === name) {\n                return p;\n            }\n        }\n        // didn't find it, create provisional child, since it might not\n        // actually exist.  If we know the parent isn't a dir, then\n        // in fact it CAN'T exist.\n        const s = this.parent ? this.sep : '';\n        const fullpath = this.#fullpath\n            ? this.#fullpath + s + pathPart\n            : undefined;\n        const pchild = this.newChild(pathPart, UNKNOWN, {\n            ...opts,\n            parent: this,\n            fullpath,\n        });\n        if (!this.canReaddir()) {\n            pchild.#type |= ENOENT;\n        }\n        // don't have to update provisional, because if we have real children,\n        // then provisional is set to children.length, otherwise a lower number\n        children.push(pchild);\n        return pchild;\n    }\n    /**\n     * The relative path from the cwd. If it does not share an ancestor with\n     * the cwd, then this ends up being equivalent to the fullpath()\n     */\n    relative() {\n        if (this.#relative !== undefined) {\n            return this.#relative;\n        }\n        const name = this.name;\n        const p = this.parent;\n        if (!p) {\n            return (this.#relative = this.name);\n        }\n        const pv = p.relative();\n        return pv + (!pv || !p.parent ? '' : this.sep) + name;\n    }\n    /**\n     * The relative path from the cwd, using / as the path separator.\n     * If it does not share an ancestor with\n     * the cwd, then this ends up being equivalent to the fullpathPosix()\n     * On posix systems, this is identical to relative().\n     */\n    relativePosix() {\n        if (this.sep === '/')\n            return this.relative();\n        if (this.#relativePosix !== undefined)\n            return this.#relativePosix;\n        const name = this.name;\n        const p = this.parent;\n        if (!p) {\n            return (this.#relativePosix = this.fullpathPosix());\n        }\n        const pv = p.relativePosix();\n        return pv + (!pv || !p.parent ? '' : '/') + name;\n    }\n    /**\n     * The fully resolved path string for this Path entry\n     */\n    fullpath() {\n        if (this.#fullpath !== undefined) {\n            return this.#fullpath;\n        }\n        const name = this.name;\n        const p = this.parent;\n        if (!p) {\n            return (this.#fullpath = this.name);\n        }\n        const pv = p.fullpath();\n        const fp = pv + (!p.parent ? '' : this.sep) + name;\n        return (this.#fullpath = fp);\n    }\n    /**\n     * On platforms other than windows, this is identical to fullpath.\n     *\n     * On windows, this is overridden to return the forward-slash form of the\n     * full UNC path.\n     */\n    fullpathPosix() {\n        if (this.#fullpathPosix !== undefined)\n            return this.#fullpathPosix;\n        if (this.sep === '/')\n            return (this.#fullpathPosix = this.fullpath());\n        if (!this.parent) {\n            const p = this.fullpath().replace(/\\\\/g, '/');\n            if (/^[a-z]:\\//i.test(p)) {\n                return (this.#fullpathPosix = `//?/${p}`);\n            }\n            else {\n                return (this.#fullpathPosix = p);\n            }\n        }\n        const p = this.parent;\n        const pfpp = p.fullpathPosix();\n        const fpp = pfpp + (!pfpp || !p.parent ? '' : '/') + this.name;\n        return (this.#fullpathPosix = fpp);\n    }\n    /**\n     * Is the Path of an unknown type?\n     *\n     * Note that we might know *something* about it if there has been a previous\n     * filesystem operation, for example that it does not exist, or is not a\n     * link, or whether it has child entries.\n     */\n    isUnknown() {\n        return (this.#type & IFMT) === UNKNOWN;\n    }\n    isType(type) {\n        return this[`is${type}`]();\n    }\n    getType() {\n        return this.isUnknown()\n            ? 'Unknown'\n            : this.isDirectory()\n                ? 'Directory'\n                : this.isFile()\n                    ? 'File'\n                    : this.isSymbolicLink()\n                        ? 'SymbolicLink'\n                        : this.isFIFO()\n                            ? 'FIFO'\n                            : this.isCharacterDevice()\n                                ? 'CharacterDevice'\n                                : this.isBlockDevice()\n                                    ? 'BlockDevice'\n                                    : /* c8 ignore start */ this.isSocket()\n                                        ? 'Socket'\n                                        : 'Unknown';\n        /* c8 ignore stop */\n    }\n    /**\n     * Is the Path a regular file?\n     */\n    isFile() {\n        return (this.#type & IFMT) === IFREG;\n    }\n    /**\n     * Is the Path a directory?\n     */\n    isDirectory() {\n        return (this.#type & IFMT) === IFDIR;\n    }\n    /**\n     * Is the path a character device?\n     */\n    isCharacterDevice() {\n        return (this.#type & IFMT) === IFCHR;\n    }\n    /**\n     * Is the path a block device?\n     */\n    isBlockDevice() {\n        return (this.#type & IFMT) === IFBLK;\n    }\n    /**\n     * Is the path a FIFO pipe?\n     */\n    isFIFO() {\n        return (this.#type & IFMT) === IFIFO;\n    }\n    /**\n     * Is the path a socket?\n     */\n    isSocket() {\n        return (this.#type & IFMT) === IFSOCK;\n    }\n    /**\n     * Is the path a symbolic link?\n     */\n    isSymbolicLink() {\n        return (this.#type & IFLNK) === IFLNK;\n    }\n    /**\n     * Return the entry if it has been subject of a successful lstat, or\n     * undefined otherwise.\n     *\n     * Does not read the filesystem, so an undefined result *could* simply\n     * mean that we haven't called lstat on it.\n     */\n    lstatCached() {\n        return this.#type & LSTAT_CALLED ? this : undefined;\n    }\n    /**\n     * Return the cached link target if the entry has been the subject of a\n     * successful readlink, or undefined otherwise.\n     *\n     * Does not read the filesystem, so an undefined result *could* just mean we\n     * don't have any cached data. Only use it if you are very sure that a\n     * readlink() has been called at some point.\n     */\n    readlinkCached() {\n        return this.#linkTarget;\n    }\n    /**\n     * Returns the cached realpath target if the entry has been the subject\n     * of a successful realpath, or undefined otherwise.\n     *\n     * Does not read the filesystem, so an undefined result *could* just mean we\n     * don't have any cached data. Only use it if you are very sure that a\n     * realpath() has been called at some point.\n     */\n    realpathCached() {\n        return this.#realpath;\n    }\n    /**\n     * Returns the cached child Path entries array if the entry has been the\n     * subject of a successful readdir(), or [] otherwise.\n     *\n     * Does not read the filesystem, so an empty array *could* just mean we\n     * don't have any cached data. Only use it if you are very sure that a\n     * readdir() has been called recently enough to still be valid.\n     */\n    readdirCached() {\n        const children = this.children();\n        return children.slice(0, children.provisional);\n    }\n    /**\n     * Return true if it's worth trying to readlink.  Ie, we don't (yet) have\n     * any indication that readlink will definitely fail.\n     *\n     * Returns false if the path is known to not be a symlink, if a previous\n     * readlink failed, or if the entry does not exist.\n     */\n    canReadlink() {\n        if (this.#linkTarget)\n            return true;\n        if (!this.parent)\n            return false;\n        // cases where it cannot possibly succeed\n        const ifmt = this.#type & IFMT;\n        return !((ifmt !== UNKNOWN && ifmt !== IFLNK) ||\n            this.#type & ENOREADLINK ||\n            this.#type & ENOENT);\n    }\n    /**\n     * Return true if readdir has previously been successfully called on this\n     * path, indicating that cachedReaddir() is likely valid.\n     */\n    calledReaddir() {\n        return !!(this.#type & READDIR_CALLED);\n    }\n    /**\n     * Returns true if the path is known to not exist. That is, a previous lstat\n     * or readdir failed to verify its existence when that would have been\n     * expected, or a parent entry was marked either enoent or enotdir.\n     */\n    isENOENT() {\n        return !!(this.#type & ENOENT);\n    }\n    /**\n     * Return true if the path is a match for the given path name.  This handles\n     * case sensitivity and unicode normalization.\n     *\n     * Note: even on case-sensitive systems, it is **not** safe to test the\n     * equality of the `.name` property to determine whether a given pathname\n     * matches, due to unicode normalization mismatches.\n     *\n     * Always use this method instead of testing the `path.name` property\n     * directly.\n     */\n    isNamed(n) {\n        return !this.nocase\n            ? this.#matchName === normalize(n)\n            : this.#matchName === normalizeNocase(n);\n    }\n    /**\n     * Return the Path object corresponding to the target of a symbolic link.\n     *\n     * If the Path is not a symbolic link, or if the readlink call fails for any\n     * reason, `undefined` is returned.\n     *\n     * Result is cached, and thus may be outdated if the filesystem is mutated.\n     */\n    async readlink() {\n        const target = this.#linkTarget;\n        if (target) {\n            return target;\n        }\n        if (!this.canReadlink()) {\n            return undefined;\n        }\n        /* c8 ignore start */\n        // already covered by the canReadlink test, here for ts grumples\n        if (!this.parent) {\n            return undefined;\n        }\n        /* c8 ignore stop */\n        try {\n            const read = await this.#fs.promises.readlink(this.fullpath());\n            const linkTarget = this.parent.resolve(read);\n            if (linkTarget) {\n                return (this.#linkTarget = linkTarget);\n            }\n        }\n        catch (er) {\n            this.#readlinkFail(er.code);\n            return undefined;\n        }\n    }\n    /**\n     * Synchronous {@link PathBase.readlink}\n     */\n    readlinkSync() {\n        const target = this.#linkTarget;\n        if (target) {\n            return target;\n        }\n        if (!this.canReadlink()) {\n            return undefined;\n        }\n        /* c8 ignore start */\n        // already covered by the canReadlink test, here for ts grumples\n        if (!this.parent) {\n            return undefined;\n        }\n        /* c8 ignore stop */\n        try {\n            const read = this.#fs.readlinkSync(this.fullpath());\n            const linkTarget = this.parent.resolve(read);\n            if (linkTarget) {\n                return (this.#linkTarget = linkTarget);\n            }\n        }\n        catch (er) {\n            this.#readlinkFail(er.code);\n            return undefined;\n        }\n    }\n    #readdirSuccess(children) {\n        // succeeded, mark readdir called bit\n        this.#type |= READDIR_CALLED;\n        // mark all remaining provisional children as ENOENT\n        for (let p = children.provisional; p < children.length; p++) {\n            children[p].#markENOENT();\n        }\n    }\n    #markENOENT() {\n        // mark as UNKNOWN and ENOENT\n        if (this.#type & ENOENT)\n            return;\n        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;\n        this.#markChildrenENOENT();\n    }\n    #markChildrenENOENT() {\n        // all children are provisional and do not exist\n        const children = this.children();\n        children.provisional = 0;\n        for (const p of children) {\n            p.#markENOENT();\n        }\n    }\n    #markENOREALPATH() {\n        this.#type |= ENOREALPATH;\n        this.#markENOTDIR();\n    }\n    // save the information when we know the entry is not a dir\n    #markENOTDIR() {\n        // entry is not a directory, so any children can't exist.\n        // this *should* be impossible, since any children created\n        // after it's been marked ENOTDIR should be marked ENOENT,\n        // so it won't even get to this point.\n        /* c8 ignore start */\n        if (this.#type & ENOTDIR)\n            return;\n        /* c8 ignore stop */\n        let t = this.#type;\n        // this could happen if we stat a dir, then delete it,\n        // then try to read it or one of its children.\n        if ((t & IFMT) === IFDIR)\n            t &= IFMT_UNKNOWN;\n        this.#type = t | ENOTDIR;\n        this.#markChildrenENOENT();\n    }\n    #readdirFail(code = '') {\n        // markENOTDIR and markENOENT also set provisional=0\n        if (code === 'ENOTDIR' || code === 'EPERM') {\n            this.#markENOTDIR();\n        }\n        else if (code === 'ENOENT') {\n            this.#markENOENT();\n        }\n        else {\n            this.children().provisional = 0;\n        }\n    }\n    #lstatFail(code = '') {\n        // Windows just raises ENOENT in this case, disable for win CI\n        /* c8 ignore start */\n        if (code === 'ENOTDIR') {\n            // already know it has a parent by this point\n            const p = this.parent;\n            p.#markENOTDIR();\n        }\n        else if (code === 'ENOENT') {\n            /* c8 ignore stop */\n            this.#markENOENT();\n        }\n    }\n    #readlinkFail(code = '') {\n        let ter = this.#type;\n        ter |= ENOREADLINK;\n        if (code === 'ENOENT')\n            ter |= ENOENT;\n        // windows gets a weird error when you try to readlink a file\n        if (code === 'EINVAL' || code === 'UNKNOWN') {\n            // exists, but not a symlink, we don't know WHAT it is, so remove\n            // all IFMT bits.\n            ter &= IFMT_UNKNOWN;\n        }\n        this.#type = ter;\n        // windows just gets ENOENT in this case.  We do cover the case,\n        // just disabled because it's impossible on Windows CI\n        /* c8 ignore start */\n        if (code === 'ENOTDIR' && this.parent) {\n            this.parent.#markENOTDIR();\n        }\n        /* c8 ignore stop */\n    }\n    #readdirAddChild(e, c) {\n        return (this.#readdirMaybePromoteChild(e, c) ||\n            this.#readdirAddNewChild(e, c));\n    }\n    #readdirAddNewChild(e, c) {\n        // alloc new entry at head, so it's never provisional\n        const type = entToType(e);\n        const child = this.newChild(e.name, type, { parent: this });\n        const ifmt = child.#type & IFMT;\n        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {\n            child.#type |= ENOTDIR;\n        }\n        c.unshift(child);\n        c.provisional++;\n        return child;\n    }\n    #readdirMaybePromoteChild(e, c) {\n        for (let p = c.provisional; p < c.length; p++) {\n            const pchild = c[p];\n            const name = this.nocase\n                ? normalizeNocase(e.name)\n                : normalize(e.name);\n            if (name !== pchild.#matchName) {\n                continue;\n            }\n            return this.#readdirPromoteChild(e, pchild, p, c);\n        }\n    }\n    #readdirPromoteChild(e, p, index, c) {\n        const v = p.name;\n        // retain any other flags, but set ifmt from dirent\n        p.#type = (p.#type & IFMT_UNKNOWN) | entToType(e);\n        // case sensitivity fixing when we learn the true name.\n        if (v !== e.name)\n            p.name = e.name;\n        // just advance provisional index (potentially off the list),\n        // otherwise we have to splice/pop it out and re-insert at head\n        if (index !== c.provisional) {\n            if (index === c.length - 1)\n                c.pop();\n            else\n                c.splice(index, 1);\n            c.unshift(p);\n        }\n        c.provisional++;\n        return p;\n    }\n    /**\n     * Call lstat() on this Path, and update all known information that can be\n     * determined.\n     *\n     * Note that unlike `fs.lstat()`, the returned value does not contain some\n     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that\n     * information is required, you will need to call `fs.lstat` yourself.\n     *\n     * If the Path refers to a nonexistent file, or if the lstat call fails for\n     * any reason, `undefined` is returned.  Otherwise the updated Path object is\n     * returned.\n     *\n     * Results are cached, and thus may be out of date if the filesystem is\n     * mutated.\n     */\n    async lstat() {\n        if ((this.#type & ENOENT) === 0) {\n            try {\n                this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));\n                return this;\n            }\n            catch (er) {\n                this.#lstatFail(er.code);\n            }\n        }\n    }\n    /**\n     * synchronous {@link PathBase.lstat}\n     */\n    lstatSync() {\n        if ((this.#type & ENOENT) === 0) {\n            try {\n                this.#applyStat(this.#fs.lstatSync(this.fullpath()));\n                return this;\n            }\n            catch (er) {\n                this.#lstatFail(er.code);\n            }\n        }\n    }\n    #applyStat(st) {\n        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid, } = st;\n        this.#atime = atime;\n        this.#atimeMs = atimeMs;\n        this.#birthtime = birthtime;\n        this.#birthtimeMs = birthtimeMs;\n        this.#blksize = blksize;\n        this.#blocks = blocks;\n        this.#ctime = ctime;\n        this.#ctimeMs = ctimeMs;\n        this.#dev = dev;\n        this.#gid = gid;\n        this.#ino = ino;\n        this.#mode = mode;\n        this.#mtime = mtime;\n        this.#mtimeMs = mtimeMs;\n        this.#nlink = nlink;\n        this.#rdev = rdev;\n        this.#size = size;\n        this.#uid = uid;\n        const ifmt = entToType(st);\n        // retain any other flags, but set the ifmt\n        this.#type = (this.#type & IFMT_UNKNOWN) | ifmt | LSTAT_CALLED;\n        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {\n            this.#type |= ENOTDIR;\n        }\n    }\n    #onReaddirCB = [];\n    #readdirCBInFlight = false;\n    #callOnReaddirCB(children) {\n        this.#readdirCBInFlight = false;\n        const cbs = this.#onReaddirCB.slice();\n        this.#onReaddirCB.length = 0;\n        cbs.forEach(cb => cb(null, children));\n    }\n    /**\n     * Standard node-style callback interface to get list of directory entries.\n     *\n     * If the Path cannot or does not contain any children, then an empty array\n     * is returned.\n     *\n     * Results are cached, and thus may be out of date if the filesystem is\n     * mutated.\n     *\n     * @param cb The callback called with (er, entries).  Note that the `er`\n     * param is somewhat extraneous, as all readdir() errors are handled and\n     * simply result in an empty set of entries being returned.\n     * @param allowZalgo Boolean indicating that immediately known results should\n     * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release\n     * zalgo at your peril, the dark pony lord is devious and unforgiving.\n     */\n    readdirCB(cb, allowZalgo = false) {\n        if (!this.canReaddir()) {\n            if (allowZalgo)\n                cb(null, []);\n            else\n                queueMicrotask(() => cb(null, []));\n            return;\n        }\n        const children = this.children();\n        if (this.calledReaddir()) {\n            const c = children.slice(0, children.provisional);\n            if (allowZalgo)\n                cb(null, c);\n            else\n                queueMicrotask(() => cb(null, c));\n            return;\n        }\n        // don't have to worry about zalgo at this point.\n        this.#onReaddirCB.push(cb);\n        if (this.#readdirCBInFlight) {\n            return;\n        }\n        this.#readdirCBInFlight = true;\n        // else read the directory, fill up children\n        // de-provisionalize any provisional children.\n        const fullpath = this.fullpath();\n        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {\n            if (er) {\n                this.#readdirFail(er.code);\n                children.provisional = 0;\n            }\n            else {\n                // if we didn't get an error, we always get entries.\n                //@ts-ignore\n                for (const e of entries) {\n                    this.#readdirAddChild(e, children);\n                }\n                this.#readdirSuccess(children);\n            }\n            this.#callOnReaddirCB(children.slice(0, children.provisional));\n            return;\n        });\n    }\n    #asyncReaddirInFlight;\n    /**\n     * Return an array of known child entries.\n     *\n     * If the Path cannot or does not contain any children, then an empty array\n     * is returned.\n     *\n     * Results are cached, and thus may be out of date if the filesystem is\n     * mutated.\n     */\n    async readdir() {\n        if (!this.canReaddir()) {\n            return [];\n        }\n        const children = this.children();\n        if (this.calledReaddir()) {\n            return children.slice(0, children.provisional);\n        }\n        // else read the directory, fill up children\n        // de-provisionalize any provisional children.\n        const fullpath = this.fullpath();\n        if (this.#asyncReaddirInFlight) {\n            await this.#asyncReaddirInFlight;\n        }\n        else {\n            /* c8 ignore start */\n            let resolve = () => { };\n            /* c8 ignore stop */\n            this.#asyncReaddirInFlight = new Promise(res => (resolve = res));\n            try {\n                for (const e of await this.#fs.promises.readdir(fullpath, {\n                    withFileTypes: true,\n                })) {\n                    this.#readdirAddChild(e, children);\n                }\n                this.#readdirSuccess(children);\n            }\n            catch (er) {\n                this.#readdirFail(er.code);\n                children.provisional = 0;\n            }\n            this.#asyncReaddirInFlight = undefined;\n            resolve();\n        }\n        return children.slice(0, children.provisional);\n    }\n    /**\n     * synchronous {@link PathBase.readdir}\n     */\n    readdirSync() {\n        if (!this.canReaddir()) {\n            return [];\n        }\n        const children = this.children();\n        if (this.calledReaddir()) {\n            return children.slice(0, children.provisional);\n        }\n        // else read the directory, fill up children\n        // de-provisionalize any provisional children.\n        const fullpath = this.fullpath();\n        try {\n            for (const e of this.#fs.readdirSync(fullpath, {\n                withFileTypes: true,\n            })) {\n                this.#readdirAddChild(e, children);\n            }\n            this.#readdirSuccess(children);\n        }\n        catch (er) {\n            this.#readdirFail(er.code);\n            children.provisional = 0;\n        }\n        return children.slice(0, children.provisional);\n    }\n    canReaddir() {\n        if (this.#type & ENOCHILD)\n            return false;\n        const ifmt = IFMT & this.#type;\n        // we always set ENOTDIR when setting IFMT, so should be impossible\n        /* c8 ignore start */\n        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {\n            return false;\n        }\n        /* c8 ignore stop */\n        return true;\n    }\n    shouldWalk(dirs, walkFilter) {\n        return ((this.#type & IFDIR) === IFDIR &&\n            !(this.#type & ENOCHILD) &&\n            !dirs.has(this) &&\n            (!walkFilter || walkFilter(this)));\n    }\n    /**\n     * Return the Path object corresponding to path as resolved\n     * by realpath(3).\n     *\n     * If the realpath call fails for any reason, `undefined` is returned.\n     *\n     * Result is cached, and thus may be outdated if the filesystem is mutated.\n     * On success, returns a Path object.\n     */\n    async realpath() {\n        if (this.#realpath)\n            return this.#realpath;\n        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)\n            return undefined;\n        try {\n            const rp = await this.#fs.promises.realpath(this.fullpath());\n            return (this.#realpath = this.resolve(rp));\n        }\n        catch (_) {\n            this.#markENOREALPATH();\n        }\n    }\n    /**\n     * Synchronous {@link realpath}\n     */\n    realpathSync() {\n        if (this.#realpath)\n            return this.#realpath;\n        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)\n            return undefined;\n        try {\n            const rp = this.#fs.realpathSync(this.fullpath());\n            return (this.#realpath = this.resolve(rp));\n        }\n        catch (_) {\n            this.#markENOREALPATH();\n        }\n    }\n    /**\n     * Internal method to mark this Path object as the scurry cwd,\n     * called by {@link PathScurry#chdir}\n     *\n     * @internal\n     */\n    [setAsCwd](oldCwd) {\n        if (oldCwd === this)\n            return;\n        const changed = new Set([]);\n        let rp = [];\n        let p = this;\n        while (p && p.parent) {\n            changed.add(p);\n            p.#relative = rp.join(this.sep);\n            p.#relativePosix = rp.join('/');\n            p = p.parent;\n            rp.push('..');\n        }\n        // now un-memoize parents of old cwd\n        p = oldCwd;\n        while (p && p.parent && !changed.has(p)) {\n            p.#relative = undefined;\n            p.#relativePosix = undefined;\n            p = p.parent;\n        }\n    }\n}\nexports.PathBase = PathBase;\n/**\n * Path class used on win32 systems\n *\n * Uses `'\\\\'` as the path separator for returned paths, either `'\\\\'` or `'/'`\n * as the path separator for parsing paths.\n */\nclass PathWin32 extends PathBase {\n    /**\n     * Separator for generating path strings.\n     */\n    sep = '\\\\';\n    /**\n     * Separator for parsing path strings.\n     */\n    splitSep = eitherSep;\n    /**\n     * Do not create new Path objects directly.  They should always be accessed\n     * via the PathScurry class or other methods on the Path class.\n     *\n     * @internal\n     */\n    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {\n        super(name, type, root, roots, nocase, children, opts);\n    }\n    /**\n     * @internal\n     */\n    newChild(name, type = UNKNOWN, opts = {}) {\n        return new PathWin32(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);\n    }\n    /**\n     * @internal\n     */\n    getRootString(path) {\n        return path_1.win32.parse(path).root;\n    }\n    /**\n     * @internal\n     */\n    getRoot(rootPath) {\n        rootPath = uncToDrive(rootPath.toUpperCase());\n        if (rootPath === this.root.name) {\n            return this.root;\n        }\n        // ok, not that one, check if it matches another we know about\n        for (const [compare, root] of Object.entries(this.roots)) {\n            if (this.sameRoot(rootPath, compare)) {\n                return (this.roots[rootPath] = root);\n            }\n        }\n        // otherwise, have to create a new one.\n        return (this.roots[rootPath] = new PathScurryWin32(rootPath, this).root);\n    }\n    /**\n     * @internal\n     */\n    sameRoot(rootPath, compare = this.root.name) {\n        // windows can (rarely) have case-sensitive filesystem, but\n        // UNC and drive letters are always case-insensitive, and canonically\n        // represented uppercase.\n        rootPath = rootPath\n            .toUpperCase()\n            .replace(/\\//g, '\\\\')\n            .replace(uncDriveRegexp, '$1\\\\');\n        return rootPath === compare;\n    }\n}\nexports.PathWin32 = PathWin32;\n/**\n * Path class used on all posix systems.\n *\n * Uses `'/'` as the path separator.\n */\nclass PathPosix extends PathBase {\n    /**\n     * separator for parsing path strings\n     */\n    splitSep = '/';\n    /**\n     * separator for generating path strings\n     */\n    sep = '/';\n    /**\n     * Do not create new Path objects directly.  They should always be accessed\n     * via the PathScurry class or other methods on the Path class.\n     *\n     * @internal\n     */\n    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {\n        super(name, type, root, roots, nocase, children, opts);\n    }\n    /**\n     * @internal\n     */\n    getRootString(path) {\n        return path.startsWith('/') ? '/' : '';\n    }\n    /**\n     * @internal\n     */\n    getRoot(_rootPath) {\n        return this.root;\n    }\n    /**\n     * @internal\n     */\n    newChild(name, type = UNKNOWN, opts = {}) {\n        return new PathPosix(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);\n    }\n}\nexports.PathPosix = PathPosix;\n/**\n * The base class for all PathScurry classes, providing the interface for path\n * resolution and filesystem operations.\n *\n * Typically, you should *not* instantiate this class directly, but rather one\n * of the platform-specific classes, or the exported {@link PathScurry} which\n * defaults to the current platform.\n */\nclass PathScurryBase {\n    /**\n     * The root Path entry for the current working directory of this Scurry\n     */\n    root;\n    /**\n     * The string path for the root of this Scurry's current working directory\n     */\n    rootPath;\n    /**\n     * A collection of all roots encountered, referenced by rootPath\n     */\n    roots;\n    /**\n     * The Path entry corresponding to this PathScurry's current working directory.\n     */\n    cwd;\n    #resolveCache;\n    #resolvePosixCache;\n    #children;\n    /**\n     * Perform path comparisons case-insensitively.\n     *\n     * Defaults true on Darwin and Windows systems, false elsewhere.\n     */\n    nocase;\n    #fs;\n    /**\n     * This class should not be instantiated directly.\n     *\n     * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry\n     *\n     * @internal\n     */\n    constructor(cwd = process.cwd(), pathImpl, sep, { nocase, childrenCacheSize = 16 * 1024, fs = defaultFS, } = {}) {\n        this.#fs = fsFromOption(fs);\n        if (cwd instanceof URL || cwd.startsWith('file://')) {\n            cwd = (0, url_1.fileURLToPath)(cwd);\n        }\n        // resolve and split root, and then add to the store.\n        // this is the only time we call path.resolve()\n        const cwdPath = pathImpl.resolve(cwd);\n        this.roots = Object.create(null);\n        this.rootPath = this.parseRootPath(cwdPath);\n        this.#resolveCache = new ResolveCache();\n        this.#resolvePosixCache = new ResolveCache();\n        this.#children = new ChildrenCache(childrenCacheSize);\n        const split = cwdPath.substring(this.rootPath.length).split(sep);\n        // resolve('/') leaves '', splits to [''], we don't want that.\n        if (split.length === 1 && !split[0]) {\n            split.pop();\n        }\n        /* c8 ignore start */\n        if (nocase === undefined) {\n            throw new TypeError('must provide nocase setting to PathScurryBase ctor');\n        }\n        /* c8 ignore stop */\n        this.nocase = nocase;\n        this.root = this.newRoot(this.#fs);\n        this.roots[this.rootPath] = this.root;\n        let prev = this.root;\n        let len = split.length - 1;\n        const joinSep = pathImpl.sep;\n        let abs = this.rootPath;\n        let sawFirst = false;\n        for (const part of split) {\n            const l = len--;\n            prev = prev.child(part, {\n                relative: new Array(l).fill('..').join(joinSep),\n                relativePosix: new Array(l).fill('..').join('/'),\n                fullpath: (abs += (sawFirst ? '' : joinSep) + part),\n            });\n            sawFirst = true;\n        }\n        this.cwd = prev;\n    }\n    /**\n     * Get the depth of a provided path, string, or the cwd\n     */\n    depth(path = this.cwd) {\n        if (typeof path === 'string') {\n            path = this.cwd.resolve(path);\n        }\n        return path.depth();\n    }\n    /**\n     * Return the cache of child entries.  Exposed so subclasses can create\n     * child Path objects in a platform-specific way.\n     *\n     * @internal\n     */\n    childrenCache() {\n        return this.#children;\n    }\n    /**\n     * Resolve one or more path strings to a resolved string\n     *\n     * Same interface as require('path').resolve.\n     *\n     * Much faster than path.resolve() when called multiple times for the same\n     * path, because the resolved Path objects are cached.  Much slower\n     * otherwise.\n     */\n    resolve(...paths) {\n        // first figure out the minimum number of paths we have to test\n        // we always start at cwd, but any absolutes will bump the start\n        let r = '';\n        for (let i = paths.length - 1; i >= 0; i--) {\n            const p = paths[i];\n            if (!p || p === '.')\n                continue;\n            r = r ? `${p}/${r}` : p;\n            if (this.isAbsolute(p)) {\n                break;\n            }\n        }\n        const cached = this.#resolveCache.get(r);\n        if (cached !== undefined) {\n            return cached;\n        }\n        const result = this.cwd.resolve(r).fullpath();\n        this.#resolveCache.set(r, result);\n        return result;\n    }\n    /**\n     * Resolve one or more path strings to a resolved string, returning\n     * the posix path.  Identical to .resolve() on posix systems, but on\n     * windows will return a forward-slash separated UNC path.\n     *\n     * Same interface as require('path').resolve.\n     *\n     * Much faster than path.resolve() when called multiple times for the same\n     * path, because the resolved Path objects are cached.  Much slower\n     * otherwise.\n     */\n    resolvePosix(...paths) {\n        // first figure out the minimum number of paths we have to test\n        // we always start at cwd, but any absolutes will bump the start\n        let r = '';\n        for (let i = paths.length - 1; i >= 0; i--) {\n            const p = paths[i];\n            if (!p || p === '.')\n                continue;\n            r = r ? `${p}/${r}` : p;\n            if (this.isAbsolute(p)) {\n                break;\n            }\n        }\n        const cached = this.#resolvePosixCache.get(r);\n        if (cached !== undefined) {\n            return cached;\n        }\n        const result = this.cwd.resolve(r).fullpathPosix();\n        this.#resolvePosixCache.set(r, result);\n        return result;\n    }\n    /**\n     * find the relative path from the cwd to the supplied path string or entry\n     */\n    relative(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return entry.relative();\n    }\n    /**\n     * find the relative path from the cwd to the supplied path string or\n     * entry, using / as the path delimiter, even on Windows.\n     */\n    relativePosix(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return entry.relativePosix();\n    }\n    /**\n     * Return the basename for the provided string or Path object\n     */\n    basename(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return entry.name;\n    }\n    /**\n     * Return the dirname for the provided string or Path object\n     */\n    dirname(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return (entry.parent || entry).fullpath();\n    }\n    async readdir(entry = this.cwd, opts = {\n        withFileTypes: true,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes } = opts;\n        if (!entry.canReaddir()) {\n            return [];\n        }\n        else {\n            const p = await entry.readdir();\n            return withFileTypes ? p : p.map(e => e.name);\n        }\n    }\n    readdirSync(entry = this.cwd, opts = {\n        withFileTypes: true,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true } = opts;\n        if (!entry.canReaddir()) {\n            return [];\n        }\n        else if (withFileTypes) {\n            return entry.readdirSync();\n        }\n        else {\n            return entry.readdirSync().map(e => e.name);\n        }\n    }\n    /**\n     * Call lstat() on the string or Path object, and update all known\n     * information that can be determined.\n     *\n     * Note that unlike `fs.lstat()`, the returned value does not contain some\n     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that\n     * information is required, you will need to call `fs.lstat` yourself.\n     *\n     * If the Path refers to a nonexistent file, or if the lstat call fails for\n     * any reason, `undefined` is returned.  Otherwise the updated Path object is\n     * returned.\n     *\n     * Results are cached, and thus may be out of date if the filesystem is\n     * mutated.\n     */\n    async lstat(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return entry.lstat();\n    }\n    /**\n     * synchronous {@link PathScurryBase.lstat}\n     */\n    lstatSync(entry = this.cwd) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        return entry.lstatSync();\n    }\n    async readlink(entry = this.cwd, { withFileTypes } = {\n        withFileTypes: false,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            withFileTypes = entry.withFileTypes;\n            entry = this.cwd;\n        }\n        const e = await entry.readlink();\n        return withFileTypes ? e : e?.fullpath();\n    }\n    readlinkSync(entry = this.cwd, { withFileTypes } = {\n        withFileTypes: false,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            withFileTypes = entry.withFileTypes;\n            entry = this.cwd;\n        }\n        const e = entry.readlinkSync();\n        return withFileTypes ? e : e?.fullpath();\n    }\n    async realpath(entry = this.cwd, { withFileTypes } = {\n        withFileTypes: false,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            withFileTypes = entry.withFileTypes;\n            entry = this.cwd;\n        }\n        const e = await entry.realpath();\n        return withFileTypes ? e : e?.fullpath();\n    }\n    realpathSync(entry = this.cwd, { withFileTypes } = {\n        withFileTypes: false,\n    }) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            withFileTypes = entry.withFileTypes;\n            entry = this.cwd;\n        }\n        const e = entry.realpathSync();\n        return withFileTypes ? e : e?.fullpath();\n    }\n    async walk(entry = this.cwd, opts = {}) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;\n        const results = [];\n        if (!filter || filter(entry)) {\n            results.push(withFileTypes ? entry : entry.fullpath());\n        }\n        const dirs = new Set();\n        const walk = (dir, cb) => {\n            dirs.add(dir);\n            dir.readdirCB((er, entries) => {\n                /* c8 ignore start */\n                if (er) {\n                    return cb(er);\n                }\n                /* c8 ignore stop */\n                let len = entries.length;\n                if (!len)\n                    return cb();\n                const next = () => {\n                    if (--len === 0) {\n                        cb();\n                    }\n                };\n                for (const e of entries) {\n                    if (!filter || filter(e)) {\n                        results.push(withFileTypes ? e : e.fullpath());\n                    }\n                    if (follow && e.isSymbolicLink()) {\n                        e.realpath()\n                            .then(r => (r?.isUnknown() ? r.lstat() : r))\n                            .then(r => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());\n                    }\n                    else {\n                        if (e.shouldWalk(dirs, walkFilter)) {\n                            walk(e, next);\n                        }\n                        else {\n                            next();\n                        }\n                    }\n                }\n            }, true); // zalgooooooo\n        };\n        const start = entry;\n        return new Promise((res, rej) => {\n            walk(start, er => {\n                /* c8 ignore start */\n                if (er)\n                    return rej(er);\n                /* c8 ignore stop */\n                res(results);\n            });\n        });\n    }\n    walkSync(entry = this.cwd, opts = {}) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;\n        const results = [];\n        if (!filter || filter(entry)) {\n            results.push(withFileTypes ? entry : entry.fullpath());\n        }\n        const dirs = new Set([entry]);\n        for (const dir of dirs) {\n            const entries = dir.readdirSync();\n            for (const e of entries) {\n                if (!filter || filter(e)) {\n                    results.push(withFileTypes ? e : e.fullpath());\n                }\n                let r = e;\n                if (e.isSymbolicLink()) {\n                    if (!(follow && (r = e.realpathSync())))\n                        continue;\n                    if (r.isUnknown())\n                        r.lstatSync();\n                }\n                if (r.shouldWalk(dirs, walkFilter)) {\n                    dirs.add(r);\n                }\n            }\n        }\n        return results;\n    }\n    /**\n     * Support for `for await`\n     *\n     * Alias for {@link PathScurryBase.iterate}\n     *\n     * Note: As of Node 19, this is very slow, compared to other methods of\n     * walking.  Consider using {@link PathScurryBase.stream} if memory overhead\n     * and backpressure are concerns, or {@link PathScurryBase.walk} if not.\n     */\n    [Symbol.asyncIterator]() {\n        return this.iterate();\n    }\n    iterate(entry = this.cwd, options = {}) {\n        // iterating async over the stream is significantly more performant,\n        // especially in the warm-cache scenario, because it buffers up directory\n        // entries in the background instead of waiting for a yield for each one.\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            options = entry;\n            entry = this.cwd;\n        }\n        return this.stream(entry, options)[Symbol.asyncIterator]();\n    }\n    /**\n     * Iterating over a PathScurry performs a synchronous walk.\n     *\n     * Alias for {@link PathScurryBase.iterateSync}\n     */\n    [Symbol.iterator]() {\n        return this.iterateSync();\n    }\n    *iterateSync(entry = this.cwd, opts = {}) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;\n        if (!filter || filter(entry)) {\n            yield withFileTypes ? entry : entry.fullpath();\n        }\n        const dirs = new Set([entry]);\n        for (const dir of dirs) {\n            const entries = dir.readdirSync();\n            for (const e of entries) {\n                if (!filter || filter(e)) {\n                    yield withFileTypes ? e : e.fullpath();\n                }\n                let r = e;\n                if (e.isSymbolicLink()) {\n                    if (!(follow && (r = e.realpathSync())))\n                        continue;\n                    if (r.isUnknown())\n                        r.lstatSync();\n                }\n                if (r.shouldWalk(dirs, walkFilter)) {\n                    dirs.add(r);\n                }\n            }\n        }\n    }\n    stream(entry = this.cwd, opts = {}) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;\n        const results = new minipass_1.Minipass({ objectMode: true });\n        if (!filter || filter(entry)) {\n            results.write(withFileTypes ? entry : entry.fullpath());\n        }\n        const dirs = new Set();\n        const queue = [entry];\n        let processing = 0;\n        const process = () => {\n            let paused = false;\n            while (!paused) {\n                const dir = queue.shift();\n                if (!dir) {\n                    if (processing === 0)\n                        results.end();\n                    return;\n                }\n                processing++;\n                dirs.add(dir);\n                const onReaddir = (er, entries, didRealpaths = false) => {\n                    /* c8 ignore start */\n                    if (er)\n                        return results.emit('error', er);\n                    /* c8 ignore stop */\n                    if (follow && !didRealpaths) {\n                        const promises = [];\n                        for (const e of entries) {\n                            if (e.isSymbolicLink()) {\n                                promises.push(e\n                                    .realpath()\n                                    .then((r) => r?.isUnknown() ? r.lstat() : r));\n                            }\n                        }\n                        if (promises.length) {\n                            Promise.all(promises).then(() => onReaddir(null, entries, true));\n                            return;\n                        }\n                    }\n                    for (const e of entries) {\n                        if (e && (!filter || filter(e))) {\n                            if (!results.write(withFileTypes ? e : e.fullpath())) {\n                                paused = true;\n                            }\n                        }\n                    }\n                    processing--;\n                    for (const e of entries) {\n                        const r = e.realpathCached() || e;\n                        if (r.shouldWalk(dirs, walkFilter)) {\n                            queue.push(r);\n                        }\n                    }\n                    if (paused && !results.flowing) {\n                        results.once('drain', process);\n                    }\n                    else if (!sync) {\n                        process();\n                    }\n                };\n                // zalgo containment\n                let sync = true;\n                dir.readdirCB(onReaddir, true);\n                sync = false;\n            }\n        };\n        process();\n        return results;\n    }\n    streamSync(entry = this.cwd, opts = {}) {\n        if (typeof entry === 'string') {\n            entry = this.cwd.resolve(entry);\n        }\n        else if (!(entry instanceof PathBase)) {\n            opts = entry;\n            entry = this.cwd;\n        }\n        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;\n        const results = new minipass_1.Minipass({ objectMode: true });\n        const dirs = new Set();\n        if (!filter || filter(entry)) {\n            results.write(withFileTypes ? entry : entry.fullpath());\n        }\n        const queue = [entry];\n        let processing = 0;\n        const process = () => {\n            let paused = false;\n            while (!paused) {\n                const dir = queue.shift();\n                if (!dir) {\n                    if (processing === 0)\n                        results.end();\n                    return;\n                }\n                processing++;\n                dirs.add(dir);\n                const entries = dir.readdirSync();\n                for (const e of entries) {\n                    if (!filter || filter(e)) {\n                        if (!results.write(withFileTypes ? e : e.fullpath())) {\n                            paused = true;\n                        }\n                    }\n                }\n                processing--;\n                for (const e of entries) {\n                    let r = e;\n                    if (e.isSymbolicLink()) {\n                        if (!(follow && (r = e.realpathSync())))\n                            continue;\n                        if (r.isUnknown())\n                            r.lstatSync();\n                    }\n                    if (r.shouldWalk(dirs, walkFilter)) {\n                        queue.push(r);\n                    }\n                }\n            }\n            if (paused && !results.flowing)\n                results.once('drain', process);\n        };\n        process();\n        return results;\n    }\n    chdir(path = this.cwd) {\n        const oldCwd = this.cwd;\n        this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path;\n        this.cwd[setAsCwd](oldCwd);\n    }\n}\nexports.PathScurryBase = PathScurryBase;\n/**\n * Windows implementation of {@link PathScurryBase}\n *\n * Defaults to case insensitve, uses `'\\\\'` to generate path strings.  Uses\n * {@link PathWin32} for Path objects.\n */\nclass PathScurryWin32 extends PathScurryBase {\n    /**\n     * separator for generating path strings\n     */\n    sep = '\\\\';\n    constructor(cwd = process.cwd(), opts = {}) {\n        const { nocase = true } = opts;\n        super(cwd, path_1.win32, '\\\\', { ...opts, nocase });\n        this.nocase = nocase;\n        for (let p = this.cwd; p; p = p.parent) {\n            p.nocase = this.nocase;\n        }\n    }\n    /**\n     * @internal\n     */\n    parseRootPath(dir) {\n        // if the path starts with a single separator, it's not a UNC, and we'll\n        // just get separator as the root, and driveFromUNC will return \\\n        // In that case, mount \\ on the root from the cwd.\n        return path_1.win32.parse(dir).root.toUpperCase();\n    }\n    /**\n     * @internal\n     */\n    newRoot(fs) {\n        return new PathWin32(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });\n    }\n    /**\n     * Return true if the provided path string is an absolute path\n     */\n    isAbsolute(p) {\n        return (p.startsWith('/') || p.startsWith('\\\\') || /^[a-z]:(\\/|\\\\)/i.test(p));\n    }\n}\nexports.PathScurryWin32 = PathScurryWin32;\n/**\n * {@link PathScurryBase} implementation for all posix systems other than Darwin.\n *\n * Defaults to case-sensitive matching, uses `'/'` to generate path strings.\n *\n * Uses {@link PathPosix} for Path objects.\n */\nclass PathScurryPosix extends PathScurryBase {\n    /**\n     * separator for generating path strings\n     */\n    sep = '/';\n    constructor(cwd = process.cwd(), opts = {}) {\n        const { nocase = false } = opts;\n        super(cwd, path_1.posix, '/', { ...opts, nocase });\n        this.nocase = nocase;\n    }\n    /**\n     * @internal\n     */\n    parseRootPath(_dir) {\n        return '/';\n    }\n    /**\n     * @internal\n     */\n    newRoot(fs) {\n        return new PathPosix(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });\n    }\n    /**\n     * Return true if the provided path string is an absolute path\n     */\n    isAbsolute(p) {\n        return p.startsWith('/');\n    }\n}\nexports.PathScurryPosix = PathScurryPosix;\n/**\n * {@link PathScurryBase} implementation for Darwin (macOS) systems.\n *\n * Defaults to case-insensitive matching, uses `'/'` for generating path\n * strings.\n *\n * Uses {@link PathPosix} for Path objects.\n */\nclass PathScurryDarwin extends PathScurryPosix {\n    constructor(cwd = process.cwd(), opts = {}) {\n        const { nocase = true } = opts;\n        super(cwd, { ...opts, nocase });\n    }\n}\nexports.PathScurryDarwin = PathScurryDarwin;\n/**\n * Default {@link PathBase} implementation for the current platform.\n *\n * {@link PathWin32} on Windows systems, {@link PathPosix} on all others.\n */\nexports.Path = process.platform === 'win32' ? PathWin32 : PathPosix;\n/**\n * Default {@link PathScurryBase} implementation for the current platform.\n *\n * {@link PathScurryWin32} on Windows systems, {@link PathScurryDarwin} on\n * Darwin (macOS) systems, {@link PathScurryPosix} on all others.\n */\nexports.PathScurry = process.platform === 'win32'\n    ? PathScurryWin32\n    : process.platform === 'darwin'\n        ? PathScurryDarwin\n        : PathScurryPosix;\n//# sourceMappingURL=index.js.map"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/394.index.js b/dist/394.index.js
new file mode 100644
index 0000000..4688aca
--- /dev/null
+++ b/dist/394.index.js
@@ -0,0 +1,844 @@
+"use strict";
+exports.id = 394;
+exports.ids = [394];
+exports.modules = {
+
+/***/ 30062:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AccessKeyCollector = void 0;
+const catalog_model_1 = __webpack_require__(70606);
+const base_collector_1 = __webpack_require__(19933);
+class AccessKeyCollector extends base_collector_1.BaseCollector {
+    collectSystems(opts) {
+        return this.getSystemEntities().reduce((acc, system) => {
+            if (opts.scope && system.spec?.owner !== opts.scope) {
+                return acc;
+            }
+            const components = this.collectComponents(system, opts);
+            if (components.some((c) => c.contracts?.length)) {
+                return [
+                    ...acc,
+                    {
+                        title: system.metadata.title || system.metadata.name,
+                        system,
+                        components,
+                    },
+                ];
+            }
+            return acc;
+        }, []);
+    }
+    collectComponents(system, opts = {}) {
+        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "component");
+        return componentRefs
+            .reduce((acc, componentRef) => {
+            const component = this.entityCatalog[componentRef.targetRef];
+            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {
+                return acc;
+            }
+            const contracts = this.collectContracts(componentRef).filter((c) => c.keys && c.keys.length > 0);
+            if (contracts.length) {
+                return [
+                    ...acc,
+                    {
+                        title: component.metadata.title || component.metadata.name,
+                        component,
+                        contracts,
+                        tags: this.getEntityTags(component),
+                    },
+                ];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => a.component.metadata.name.localeCompare(b.component.metadata.name));
+    }
+    collectContracts(componentRef) {
+        return this.getApiEntities()
+            .filter((item) => item.spec?.type === "contract-deployment" &&
+            item.spec.network === "near" &&
+            item.spec.lifecycle === "production" &&
+            item.relations.some((r) => r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&
+                r.targetRef === componentRef.targetRef))
+            .map((entity) => ({
+            entity,
+            keys: this.collectKeys(entity),
+            tags: this.getEntityTags(entity),
+        }));
+    }
+    collectKeys(contract) {
+        return contract
+            .relations.filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "resource" &&
+            this.entityCatalog[r.targetRef].spec?.type === "access-key")
+            .reduce((acc, r) => {
+            const accessKey = this.entityCatalog[r.targetRef];
+            if (accessKey && accessKey.spec && accessKey.spec.owner) {
+                const ownerRef = (0, catalog_model_1.parseEntityRef)(accessKey.spec.owner);
+                const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];
+                if (owner) {
+                    return [
+                        ...acc,
+                        {
+                            key: accessKey,
+                            owner,
+                            tags: this.getEntityTags(accessKey),
+                        },
+                    ];
+                }
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => a.key.metadata.name.localeCompare(b.key.metadata.name));
+    }
+}
+exports.AccessKeyCollector = AccessKeyCollector;
+
+
+/***/ }),
+
+/***/ 59038:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AddressCollector = void 0;
+const base_collector_1 = __webpack_require__(19933);
+const catalog_model_1 = __webpack_require__(70606);
+class AddressCollector extends base_collector_1.BaseCollector {
+    collectAddresses(opts) {
+        return this.getResourceEntities()
+            .filter((entity) => (entity.spec?.type === "signer-address" ||
+            entity.spec?.type?.toString().includes("-address")) &&
+            (opts.lifecycle ? entity.spec?.lifecycle === opts.lifecycle : true) &&
+            (opts.scope
+                ? entity.spec?.owner?.toString().includes(opts.scope)
+                : true))
+            .reduce((acc, signer) => {
+            const contracts = signer
+                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_CONSUMES_API &&
+                this.entityCatalog[relation.targetRef].spec?.type ===
+                    "contract-deployment")
+                .map((relation) => this.entityCatalog[relation.targetRef]);
+            const roles = signer
+                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_MEMBER_OF &&
+                this.entityCatalog[relation.targetRef].spec?.type ===
+                    "role-group")
+                .map((relation) => this.entityCatalog[relation.targetRef]);
+            const keys = signer
+                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_OWNER_OF &&
+                this.entityCatalog[relation.targetRef].spec?.type ===
+                    "access-key")
+                .map((relation) => this.entityCatalog[relation.targetRef]);
+            return [...acc, { signer, contracts, roles, keys }];
+        }, [])
+            .filter((info) => info.keys?.length || info.contracts?.length || info.roles?.length);
+    }
+}
+exports.AddressCollector = AddressCollector;
+
+
+/***/ }),
+
+/***/ 19933:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.BaseCollector = void 0;
+const catalog_model_1 = __webpack_require__(70606);
+class BaseCollector {
+    constructor(entities) {
+        this.entities = [];
+        this.entityCatalog = {};
+        this.entities = entities;
+        this.entityCatalog = entities.reduce((acc, e) => ({ ...acc, [(0, catalog_model_1.stringifyEntityRef)(e)]: e }), {});
+    }
+    getSystemEntities() {
+        return this.entities.filter(catalog_model_1.isSystemEntity).sort(this.sortByName);
+    }
+    getApiEntities() {
+        return this.entities.filter(catalog_model_1.isApiEntity).sort(this.sortByName);
+    }
+    getResourceEntities() {
+        return this.entities.filter(catalog_model_1.isResourceEntity).sort(this.sortByName);
+    }
+    getEntityTags(entity) {
+        return entity.metadata.tags?.join(" ") || "None";
+    }
+    sortByName(a, b) {
+        return a.metadata.name.localeCompare(b.metadata.name);
+    }
+}
+exports.BaseCollector = BaseCollector;
+
+
+/***/ }),
+
+/***/ 99872:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FilteredCollector = void 0;
+const pick_1 = __webpack_require__(23274);
+const ALLOWED_KINDS = ["Component", "System", "API"];
+const ALLOWED_SPEC_FIELDS = [
+    "type",
+    "deployedAt",
+    "address",
+    "network",
+    "networkType",
+    "deployment.source.startBlock",
+];
+const ALLOWED_METADATA_FIELDS = [
+    "uid",
+    "namespace",
+    "name",
+    "title",
+    "annotations",
+    "tags",
+];
+class FilteredCollector {
+    constructor(entities, opts = {}) {
+        this.srcEntities = entities;
+        this.entities = this.filterEntities(opts);
+    }
+    filterSpec(spec) {
+        if (!spec)
+            return {};
+        return (0, pick_1.pick)(spec, ALLOWED_SPEC_FIELDS);
+    }
+    filterMetadata(metadata) {
+        return (0, pick_1.pick)(metadata, ALLOWED_METADATA_FIELDS);
+    }
+    filterEntities(opts) {
+        const source = opts.scope
+            ? this.srcEntities.filter((e) => e.spec?.owner === opts.scope)
+            : this.srcEntities;
+        return source
+            .filter((e) => ALLOWED_KINDS.includes(e.kind))
+            .map((e) => {
+            return {
+                apiVersion: e.apiVersion,
+                kind: e.kind,
+                metadata: this.filterMetadata(e.metadata),
+                spec: this.filterSpec(e.spec),
+            };
+        });
+    }
+}
+exports.FilteredCollector = FilteredCollector;
+
+
+/***/ }),
+
+/***/ 25498:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MultisigsCollector = void 0;
+const catalog_model_1 = __webpack_require__(70606);
+const base_collector_1 = __webpack_require__(19933);
+class MultisigsCollector extends base_collector_1.BaseCollector {
+    collectSystems(opts) {
+        return this.getSystemEntities()
+            .reduce((acc, system) => {
+            if (opts.scope && system.spec?.owner !== opts.scope) {
+                return acc;
+            }
+            const components = this.collectComponents(system, opts);
+            if (components.some((c) => c.multisigs?.length)) {
+                return [
+                    ...acc,
+                    {
+                        title: system.metadata.title || system.metadata.name,
+                        system,
+                        components,
+                    },
+                ];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => this.sortByName(a.system, b.system));
+    }
+    collectComponents(system, opts = {}) {
+        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "component");
+        return componentRefs
+            .reduce((acc, componentRef) => {
+            const component = this.entityCatalog[componentRef.targetRef];
+            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {
+                return acc;
+            }
+            const multisigs = this.collectMultisigs(componentRef);
+            if (multisigs.length) {
+                return [
+                    ...acc,
+                    {
+                        title: component.metadata.title || component.metadata.name,
+                        component,
+                        multisigs,
+                        tags: this.getEntityTags(component),
+                    },
+                ];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => this.sortByName(a.component, b.component));
+    }
+    collectMultisigs(componentRef) {
+        return this.getApiEntities()
+            .filter((item) => item.relations.some((r) => item.spec?.type === "multisig-deployment" &&
+            r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&
+            r.targetRef === componentRef.targetRef))
+            .map((entity) => ({
+            entity: entity,
+            signers: this.collectSigners(entity),
+            tags: this.getEntityTags(entity),
+        }));
+    }
+    collectSigners(multisig) {
+        return multisig
+            .relations.filter((r) => r.type === catalog_model_1.RELATION_OWNED_BY &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind !== "group")
+            .map((r) => {
+            const signer = this.entityCatalog[r.targetRef];
+            const owner = this.entityCatalog[signer.spec.owner.toString()];
+            return {
+                signer,
+                owner,
+                tags: this.getEntityTags(signer),
+            };
+        })
+            .sort((a, b) => this.sortByName(a.owner, b.owner));
+    }
+}
+exports.MultisigsCollector = MultisigsCollector;
+
+
+/***/ }),
+
+/***/ 21802:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RbacCollector = void 0;
+const catalog_model_1 = __webpack_require__(70606);
+const base_collector_1 = __webpack_require__(19933);
+class RbacCollector extends base_collector_1.BaseCollector {
+    collectSystems(opts) {
+        return this.getSystemEntities().reduce((acc, system) => {
+            if (opts.scope && system.spec?.owner !== opts.scope) {
+                return acc;
+            }
+            const components = this.collectComponents(system, opts);
+            if (components.some((c) => c.contracts?.length)) {
+                return [
+                    ...acc,
+                    {
+                        title: system.metadata.title || system.metadata.name,
+                        system,
+                        components,
+                    },
+                ];
+            }
+            return acc;
+        }, []);
+    }
+    collectComponents(system, opts = {}) {
+        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "component");
+        return componentRefs
+            .reduce((acc, componentRef) => {
+            const component = this.entityCatalog[componentRef.targetRef];
+            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {
+                return acc;
+            }
+            const contracts = this.collectContracts(componentRef);
+            if (contracts.length) {
+                return [
+                    ...acc,
+                    {
+                        title: component.metadata.title || component.metadata.name,
+                        component,
+                        contracts,
+                        tags: this.getEntityTags(component),
+                    },
+                ];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => a.component.metadata.name.localeCompare(b.component.metadata.name));
+    }
+    collectContracts(componentRef) {
+        return this.getApiEntities()
+            .filter((item) => item.spec?.type === "contract-deployment" &&
+            item.spec.lifecycle === "production" &&
+            item.metadata.tags?.includes("rbac") &&
+            item.relations.some((r) => r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&
+                r.targetRef === componentRef.targetRef))
+            .map((entity) => ({
+            entity,
+            admins: this.collectAdmins(entity),
+            roles: this.collectRoles(entity),
+            tags: this.getEntityTags(entity),
+        }));
+    }
+    collectRoles(contract) {
+        return contract
+            .relations.filter((r) => r.type === catalog_model_1.RELATION_DEPENDS_ON &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "api")
+            .reduce((acc, r) => {
+            const roleGroup = this.entityCatalog[r.targetRef];
+            if (roleGroup &&
+                roleGroup.spec &&
+                roleGroup.spec.members &&
+                roleGroup.spec.roleId !== roleGroup.spec.admin) {
+                const specMembers = roleGroup.spec.members;
+                const members = specMembers.reduce((accMembers, m) => {
+                    const member = this.entities.find((e) => e.spec &&
+                        // filter out role-groups since they are modeled with
+                        // the same fields as a blockchain address
+                        e.spec.type !== "role-group" &&
+                        e.spec.address?.toString().toLowerCase() === m &&
+                        e.spec.network === roleGroup.spec?.network &&
+                        e.spec.networkType === roleGroup.spec?.networkType);
+                    if (member) {
+                        const ownerRef = (0, catalog_model_1.parseEntityRef)(member.spec?.owner);
+                        const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];
+                        return [...accMembers, { member, owner }];
+                    }
+                    return accMembers;
+                }, []);
+                return [...acc, { role: roleGroup, members }];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => a.role.metadata.name.localeCompare(b.role.metadata.name));
+    }
+    collectAdmins(contract) {
+        return contract
+            .relations.filter((r) => r.type === catalog_model_1.RELATION_DEPENDS_ON &&
+            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === "api")
+            .reduce((acc, r) => {
+            const roleGroup = this.entityCatalog[r.targetRef];
+            if (roleGroup && roleGroup.spec?.roleId === roleGroup.spec?.admin) {
+                const specMembers = roleGroup.spec?.members;
+                const members = specMembers.reduce((accMembers, m) => {
+                    const member = this.entities.find((e) => e.spec &&
+                        // filter out role-groups since they are modeled with
+                        // the same fields as a blockchain address
+                        e.spec.type !== "role-group" &&
+                        e.spec.address?.toString().toLowerCase() === m &&
+                        e.spec.network === roleGroup.spec?.network &&
+                        e.spec.networkType === roleGroup.spec?.networkType);
+                    if (member) {
+                        const ownerRef = (0, catalog_model_1.parseEntityRef)(member.spec?.owner);
+                        const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];
+                        return [...accMembers, { member, owner }];
+                    }
+                    return accMembers;
+                }, []);
+                return [...acc, { adminRole: roleGroup, members }];
+            }
+            return acc;
+        }, [])
+            .sort((a, b) => this.sortByName(a.adminRole, b.adminRole));
+    }
+}
+exports.RbacCollector = RbacCollector;
+
+
+/***/ }),
+
+/***/ 95204:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UnknownCollector = void 0;
+const access_key_collector_1 = __webpack_require__(30062);
+const multisigs_collector_1 = __webpack_require__(25498);
+const rbac_collector_1 = __webpack_require__(21802);
+class UnknownCollector {
+    constructor(entities) {
+        this.entities = [];
+        this.entities = entities;
+    }
+    collectEntities(opts = {}) {
+        const accessKeyCollector = new access_key_collector_1.AccessKeyCollector(this.entities);
+        const multisigCollector = new multisigs_collector_1.MultisigsCollector(this.entities);
+        const rbacCollector = new rbac_collector_1.RbacCollector(this.entities);
+        const unknownMultisigs = multisigCollector
+            .collectSystems(opts)
+            .reduce((acc, system) => {
+            return [
+                ...acc,
+                {
+                    ...system,
+                    components: system.components
+                        .map((component) => {
+                        return {
+                            ...component,
+                            multisigs: component.multisigs &&
+                                component.multisigs.filter((multisig) => multisig.signers.some((info) => info.signer.metadata.namespace === "stub")),
+                        };
+                    })
+                        .filter((component) => component.multisigs &&
+                        component.multisigs.some((multisig) => multisig.signers.some((info) => info.signer.metadata.namespace === "stub"))),
+                },
+            ];
+        }, [])
+            .filter((system) => system.components.length > 0);
+        const unknownRbac = rbacCollector
+            .collectSystems(opts)
+            .reduce((acc, system) => {
+            return [
+                ...acc,
+                {
+                    ...system,
+                    components: system.components
+                        .map((component) => {
+                        return {
+                            ...component,
+                            contracts: component.contracts &&
+                                component.contracts.filter((contract) => contract.roles &&
+                                    contract.roles.some((role) => role.members.some((info) => info.member.metadata.namespace === "stub"))),
+                        };
+                    })
+                        .filter((component) => component.contracts &&
+                        component.contracts.some((contract) => contract.roles &&
+                            contract.roles.some((role) => role.members.some((info) => info.member.metadata.namespace === "stub")))),
+                },
+            ];
+        }, [])
+            .filter((system) => system.components.length > 0);
+        const unknownAccessKeys = accessKeyCollector
+            .collectSystems(opts)
+            .reduce((acc, system) => {
+            return [
+                ...acc,
+                {
+                    ...system,
+                    components: system.components.filter((component) => component.contracts &&
+                        component.contracts.some((contract) => contract.keys &&
+                            contract.keys.some((info) => info.key.metadata.namespace === "stub"))),
+                },
+            ];
+        }, [])
+            .filter((system) => system.components.length > 0);
+        return [...unknownAccessKeys, ...unknownRbac, ...unknownMultisigs];
+    }
+}
+exports.UnknownCollector = UnknownCollector;
+
+
+/***/ }),
+
+/***/ 9394:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.backstageExport = exports.BackstageExport = void 0;
+const core = __importStar(__webpack_require__(68434));
+const glob_1 = __webpack_require__(17364);
+const fs_1 = __importDefault(__webpack_require__(57147));
+const simple_git_1 = __webpack_require__(84543);
+const handlebars_1 = __importDefault(__webpack_require__(80474));
+const multisigs_collector_1 = __webpack_require__(25498);
+const filtered_collector_1 = __webpack_require__(99872);
+const rbac_collector_1 = __webpack_require__(21802);
+const access_key_collector_1 = __webpack_require__(30062);
+const unknown_collector_1 = __webpack_require__(95204);
+const address_collector_1 = __webpack_require__(59038);
+const get_backstage_entities_1 = __webpack_require__(53249);
+class BackstageExport {
+    constructor() {
+        this.template_path = "";
+        this.output_path = "";
+    }
+}
+exports.BackstageExport = BackstageExport;
+const backstageExport = async ({ backstage_url, backstage_entities_repo, template_path, output_path, scope, lifecycle, testing, }) => {
+    if (!template_path || !output_path) {
+        throw new Error("set template_path and output_path for handlebars templating");
+    }
+    const entities = await (0, get_backstage_entities_1.getBackstageEntities)({
+        backstage_url,
+        backstage_entities_repo,
+    });
+    const filteredCollector = new filtered_collector_1.FilteredCollector(entities, {
+        scope,
+        lifecycle,
+    });
+    const multisigsCollector = new multisigs_collector_1.MultisigsCollector(entities);
+    const rbacCollector = new rbac_collector_1.RbacCollector(entities);
+    const accessKeyCollector = new access_key_collector_1.AccessKeyCollector(entities);
+    const unknownCollector = new unknown_collector_1.UnknownCollector(entities);
+    const addressCollector = new address_collector_1.AddressCollector(entities);
+    const changedFiles = (0, glob_1.sync)(`${template_path}**/*.hbs`).reduce((acc, templatePath) => {
+        const templateData = {
+            multisigSystemComponents: multisigsCollector.collectSystems({
+                scope,
+                lifecycle,
+            }),
+            contractSystemComponents: rbacCollector.collectSystems({
+                scope,
+                lifecycle,
+            }),
+            accessKeySystemComponents: accessKeyCollector.collectSystems({
+                scope,
+                lifecycle,
+            }),
+            unknownSystemComponents: unknownCollector.collectEntities({
+                scope,
+                lifecycle,
+            }),
+            addresses: addressCollector.collectAddresses({ scope, lifecycle }),
+            filteredEntities: JSON.stringify(filteredCollector.entities, null, 2),
+            testing,
+        };
+        if (reexportTemplate({
+            backstage_url,
+            output_path,
+            template_path,
+            templatePath,
+            templateData,
+        })) {
+            return [templatePath, ...acc];
+        }
+        return acc;
+    }, []);
+    if (testing) {
+        core.info(`Testing mode: ${changedFiles.length} changed files, exiting`);
+        return true;
+    }
+    if (changedFiles.length === 0) {
+        core.info("No changed files, nothing to commit");
+        return false;
+    }
+    await commitAndPushChanges(output_path);
+    return true;
+};
+exports.backstageExport = backstageExport;
+function reexportTemplate(inputs) {
+    const outputPath = inputs.output_path +
+        inputs.templatePath.replace(inputs.template_path, "").replace(".hbs", "");
+    const compiledTemplate = handlebars_1.default.compile(fs_1.default.readFileSync(inputs.templatePath, { encoding: "utf8" }), {
+        strict: true,
+    });
+    const options = {
+        helpers: {
+            backstageLink: (entity) => {
+                if (!entity)
+                    return "undefined";
+                const md = entity.metadata;
+                return `${inputs.backstage_url}/catalog/${md.namespace}/${entity.kind}/${md.name}`;
+            },
+        },
+    };
+    const compiledContent = compiledTemplate(inputs.templateData, options);
+    const existingContent = fs_1.default.existsSync(outputPath) &&
+        fs_1.default.readFileSync(outputPath, {
+            encoding: "utf-8",
+        });
+    if (compiledContent !== existingContent) {
+        core.info(`Writing ${outputPath}: changed content`);
+        fs_1.default.writeFileSync(outputPath, compiledContent);
+        return true;
+    }
+    return false;
+}
+async function commitAndPushChanges(path) {
+    const git = (0, simple_git_1.simpleGit)(".");
+    await git.addConfig("user.email", "security@aurora.dev");
+    await git.addConfig("user.name", "Backstage Exporter");
+    await git.add(path);
+    const msg = "chore(backstage): 🥷🏽 automatic re-export";
+    await git.commit(msg, undefined);
+    await git.push();
+    core.info("Updated and pushed the changes");
+    return true;
+}
+
+
+/***/ }),
+
+/***/ 53249:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getBackstageEntities = void 0;
+const core = __importStar(__webpack_require__(68434));
+const catalog_client_1 = __webpack_require__(55497);
+const simple_git_1 = __webpack_require__(84543);
+const getBackstageEntities = async ({ backstage_url: backstageUrl, backstage_entities_repo: backstageEntitiesRepo, }) => {
+    if (backstageUrl) {
+        try {
+            return fetchBackstageEntitiesFromURL(backstageUrl);
+        }
+        catch (err) {
+            /* empty */
+        }
+    }
+    // repo used as fallback to the URL in order to avoid unnecessary runtime
+    // dependency
+    if (backstageEntitiesRepo) {
+        return fetchBackstageEntitiesFromRepo(backstageEntitiesRepo);
+    }
+    throw new Error("Backstage URL or entities repo is required. Set BACKSTAGE_URL (github secret) or pass backstage_entities_repo argument to this action");
+};
+exports.getBackstageEntities = getBackstageEntities;
+async function getFileContentFromRepo(repoUrl, filePath) {
+    const cloneDir = `/tmp/github-helpers-${Date.now()}`;
+    const git = (0, simple_git_1.simpleGit)();
+    try {
+        await git.clone(repoUrl, cloneDir, ["--depth=1"]);
+        await git.cwd(cloneDir);
+        const { current } = await git.branch();
+        const defaultBranch = current || "main";
+        const fileContent = await git.show([
+            `${defaultBranch}:${filePath}`,
+        ]);
+        await git.raw(["rm", "-rf", "."]);
+        return fileContent;
+    }
+    catch (error) {
+        throw new Error(`Failed to fetch ${repoUrl}/${filePath}: ${error}`);
+    }
+}
+async function fetchBackstageEntitiesFromURL(backstageUrl) {
+    core.info("Connecting to Backstage to fetch available entities");
+    const discoveryApi = {
+        async getBaseUrl() {
+            return `${backstageUrl}/api/catalog`;
+        },
+    };
+    const catalogClient = new catalog_client_1.CatalogClient({
+        discoveryApi,
+    });
+    const entities = await catalogClient.getEntities({});
+    core.info(`Total backstage entities: ${entities.items.length}`);
+    return entities.items;
+}
+async function fetchBackstageEntitiesFromRepo(backstageEntitiesRepo) {
+    const serverUrl = process.env.GITHUB_SERVER_URL || "https://github.com";
+    const repoUrl = `${serverUrl}/${backstageEntitiesRepo}`;
+    core.info(`Cloning ${repoUrl}`);
+    const content = await getFileContentFromRepo(repoUrl, "filteredEntities.json");
+    return JSON.parse(content);
+}
+
+
+/***/ }),
+
+/***/ 23274:
+/***/ ((__unused_webpack_module, exports) => {
+
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.pick = void 0;
+function getNestedValue(obj, key) {
+    return key
+        .split(".")
+        .reduce((o, k) => o && typeof o === "object" && k in o
+        ? o[k]
+        : undefined, obj);
+}
+function setNestedValue(obj, path, value) {
+    const keys = path.split(".");
+    let current = obj;
+    for (let i = 0; i < keys.length - 1; i++) {
+        const key = keys[i];
+        if (key === "__proto__" || key === "constructor" || key === "prototype") {
+            return;
+        }
+        if (typeof current === "object" && current !== null && !(key in current)) {
+            current[key] = {};
+        }
+        current = current[key];
+    }
+    const lastKey = keys[keys.length - 1];
+    if (lastKey === "__proto__" ||
+        lastKey === "constructor" ||
+        lastKey === "prototype") {
+        return;
+    }
+    if (typeof current === "object" && current !== null) {
+        current[keys[keys.length - 1]] = value;
+    }
+}
+function pick(obj, whitelist) {
+    return whitelist.reduce((newObj, key) => {
+        const value = getNestedValue(obj, key);
+        if (value !== undefined) {
+            setNestedValue(newObj, key, value);
+        }
+        return newObj;
+    }, {});
+}
+exports.pick = pick;
+
+
+/***/ })
+
+};
+;
+//# sourceMappingURL=394.index.js.map
\ No newline at end of file
diff --git a/dist/394.index.js.map b/dist/394.index.js.map
new file mode 100644
index 0000000..ff4ac16
--- /dev/null
+++ b/dist/394.index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"394.index.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://backstage-blockchain-actions/./src/core/access-key-collector.ts","webpack://backstage-blockchain-actions/./src/core/address-collector.ts","webpack://backstage-blockchain-actions/./src/core/base-collector.ts","webpack://backstage-blockchain-actions/./src/core/filtered-collector.ts","webpack://backstage-blockchain-actions/./src/core/multisigs-collector.ts","webpack://backstage-blockchain-actions/./src/core/rbac-collector.ts","webpack://backstage-blockchain-actions/./src/core/unknown-collector.ts","webpack://backstage-blockchain-actions/./src/helpers/backstage-export.ts","webpack://backstage-blockchain-actions/./src/utils/get-backstage-entities.ts","webpack://backstage-blockchain-actions/./src/utils/pick.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AccessKeyCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nconst base_collector_1 = require(\"./base-collector\");\nclass AccessKeyCollector extends base_collector_1.BaseCollector {\n    collectSystems(opts) {\n        return this.getSystemEntities().reduce((acc, system) => {\n            if (opts.scope && system.spec?.owner !== opts.scope) {\n                return acc;\n            }\n            const components = this.collectComponents(system, opts);\n            if (components.some((c) => c.contracts?.length)) {\n                return [\n                    ...acc,\n                    {\n                        title: system.metadata.title || system.metadata.name,\n                        system,\n                        components,\n                    },\n                ];\n            }\n            return acc;\n        }, []);\n    }\n    collectComponents(system, opts = {}) {\n        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"component\");\n        return componentRefs\n            .reduce((acc, componentRef) => {\n            const component = this.entityCatalog[componentRef.targetRef];\n            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {\n                return acc;\n            }\n            const contracts = this.collectContracts(componentRef).filter((c) => c.keys && c.keys.length > 0);\n            if (contracts.length) {\n                return [\n                    ...acc,\n                    {\n                        title: component.metadata.title || component.metadata.name,\n                        component,\n                        contracts,\n                        tags: this.getEntityTags(component),\n                    },\n                ];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => a.component.metadata.name.localeCompare(b.component.metadata.name));\n    }\n    collectContracts(componentRef) {\n        return this.getApiEntities()\n            .filter((item) => item.spec?.type === \"contract-deployment\" &&\n            item.spec.network === \"near\" &&\n            item.spec.lifecycle === \"production\" &&\n            item.relations.some((r) => r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&\n                r.targetRef === componentRef.targetRef))\n            .map((entity) => ({\n            entity,\n            keys: this.collectKeys(entity),\n            tags: this.getEntityTags(entity),\n        }));\n    }\n    collectKeys(contract) {\n        return contract\n            .relations.filter((r) => r.type === catalog_model_1.RELATION_API_CONSUMED_BY &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"resource\" &&\n            this.entityCatalog[r.targetRef].spec?.type === \"access-key\")\n            .reduce((acc, r) => {\n            const accessKey = this.entityCatalog[r.targetRef];\n            if (accessKey && accessKey.spec && accessKey.spec.owner) {\n                const ownerRef = (0, catalog_model_1.parseEntityRef)(accessKey.spec.owner);\n                const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];\n                if (owner) {\n                    return [\n                        ...acc,\n                        {\n                            key: accessKey,\n                            owner,\n                            tags: this.getEntityTags(accessKey),\n                        },\n                    ];\n                }\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => a.key.metadata.name.localeCompare(b.key.metadata.name));\n    }\n}\nexports.AccessKeyCollector = AccessKeyCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddressCollector = void 0;\nconst base_collector_1 = require(\"./base-collector\");\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nclass AddressCollector extends base_collector_1.BaseCollector {\n    collectAddresses(opts) {\n        return this.getResourceEntities()\n            .filter((entity) => (entity.spec?.type === \"signer-address\" ||\n            entity.spec?.type?.toString().includes(\"-address\")) &&\n            (opts.lifecycle ? entity.spec?.lifecycle === opts.lifecycle : true) &&\n            (opts.scope\n                ? entity.spec?.owner?.toString().includes(opts.scope)\n                : true))\n            .reduce((acc, signer) => {\n            const contracts = signer\n                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_CONSUMES_API &&\n                this.entityCatalog[relation.targetRef].spec?.type ===\n                    \"contract-deployment\")\n                .map((relation) => this.entityCatalog[relation.targetRef]);\n            const roles = signer\n                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_MEMBER_OF &&\n                this.entityCatalog[relation.targetRef].spec?.type ===\n                    \"role-group\")\n                .map((relation) => this.entityCatalog[relation.targetRef]);\n            const keys = signer\n                .relations.filter((relation) => relation.type === catalog_model_1.RELATION_OWNER_OF &&\n                this.entityCatalog[relation.targetRef].spec?.type ===\n                    \"access-key\")\n                .map((relation) => this.entityCatalog[relation.targetRef]);\n            return [...acc, { signer, contracts, roles, keys }];\n        }, [])\n            .filter((info) => info.keys?.length || info.contracts?.length || info.roles?.length);\n    }\n}\nexports.AddressCollector = AddressCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nclass BaseCollector {\n    constructor(entities) {\n        this.entities = [];\n        this.entityCatalog = {};\n        this.entities = entities;\n        this.entityCatalog = entities.reduce((acc, e) => ({ ...acc, [(0, catalog_model_1.stringifyEntityRef)(e)]: e }), {});\n    }\n    getSystemEntities() {\n        return this.entities.filter(catalog_model_1.isSystemEntity).sort(this.sortByName);\n    }\n    getApiEntities() {\n        return this.entities.filter(catalog_model_1.isApiEntity).sort(this.sortByName);\n    }\n    getResourceEntities() {\n        return this.entities.filter(catalog_model_1.isResourceEntity).sort(this.sortByName);\n    }\n    getEntityTags(entity) {\n        return entity.metadata.tags?.join(\" \") || \"None\";\n    }\n    sortByName(a, b) {\n        return a.metadata.name.localeCompare(b.metadata.name);\n    }\n}\nexports.BaseCollector = BaseCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FilteredCollector = void 0;\nconst pick_1 = require(\"../utils/pick\");\nconst ALLOWED_KINDS = [\"Component\", \"System\", \"API\"];\nconst ALLOWED_SPEC_FIELDS = [\n    \"type\",\n    \"deployedAt\",\n    \"address\",\n    \"network\",\n    \"networkType\",\n    \"deployment.source.startBlock\",\n];\nconst ALLOWED_METADATA_FIELDS = [\n    \"uid\",\n    \"namespace\",\n    \"name\",\n    \"title\",\n    \"annotations\",\n    \"tags\",\n];\nclass FilteredCollector {\n    constructor(entities, opts = {}) {\n        this.srcEntities = entities;\n        this.entities = this.filterEntities(opts);\n    }\n    filterSpec(spec) {\n        if (!spec)\n            return {};\n        return (0, pick_1.pick)(spec, ALLOWED_SPEC_FIELDS);\n    }\n    filterMetadata(metadata) {\n        return (0, pick_1.pick)(metadata, ALLOWED_METADATA_FIELDS);\n    }\n    filterEntities(opts) {\n        const source = opts.scope\n            ? this.srcEntities.filter((e) => e.spec?.owner === opts.scope)\n            : this.srcEntities;\n        return source\n            .filter((e) => ALLOWED_KINDS.includes(e.kind))\n            .map((e) => {\n            return {\n                apiVersion: e.apiVersion,\n                kind: e.kind,\n                metadata: this.filterMetadata(e.metadata),\n                spec: this.filterSpec(e.spec),\n            };\n        });\n    }\n}\nexports.FilteredCollector = FilteredCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MultisigsCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nconst base_collector_1 = require(\"./base-collector\");\nclass MultisigsCollector extends base_collector_1.BaseCollector {\n    collectSystems(opts) {\n        return this.getSystemEntities()\n            .reduce((acc, system) => {\n            if (opts.scope && system.spec?.owner !== opts.scope) {\n                return acc;\n            }\n            const components = this.collectComponents(system, opts);\n            if (components.some((c) => c.multisigs?.length)) {\n                return [\n                    ...acc,\n                    {\n                        title: system.metadata.title || system.metadata.name,\n                        system,\n                        components,\n                    },\n                ];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => this.sortByName(a.system, b.system));\n    }\n    collectComponents(system, opts = {}) {\n        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"component\");\n        return componentRefs\n            .reduce((acc, componentRef) => {\n            const component = this.entityCatalog[componentRef.targetRef];\n            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {\n                return acc;\n            }\n            const multisigs = this.collectMultisigs(componentRef);\n            if (multisigs.length) {\n                return [\n                    ...acc,\n                    {\n                        title: component.metadata.title || component.metadata.name,\n                        component,\n                        multisigs,\n                        tags: this.getEntityTags(component),\n                    },\n                ];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => this.sortByName(a.component, b.component));\n    }\n    collectMultisigs(componentRef) {\n        return this.getApiEntities()\n            .filter((item) => item.relations.some((r) => item.spec?.type === \"multisig-deployment\" &&\n            r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&\n            r.targetRef === componentRef.targetRef))\n            .map((entity) => ({\n            entity: entity,\n            signers: this.collectSigners(entity),\n            tags: this.getEntityTags(entity),\n        }));\n    }\n    collectSigners(multisig) {\n        return multisig\n            .relations.filter((r) => r.type === catalog_model_1.RELATION_OWNED_BY &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind !== \"group\")\n            .map((r) => {\n            const signer = this.entityCatalog[r.targetRef];\n            const owner = this.entityCatalog[signer.spec.owner.toString()];\n            return {\n                signer,\n                owner,\n                tags: this.getEntityTags(signer),\n            };\n        })\n            .sort((a, b) => this.sortByName(a.owner, b.owner));\n    }\n}\nexports.MultisigsCollector = MultisigsCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RbacCollector = void 0;\nconst catalog_model_1 = require(\"@backstage/catalog-model\");\nconst base_collector_1 = require(\"./base-collector\");\nclass RbacCollector extends base_collector_1.BaseCollector {\n    collectSystems(opts) {\n        return this.getSystemEntities().reduce((acc, system) => {\n            if (opts.scope && system.spec?.owner !== opts.scope) {\n                return acc;\n            }\n            const components = this.collectComponents(system, opts);\n            if (components.some((c) => c.contracts?.length)) {\n                return [\n                    ...acc,\n                    {\n                        title: system.metadata.title || system.metadata.name,\n                        system,\n                        components,\n                    },\n                ];\n            }\n            return acc;\n        }, []);\n    }\n    collectComponents(system, opts = {}) {\n        const componentRefs = system.relations.filter((r) => r.type === catalog_model_1.RELATION_HAS_PART &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"component\");\n        return componentRefs\n            .reduce((acc, componentRef) => {\n            const component = this.entityCatalog[componentRef.targetRef];\n            if (opts.lifecycle && component.spec?.lifecycle !== opts.lifecycle) {\n                return acc;\n            }\n            const contracts = this.collectContracts(componentRef);\n            if (contracts.length) {\n                return [\n                    ...acc,\n                    {\n                        title: component.metadata.title || component.metadata.name,\n                        component,\n                        contracts,\n                        tags: this.getEntityTags(component),\n                    },\n                ];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => a.component.metadata.name.localeCompare(b.component.metadata.name));\n    }\n    collectContracts(componentRef) {\n        return this.getApiEntities()\n            .filter((item) => item.spec?.type === \"contract-deployment\" &&\n            item.spec.lifecycle === \"production\" &&\n            item.metadata.tags?.includes(\"rbac\") &&\n            item.relations.some((r) => r.type === catalog_model_1.RELATION_API_PROVIDED_BY &&\n                r.targetRef === componentRef.targetRef))\n            .map((entity) => ({\n            entity,\n            admins: this.collectAdmins(entity),\n            roles: this.collectRoles(entity),\n            tags: this.getEntityTags(entity),\n        }));\n    }\n    collectRoles(contract) {\n        return contract\n            .relations.filter((r) => r.type === catalog_model_1.RELATION_DEPENDS_ON &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"api\")\n            .reduce((acc, r) => {\n            const roleGroup = this.entityCatalog[r.targetRef];\n            if (roleGroup &&\n                roleGroup.spec &&\n                roleGroup.spec.members &&\n                roleGroup.spec.roleId !== roleGroup.spec.admin) {\n                const specMembers = roleGroup.spec.members;\n                const members = specMembers.reduce((accMembers, m) => {\n                    const member = this.entities.find((e) => e.spec &&\n                        // filter out role-groups since they are modeled with\n                        // the same fields as a blockchain address\n                        e.spec.type !== \"role-group\" &&\n                        e.spec.address?.toString().toLowerCase() === m &&\n                        e.spec.network === roleGroup.spec?.network &&\n                        e.spec.networkType === roleGroup.spec?.networkType);\n                    if (member) {\n                        const ownerRef = (0, catalog_model_1.parseEntityRef)(member.spec?.owner);\n                        const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];\n                        return [...accMembers, { member, owner }];\n                    }\n                    return accMembers;\n                }, []);\n                return [...acc, { role: roleGroup, members }];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => a.role.metadata.name.localeCompare(b.role.metadata.name));\n    }\n    collectAdmins(contract) {\n        return contract\n            .relations.filter((r) => r.type === catalog_model_1.RELATION_DEPENDS_ON &&\n            (0, catalog_model_1.parseEntityRef)(r.targetRef).kind === \"api\")\n            .reduce((acc, r) => {\n            const roleGroup = this.entityCatalog[r.targetRef];\n            if (roleGroup && roleGroup.spec?.roleId === roleGroup.spec?.admin) {\n                const specMembers = roleGroup.spec?.members;\n                const members = specMembers.reduce((accMembers, m) => {\n                    const member = this.entities.find((e) => e.spec &&\n                        // filter out role-groups since they are modeled with\n                        // the same fields as a blockchain address\n                        e.spec.type !== \"role-group\" &&\n                        e.spec.address?.toString().toLowerCase() === m &&\n                        e.spec.network === roleGroup.spec?.network &&\n                        e.spec.networkType === roleGroup.spec?.networkType);\n                    if (member) {\n                        const ownerRef = (0, catalog_model_1.parseEntityRef)(member.spec?.owner);\n                        const owner = this.entityCatalog[(0, catalog_model_1.stringifyEntityRef)(ownerRef)];\n                        return [...accMembers, { member, owner }];\n                    }\n                    return accMembers;\n                }, []);\n                return [...acc, { adminRole: roleGroup, members }];\n            }\n            return acc;\n        }, [])\n            .sort((a, b) => this.sortByName(a.adminRole, b.adminRole));\n    }\n}\nexports.RbacCollector = RbacCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UnknownCollector = void 0;\nconst access_key_collector_1 = require(\"./access-key-collector\");\nconst multisigs_collector_1 = require(\"./multisigs-collector\");\nconst rbac_collector_1 = require(\"./rbac-collector\");\nclass UnknownCollector {\n    constructor(entities) {\n        this.entities = [];\n        this.entities = entities;\n    }\n    collectEntities(opts = {}) {\n        const accessKeyCollector = new access_key_collector_1.AccessKeyCollector(this.entities);\n        const multisigCollector = new multisigs_collector_1.MultisigsCollector(this.entities);\n        const rbacCollector = new rbac_collector_1.RbacCollector(this.entities);\n        const unknownMultisigs = multisigCollector\n            .collectSystems(opts)\n            .reduce((acc, system) => {\n            return [\n                ...acc,\n                {\n                    ...system,\n                    components: system.components\n                        .map((component) => {\n                        return {\n                            ...component,\n                            multisigs: component.multisigs &&\n                                component.multisigs.filter((multisig) => multisig.signers.some((info) => info.signer.metadata.namespace === \"stub\")),\n                        };\n                    })\n                        .filter((component) => component.multisigs &&\n                        component.multisigs.some((multisig) => multisig.signers.some((info) => info.signer.metadata.namespace === \"stub\"))),\n                },\n            ];\n        }, [])\n            .filter((system) => system.components.length > 0);\n        const unknownRbac = rbacCollector\n            .collectSystems(opts)\n            .reduce((acc, system) => {\n            return [\n                ...acc,\n                {\n                    ...system,\n                    components: system.components\n                        .map((component) => {\n                        return {\n                            ...component,\n                            contracts: component.contracts &&\n                                component.contracts.filter((contract) => contract.roles &&\n                                    contract.roles.some((role) => role.members.some((info) => info.member.metadata.namespace === \"stub\"))),\n                        };\n                    })\n                        .filter((component) => component.contracts &&\n                        component.contracts.some((contract) => contract.roles &&\n                            contract.roles.some((role) => role.members.some((info) => info.member.metadata.namespace === \"stub\")))),\n                },\n            ];\n        }, [])\n            .filter((system) => system.components.length > 0);\n        const unknownAccessKeys = accessKeyCollector\n            .collectSystems(opts)\n            .reduce((acc, system) => {\n            return [\n                ...acc,\n                {\n                    ...system,\n                    components: system.components.filter((component) => component.contracts &&\n                        component.contracts.some((contract) => contract.keys &&\n                            contract.keys.some((info) => info.key.metadata.namespace === \"stub\"))),\n                },\n            ];\n        }, [])\n            .filter((system) => system.components.length > 0);\n        return [...unknownAccessKeys, ...unknownRbac, ...unknownMultisigs];\n    }\n}\nexports.UnknownCollector = UnknownCollector;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.backstageExport = exports.BackstageExport = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst glob_1 = require(\"glob\");\nconst fs_1 = __importDefault(require(\"fs\"));\nconst simple_git_1 = require(\"simple-git\");\nconst handlebars_1 = __importDefault(require(\"handlebars\"));\nconst multisigs_collector_1 = require(\"../core/multisigs-collector\");\nconst filtered_collector_1 = require(\"../core/filtered-collector\");\nconst rbac_collector_1 = require(\"../core/rbac-collector\");\nconst access_key_collector_1 = require(\"../core/access-key-collector\");\nconst unknown_collector_1 = require(\"../core/unknown-collector\");\nconst address_collector_1 = require(\"../core/address-collector\");\nconst get_backstage_entities_1 = require(\"../utils/get-backstage-entities\");\nclass BackstageExport {\n    constructor() {\n        this.template_path = \"\";\n        this.output_path = \"\";\n    }\n}\nexports.BackstageExport = BackstageExport;\nconst backstageExport = async ({ backstage_url, backstage_entities_repo, template_path, output_path, scope, lifecycle, testing, }) => {\n    if (!template_path || !output_path) {\n        throw new Error(\"set template_path and output_path for handlebars templating\");\n    }\n    const entities = await (0, get_backstage_entities_1.getBackstageEntities)({\n        backstage_url,\n        backstage_entities_repo,\n    });\n    const filteredCollector = new filtered_collector_1.FilteredCollector(entities, {\n        scope,\n        lifecycle,\n    });\n    const multisigsCollector = new multisigs_collector_1.MultisigsCollector(entities);\n    const rbacCollector = new rbac_collector_1.RbacCollector(entities);\n    const accessKeyCollector = new access_key_collector_1.AccessKeyCollector(entities);\n    const unknownCollector = new unknown_collector_1.UnknownCollector(entities);\n    const addressCollector = new address_collector_1.AddressCollector(entities);\n    const changedFiles = (0, glob_1.sync)(`${template_path}**/*.hbs`).reduce((acc, templatePath) => {\n        const templateData = {\n            multisigSystemComponents: multisigsCollector.collectSystems({\n                scope,\n                lifecycle,\n            }),\n            contractSystemComponents: rbacCollector.collectSystems({\n                scope,\n                lifecycle,\n            }),\n            accessKeySystemComponents: accessKeyCollector.collectSystems({\n                scope,\n                lifecycle,\n            }),\n            unknownSystemComponents: unknownCollector.collectEntities({\n                scope,\n                lifecycle,\n            }),\n            addresses: addressCollector.collectAddresses({ scope, lifecycle }),\n            filteredEntities: JSON.stringify(filteredCollector.entities, null, 2),\n            testing,\n        };\n        if (reexportTemplate({\n            backstage_url,\n            output_path,\n            template_path,\n            templatePath,\n            templateData,\n        })) {\n            return [templatePath, ...acc];\n        }\n        return acc;\n    }, []);\n    if (testing) {\n        core.info(`Testing mode: ${changedFiles.length} changed files, exiting`);\n        return true;\n    }\n    if (changedFiles.length === 0) {\n        core.info(\"No changed files, nothing to commit\");\n        return false;\n    }\n    await commitAndPushChanges(output_path);\n    return true;\n};\nexports.backstageExport = backstageExport;\nfunction reexportTemplate(inputs) {\n    const outputPath = inputs.output_path +\n        inputs.templatePath.replace(inputs.template_path, \"\").replace(\".hbs\", \"\");\n    const compiledTemplate = handlebars_1.default.compile(fs_1.default.readFileSync(inputs.templatePath, { encoding: \"utf8\" }), {\n        strict: true,\n    });\n    const options = {\n        helpers: {\n            backstageLink: (entity) => {\n                if (!entity)\n                    return \"undefined\";\n                const md = entity.metadata;\n                return `${inputs.backstage_url}/catalog/${md.namespace}/${entity.kind}/${md.name}`;\n            },\n        },\n    };\n    const compiledContent = compiledTemplate(inputs.templateData, options);\n    const existingContent = fs_1.default.existsSync(outputPath) &&\n        fs_1.default.readFileSync(outputPath, {\n            encoding: \"utf-8\",\n        });\n    if (compiledContent !== existingContent) {\n        core.info(`Writing ${outputPath}: changed content`);\n        fs_1.default.writeFileSync(outputPath, compiledContent);\n        return true;\n    }\n    return false;\n}\nasync function commitAndPushChanges(path) {\n    const git = (0, simple_git_1.simpleGit)(\".\");\n    await git.addConfig(\"user.email\", \"security@aurora.dev\");\n    await git.addConfig(\"user.name\", \"Backstage Exporter\");\n    await git.add(path);\n    const msg = \"chore(backstage): 🥷🏽 automatic re-export\";\n    await git.commit(msg, undefined);\n    await git.push();\n    core.info(\"Updated and pushed the changes\");\n    return true;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getBackstageEntities = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst catalog_client_1 = require(\"@backstage/catalog-client\");\nconst simple_git_1 = require(\"simple-git\");\nconst getBackstageEntities = async ({ backstage_url: backstageUrl, backstage_entities_repo: backstageEntitiesRepo, }) => {\n    if (backstageUrl) {\n        try {\n            return fetchBackstageEntitiesFromURL(backstageUrl);\n        }\n        catch (err) {\n            /* empty */\n        }\n    }\n    // repo used as fallback to the URL in order to avoid unnecessary runtime\n    // dependency\n    if (backstageEntitiesRepo) {\n        return fetchBackstageEntitiesFromRepo(backstageEntitiesRepo);\n    }\n    throw new Error(\"Backstage URL or entities repo is required. Set BACKSTAGE_URL (github secret) or pass backstage_entities_repo argument to this action\");\n};\nexports.getBackstageEntities = getBackstageEntities;\nasync function getFileContentFromRepo(repoUrl, filePath) {\n    const cloneDir = `/tmp/github-helpers-${Date.now()}`;\n    const git = (0, simple_git_1.simpleGit)();\n    try {\n        await git.clone(repoUrl, cloneDir, [\"--depth=1\"]);\n        await git.cwd(cloneDir);\n        const { current } = await git.branch();\n        const defaultBranch = current || \"main\";\n        const fileContent = await git.show([\n            `${defaultBranch}:${filePath}`,\n        ]);\n        await git.raw([\"rm\", \"-rf\", \".\"]);\n        return fileContent;\n    }\n    catch (error) {\n        throw new Error(`Failed to fetch ${repoUrl}/${filePath}: ${error}`);\n    }\n}\nasync function fetchBackstageEntitiesFromURL(backstageUrl) {\n    core.info(\"Connecting to Backstage to fetch available entities\");\n    const discoveryApi = {\n        async getBaseUrl() {\n            return `${backstageUrl}/api/catalog`;\n        },\n    };\n    const catalogClient = new catalog_client_1.CatalogClient({\n        discoveryApi,\n    });\n    const entities = await catalogClient.getEntities({});\n    core.info(`Total backstage entities: ${entities.items.length}`);\n    return entities.items;\n}\nasync function fetchBackstageEntitiesFromRepo(backstageEntitiesRepo) {\n    const serverUrl = process.env.GITHUB_SERVER_URL || \"https://github.com\";\n    const repoUrl = `${serverUrl}/${backstageEntitiesRepo}`;\n    core.info(`Cloning ${repoUrl}`);\n    const content = await getFileContentFromRepo(repoUrl, \"filteredEntities.json\");\n    return JSON.parse(content);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pick = void 0;\nfunction getNestedValue(obj, key) {\n    return key\n        .split(\".\")\n        .reduce((o, k) => o && typeof o === \"object\" && k in o\n        ? o[k]\n        : undefined, obj);\n}\nfunction setNestedValue(obj, path, value) {\n    const keys = path.split(\".\");\n    let current = obj;\n    for (let i = 0; i < keys.length - 1; i++) {\n        const key = keys[i];\n        if (key === \"__proto__\" || key === \"constructor\" || key === \"prototype\") {\n            return;\n        }\n        if (typeof current === \"object\" && current !== null && !(key in current)) {\n            current[key] = {};\n        }\n        current = current[key];\n    }\n    const lastKey = keys[keys.length - 1];\n    if (lastKey === \"__proto__\" ||\n        lastKey === \"constructor\" ||\n        lastKey === \"prototype\") {\n        return;\n    }\n    if (typeof current === \"object\" && current !== null) {\n        current[keys[keys.length - 1]] = value;\n    }\n}\nfunction pick(obj, whitelist) {\n    return whitelist.reduce((newObj, key) => {\n        const value = getNestedValue(obj, key);\n        if (value !== undefined) {\n            setNestedValue(newObj, key, value);\n        }\n        return newObj;\n    }, {});\n}\nexports.pick = pick;\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/885.index.js b/dist/885.index.js
new file mode 100644
index 0000000..410c17f
--- /dev/null
+++ b/dist/885.index.js
@@ -0,0 +1,129850 @@
+exports.id = 885;
+exports.ids = [885];
+exports.modules = {
+
+/***/ 86885:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.client = exports.v2 = exports.v1 = void 0;
+exports.v1 = __importStar(__webpack_require__(72681));
+exports.v2 = __importStar(__webpack_require__(26484));
+exports.client = __importStar(__webpack_require__(34934));
+__exportStar(__webpack_require__(50487), exports);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 50487:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.logger = void 0;
+const loglevel_1 = __importDefault(__webpack_require__(39863));
+const logger = loglevel_1.default.noConflict();
+exports.logger = logger;
+logger.setLevel((typeof process !== "undefined" && process.env && process.env.DEBUG) ? logger.levels.DEBUG : logger.levels.INFO);
+//# sourceMappingURL=logger.js.map
+
+/***/ }),
+
+/***/ 93772:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.configureAuthMethods = exports.AppKeyAuthAuthentication = exports.ApiKeyAuthAuthentication = exports.AuthZAuthentication = void 0;
+/**
+ * Applies oauth2 authentication to the request context.
+ */
+class AuthZAuthentication {
+    /**
+     * Configures OAuth2 with the necessary properties
+     *
+     * @param accessToken: The access token to be used for every request
+     */
+    constructor(accessToken) {
+        this.accessToken = accessToken;
+    }
+    getName() {
+        return "AuthZ";
+    }
+    applySecurityAuthentication(context) {
+        context.setHeaderParam("Authorization", "Bearer " + this.accessToken);
+    }
+}
+exports.AuthZAuthentication = AuthZAuthentication;
+/**
+ * Applies apiKey authentication to the request context.
+ */
+class ApiKeyAuthAuthentication {
+    /**
+     * Configures this api key authentication with the necessary properties
+     *
+     * @param apiKey: The api key to be used for every request
+     */
+    constructor(apiKey) {
+        this.apiKey = apiKey;
+    }
+    getName() {
+        return "apiKeyAuth";
+    }
+    applySecurityAuthentication(context) {
+        context.setHeaderParam("DD-API-KEY", this.apiKey);
+    }
+}
+exports.ApiKeyAuthAuthentication = ApiKeyAuthAuthentication;
+/**
+ * Applies apiKey authentication to the request context.
+ */
+class AppKeyAuthAuthentication {
+    /**
+     * Configures this api key authentication with the necessary properties
+     *
+     * @param apiKey: The api key to be used for every request
+     */
+    constructor(apiKey) {
+        this.apiKey = apiKey;
+    }
+    getName() {
+        return "appKeyAuth";
+    }
+    applySecurityAuthentication(context) {
+        context.setHeaderParam("DD-APPLICATION-KEY", this.apiKey);
+    }
+}
+exports.AppKeyAuthAuthentication = AppKeyAuthAuthentication;
+/**
+ * Creates the authentication methods from a swagger description.
+ *
+ */
+function configureAuthMethods(config) {
+    const authMethods = {};
+    if (!config) {
+        return authMethods;
+    }
+    if (config["AuthZ"]) {
+        authMethods["AuthZ"] = new AuthZAuthentication(config["AuthZ"]["accessToken"]);
+    }
+    if (config["apiKeyAuth"]) {
+        authMethods["apiKeyAuth"] = new ApiKeyAuthAuthentication(config["apiKeyAuth"]);
+    }
+    if (config["appKeyAuth"]) {
+        authMethods["appKeyAuth"] = new AppKeyAuthAuthentication(config["appKeyAuth"]);
+    }
+    return authMethods;
+}
+exports.configureAuthMethods = configureAuthMethods;
+//# sourceMappingURL=auth.js.map
+
+/***/ }),
+
+/***/ 96972:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RequiredError = exports.BaseAPIRequestFactory = exports.COLLECTION_FORMATS = void 0;
+/**
+ *
+ * @export
+ */
+exports.COLLECTION_FORMATS = {
+    csv: ",",
+    ssv: " ",
+    tsv: "\t",
+    pipes: "|",
+};
+/**
+ *
+ * @export
+ * @class BaseAPI
+ */
+class BaseAPIRequestFactory {
+    constructor(configuration) {
+        this.configuration = configuration;
+    }
+}
+exports.BaseAPIRequestFactory = BaseAPIRequestFactory;
+/**
+ *
+ * @export
+ * @class RequiredError
+ * @extends {Error}
+ */
+class RequiredError extends Error {
+    constructor(field, operation) {
+        super(`Required parameter ${field} was null or undefined when calling ${operation}.`);
+        this.field = field;
+        this.name = "RequiredError";
+    }
+}
+exports.RequiredError = RequiredError;
+//# sourceMappingURL=baseapi.js.map
+
+/***/ }),
+
+/***/ 76405:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.applySecurityAuthentication = exports.setServerVariables = exports.getServer = exports.createConfiguration = exports.Configuration = void 0;
+const isomorphic_fetch_1 = __webpack_require__(63816);
+const servers_1 = __webpack_require__(47501);
+const auth_1 = __webpack_require__(93772);
+const logger_1 = __webpack_require__(50487);
+class Configuration {
+    constructor(baseServer, serverIndex, operationServerIndices, httpApi, authMethods, httpConfig, debug, enableRetry, maxRetries, backoffBase, backoffMultiplier, unstableOperations) {
+        this.baseServer = baseServer;
+        this.serverIndex = serverIndex;
+        this.operationServerIndices = operationServerIndices;
+        this.httpApi = httpApi;
+        this.authMethods = authMethods;
+        this.httpConfig = httpConfig;
+        this.debug = debug;
+        this.enableRetry = enableRetry;
+        this.maxRetries = maxRetries;
+        this.backoffBase = backoffBase;
+        this.backoffMultiplier = backoffMultiplier;
+        this.unstableOperations = unstableOperations;
+        this.servers = [];
+        for (const server of servers_1.servers) {
+            this.servers.push(server.clone());
+        }
+        this.operationServers = {};
+        for (const endpoint in servers_1.operationServers) {
+            this.operationServers[endpoint] = [];
+            for (const server of servers_1.operationServers[endpoint]) {
+                this.operationServers[endpoint].push(server.clone());
+            }
+        }
+        if (backoffBase && backoffBase < 2) {
+            throw new Error("Backoff base must be at least 2");
+        }
+    }
+    setServerVariables(serverVariables) {
+        if (this.baseServer !== undefined) {
+            this.baseServer.setVariables(serverVariables);
+            return;
+        }
+        const index = this.serverIndex;
+        this.servers[index].setVariables(serverVariables);
+        for (const op in this.operationServers) {
+            this.operationServers[op][0].setVariables(serverVariables);
+        }
+    }
+    getServer(endpoint) {
+        if (this.baseServer !== undefined) {
+            return this.baseServer;
+        }
+        const index = endpoint in this.operationServerIndices
+            ? this.operationServerIndices[endpoint]
+            : this.serverIndex;
+        return endpoint in servers_1.operationServers
+            ? this.operationServers[endpoint][index]
+            : this.servers[index];
+    }
+}
+exports.Configuration = Configuration;
+/**
+ * Configuration factory function
+ *
+ * If a property is not included in conf, a default is used:
+ *    - baseServer: null
+ *    - serverIndex: 0
+ *    - operationServerIndices: {}
+ *    - httpApi: IsomorphicFetchHttpLibrary
+ *    - authMethods: {}
+ *    - httpConfig: {}
+ *    - debug: false
+ *
+ * @param conf partial configuration
+ */
+function createConfiguration(conf = {}) {
+    if (typeof process !== "undefined" && process.env && process.env.DD_SITE) {
+        const serverConf = servers_1.server1.getConfiguration();
+        servers_1.server1.setVariables({ site: process.env.DD_SITE });
+        for (const op in servers_1.operationServers) {
+            servers_1.operationServers[op][0].setVariables({ site: process.env.DD_SITE });
+        }
+    }
+    const authMethods = conf.authMethods || {};
+    if (!("apiKeyAuth" in authMethods) &&
+        typeof process !== "undefined" &&
+        process.env &&
+        process.env.DD_API_KEY) {
+        authMethods["apiKeyAuth"] = process.env.DD_API_KEY;
+    }
+    if (!("appKeyAuth" in authMethods) &&
+        typeof process !== "undefined" &&
+        process.env &&
+        process.env.DD_APP_KEY) {
+        authMethods["appKeyAuth"] = process.env.DD_APP_KEY;
+    }
+    const configuration = new Configuration(conf.baseServer, conf.serverIndex || 0, conf.operationServerIndices || {}, conf.httpApi || new isomorphic_fetch_1.IsomorphicFetchHttpLibrary(), (0, auth_1.configureAuthMethods)(authMethods), conf.httpConfig || {}, conf.debug, conf.enableRetry || false, conf.maxRetries || 3, conf.backoffBase || 2, conf.backoffMultiplier || 2, {
+        "v2.createCIAppPipelineEvent": false,
+        "v2.listEvents": false,
+        "v2.searchEvents": false,
+        "v2.createIncident": false,
+        "v2.createIncidentIntegration": false,
+        "v2.createIncidentTodo": false,
+        "v2.deleteIncident": false,
+        "v2.deleteIncidentIntegration": false,
+        "v2.deleteIncidentTodo": false,
+        "v2.getIncident": false,
+        "v2.getIncidentIntegration": false,
+        "v2.getIncidentTodo": false,
+        "v2.listIncidentAttachments": false,
+        "v2.listIncidentIntegrations": false,
+        "v2.listIncidents": false,
+        "v2.listIncidentTodos": false,
+        "v2.searchIncidents": false,
+        "v2.updateIncident": false,
+        "v2.updateIncidentAttachments": false,
+        "v2.updateIncidentIntegration": false,
+        "v2.updateIncidentTodo": false,
+        "v2.queryScalarData": false,
+        "v2.queryTimeseriesData": false,
+        "v2.getFinding": false,
+        "v2.listFindings": false,
+        "v2.updateFinding": false,
+        "v2.createIncidentService": false,
+        "v2.deleteIncidentService": false,
+        "v2.getIncidentService": false,
+        "v2.listIncidentServices": false,
+        "v2.updateIncidentService": false,
+        "v2.createIncidentTeam": false,
+        "v2.deleteIncidentTeam": false,
+        "v2.getIncidentTeam": false,
+        "v2.listIncidentTeams": false,
+        "v2.updateIncidentTeam": false,
+    });
+    configuration.httpApi.zstdCompressorCallback = conf.zstdCompressorCallback;
+    configuration.httpApi.debug = configuration.debug;
+    configuration.httpApi.enableRetry = configuration.enableRetry;
+    configuration.httpApi.maxRetries = configuration.maxRetries;
+    configuration.httpApi.backoffBase = configuration.backoffBase;
+    configuration.httpApi.backoffMultiplier = configuration.backoffMultiplier;
+    return configuration;
+}
+exports.createConfiguration = createConfiguration;
+function getServer(conf, endpoint) {
+    logger_1.logger.warn("getServer is deprecated, please use Configuration.getServer instead.");
+    return conf.getServer(endpoint);
+}
+exports.getServer = getServer;
+/**
+ * Sets the server variables.
+ *
+ * @param serverVariables key/value object representing the server variables (site, name, protocol, ...)
+ */
+function setServerVariables(conf, serverVariables) {
+    logger_1.logger.warn("setServerVariables is deprecated, please use Configuration.setServerVariables instead.");
+    return conf.setServerVariables(serverVariables);
+}
+exports.setServerVariables = setServerVariables;
+/**
+ * Apply given security authentication method if avaiable in configuration.
+ */
+function applySecurityAuthentication(conf, requestContext, authMethods) {
+    for (const authMethodName of authMethods) {
+        const authMethod = conf.authMethods[authMethodName];
+        if (authMethod) {
+            authMethod.applySecurityAuthentication(requestContext);
+        }
+    }
+}
+exports.applySecurityAuthentication = applySecurityAuthentication;
+//# sourceMappingURL=configuration.js.map
+
+/***/ }),
+
+/***/ 90544:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApiException = void 0;
+/**
+ * Represents an error caused by an api call i.e. it has attributes for a HTTP status code
+ * and the returned body object.
+ *
+ * Example
+ * API returns a ErrorMessageObject whenever HTTP status code is not in [200, 299]
+ * => ApiException(404, someErrorMessageObject)
+ *
+ */
+class ApiException extends Error {
+    constructor(code, body) {
+        super("HTTP-Code: " + code + "\nMessage: " + JSON.stringify(body));
+        this.code = code;
+        this.body = body;
+        Object.setPrototypeOf(this, ApiException.prototype);
+        this.code = code;
+        this.body = body;
+    }
+}
+exports.ApiException = ApiException;
+//# sourceMappingURL=exception.js.map
+
+/***/ }),
+
+/***/ 58440:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ResponseContext = exports.SelfDecodingBody = exports.RequestContext = exports.HttpException = exports.HttpMethod = void 0;
+const userAgent_1 = __webpack_require__(86946);
+const url_parse_1 = __importDefault(__webpack_require__(6521));
+const util_1 = __webpack_require__(4691);
+/**
+ * Represents an HTTP method.
+ */
+var HttpMethod;
+(function (HttpMethod) {
+    HttpMethod["GET"] = "GET";
+    HttpMethod["HEAD"] = "HEAD";
+    HttpMethod["POST"] = "POST";
+    HttpMethod["PUT"] = "PUT";
+    HttpMethod["DELETE"] = "DELETE";
+    HttpMethod["CONNECT"] = "CONNECT";
+    HttpMethod["OPTIONS"] = "OPTIONS";
+    HttpMethod["TRACE"] = "TRACE";
+    HttpMethod["PATCH"] = "PATCH";
+})(HttpMethod = exports.HttpMethod || (exports.HttpMethod = {}));
+class HttpException extends Error {
+    constructor(msg) {
+        super(msg);
+    }
+}
+exports.HttpException = HttpException;
+/**
+ * Represents an HTTP request context
+ */
+class RequestContext {
+    /**
+     * Creates the request context using a http method and request resource url
+     *
+     * @param url url of the requested resource
+     * @param httpMethod http method
+     */
+    constructor(url, httpMethod) {
+        this.httpMethod = httpMethod;
+        this.headers = {};
+        this.body = undefined;
+        this.httpConfig = {};
+        this.url = new url_parse_1.default(url, true);
+        if (!util_1.isBrowser) {
+            this.headers = { "user-agent": userAgent_1.userAgent };
+        }
+    }
+    /*
+     * Returns the url set in the constructor including the query string
+     *
+     */
+    getUrl() {
+        return this.url.toString();
+    }
+    /**
+     * Replaces the url set in the constructor with this url.
+     *
+     */
+    setUrl(url) {
+        this.url = new url_parse_1.default(url, true);
+    }
+    /**
+     * Sets the body of the http request either as a string or FormData
+     *
+     * Note that setting a body on a HTTP GET, HEAD, DELETE, CONNECT or TRACE
+     * request is discouraged.
+     * https://httpwg.org/http-core/draft-ietf-httpbis-semantics-latest.html#rfc.section.7.3.1
+     *
+     * @param body the body of the request
+     */
+    setBody(body) {
+        this.body = body;
+    }
+    getHttpMethod() {
+        return this.httpMethod;
+    }
+    getHeaders() {
+        return this.headers;
+    }
+    getBody() {
+        return this.body;
+    }
+    setQueryParam(name, value) {
+        const queryObj = this.url.query;
+        queryObj[name] = value;
+        this.url.set("query", queryObj);
+    }
+    /**
+     * Sets a cookie with the name and value. NO check  for duplicate cookies is performed
+     *
+     */
+    addCookie(name, value) {
+        if (!this.headers["Cookie"]) {
+            this.headers["Cookie"] = "";
+        }
+        this.headers["Cookie"] += name + "=" + value + "; ";
+    }
+    setHeaderParam(key, value) {
+        this.headers[key] = value;
+    }
+    setHttpConfig(conf) {
+        this.httpConfig = conf;
+    }
+    getHttpConfig() {
+        return this.httpConfig;
+    }
+}
+exports.RequestContext = RequestContext;
+/**
+ * Helper class to generate a `ResponseBody` from binary data
+ */
+class SelfDecodingBody {
+    constructor(dataSource) {
+        this.dataSource = dataSource;
+    }
+    binary() {
+        return this.dataSource;
+    }
+    text() {
+        return __awaiter(this, void 0, void 0, function* () {
+            const data = yield this.dataSource;
+            return data.toString();
+        });
+    }
+}
+exports.SelfDecodingBody = SelfDecodingBody;
+class ResponseContext {
+    constructor(httpStatusCode, headers, body) {
+        this.httpStatusCode = httpStatusCode;
+        this.headers = headers;
+        this.body = body;
+    }
+    /**
+     * Parse header value in the form `value; param1="value1"`
+     *
+     * E.g. for Content-Type or Content-Disposition
+     * Parameter names are converted to lower case
+     * The first parameter is returned with the key `""`
+     */
+    getParsedHeader(headerName) {
+        const result = {};
+        if (!this.headers[headerName]) {
+            return result;
+        }
+        const parameters = this.headers[headerName].split(";");
+        for (const parameter of parameters) {
+            let [key, value] = parameter.split("=", 2);
+            key = key.toLowerCase().trim();
+            if (value === undefined) {
+                result[""] = key;
+            }
+            else {
+                value = value.trim();
+                if (value.startsWith('"') && value.endsWith('"')) {
+                    value = value.substring(1, value.length - 1);
+                }
+                result[key] = value;
+            }
+        }
+        return result;
+    }
+    getBodyAsFile() {
+        return __awaiter(this, void 0, void 0, function* () {
+            const data = yield this.body.binary();
+            const fileName = this.getParsedHeader("content-disposition")["filename"] || "";
+            return { data, name: fileName };
+        });
+    }
+}
+exports.ResponseContext = ResponseContext;
+//# sourceMappingURL=http.js.map
+
+/***/ }),
+
+/***/ 63816:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IsomorphicFetchHttpLibrary = void 0;
+const http_1 = __webpack_require__(58440);
+const cross_fetch_1 = __webpack_require__(75226);
+const pako_1 = __importDefault(__webpack_require__(12808));
+const buffer_from_1 = __importDefault(__webpack_require__(41219));
+const util_1 = __webpack_require__(4691);
+class IsomorphicFetchHttpLibrary {
+    constructor() {
+        this.debug = false;
+    }
+    send(request) {
+        if (this.debug) {
+            this.logRequest(request);
+        }
+        const method = request.getHttpMethod().toString();
+        let body = request.getBody();
+        let compress = request.getHttpConfig().compress;
+        if (compress === undefined) {
+            compress = true;
+        }
+        const headers = request.getHeaders();
+        if (typeof body === "string") {
+            if (headers["Content-Encoding"] == "gzip") {
+                body = (0, buffer_from_1.default)(pako_1.default.gzip(body).buffer);
+            }
+            else if (headers["Content-Encoding"] == "deflate") {
+                body = (0, buffer_from_1.default)(pako_1.default.deflate(body).buffer);
+            }
+            else if (headers["Content-Encoding"] == "zstd1") {
+                if (this.zstdCompressorCallback) {
+                    body = this.zstdCompressorCallback(body);
+                }
+                else {
+                    throw new Error("zstdCompressorCallback method missing");
+                }
+            }
+        }
+        if (!util_1.isBrowser) {
+            if (!headers["Accept-Encoding"]) {
+                if (compress) {
+                    headers["Accept-Encoding"] = "gzip,deflate";
+                }
+                else {
+                    // We need to enforce it otherwise node-fetch will set a default
+                    headers["Accept-Encoding"] = "identity";
+                }
+            }
+        }
+        return this.executeRequest(request, body, 0, headers);
+    }
+    executeRequest(request, body, currentAttempt, headers) {
+        return __awaiter(this, void 0, void 0, function* () {
+            // On non-node environments, use native fetch if available.
+            // `cross-fetch` incorrectly assumes all browsers have XHR available.
+            // See https://github.com/lquixada/cross-fetch/issues/78
+            // TODO: Remove once once above issue is resolved.
+            const fetchFunction = !util_1.isNode && typeof fetch === "function" ? fetch : cross_fetch_1.fetch;
+            const fetchOptions = {
+                method: request.getHttpMethod().toString(),
+                body: body,
+                headers: headers,
+                signal: request.getHttpConfig().signal,
+            };
+            try {
+                const resp = yield fetchFunction(request.getUrl(), fetchOptions);
+                const responseHeaders = {};
+                resp.headers.forEach((value, name) => {
+                    responseHeaders[name] = value;
+                });
+                const responseBody = {
+                    text: () => resp.text(),
+                    binary: () => __awaiter(this, void 0, void 0, function* () {
+                        const arrayBuffer = yield resp.arrayBuffer();
+                        return Buffer.from(arrayBuffer);
+                    }),
+                };
+                const response = new http_1.ResponseContext(resp.status, responseHeaders, responseBody);
+                if (this.debug) {
+                    this.logResponse(response);
+                }
+                if (this.shouldRetry(this.enableRetry, currentAttempt, this.maxRetries, response.httpStatusCode)) {
+                    const delay = this.calculateRetryInterval(currentAttempt, this.backoffBase, this.backoffMultiplier, responseHeaders);
+                    currentAttempt++;
+                    yield this.sleep(delay * 1000);
+                    return this.executeRequest(request, body, currentAttempt, headers);
+                }
+                return response;
+            }
+            catch (error) {
+                console.error("An error occurred during the HTTP request:", error);
+                throw error;
+            }
+        });
+    }
+    sleep(milliseconds) {
+        return new Promise((resolve) => {
+            setTimeout(resolve, milliseconds);
+        });
+    }
+    shouldRetry(enableRetry, currentAttempt, maxRetries, responseCode) {
+        return ((responseCode == 429 || responseCode >= 500) &&
+            maxRetries > currentAttempt &&
+            enableRetry);
+    }
+    calculateRetryInterval(currentAttempt, backoffBase, backoffMultiplier, headers) {
+        if ("x-ratelimit-reset" in headers) {
+            const rateLimitHeaderString = headers["x-ratelimit-reset"];
+            const retryIntervalFromHeader = parseInt(rateLimitHeaderString, 10);
+            return retryIntervalFromHeader;
+        }
+        else {
+            return Math.pow(backoffMultiplier, currentAttempt) * backoffBase;
+        }
+    }
+    logRequest(request) {
+        var _a;
+        const headers = {};
+        const originalHeaders = request.getHeaders();
+        for (const header in originalHeaders) {
+            headers[header] = originalHeaders[header];
+        }
+        if (headers["DD-API-KEY"]) {
+            headers["DD-API-KEY"] = headers["DD-API-KEY"].replace(/./g, "x");
+        }
+        if (headers["DD-APPLICATION-KEY"]) {
+            headers["DD-APPLICATION-KEY"] = headers["DD-APPLICATION-KEY"].replace(/./g, "x");
+        }
+        const headersJSON = JSON.stringify(headers, null, 2).replace(/\n/g, "\n\t");
+        const method = request.getHttpMethod().toString();
+        const url = request.getUrl().toString();
+        const body = request.getBody()
+            ? JSON.stringify(request.getBody(), null, 2).replace(/\n/g, "\n\t")
+            : "";
+        const compress = (_a = request.getHttpConfig().compress) !== null && _a !== void 0 ? _a : true;
+        console.debug("\nrequest: {\n", `\turl: ${url}\n`, `\tmethod: ${method}\n`, `\theaders: ${headersJSON}\n`, `\tcompress: ${compress}\n`, `\tbody: ${body}\n}\n`);
+    }
+    logResponse(response) {
+        const httpStatusCode = response.httpStatusCode;
+        const headers = JSON.stringify(response.headers, null, 2).replace(/\n/g, "\n\t");
+        console.debug("response: {\n", `\tstatus: ${httpStatusCode}\n`, `\theaders: ${headers}\n`);
+    }
+}
+exports.IsomorphicFetchHttpLibrary = IsomorphicFetchHttpLibrary;
+//# sourceMappingURL=isomorphic-fetch.js.map
+
+/***/ }),
+
+/***/ 34934:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Configuration = exports.setServerVariables = exports.createConfiguration = void 0;
+__exportStar(__webpack_require__(58440), exports);
+__exportStar(__webpack_require__(63816), exports);
+__exportStar(__webpack_require__(93772), exports);
+var configuration_1 = __webpack_require__(76405);
+Object.defineProperty(exports, "createConfiguration", ({ enumerable: true, get: function () { return configuration_1.createConfiguration; } }));
+var configuration_2 = __webpack_require__(76405);
+Object.defineProperty(exports, "setServerVariables", ({ enumerable: true, get: function () { return configuration_2.setServerVariables; } }));
+var configuration_3 = __webpack_require__(76405);
+Object.defineProperty(exports, "Configuration", ({ enumerable: true, get: function () { return configuration_3.Configuration; } }));
+__exportStar(__webpack_require__(90544), exports);
+__exportStar(__webpack_require__(47501), exports);
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 47501:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.operationServers = exports.servers = exports.server3 = exports.server2 = exports.server1 = exports.ServerConfiguration = exports.BaseServerConfiguration = void 0;
+const http_1 = __webpack_require__(58440);
+/**
+ *
+ * Represents the configuration of a server
+ *
+ */
+class BaseServerConfiguration {
+    constructor(url, variableConfiguration) {
+        this.url = url;
+        this.variableConfiguration = variableConfiguration;
+    }
+    /**
+     * Sets the value of the variables of this server.
+     *
+     * @param variableConfiguration a partial variable configuration for the variables contained in the url
+     */
+    setVariables(variableConfiguration) {
+        Object.assign(this.variableConfiguration, variableConfiguration);
+    }
+    getConfiguration() {
+        return this.variableConfiguration;
+    }
+    clone() {
+        return new BaseServerConfiguration(this.url, Object.assign({}, this.variableConfiguration));
+    }
+    getUrl() {
+        let replacedUrl = this.url;
+        for (const key in this.variableConfiguration) {
+            const re = new RegExp("{" + key + "}", "g");
+            replacedUrl = replacedUrl.replace(re, this.variableConfiguration[key]);
+        }
+        return replacedUrl;
+    }
+    /**
+     * Creates a new request context for this server using the url with variables
+     * replaced with their respective values and the endpoint of the request appended.
+     *
+     * @param endpoint the endpoint to be queried on the server
+     * @param httpMethod httpMethod to be used
+     *
+     */
+    makeRequestContext(endpoint, httpMethod) {
+        return new http_1.RequestContext(this.getUrl() + endpoint, httpMethod);
+    }
+}
+exports.BaseServerConfiguration = BaseServerConfiguration;
+/**
+ *
+ * Represents the configuration of a server including its
+ * url template and variable configuration based on the url.
+ *
+ */
+class ServerConfiguration extends BaseServerConfiguration {
+}
+exports.ServerConfiguration = ServerConfiguration;
+exports.server1 = new ServerConfiguration("https://{subdomain}.{site}", {
+    site: "datadoghq.com",
+    subdomain: "api",
+});
+exports.server2 = new ServerConfiguration("{protocol}://{name}", {
+    name: "api.datadoghq.com",
+    protocol: "https",
+});
+exports.server3 = new ServerConfiguration("https://{subdomain}.{site}", {
+    site: "datadoghq.com",
+    subdomain: "api",
+});
+exports.servers = [exports.server1, exports.server2, exports.server3];
+exports.operationServers = {
+    "v1.IPRangesApi.getIPRanges": [
+        new ServerConfiguration("https://{subdomain}.{site}", {
+            site: "datadoghq.com",
+            subdomain: "ip-ranges",
+        }),
+        new ServerConfiguration("{protocol}://{name}", {
+            name: "ip-ranges.datadoghq.com",
+            protocol: "https",
+        }),
+        new ServerConfiguration("https://{subdomain}.datadoghq.com", {
+            subdomain: "ip-ranges",
+        }),
+    ],
+    "v1.LogsApi.submitLog": [
+        new ServerConfiguration("https://{subdomain}.{site}", {
+            site: "datadoghq.com",
+            subdomain: "http-intake.logs",
+        }),
+        new ServerConfiguration("{protocol}://{name}", {
+            name: "http-intake.logs.datadoghq.com",
+            protocol: "https",
+        }),
+        new ServerConfiguration("https://{subdomain}.{site}", {
+            site: "datadoghq.com",
+            subdomain: "http-intake.logs",
+        }),
+    ],
+    "v2.LogsApi.submitLog": [
+        new ServerConfiguration("https://{subdomain}.{site}", {
+            site: "datadoghq.com",
+            subdomain: "http-intake.logs",
+        }),
+        new ServerConfiguration("{protocol}://{name}", {
+            name: "http-intake.logs.datadoghq.com",
+            protocol: "https",
+        }),
+        new ServerConfiguration("https://{subdomain}.{site}", {
+            site: "datadoghq.com",
+            subdomain: "http-intake.logs",
+        }),
+    ],
+};
+//# sourceMappingURL=servers.js.map
+
+/***/ }),
+
+/***/ 4691:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.dateToRFC3339String = exports.dateFromRFC3339String = exports.DDate = exports.isNode = exports.isBrowser = exports.UnparsedObject = void 0;
+class UnparsedObject {
+    constructor(data) {
+        this._data = data;
+    }
+}
+exports.UnparsedObject = UnparsedObject;
+exports.isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
+exports.isNode = typeof process !== "undefined" &&
+    process.release &&
+    process.release.name === "node";
+class DDate extends Date {
+}
+exports.DDate = DDate;
+const RFC3339Re = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})\.?(\d+)?(?:(?:([+-]\d{2}):?(\d{2}))|Z)?$/;
+function dateFromRFC3339String(date) {
+    const m = RFC3339Re.exec(date);
+    if (m) {
+        const _date = new DDate(date);
+        _date.originalDate = date;
+        return _date;
+    }
+    else {
+        throw new Error("unexpected date format: " + date);
+    }
+}
+exports.dateFromRFC3339String = dateFromRFC3339String;
+function dateToRFC3339String(date) {
+    if (date instanceof DDate && date.originalDate) {
+        return date.originalDate;
+    }
+    return date.toISOString().split(".")[0] + "Z";
+}
+exports.dateToRFC3339String = dateToRFC3339String;
+//# sourceMappingURL=util.js.map
+
+/***/ }),
+
+/***/ 3199:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSIntegrationApi = exports.AWSIntegrationApiResponseProcessor = exports.AWSIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class AWSIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createAWSAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAWSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.createAWSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createAWSTagFilter(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAWSTagFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/filtering";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.createAWSTagFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSTagFilterCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createNewAWSExternalID(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createNewAWSExternalID");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/generate_new_external_id";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.createNewAWSExternalID")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAWSAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteAWSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.deleteAWSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccountDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAWSTagFilter(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteAWSTagFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/filtering";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.deleteAWSTagFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSTagFilterDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAvailableAWSNamespaces(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/available_namespace_rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.listAvailableAWSNamespaces")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAWSAccounts(accountId, roleName, accessKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.listAWSAccounts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (accountId !== undefined) {
+                requestContext.setQueryParam("account_id", ObjectSerializer_1.ObjectSerializer.serialize(accountId, "string", ""));
+            }
+            if (roleName !== undefined) {
+                requestContext.setQueryParam("role_name", ObjectSerializer_1.ObjectSerializer.serialize(roleName, "string", ""));
+            }
+            if (accessKeyId !== undefined) {
+                requestContext.setQueryParam("access_key_id", ObjectSerializer_1.ObjectSerializer.serialize(accessKeyId, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAWSTagFilters(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "listAWSTagFilters");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/filtering";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.listAWSTagFilters")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (accountId !== undefined) {
+                requestContext.setQueryParam("account_id", ObjectSerializer_1.ObjectSerializer.serialize(accountId, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAWSAccount(body, accountId, roleName, accessKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAWSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSIntegrationApi.updateAWSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (accountId !== undefined) {
+                requestContext.setQueryParam("account_id", ObjectSerializer_1.ObjectSerializer.serialize(accountId, "string", ""));
+            }
+            if (roleName !== undefined) {
+                requestContext.setQueryParam("role_name", ObjectSerializer_1.ObjectSerializer.serialize(roleName, "string", ""));
+            }
+            if (accessKeyId !== undefined) {
+                requestContext.setQueryParam("access_key_id", ObjectSerializer_1.ObjectSerializer.serialize(accessKeyId, "string", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AWSIntegrationApiRequestFactory = AWSIntegrationApiRequestFactory;
+class AWSIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAWSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAWSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAWSTagFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAWSTagFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createNewAWSExternalID
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createNewAWSExternalID(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAWSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAWSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAWSTagFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAWSTagFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAvailableAWSNamespaces
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAvailableAWSNamespaces(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAWSAccounts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAWSAccounts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSAccountListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAWSTagFilters
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAWSTagFilters(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSTagFilterListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSTagFilterListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAWSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAWSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AWSIntegrationApiResponseProcessor = AWSIntegrationApiResponseProcessor;
+class AWSIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AWSIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AWSIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a Datadog-Amazon Web Services integration.
+     * Using the `POST` method updates your integration configuration
+     * by adding your new configuration to the existing one in your Datadog organization.
+     * A unique AWS Account ID for role based authentication.
+     * @param param The request object
+     */
+    createAWSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createAWSAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAWSAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Set an AWS tag filter.
+     * @param param The request object
+     */
+    createAWSTagFilter(param, options) {
+        const requestContextPromise = this.requestFactory.createAWSTagFilter(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAWSTagFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * Generate a new AWS external ID for a given AWS account ID and role name pair.
+     * @param param The request object
+     */
+    createNewAWSExternalID(param, options) {
+        const requestContextPromise = this.requestFactory.createNewAWSExternalID(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createNewAWSExternalID(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Datadog-AWS integration matching the specified `account_id` and `role_name parameters`.
+     * @param param The request object
+     */
+    deleteAWSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAWSAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAWSAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a tag filtering entry.
+     * @param param The request object
+     */
+    deleteAWSTagFilter(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAWSTagFilter(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAWSTagFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * List all namespace rules for a given Datadog-AWS integration. This endpoint takes no arguments.
+     * @param param The request object
+     */
+    listAvailableAWSNamespaces(options) {
+        const requestContextPromise = this.requestFactory.listAvailableAWSNamespaces(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAvailableAWSNamespaces(responseContext);
+            });
+        });
+    }
+    /**
+     * List all Datadog-AWS integrations available in your Datadog organization.
+     * @param param The request object
+     */
+    listAWSAccounts(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listAWSAccounts(param.accountId, param.roleName, param.accessKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAWSAccounts(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all AWS tag filters.
+     * @param param The request object
+     */
+    listAWSTagFilters(param, options) {
+        const requestContextPromise = this.requestFactory.listAWSTagFilters(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAWSTagFilters(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Datadog-Amazon Web Services integration.
+     * @param param The request object
+     */
+    updateAWSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.updateAWSAccount(param.body, param.accountId, param.roleName, param.accessKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAWSAccount(responseContext);
+            });
+        });
+    }
+}
+exports.AWSIntegrationApi = AWSIntegrationApi;
+//# sourceMappingURL=AWSIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 26279:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsIntegrationApi = exports.AWSLogsIntegrationApiResponseProcessor = exports.AWSLogsIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class AWSLogsIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    checkAWSLogsLambdaAsync(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "checkAWSLogsLambdaAsync");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs/check_async";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.checkAWSLogsLambdaAsync")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccountAndLambdaRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    checkAWSLogsServicesAsync(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "checkAWSLogsServicesAsync");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs/services_async";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.checkAWSLogsServicesAsync")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSLogsServicesRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createAWSLambdaARN(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAWSLambdaARN");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.createAWSLambdaARN")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccountAndLambdaRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAWSLambdaARN(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteAWSLambdaARN");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.deleteAWSLambdaARN")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSAccountAndLambdaRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    enableAWSLogServices(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "enableAWSLogServices");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.enableAWSLogServices")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AWSLogsServicesRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAWSLogsIntegrations(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.listAWSLogsIntegrations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAWSLogsServices(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/aws/logs/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AWSLogsIntegrationApi.listAWSLogsServices")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AWSLogsIntegrationApiRequestFactory = AWSLogsIntegrationApiRequestFactory;
+class AWSLogsIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to checkAWSLogsLambdaAsync
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    checkAWSLogsLambdaAsync(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSLogsAsyncResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSLogsAsyncResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to checkAWSLogsServicesAsync
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    checkAWSLogsServicesAsync(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSLogsAsyncResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AWSLogsAsyncResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAWSLambdaARN
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAWSLambdaARN(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAWSLambdaARN
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAWSLambdaARN(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to enableAWSLogServices
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    enableAWSLogServices(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAWSLogsIntegrations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAWSLogsIntegrations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAWSLogsServices
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAWSLogsServices(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AWSLogsIntegrationApiResponseProcessor = AWSLogsIntegrationApiResponseProcessor;
+class AWSLogsIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AWSLogsIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AWSLogsIntegrationApiResponseProcessor();
+    }
+    /**
+     * Test if permissions are present to add a log-forwarding triggers for the given services and AWS account. The input
+     * is the same as for Enable an AWS service log collection. Subsequent requests will always repeat the above, so this
+     * endpoint can be polled intermittently instead of blocking.
+     *
+     * - Returns a status of 'created' when it's checking if the Lambda exists in the account.
+     * - Returns a status of 'waiting' while checking.
+     * - Returns a status of 'checked and ok' if the Lambda exists.
+     * - Returns a status of 'error' if the Lambda does not exist.
+     * @param param The request object
+     */
+    checkAWSLogsLambdaAsync(param, options) {
+        const requestContextPromise = this.requestFactory.checkAWSLogsLambdaAsync(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.checkAWSLogsLambdaAsync(responseContext);
+            });
+        });
+    }
+    /**
+     * Test if permissions are present to add log-forwarding triggers for the
+     * given services and AWS account. Input is the same as for `EnableAWSLogServices`.
+     * Done async, so can be repeatedly polled in a non-blocking fashion until
+     * the async request completes.
+     *
+     * - Returns a status of `created` when it's checking if the permissions exists
+     *   in the AWS account.
+     * - Returns a status of `waiting` while checking.
+     * - Returns a status of `checked and ok` if the Lambda exists.
+     * - Returns a status of `error` if the Lambda does not exist.
+     * @param param The request object
+     */
+    checkAWSLogsServicesAsync(param, options) {
+        const requestContextPromise = this.requestFactory.checkAWSLogsServicesAsync(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.checkAWSLogsServicesAsync(responseContext);
+            });
+        });
+    }
+    /**
+     * Attach the Lambda ARN of the Lambda created for the Datadog-AWS log collection to your AWS account ID to enable log collection.
+     * @param param The request object
+     */
+    createAWSLambdaARN(param, options) {
+        const requestContextPromise = this.requestFactory.createAWSLambdaARN(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAWSLambdaARN(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Datadog-AWS logs configuration by removing the specific Lambda ARN associated with a given AWS account.
+     * @param param The request object
+     */
+    deleteAWSLambdaARN(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAWSLambdaARN(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAWSLambdaARN(responseContext);
+            });
+        });
+    }
+    /**
+     * Enable automatic log collection for a list of services. This should be run after running `CreateAWSLambdaARN` to save the configuration.
+     * @param param The request object
+     */
+    enableAWSLogServices(param, options) {
+        const requestContextPromise = this.requestFactory.enableAWSLogServices(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.enableAWSLogServices(responseContext);
+            });
+        });
+    }
+    /**
+     * List all Datadog-AWS Logs integrations configured in your Datadog account.
+     * @param param The request object
+     */
+    listAWSLogsIntegrations(options) {
+        const requestContextPromise = this.requestFactory.listAWSLogsIntegrations(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAWSLogsIntegrations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of current AWS services that Datadog offers automatic log collection. Use returned service IDs with the services parameter for the Enable an AWS service log collection API endpoint.
+     * @param param The request object
+     */
+    listAWSLogsServices(options) {
+        const requestContextPromise = this.requestFactory.listAWSLogsServices(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAWSLogsServices(responseContext);
+            });
+        });
+    }
+}
+exports.AWSLogsIntegrationApi = AWSLogsIntegrationApi;
+//# sourceMappingURL=AWSLogsIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 98474:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthenticationApi = exports.AuthenticationApiResponseProcessor = exports.AuthenticationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class AuthenticationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    validate(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/validate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AuthenticationApi.validate")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AuthenticationApiRequestFactory = AuthenticationApiRequestFactory;
+class AuthenticationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to validate
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    validate(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthenticationValidationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthenticationValidationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AuthenticationApiResponseProcessor = AuthenticationApiResponseProcessor;
+class AuthenticationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AuthenticationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AuthenticationApiResponseProcessor();
+    }
+    /**
+     * Check if the API key (not the APP key) is valid. If invalid, a 403 is returned.
+     * @param param The request object
+     */
+    validate(options) {
+        const requestContextPromise = this.requestFactory.validate(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.validate(responseContext);
+            });
+        });
+    }
+}
+exports.AuthenticationApi = AuthenticationApi;
+//# sourceMappingURL=AuthenticationApi.js.map
+
+/***/ }),
+
+/***/ 31906:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AzureIntegrationApi = exports.AzureIntegrationApiResponseProcessor = exports.AzureIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class AzureIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createAzureIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAzureIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/azure";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AzureIntegrationApi.createAzureIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AzureAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAzureIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteAzureIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/azure";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AzureIntegrationApi.deleteAzureIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AzureAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAzureIntegration(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/azure";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AzureIntegrationApi.listAzureIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAzureHostFilters(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAzureHostFilters");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/azure/host_filters";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AzureIntegrationApi.updateAzureHostFilters")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AzureAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAzureIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAzureIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/azure";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.AzureIntegrationApi.updateAzureIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AzureAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AzureIntegrationApiRequestFactory = AzureIntegrationApiRequestFactory;
+class AzureIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAzureIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAzureIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAzureIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAzureIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAzureIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAzureIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAzureHostFilters
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAzureHostFilters(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAzureIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAzureIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AzureIntegrationApiResponseProcessor = AzureIntegrationApiResponseProcessor;
+class AzureIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AzureIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AzureIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a Datadog-Azure integration.
+     *
+     * Using the `POST` method updates your integration configuration by adding your new
+     * configuration to the existing one in your Datadog organization.
+     *
+     * Using the `PUT` method updates your integration configuration by replacing your
+     * current configuration with the new one sent to your Datadog organization.
+     * @param param The request object
+     */
+    createAzureIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.createAzureIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAzureIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given Datadog-Azure integration from your Datadog account.
+     * @param param The request object
+     */
+    deleteAzureIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAzureIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAzureIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * List all Datadog-Azure integrations configured in your Datadog account.
+     * @param param The request object
+     */
+    listAzureIntegration(options) {
+        const requestContextPromise = this.requestFactory.listAzureIntegration(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAzureIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the defined list of host filters for a given Datadog-Azure integration.
+     * @param param The request object
+     */
+    updateAzureHostFilters(param, options) {
+        const requestContextPromise = this.requestFactory.updateAzureHostFilters(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAzureHostFilters(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Datadog-Azure integration. Requires an existing `tenant_name` and `client_id`.
+     * Any other fields supplied will overwrite existing values. To overwrite `tenant_name` or `client_id`,
+     * use `new_tenant_name` and `new_client_id`. To leave a field unchanged, do not supply that field in the payload.
+     * @param param The request object
+     */
+    updateAzureIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.updateAzureIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAzureIntegration(responseContext);
+            });
+        });
+    }
+}
+exports.AzureIntegrationApi = AzureIntegrationApi;
+//# sourceMappingURL=AzureIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 71398:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListsApi = exports.DashboardListsApiResponseProcessor = exports.DashboardListsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class DashboardListsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createDashboardList(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createDashboardList");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/lists/manual";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardListsApi.createDashboardList")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardList", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteDashboardList(listId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'listId' is not null or undefined
+            if (listId === null || listId === undefined) {
+                throw new baseapi_1.RequiredError("listId", "deleteDashboardList");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/lists/manual/{list_id}".replace("{list_id}", encodeURIComponent(String(listId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardListsApi.deleteDashboardList")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getDashboardList(listId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'listId' is not null or undefined
+            if (listId === null || listId === undefined) {
+                throw new baseapi_1.RequiredError("listId", "getDashboardList");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/lists/manual/{list_id}".replace("{list_id}", encodeURIComponent(String(listId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardListsApi.getDashboardList")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listDashboardLists(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/lists/manual";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardListsApi.listDashboardLists")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateDashboardList(listId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'listId' is not null or undefined
+            if (listId === null || listId === undefined) {
+                throw new baseapi_1.RequiredError("listId", "updateDashboardList");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateDashboardList");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/lists/manual/{list_id}".replace("{list_id}", encodeURIComponent(String(listId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardListsApi.updateDashboardList")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardList", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.DashboardListsApiRequestFactory = DashboardListsApiRequestFactory;
+class DashboardListsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createDashboardList
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createDashboardList(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteDashboardList
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteDashboardList(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListDeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListDeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDashboardList
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDashboardList(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listDashboardLists
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listDashboardLists(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateDashboardList
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateDashboardList(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardList", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.DashboardListsApiResponseProcessor = DashboardListsApiResponseProcessor;
+class DashboardListsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new DashboardListsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new DashboardListsApiResponseProcessor();
+    }
+    /**
+     * Create an empty dashboard list.
+     * @param param The request object
+     */
+    createDashboardList(param, options) {
+        const requestContextPromise = this.requestFactory.createDashboardList(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createDashboardList(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a dashboard list.
+     * @param param The request object
+     */
+    deleteDashboardList(param, options) {
+        const requestContextPromise = this.requestFactory.deleteDashboardList(param.listId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteDashboardList(responseContext);
+            });
+        });
+    }
+    /**
+     * Fetch an existing dashboard list's definition.
+     * @param param The request object
+     */
+    getDashboardList(param, options) {
+        const requestContextPromise = this.requestFactory.getDashboardList(param.listId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDashboardList(responseContext);
+            });
+        });
+    }
+    /**
+     * Fetch all of your existing dashboard list definitions.
+     * @param param The request object
+     */
+    listDashboardLists(options) {
+        const requestContextPromise = this.requestFactory.listDashboardLists(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listDashboardLists(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the name of a dashboard list.
+     * @param param The request object
+     */
+    updateDashboardList(param, options) {
+        const requestContextPromise = this.requestFactory.updateDashboardList(param.listId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateDashboardList(responseContext);
+            });
+        });
+    }
+}
+exports.DashboardListsApi = DashboardListsApi;
+//# sourceMappingURL=DashboardListsApi.js.map
+
+/***/ }),
+
+/***/ 51017:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardsApi = exports.DashboardsApiResponseProcessor = exports.DashboardsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class DashboardsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createDashboard(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.createDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Dashboard", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createPublicDashboard(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createPublicDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.createPublicDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SharedDashboard", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteDashboard(dashboardId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardId' is not null or undefined
+            if (dashboardId === null || dashboardId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardId", "deleteDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/{dashboard_id}".replace("{dashboard_id}", encodeURIComponent(String(dashboardId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.deleteDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteDashboards(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteDashboards");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.deleteDashboards")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardBulkDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deletePublicDashboard(token, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "deletePublicDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.deletePublicDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deletePublicDashboardInvitation(token, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "deletePublicDashboardInvitation");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deletePublicDashboardInvitation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}/invitation".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.deletePublicDashboardInvitation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SharedDashboardInvites", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getDashboard(dashboardId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardId' is not null or undefined
+            if (dashboardId === null || dashboardId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardId", "getDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/{dashboard_id}".replace("{dashboard_id}", encodeURIComponent(String(dashboardId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.getDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getPublicDashboard(token, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "getPublicDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.getPublicDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getPublicDashboardInvitations(token, pageSize, pageNumber, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "getPublicDashboardInvitations");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}/invitation".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.getPublicDashboardInvitations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page_size", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page_number", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listDashboards(filterShared, filterDeleted, count, start, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/dashboard";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.listDashboards")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterShared !== undefined) {
+                requestContext.setQueryParam("filter[shared]", ObjectSerializer_1.ObjectSerializer.serialize(filterShared, "boolean", ""));
+            }
+            if (filterDeleted !== undefined) {
+                requestContext.setQueryParam("filter[deleted]", ObjectSerializer_1.ObjectSerializer.serialize(filterDeleted, "boolean", ""));
+            }
+            if (count !== undefined) {
+                requestContext.setQueryParam("count", ObjectSerializer_1.ObjectSerializer.serialize(count, "number", "int64"));
+            }
+            if (start !== undefined) {
+                requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    restoreDashboards(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "restoreDashboards");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.restoreDashboards")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardRestoreRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    sendPublicDashboardInvitation(token, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "sendPublicDashboardInvitation");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "sendPublicDashboardInvitation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}/invitation".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.sendPublicDashboardInvitation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SharedDashboardInvites", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateDashboard(dashboardId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardId' is not null or undefined
+            if (dashboardId === null || dashboardId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardId", "updateDashboard");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/{dashboard_id}".replace("{dashboard_id}", encodeURIComponent(String(dashboardId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.updateDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Dashboard", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updatePublicDashboard(token, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'token' is not null or undefined
+            if (token === null || token === undefined) {
+                throw new baseapi_1.RequiredError("token", "updatePublicDashboard");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updatePublicDashboard");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/dashboard/public/{token}".replace("{token}", encodeURIComponent(String(token)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DashboardsApi.updatePublicDashboard")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SharedDashboardUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.DashboardsApiRequestFactory = DashboardsApiRequestFactory;
+class DashboardsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createPublicDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createPublicDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardDeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardDeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteDashboards
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteDashboards(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deletePublicDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deletePublicDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DeleteSharedDashboardResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DeleteSharedDashboardResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deletePublicDashboardInvitation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deletePublicDashboardInvitation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getPublicDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getPublicDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getPublicDashboardInvitations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getPublicDashboardInvitations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboardInvites");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboardInvites", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listDashboards
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listDashboards(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardSummary");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardSummary", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to restoreDashboards
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    restoreDashboards(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to sendPublicDashboardInvitation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    sendPublicDashboardInvitation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboardInvites");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboardInvites", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Dashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updatePublicDashboard
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updatePublicDashboard(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SharedDashboard", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.DashboardsApiResponseProcessor = DashboardsApiResponseProcessor;
+class DashboardsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new DashboardsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new DashboardsApiResponseProcessor();
+    }
+    /**
+     * Create a dashboard using the specified options. When defining queries in your widgets, take note of which queries should have the `as_count()` or `as_rate()` modifiers appended.
+     * Refer to the following [documentation](https://docs.datadoghq.com/developers/metrics/type_modifiers/?tab=count#in-application-modifiers) for more information on these modifiers.
+     * @param param The request object
+     */
+    createDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.createDashboard(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Share a specified private dashboard, generating a URL at which it can be publicly viewed.
+     * @param param The request object
+     */
+    createPublicDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.createPublicDashboard(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createPublicDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a dashboard using the specified ID.
+     * @param param The request object
+     */
+    deleteDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.deleteDashboard(param.dashboardId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete dashboards using the specified IDs. If there are any failures, no dashboards will be deleted (partial success is not allowed).
+     * @param param The request object
+     */
+    deleteDashboards(param, options) {
+        const requestContextPromise = this.requestFactory.deleteDashboards(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteDashboards(responseContext);
+            });
+        });
+    }
+    /**
+     * Revoke the public URL for a dashboard (rendering it private) associated with the specified token.
+     * @param param The request object
+     */
+    deletePublicDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.deletePublicDashboard(param.token, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deletePublicDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Revoke previously sent invitation emails and active sessions used to access a given shared dashboard for specific email addresses.
+     * @param param The request object
+     */
+    deletePublicDashboardInvitation(param, options) {
+        const requestContextPromise = this.requestFactory.deletePublicDashboardInvitation(param.token, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deletePublicDashboardInvitation(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a dashboard using the specified ID.
+     * @param param The request object
+     */
+    getDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.getDashboard(param.dashboardId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Fetch an existing shared dashboard's sharing metadata associated with the specified token.
+     * @param param The request object
+     */
+    getPublicDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.getPublicDashboard(param.token, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getPublicDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Describe the invitations that exist for the given shared dashboard (paginated).
+     * @param param The request object
+     */
+    getPublicDashboardInvitations(param, options) {
+        const requestContextPromise = this.requestFactory.getPublicDashboardInvitations(param.token, param.pageSize, param.pageNumber, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getPublicDashboardInvitations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all dashboards.
+     *
+     * **Note**: This query will only return custom created or cloned dashboards.
+     * This query will not return preset dashboards.
+     * @param param The request object
+     */
+    listDashboards(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listDashboards(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listDashboards returning a generator with all the items.
+     */
+    listDashboardsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listDashboardsWithPagination_1() {
+            let pageSize = 100;
+            if (param.count !== undefined) {
+                pageSize = param.count;
+            }
+            param.count = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listDashboards(responseContext));
+                const responseDashboards = response.dashboards;
+                if (responseDashboards === undefined) {
+                    break;
+                }
+                const results = responseDashboards;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.start === undefined) {
+                    param.start = pageSize;
+                }
+                else {
+                    param.start = param.start + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Restore dashboards using the specified IDs. If there are any failures, no dashboards will be restored (partial success is not allowed).
+     * @param param The request object
+     */
+    restoreDashboards(param, options) {
+        const requestContextPromise = this.requestFactory.restoreDashboards(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.restoreDashboards(responseContext);
+            });
+        });
+    }
+    /**
+     * Send emails to specified email addresses containing links to access a given authenticated shared dashboard. Email addresses must already belong to the authenticated shared dashboard's share_list.
+     * @param param The request object
+     */
+    sendPublicDashboardInvitation(param, options) {
+        const requestContextPromise = this.requestFactory.sendPublicDashboardInvitation(param.token, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.sendPublicDashboardInvitation(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a dashboard using the specified ID.
+     * @param param The request object
+     */
+    updateDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.updateDashboard(param.dashboardId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateDashboard(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a shared dashboard associated with the specified token.
+     * @param param The request object
+     */
+    updatePublicDashboard(param, options) {
+        const requestContextPromise = this.requestFactory.updatePublicDashboard(param.token, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updatePublicDashboard(responseContext);
+            });
+        });
+    }
+}
+exports.DashboardsApi = DashboardsApi;
+//# sourceMappingURL=DashboardsApi.js.map
+
+/***/ }),
+
+/***/ 85456:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimesApi = exports.DowntimesApiResponseProcessor = exports.DowntimesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class DowntimesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    cancelDowntime(downtimeId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "cancelDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.cancelDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    cancelDowntimesByScope(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "cancelDowntimesByScope");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/downtime/cancel/by_scope";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.cancelDowntimesByScope")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CancelDowntimesByScopeRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createDowntime(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/downtime";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.createDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Downtime", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getDowntime(downtimeId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "getDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.getDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listDowntimes(currentOnly, withCreator, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/downtime";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.listDowntimes")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (currentOnly !== undefined) {
+                requestContext.setQueryParam("current_only", ObjectSerializer_1.ObjectSerializer.serialize(currentOnly, "boolean", ""));
+            }
+            if (withCreator !== undefined) {
+                requestContext.setQueryParam("with_creator", ObjectSerializer_1.ObjectSerializer.serialize(withCreator, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listMonitorDowntimes(monitorId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "listMonitorDowntimes");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/{monitor_id}/downtimes".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.listMonitorDowntimes")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateDowntime(downtimeId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "updateDowntime");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.DowntimesApi.updateDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Downtime", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.DowntimesApiRequestFactory = DowntimesApiRequestFactory;
+class DowntimesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to cancelDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    cancelDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to cancelDowntimesByScope
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    cancelDowntimesByScope(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CanceledDowntimesIds");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CanceledDowntimesIds", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listDowntimes
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listDowntimes(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listMonitorDowntimes
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listMonitorDowntimes(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Downtime", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.DowntimesApiResponseProcessor = DowntimesApiResponseProcessor;
+class DowntimesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new DowntimesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new DowntimesApiResponseProcessor();
+    }
+    /**
+     * Cancel a downtime.
+     * @param param The request object
+     */
+    cancelDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.cancelDowntime(param.downtimeId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.cancelDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete all downtimes that match the scope of `X`.
+     * @param param The request object
+     */
+    cancelDowntimesByScope(param, options) {
+        const requestContextPromise = this.requestFactory.cancelDowntimesByScope(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.cancelDowntimesByScope(responseContext);
+            });
+        });
+    }
+    /**
+     * Schedule a downtime.
+     * @param param The request object
+     */
+    createDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.createDowntime(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Get downtime detail by `downtime_id`.
+     * @param param The request object
+     */
+    getDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.getDowntime(param.downtimeId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all scheduled downtimes.
+     * @param param The request object
+     */
+    listDowntimes(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listDowntimes(param.currentOnly, param.withCreator, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listDowntimes(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all active downtimes for the specified monitor.
+     * @param param The request object
+     */
+    listMonitorDowntimes(param, options) {
+        const requestContextPromise = this.requestFactory.listMonitorDowntimes(param.monitorId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listMonitorDowntimes(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a single downtime by `downtime_id`.
+     * @param param The request object
+     */
+    updateDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.updateDowntime(param.downtimeId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateDowntime(responseContext);
+            });
+        });
+    }
+}
+exports.DowntimesApi = DowntimesApi;
+//# sourceMappingURL=DowntimesApi.js.map
+
+/***/ }),
+
+/***/ 27887:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsApi = exports.EventsApiResponseProcessor = exports.EventsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class EventsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createEvent(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createEvent");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.EventsApi.createEvent")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "EventCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+    getEvent(eventId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'eventId' is not null or undefined
+            if (eventId === null || eventId === undefined) {
+                throw new baseapi_1.RequiredError("eventId", "getEvent");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/events/{event_id}".replace("{event_id}", encodeURIComponent(String(eventId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.EventsApi.getEvent")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listEvents(start, end, priority, sources, tags, unaggregated, excludeAggregate, page, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'start' is not null or undefined
+            if (start === null || start === undefined) {
+                throw new baseapi_1.RequiredError("start", "listEvents");
+            }
+            // verify required parameter 'end' is not null or undefined
+            if (end === null || end === undefined) {
+                throw new baseapi_1.RequiredError("end", "listEvents");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.EventsApi.listEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (start !== undefined) {
+                requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
+            }
+            if (end !== undefined) {
+                requestContext.setQueryParam("end", ObjectSerializer_1.ObjectSerializer.serialize(end, "number", "int64"));
+            }
+            if (priority !== undefined) {
+                requestContext.setQueryParam("priority", ObjectSerializer_1.ObjectSerializer.serialize(priority, "EventPriority", ""));
+            }
+            if (sources !== undefined) {
+                requestContext.setQueryParam("sources", ObjectSerializer_1.ObjectSerializer.serialize(sources, "string", ""));
+            }
+            if (tags !== undefined) {
+                requestContext.setQueryParam("tags", ObjectSerializer_1.ObjectSerializer.serialize(tags, "string", ""));
+            }
+            if (unaggregated !== undefined) {
+                requestContext.setQueryParam("unaggregated", ObjectSerializer_1.ObjectSerializer.serialize(unaggregated, "boolean", ""));
+            }
+            if (excludeAggregate !== undefined) {
+                requestContext.setQueryParam("exclude_aggregate", ObjectSerializer_1.ObjectSerializer.serialize(excludeAggregate, "boolean", ""));
+            }
+            if (page !== undefined) {
+                requestContext.setQueryParam("page", ObjectSerializer_1.ObjectSerializer.serialize(page, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.EventsApiRequestFactory = EventsApiRequestFactory;
+class EventsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createEvent
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createEvent(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getEvent
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getEvent(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.EventsApiResponseProcessor = EventsApiResponseProcessor;
+class EventsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new EventsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new EventsApiResponseProcessor();
+    }
+    /**
+     * This endpoint allows you to post events to the stream.
+     * Tag them, set priority and event aggregate them with other events.
+     * @param param The request object
+     */
+    createEvent(param, options) {
+        const requestContextPromise = this.requestFactory.createEvent(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createEvent(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint allows you to query for event details.
+     *
+     * **Note**: If the event you’re querying contains markdown formatting of any kind,
+     * you may see characters such as `%`,`\`,`n` in your output.
+     * @param param The request object
+     */
+    getEvent(param, options) {
+        const requestContextPromise = this.requestFactory.getEvent(param.eventId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getEvent(responseContext);
+            });
+        });
+    }
+    /**
+     * The event stream can be queried and filtered by time, priority, sources and tags.
+     *
+     * **Notes**:
+     * - If the event you’re querying contains markdown formatting of any kind,
+     * you may see characters such as `%`,`\`,`n` in your output.
+     *
+     * - This endpoint returns a maximum of `1000` most recent results. To return additional results,
+     * identify the last timestamp of the last result and set that as the `end` query time to
+     * paginate the results. You can also use the page parameter to specify which set of `1000` results to return.
+     * @param param The request object
+     */
+    listEvents(param, options) {
+        const requestContextPromise = this.requestFactory.listEvents(param.start, param.end, param.priority, param.sources, param.tags, param.unaggregated, param.excludeAggregate, param.page, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listEvents(responseContext);
+            });
+        });
+    }
+}
+exports.EventsApi = EventsApi;
+//# sourceMappingURL=EventsApi.js.map
+
+/***/ }),
+
+/***/ 91273:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPIntegrationApi = exports.GCPIntegrationApiResponseProcessor = exports.GCPIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class GCPIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createGCPIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createGCPIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/gcp";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.GCPIntegrationApi.createGCPIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "GCPAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteGCPIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteGCPIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/gcp";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.GCPIntegrationApi.deleteGCPIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "GCPAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listGCPIntegration(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/integration/gcp";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.GCPIntegrationApi.listGCPIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateGCPIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateGCPIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/gcp";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.GCPIntegrationApi.updateGCPIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "GCPAccount", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.GCPIntegrationApiRequestFactory = GCPIntegrationApiRequestFactory;
+class GCPIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createGCPIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createGCPIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteGCPIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteGCPIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listGCPIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listGCPIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateGCPIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateGCPIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.GCPIntegrationApiResponseProcessor = GCPIntegrationApiResponseProcessor;
+class GCPIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new GCPIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new GCPIntegrationApiResponseProcessor();
+    }
+    /**
+     * This endpoint is deprecated – use the V2 endpoints instead. Create a Datadog-GCP integration.
+     * @param param The request object
+     */
+    createGCPIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.createGCPIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createGCPIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint is deprecated – use the V2 endpoints instead. Delete a given Datadog-GCP integration.
+     * @param param The request object
+     */
+    deleteGCPIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteGCPIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteGCPIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint is deprecated – use the V2 endpoints instead. List all Datadog-GCP integrations configured in your Datadog account.
+     * @param param The request object
+     */
+    listGCPIntegration(options) {
+        const requestContextPromise = this.requestFactory.listGCPIntegration(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listGCPIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint is deprecated – use the V2 endpoints instead. Update a Datadog-GCP integrations host_filters and/or auto-mute.
+     * Requires a `project_id` and `client_email`, however these fields cannot be updated.
+     * If you need to update these fields, delete and use the create (`POST`) endpoint.
+     * The unspecified fields will keep their original values.
+     * @param param The request object
+     */
+    updateGCPIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.updateGCPIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateGCPIntegration(responseContext);
+            });
+        });
+    }
+}
+exports.GCPIntegrationApi = GCPIntegrationApi;
+//# sourceMappingURL=GCPIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 7642:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostsApi = exports.HostsApiResponseProcessor = exports.HostsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class HostsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getHostTotals(from, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/hosts/totals";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.HostsApi.getHostTotals")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (from !== undefined) {
+                requestContext.setQueryParam("from", ObjectSerializer_1.ObjectSerializer.serialize(from, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listHosts(filter, sortField, sortDir, start, count, from, includeMutedHostsData, includeHostsMetadata, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/hosts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.HostsApi.listHosts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (sortField !== undefined) {
+                requestContext.setQueryParam("sort_field", ObjectSerializer_1.ObjectSerializer.serialize(sortField, "string", ""));
+            }
+            if (sortDir !== undefined) {
+                requestContext.setQueryParam("sort_dir", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, "string", ""));
+            }
+            if (start !== undefined) {
+                requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
+            }
+            if (count !== undefined) {
+                requestContext.setQueryParam("count", ObjectSerializer_1.ObjectSerializer.serialize(count, "number", "int64"));
+            }
+            if (from !== undefined) {
+                requestContext.setQueryParam("from", ObjectSerializer_1.ObjectSerializer.serialize(from, "number", "int64"));
+            }
+            if (includeMutedHostsData !== undefined) {
+                requestContext.setQueryParam("include_muted_hosts_data", ObjectSerializer_1.ObjectSerializer.serialize(includeMutedHostsData, "boolean", ""));
+            }
+            if (includeHostsMetadata !== undefined) {
+                requestContext.setQueryParam("include_hosts_metadata", ObjectSerializer_1.ObjectSerializer.serialize(includeHostsMetadata, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    muteHost(hostName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "muteHost");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "muteHost");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/host/{host_name}/mute".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.HostsApi.muteHost")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "HostMuteSettings", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    unmuteHost(hostName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "unmuteHost");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/host/{host_name}/unmute".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.HostsApi.unmuteHost")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.HostsApiRequestFactory = HostsApiRequestFactory;
+class HostsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getHostTotals
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getHostTotals(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTotals");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTotals", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listHosts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listHosts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to muteHost
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    muteHost(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostMuteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostMuteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to unmuteHost
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    unmuteHost(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostMuteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostMuteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.HostsApiResponseProcessor = HostsApiResponseProcessor;
+class HostsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new HostsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new HostsApiResponseProcessor();
+    }
+    /**
+     * This endpoint returns the total number of active and up hosts in your Datadog account.
+     * Active means the host has reported in the past hour, and up means it has reported in the past two hours.
+     * @param param The request object
+     */
+    getHostTotals(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getHostTotals(param.from, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getHostTotals(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint allows searching for hosts by name, alias, or tag.
+     * Hosts live within the past 3 hours are included by default.
+     * Retention is 7 days.
+     * Results are paginated with a max of 1000 results at a time.
+     * @param param The request object
+     */
+    listHosts(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listHosts(param.filter, param.sortField, param.sortDir, param.start, param.count, param.from, param.includeMutedHostsData, param.includeHostsMetadata, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listHosts(responseContext);
+            });
+        });
+    }
+    /**
+     * Mute a host.
+     * @param param The request object
+     */
+    muteHost(param, options) {
+        const requestContextPromise = this.requestFactory.muteHost(param.hostName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.muteHost(responseContext);
+            });
+        });
+    }
+    /**
+     * Unmutes a host. This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    unmuteHost(param, options) {
+        const requestContextPromise = this.requestFactory.unmuteHost(param.hostName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.unmuteHost(responseContext);
+            });
+        });
+    }
+}
+exports.HostsApi = HostsApi;
+//# sourceMappingURL=HostsApi.js.map
+
+/***/ }),
+
+/***/ 50599:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPRangesApi = exports.IPRangesApiResponseProcessor = exports.IPRangesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class IPRangesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getIPRanges(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.IPRangesApi.getIPRanges")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            return requestContext;
+        });
+    }
+}
+exports.IPRangesApiRequestFactory = IPRangesApiRequestFactory;
+class IPRangesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIPRanges
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIPRanges(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPRanges");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPRanges", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.IPRangesApiResponseProcessor = IPRangesApiResponseProcessor;
+class IPRangesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new IPRangesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new IPRangesApiResponseProcessor();
+    }
+    /**
+     * Get information about Datadog IP ranges.
+     * @param param The request object
+     */
+    getIPRanges(options) {
+        const requestContextPromise = this.requestFactory.getIPRanges(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIPRanges(responseContext);
+            });
+        });
+    }
+}
+exports.IPRangesApi = IPRangesApi;
+//# sourceMappingURL=IPRangesApi.js.map
+
+/***/ }),
+
+/***/ 42269:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.KeyManagementApi = exports.KeyManagementApiResponseProcessor = exports.KeyManagementApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class KeyManagementApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createAPIKey(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/api_key";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.createAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApiKey", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createApplicationKey(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/application_key";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.createApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKey", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAPIKey(key, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "deleteAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/api_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.deleteAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteApplicationKey(key, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "deleteApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/application_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.deleteApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAPIKey(key, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "getAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/api_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.getAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getApplicationKey(key, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "getApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/application_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.getApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAPIKeys(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/api_key";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.listAPIKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listApplicationKeys(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/application_key";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.listApplicationKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAPIKey(key, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "updateAPIKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/api_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.updateAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApiKey", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateApplicationKey(key, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new baseapi_1.RequiredError("key", "updateApplicationKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/application_key/{key}".replace("{key}", encodeURIComponent(String(key)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.KeyManagementApi.updateApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKey", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.KeyManagementApiRequestFactory = KeyManagementApiRequestFactory;
+class KeyManagementApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAPIKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAPIKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listApplicationKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listApplicationKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApiKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.KeyManagementApiResponseProcessor = KeyManagementApiResponseProcessor;
+class KeyManagementApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new KeyManagementApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new KeyManagementApiResponseProcessor();
+    }
+    /**
+     * Creates an API key with a given name.
+     * @param param The request object
+     */
+    createAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.createAPIKey(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an application key with a given name.
+     * @param param The request object
+     */
+    createApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.createApplicationKey(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given API key.
+     * @param param The request object
+     */
+    deleteAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAPIKey(param.key, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given application key.
+     * @param param The request object
+     */
+    deleteApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteApplicationKey(param.key, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a given API key.
+     * @param param The request object
+     */
+    getAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.getAPIKey(param.key, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a given application key.
+     * @param param The request object
+     */
+    getApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.getApplicationKey(param.key, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all API keys available for your account.
+     * @param param The request object
+     */
+    listAPIKeys(options) {
+        const requestContextPromise = this.requestFactory.listAPIKeys(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAPIKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all application keys available for your Datadog account.
+     * @param param The request object
+     */
+    listApplicationKeys(options) {
+        const requestContextPromise = this.requestFactory.listApplicationKeys(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listApplicationKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an API key name.
+     * @param param The request object
+     */
+    updateAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateAPIKey(param.key, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an application key name.
+     * @param param The request object
+     */
+    updateApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateApplicationKey(param.key, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateApplicationKey(responseContext);
+            });
+        });
+    }
+}
+exports.KeyManagementApi = KeyManagementApi;
+//# sourceMappingURL=KeyManagementApi.js.map
+
+/***/ }),
+
+/***/ 12936:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsApi = exports.LogsApiResponseProcessor = exports.LogsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class LogsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    listLogs(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "listLogs");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs-queries/list";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsApi.listLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsListRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    submitLog(body, contentEncoding, ddtags, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitLog");
+            }
+            // Path Params
+            const localVarPath = "/v1/input";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsApi.submitLog")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (ddtags !== undefined) {
+                requestContext.setQueryParam("ddtags", ObjectSerializer_1.ObjectSerializer.serialize(ddtags, "string", ""));
+            }
+            // Header Params
+            if (contentEncoding !== undefined) {
+                requestContext.setHeaderParam("Content-Encoding", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, "ContentEncoding", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+                "application/json;simple",
+                "application/logplex-1",
+                "text/plain",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Array", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsApiRequestFactory = LogsApiRequestFactory;
+class LogsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitLog
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitLog(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "HTTPLogError");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsApiResponseProcessor = LogsApiResponseProcessor;
+class LogsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsApiResponseProcessor();
+    }
+    /**
+     * List endpoint returns logs that match a log search query.
+     * [Results are paginated][1].
+     *
+     * **If you are considering archiving logs for your organization,
+     * consider use of the Datadog archive capabilities instead of the log list API.
+     * See [Datadog Logs Archive documentation][2].**
+     *
+     * [1]: /logs/guide/collect-multiple-logs-with-pagination
+     * [2]: https://docs.datadoghq.com/logs/archives
+     * @param param The request object
+     */
+    listLogs(param, options) {
+        const requestContextPromise = this.requestFactory.listLogs(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Send your logs to your Datadog platform over HTTP. Limits per HTTP request are:
+     *
+     * - Maximum content size per payload (uncompressed): 5MB
+     * - Maximum size for a single log: 1MB
+     * - Maximum array size if sending multiple logs in an array: 1000 entries
+     *
+     * Any log exceeding 1MB is accepted and truncated by Datadog:
+     * - For a single log request, the API truncates the log at 1MB and returns a 2xx.
+     * - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx.
+     *
+     * Datadog recommends sending your logs compressed.
+     * Add the `Content-Encoding: gzip` header to the request when sending compressed logs.
+     *
+     * The status codes answered by the HTTP API are:
+     * - 200: OK
+     * - 400: Bad request (likely an issue in the payload formatting)
+     * - 403: Permission issue (likely using an invalid API Key)
+     * - 413: Payload too large (batch is above 5MB uncompressed)
+     * - 5xx: Internal error, request should be retried after some time
+     * @param param The request object
+     */
+    submitLog(param, options) {
+        const requestContextPromise = this.requestFactory.submitLog(param.body, param.contentEncoding, param.ddtags, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitLog(responseContext);
+            });
+        });
+    }
+}
+exports.LogsApi = LogsApi;
+//# sourceMappingURL=LogsApi.js.map
+
+/***/ }),
+
+/***/ 31104:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsIndexesApi = exports.LogsIndexesApiResponseProcessor = exports.LogsIndexesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class LogsIndexesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createLogsIndex(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createLogsIndex");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/indexes";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.createLogsIndex")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsIndex", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsIndex(name, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'name' is not null or undefined
+            if (name === null || name === undefined) {
+                throw new baseapi_1.RequiredError("name", "getLogsIndex");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/indexes/{name}".replace("{name}", encodeURIComponent(String(name)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.getLogsIndex")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsIndexOrder(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/index-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.getLogsIndexOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogIndexes(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/indexes";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.listLogIndexes")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsIndex(name, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'name' is not null or undefined
+            if (name === null || name === undefined) {
+                throw new baseapi_1.RequiredError("name", "updateLogsIndex");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsIndex");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/indexes/{name}".replace("{name}", encodeURIComponent(String(name)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.updateLogsIndex")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsIndexUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsIndexOrder(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsIndexOrder");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/index-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsIndexesApi.updateLogsIndexOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsIndexesOrder", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsIndexesApiRequestFactory = LogsIndexesApiRequestFactory;
+class LogsIndexesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createLogsIndex
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createLogsIndex(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsIndex
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsIndex(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 404) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsIndexOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsIndexOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexesOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexesOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogIndexes
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogIndexes(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsIndex
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsIndex(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndex", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsIndexOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsIndexOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexesOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsIndexesOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsIndexesApiResponseProcessor = LogsIndexesApiResponseProcessor;
+class LogsIndexesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsIndexesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsIndexesApiResponseProcessor();
+    }
+    /**
+     * Creates a new index. Returns the Index object passed in the request body when the request is successful.
+     * @param param The request object
+     */
+    createLogsIndex(param, options) {
+        const requestContextPromise = this.requestFactory.createLogsIndex(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createLogsIndex(responseContext);
+            });
+        });
+    }
+    /**
+     * Get one log index from your organization. This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    getLogsIndex(param, options) {
+        const requestContextPromise = this.requestFactory.getLogsIndex(param.name, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsIndex(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the current order of your log indexes. This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    getLogsIndexOrder(options) {
+        const requestContextPromise = this.requestFactory.getLogsIndexOrder(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsIndexOrder(responseContext);
+            });
+        });
+    }
+    /**
+     * The Index object describes the configuration of a log index.
+     * This endpoint returns an array of the `LogIndex` objects of your organization.
+     * @param param The request object
+     */
+    listLogIndexes(options) {
+        const requestContextPromise = this.requestFactory.listLogIndexes(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogIndexes(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an index as identified by its name.
+     * Returns the Index object passed in the request body when the request is successful.
+     *
+     * Using the `PUT` method updates your index’s configuration by **replacing**
+     * your current configuration with the new one sent to your Datadog organization.
+     * @param param The request object
+     */
+    updateLogsIndex(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsIndex(param.name, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsIndex(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint updates the index order of your organization.
+     * It returns the index order object passed in the request body when the request is successful.
+     * @param param The request object
+     */
+    updateLogsIndexOrder(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsIndexOrder(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsIndexOrder(responseContext);
+            });
+        });
+    }
+}
+exports.LogsIndexesApi = LogsIndexesApi;
+//# sourceMappingURL=LogsIndexesApi.js.map
+
+/***/ }),
+
+/***/ 1852:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsPipelinesApi = exports.LogsPipelinesApiResponseProcessor = exports.LogsPipelinesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class LogsPipelinesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createLogsPipeline(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createLogsPipeline");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipelines";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.createLogsPipeline")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsPipeline", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteLogsPipeline(pipelineId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'pipelineId' is not null or undefined
+            if (pipelineId === null || pipelineId === undefined) {
+                throw new baseapi_1.RequiredError("pipelineId", "deleteLogsPipeline");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipelines/{pipeline_id}".replace("{pipeline_id}", encodeURIComponent(String(pipelineId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.deleteLogsPipeline")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsPipeline(pipelineId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'pipelineId' is not null or undefined
+            if (pipelineId === null || pipelineId === undefined) {
+                throw new baseapi_1.RequiredError("pipelineId", "getLogsPipeline");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipelines/{pipeline_id}".replace("{pipeline_id}", encodeURIComponent(String(pipelineId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.getLogsPipeline")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsPipelineOrder(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipeline-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.getLogsPipelineOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogsPipelines(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipelines";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.listLogsPipelines")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsPipeline(pipelineId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'pipelineId' is not null or undefined
+            if (pipelineId === null || pipelineId === undefined) {
+                throw new baseapi_1.RequiredError("pipelineId", "updateLogsPipeline");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsPipeline");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipelines/{pipeline_id}".replace("{pipeline_id}", encodeURIComponent(String(pipelineId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.updateLogsPipeline")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsPipeline", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsPipelineOrder(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsPipelineOrder");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/logs/config/pipeline-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.LogsPipelinesApi.updateLogsPipelineOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsPipelinesOrder", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsPipelinesApiRequestFactory = LogsPipelinesApiRequestFactory;
+class LogsPipelinesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createLogsPipeline
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createLogsPipeline(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteLogsPipeline
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteLogsPipeline(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsPipeline
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsPipeline(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsPipelineOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsPipelineOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipelinesOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipelinesOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogsPipelines
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogsPipelines(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsPipeline
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsPipeline(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline");
+                return body;
+            }
+            if (response.httpStatusCode == 400) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipeline", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsPipelineOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsPipelineOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipelinesOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 422) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "LogsAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsPipelinesOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsPipelinesApiResponseProcessor = LogsPipelinesApiResponseProcessor;
+class LogsPipelinesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsPipelinesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsPipelinesApiResponseProcessor();
+    }
+    /**
+     * Create a pipeline in your organization.
+     * @param param The request object
+     */
+    createLogsPipeline(param, options) {
+        const requestContextPromise = this.requestFactory.createLogsPipeline(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createLogsPipeline(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given pipeline from your organization.
+     * This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    deleteLogsPipeline(param, options) {
+        const requestContextPromise = this.requestFactory.deleteLogsPipeline(param.pipelineId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteLogsPipeline(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific pipeline from your organization.
+     * This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    getLogsPipeline(param, options) {
+        const requestContextPromise = this.requestFactory.getLogsPipeline(param.pipelineId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsPipeline(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the current order of your pipelines.
+     * This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    getLogsPipelineOrder(options) {
+        const requestContextPromise = this.requestFactory.getLogsPipelineOrder(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsPipelineOrder(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all pipelines from your organization.
+     * This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    listLogsPipelines(options) {
+        const requestContextPromise = this.requestFactory.listLogsPipelines(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogsPipelines(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a given pipeline configuration to change it’s processors or their order.
+     *
+     * **Note**: Using this method updates your pipeline configuration by **replacing**
+     * your current configuration with the new one sent to your Datadog organization.
+     * @param param The request object
+     */
+    updateLogsPipeline(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsPipeline(param.pipelineId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsPipeline(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the order of your pipelines. Since logs are processed sequentially, reordering a pipeline may change
+     * the structure and content of the data processed by other pipelines and their processors.
+     *
+     * **Note**: Using the `PUT` method updates your pipeline order by replacing your current order
+     * with the new one sent to your Datadog organization.
+     * @param param The request object
+     */
+    updateLogsPipelineOrder(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsPipelineOrder(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsPipelineOrder(responseContext);
+            });
+        });
+    }
+}
+exports.LogsPipelinesApi = LogsPipelinesApi;
+//# sourceMappingURL=LogsPipelinesApi.js.map
+
+/***/ }),
+
+/***/ 42408:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsApi = exports.MetricsApiResponseProcessor = exports.MetricsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class MetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getMetricMetadata(metricName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "getMetricMetadata");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/metrics/{metric_name}".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.getMetricMetadata")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listActiveMetrics(from, host, tagFilter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'from' is not null or undefined
+            if (from === null || from === undefined) {
+                throw new baseapi_1.RequiredError("from", "listActiveMetrics");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.listActiveMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (from !== undefined) {
+                requestContext.setQueryParam("from", ObjectSerializer_1.ObjectSerializer.serialize(from, "number", "int64"));
+            }
+            if (host !== undefined) {
+                requestContext.setQueryParam("host", ObjectSerializer_1.ObjectSerializer.serialize(host, "string", ""));
+            }
+            if (tagFilter !== undefined) {
+                requestContext.setQueryParam("tag_filter", ObjectSerializer_1.ObjectSerializer.serialize(tagFilter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listMetrics(q, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'q' is not null or undefined
+            if (q === null || q === undefined) {
+                throw new baseapi_1.RequiredError("q", "listMetrics");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.listMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (q !== undefined) {
+                requestContext.setQueryParam("q", ObjectSerializer_1.ObjectSerializer.serialize(q, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    queryMetrics(from, to, query, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'from' is not null or undefined
+            if (from === null || from === undefined) {
+                throw new baseapi_1.RequiredError("from", "queryMetrics");
+            }
+            // verify required parameter 'to' is not null or undefined
+            if (to === null || to === undefined) {
+                throw new baseapi_1.RequiredError("to", "queryMetrics");
+            }
+            // verify required parameter 'query' is not null or undefined
+            if (query === null || query === undefined) {
+                throw new baseapi_1.RequiredError("query", "queryMetrics");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/query";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.queryMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (from !== undefined) {
+                requestContext.setQueryParam("from", ObjectSerializer_1.ObjectSerializer.serialize(from, "number", "int64"));
+            }
+            if (to !== undefined) {
+                requestContext.setQueryParam("to", ObjectSerializer_1.ObjectSerializer.serialize(to, "number", "int64"));
+            }
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    submitDistributionPoints(body, contentEncoding, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitDistributionPoints");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/distribution_points";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.submitDistributionPoints")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "text/json, application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Header Params
+            if (contentEncoding !== undefined) {
+                requestContext.setHeaderParam("Content-Encoding", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, "DistributionPointsContentEncoding", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType(["text/json"]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DistributionPointsPayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+    submitMetrics(body, contentEncoding, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitMetrics");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/series";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.submitMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "text/json, application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Header Params
+            if (contentEncoding !== undefined) {
+                requestContext.setHeaderParam("Content-Encoding", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, "MetricContentEncoding", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType(["text/json"]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricsPayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+    updateMetricMetadata(metricName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "updateMetricMetadata");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateMetricMetadata");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/metrics/{metric_name}".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MetricsApi.updateMetricMetadata")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricMetadata", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.MetricsApiRequestFactory = MetricsApiRequestFactory;
+class MetricsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getMetricMetadata
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getMetricMetadata(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricMetadata");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricMetadata", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listActiveMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listActiveMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricSearchResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricSearchResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to queryMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    queryMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsQueryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsQueryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitDistributionPoints
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitDistributionPoints(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateMetricMetadata
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateMetricMetadata(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricMetadata");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricMetadata", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.MetricsApiResponseProcessor = MetricsApiResponseProcessor;
+class MetricsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new MetricsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new MetricsApiResponseProcessor();
+    }
+    /**
+     * Get metadata about a specific metric.
+     * @param param The request object
+     */
+    getMetricMetadata(param, options) {
+        const requestContextPromise = this.requestFactory.getMetricMetadata(param.metricName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getMetricMetadata(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of actively reporting metrics from a given time until now.
+     * @param param The request object
+     */
+    listActiveMetrics(param, options) {
+        const requestContextPromise = this.requestFactory.listActiveMetrics(param.from, param.host, param.tagFilter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listActiveMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Search for metrics from the last 24 hours in Datadog.
+     * @param param The request object
+     */
+    listMetrics(param, options) {
+        const requestContextPromise = this.requestFactory.listMetrics(param.q, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Query timeseries points.
+     * @param param The request object
+     */
+    queryMetrics(param, options) {
+        const requestContextPromise = this.requestFactory.queryMetrics(param.from, param.to, param.query, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.queryMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * The distribution points end-point allows you to post distribution data that can be graphed on Datadog’s dashboards.
+     * @param param The request object
+     */
+    submitDistributionPoints(param, options) {
+        const requestContextPromise = this.requestFactory.submitDistributionPoints(param.body, param.contentEncoding, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitDistributionPoints(responseContext);
+            });
+        });
+    }
+    /**
+     * The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards.
+     * The maximum payload size is 3.2 megabytes (3200000 bytes). Compressed payloads must have a decompressed size of less than 62 megabytes (62914560 bytes).
+     *
+     * If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect:
+     *
+     * - 64 bits for the timestamp
+     * - 64 bits for the value
+     * - 40 bytes for the metric names
+     * - 50 bytes for the timeseries
+     * - The full payload is approximately 100 bytes. However, with the DogStatsD API,
+     * compression is applied, which reduces the payload size.
+     * @param param The request object
+     */
+    submitMetrics(param, options) {
+        const requestContextPromise = this.requestFactory.submitMetrics(param.body, param.contentEncoding, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit metadata of a specific metric. Find out more about [supported types](https://docs.datadoghq.com/developers/metrics).
+     * @param param The request object
+     */
+    updateMetricMetadata(param, options) {
+        const requestContextPromise = this.requestFactory.updateMetricMetadata(param.metricName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateMetricMetadata(responseContext);
+            });
+        });
+    }
+}
+exports.MetricsApi = MetricsApi;
+//# sourceMappingURL=MetricsApi.js.map
+
+/***/ }),
+
+/***/ 23565:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorsApi = exports.MonitorsApiResponseProcessor = exports.MonitorsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class MonitorsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    checkCanDeleteMonitor(monitorIds, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorIds' is not null or undefined
+            if (monitorIds === null || monitorIds === undefined) {
+                throw new baseapi_1.RequiredError("monitorIds", "checkCanDeleteMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/can_delete";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.checkCanDeleteMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (monitorIds !== undefined) {
+                requestContext.setQueryParam("monitor_ids", ObjectSerializer_1.ObjectSerializer.serialize(monitorIds, "Array", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createMonitor(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.createMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Monitor", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteMonitor(monitorId, force, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "deleteMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/{monitor_id}".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.deleteMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (force !== undefined) {
+                requestContext.setQueryParam("force", ObjectSerializer_1.ObjectSerializer.serialize(force, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getMonitor(monitorId, groupStates, withDowntimes, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "getMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/{monitor_id}".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.getMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (groupStates !== undefined) {
+                requestContext.setQueryParam("group_states", ObjectSerializer_1.ObjectSerializer.serialize(groupStates, "string", ""));
+            }
+            if (withDowntimes !== undefined) {
+                requestContext.setQueryParam("with_downtimes", ObjectSerializer_1.ObjectSerializer.serialize(withDowntimes, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listMonitors(groupStates, name, tags, monitorTags, withDowntimes, idOffset, page, pageSize, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/monitor";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.listMonitors")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (groupStates !== undefined) {
+                requestContext.setQueryParam("group_states", ObjectSerializer_1.ObjectSerializer.serialize(groupStates, "string", ""));
+            }
+            if (name !== undefined) {
+                requestContext.setQueryParam("name", ObjectSerializer_1.ObjectSerializer.serialize(name, "string", ""));
+            }
+            if (tags !== undefined) {
+                requestContext.setQueryParam("tags", ObjectSerializer_1.ObjectSerializer.serialize(tags, "string", ""));
+            }
+            if (monitorTags !== undefined) {
+                requestContext.setQueryParam("monitor_tags", ObjectSerializer_1.ObjectSerializer.serialize(monitorTags, "string", ""));
+            }
+            if (withDowntimes !== undefined) {
+                requestContext.setQueryParam("with_downtimes", ObjectSerializer_1.ObjectSerializer.serialize(withDowntimes, "boolean", ""));
+            }
+            if (idOffset !== undefined) {
+                requestContext.setQueryParam("id_offset", ObjectSerializer_1.ObjectSerializer.serialize(idOffset, "number", "int64"));
+            }
+            if (page !== undefined) {
+                requestContext.setQueryParam("page", ObjectSerializer_1.ObjectSerializer.serialize(page, "number", "int64"));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page_size", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchMonitorGroups(query, page, perPage, sort, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/monitor/groups/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.searchMonitorGroups")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (page !== undefined) {
+                requestContext.setQueryParam("page", ObjectSerializer_1.ObjectSerializer.serialize(page, "number", "int64"));
+            }
+            if (perPage !== undefined) {
+                requestContext.setQueryParam("per_page", ObjectSerializer_1.ObjectSerializer.serialize(perPage, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchMonitors(query, page, perPage, sort, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/monitor/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.searchMonitors")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (page !== undefined) {
+                requestContext.setQueryParam("page", ObjectSerializer_1.ObjectSerializer.serialize(page, "number", "int64"));
+            }
+            if (perPage !== undefined) {
+                requestContext.setQueryParam("per_page", ObjectSerializer_1.ObjectSerializer.serialize(perPage, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateMonitor(monitorId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "updateMonitor");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/{monitor_id}".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.updateMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MonitorUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    validateExistingMonitor(monitorId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "validateExistingMonitor");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "validateExistingMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/{monitor_id}/validate".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.validateExistingMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Monitor", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    validateMonitor(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "validateMonitor");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monitor/validate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.MonitorsApi.validateMonitor")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Monitor", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.MonitorsApiRequestFactory = MonitorsApiRequestFactory;
+class MonitorsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to checkCanDeleteMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    checkCanDeleteMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CheckCanDeleteMonitorResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CheckCanDeleteMonitorResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DeletedMonitor");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DeletedMonitor", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listMonitors
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listMonitors(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchMonitorGroups
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchMonitorGroups(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorGroupSearchResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorGroupSearchResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchMonitors
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchMonitors(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorSearchResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorSearchResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Monitor", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to validateExistingMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    validateExistingMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to validateMonitor
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    validateMonitor(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.MonitorsApiResponseProcessor = MonitorsApiResponseProcessor;
+class MonitorsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new MonitorsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new MonitorsApiResponseProcessor();
+    }
+    /**
+     * Check if the given monitors can be deleted.
+     * @param param The request object
+     */
+    checkCanDeleteMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.checkCanDeleteMonitor(param.monitorIds, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.checkCanDeleteMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a monitor using the specified options.
+     *
+     * #### Monitor Types
+     *
+     * The type of monitor chosen from:
+     *
+     * - anomaly: `query alert`
+     * - APM: `query alert` or `trace-analytics alert`
+     * - composite: `composite`
+     * - custom: `service check`
+     * - event: `event alert`
+     * - forecast: `query alert`
+     * - host: `service check`
+     * - integration: `query alert` or `service check`
+     * - live process: `process alert`
+     * - logs: `log alert`
+     * - metric: `query alert`
+     * - network: `service check`
+     * - outlier: `query alert`
+     * - process: `service check`
+     * - rum: `rum alert`
+     * - SLO: `slo alert`
+     * - watchdog: `event alert`
+     * - event-v2: `event-v2 alert`
+     * - audit: `audit alert`
+     * - error-tracking: `error-tracking alert`
+     * - database-monitoring: `database-monitoring alert`
+     *
+     * **Note**: Synthetic monitors are created through the Synthetics API. See the [Synthetics API] (https://docs.datadoghq.com/api/latest/synthetics/) documentation for more information.
+     *
+     * #### Query Types
+     *
+     * ##### Metric Alert Query
+     *
+     * Example: `time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #`
+     *
+     * - `time_aggr`: avg, sum, max, min, change, or pct_change
+     * - `time_window`: `last_#m` (with `#` between 1 and 10080 depending on the monitor type) or `last_#h`(with `#` between 1 and 168 depending on the monitor type) or `last_1d`, or `last_1w`
+     * - `space_aggr`: avg, sum, min, or max
+     * - `tags`: one or more tags (comma-separated), or *
+     * - `key`: a 'key' in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert)
+     * - `operator`: <, <=, >, >=, ==, or !=
+     * - `#`: an integer or decimal number used to set the threshold
+     *
+     * If you are using the `_change_` or `_pct_change_` time aggregator, instead use `change_aggr(time_aggr(time_window),
+     * timeshift):space_aggr:metric{tags} [by {key}] operator #` with:
+     *
+     * - `change_aggr` change, pct_change
+     * - `time_aggr` avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/create/types/#define-the-conditions)
+     * - `time_window` last\_#m (between 1 and 2880 depending on the monitor type), last\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2)
+     * - `timeshift` #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago
+     *
+     * Use this to create an outlier monitor using the following query:
+     * `avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0`
+     *
+     * ##### Service Check Query
+     *
+     * Example: `"check".over(tags).last(count).by(group).count_by_status()`
+     *
+     * - `check` name of the check, for example `datadog.agent.up`
+     * - `tags` one or more quoted tags (comma-separated), or "*". for example: `.over("env:prod", "role:db")`; `over` cannot be blank.
+     * - `count` must be at greater than or equal to your max threshold (defined in the `options`). It is limited to 100.
+     * For example, if you've specified to notify on 1 critical, 3 ok, and 2 warn statuses, `count` should be at least 3.
+     * - `group` must be specified for check monitors. Per-check grouping is already explicitly known for some service checks.
+     * For example, Postgres integration monitors are tagged by `db`, `host`, and `port`, and Network monitors by `host`, `instance`, and `url`. See [Service Checks](https://docs.datadoghq.com/api/latest/service-checks/) documentation for more information.
+     *
+     * ##### Event Alert Query
+     *
+     * Example: `events('sources:nagios status:error,warning priority:normal tags: "string query"').rollup("count").last("1h")"`
+     *
+     * - `event`, the event query string:
+     * - `string_query` free text query to match against event title and text.
+     * - `sources` event sources (comma-separated).
+     * - `status` event statuses (comma-separated). Valid options: error, warn, and info.
+     * - `priority` event priorities (comma-separated). Valid options: low, normal, all.
+     * - `host` event reporting host (comma-separated).
+     * - `tags` event tags (comma-separated).
+     * - `excluded_tags` excluded event tags (comma-separated).
+     * - `rollup` the stats roll-up method. `count` is the only supported method now.
+     * - `last` the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours.
+     *
+     * **NOTE** The Event Alert Query is being deprecated and replaced by the Event V2 Alert Query. For more information, see the [Event Migration guide](https://docs.datadoghq.com/events/guides/migrating_to_new_events_features/).
+     *
+     * ##### Event V2 Alert Query
+     *
+     * Example: `events(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * ##### Process Alert Query
+     *
+     * Example: `processes(search).over(tags).rollup('count').last(timeframe) operator #`
+     *
+     * - `search` free text search string for querying processes.
+     * Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows) page.
+     * - `tags` one or more tags (comma-separated)
+     * - `timeframe` the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d
+     * - `operator` <, <=, >, >=, ==, or !=
+     * - `#` an integer or decimal number used to set the threshold
+     *
+     * ##### Logs Alert Query
+     *
+     * Example: `logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `index_name` For multi-index organizations, the log index in which the request is performed.
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * ##### Composite Query
+     *
+     * Example: `12345 && 67890`, where `12345` and `67890` are the IDs of non-composite monitors
+     *
+     * * `name` [*required*, *default* = **dynamic, based on query**]: The name of the alert.
+     * * `message` [*required*, *default* = **dynamic, based on query**]: A message to include with notifications for this monitor.
+     * Email notifications can be sent to specific users by using the same '@username' notation as events.
+     * * `tags` [*optional*, *default* = **empty list**]: A list of tags to associate with your monitor.
+     * When getting all monitor details via the API, use the `monitor_tags` argument to filter results by these tags.
+     * It is only available via the API and isn't visible or editable in the Datadog UI.
+     *
+     * ##### SLO Alert Query
+     *
+     * Example: `error_budget("slo_id").over("time_window") operator #`
+     *
+     * - `slo_id`: The alphanumeric SLO ID of the SLO you are configuring the alert for.
+     * - `time_window`: The time window of the SLO target you wish to alert on. Valid options: `7d`, `30d`, `90d`.
+     * - `operator`: `>=` or `>`
+     *
+     * ##### Audit Alert Query
+     *
+     * Example: `audits(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * **NOTE** Only available on US1-FED and in closed beta on US1, EU, AP1, US3, and US5.
+     *
+     * ##### CI Pipelines Alert Query
+     *
+     * Example: `ci-pipelines(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * **NOTE** CI Pipeline monitors are in alpha on US1, EU, AP1, US3, and US5.
+     *
+     * ##### CI Tests Alert Query
+     *
+     * Example: `ci-tests(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * **NOTE** CI Test monitors are available only in closed beta on US1, EU, AP1, US3, and US5.
+     *
+     * ##### Error Tracking Alert Query
+     *
+     * Example(RUM): `error-tracking-rum(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     * Example(APM Traces): `error-tracking-traces(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * **Database Monitoring Alert Query**
+     *
+     * Example: `database-monitoring(query).rollup(rollup_method[, measure]).last(time_window) operator #`
+     *
+     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).
+     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.
+     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.
+     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).
+     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.
+     * - `#` an integer or decimal number used to set the threshold.
+     *
+     * **NOTE** Database Monitoring monitors are in alpha on US1.
+     * @param param The request object
+     */
+    createMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.createMonitor(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete the specified monitor
+     * @param param The request object
+     */
+    deleteMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.deleteMonitor(param.monitorId, param.force, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Get details about the specified monitor from your organization.
+     * @param param The request object
+     */
+    getMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.getMonitor(param.monitorId, param.groupStates, param.withDowntimes, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Get details about the specified monitor from your organization.
+     * @param param The request object
+     */
+    listMonitors(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listMonitors(param.groupStates, param.name, param.tags, param.monitorTags, param.withDowntimes, param.idOffset, param.page, param.pageSize, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listMonitors(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listMonitors returning a generator with all the items.
+     */
+    listMonitorsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listMonitorsWithPagination_1() {
+            let pageSize = 100;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            param.page = 0;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listMonitors(param.groupStates, param.name, param.tags, param.monitorTags, param.withDowntimes, param.idOffset, param.page, param.pageSize, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listMonitors(responseContext));
+                const results = response;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                param.page = param.page + 1;
+            }
+        });
+    }
+    /**
+     * Search and filter your monitor groups details.
+     * @param param The request object
+     */
+    searchMonitorGroups(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchMonitorGroups(param.query, param.page, param.perPage, param.sort, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchMonitorGroups(responseContext);
+            });
+        });
+    }
+    /**
+     * Search and filter your monitors details.
+     * @param param The request object
+     */
+    searchMonitors(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchMonitors(param.query, param.page, param.perPage, param.sort, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchMonitors(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit the specified monitor.
+     * @param param The request object
+     */
+    updateMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.updateMonitor(param.monitorId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Validate the monitor provided in the request.
+     * @param param The request object
+     */
+    validateExistingMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.validateExistingMonitor(param.monitorId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.validateExistingMonitor(responseContext);
+            });
+        });
+    }
+    /**
+     * Validate the monitor provided in the request.
+     * @param param The request object
+     */
+    validateMonitor(param, options) {
+        const requestContextPromise = this.requestFactory.validateMonitor(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.validateMonitor(responseContext);
+            });
+        });
+    }
+}
+exports.MonitorsApi = MonitorsApi;
+//# sourceMappingURL=MonitorsApi.js.map
+
+/***/ }),
+
+/***/ 26012:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksApi = exports.NotebooksApiResponseProcessor = exports.NotebooksApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class NotebooksApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createNotebook(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createNotebook");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/notebooks";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.NotebooksApi.createNotebook")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "NotebookCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteNotebook(notebookId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'notebookId' is not null or undefined
+            if (notebookId === null || notebookId === undefined) {
+                throw new baseapi_1.RequiredError("notebookId", "deleteNotebook");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/notebooks/{notebook_id}".replace("{notebook_id}", encodeURIComponent(String(notebookId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.NotebooksApi.deleteNotebook")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getNotebook(notebookId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'notebookId' is not null or undefined
+            if (notebookId === null || notebookId === undefined) {
+                throw new baseapi_1.RequiredError("notebookId", "getNotebook");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/notebooks/{notebook_id}".replace("{notebook_id}", encodeURIComponent(String(notebookId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.NotebooksApi.getNotebook")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listNotebooks(authorHandle, excludeAuthorHandle, start, count, sortField, sortDir, query, includeCells, isTemplate, type, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/notebooks";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.NotebooksApi.listNotebooks")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (authorHandle !== undefined) {
+                requestContext.setQueryParam("author_handle", ObjectSerializer_1.ObjectSerializer.serialize(authorHandle, "string", ""));
+            }
+            if (excludeAuthorHandle !== undefined) {
+                requestContext.setQueryParam("exclude_author_handle", ObjectSerializer_1.ObjectSerializer.serialize(excludeAuthorHandle, "string", ""));
+            }
+            if (start !== undefined) {
+                requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
+            }
+            if (count !== undefined) {
+                requestContext.setQueryParam("count", ObjectSerializer_1.ObjectSerializer.serialize(count, "number", "int64"));
+            }
+            if (sortField !== undefined) {
+                requestContext.setQueryParam("sort_field", ObjectSerializer_1.ObjectSerializer.serialize(sortField, "string", ""));
+            }
+            if (sortDir !== undefined) {
+                requestContext.setQueryParam("sort_dir", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, "string", ""));
+            }
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (includeCells !== undefined) {
+                requestContext.setQueryParam("include_cells", ObjectSerializer_1.ObjectSerializer.serialize(includeCells, "boolean", ""));
+            }
+            if (isTemplate !== undefined) {
+                requestContext.setQueryParam("is_template", ObjectSerializer_1.ObjectSerializer.serialize(isTemplate, "boolean", ""));
+            }
+            if (type !== undefined) {
+                requestContext.setQueryParam("type", ObjectSerializer_1.ObjectSerializer.serialize(type, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateNotebook(notebookId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'notebookId' is not null or undefined
+            if (notebookId === null || notebookId === undefined) {
+                throw new baseapi_1.RequiredError("notebookId", "updateNotebook");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateNotebook");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/notebooks/{notebook_id}".replace("{notebook_id}", encodeURIComponent(String(notebookId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.NotebooksApi.updateNotebook")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "NotebookUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.NotebooksApiRequestFactory = NotebooksApiRequestFactory;
+class NotebooksApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createNotebook
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createNotebook(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteNotebook
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteNotebook(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getNotebook
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getNotebook(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listNotebooks
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listNotebooks(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebooksResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebooksResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateNotebook
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateNotebook(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "NotebookResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.NotebooksApiResponseProcessor = NotebooksApiResponseProcessor;
+class NotebooksApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new NotebooksApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new NotebooksApiResponseProcessor();
+    }
+    /**
+     * Create a notebook using the specified options.
+     * @param param The request object
+     */
+    createNotebook(param, options) {
+        const requestContextPromise = this.requestFactory.createNotebook(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createNotebook(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a notebook using the specified ID.
+     * @param param The request object
+     */
+    deleteNotebook(param, options) {
+        const requestContextPromise = this.requestFactory.deleteNotebook(param.notebookId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteNotebook(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a notebook using the specified notebook ID.
+     * @param param The request object
+     */
+    getNotebook(param, options) {
+        const requestContextPromise = this.requestFactory.getNotebook(param.notebookId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getNotebook(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all notebooks. This can also be used to search for notebooks with a particular `query` in the notebook
+     * `name` or author `handle`.
+     * @param param The request object
+     */
+    listNotebooks(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listNotebooks(param.authorHandle, param.excludeAuthorHandle, param.start, param.count, param.sortField, param.sortDir, param.query, param.includeCells, param.isTemplate, param.type, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listNotebooks(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listNotebooks returning a generator with all the items.
+     */
+    listNotebooksWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listNotebooksWithPagination_1() {
+            let pageSize = 100;
+            if (param.count !== undefined) {
+                pageSize = param.count;
+            }
+            param.count = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listNotebooks(param.authorHandle, param.excludeAuthorHandle, param.start, param.count, param.sortField, param.sortDir, param.query, param.includeCells, param.isTemplate, param.type, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listNotebooks(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.start === undefined) {
+                    param.start = pageSize;
+                }
+                else {
+                    param.start = param.start + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Update a notebook using the specified ID.
+     * @param param The request object
+     */
+    updateNotebook(param, options) {
+        const requestContextPromise = this.requestFactory.updateNotebook(param.notebookId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateNotebook(responseContext);
+            });
+        });
+    }
+}
+exports.NotebooksApi = NotebooksApi;
+//# sourceMappingURL=NotebooksApi.js.map
+
+/***/ }),
+
+/***/ 78990:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationsApi = exports.OrganizationsApiResponseProcessor = exports.OrganizationsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const form_data_1 = __importDefault(__webpack_require__(14221));
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class OrganizationsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createChildOrg(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createChildOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/org";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.createChildOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "OrganizationCreateBody", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    downgradeOrg(publicId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "downgradeOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/org/{public_id}/downgrade".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.downgradeOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getOrg(publicId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/org/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.getOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listOrgs(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/org";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.listOrgs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateOrg(publicId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "updateOrg");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/org/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.updateOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Organization", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    uploadIdPForOrg(publicId, idpFile, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "uploadIdPForOrg");
+            }
+            // verify required parameter 'idpFile' is not null or undefined
+            if (idpFile === null || idpFile === undefined) {
+                throw new baseapi_1.RequiredError("idpFile", "uploadIdPForOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/org/{public_id}/idp_metadata".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.OrganizationsApi.uploadIdPForOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Form Params
+            const localVarFormParams = new form_data_1.default();
+            if (idpFile !== undefined) {
+                // TODO: replace .append with .set
+                localVarFormParams.append("idp_file", idpFile.data, idpFile.name);
+            }
+            requestContext.setBody(localVarFormParams);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.OrganizationsApiRequestFactory = OrganizationsApiRequestFactory;
+class OrganizationsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createChildOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createChildOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to downgradeOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    downgradeOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrgDowngradedResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrgDowngradedResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listOrgs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listOrgs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OrganizationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to uploadIdPForOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    uploadIdPForOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IdpResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 415 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IdpResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.OrganizationsApiResponseProcessor = OrganizationsApiResponseProcessor;
+class OrganizationsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new OrganizationsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new OrganizationsApiResponseProcessor();
+    }
+    /**
+     * Create a child organization.
+     *
+     * This endpoint requires the
+     * [multi-organization account](https://docs.datadoghq.com/account_management/multi_organization/)
+     * feature and must be enabled by
+     * [contacting support](https://docs.datadoghq.com/help/).
+     *
+     * Once a new child organization is created, you can interact with it
+     * by using the `org.public_id`, `api_key.key`, and
+     * `application_key.hash` provided in the response.
+     * @param param The request object
+     */
+    createChildOrg(param, options) {
+        const requestContextPromise = this.requestFactory.createChildOrg(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createChildOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * Only available for MSP customers. Removes a child organization from the hierarchy of the master organization and places the child organization on a 30-day trial.
+     * @param param The request object
+     */
+    downgradeOrg(param, options) {
+        const requestContextPromise = this.requestFactory.downgradeOrg(param.publicId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.downgradeOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * Get organization information.
+     * @param param The request object
+     */
+    getOrg(param, options) {
+        const requestContextPromise = this.requestFactory.getOrg(param.publicId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint returns data on your top-level organization.
+     * @param param The request object
+     */
+    listOrgs(options) {
+        const requestContextPromise = this.requestFactory.listOrgs(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listOrgs(responseContext);
+            });
+        });
+    }
+    /**
+     * Update your organization.
+     * @param param The request object
+     */
+    updateOrg(param, options) {
+        const requestContextPromise = this.requestFactory.updateOrg(param.publicId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * There are a couple of options for updating the Identity Provider (IdP)
+     * metadata from your SAML IdP.
+     *
+     * * **Multipart Form-Data**: Post the IdP metadata file using a form post.
+     *
+     * * **XML Body:** Post the IdP metadata file as the body of the request.
+     * @param param The request object
+     */
+    uploadIdPForOrg(param, options) {
+        const requestContextPromise = this.requestFactory.uploadIdPForOrg(param.publicId, param.idpFile, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.uploadIdPForOrg(responseContext);
+            });
+        });
+    }
+}
+exports.OrganizationsApi = OrganizationsApi;
+//# sourceMappingURL=OrganizationsApi.js.map
+
+/***/ }),
+
+/***/ 28085:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PagerDutyIntegrationApi = exports.PagerDutyIntegrationApiResponseProcessor = exports.PagerDutyIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class PagerDutyIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createPagerDutyIntegrationService(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createPagerDutyIntegrationService");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/pagerduty/configuration/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.PagerDutyIntegrationApi.createPagerDutyIntegrationService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "PagerDutyService", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deletePagerDutyIntegrationService(serviceName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceName' is not null or undefined
+            if (serviceName === null || serviceName === undefined) {
+                throw new baseapi_1.RequiredError("serviceName", "deletePagerDutyIntegrationService");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/pagerduty/configuration/services/{service_name}".replace("{service_name}", encodeURIComponent(String(serviceName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.PagerDutyIntegrationApi.deletePagerDutyIntegrationService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getPagerDutyIntegrationService(serviceName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceName' is not null or undefined
+            if (serviceName === null || serviceName === undefined) {
+                throw new baseapi_1.RequiredError("serviceName", "getPagerDutyIntegrationService");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/pagerduty/configuration/services/{service_name}".replace("{service_name}", encodeURIComponent(String(serviceName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.PagerDutyIntegrationApi.getPagerDutyIntegrationService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updatePagerDutyIntegrationService(serviceName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceName' is not null or undefined
+            if (serviceName === null || serviceName === undefined) {
+                throw new baseapi_1.RequiredError("serviceName", "updatePagerDutyIntegrationService");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updatePagerDutyIntegrationService");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/pagerduty/configuration/services/{service_name}".replace("{service_name}", encodeURIComponent(String(serviceName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.PagerDutyIntegrationApi.updatePagerDutyIntegrationService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "PagerDutyServiceKey", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.PagerDutyIntegrationApiRequestFactory = PagerDutyIntegrationApiRequestFactory;
+class PagerDutyIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createPagerDutyIntegrationService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createPagerDutyIntegrationService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PagerDutyServiceName");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PagerDutyServiceName", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deletePagerDutyIntegrationService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deletePagerDutyIntegrationService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getPagerDutyIntegrationService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getPagerDutyIntegrationService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PagerDutyServiceName");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PagerDutyServiceName", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updatePagerDutyIntegrationService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updatePagerDutyIntegrationService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.PagerDutyIntegrationApiResponseProcessor = PagerDutyIntegrationApiResponseProcessor;
+class PagerDutyIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new PagerDutyIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new PagerDutyIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a new service object in the PagerDuty integration.
+     * @param param The request object
+     */
+    createPagerDutyIntegrationService(param, options) {
+        const requestContextPromise = this.requestFactory.createPagerDutyIntegrationService(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createPagerDutyIntegrationService(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a single service object in the Datadog-PagerDuty integration.
+     * @param param The request object
+     */
+    deletePagerDutyIntegrationService(param, options) {
+        const requestContextPromise = this.requestFactory.deletePagerDutyIntegrationService(param.serviceName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deletePagerDutyIntegrationService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get service name in the Datadog-PagerDuty integration.
+     * @param param The request object
+     */
+    getPagerDutyIntegrationService(param, options) {
+        const requestContextPromise = this.requestFactory.getPagerDutyIntegrationService(param.serviceName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getPagerDutyIntegrationService(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a single service object in the Datadog-PagerDuty integration.
+     * @param param The request object
+     */
+    updatePagerDutyIntegrationService(param, options) {
+        const requestContextPromise = this.requestFactory.updatePagerDutyIntegrationService(param.serviceName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updatePagerDutyIntegrationService(responseContext);
+            });
+        });
+    }
+}
+exports.PagerDutyIntegrationApi = PagerDutyIntegrationApi;
+//# sourceMappingURL=PagerDutyIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 83010:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringApi = exports.SecurityMonitoringApiResponseProcessor = exports.SecurityMonitoringApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class SecurityMonitoringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    addSecurityMonitoringSignalToIncident(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "addSecurityMonitoringSignalToIncident");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "addSecurityMonitoringSignalToIncident");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/security_analytics/signals/{signal_id}/add_to_incident".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SecurityMonitoringApi.addSecurityMonitoringSignalToIncident")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AddSignalToIncidentRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editSecurityMonitoringSignalAssignee(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "editSecurityMonitoringSignalAssignee");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editSecurityMonitoringSignalAssignee");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/security_analytics/signals/{signal_id}/assignee".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SecurityMonitoringApi.editSecurityMonitoringSignalAssignee")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SignalAssigneeUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editSecurityMonitoringSignalState(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "editSecurityMonitoringSignalState");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editSecurityMonitoringSignalState");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/security_analytics/signals/{signal_id}/state".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SecurityMonitoringApi.editSecurityMonitoringSignalState")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SignalStateUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SecurityMonitoringApiRequestFactory = SecurityMonitoringApiRequestFactory;
+class SecurityMonitoringApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to addSecurityMonitoringSignalToIncident
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    addSecurityMonitoringSignalToIncident(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editSecurityMonitoringSignalAssignee
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editSecurityMonitoringSignalAssignee(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editSecurityMonitoringSignalState
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editSecurityMonitoringSignalState(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SuccessfulSignalUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SecurityMonitoringApiResponseProcessor = SecurityMonitoringApiResponseProcessor;
+class SecurityMonitoringApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SecurityMonitoringApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SecurityMonitoringApiResponseProcessor();
+    }
+    /**
+     * Add a security signal to an incident. This makes it possible to search for signals by incident within the signal explorer and to view the signals on the incident timeline.
+     * @param param The request object
+     */
+    addSecurityMonitoringSignalToIncident(param, options) {
+        const requestContextPromise = this.requestFactory.addSecurityMonitoringSignalToIncident(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.addSecurityMonitoringSignalToIncident(responseContext);
+            });
+        });
+    }
+    /**
+     * Modify the triage assignee of a security signal.
+     * @param param The request object
+     */
+    editSecurityMonitoringSignalAssignee(param, options) {
+        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalAssignee(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editSecurityMonitoringSignalAssignee(responseContext);
+            });
+        });
+    }
+    /**
+     * Change the triage state of a security signal.
+     * @param param The request object
+     */
+    editSecurityMonitoringSignalState(param, options) {
+        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalState(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editSecurityMonitoringSignalState(responseContext);
+            });
+        });
+    }
+}
+exports.SecurityMonitoringApi = SecurityMonitoringApi;
+//# sourceMappingURL=SecurityMonitoringApi.js.map
+
+/***/ }),
+
+/***/ 25724:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceChecksApi = exports.ServiceChecksApiResponseProcessor = exports.ServiceChecksApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class ServiceChecksApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    submitServiceCheck(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitServiceCheck");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/check_run";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceChecksApi.submitServiceCheck")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "text/json, application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Array", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+}
+exports.ServiceChecksApiRequestFactory = ServiceChecksApiRequestFactory;
+class ServiceChecksApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitServiceCheck
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitServiceCheck(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ServiceChecksApiResponseProcessor = ServiceChecksApiResponseProcessor;
+class ServiceChecksApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new ServiceChecksApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ServiceChecksApiResponseProcessor();
+    }
+    /**
+     * Submit a list of Service Checks.
+     *
+     * **Notes**:
+     * - A valid API key is required.
+     * - Service checks can be submitted up to 10 minutes in the past.
+     * @param param The request object
+     */
+    submitServiceCheck(param, options) {
+        const requestContextPromise = this.requestFactory.submitServiceCheck(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitServiceCheck(responseContext);
+            });
+        });
+    }
+}
+exports.ServiceChecksApi = ServiceChecksApi;
+//# sourceMappingURL=ServiceChecksApi.js.map
+
+/***/ }),
+
+/***/ 84893:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceLevelObjectiveCorrectionsApi = exports.ServiceLevelObjectiveCorrectionsApiResponseProcessor = exports.ServiceLevelObjectiveCorrectionsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class ServiceLevelObjectiveCorrectionsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createSLOCorrection(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSLOCorrection");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/correction";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectiveCorrectionsApi.createSLOCorrection")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SLOCorrectionCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSLOCorrection(sloCorrectionId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloCorrectionId' is not null or undefined
+            if (sloCorrectionId === null || sloCorrectionId === undefined) {
+                throw new baseapi_1.RequiredError("sloCorrectionId", "deleteSLOCorrection");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/correction/{slo_correction_id}".replace("{slo_correction_id}", encodeURIComponent(String(sloCorrectionId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectiveCorrectionsApi.deleteSLOCorrection")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSLOCorrection(sloCorrectionId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloCorrectionId' is not null or undefined
+            if (sloCorrectionId === null || sloCorrectionId === undefined) {
+                throw new baseapi_1.RequiredError("sloCorrectionId", "getSLOCorrection");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/correction/{slo_correction_id}".replace("{slo_correction_id}", encodeURIComponent(String(sloCorrectionId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectiveCorrectionsApi.getSLOCorrection")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSLOCorrection(offset, limit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/slo/correction";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectiveCorrectionsApi.listSLOCorrection")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (offset !== undefined) {
+                requestContext.setQueryParam("offset", ObjectSerializer_1.ObjectSerializer.serialize(offset, "number", "int64"));
+            }
+            if (limit !== undefined) {
+                requestContext.setQueryParam("limit", ObjectSerializer_1.ObjectSerializer.serialize(limit, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSLOCorrection(sloCorrectionId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloCorrectionId' is not null or undefined
+            if (sloCorrectionId === null || sloCorrectionId === undefined) {
+                throw new baseapi_1.RequiredError("sloCorrectionId", "updateSLOCorrection");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSLOCorrection");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/correction/{slo_correction_id}".replace("{slo_correction_id}", encodeURIComponent(String(sloCorrectionId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectiveCorrectionsApi.updateSLOCorrection")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SLOCorrectionUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ServiceLevelObjectiveCorrectionsApiRequestFactory = ServiceLevelObjectiveCorrectionsApiRequestFactory;
+class ServiceLevelObjectiveCorrectionsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSLOCorrection
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSLOCorrection(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSLOCorrection
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSLOCorrection(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSLOCorrection
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSLOCorrection(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSLOCorrection
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSLOCorrection(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSLOCorrection
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSLOCorrection(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ServiceLevelObjectiveCorrectionsApiResponseProcessor = ServiceLevelObjectiveCorrectionsApiResponseProcessor;
+class ServiceLevelObjectiveCorrectionsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new ServiceLevelObjectiveCorrectionsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor ||
+                new ServiceLevelObjectiveCorrectionsApiResponseProcessor();
+    }
+    /**
+     * Create an SLO Correction.
+     * @param param The request object
+     */
+    createSLOCorrection(param, options) {
+        const requestContextPromise = this.requestFactory.createSLOCorrection(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSLOCorrection(responseContext);
+            });
+        });
+    }
+    /**
+     * Permanently delete the specified SLO correction object.
+     * @param param The request object
+     */
+    deleteSLOCorrection(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSLOCorrection(param.sloCorrectionId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSLOCorrection(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an SLO correction.
+     * @param param The request object
+     */
+    getSLOCorrection(param, options) {
+        const requestContextPromise = this.requestFactory.getSLOCorrection(param.sloCorrectionId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSLOCorrection(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all Service Level Objective corrections.
+     * @param param The request object
+     */
+    listSLOCorrection(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listSLOCorrection(param.offset, param.limit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSLOCorrection(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listSLOCorrection returning a generator with all the items.
+     */
+    listSLOCorrectionWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listSLOCorrectionWithPagination_1() {
+            let pageSize = 25;
+            if (param.limit !== undefined) {
+                pageSize = param.limit;
+            }
+            param.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listSLOCorrection(param.offset, param.limit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listSLOCorrection(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.offset === undefined) {
+                    param.offset = pageSize;
+                }
+                else {
+                    param.offset = param.offset + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Update the specified SLO correction object.
+     * @param param The request object
+     */
+    updateSLOCorrection(param, options) {
+        const requestContextPromise = this.requestFactory.updateSLOCorrection(param.sloCorrectionId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSLOCorrection(responseContext);
+            });
+        });
+    }
+}
+exports.ServiceLevelObjectiveCorrectionsApi = ServiceLevelObjectiveCorrectionsApi;
+//# sourceMappingURL=ServiceLevelObjectiveCorrectionsApi.js.map
+
+/***/ }),
+
+/***/ 72538:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceLevelObjectivesApi = exports.ServiceLevelObjectivesApiResponseProcessor = exports.ServiceLevelObjectivesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class ServiceLevelObjectivesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    checkCanDeleteSLO(ids, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ids' is not null or undefined
+            if (ids === null || ids === undefined) {
+                throw new baseapi_1.RequiredError("ids", "checkCanDeleteSLO");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/can_delete";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.checkCanDeleteSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (ids !== undefined) {
+                requestContext.setQueryParam("ids", ObjectSerializer_1.ObjectSerializer.serialize(ids, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createSLO(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSLO");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.createSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ServiceLevelObjectiveRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSLO(sloId, force, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloId' is not null or undefined
+            if (sloId === null || sloId === undefined) {
+                throw new baseapi_1.RequiredError("sloId", "deleteSLO");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/{slo_id}".replace("{slo_id}", encodeURIComponent(String(sloId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.deleteSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (force !== undefined) {
+                requestContext.setQueryParam("force", ObjectSerializer_1.ObjectSerializer.serialize(force, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSLOTimeframeInBulk(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteSLOTimeframeInBulk");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/bulk_delete";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.deleteSLOTimeframeInBulk")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "{ [key: string]: Array; }", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSLO(sloId, withConfiguredAlertIds, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloId' is not null or undefined
+            if (sloId === null || sloId === undefined) {
+                throw new baseapi_1.RequiredError("sloId", "getSLO");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/{slo_id}".replace("{slo_id}", encodeURIComponent(String(sloId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.getSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (withConfiguredAlertIds !== undefined) {
+                requestContext.setQueryParam("with_configured_alert_ids", ObjectSerializer_1.ObjectSerializer.serialize(withConfiguredAlertIds, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSLOCorrections(sloId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloId' is not null or undefined
+            if (sloId === null || sloId === undefined) {
+                throw new baseapi_1.RequiredError("sloId", "getSLOCorrections");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/{slo_id}/corrections".replace("{slo_id}", encodeURIComponent(String(sloId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.getSLOCorrections")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSLOHistory(sloId, fromTs, toTs, target, applyCorrection, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloId' is not null or undefined
+            if (sloId === null || sloId === undefined) {
+                throw new baseapi_1.RequiredError("sloId", "getSLOHistory");
+            }
+            // verify required parameter 'fromTs' is not null or undefined
+            if (fromTs === null || fromTs === undefined) {
+                throw new baseapi_1.RequiredError("fromTs", "getSLOHistory");
+            }
+            // verify required parameter 'toTs' is not null or undefined
+            if (toTs === null || toTs === undefined) {
+                throw new baseapi_1.RequiredError("toTs", "getSLOHistory");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/{slo_id}/history".replace("{slo_id}", encodeURIComponent(String(sloId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.getSLOHistory")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (fromTs !== undefined) {
+                requestContext.setQueryParam("from_ts", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, "number", "int64"));
+            }
+            if (toTs !== undefined) {
+                requestContext.setQueryParam("to_ts", ObjectSerializer_1.ObjectSerializer.serialize(toTs, "number", "int64"));
+            }
+            if (target !== undefined) {
+                requestContext.setQueryParam("target", ObjectSerializer_1.ObjectSerializer.serialize(target, "number", "double"));
+            }
+            if (applyCorrection !== undefined) {
+                requestContext.setQueryParam("apply_correction", ObjectSerializer_1.ObjectSerializer.serialize(applyCorrection, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSLOs(ids, query, tagsQuery, metricsQuery, limit, offset, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/slo";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.listSLOs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (ids !== undefined) {
+                requestContext.setQueryParam("ids", ObjectSerializer_1.ObjectSerializer.serialize(ids, "string", ""));
+            }
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (tagsQuery !== undefined) {
+                requestContext.setQueryParam("tags_query", ObjectSerializer_1.ObjectSerializer.serialize(tagsQuery, "string", ""));
+            }
+            if (metricsQuery !== undefined) {
+                requestContext.setQueryParam("metrics_query", ObjectSerializer_1.ObjectSerializer.serialize(metricsQuery, "string", ""));
+            }
+            if (limit !== undefined) {
+                requestContext.setQueryParam("limit", ObjectSerializer_1.ObjectSerializer.serialize(limit, "number", "int64"));
+            }
+            if (offset !== undefined) {
+                requestContext.setQueryParam("offset", ObjectSerializer_1.ObjectSerializer.serialize(offset, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchSLO(query, pageSize, pageNumber, includeFacets, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/slo/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.searchSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (includeFacets !== undefined) {
+                requestContext.setQueryParam("include_facets", ObjectSerializer_1.ObjectSerializer.serialize(includeFacets, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSLO(sloId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'sloId' is not null or undefined
+            if (sloId === null || sloId === undefined) {
+                throw new baseapi_1.RequiredError("sloId", "updateSLO");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSLO");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/slo/{slo_id}".replace("{slo_id}", encodeURIComponent(String(sloId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.ServiceLevelObjectivesApi.updateSLO")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ServiceLevelObjective", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ServiceLevelObjectivesApiRequestFactory = ServiceLevelObjectivesApiRequestFactory;
+class ServiceLevelObjectivesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to checkCanDeleteSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    checkCanDeleteSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CheckCanDeleteSLOResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CheckCanDeleteSLOResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLODeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLODeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSLOTimeframeInBulk
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSLOTimeframeInBulk(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOBulkDeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOBulkDeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSLOCorrections
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSLOCorrections(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOCorrectionListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSLOHistory
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSLOHistory(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOHistoryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOHistoryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSLOs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSLOs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SearchSLOResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SearchSLOResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSLO
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSLO(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SLOListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ServiceLevelObjectivesApiResponseProcessor = ServiceLevelObjectivesApiResponseProcessor;
+class ServiceLevelObjectivesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new ServiceLevelObjectivesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ServiceLevelObjectivesApiResponseProcessor();
+    }
+    /**
+     * Check if an SLO can be safely deleted. For example,
+     * assure an SLO can be deleted without disrupting a dashboard.
+     * @param param The request object
+     */
+    checkCanDeleteSLO(param, options) {
+        const requestContextPromise = this.requestFactory.checkCanDeleteSLO(param.ids, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.checkCanDeleteSLO(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a service level objective object.
+     * @param param The request object
+     */
+    createSLO(param, options) {
+        const requestContextPromise = this.requestFactory.createSLO(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSLO(responseContext);
+            });
+        });
+    }
+    /**
+     * Permanently delete the specified service level objective object.
+     *
+     * If an SLO is used in a dashboard, the `DELETE /v1/slo/` endpoint returns
+     * a 409 conflict error because the SLO is referenced in a dashboard.
+     * @param param The request object
+     */
+    deleteSLO(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSLO(param.sloId, param.force, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSLO(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete (or partially delete) multiple service level objective objects.
+     *
+     * This endpoint facilitates deletion of one or more thresholds for one or more
+     * service level objective objects. If all thresholds are deleted, the service level
+     * objective object is deleted as well.
+     * @param param The request object
+     */
+    deleteSLOTimeframeInBulk(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSLOTimeframeInBulk(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSLOTimeframeInBulk(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a service level objective object.
+     * @param param The request object
+     */
+    getSLO(param, options) {
+        const requestContextPromise = this.requestFactory.getSLO(param.sloId, param.withConfiguredAlertIds, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSLO(responseContext);
+            });
+        });
+    }
+    /**
+     * Get corrections applied to an SLO
+     * @param param The request object
+     */
+    getSLOCorrections(param, options) {
+        const requestContextPromise = this.requestFactory.getSLOCorrections(param.sloId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSLOCorrections(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific SLO’s history, regardless of its SLO type.
+     *
+     * The detailed history data is structured according to the source data type.
+     * For example, metric data is included for event SLOs that use
+     * the metric source, and monitor SLO types include the monitor transition history.
+     *
+     * **Note:** There are different response formats for event based and time based SLOs.
+     * Examples of both are shown.
+     * @param param The request object
+     */
+    getSLOHistory(param, options) {
+        const requestContextPromise = this.requestFactory.getSLOHistory(param.sloId, param.fromTs, param.toTs, param.target, param.applyCorrection, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSLOHistory(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of service level objective objects for your organization.
+     * @param param The request object
+     */
+    listSLOs(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listSLOs(param.ids, param.query, param.tagsQuery, param.metricsQuery, param.limit, param.offset, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSLOs(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listSLOs returning a generator with all the items.
+     */
+    listSLOsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listSLOsWithPagination_1() {
+            let pageSize = 1000;
+            if (param.limit !== undefined) {
+                pageSize = param.limit;
+            }
+            param.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listSLOs(param.ids, param.query, param.tagsQuery, param.metricsQuery, param.limit, param.offset, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listSLOs(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.offset === undefined) {
+                    param.offset = pageSize;
+                }
+                else {
+                    param.offset = param.offset + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Get a list of service level objective objects for your organization.
+     * @param param The request object
+     */
+    searchSLO(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchSLO(param.query, param.pageSize, param.pageNumber, param.includeFacets, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchSLO(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the specified service level objective object.
+     * @param param The request object
+     */
+    updateSLO(param, options) {
+        const requestContextPromise = this.requestFactory.updateSLO(param.sloId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSLO(responseContext);
+            });
+        });
+    }
+}
+exports.ServiceLevelObjectivesApi = ServiceLevelObjectivesApi;
+//# sourceMappingURL=ServiceLevelObjectivesApi.js.map
+
+/***/ }),
+
+/***/ 1445:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SlackIntegrationApi = exports.SlackIntegrationApiResponseProcessor = exports.SlackIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class SlackIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createSlackIntegrationChannel(accountName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountName' is not null or undefined
+            if (accountName === null || accountName === undefined) {
+                throw new baseapi_1.RequiredError("accountName", "createSlackIntegrationChannel");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSlackIntegrationChannel");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/slack/configuration/accounts/{account_name}/channels".replace("{account_name}", encodeURIComponent(String(accountName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SlackIntegrationApi.createSlackIntegrationChannel")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SlackIntegrationChannel", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSlackIntegrationChannel(accountName, channelName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountName' is not null or undefined
+            if (accountName === null || accountName === undefined) {
+                throw new baseapi_1.RequiredError("accountName", "getSlackIntegrationChannel");
+            }
+            // verify required parameter 'channelName' is not null or undefined
+            if (channelName === null || channelName === undefined) {
+                throw new baseapi_1.RequiredError("channelName", "getSlackIntegrationChannel");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}"
+                .replace("{account_name}", encodeURIComponent(String(accountName)))
+                .replace("{channel_name}", encodeURIComponent(String(channelName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SlackIntegrationApi.getSlackIntegrationChannel")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSlackIntegrationChannels(accountName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountName' is not null or undefined
+            if (accountName === null || accountName === undefined) {
+                throw new baseapi_1.RequiredError("accountName", "getSlackIntegrationChannels");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/slack/configuration/accounts/{account_name}/channels".replace("{account_name}", encodeURIComponent(String(accountName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SlackIntegrationApi.getSlackIntegrationChannels")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    removeSlackIntegrationChannel(accountName, channelName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountName' is not null or undefined
+            if (accountName === null || accountName === undefined) {
+                throw new baseapi_1.RequiredError("accountName", "removeSlackIntegrationChannel");
+            }
+            // verify required parameter 'channelName' is not null or undefined
+            if (channelName === null || channelName === undefined) {
+                throw new baseapi_1.RequiredError("channelName", "removeSlackIntegrationChannel");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}"
+                .replace("{account_name}", encodeURIComponent(String(accountName)))
+                .replace("{channel_name}", encodeURIComponent(String(channelName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SlackIntegrationApi.removeSlackIntegrationChannel")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSlackIntegrationChannel(accountName, channelName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountName' is not null or undefined
+            if (accountName === null || accountName === undefined) {
+                throw new baseapi_1.RequiredError("accountName", "updateSlackIntegrationChannel");
+            }
+            // verify required parameter 'channelName' is not null or undefined
+            if (channelName === null || channelName === undefined) {
+                throw new baseapi_1.RequiredError("channelName", "updateSlackIntegrationChannel");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSlackIntegrationChannel");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}"
+                .replace("{account_name}", encodeURIComponent(String(accountName)))
+                .replace("{channel_name}", encodeURIComponent(String(channelName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SlackIntegrationApi.updateSlackIntegrationChannel")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SlackIntegrationChannel", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SlackIntegrationApiRequestFactory = SlackIntegrationApiRequestFactory;
+class SlackIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSlackIntegrationChannel
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSlackIntegrationChannel(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSlackIntegrationChannel
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSlackIntegrationChannel(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSlackIntegrationChannels
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSlackIntegrationChannels(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to removeSlackIntegrationChannel
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    removeSlackIntegrationChannel(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSlackIntegrationChannel
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSlackIntegrationChannel(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SlackIntegrationChannel", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SlackIntegrationApiResponseProcessor = SlackIntegrationApiResponseProcessor;
+class SlackIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SlackIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SlackIntegrationApiResponseProcessor();
+    }
+    /**
+     * Add a channel to your Datadog-Slack integration.
+     * @param param The request object
+     */
+    createSlackIntegrationChannel(param, options) {
+        const requestContextPromise = this.requestFactory.createSlackIntegrationChannel(param.accountName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSlackIntegrationChannel(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a channel configured for your Datadog-Slack integration.
+     * @param param The request object
+     */
+    getSlackIntegrationChannel(param, options) {
+        const requestContextPromise = this.requestFactory.getSlackIntegrationChannel(param.accountName, param.channelName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSlackIntegrationChannel(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of all channels configured for your Datadog-Slack integration.
+     * @param param The request object
+     */
+    getSlackIntegrationChannels(param, options) {
+        const requestContextPromise = this.requestFactory.getSlackIntegrationChannels(param.accountName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSlackIntegrationChannels(responseContext);
+            });
+        });
+    }
+    /**
+     * Remove a channel from your Datadog-Slack integration.
+     * @param param The request object
+     */
+    removeSlackIntegrationChannel(param, options) {
+        const requestContextPromise = this.requestFactory.removeSlackIntegrationChannel(param.accountName, param.channelName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.removeSlackIntegrationChannel(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a channel used in your Datadog-Slack integration.
+     * @param param The request object
+     */
+    updateSlackIntegrationChannel(param, options) {
+        const requestContextPromise = this.requestFactory.updateSlackIntegrationChannel(param.accountName, param.channelName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSlackIntegrationChannel(responseContext);
+            });
+        });
+    }
+}
+exports.SlackIntegrationApi = SlackIntegrationApi;
+//# sourceMappingURL=SlackIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 26476:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SnapshotsApi = exports.SnapshotsApiResponseProcessor = exports.SnapshotsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class SnapshotsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getGraphSnapshot(start, end, metricQuery, eventQuery, graphDef, title, height, width, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'start' is not null or undefined
+            if (start === null || start === undefined) {
+                throw new baseapi_1.RequiredError("start", "getGraphSnapshot");
+            }
+            // verify required parameter 'end' is not null or undefined
+            if (end === null || end === undefined) {
+                throw new baseapi_1.RequiredError("end", "getGraphSnapshot");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/graph/snapshot";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SnapshotsApi.getGraphSnapshot")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (metricQuery !== undefined) {
+                requestContext.setQueryParam("metric_query", ObjectSerializer_1.ObjectSerializer.serialize(metricQuery, "string", ""));
+            }
+            if (start !== undefined) {
+                requestContext.setQueryParam("start", ObjectSerializer_1.ObjectSerializer.serialize(start, "number", "int64"));
+            }
+            if (end !== undefined) {
+                requestContext.setQueryParam("end", ObjectSerializer_1.ObjectSerializer.serialize(end, "number", "int64"));
+            }
+            if (eventQuery !== undefined) {
+                requestContext.setQueryParam("event_query", ObjectSerializer_1.ObjectSerializer.serialize(eventQuery, "string", ""));
+            }
+            if (graphDef !== undefined) {
+                requestContext.setQueryParam("graph_def", ObjectSerializer_1.ObjectSerializer.serialize(graphDef, "string", ""));
+            }
+            if (title !== undefined) {
+                requestContext.setQueryParam("title", ObjectSerializer_1.ObjectSerializer.serialize(title, "string", ""));
+            }
+            if (height !== undefined) {
+                requestContext.setQueryParam("height", ObjectSerializer_1.ObjectSerializer.serialize(height, "number", "int64"));
+            }
+            if (width !== undefined) {
+                requestContext.setQueryParam("width", ObjectSerializer_1.ObjectSerializer.serialize(width, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SnapshotsApiRequestFactory = SnapshotsApiRequestFactory;
+class SnapshotsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getGraphSnapshot
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getGraphSnapshot(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GraphSnapshot");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GraphSnapshot", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SnapshotsApiResponseProcessor = SnapshotsApiResponseProcessor;
+class SnapshotsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SnapshotsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SnapshotsApiResponseProcessor();
+    }
+    /**
+     * Take graph snapshots.
+     * **Note**: When a snapshot is created, there is some delay before it is available.
+     * @param param The request object
+     */
+    getGraphSnapshot(param, options) {
+        const requestContextPromise = this.requestFactory.getGraphSnapshot(param.start, param.end, param.metricQuery, param.eventQuery, param.graphDef, param.title, param.height, param.width, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getGraphSnapshot(responseContext);
+            });
+        });
+    }
+}
+exports.SnapshotsApi = SnapshotsApi;
+//# sourceMappingURL=SnapshotsApi.js.map
+
+/***/ }),
+
+/***/ 39844:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsApi = exports.SyntheticsApiResponseProcessor = exports.SyntheticsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class SyntheticsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createGlobalVariable(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createGlobalVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/variables";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.createGlobalVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsGlobalVariable", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createPrivateLocation(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createPrivateLocation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/private-locations";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.createPrivateLocation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsPrivateLocation", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createSyntheticsAPITest(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSyntheticsAPITest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/api";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.createSyntheticsAPITest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsAPITest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createSyntheticsBrowserTest(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSyntheticsBrowserTest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/browser";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.createSyntheticsBrowserTest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsBrowserTest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteGlobalVariable(variableId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'variableId' is not null or undefined
+            if (variableId === null || variableId === undefined) {
+                throw new baseapi_1.RequiredError("variableId", "deleteGlobalVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/variables/{variable_id}".replace("{variable_id}", encodeURIComponent(String(variableId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.deleteGlobalVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deletePrivateLocation(locationId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'locationId' is not null or undefined
+            if (locationId === null || locationId === undefined) {
+                throw new baseapi_1.RequiredError("locationId", "deletePrivateLocation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/private-locations/{location_id}".replace("{location_id}", encodeURIComponent(String(locationId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.deletePrivateLocation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteTests(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteTests");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/delete";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.deleteTests")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsDeleteTestsPayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editGlobalVariable(variableId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'variableId' is not null or undefined
+            if (variableId === null || variableId === undefined) {
+                throw new baseapi_1.RequiredError("variableId", "editGlobalVariable");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editGlobalVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/variables/{variable_id}".replace("{variable_id}", encodeURIComponent(String(variableId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.editGlobalVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsGlobalVariable", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAPITest(publicId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getAPITest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/api/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getAPITest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAPITestLatestResults(publicId, fromTs, toTs, probeDc, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getAPITestLatestResults");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/{public_id}/results".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getAPITestLatestResults")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (fromTs !== undefined) {
+                requestContext.setQueryParam("from_ts", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, "number", "int64"));
+            }
+            if (toTs !== undefined) {
+                requestContext.setQueryParam("to_ts", ObjectSerializer_1.ObjectSerializer.serialize(toTs, "number", "int64"));
+            }
+            if (probeDc !== undefined) {
+                requestContext.setQueryParam("probe_dc", ObjectSerializer_1.ObjectSerializer.serialize(probeDc, "Array", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAPITestResult(publicId, resultId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getAPITestResult");
+            }
+            // verify required parameter 'resultId' is not null or undefined
+            if (resultId === null || resultId === undefined) {
+                throw new baseapi_1.RequiredError("resultId", "getAPITestResult");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/{public_id}/results/{result_id}"
+                .replace("{public_id}", encodeURIComponent(String(publicId)))
+                .replace("{result_id}", encodeURIComponent(String(resultId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getAPITestResult")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getBrowserTest(publicId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getBrowserTest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/browser/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getBrowserTest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getBrowserTestLatestResults(publicId, fromTs, toTs, probeDc, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getBrowserTestLatestResults");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/browser/{public_id}/results".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getBrowserTestLatestResults")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (fromTs !== undefined) {
+                requestContext.setQueryParam("from_ts", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, "number", "int64"));
+            }
+            if (toTs !== undefined) {
+                requestContext.setQueryParam("to_ts", ObjectSerializer_1.ObjectSerializer.serialize(toTs, "number", "int64"));
+            }
+            if (probeDc !== undefined) {
+                requestContext.setQueryParam("probe_dc", ObjectSerializer_1.ObjectSerializer.serialize(probeDc, "Array", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getBrowserTestResult(publicId, resultId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getBrowserTestResult");
+            }
+            // verify required parameter 'resultId' is not null or undefined
+            if (resultId === null || resultId === undefined) {
+                throw new baseapi_1.RequiredError("resultId", "getBrowserTestResult");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}"
+                .replace("{public_id}", encodeURIComponent(String(publicId)))
+                .replace("{result_id}", encodeURIComponent(String(resultId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getBrowserTestResult")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getGlobalVariable(variableId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'variableId' is not null or undefined
+            if (variableId === null || variableId === undefined) {
+                throw new baseapi_1.RequiredError("variableId", "getGlobalVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/variables/{variable_id}".replace("{variable_id}", encodeURIComponent(String(variableId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getGlobalVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getPrivateLocation(locationId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'locationId' is not null or undefined
+            if (locationId === null || locationId === undefined) {
+                throw new baseapi_1.RequiredError("locationId", "getPrivateLocation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/private-locations/{location_id}".replace("{location_id}", encodeURIComponent(String(locationId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getPrivateLocation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSyntheticsCIBatch(batchId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'batchId' is not null or undefined
+            if (batchId === null || batchId === undefined) {
+                throw new baseapi_1.RequiredError("batchId", "getSyntheticsCIBatch");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/ci/batch/{batch_id}".replace("{batch_id}", encodeURIComponent(String(batchId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getSyntheticsCIBatch")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSyntheticsDefaultLocations(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/settings/default_locations";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getSyntheticsDefaultLocations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTest(publicId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "getTest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.getTest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listGlobalVariables(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/variables";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.listGlobalVariables")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLocations(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/locations";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.listLocations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listTests(pageSize, pageNumber, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.listTests")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page_size", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page_number", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    triggerCITests(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "triggerCITests");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/trigger/ci";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.triggerCITests")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsCITestBody", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    triggerTests(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "triggerTests");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/trigger";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.triggerTests")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsTriggerBody", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAPITest(publicId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "updateAPITest");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAPITest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/api/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.updateAPITest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsAPITest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateBrowserTest(publicId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "updateBrowserTest");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateBrowserTest");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/browser/{public_id}".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.updateBrowserTest")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsBrowserTest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updatePrivateLocation(locationId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'locationId' is not null or undefined
+            if (locationId === null || locationId === undefined) {
+                throw new baseapi_1.RequiredError("locationId", "updatePrivateLocation");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updatePrivateLocation");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/private-locations/{location_id}".replace("{location_id}", encodeURIComponent(String(locationId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.updatePrivateLocation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsPrivateLocation", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateTestPauseStatus(publicId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'publicId' is not null or undefined
+            if (publicId === null || publicId === undefined) {
+                throw new baseapi_1.RequiredError("publicId", "updateTestPauseStatus");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTestPauseStatus");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/synthetics/tests/{public_id}/status".replace("{public_id}", encodeURIComponent(String(publicId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.SyntheticsApi.updateTestPauseStatus")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SyntheticsUpdateTestPauseStatusPayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SyntheticsApiRequestFactory = SyntheticsApiRequestFactory;
+class SyntheticsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createGlobalVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createGlobalVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createPrivateLocation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createPrivateLocation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocationCreationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 402 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocationCreationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSyntheticsAPITest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSyntheticsAPITest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 402 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSyntheticsBrowserTest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSyntheticsBrowserTest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 402 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteGlobalVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteGlobalVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deletePrivateLocation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deletePrivateLocation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteTests
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteTests(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsDeleteTestsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsDeleteTestsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editGlobalVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editGlobalVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAPITest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAPITest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAPITestLatestResults
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAPITestLatestResults(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGetAPITestLatestResultsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGetAPITestLatestResultsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAPITestResult
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAPITestResult(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITestResultFull");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITestResultFull", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getBrowserTest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getBrowserTest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getBrowserTestLatestResults
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getBrowserTestLatestResults(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGetBrowserTestLatestResultsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGetBrowserTestLatestResultsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getBrowserTestResult
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getBrowserTestResult(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTestResultFull");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTestResultFull", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getGlobalVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getGlobalVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsGlobalVariable", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getPrivateLocation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getPrivateLocation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocation");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocation", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSyntheticsCIBatch
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSyntheticsCIBatch(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBatchDetails");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBatchDetails", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSyntheticsDefaultLocations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSyntheticsDefaultLocations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "Array", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTestDetails");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTestDetails", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listGlobalVariables
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listGlobalVariables(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsListGlobalVariablesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsListGlobalVariablesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLocations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLocations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsLocations");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsLocations", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listTests
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listTests(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsListTestsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsListTestsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to triggerCITests
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    triggerCITests(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTriggerCITestsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTriggerCITestsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to triggerTests
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    triggerTests(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTriggerCITestsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsTriggerCITestsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAPITest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAPITest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsAPITest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateBrowserTest
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateBrowserTest(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsBrowserTest", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updatePrivateLocation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updatePrivateLocation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocation");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SyntheticsPrivateLocation", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTestPauseStatus
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTestPauseStatus(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "boolean");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "boolean", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SyntheticsApiResponseProcessor = SyntheticsApiResponseProcessor;
+class SyntheticsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SyntheticsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SyntheticsApiResponseProcessor();
+    }
+    /**
+     * Create a Synthetic global variable.
+     * @param param The request object
+     */
+    createGlobalVariable(param, options) {
+        const requestContextPromise = this.requestFactory.createGlobalVariable(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createGlobalVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a new Synthetic private location.
+     * @param param The request object
+     */
+    createPrivateLocation(param, options) {
+        const requestContextPromise = this.requestFactory.createPrivateLocation(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createPrivateLocation(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a Synthetic API test.
+     * @param param The request object
+     */
+    createSyntheticsAPITest(param, options) {
+        const requestContextPromise = this.requestFactory.createSyntheticsAPITest(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSyntheticsAPITest(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a Synthetic browser test.
+     * @param param The request object
+     */
+    createSyntheticsBrowserTest(param, options) {
+        const requestContextPromise = this.requestFactory.createSyntheticsBrowserTest(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSyntheticsBrowserTest(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Synthetic global variable.
+     * @param param The request object
+     */
+    deleteGlobalVariable(param, options) {
+        const requestContextPromise = this.requestFactory.deleteGlobalVariable(param.variableId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteGlobalVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Synthetic private location.
+     * @param param The request object
+     */
+    deletePrivateLocation(param, options) {
+        const requestContextPromise = this.requestFactory.deletePrivateLocation(param.locationId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deletePrivateLocation(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete multiple Synthetic tests by ID.
+     * @param param The request object
+     */
+    deleteTests(param, options) {
+        const requestContextPromise = this.requestFactory.deleteTests(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteTests(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit a Synthetic global variable.
+     * @param param The request object
+     */
+    editGlobalVariable(param, options) {
+        const requestContextPromise = this.requestFactory.editGlobalVariable(param.variableId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editGlobalVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the detailed configuration associated with
+     * a Synthetic API test.
+     * @param param The request object
+     */
+    getAPITest(param, options) {
+        const requestContextPromise = this.requestFactory.getAPITest(param.publicId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAPITest(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the last 150 test results summaries for a given Synthetic API test.
+     * @param param The request object
+     */
+    getAPITestLatestResults(param, options) {
+        const requestContextPromise = this.requestFactory.getAPITestLatestResults(param.publicId, param.fromTs, param.toTs, param.probeDc, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAPITestLatestResults(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific full result from a given Synthetic API test.
+     * @param param The request object
+     */
+    getAPITestResult(param, options) {
+        const requestContextPromise = this.requestFactory.getAPITestResult(param.publicId, param.resultId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAPITestResult(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the detailed configuration (including steps) associated with
+     * a Synthetic browser test.
+     * @param param The request object
+     */
+    getBrowserTest(param, options) {
+        const requestContextPromise = this.requestFactory.getBrowserTest(param.publicId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getBrowserTest(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the last 150 test results summaries for a given Synthetic browser test.
+     * @param param The request object
+     */
+    getBrowserTestLatestResults(param, options) {
+        const requestContextPromise = this.requestFactory.getBrowserTestLatestResults(param.publicId, param.fromTs, param.toTs, param.probeDc, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getBrowserTestLatestResults(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific full result from a given Synthetic browser test.
+     * @param param The request object
+     */
+    getBrowserTestResult(param, options) {
+        const requestContextPromise = this.requestFactory.getBrowserTestResult(param.publicId, param.resultId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getBrowserTestResult(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the detailed configuration of a global variable.
+     * @param param The request object
+     */
+    getGlobalVariable(param, options) {
+        const requestContextPromise = this.requestFactory.getGlobalVariable(param.variableId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getGlobalVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Synthetic private location.
+     * @param param The request object
+     */
+    getPrivateLocation(param, options) {
+        const requestContextPromise = this.requestFactory.getPrivateLocation(param.locationId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getPrivateLocation(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a batch's updated details.
+     * @param param The request object
+     */
+    getSyntheticsCIBatch(param, options) {
+        const requestContextPromise = this.requestFactory.getSyntheticsCIBatch(param.batchId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSyntheticsCIBatch(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the default locations settings.
+     * @param param The request object
+     */
+    getSyntheticsDefaultLocations(options) {
+        const requestContextPromise = this.requestFactory.getSyntheticsDefaultLocations(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSyntheticsDefaultLocations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the detailed configuration associated with a Synthetic test.
+     * @param param The request object
+     */
+    getTest(param, options) {
+        const requestContextPromise = this.requestFactory.getTest(param.publicId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTest(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of all Synthetic global variables.
+     * @param param The request object
+     */
+    listGlobalVariables(options) {
+        const requestContextPromise = this.requestFactory.listGlobalVariables(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listGlobalVariables(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of public and private locations available for Synthetic
+     * tests. No arguments required.
+     * @param param The request object
+     */
+    listLocations(options) {
+        const requestContextPromise = this.requestFactory.listLocations(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLocations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of all Synthetic tests.
+     * @param param The request object
+     */
+    listTests(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listTests(param.pageSize, param.pageNumber, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listTests(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listTests returning a generator with all the items.
+     */
+    listTestsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listTestsWithPagination_1() {
+            let pageSize = 100;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            param.pageNumber = 0;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listTests(param.pageSize, param.pageNumber, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listTests(responseContext));
+                const responseTests = response.tests;
+                if (responseTests === undefined) {
+                    break;
+                }
+                const results = responseTests;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                param.pageNumber = param.pageNumber + 1;
+            }
+        });
+    }
+    /**
+     * Trigger a set of Synthetic tests for continuous integration.
+     * @param param The request object
+     */
+    triggerCITests(param, options) {
+        const requestContextPromise = this.requestFactory.triggerCITests(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.triggerCITests(responseContext);
+            });
+        });
+    }
+    /**
+     * Trigger a set of Synthetic tests.
+     * @param param The request object
+     */
+    triggerTests(param, options) {
+        const requestContextPromise = this.requestFactory.triggerTests(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.triggerTests(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit the configuration of a Synthetic API test.
+     * @param param The request object
+     */
+    updateAPITest(param, options) {
+        const requestContextPromise = this.requestFactory.updateAPITest(param.publicId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAPITest(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit the configuration of a Synthetic browser test.
+     * @param param The request object
+     */
+    updateBrowserTest(param, options) {
+        const requestContextPromise = this.requestFactory.updateBrowserTest(param.publicId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateBrowserTest(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit a Synthetic private location.
+     * @param param The request object
+     */
+    updatePrivateLocation(param, options) {
+        const requestContextPromise = this.requestFactory.updatePrivateLocation(param.locationId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updatePrivateLocation(responseContext);
+            });
+        });
+    }
+    /**
+     * Pause or start a Synthetic test by changing the status.
+     * @param param The request object
+     */
+    updateTestPauseStatus(param, options) {
+        const requestContextPromise = this.requestFactory.updateTestPauseStatus(param.publicId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTestPauseStatus(responseContext);
+            });
+        });
+    }
+}
+exports.SyntheticsApi = SyntheticsApi;
+//# sourceMappingURL=SyntheticsApi.js.map
+
+/***/ }),
+
+/***/ 46386:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TagsApi = exports.TagsApiResponseProcessor = exports.TagsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class TagsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createHostTags(hostName, body, source, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "createHostTags");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createHostTags");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/tags/hosts/{host_name}".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.TagsApi.createHostTags")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (source !== undefined) {
+                requestContext.setQueryParam("source", ObjectSerializer_1.ObjectSerializer.serialize(source, "string", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "HostTags", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteHostTags(hostName, source, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "deleteHostTags");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/tags/hosts/{host_name}".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.TagsApi.deleteHostTags")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (source !== undefined) {
+                requestContext.setQueryParam("source", ObjectSerializer_1.ObjectSerializer.serialize(source, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getHostTags(hostName, source, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "getHostTags");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/tags/hosts/{host_name}".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.TagsApi.getHostTags")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (source !== undefined) {
+                requestContext.setQueryParam("source", ObjectSerializer_1.ObjectSerializer.serialize(source, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listHostTags(source, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/tags/hosts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.TagsApi.listHostTags")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (source !== undefined) {
+                requestContext.setQueryParam("source", ObjectSerializer_1.ObjectSerializer.serialize(source, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateHostTags(hostName, body, source, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'hostName' is not null or undefined
+            if (hostName === null || hostName === undefined) {
+                throw new baseapi_1.RequiredError("hostName", "updateHostTags");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateHostTags");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/tags/hosts/{host_name}".replace("{host_name}", encodeURIComponent(String(hostName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.TagsApi.updateHostTags")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (source !== undefined) {
+                requestContext.setQueryParam("source", ObjectSerializer_1.ObjectSerializer.serialize(source, "string", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "HostTags", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.TagsApiRequestFactory = TagsApiRequestFactory;
+class TagsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createHostTags
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createHostTags(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteHostTags
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteHostTags(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getHostTags
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getHostTags(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listHostTags
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listHostTags(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TagToHosts");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TagToHosts", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateHostTags
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateHostTags(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HostTags", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.TagsApiResponseProcessor = TagsApiResponseProcessor;
+class TagsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new TagsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new TagsApiResponseProcessor();
+    }
+    /**
+     * This endpoint allows you to add new tags to a host,
+     * optionally specifying where these tags come from.
+     * @param param The request object
+     */
+    createHostTags(param, options) {
+        const requestContextPromise = this.requestFactory.createHostTags(param.hostName, param.body, param.source, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createHostTags(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint allows you to remove all user-assigned tags
+     * for a single host.
+     * @param param The request object
+     */
+    deleteHostTags(param, options) {
+        const requestContextPromise = this.requestFactory.deleteHostTags(param.hostName, param.source, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteHostTags(responseContext);
+            });
+        });
+    }
+    /**
+     * Return the list of tags that apply to a given host.
+     * @param param The request object
+     */
+    getHostTags(param, options) {
+        const requestContextPromise = this.requestFactory.getHostTags(param.hostName, param.source, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getHostTags(responseContext);
+            });
+        });
+    }
+    /**
+     * Return a mapping of tags to hosts for your whole infrastructure.
+     * @param param The request object
+     */
+    listHostTags(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listHostTags(param.source, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listHostTags(responseContext);
+            });
+        });
+    }
+    /**
+     * This endpoint allows you to update/replace all tags in
+     * an integration source with those supplied in the request.
+     * @param param The request object
+     */
+    updateHostTags(param, options) {
+        const requestContextPromise = this.requestFactory.updateHostTags(param.hostName, param.body, param.source, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateHostTags(responseContext);
+            });
+        });
+    }
+}
+exports.TagsApi = TagsApi;
+//# sourceMappingURL=TagsApi.js.map
+
+/***/ }),
+
+/***/ 66404:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageMeteringApi = exports.UsageMeteringApiResponseProcessor = exports.UsageMeteringApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class UsageMeteringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getDailyCustomReports(pageSize, pageNumber, sortDir, sort, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/daily_custom_reports";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getDailyCustomReports")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sortDir !== undefined) {
+                requestContext.setQueryParam("sort_dir", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, "UsageSortDirection", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "UsageSort", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getHourlyUsageAttribution(startHr, usageType, endHr, nextRecordId, tagBreakdownKeys, includeDescendants, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getHourlyUsageAttribution");
+            }
+            // verify required parameter 'usageType' is not null or undefined
+            if (usageType === null || usageType === undefined) {
+                throw new baseapi_1.RequiredError("usageType", "getHourlyUsageAttribution");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/hourly-attribution";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getHourlyUsageAttribution")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            if (usageType !== undefined) {
+                requestContext.setQueryParam("usage_type", ObjectSerializer_1.ObjectSerializer.serialize(usageType, "HourlyUsageAttributionUsageType", ""));
+            }
+            if (nextRecordId !== undefined) {
+                requestContext.setQueryParam("next_record_id", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, "string", ""));
+            }
+            if (tagBreakdownKeys !== undefined) {
+                requestContext.setQueryParam("tag_breakdown_keys", ObjectSerializer_1.ObjectSerializer.serialize(tagBreakdownKeys, "string", ""));
+            }
+            if (includeDescendants !== undefined) {
+                requestContext.setQueryParam("include_descendants", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncidentManagement(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getIncidentManagement");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/incident-management";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getIncidentManagement")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIngestedSpans(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getIngestedSpans");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/ingested-spans";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getIngestedSpans")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getMonthlyCustomReports(pageSize, pageNumber, sortDir, sort, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/monthly_custom_reports";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getMonthlyCustomReports")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sortDir !== undefined) {
+                requestContext.setQueryParam("sort_dir", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, "UsageSortDirection", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "UsageSort", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getMonthlyUsageAttribution(startMonth, fields, endMonth, sortDirection, sortName, tagBreakdownKeys, nextRecordId, includeDescendants, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startMonth' is not null or undefined
+            if (startMonth === null || startMonth === undefined) {
+                throw new baseapi_1.RequiredError("startMonth", "getMonthlyUsageAttribution");
+            }
+            // verify required parameter 'fields' is not null or undefined
+            if (fields === null || fields === undefined) {
+                throw new baseapi_1.RequiredError("fields", "getMonthlyUsageAttribution");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/monthly-attribution";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getMonthlyUsageAttribution")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            if (fields !== undefined) {
+                requestContext.setQueryParam("fields", ObjectSerializer_1.ObjectSerializer.serialize(fields, "MonthlyUsageAttributionSupportedMetrics", ""));
+            }
+            if (sortDirection !== undefined) {
+                requestContext.setQueryParam("sort_direction", ObjectSerializer_1.ObjectSerializer.serialize(sortDirection, "UsageSortDirection", ""));
+            }
+            if (sortName !== undefined) {
+                requestContext.setQueryParam("sort_name", ObjectSerializer_1.ObjectSerializer.serialize(sortName, "MonthlyUsageAttributionSupportedMetrics", ""));
+            }
+            if (tagBreakdownKeys !== undefined) {
+                requestContext.setQueryParam("tag_breakdown_keys", ObjectSerializer_1.ObjectSerializer.serialize(tagBreakdownKeys, "string", ""));
+            }
+            if (nextRecordId !== undefined) {
+                requestContext.setQueryParam("next_record_id", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, "string", ""));
+            }
+            if (includeDescendants !== undefined) {
+                requestContext.setQueryParam("include_descendants", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSpecifiedDailyCustomReports(reportId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'reportId' is not null or undefined
+            if (reportId === null || reportId === undefined) {
+                throw new baseapi_1.RequiredError("reportId", "getSpecifiedDailyCustomReports");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/daily_custom_reports/{report_id}".replace("{report_id}", encodeURIComponent(String(reportId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getSpecifiedDailyCustomReports")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSpecifiedMonthlyCustomReports(reportId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'reportId' is not null or undefined
+            if (reportId === null || reportId === undefined) {
+                throw new baseapi_1.RequiredError("reportId", "getSpecifiedMonthlyCustomReports");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/monthly_custom_reports/{report_id}".replace("{report_id}", encodeURIComponent(String(reportId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getSpecifiedMonthlyCustomReports")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageAnalyzedLogs(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageAnalyzedLogs");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/analyzed_logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageAnalyzedLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageAttribution(startMonth, fields, endMonth, sortDirection, sortName, includeDescendants, offset, limit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startMonth' is not null or undefined
+            if (startMonth === null || startMonth === undefined) {
+                throw new baseapi_1.RequiredError("startMonth", "getUsageAttribution");
+            }
+            // verify required parameter 'fields' is not null or undefined
+            if (fields === null || fields === undefined) {
+                throw new baseapi_1.RequiredError("fields", "getUsageAttribution");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/attribution";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageAttribution")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (fields !== undefined) {
+                requestContext.setQueryParam("fields", ObjectSerializer_1.ObjectSerializer.serialize(fields, "UsageAttributionSupportedMetrics", ""));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            if (sortDirection !== undefined) {
+                requestContext.setQueryParam("sort_direction", ObjectSerializer_1.ObjectSerializer.serialize(sortDirection, "UsageSortDirection", ""));
+            }
+            if (sortName !== undefined) {
+                requestContext.setQueryParam("sort_name", ObjectSerializer_1.ObjectSerializer.serialize(sortName, "UsageAttributionSort", ""));
+            }
+            if (includeDescendants !== undefined) {
+                requestContext.setQueryParam("include_descendants", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, "boolean", ""));
+            }
+            if (offset !== undefined) {
+                requestContext.setQueryParam("offset", ObjectSerializer_1.ObjectSerializer.serialize(offset, "number", "int64"));
+            }
+            if (limit !== undefined) {
+                requestContext.setQueryParam("limit", ObjectSerializer_1.ObjectSerializer.serialize(limit, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageAuditLogs(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageAuditLogs");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/audit_logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageAuditLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageBillableSummary(month, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/usage/billable-summary";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageBillableSummary")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (month !== undefined) {
+                requestContext.setQueryParam("month", ObjectSerializer_1.ObjectSerializer.serialize(month, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageCIApp(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageCIApp");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/ci-app";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageCIApp")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageCloudSecurityPostureManagement(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageCloudSecurityPostureManagement");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/cspm";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageCloudSecurityPostureManagement")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageCWS(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageCWS");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/cws";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageCWS")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageDBM(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageDBM");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/dbm";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageDBM")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageFargate(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageFargate");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/fargate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageFargate")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageHosts(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageHosts");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/hosts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageHosts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageIndexedSpans(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageIndexedSpans");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/indexed-spans";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageIndexedSpans")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageInternetOfThings(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageInternetOfThings");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/iot";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageInternetOfThings")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageLambda(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageLambda");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/aws_lambda";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageLambda")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageLogs(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageLogs");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageLogsByIndex(startHr, endHr, indexName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageLogsByIndex");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/logs_by_index";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageLogsByIndex")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            if (indexName !== undefined) {
+                requestContext.setQueryParam("index_name", ObjectSerializer_1.ObjectSerializer.serialize(indexName, "Array", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageLogsByRetention(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageLogsByRetention");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/logs-by-retention";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageLogsByRetention")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageNetworkFlows(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageNetworkFlows");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/network_flows";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageNetworkFlows")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageNetworkHosts(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageNetworkHosts");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/network_hosts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageNetworkHosts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageOnlineArchive(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageOnlineArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/online-archive";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageOnlineArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageProfiling(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageProfiling");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/profiling";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageProfiling")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageRumSessions(startHr, endHr, type, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageRumSessions");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/rum_sessions";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageRumSessions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            if (type !== undefined) {
+                requestContext.setQueryParam("type", ObjectSerializer_1.ObjectSerializer.serialize(type, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageRumUnits(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageRumUnits");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/rum";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageRumUnits")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSDS(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageSDS");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/sds";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSDS")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSNMP(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageSNMP");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/snmp";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSNMP")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSummary(startMonth, endMonth, includeOrgDetails, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startMonth' is not null or undefined
+            if (startMonth === null || startMonth === undefined) {
+                throw new baseapi_1.RequiredError("startMonth", "getUsageSummary");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/summary";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSummary")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            if (includeOrgDetails !== undefined) {
+                requestContext.setQueryParam("include_org_details", ObjectSerializer_1.ObjectSerializer.serialize(includeOrgDetails, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSynthetics(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageSynthetics");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/synthetics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSynthetics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSyntheticsAPI(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageSyntheticsAPI");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/synthetics_api";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSyntheticsAPI")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageSyntheticsBrowser(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageSyntheticsBrowser");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/synthetics_browser";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageSyntheticsBrowser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageTimeseries(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageTimeseries");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/usage/timeseries";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageTimeseries")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageTopAvgMetrics(month, day, names, limit, nextRecordId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/usage/top_avg_metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsageMeteringApi.getUsageTopAvgMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (month !== undefined) {
+                requestContext.setQueryParam("month", ObjectSerializer_1.ObjectSerializer.serialize(month, "Date", "date-time"));
+            }
+            if (day !== undefined) {
+                requestContext.setQueryParam("day", ObjectSerializer_1.ObjectSerializer.serialize(day, "Date", "date-time"));
+            }
+            if (names !== undefined) {
+                requestContext.setQueryParam("names", ObjectSerializer_1.ObjectSerializer.serialize(names, "Array", ""));
+            }
+            if (limit !== undefined) {
+                requestContext.setQueryParam("limit", ObjectSerializer_1.ObjectSerializer.serialize(limit, "number", "int32"));
+            }
+            if (nextRecordId !== undefined) {
+                requestContext.setQueryParam("next_record_id", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.UsageMeteringApiRequestFactory = UsageMeteringApiRequestFactory;
+class UsageMeteringApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDailyCustomReports
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDailyCustomReports(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCustomReportsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCustomReportsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getHourlyUsageAttribution
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getHourlyUsageAttribution(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HourlyUsageAttributionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HourlyUsageAttributionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncidentManagement
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncidentManagement(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIncidentManagementResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIncidentManagementResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIngestedSpans
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIngestedSpans(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIngestedSpansResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIngestedSpansResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getMonthlyCustomReports
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getMonthlyCustomReports(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCustomReportsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCustomReportsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getMonthlyUsageAttribution
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getMonthlyUsageAttribution(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonthlyUsageAttributionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonthlyUsageAttributionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSpecifiedDailyCustomReports
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSpecifiedDailyCustomReports(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSpecifiedCustomReportsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSpecifiedCustomReportsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSpecifiedMonthlyCustomReports
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSpecifiedMonthlyCustomReports(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSpecifiedCustomReportsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSpecifiedCustomReportsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageAnalyzedLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageAnalyzedLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAnalyzedLogsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAnalyzedLogsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageAttribution
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageAttribution(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAttributionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAttributionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageAuditLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageAuditLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAuditLogsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageAuditLogsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageBillableSummary
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageBillableSummary(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageBillableSummaryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageBillableSummaryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageCIApp
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageCIApp(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCIVisibilityResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCIVisibilityResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageCloudSecurityPostureManagement
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageCloudSecurityPostureManagement(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCloudSecurityPostureManagementResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCloudSecurityPostureManagementResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageCWS
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageCWS(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCWSResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageCWSResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageDBM
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageDBM(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageDBMResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageDBMResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageFargate
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageFargate(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageFargateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageFargateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageHosts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageHosts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageHostsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageHostsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageIndexedSpans
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageIndexedSpans(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIndexedSpansResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIndexedSpansResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageInternetOfThings
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageInternetOfThings(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIoTResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageIoTResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageLambda
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageLambda(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLambdaResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLambdaResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageLogsByIndex
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageLogsByIndex(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsByIndexResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsByIndexResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageLogsByRetention
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageLogsByRetention(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsByRetentionResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLogsByRetentionResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageNetworkFlows
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageNetworkFlows(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageNetworkFlowsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageNetworkFlowsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageNetworkHosts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageNetworkHosts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageNetworkHostsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageNetworkHostsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageOnlineArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageOnlineArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageOnlineArchiveResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageOnlineArchiveResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageProfiling
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageProfiling(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageProfilingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageProfilingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageRumSessions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageRumSessions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageRumSessionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageRumSessionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageRumUnits
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageRumUnits(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageRumUnitsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageRumUnitsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSDS
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSDS(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSDSResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSDSResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSNMP
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSNMP(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSNMPResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSNMPResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSummary
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSummary(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSummaryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSummaryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSynthetics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSynthetics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSyntheticsAPI
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSyntheticsAPI(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsAPIResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsAPIResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageSyntheticsBrowser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageSyntheticsBrowser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsBrowserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageSyntheticsBrowserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageTimeseries
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageTimeseries(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageTimeseriesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageTimeseriesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageTopAvgMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageTopAvgMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageTopAvgMetricsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageTopAvgMetricsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.UsageMeteringApiResponseProcessor = UsageMeteringApiResponseProcessor;
+class UsageMeteringApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new UsageMeteringApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new UsageMeteringApiResponseProcessor();
+    }
+    /**
+     * Get daily custom reports.
+     * **Note:** This endpoint will be fully deprecated on December 1, 2022.
+     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getDailyCustomReports(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getDailyCustomReports(param.pageSize, param.pageNumber, param.sortDir, param.sort, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDailyCustomReports(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage attribution. Multi-region data is available starting March 1, 2023.
+     *
+     * This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is
+     * set in the response. If it is, make another request and pass `next_record_id` as a parameter.
+     * Pseudo code example:
+     *
+     * ```
+     * response := GetHourlyUsageAttribution(start_month)
+     * cursor := response.metadata.pagination.next_record_id
+     * WHILE cursor != null BEGIN
+     *   sleep(5 seconds)  # Avoid running into rate limit
+     *   response := GetHourlyUsageAttribution(start_month, next_record_id=cursor)
+     *   cursor := response.metadata.pagination.next_record_id
+     * END
+     * ```
+     * @param param The request object
+     */
+    getHourlyUsageAttribution(param, options) {
+        const requestContextPromise = this.requestFactory.getHourlyUsageAttribution(param.startHr, param.usageType, param.endHr, param.nextRecordId, param.tagBreakdownKeys, param.includeDescendants, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getHourlyUsageAttribution(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for incident management.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getIncidentManagement(param, options) {
+        const requestContextPromise = this.requestFactory.getIncidentManagement(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncidentManagement(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for ingested spans.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getIngestedSpans(param, options) {
+        const requestContextPromise = this.requestFactory.getIngestedSpans(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIngestedSpans(responseContext);
+            });
+        });
+    }
+    /**
+     * Get monthly custom reports.
+     * **Note:** This endpoint will be fully deprecated on December 1, 2022.
+     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getMonthlyCustomReports(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getMonthlyCustomReports(param.pageSize, param.pageNumber, param.sortDir, param.sort, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getMonthlyCustomReports(responseContext);
+            });
+        });
+    }
+    /**
+     * Get monthly usage attribution. Multi-region data is available starting March 1, 2023.
+     *
+     * This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is
+     * set in the response. If it is, make another request and pass `next_record_id` as a parameter.
+     * Pseudo code example:
+     *
+     * ```
+     * response := GetMonthlyUsageAttribution(start_month)
+     * cursor := response.metadata.pagination.next_record_id
+     * WHILE cursor != null BEGIN
+     *   sleep(5 seconds)  # Avoid running into rate limit
+     *   response := GetMonthlyUsageAttribution(start_month, next_record_id=cursor)
+     *   cursor := response.metadata.pagination.next_record_id
+     * END
+     * ```
+     * @param param The request object
+     */
+    getMonthlyUsageAttribution(param, options) {
+        const requestContextPromise = this.requestFactory.getMonthlyUsageAttribution(param.startMonth, param.fields, param.endMonth, param.sortDirection, param.sortName, param.tagBreakdownKeys, param.nextRecordId, param.includeDescendants, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getMonthlyUsageAttribution(responseContext);
+            });
+        });
+    }
+    /**
+     * Get specified daily custom reports.
+     * **Note:** This endpoint will be fully deprecated on December 1, 2022.
+     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getSpecifiedDailyCustomReports(param, options) {
+        const requestContextPromise = this.requestFactory.getSpecifiedDailyCustomReports(param.reportId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSpecifiedDailyCustomReports(responseContext);
+            });
+        });
+    }
+    /**
+     * Get specified monthly custom reports.
+     * **Note:** This endpoint will be fully deprecated on December 1, 2022.
+     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getSpecifiedMonthlyCustomReports(param, options) {
+        const requestContextPromise = this.requestFactory.getSpecifiedMonthlyCustomReports(param.reportId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSpecifiedMonthlyCustomReports(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for analyzed logs (Security Monitoring).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageAnalyzedLogs(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageAnalyzedLogs(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageAnalyzedLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Get usage attribution.
+     * **Note:** This endpoint will be fully deprecated on December 1, 2022.
+     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageAttribution(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageAttribution(param.startMonth, param.fields, param.endMonth, param.sortDirection, param.sortName, param.includeDescendants, param.offset, param.limit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageAttribution(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for audit logs.
+     * **Note:** This endpoint has been deprecated.
+     * @param param The request object
+     */
+    getUsageAuditLogs(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageAuditLogs(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageAuditLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Get billable usage across your account.
+     * @param param The request object
+     */
+    getUsageBillableSummary(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getUsageBillableSummary(param.month, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageBillableSummary(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for CI visibility (tests, pipeline, and spans).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageCIApp(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageCIApp(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageCIApp(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for cloud security posture management (CSPM).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageCloudSecurityPostureManagement(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageCloudSecurityPostureManagement(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageCloudSecurityPostureManagement(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for cloud workload security.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageCWS(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageCWS(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageCWS(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for database monitoring
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageDBM(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageDBM(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageDBM(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [Fargate](https://docs.datadoghq.com/integrations/ecs_fargate/).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageFargate(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageFargate(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageFargate(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for hosts and containers.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageHosts(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageHosts(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageHosts(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for indexed spans.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageIndexedSpans(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageIndexedSpans(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageIndexedSpans(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for IoT.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageInternetOfThings(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageInternetOfThings(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageInternetOfThings(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for lambda.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageLambda(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageLambda(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageLambda(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for logs.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageLogs(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageLogs(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for logs by index.
+     * @param param The request object
+     */
+    getUsageLogsByIndex(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageLogsByIndex(param.startHr, param.endHr, param.indexName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageLogsByIndex(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for indexed logs by retention period.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageLogsByRetention(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageLogsByRetention(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageLogsByRetention(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for network flows.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageNetworkFlows(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageNetworkFlows(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageNetworkFlows(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for network hosts.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageNetworkHosts(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageNetworkHosts(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageNetworkHosts(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for online archive.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageOnlineArchive(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageOnlineArchive(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageOnlineArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for profiled hosts.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageProfiling(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageProfiling(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageProfiling(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Sessions.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageRumSessions(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageRumSessions(param.startHr, param.endHr, param.type, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageRumSessions(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Units.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageRumUnits(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageRumUnits(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageRumUnits(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for sensitive data scanner.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageSDS(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSDS(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSDS(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for SNMP devices.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageSNMP(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSNMP(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSNMP(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all usage across your account.
+     * @param param The request object
+     */
+    getUsageSummary(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSummary(param.startMonth, param.endMonth, param.includeOrgDetails, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSummary(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [synthetics checks](https://docs.datadoghq.com/synthetics/).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageSynthetics(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSynthetics(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSynthetics(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [synthetics API checks](https://docs.datadoghq.com/synthetics/).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageSyntheticsAPI(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSyntheticsAPI(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSyntheticsAPI(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for synthetics browser checks.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageSyntheticsBrowser(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageSyntheticsBrowser(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageSyntheticsBrowser(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/).
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.
+     * @param param The request object
+     */
+    getUsageTimeseries(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageTimeseries(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageTimeseries(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/) by hourly average. Use the month parameter to get a month-to-date data resolution or use the day parameter to get a daily resolution. One of the two is required, and only one of the two is allowed.
+     * @param param The request object
+     */
+    getUsageTopAvgMetrics(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getUsageTopAvgMetrics(param.month, param.day, param.names, param.limit, param.nextRecordId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageTopAvgMetrics(responseContext);
+            });
+        });
+    }
+}
+exports.UsageMeteringApi = UsageMeteringApi;
+//# sourceMappingURL=UsageMeteringApi.js.map
+
+/***/ }),
+
+/***/ 17843:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsersApi = exports.UsersApiResponseProcessor = exports.UsersApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class UsersApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createUser(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/user";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsersApi.createUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "User", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    disableUser(userHandle, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userHandle' is not null or undefined
+            if (userHandle === null || userHandle === undefined) {
+                throw new baseapi_1.RequiredError("userHandle", "disableUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/user/{user_handle}".replace("{user_handle}", encodeURIComponent(String(userHandle)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsersApi.disableUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUser(userHandle, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userHandle' is not null or undefined
+            if (userHandle === null || userHandle === undefined) {
+                throw new baseapi_1.RequiredError("userHandle", "getUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/user/{user_handle}".replace("{user_handle}", encodeURIComponent(String(userHandle)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsersApi.getUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listUsers(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v1/user";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsersApi.listUsers")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateUser(userHandle, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userHandle' is not null or undefined
+            if (userHandle === null || userHandle === undefined) {
+                throw new baseapi_1.RequiredError("userHandle", "updateUser");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/user/{user_handle}".replace("{user_handle}", encodeURIComponent(String(userHandle)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.UsersApi.updateUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "User", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.UsersApiRequestFactory = UsersApiRequestFactory;
+class UsersApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to disableUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    disableUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserDisableResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserDisableResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listUsers
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listUsers(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.UsersApiResponseProcessor = UsersApiResponseProcessor;
+class UsersApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new UsersApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new UsersApiResponseProcessor();
+    }
+    /**
+     * Create a user for your organization.
+     *
+     * **Note**: Users can only be created with the admin access role
+     * if application keys belong to administrators.
+     * @param param The request object
+     */
+    createUser(param, options) {
+        const requestContextPromise = this.requestFactory.createUser(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createUser(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a user from an organization.
+     *
+     * **Note**: This endpoint can only be used with application keys belonging to
+     * administrators.
+     * @param param The request object
+     */
+    disableUser(param, options) {
+        const requestContextPromise = this.requestFactory.disableUser(param.userHandle, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.disableUser(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a user's details.
+     * @param param The request object
+     */
+    getUser(param, options) {
+        const requestContextPromise = this.requestFactory.getUser(param.userHandle, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUser(responseContext);
+            });
+        });
+    }
+    /**
+     * List all users for your organization.
+     * @param param The request object
+     */
+    listUsers(options) {
+        const requestContextPromise = this.requestFactory.listUsers(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listUsers(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a user information.
+     *
+     * **Note**: It can only be used with application keys belonging to administrators.
+     * @param param The request object
+     */
+    updateUser(param, options) {
+        const requestContextPromise = this.requestFactory.updateUser(param.userHandle, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateUser(responseContext);
+            });
+        });
+    }
+}
+exports.UsersApi = UsersApi;
+//# sourceMappingURL=UsersApi.js.map
+
+/***/ }),
+
+/***/ 20215:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegrationApi = exports.WebhooksIntegrationApiResponseProcessor = exports.WebhooksIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(79428);
+const exception_1 = __webpack_require__(90544);
+class WebhooksIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createWebhooksIntegration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createWebhooksIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/webhooks";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.createWebhooksIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "WebhooksIntegration", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createWebhooksIntegrationCustomVariable(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createWebhooksIntegrationCustomVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/custom-variables";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.createWebhooksIntegrationCustomVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "WebhooksIntegrationCustomVariable", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteWebhooksIntegration(webhookName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'webhookName' is not null or undefined
+            if (webhookName === null || webhookName === undefined) {
+                throw new baseapi_1.RequiredError("webhookName", "deleteWebhooksIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}".replace("{webhook_name}", encodeURIComponent(String(webhookName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.deleteWebhooksIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteWebhooksIntegrationCustomVariable(customVariableName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'customVariableName' is not null or undefined
+            if (customVariableName === null || customVariableName === undefined) {
+                throw new baseapi_1.RequiredError("customVariableName", "deleteWebhooksIntegrationCustomVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}".replace("{custom_variable_name}", encodeURIComponent(String(customVariableName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.deleteWebhooksIntegrationCustomVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getWebhooksIntegration(webhookName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'webhookName' is not null or undefined
+            if (webhookName === null || webhookName === undefined) {
+                throw new baseapi_1.RequiredError("webhookName", "getWebhooksIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}".replace("{webhook_name}", encodeURIComponent(String(webhookName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.getWebhooksIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getWebhooksIntegrationCustomVariable(customVariableName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'customVariableName' is not null or undefined
+            if (customVariableName === null || customVariableName === undefined) {
+                throw new baseapi_1.RequiredError("customVariableName", "getWebhooksIntegrationCustomVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}".replace("{custom_variable_name}", encodeURIComponent(String(customVariableName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.getWebhooksIntegrationCustomVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateWebhooksIntegration(webhookName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'webhookName' is not null or undefined
+            if (webhookName === null || webhookName === undefined) {
+                throw new baseapi_1.RequiredError("webhookName", "updateWebhooksIntegration");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateWebhooksIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}".replace("{webhook_name}", encodeURIComponent(String(webhookName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.updateWebhooksIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "WebhooksIntegrationUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateWebhooksIntegrationCustomVariable(customVariableName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'customVariableName' is not null or undefined
+            if (customVariableName === null || customVariableName === undefined) {
+                throw new baseapi_1.RequiredError("customVariableName", "updateWebhooksIntegrationCustomVariable");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateWebhooksIntegrationCustomVariable");
+            }
+            // Path Params
+            const localVarPath = "/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}".replace("{custom_variable_name}", encodeURIComponent(String(customVariableName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v1.WebhooksIntegrationApi.updateWebhooksIntegrationCustomVariable")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "WebhooksIntegrationCustomVariableUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.WebhooksIntegrationApiRequestFactory = WebhooksIntegrationApiRequestFactory;
+class WebhooksIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createWebhooksIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createWebhooksIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createWebhooksIntegrationCustomVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createWebhooksIntegrationCustomVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteWebhooksIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteWebhooksIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteWebhooksIntegrationCustomVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteWebhooksIntegrationCustomVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getWebhooksIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getWebhooksIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getWebhooksIntegrationCustomVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getWebhooksIntegrationCustomVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateWebhooksIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateWebhooksIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegration", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateWebhooksIntegrationCustomVariable
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateWebhooksIntegrationCustomVariable(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "WebhooksIntegrationCustomVariableResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.WebhooksIntegrationApiResponseProcessor = WebhooksIntegrationApiResponseProcessor;
+class WebhooksIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new WebhooksIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new WebhooksIntegrationApiResponseProcessor();
+    }
+    /**
+     * Creates an endpoint with the name ``.
+     * @param param The request object
+     */
+    createWebhooksIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.createWebhooksIntegration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createWebhooksIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Creates an endpoint with the name ``.
+     * @param param The request object
+     */
+    createWebhooksIntegrationCustomVariable(param, options) {
+        const requestContextPromise = this.requestFactory.createWebhooksIntegrationCustomVariable(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createWebhooksIntegrationCustomVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes the endpoint with the name ``.
+     * @param param The request object
+     */
+    deleteWebhooksIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteWebhooksIntegration(param.webhookName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteWebhooksIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes the endpoint with the name ``.
+     * @param param The request object
+     */
+    deleteWebhooksIntegrationCustomVariable(param, options) {
+        const requestContextPromise = this.requestFactory.deleteWebhooksIntegrationCustomVariable(param.customVariableName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteWebhooksIntegrationCustomVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Gets the content of the webhook with the name ``.
+     * @param param The request object
+     */
+    getWebhooksIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.getWebhooksIntegration(param.webhookName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getWebhooksIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Shows the content of the custom variable with the name ``.
+     *
+     * If the custom variable is secret, the value does not return in the
+     * response payload.
+     * @param param The request object
+     */
+    getWebhooksIntegrationCustomVariable(param, options) {
+        const requestContextPromise = this.requestFactory.getWebhooksIntegrationCustomVariable(param.customVariableName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getWebhooksIntegrationCustomVariable(responseContext);
+            });
+        });
+    }
+    /**
+     * Updates the endpoint with the name ``.
+     * @param param The request object
+     */
+    updateWebhooksIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.updateWebhooksIntegration(param.webhookName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateWebhooksIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Updates the endpoint with the name ``.
+     * @param param The request object
+     */
+    updateWebhooksIntegrationCustomVariable(param, options) {
+        const requestContextPromise = this.requestFactory.updateWebhooksIntegrationCustomVariable(param.customVariableName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateWebhooksIntegrationCustomVariable(responseContext);
+            });
+        });
+    }
+}
+exports.WebhooksIntegrationApi = WebhooksIntegrationApi;
+//# sourceMappingURL=WebhooksIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 72681:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsAsyncError = exports.AWSAccountListResponse = exports.AWSAccountDeleteRequest = exports.AWSAccountCreateResponse = exports.AWSAccountAndLambdaRequest = exports.AWSAccount = exports.AuthenticationValidationResponse = exports.ApplicationKeyResponse = exports.ApplicationKeyListResponse = exports.ApplicationKey = exports.ApmStatsQueryDefinition = exports.ApmStatsQueryColumnType = exports.ApiKeyResponse = exports.ApiKeyListResponse = exports.ApiKey = exports.APIErrorResponse = exports.AlertValueWidgetDefinition = exports.AlertGraphWidgetDefinition = exports.AddSignalToIncidentRequest = exports.WebhooksIntegrationApi = exports.UsersApi = exports.UsageMeteringApi = exports.TagsApi = exports.SyntheticsApi = exports.SnapshotsApi = exports.SlackIntegrationApi = exports.ServiceLevelObjectivesApi = exports.ServiceLevelObjectiveCorrectionsApi = exports.ServiceChecksApi = exports.SecurityMonitoringApi = exports.PagerDutyIntegrationApi = exports.OrganizationsApi = exports.NotebooksApi = exports.MonitorsApi = exports.MetricsApi = exports.LogsPipelinesApi = exports.LogsIndexesApi = exports.LogsApi = exports.KeyManagementApi = exports.IPRangesApi = exports.HostsApi = exports.GCPIntegrationApi = exports.EventsApi = exports.DowntimesApi = exports.DashboardsApi = exports.DashboardListsApi = exports.AzureIntegrationApi = exports.AuthenticationApi = exports.AWSLogsIntegrationApi = exports.AWSIntegrationApi = void 0;
+exports.EventQueryDefinition = exports.EventListResponse = exports.EventCreateResponse = exports.EventCreateRequest = exports.Event = exports.DowntimeRecurrence = exports.DowntimeChild = exports.Downtime = exports.DistributionWidgetYAxis = exports.DistributionWidgetXAxis = exports.DistributionWidgetRequest = exports.DistributionWidgetDefinition = exports.DistributionPointsSeries = exports.DistributionPointsPayload = exports.DeleteSharedDashboardResponse = exports.DeletedMonitor = exports.DashboardTemplateVariablePresetValue = exports.DashboardTemplateVariablePreset = exports.DashboardTemplateVariable = exports.DashboardSummaryDefinition = exports.DashboardSummary = exports.DashboardRestoreRequest = exports.DashboardListListResponse = exports.DashboardListDeleteResponse = exports.DashboardList = exports.DashboardGlobalTime = exports.DashboardDeleteResponse = exports.DashboardBulkDeleteRequest = exports.DashboardBulkActionData = exports.Dashboard = exports.Creator = exports.CheckStatusWidgetDefinition = exports.CheckCanDeleteSLOResponseData = exports.CheckCanDeleteSLOResponse = exports.CheckCanDeleteMonitorResponseData = exports.CheckCanDeleteMonitorResponse = exports.ChangeWidgetRequest = exports.ChangeWidgetDefinition = exports.CanceledDowntimesIds = exports.CancelDowntimesByScopeRequest = exports.AzureAccount = exports.AWSTagFilterListResponse = exports.AWSTagFilterDeleteRequest = exports.AWSTagFilterCreateRequest = exports.AWSTagFilter = exports.AWSLogsServicesRequest = exports.AWSLogsListServicesResponse = exports.AWSLogsListResponse = exports.AWSLogsLambda = exports.AWSLogsAsyncResponse = void 0;
+exports.IFrameWidgetDefinition = exports.IdpResponse = exports.IdpFormData = exports.HTTPLogItem = exports.HTTPLogError = exports.HourlyUsageAttributionResponse = exports.HourlyUsageAttributionPagination = exports.HourlyUsageAttributionMetadata = exports.HourlyUsageAttributionBody = exports.HostTotals = exports.HostTags = exports.HostMuteSettings = exports.HostMuteResponse = exports.HostMetrics = exports.HostMetaInstallMethod = exports.HostMeta = exports.HostMapWidgetDefinitionStyle = exports.HostMapWidgetDefinitionRequests = exports.HostMapWidgetDefinition = exports.HostMapRequest = exports.HostListResponse = exports.Host = exports.HeatMapWidgetRequest = exports.HeatMapWidgetDefinition = exports.GroupWidgetDefinition = exports.GraphSnapshot = exports.GeomapWidgetRequest = exports.GeomapWidgetDefinitionView = exports.GeomapWidgetDefinitionStyle = exports.GeomapWidgetDefinition = exports.GCPAccount = exports.FunnelWidgetRequest = exports.FunnelWidgetDefinition = exports.FunnelStep = exports.FunnelQuery = exports.FreeTextWidgetDefinition = exports.FormulaAndFunctionSLOQueryDefinition = exports.FormulaAndFunctionProcessQueryDefinition = exports.FormulaAndFunctionMetricQueryDefinition = exports.FormulaAndFunctionEventQueryGroupBySort = exports.FormulaAndFunctionEventQueryGroupBy = exports.FormulaAndFunctionEventQueryDefinitionSearch = exports.FormulaAndFunctionEventQueryDefinitionCompute = exports.FormulaAndFunctionEventQueryDefinition = exports.FormulaAndFunctionCloudCostQueryDefinition = exports.FormulaAndFunctionApmResourceStatsQueryDefinition = exports.FormulaAndFunctionApmDependencyStatsQueryDefinition = exports.EventTimelineWidgetDefinition = exports.EventStreamWidgetDefinition = exports.EventResponse = void 0;
+exports.LogsLookupProcessor = exports.LogsListResponse = exports.LogsListRequestTime = exports.LogsListRequest = exports.LogsIndexUpdateRequest = exports.LogsIndexListResponse = exports.LogsIndexesOrder = exports.LogsIndex = exports.LogsGrokParserRules = exports.LogsGrokParser = exports.LogsGeoIPParser = exports.LogsFilter = exports.LogsExclusionFilter = exports.LogsExclusion = exports.LogsDateRemapper = exports.LogsCategoryProcessorCategory = exports.LogsCategoryProcessor = exports.LogsByRetentionOrgUsage = exports.LogsByRetentionOrgs = exports.LogsByRetentionMonthlyUsage = exports.LogsByRetention = exports.LogsAttributeRemapper = exports.LogsArithmeticProcessor = exports.LogsAPIErrorResponse = exports.LogsAPIError = exports.LogQueryDefinitionSearch = exports.LogQueryDefinitionGroupBySort = exports.LogQueryDefinitionGroupBy = exports.LogQueryDefinition = exports.LogContent = exports.Log = exports.ListStreamWidgetRequest = exports.ListStreamWidgetDefinition = exports.ListStreamQuery = exports.ListStreamGroupByItems = exports.ListStreamComputeItems = exports.ListStreamColumn = exports.IPRanges = exports.IPPrefixesWebhooks = exports.IPPrefixesSyntheticsPrivateLocations = exports.IPPrefixesSynthetics = exports.IPPrefixesRemoteConfiguration = exports.IPPrefixesProcess = exports.IPPrefixesOrchestrator = exports.IPPrefixesLogs = exports.IPPrefixesAPM = exports.IPPrefixesAPI = exports.IPPrefixesAgents = exports.IntakePayloadAccepted = exports.ImageWidgetDefinition = void 0;
+exports.MonthlyUsageAttributionMetadata = exports.MonthlyUsageAttributionBody = exports.MonitorUpdateRequest = exports.MonitorThresholdWindowOptions = exports.MonitorThresholds = exports.MonitorSummaryWidgetDefinition = exports.MonitorStateGroup = exports.MonitorState = exports.MonitorSearchResultNotification = exports.MonitorSearchResult = exports.MonitorSearchResponseMetadata = exports.MonitorSearchResponseCounts = exports.MonitorSearchResponse = exports.MonitorSearchCountItem = exports.MonitorOptionsSchedulingOptionsEvaluationWindow = exports.MonitorOptionsSchedulingOptions = exports.MonitorOptionsAggregation = exports.MonitorOptions = exports.MonitorGroupSearchResult = exports.MonitorGroupSearchResponseCounts = exports.MonitorGroupSearchResponse = exports.MonitorFormulaAndFunctionEventQueryGroupBySort = exports.MonitorFormulaAndFunctionEventQueryGroupBy = exports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = exports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = exports.MonitorFormulaAndFunctionEventQueryDefinition = exports.Monitor = exports.MetricsQueryUnit = exports.MetricsQueryResponse = exports.MetricsQueryMetadata = exports.MetricsPayload = exports.MetricsListResponse = exports.MetricSearchResponseResults = exports.MetricSearchResponse = exports.MetricMetadata = exports.MatchingDowntime = exports.LogsUserAgentParser = exports.LogsURLParser = exports.LogStreamWidgetDefinition = exports.LogsTraceRemapper = exports.LogsStringBuilderProcessor = exports.LogsStatusRemapper = exports.LogsServiceRemapper = exports.LogsRetentionSumUsage = exports.LogsRetentionAggSumUsage = exports.LogsQueryCompute = exports.LogsPipelinesOrder = exports.LogsPipelineProcessor = exports.LogsPipeline = exports.LogsMessageRemapper = void 0;
+exports.Pagination = exports.PagerDutyServiceName = exports.PagerDutyServiceKey = exports.PagerDutyService = exports.OrgDowngradedResponse = exports.OrganizationSubscription = exports.OrganizationSettingsSamlStrictMode = exports.OrganizationSettingsSamlIdpInitiatedLogin = exports.OrganizationSettingsSamlAutocreateUsersDomains = exports.OrganizationSettingsSaml = exports.OrganizationSettings = exports.OrganizationResponse = exports.OrganizationListResponse = exports.OrganizationCreateResponse = exports.OrganizationCreateBody = exports.OrganizationBilling = exports.Organization = exports.NoteWidgetDefinition = exports.NotebookUpdateRequest = exports.NotebookUpdateDataAttributes = exports.NotebookUpdateData = exports.NotebookToplistCellAttributes = exports.NotebookTimeseriesCellAttributes = exports.NotebooksResponsePage = exports.NotebooksResponseMeta = exports.NotebooksResponseDataAttributes = exports.NotebooksResponseData = exports.NotebooksResponse = exports.NotebookSplitBy = exports.NotebookResponseDataAttributes = exports.NotebookResponseData = exports.NotebookResponse = exports.NotebookRelativeTime = exports.NotebookMetadata = exports.NotebookMarkdownCellDefinition = exports.NotebookMarkdownCellAttributes = exports.NotebookLogStreamCellAttributes = exports.NotebookHeatMapCellAttributes = exports.NotebookDistributionCellAttributes = exports.NotebookCreateRequest = exports.NotebookCreateDataAttributes = exports.NotebookCreateData = exports.NotebookCellUpdateRequest = exports.NotebookCellResponse = exports.NotebookCellCreateRequest = exports.NotebookAuthor = exports.NotebookAbsoluteTime = exports.MonthlyUsageAttributionValues = exports.MonthlyUsageAttributionResponse = exports.MonthlyUsageAttributionPagination = void 0;
+exports.SLOBulkDeleteResponseData = exports.SLOBulkDeleteResponse = exports.SLOBulkDeleteError = exports.SlackIntegrationChannelDisplay = exports.SlackIntegrationChannel = exports.SignalStateUpdateRequest = exports.SignalAssigneeUpdateRequest = exports.SharedDashboardUpdateRequestGlobalTime = exports.SharedDashboardUpdateRequest = exports.SharedDashboardInvitesMetaPage = exports.SharedDashboardInvitesMeta = exports.SharedDashboardInvitesDataObjectAttributes = exports.SharedDashboardInvitesDataObject = exports.SharedDashboardInvites = exports.SharedDashboardAuthor = exports.SharedDashboard = exports.ServiceSummaryWidgetDefinition = exports.ServiceMapWidgetDefinition = exports.ServiceLevelObjectiveRequest = exports.ServiceLevelObjectiveQuery = exports.ServiceLevelObjective = exports.ServiceCheck = exports.Series = exports.SelectableTemplateVariableItems = exports.SearchSLOThreshold = exports.SearchSLOResponseMetaPage = exports.SearchSLOResponseMeta = exports.SearchSLOResponseLinks = exports.SearchSLOResponseDataAttributesFacetsObjectString = exports.SearchSLOResponseDataAttributesFacetsObjectInt = exports.SearchSLOResponseDataAttributesFacets = exports.SearchSLOResponseDataAttributes = exports.SearchSLOResponseData = exports.SearchSLOResponse = exports.SearchSLOQuery = exports.SearchServiceLevelObjectiveData = exports.SearchServiceLevelObjectiveAttributes = exports.SearchServiceLevelObjective = exports.ScatterplotWidgetFormula = exports.ScatterPlotWidgetDefinitionRequests = exports.ScatterPlotWidgetDefinition = exports.ScatterplotTableRequest = exports.ScatterPlotRequest = exports.RunWorkflowWidgetInput = exports.RunWorkflowWidgetDefinition = exports.ResponseMetaAttributes = exports.ReferenceTableLogsLookupProcessor = exports.QueryValueWidgetRequest = exports.QueryValueWidgetDefinition = exports.ProcessQueryDefinition = void 0;
+exports.SyntheticsAPITestResultShortResult = exports.SyntheticsAPITestResultShort = exports.SyntheticsAPITestResultFullCheck = exports.SyntheticsAPITestResultFull = exports.SyntheticsApiTestResultFailure = exports.SyntheticsAPITestResultData = exports.SyntheticsAPITestConfig = exports.SyntheticsAPITest = exports.SyntheticsAPIStep = exports.SunburstWidgetRequest = exports.SunburstWidgetLegendTable = exports.SunburstWidgetLegendInlineAutomatic = exports.SunburstWidgetDefinition = exports.SuccessfulSignalUpdateResponse = exports.SLOWidgetDefinition = exports.SLOThreshold = exports.SLOStatus = exports.SLOResponseData = exports.SLOResponse = exports.SLORawErrorBudgetRemaining = exports.SLOOverallStatuses = exports.SLOListWidgetRequest = exports.SLOListWidgetQuery = exports.SLOListWidgetDefinition = exports.SLOListResponseMetadataPage = exports.SLOListResponseMetadata = exports.SLOListResponse = exports.SLOHistorySLIData = exports.SLOHistoryResponseErrorWithType = exports.SLOHistoryResponseError = exports.SLOHistoryResponseData = exports.SLOHistoryResponse = exports.SLOHistoryMonitor = exports.SLOHistoryMetricsSeriesMetadataUnit = exports.SLOHistoryMetricsSeriesMetadata = exports.SLOHistoryMetricsSeries = exports.SLOHistoryMetrics = exports.SLODeleteResponse = exports.SLOCreator = exports.SLOCorrectionUpdateRequestAttributes = exports.SLOCorrectionUpdateRequest = exports.SLOCorrectionUpdateData = exports.SLOCorrectionResponseAttributesModifier = exports.SLOCorrectionResponseAttributes = exports.SLOCorrectionResponse = exports.SLOCorrectionListResponse = exports.SLOCorrectionCreateRequestAttributes = exports.SLOCorrectionCreateRequest = exports.SLOCorrectionCreateData = exports.SLOCorrection = void 0;
+exports.SyntheticsLocations = exports.SyntheticsLocation = exports.SyntheticsListTestsResponse = exports.SyntheticsListGlobalVariablesResponse = exports.SyntheticsGlobalVariableValue = exports.SyntheticsGlobalVariableTOTPParameters = exports.SyntheticsGlobalVariableParseTestOptions = exports.SyntheticsGlobalVariableOptions = exports.SyntheticsGlobalVariableAttributes = exports.SyntheticsGlobalVariable = exports.SyntheticsGetBrowserTestLatestResultsResponse = exports.SyntheticsGetAPITestLatestResultsResponse = exports.SyntheticsDevice = exports.SyntheticsDeleteTestsResponse = exports.SyntheticsDeleteTestsPayload = exports.SyntheticsDeletedTest = exports.SyntheticsCoreWebVitals = exports.SyntheticsConfigVariable = exports.SyntheticsCITestBody = exports.SyntheticsCITest = exports.SyntheticsCIBatchMetadataProvider = exports.SyntheticsCIBatchMetadataPipeline = exports.SyntheticsCIBatchMetadataGit = exports.SyntheticsCIBatchMetadataCI = exports.SyntheticsCIBatchMetadata = exports.SyntheticsBrowserVariable = exports.SyntheticsBrowserTestRumSettings = exports.SyntheticsBrowserTestResultShortResult = exports.SyntheticsBrowserTestResultShort = exports.SyntheticsBrowserTestResultFullCheck = exports.SyntheticsBrowserTestResultFull = exports.SyntheticsBrowserTestResultFailure = exports.SyntheticsBrowserTestResultData = exports.SyntheticsBrowserTestConfig = exports.SyntheticsBrowserTest = exports.SyntheticsBrowserError = exports.SyntheticsBatchResult = exports.SyntheticsBatchDetailsData = exports.SyntheticsBatchDetails = exports.SyntheticsBasicAuthWeb = exports.SyntheticsBasicAuthSigv4 = exports.SyntheticsBasicAuthOauthROP = exports.SyntheticsBasicAuthOauthClient = exports.SyntheticsBasicAuthNTLM = exports.SyntheticsBasicAuthDigest = exports.SyntheticsAssertionXPathTargetTarget = exports.SyntheticsAssertionXPathTarget = exports.SyntheticsAssertionTarget = exports.SyntheticsAssertionJSONPathTargetTarget = exports.SyntheticsAssertionJSONPathTarget = void 0;
+exports.UsageAnalyzedLogsResponse = exports.UsageAnalyzedLogsHour = exports.TreeMapWidgetRequest = exports.TreeMapWidgetDefinition = exports.TopologyRequest = exports.TopologyQuery = exports.TopologyMapWidgetDefinition = exports.ToplistWidgetRequest = exports.ToplistWidgetDefinition = exports.TimeseriesWidgetRequest = exports.TimeseriesWidgetExpressionAlias = exports.TimeseriesWidgetDefinition = exports.TimeseriesBackground = exports.TagToHosts = exports.TableWidgetRequest = exports.TableWidgetDefinition = exports.SyntheticsVariableParser = exports.SyntheticsUpdateTestPauseStatusPayload = exports.SyntheticsTriggerTest = exports.SyntheticsTriggerCITestsResponse = exports.SyntheticsTriggerCITestRunResult = exports.SyntheticsTriggerCITestLocation = exports.SyntheticsTriggerBody = exports.SyntheticsTiming = exports.SyntheticsTestRequestProxy = exports.SyntheticsTestRequestCertificateItem = exports.SyntheticsTestRequestCertificate = exports.SyntheticsTestRequest = exports.SyntheticsTestOptionsSchedulingTimeframe = exports.SyntheticsTestOptionsScheduling = exports.SyntheticsTestOptionsRetry = exports.SyntheticsTestOptionsMonitorOptions = exports.SyntheticsTestOptions = exports.SyntheticsTestDetails = exports.SyntheticsTestConfig = exports.SyntheticsTestCiOptions = exports.SyntheticsStepDetailWarning = exports.SyntheticsStepDetail = exports.SyntheticsStep = exports.SyntheticsSSLCertificateSubject = exports.SyntheticsSSLCertificateIssuer = exports.SyntheticsSSLCertificate = exports.SyntheticsPrivateLocationSecretsConfigDecryption = exports.SyntheticsPrivateLocationSecretsAuthentication = exports.SyntheticsPrivateLocationSecrets = exports.SyntheticsPrivateLocationMetadata = exports.SyntheticsPrivateLocationCreationResponseResultEncryption = exports.SyntheticsPrivateLocationCreationResponse = exports.SyntheticsPrivateLocation = exports.SyntheticsParsingOptions = void 0;
+exports.UsageOnlineArchiveHour = exports.UsageNetworkHostsResponse = exports.UsageNetworkHostsHour = exports.UsageNetworkFlowsResponse = exports.UsageNetworkFlowsHour = exports.UsageLogsResponse = exports.UsageLogsHour = exports.UsageLogsByRetentionResponse = exports.UsageLogsByRetentionHour = exports.UsageLogsByIndexResponse = exports.UsageLogsByIndexHour = exports.UsageLambdaResponse = exports.UsageLambdaHour = exports.UsageIoTResponse = exports.UsageIoTHour = exports.UsageIngestedSpansResponse = exports.UsageIngestedSpansHour = exports.UsageIndexedSpansResponse = exports.UsageIndexedSpansHour = exports.UsageIncidentManagementResponse = exports.UsageIncidentManagementHour = exports.UsageHostsResponse = exports.UsageHostHour = exports.UsageFargateResponse = exports.UsageFargateHour = exports.UsageDBMResponse = exports.UsageDBMHour = exports.UsageCWSResponse = exports.UsageCWSHour = exports.UsageCustomReportsResponse = exports.UsageCustomReportsPage = exports.UsageCustomReportsMeta = exports.UsageCustomReportsData = exports.UsageCustomReportsAttributes = exports.UsageCloudSecurityPostureManagementResponse = exports.UsageCloudSecurityPostureManagementHour = exports.UsageCIVisibilityResponse = exports.UsageCIVisibilityHour = exports.UsageBillableSummaryResponse = exports.UsageBillableSummaryKeys = exports.UsageBillableSummaryHour = exports.UsageBillableSummaryBody = exports.UsageAuditLogsResponse = exports.UsageAuditLogsHour = exports.UsageAttributionValues = exports.UsageAttributionResponse = exports.UsageAttributionPagination = exports.UsageAttributionMetadata = exports.UsageAttributionBody = exports.UsageAttributionAggregatesBody = void 0;
+exports.WidgetLayout = exports.WidgetFormulaStyle = exports.WidgetFormulaLimit = exports.WidgetFormula = exports.WidgetFieldSort = exports.WidgetEvent = exports.WidgetCustomLink = exports.WidgetConditionalFormat = exports.WidgetAxis = exports.Widget = exports.WebhooksIntegrationUpdateRequest = exports.WebhooksIntegrationCustomVariableUpdateRequest = exports.WebhooksIntegrationCustomVariableResponse = exports.WebhooksIntegrationCustomVariable = exports.WebhooksIntegration = exports.UserResponse = exports.UserListResponse = exports.UserDisableResponse = exports.User = exports.UsageTopAvgMetricsResponse = exports.UsageTopAvgMetricsPagination = exports.UsageTopAvgMetricsMetadata = exports.UsageTopAvgMetricsHour = exports.UsageTimeseriesResponse = exports.UsageTimeseriesHour = exports.UsageSyntheticsResponse = exports.UsageSyntheticsHour = exports.UsageSyntheticsBrowserResponse = exports.UsageSyntheticsBrowserHour = exports.UsageSyntheticsAPIResponse = exports.UsageSyntheticsAPIHour = exports.UsageSummaryResponse = exports.UsageSummaryDateOrg = exports.UsageSummaryDate = exports.UsageSpecifiedCustomReportsResponse = exports.UsageSpecifiedCustomReportsPage = exports.UsageSpecifiedCustomReportsMeta = exports.UsageSpecifiedCustomReportsData = exports.UsageSpecifiedCustomReportsAttributes = exports.UsageSNMPResponse = exports.UsageSNMPHour = exports.UsageSDSResponse = exports.UsageSDSHour = exports.UsageRumUnitsResponse = exports.UsageRumUnitsHour = exports.UsageRumSessionsResponse = exports.UsageRumSessionsHour = exports.UsageProfilingResponse = exports.UsageProfilingHour = exports.UsageOnlineArchiveResponse = void 0;
+exports.ObjectSerializer = exports.WidgetTime = exports.WidgetStyle = exports.WidgetRequestStyle = exports.WidgetMarker = void 0;
+var AWSIntegrationApi_1 = __webpack_require__(3199);
+Object.defineProperty(exports, "AWSIntegrationApi", ({ enumerable: true, get: function () { return AWSIntegrationApi_1.AWSIntegrationApi; } }));
+var AWSLogsIntegrationApi_1 = __webpack_require__(26279);
+Object.defineProperty(exports, "AWSLogsIntegrationApi", ({ enumerable: true, get: function () { return AWSLogsIntegrationApi_1.AWSLogsIntegrationApi; } }));
+var AuthenticationApi_1 = __webpack_require__(98474);
+Object.defineProperty(exports, "AuthenticationApi", ({ enumerable: true, get: function () { return AuthenticationApi_1.AuthenticationApi; } }));
+var AzureIntegrationApi_1 = __webpack_require__(31906);
+Object.defineProperty(exports, "AzureIntegrationApi", ({ enumerable: true, get: function () { return AzureIntegrationApi_1.AzureIntegrationApi; } }));
+var DashboardListsApi_1 = __webpack_require__(71398);
+Object.defineProperty(exports, "DashboardListsApi", ({ enumerable: true, get: function () { return DashboardListsApi_1.DashboardListsApi; } }));
+var DashboardsApi_1 = __webpack_require__(51017);
+Object.defineProperty(exports, "DashboardsApi", ({ enumerable: true, get: function () { return DashboardsApi_1.DashboardsApi; } }));
+var DowntimesApi_1 = __webpack_require__(85456);
+Object.defineProperty(exports, "DowntimesApi", ({ enumerable: true, get: function () { return DowntimesApi_1.DowntimesApi; } }));
+var EventsApi_1 = __webpack_require__(27887);
+Object.defineProperty(exports, "EventsApi", ({ enumerable: true, get: function () { return EventsApi_1.EventsApi; } }));
+var GCPIntegrationApi_1 = __webpack_require__(91273);
+Object.defineProperty(exports, "GCPIntegrationApi", ({ enumerable: true, get: function () { return GCPIntegrationApi_1.GCPIntegrationApi; } }));
+var HostsApi_1 = __webpack_require__(7642);
+Object.defineProperty(exports, "HostsApi", ({ enumerable: true, get: function () { return HostsApi_1.HostsApi; } }));
+var IPRangesApi_1 = __webpack_require__(50599);
+Object.defineProperty(exports, "IPRangesApi", ({ enumerable: true, get: function () { return IPRangesApi_1.IPRangesApi; } }));
+var KeyManagementApi_1 = __webpack_require__(42269);
+Object.defineProperty(exports, "KeyManagementApi", ({ enumerable: true, get: function () { return KeyManagementApi_1.KeyManagementApi; } }));
+var LogsApi_1 = __webpack_require__(12936);
+Object.defineProperty(exports, "LogsApi", ({ enumerable: true, get: function () { return LogsApi_1.LogsApi; } }));
+var LogsIndexesApi_1 = __webpack_require__(31104);
+Object.defineProperty(exports, "LogsIndexesApi", ({ enumerable: true, get: function () { return LogsIndexesApi_1.LogsIndexesApi; } }));
+var LogsPipelinesApi_1 = __webpack_require__(1852);
+Object.defineProperty(exports, "LogsPipelinesApi", ({ enumerable: true, get: function () { return LogsPipelinesApi_1.LogsPipelinesApi; } }));
+var MetricsApi_1 = __webpack_require__(42408);
+Object.defineProperty(exports, "MetricsApi", ({ enumerable: true, get: function () { return MetricsApi_1.MetricsApi; } }));
+var MonitorsApi_1 = __webpack_require__(23565);
+Object.defineProperty(exports, "MonitorsApi", ({ enumerable: true, get: function () { return MonitorsApi_1.MonitorsApi; } }));
+var NotebooksApi_1 = __webpack_require__(26012);
+Object.defineProperty(exports, "NotebooksApi", ({ enumerable: true, get: function () { return NotebooksApi_1.NotebooksApi; } }));
+var OrganizationsApi_1 = __webpack_require__(78990);
+Object.defineProperty(exports, "OrganizationsApi", ({ enumerable: true, get: function () { return OrganizationsApi_1.OrganizationsApi; } }));
+var PagerDutyIntegrationApi_1 = __webpack_require__(28085);
+Object.defineProperty(exports, "PagerDutyIntegrationApi", ({ enumerable: true, get: function () { return PagerDutyIntegrationApi_1.PagerDutyIntegrationApi; } }));
+var SecurityMonitoringApi_1 = __webpack_require__(83010);
+Object.defineProperty(exports, "SecurityMonitoringApi", ({ enumerable: true, get: function () { return SecurityMonitoringApi_1.SecurityMonitoringApi; } }));
+var ServiceChecksApi_1 = __webpack_require__(25724);
+Object.defineProperty(exports, "ServiceChecksApi", ({ enumerable: true, get: function () { return ServiceChecksApi_1.ServiceChecksApi; } }));
+var ServiceLevelObjectiveCorrectionsApi_1 = __webpack_require__(84893);
+Object.defineProperty(exports, "ServiceLevelObjectiveCorrectionsApi", ({ enumerable: true, get: function () { return ServiceLevelObjectiveCorrectionsApi_1.ServiceLevelObjectiveCorrectionsApi; } }));
+var ServiceLevelObjectivesApi_1 = __webpack_require__(72538);
+Object.defineProperty(exports, "ServiceLevelObjectivesApi", ({ enumerable: true, get: function () { return ServiceLevelObjectivesApi_1.ServiceLevelObjectivesApi; } }));
+var SlackIntegrationApi_1 = __webpack_require__(1445);
+Object.defineProperty(exports, "SlackIntegrationApi", ({ enumerable: true, get: function () { return SlackIntegrationApi_1.SlackIntegrationApi; } }));
+var SnapshotsApi_1 = __webpack_require__(26476);
+Object.defineProperty(exports, "SnapshotsApi", ({ enumerable: true, get: function () { return SnapshotsApi_1.SnapshotsApi; } }));
+var SyntheticsApi_1 = __webpack_require__(39844);
+Object.defineProperty(exports, "SyntheticsApi", ({ enumerable: true, get: function () { return SyntheticsApi_1.SyntheticsApi; } }));
+var TagsApi_1 = __webpack_require__(46386);
+Object.defineProperty(exports, "TagsApi", ({ enumerable: true, get: function () { return TagsApi_1.TagsApi; } }));
+var UsageMeteringApi_1 = __webpack_require__(66404);
+Object.defineProperty(exports, "UsageMeteringApi", ({ enumerable: true, get: function () { return UsageMeteringApi_1.UsageMeteringApi; } }));
+var UsersApi_1 = __webpack_require__(17843);
+Object.defineProperty(exports, "UsersApi", ({ enumerable: true, get: function () { return UsersApi_1.UsersApi; } }));
+var WebhooksIntegrationApi_1 = __webpack_require__(20215);
+Object.defineProperty(exports, "WebhooksIntegrationApi", ({ enumerable: true, get: function () { return WebhooksIntegrationApi_1.WebhooksIntegrationApi; } }));
+var AddSignalToIncidentRequest_1 = __webpack_require__(55797);
+Object.defineProperty(exports, "AddSignalToIncidentRequest", ({ enumerable: true, get: function () { return AddSignalToIncidentRequest_1.AddSignalToIncidentRequest; } }));
+var AlertGraphWidgetDefinition_1 = __webpack_require__(45082);
+Object.defineProperty(exports, "AlertGraphWidgetDefinition", ({ enumerable: true, get: function () { return AlertGraphWidgetDefinition_1.AlertGraphWidgetDefinition; } }));
+var AlertValueWidgetDefinition_1 = __webpack_require__(87745);
+Object.defineProperty(exports, "AlertValueWidgetDefinition", ({ enumerable: true, get: function () { return AlertValueWidgetDefinition_1.AlertValueWidgetDefinition; } }));
+var APIErrorResponse_1 = __webpack_require__(85269);
+Object.defineProperty(exports, "APIErrorResponse", ({ enumerable: true, get: function () { return APIErrorResponse_1.APIErrorResponse; } }));
+var ApiKey_1 = __webpack_require__(33618);
+Object.defineProperty(exports, "ApiKey", ({ enumerable: true, get: function () { return ApiKey_1.ApiKey; } }));
+var ApiKeyListResponse_1 = __webpack_require__(6502);
+Object.defineProperty(exports, "ApiKeyListResponse", ({ enumerable: true, get: function () { return ApiKeyListResponse_1.ApiKeyListResponse; } }));
+var ApiKeyResponse_1 = __webpack_require__(32210);
+Object.defineProperty(exports, "ApiKeyResponse", ({ enumerable: true, get: function () { return ApiKeyResponse_1.ApiKeyResponse; } }));
+var ApmStatsQueryColumnType_1 = __webpack_require__(32611);
+Object.defineProperty(exports, "ApmStatsQueryColumnType", ({ enumerable: true, get: function () { return ApmStatsQueryColumnType_1.ApmStatsQueryColumnType; } }));
+var ApmStatsQueryDefinition_1 = __webpack_require__(25786);
+Object.defineProperty(exports, "ApmStatsQueryDefinition", ({ enumerable: true, get: function () { return ApmStatsQueryDefinition_1.ApmStatsQueryDefinition; } }));
+var ApplicationKey_1 = __webpack_require__(20878);
+Object.defineProperty(exports, "ApplicationKey", ({ enumerable: true, get: function () { return ApplicationKey_1.ApplicationKey; } }));
+var ApplicationKeyListResponse_1 = __webpack_require__(46230);
+Object.defineProperty(exports, "ApplicationKeyListResponse", ({ enumerable: true, get: function () { return ApplicationKeyListResponse_1.ApplicationKeyListResponse; } }));
+var ApplicationKeyResponse_1 = __webpack_require__(63367);
+Object.defineProperty(exports, "ApplicationKeyResponse", ({ enumerable: true, get: function () { return ApplicationKeyResponse_1.ApplicationKeyResponse; } }));
+var AuthenticationValidationResponse_1 = __webpack_require__(75429);
+Object.defineProperty(exports, "AuthenticationValidationResponse", ({ enumerable: true, get: function () { return AuthenticationValidationResponse_1.AuthenticationValidationResponse; } }));
+var AWSAccount_1 = __webpack_require__(70275);
+Object.defineProperty(exports, "AWSAccount", ({ enumerable: true, get: function () { return AWSAccount_1.AWSAccount; } }));
+var AWSAccountAndLambdaRequest_1 = __webpack_require__(27048);
+Object.defineProperty(exports, "AWSAccountAndLambdaRequest", ({ enumerable: true, get: function () { return AWSAccountAndLambdaRequest_1.AWSAccountAndLambdaRequest; } }));
+var AWSAccountCreateResponse_1 = __webpack_require__(5542);
+Object.defineProperty(exports, "AWSAccountCreateResponse", ({ enumerable: true, get: function () { return AWSAccountCreateResponse_1.AWSAccountCreateResponse; } }));
+var AWSAccountDeleteRequest_1 = __webpack_require__(25062);
+Object.defineProperty(exports, "AWSAccountDeleteRequest", ({ enumerable: true, get: function () { return AWSAccountDeleteRequest_1.AWSAccountDeleteRequest; } }));
+var AWSAccountListResponse_1 = __webpack_require__(23925);
+Object.defineProperty(exports, "AWSAccountListResponse", ({ enumerable: true, get: function () { return AWSAccountListResponse_1.AWSAccountListResponse; } }));
+var AWSLogsAsyncError_1 = __webpack_require__(27999);
+Object.defineProperty(exports, "AWSLogsAsyncError", ({ enumerable: true, get: function () { return AWSLogsAsyncError_1.AWSLogsAsyncError; } }));
+var AWSLogsAsyncResponse_1 = __webpack_require__(57159);
+Object.defineProperty(exports, "AWSLogsAsyncResponse", ({ enumerable: true, get: function () { return AWSLogsAsyncResponse_1.AWSLogsAsyncResponse; } }));
+var AWSLogsLambda_1 = __webpack_require__(61096);
+Object.defineProperty(exports, "AWSLogsLambda", ({ enumerable: true, get: function () { return AWSLogsLambda_1.AWSLogsLambda; } }));
+var AWSLogsListResponse_1 = __webpack_require__(65977);
+Object.defineProperty(exports, "AWSLogsListResponse", ({ enumerable: true, get: function () { return AWSLogsListResponse_1.AWSLogsListResponse; } }));
+var AWSLogsListServicesResponse_1 = __webpack_require__(46763);
+Object.defineProperty(exports, "AWSLogsListServicesResponse", ({ enumerable: true, get: function () { return AWSLogsListServicesResponse_1.AWSLogsListServicesResponse; } }));
+var AWSLogsServicesRequest_1 = __webpack_require__(22314);
+Object.defineProperty(exports, "AWSLogsServicesRequest", ({ enumerable: true, get: function () { return AWSLogsServicesRequest_1.AWSLogsServicesRequest; } }));
+var AWSTagFilter_1 = __webpack_require__(65067);
+Object.defineProperty(exports, "AWSTagFilter", ({ enumerable: true, get: function () { return AWSTagFilter_1.AWSTagFilter; } }));
+var AWSTagFilterCreateRequest_1 = __webpack_require__(43114);
+Object.defineProperty(exports, "AWSTagFilterCreateRequest", ({ enumerable: true, get: function () { return AWSTagFilterCreateRequest_1.AWSTagFilterCreateRequest; } }));
+var AWSTagFilterDeleteRequest_1 = __webpack_require__(25253);
+Object.defineProperty(exports, "AWSTagFilterDeleteRequest", ({ enumerable: true, get: function () { return AWSTagFilterDeleteRequest_1.AWSTagFilterDeleteRequest; } }));
+var AWSTagFilterListResponse_1 = __webpack_require__(5553);
+Object.defineProperty(exports, "AWSTagFilterListResponse", ({ enumerable: true, get: function () { return AWSTagFilterListResponse_1.AWSTagFilterListResponse; } }));
+var AzureAccount_1 = __webpack_require__(30213);
+Object.defineProperty(exports, "AzureAccount", ({ enumerable: true, get: function () { return AzureAccount_1.AzureAccount; } }));
+var CancelDowntimesByScopeRequest_1 = __webpack_require__(24565);
+Object.defineProperty(exports, "CancelDowntimesByScopeRequest", ({ enumerable: true, get: function () { return CancelDowntimesByScopeRequest_1.CancelDowntimesByScopeRequest; } }));
+var CanceledDowntimesIds_1 = __webpack_require__(12350);
+Object.defineProperty(exports, "CanceledDowntimesIds", ({ enumerable: true, get: function () { return CanceledDowntimesIds_1.CanceledDowntimesIds; } }));
+var ChangeWidgetDefinition_1 = __webpack_require__(63079);
+Object.defineProperty(exports, "ChangeWidgetDefinition", ({ enumerable: true, get: function () { return ChangeWidgetDefinition_1.ChangeWidgetDefinition; } }));
+var ChangeWidgetRequest_1 = __webpack_require__(38481);
+Object.defineProperty(exports, "ChangeWidgetRequest", ({ enumerable: true, get: function () { return ChangeWidgetRequest_1.ChangeWidgetRequest; } }));
+var CheckCanDeleteMonitorResponse_1 = __webpack_require__(42286);
+Object.defineProperty(exports, "CheckCanDeleteMonitorResponse", ({ enumerable: true, get: function () { return CheckCanDeleteMonitorResponse_1.CheckCanDeleteMonitorResponse; } }));
+var CheckCanDeleteMonitorResponseData_1 = __webpack_require__(98347);
+Object.defineProperty(exports, "CheckCanDeleteMonitorResponseData", ({ enumerable: true, get: function () { return CheckCanDeleteMonitorResponseData_1.CheckCanDeleteMonitorResponseData; } }));
+var CheckCanDeleteSLOResponse_1 = __webpack_require__(85643);
+Object.defineProperty(exports, "CheckCanDeleteSLOResponse", ({ enumerable: true, get: function () { return CheckCanDeleteSLOResponse_1.CheckCanDeleteSLOResponse; } }));
+var CheckCanDeleteSLOResponseData_1 = __webpack_require__(51989);
+Object.defineProperty(exports, "CheckCanDeleteSLOResponseData", ({ enumerable: true, get: function () { return CheckCanDeleteSLOResponseData_1.CheckCanDeleteSLOResponseData; } }));
+var CheckStatusWidgetDefinition_1 = __webpack_require__(13909);
+Object.defineProperty(exports, "CheckStatusWidgetDefinition", ({ enumerable: true, get: function () { return CheckStatusWidgetDefinition_1.CheckStatusWidgetDefinition; } }));
+var Creator_1 = __webpack_require__(34837);
+Object.defineProperty(exports, "Creator", ({ enumerable: true, get: function () { return Creator_1.Creator; } }));
+var Dashboard_1 = __webpack_require__(82911);
+Object.defineProperty(exports, "Dashboard", ({ enumerable: true, get: function () { return Dashboard_1.Dashboard; } }));
+var DashboardBulkActionData_1 = __webpack_require__(68031);
+Object.defineProperty(exports, "DashboardBulkActionData", ({ enumerable: true, get: function () { return DashboardBulkActionData_1.DashboardBulkActionData; } }));
+var DashboardBulkDeleteRequest_1 = __webpack_require__(65573);
+Object.defineProperty(exports, "DashboardBulkDeleteRequest", ({ enumerable: true, get: function () { return DashboardBulkDeleteRequest_1.DashboardBulkDeleteRequest; } }));
+var DashboardDeleteResponse_1 = __webpack_require__(44458);
+Object.defineProperty(exports, "DashboardDeleteResponse", ({ enumerable: true, get: function () { return DashboardDeleteResponse_1.DashboardDeleteResponse; } }));
+var DashboardGlobalTime_1 = __webpack_require__(21060);
+Object.defineProperty(exports, "DashboardGlobalTime", ({ enumerable: true, get: function () { return DashboardGlobalTime_1.DashboardGlobalTime; } }));
+var DashboardList_1 = __webpack_require__(21755);
+Object.defineProperty(exports, "DashboardList", ({ enumerable: true, get: function () { return DashboardList_1.DashboardList; } }));
+var DashboardListDeleteResponse_1 = __webpack_require__(74010);
+Object.defineProperty(exports, "DashboardListDeleteResponse", ({ enumerable: true, get: function () { return DashboardListDeleteResponse_1.DashboardListDeleteResponse; } }));
+var DashboardListListResponse_1 = __webpack_require__(27261);
+Object.defineProperty(exports, "DashboardListListResponse", ({ enumerable: true, get: function () { return DashboardListListResponse_1.DashboardListListResponse; } }));
+var DashboardRestoreRequest_1 = __webpack_require__(21249);
+Object.defineProperty(exports, "DashboardRestoreRequest", ({ enumerable: true, get: function () { return DashboardRestoreRequest_1.DashboardRestoreRequest; } }));
+var DashboardSummary_1 = __webpack_require__(58054);
+Object.defineProperty(exports, "DashboardSummary", ({ enumerable: true, get: function () { return DashboardSummary_1.DashboardSummary; } }));
+var DashboardSummaryDefinition_1 = __webpack_require__(10025);
+Object.defineProperty(exports, "DashboardSummaryDefinition", ({ enumerable: true, get: function () { return DashboardSummaryDefinition_1.DashboardSummaryDefinition; } }));
+var DashboardTemplateVariable_1 = __webpack_require__(29707);
+Object.defineProperty(exports, "DashboardTemplateVariable", ({ enumerable: true, get: function () { return DashboardTemplateVariable_1.DashboardTemplateVariable; } }));
+var DashboardTemplateVariablePreset_1 = __webpack_require__(30544);
+Object.defineProperty(exports, "DashboardTemplateVariablePreset", ({ enumerable: true, get: function () { return DashboardTemplateVariablePreset_1.DashboardTemplateVariablePreset; } }));
+var DashboardTemplateVariablePresetValue_1 = __webpack_require__(92731);
+Object.defineProperty(exports, "DashboardTemplateVariablePresetValue", ({ enumerable: true, get: function () { return DashboardTemplateVariablePresetValue_1.DashboardTemplateVariablePresetValue; } }));
+var DeletedMonitor_1 = __webpack_require__(59256);
+Object.defineProperty(exports, "DeletedMonitor", ({ enumerable: true, get: function () { return DeletedMonitor_1.DeletedMonitor; } }));
+var DeleteSharedDashboardResponse_1 = __webpack_require__(49276);
+Object.defineProperty(exports, "DeleteSharedDashboardResponse", ({ enumerable: true, get: function () { return DeleteSharedDashboardResponse_1.DeleteSharedDashboardResponse; } }));
+var DistributionPointsPayload_1 = __webpack_require__(77745);
+Object.defineProperty(exports, "DistributionPointsPayload", ({ enumerable: true, get: function () { return DistributionPointsPayload_1.DistributionPointsPayload; } }));
+var DistributionPointsSeries_1 = __webpack_require__(35514);
+Object.defineProperty(exports, "DistributionPointsSeries", ({ enumerable: true, get: function () { return DistributionPointsSeries_1.DistributionPointsSeries; } }));
+var DistributionWidgetDefinition_1 = __webpack_require__(255);
+Object.defineProperty(exports, "DistributionWidgetDefinition", ({ enumerable: true, get: function () { return DistributionWidgetDefinition_1.DistributionWidgetDefinition; } }));
+var DistributionWidgetRequest_1 = __webpack_require__(54993);
+Object.defineProperty(exports, "DistributionWidgetRequest", ({ enumerable: true, get: function () { return DistributionWidgetRequest_1.DistributionWidgetRequest; } }));
+var DistributionWidgetXAxis_1 = __webpack_require__(34168);
+Object.defineProperty(exports, "DistributionWidgetXAxis", ({ enumerable: true, get: function () { return DistributionWidgetXAxis_1.DistributionWidgetXAxis; } }));
+var DistributionWidgetYAxis_1 = __webpack_require__(2716);
+Object.defineProperty(exports, "DistributionWidgetYAxis", ({ enumerable: true, get: function () { return DistributionWidgetYAxis_1.DistributionWidgetYAxis; } }));
+var Downtime_1 = __webpack_require__(52884);
+Object.defineProperty(exports, "Downtime", ({ enumerable: true, get: function () { return Downtime_1.Downtime; } }));
+var DowntimeChild_1 = __webpack_require__(879);
+Object.defineProperty(exports, "DowntimeChild", ({ enumerable: true, get: function () { return DowntimeChild_1.DowntimeChild; } }));
+var DowntimeRecurrence_1 = __webpack_require__(42694);
+Object.defineProperty(exports, "DowntimeRecurrence", ({ enumerable: true, get: function () { return DowntimeRecurrence_1.DowntimeRecurrence; } }));
+var Event_1 = __webpack_require__(58487);
+Object.defineProperty(exports, "Event", ({ enumerable: true, get: function () { return Event_1.Event; } }));
+var EventCreateRequest_1 = __webpack_require__(79181);
+Object.defineProperty(exports, "EventCreateRequest", ({ enumerable: true, get: function () { return EventCreateRequest_1.EventCreateRequest; } }));
+var EventCreateResponse_1 = __webpack_require__(64651);
+Object.defineProperty(exports, "EventCreateResponse", ({ enumerable: true, get: function () { return EventCreateResponse_1.EventCreateResponse; } }));
+var EventListResponse_1 = __webpack_require__(96961);
+Object.defineProperty(exports, "EventListResponse", ({ enumerable: true, get: function () { return EventListResponse_1.EventListResponse; } }));
+var EventQueryDefinition_1 = __webpack_require__(26185);
+Object.defineProperty(exports, "EventQueryDefinition", ({ enumerable: true, get: function () { return EventQueryDefinition_1.EventQueryDefinition; } }));
+var EventResponse_1 = __webpack_require__(12539);
+Object.defineProperty(exports, "EventResponse", ({ enumerable: true, get: function () { return EventResponse_1.EventResponse; } }));
+var EventStreamWidgetDefinition_1 = __webpack_require__(82422);
+Object.defineProperty(exports, "EventStreamWidgetDefinition", ({ enumerable: true, get: function () { return EventStreamWidgetDefinition_1.EventStreamWidgetDefinition; } }));
+var EventTimelineWidgetDefinition_1 = __webpack_require__(57804);
+Object.defineProperty(exports, "EventTimelineWidgetDefinition", ({ enumerable: true, get: function () { return EventTimelineWidgetDefinition_1.EventTimelineWidgetDefinition; } }));
+var FormulaAndFunctionApmDependencyStatsQueryDefinition_1 = __webpack_require__(77980);
+Object.defineProperty(exports, "FormulaAndFunctionApmDependencyStatsQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionApmDependencyStatsQueryDefinition_1.FormulaAndFunctionApmDependencyStatsQueryDefinition; } }));
+var FormulaAndFunctionApmResourceStatsQueryDefinition_1 = __webpack_require__(26159);
+Object.defineProperty(exports, "FormulaAndFunctionApmResourceStatsQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionApmResourceStatsQueryDefinition_1.FormulaAndFunctionApmResourceStatsQueryDefinition; } }));
+var FormulaAndFunctionCloudCostQueryDefinition_1 = __webpack_require__(70272);
+Object.defineProperty(exports, "FormulaAndFunctionCloudCostQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionCloudCostQueryDefinition_1.FormulaAndFunctionCloudCostQueryDefinition; } }));
+var FormulaAndFunctionEventQueryDefinition_1 = __webpack_require__(66174);
+Object.defineProperty(exports, "FormulaAndFunctionEventQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinition_1.FormulaAndFunctionEventQueryDefinition; } }));
+var FormulaAndFunctionEventQueryDefinitionCompute_1 = __webpack_require__(39476);
+Object.defineProperty(exports, "FormulaAndFunctionEventQueryDefinitionCompute", ({ enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinitionCompute_1.FormulaAndFunctionEventQueryDefinitionCompute; } }));
+var FormulaAndFunctionEventQueryDefinitionSearch_1 = __webpack_require__(73158);
+Object.defineProperty(exports, "FormulaAndFunctionEventQueryDefinitionSearch", ({ enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinitionSearch_1.FormulaAndFunctionEventQueryDefinitionSearch; } }));
+var FormulaAndFunctionEventQueryGroupBy_1 = __webpack_require__(8806);
+Object.defineProperty(exports, "FormulaAndFunctionEventQueryGroupBy", ({ enumerable: true, get: function () { return FormulaAndFunctionEventQueryGroupBy_1.FormulaAndFunctionEventQueryGroupBy; } }));
+var FormulaAndFunctionEventQueryGroupBySort_1 = __webpack_require__(9703);
+Object.defineProperty(exports, "FormulaAndFunctionEventQueryGroupBySort", ({ enumerable: true, get: function () { return FormulaAndFunctionEventQueryGroupBySort_1.FormulaAndFunctionEventQueryGroupBySort; } }));
+var FormulaAndFunctionMetricQueryDefinition_1 = __webpack_require__(93715);
+Object.defineProperty(exports, "FormulaAndFunctionMetricQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionMetricQueryDefinition_1.FormulaAndFunctionMetricQueryDefinition; } }));
+var FormulaAndFunctionProcessQueryDefinition_1 = __webpack_require__(87031);
+Object.defineProperty(exports, "FormulaAndFunctionProcessQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionProcessQueryDefinition_1.FormulaAndFunctionProcessQueryDefinition; } }));
+var FormulaAndFunctionSLOQueryDefinition_1 = __webpack_require__(57483);
+Object.defineProperty(exports, "FormulaAndFunctionSLOQueryDefinition", ({ enumerable: true, get: function () { return FormulaAndFunctionSLOQueryDefinition_1.FormulaAndFunctionSLOQueryDefinition; } }));
+var FreeTextWidgetDefinition_1 = __webpack_require__(51358);
+Object.defineProperty(exports, "FreeTextWidgetDefinition", ({ enumerable: true, get: function () { return FreeTextWidgetDefinition_1.FreeTextWidgetDefinition; } }));
+var FunnelQuery_1 = __webpack_require__(95853);
+Object.defineProperty(exports, "FunnelQuery", ({ enumerable: true, get: function () { return FunnelQuery_1.FunnelQuery; } }));
+var FunnelStep_1 = __webpack_require__(42026);
+Object.defineProperty(exports, "FunnelStep", ({ enumerable: true, get: function () { return FunnelStep_1.FunnelStep; } }));
+var FunnelWidgetDefinition_1 = __webpack_require__(25523);
+Object.defineProperty(exports, "FunnelWidgetDefinition", ({ enumerable: true, get: function () { return FunnelWidgetDefinition_1.FunnelWidgetDefinition; } }));
+var FunnelWidgetRequest_1 = __webpack_require__(94418);
+Object.defineProperty(exports, "FunnelWidgetRequest", ({ enumerable: true, get: function () { return FunnelWidgetRequest_1.FunnelWidgetRequest; } }));
+var GCPAccount_1 = __webpack_require__(44085);
+Object.defineProperty(exports, "GCPAccount", ({ enumerable: true, get: function () { return GCPAccount_1.GCPAccount; } }));
+var GeomapWidgetDefinition_1 = __webpack_require__(23289);
+Object.defineProperty(exports, "GeomapWidgetDefinition", ({ enumerable: true, get: function () { return GeomapWidgetDefinition_1.GeomapWidgetDefinition; } }));
+var GeomapWidgetDefinitionStyle_1 = __webpack_require__(84531);
+Object.defineProperty(exports, "GeomapWidgetDefinitionStyle", ({ enumerable: true, get: function () { return GeomapWidgetDefinitionStyle_1.GeomapWidgetDefinitionStyle; } }));
+var GeomapWidgetDefinitionView_1 = __webpack_require__(64962);
+Object.defineProperty(exports, "GeomapWidgetDefinitionView", ({ enumerable: true, get: function () { return GeomapWidgetDefinitionView_1.GeomapWidgetDefinitionView; } }));
+var GeomapWidgetRequest_1 = __webpack_require__(2040);
+Object.defineProperty(exports, "GeomapWidgetRequest", ({ enumerable: true, get: function () { return GeomapWidgetRequest_1.GeomapWidgetRequest; } }));
+var GraphSnapshot_1 = __webpack_require__(91080);
+Object.defineProperty(exports, "GraphSnapshot", ({ enumerable: true, get: function () { return GraphSnapshot_1.GraphSnapshot; } }));
+var GroupWidgetDefinition_1 = __webpack_require__(26241);
+Object.defineProperty(exports, "GroupWidgetDefinition", ({ enumerable: true, get: function () { return GroupWidgetDefinition_1.GroupWidgetDefinition; } }));
+var HeatMapWidgetDefinition_1 = __webpack_require__(98169);
+Object.defineProperty(exports, "HeatMapWidgetDefinition", ({ enumerable: true, get: function () { return HeatMapWidgetDefinition_1.HeatMapWidgetDefinition; } }));
+var HeatMapWidgetRequest_1 = __webpack_require__(88805);
+Object.defineProperty(exports, "HeatMapWidgetRequest", ({ enumerable: true, get: function () { return HeatMapWidgetRequest_1.HeatMapWidgetRequest; } }));
+var Host_1 = __webpack_require__(94562);
+Object.defineProperty(exports, "Host", ({ enumerable: true, get: function () { return Host_1.Host; } }));
+var HostListResponse_1 = __webpack_require__(37184);
+Object.defineProperty(exports, "HostListResponse", ({ enumerable: true, get: function () { return HostListResponse_1.HostListResponse; } }));
+var HostMapRequest_1 = __webpack_require__(32692);
+Object.defineProperty(exports, "HostMapRequest", ({ enumerable: true, get: function () { return HostMapRequest_1.HostMapRequest; } }));
+var HostMapWidgetDefinition_1 = __webpack_require__(14550);
+Object.defineProperty(exports, "HostMapWidgetDefinition", ({ enumerable: true, get: function () { return HostMapWidgetDefinition_1.HostMapWidgetDefinition; } }));
+var HostMapWidgetDefinitionRequests_1 = __webpack_require__(34258);
+Object.defineProperty(exports, "HostMapWidgetDefinitionRequests", ({ enumerable: true, get: function () { return HostMapWidgetDefinitionRequests_1.HostMapWidgetDefinitionRequests; } }));
+var HostMapWidgetDefinitionStyle_1 = __webpack_require__(86430);
+Object.defineProperty(exports, "HostMapWidgetDefinitionStyle", ({ enumerable: true, get: function () { return HostMapWidgetDefinitionStyle_1.HostMapWidgetDefinitionStyle; } }));
+var HostMeta_1 = __webpack_require__(77224);
+Object.defineProperty(exports, "HostMeta", ({ enumerable: true, get: function () { return HostMeta_1.HostMeta; } }));
+var HostMetaInstallMethod_1 = __webpack_require__(36940);
+Object.defineProperty(exports, "HostMetaInstallMethod", ({ enumerable: true, get: function () { return HostMetaInstallMethod_1.HostMetaInstallMethod; } }));
+var HostMetrics_1 = __webpack_require__(29501);
+Object.defineProperty(exports, "HostMetrics", ({ enumerable: true, get: function () { return HostMetrics_1.HostMetrics; } }));
+var HostMuteResponse_1 = __webpack_require__(42950);
+Object.defineProperty(exports, "HostMuteResponse", ({ enumerable: true, get: function () { return HostMuteResponse_1.HostMuteResponse; } }));
+var HostMuteSettings_1 = __webpack_require__(85193);
+Object.defineProperty(exports, "HostMuteSettings", ({ enumerable: true, get: function () { return HostMuteSettings_1.HostMuteSettings; } }));
+var HostTags_1 = __webpack_require__(93056);
+Object.defineProperty(exports, "HostTags", ({ enumerable: true, get: function () { return HostTags_1.HostTags; } }));
+var HostTotals_1 = __webpack_require__(26085);
+Object.defineProperty(exports, "HostTotals", ({ enumerable: true, get: function () { return HostTotals_1.HostTotals; } }));
+var HourlyUsageAttributionBody_1 = __webpack_require__(57569);
+Object.defineProperty(exports, "HourlyUsageAttributionBody", ({ enumerable: true, get: function () { return HourlyUsageAttributionBody_1.HourlyUsageAttributionBody; } }));
+var HourlyUsageAttributionMetadata_1 = __webpack_require__(8913);
+Object.defineProperty(exports, "HourlyUsageAttributionMetadata", ({ enumerable: true, get: function () { return HourlyUsageAttributionMetadata_1.HourlyUsageAttributionMetadata; } }));
+var HourlyUsageAttributionPagination_1 = __webpack_require__(75616);
+Object.defineProperty(exports, "HourlyUsageAttributionPagination", ({ enumerable: true, get: function () { return HourlyUsageAttributionPagination_1.HourlyUsageAttributionPagination; } }));
+var HourlyUsageAttributionResponse_1 = __webpack_require__(6011);
+Object.defineProperty(exports, "HourlyUsageAttributionResponse", ({ enumerable: true, get: function () { return HourlyUsageAttributionResponse_1.HourlyUsageAttributionResponse; } }));
+var HTTPLogError_1 = __webpack_require__(22656);
+Object.defineProperty(exports, "HTTPLogError", ({ enumerable: true, get: function () { return HTTPLogError_1.HTTPLogError; } }));
+var HTTPLogItem_1 = __webpack_require__(18498);
+Object.defineProperty(exports, "HTTPLogItem", ({ enumerable: true, get: function () { return HTTPLogItem_1.HTTPLogItem; } }));
+var IdpFormData_1 = __webpack_require__(43218);
+Object.defineProperty(exports, "IdpFormData", ({ enumerable: true, get: function () { return IdpFormData_1.IdpFormData; } }));
+var IdpResponse_1 = __webpack_require__(6745);
+Object.defineProperty(exports, "IdpResponse", ({ enumerable: true, get: function () { return IdpResponse_1.IdpResponse; } }));
+var IFrameWidgetDefinition_1 = __webpack_require__(78922);
+Object.defineProperty(exports, "IFrameWidgetDefinition", ({ enumerable: true, get: function () { return IFrameWidgetDefinition_1.IFrameWidgetDefinition; } }));
+var ImageWidgetDefinition_1 = __webpack_require__(82126);
+Object.defineProperty(exports, "ImageWidgetDefinition", ({ enumerable: true, get: function () { return ImageWidgetDefinition_1.ImageWidgetDefinition; } }));
+var IntakePayloadAccepted_1 = __webpack_require__(89628);
+Object.defineProperty(exports, "IntakePayloadAccepted", ({ enumerable: true, get: function () { return IntakePayloadAccepted_1.IntakePayloadAccepted; } }));
+var IPPrefixesAgents_1 = __webpack_require__(79932);
+Object.defineProperty(exports, "IPPrefixesAgents", ({ enumerable: true, get: function () { return IPPrefixesAgents_1.IPPrefixesAgents; } }));
+var IPPrefixesAPI_1 = __webpack_require__(58980);
+Object.defineProperty(exports, "IPPrefixesAPI", ({ enumerable: true, get: function () { return IPPrefixesAPI_1.IPPrefixesAPI; } }));
+var IPPrefixesAPM_1 = __webpack_require__(26626);
+Object.defineProperty(exports, "IPPrefixesAPM", ({ enumerable: true, get: function () { return IPPrefixesAPM_1.IPPrefixesAPM; } }));
+var IPPrefixesLogs_1 = __webpack_require__(76369);
+Object.defineProperty(exports, "IPPrefixesLogs", ({ enumerable: true, get: function () { return IPPrefixesLogs_1.IPPrefixesLogs; } }));
+var IPPrefixesOrchestrator_1 = __webpack_require__(27657);
+Object.defineProperty(exports, "IPPrefixesOrchestrator", ({ enumerable: true, get: function () { return IPPrefixesOrchestrator_1.IPPrefixesOrchestrator; } }));
+var IPPrefixesProcess_1 = __webpack_require__(37095);
+Object.defineProperty(exports, "IPPrefixesProcess", ({ enumerable: true, get: function () { return IPPrefixesProcess_1.IPPrefixesProcess; } }));
+var IPPrefixesRemoteConfiguration_1 = __webpack_require__(9651);
+Object.defineProperty(exports, "IPPrefixesRemoteConfiguration", ({ enumerable: true, get: function () { return IPPrefixesRemoteConfiguration_1.IPPrefixesRemoteConfiguration; } }));
+var IPPrefixesSynthetics_1 = __webpack_require__(71060);
+Object.defineProperty(exports, "IPPrefixesSynthetics", ({ enumerable: true, get: function () { return IPPrefixesSynthetics_1.IPPrefixesSynthetics; } }));
+var IPPrefixesSyntheticsPrivateLocations_1 = __webpack_require__(33296);
+Object.defineProperty(exports, "IPPrefixesSyntheticsPrivateLocations", ({ enumerable: true, get: function () { return IPPrefixesSyntheticsPrivateLocations_1.IPPrefixesSyntheticsPrivateLocations; } }));
+var IPPrefixesWebhooks_1 = __webpack_require__(11607);
+Object.defineProperty(exports, "IPPrefixesWebhooks", ({ enumerable: true, get: function () { return IPPrefixesWebhooks_1.IPPrefixesWebhooks; } }));
+var IPRanges_1 = __webpack_require__(41248);
+Object.defineProperty(exports, "IPRanges", ({ enumerable: true, get: function () { return IPRanges_1.IPRanges; } }));
+var ListStreamColumn_1 = __webpack_require__(79196);
+Object.defineProperty(exports, "ListStreamColumn", ({ enumerable: true, get: function () { return ListStreamColumn_1.ListStreamColumn; } }));
+var ListStreamComputeItems_1 = __webpack_require__(33660);
+Object.defineProperty(exports, "ListStreamComputeItems", ({ enumerable: true, get: function () { return ListStreamComputeItems_1.ListStreamComputeItems; } }));
+var ListStreamGroupByItems_1 = __webpack_require__(72801);
+Object.defineProperty(exports, "ListStreamGroupByItems", ({ enumerable: true, get: function () { return ListStreamGroupByItems_1.ListStreamGroupByItems; } }));
+var ListStreamQuery_1 = __webpack_require__(91264);
+Object.defineProperty(exports, "ListStreamQuery", ({ enumerable: true, get: function () { return ListStreamQuery_1.ListStreamQuery; } }));
+var ListStreamWidgetDefinition_1 = __webpack_require__(74102);
+Object.defineProperty(exports, "ListStreamWidgetDefinition", ({ enumerable: true, get: function () { return ListStreamWidgetDefinition_1.ListStreamWidgetDefinition; } }));
+var ListStreamWidgetRequest_1 = __webpack_require__(57739);
+Object.defineProperty(exports, "ListStreamWidgetRequest", ({ enumerable: true, get: function () { return ListStreamWidgetRequest_1.ListStreamWidgetRequest; } }));
+var Log_1 = __webpack_require__(27228);
+Object.defineProperty(exports, "Log", ({ enumerable: true, get: function () { return Log_1.Log; } }));
+var LogContent_1 = __webpack_require__(2430);
+Object.defineProperty(exports, "LogContent", ({ enumerable: true, get: function () { return LogContent_1.LogContent; } }));
+var LogQueryDefinition_1 = __webpack_require__(6725);
+Object.defineProperty(exports, "LogQueryDefinition", ({ enumerable: true, get: function () { return LogQueryDefinition_1.LogQueryDefinition; } }));
+var LogQueryDefinitionGroupBy_1 = __webpack_require__(51648);
+Object.defineProperty(exports, "LogQueryDefinitionGroupBy", ({ enumerable: true, get: function () { return LogQueryDefinitionGroupBy_1.LogQueryDefinitionGroupBy; } }));
+var LogQueryDefinitionGroupBySort_1 = __webpack_require__(26894);
+Object.defineProperty(exports, "LogQueryDefinitionGroupBySort", ({ enumerable: true, get: function () { return LogQueryDefinitionGroupBySort_1.LogQueryDefinitionGroupBySort; } }));
+var LogQueryDefinitionSearch_1 = __webpack_require__(44453);
+Object.defineProperty(exports, "LogQueryDefinitionSearch", ({ enumerable: true, get: function () { return LogQueryDefinitionSearch_1.LogQueryDefinitionSearch; } }));
+var LogsAPIError_1 = __webpack_require__(25101);
+Object.defineProperty(exports, "LogsAPIError", ({ enumerable: true, get: function () { return LogsAPIError_1.LogsAPIError; } }));
+var LogsAPIErrorResponse_1 = __webpack_require__(14479);
+Object.defineProperty(exports, "LogsAPIErrorResponse", ({ enumerable: true, get: function () { return LogsAPIErrorResponse_1.LogsAPIErrorResponse; } }));
+var LogsArithmeticProcessor_1 = __webpack_require__(49360);
+Object.defineProperty(exports, "LogsArithmeticProcessor", ({ enumerable: true, get: function () { return LogsArithmeticProcessor_1.LogsArithmeticProcessor; } }));
+var LogsAttributeRemapper_1 = __webpack_require__(80173);
+Object.defineProperty(exports, "LogsAttributeRemapper", ({ enumerable: true, get: function () { return LogsAttributeRemapper_1.LogsAttributeRemapper; } }));
+var LogsByRetention_1 = __webpack_require__(27879);
+Object.defineProperty(exports, "LogsByRetention", ({ enumerable: true, get: function () { return LogsByRetention_1.LogsByRetention; } }));
+var LogsByRetentionMonthlyUsage_1 = __webpack_require__(80662);
+Object.defineProperty(exports, "LogsByRetentionMonthlyUsage", ({ enumerable: true, get: function () { return LogsByRetentionMonthlyUsage_1.LogsByRetentionMonthlyUsage; } }));
+var LogsByRetentionOrgs_1 = __webpack_require__(55654);
+Object.defineProperty(exports, "LogsByRetentionOrgs", ({ enumerable: true, get: function () { return LogsByRetentionOrgs_1.LogsByRetentionOrgs; } }));
+var LogsByRetentionOrgUsage_1 = __webpack_require__(61470);
+Object.defineProperty(exports, "LogsByRetentionOrgUsage", ({ enumerable: true, get: function () { return LogsByRetentionOrgUsage_1.LogsByRetentionOrgUsage; } }));
+var LogsCategoryProcessor_1 = __webpack_require__(77512);
+Object.defineProperty(exports, "LogsCategoryProcessor", ({ enumerable: true, get: function () { return LogsCategoryProcessor_1.LogsCategoryProcessor; } }));
+var LogsCategoryProcessorCategory_1 = __webpack_require__(97274);
+Object.defineProperty(exports, "LogsCategoryProcessorCategory", ({ enumerable: true, get: function () { return LogsCategoryProcessorCategory_1.LogsCategoryProcessorCategory; } }));
+var LogsDateRemapper_1 = __webpack_require__(33536);
+Object.defineProperty(exports, "LogsDateRemapper", ({ enumerable: true, get: function () { return LogsDateRemapper_1.LogsDateRemapper; } }));
+var LogsExclusion_1 = __webpack_require__(52013);
+Object.defineProperty(exports, "LogsExclusion", ({ enumerable: true, get: function () { return LogsExclusion_1.LogsExclusion; } }));
+var LogsExclusionFilter_1 = __webpack_require__(50998);
+Object.defineProperty(exports, "LogsExclusionFilter", ({ enumerable: true, get: function () { return LogsExclusionFilter_1.LogsExclusionFilter; } }));
+var LogsFilter_1 = __webpack_require__(14392);
+Object.defineProperty(exports, "LogsFilter", ({ enumerable: true, get: function () { return LogsFilter_1.LogsFilter; } }));
+var LogsGeoIPParser_1 = __webpack_require__(62312);
+Object.defineProperty(exports, "LogsGeoIPParser", ({ enumerable: true, get: function () { return LogsGeoIPParser_1.LogsGeoIPParser; } }));
+var LogsGrokParser_1 = __webpack_require__(88415);
+Object.defineProperty(exports, "LogsGrokParser", ({ enumerable: true, get: function () { return LogsGrokParser_1.LogsGrokParser; } }));
+var LogsGrokParserRules_1 = __webpack_require__(43761);
+Object.defineProperty(exports, "LogsGrokParserRules", ({ enumerable: true, get: function () { return LogsGrokParserRules_1.LogsGrokParserRules; } }));
+var LogsIndex_1 = __webpack_require__(43798);
+Object.defineProperty(exports, "LogsIndex", ({ enumerable: true, get: function () { return LogsIndex_1.LogsIndex; } }));
+var LogsIndexesOrder_1 = __webpack_require__(40336);
+Object.defineProperty(exports, "LogsIndexesOrder", ({ enumerable: true, get: function () { return LogsIndexesOrder_1.LogsIndexesOrder; } }));
+var LogsIndexListResponse_1 = __webpack_require__(66733);
+Object.defineProperty(exports, "LogsIndexListResponse", ({ enumerable: true, get: function () { return LogsIndexListResponse_1.LogsIndexListResponse; } }));
+var LogsIndexUpdateRequest_1 = __webpack_require__(2118);
+Object.defineProperty(exports, "LogsIndexUpdateRequest", ({ enumerable: true, get: function () { return LogsIndexUpdateRequest_1.LogsIndexUpdateRequest; } }));
+var LogsListRequest_1 = __webpack_require__(71874);
+Object.defineProperty(exports, "LogsListRequest", ({ enumerable: true, get: function () { return LogsListRequest_1.LogsListRequest; } }));
+var LogsListRequestTime_1 = __webpack_require__(79936);
+Object.defineProperty(exports, "LogsListRequestTime", ({ enumerable: true, get: function () { return LogsListRequestTime_1.LogsListRequestTime; } }));
+var LogsListResponse_1 = __webpack_require__(59795);
+Object.defineProperty(exports, "LogsListResponse", ({ enumerable: true, get: function () { return LogsListResponse_1.LogsListResponse; } }));
+var LogsLookupProcessor_1 = __webpack_require__(71130);
+Object.defineProperty(exports, "LogsLookupProcessor", ({ enumerable: true, get: function () { return LogsLookupProcessor_1.LogsLookupProcessor; } }));
+var LogsMessageRemapper_1 = __webpack_require__(18922);
+Object.defineProperty(exports, "LogsMessageRemapper", ({ enumerable: true, get: function () { return LogsMessageRemapper_1.LogsMessageRemapper; } }));
+var LogsPipeline_1 = __webpack_require__(25236);
+Object.defineProperty(exports, "LogsPipeline", ({ enumerable: true, get: function () { return LogsPipeline_1.LogsPipeline; } }));
+var LogsPipelineProcessor_1 = __webpack_require__(29684);
+Object.defineProperty(exports, "LogsPipelineProcessor", ({ enumerable: true, get: function () { return LogsPipelineProcessor_1.LogsPipelineProcessor; } }));
+var LogsPipelinesOrder_1 = __webpack_require__(82301);
+Object.defineProperty(exports, "LogsPipelinesOrder", ({ enumerable: true, get: function () { return LogsPipelinesOrder_1.LogsPipelinesOrder; } }));
+var LogsQueryCompute_1 = __webpack_require__(12678);
+Object.defineProperty(exports, "LogsQueryCompute", ({ enumerable: true, get: function () { return LogsQueryCompute_1.LogsQueryCompute; } }));
+var LogsRetentionAggSumUsage_1 = __webpack_require__(79319);
+Object.defineProperty(exports, "LogsRetentionAggSumUsage", ({ enumerable: true, get: function () { return LogsRetentionAggSumUsage_1.LogsRetentionAggSumUsage; } }));
+var LogsRetentionSumUsage_1 = __webpack_require__(26705);
+Object.defineProperty(exports, "LogsRetentionSumUsage", ({ enumerable: true, get: function () { return LogsRetentionSumUsage_1.LogsRetentionSumUsage; } }));
+var LogsServiceRemapper_1 = __webpack_require__(69728);
+Object.defineProperty(exports, "LogsServiceRemapper", ({ enumerable: true, get: function () { return LogsServiceRemapper_1.LogsServiceRemapper; } }));
+var LogsStatusRemapper_1 = __webpack_require__(56044);
+Object.defineProperty(exports, "LogsStatusRemapper", ({ enumerable: true, get: function () { return LogsStatusRemapper_1.LogsStatusRemapper; } }));
+var LogsStringBuilderProcessor_1 = __webpack_require__(74046);
+Object.defineProperty(exports, "LogsStringBuilderProcessor", ({ enumerable: true, get: function () { return LogsStringBuilderProcessor_1.LogsStringBuilderProcessor; } }));
+var LogsTraceRemapper_1 = __webpack_require__(5071);
+Object.defineProperty(exports, "LogsTraceRemapper", ({ enumerable: true, get: function () { return LogsTraceRemapper_1.LogsTraceRemapper; } }));
+var LogStreamWidgetDefinition_1 = __webpack_require__(69314);
+Object.defineProperty(exports, "LogStreamWidgetDefinition", ({ enumerable: true, get: function () { return LogStreamWidgetDefinition_1.LogStreamWidgetDefinition; } }));
+var LogsURLParser_1 = __webpack_require__(83013);
+Object.defineProperty(exports, "LogsURLParser", ({ enumerable: true, get: function () { return LogsURLParser_1.LogsURLParser; } }));
+var LogsUserAgentParser_1 = __webpack_require__(81570);
+Object.defineProperty(exports, "LogsUserAgentParser", ({ enumerable: true, get: function () { return LogsUserAgentParser_1.LogsUserAgentParser; } }));
+var MatchingDowntime_1 = __webpack_require__(96838);
+Object.defineProperty(exports, "MatchingDowntime", ({ enumerable: true, get: function () { return MatchingDowntime_1.MatchingDowntime; } }));
+var MetricMetadata_1 = __webpack_require__(74079);
+Object.defineProperty(exports, "MetricMetadata", ({ enumerable: true, get: function () { return MetricMetadata_1.MetricMetadata; } }));
+var MetricSearchResponse_1 = __webpack_require__(63454);
+Object.defineProperty(exports, "MetricSearchResponse", ({ enumerable: true, get: function () { return MetricSearchResponse_1.MetricSearchResponse; } }));
+var MetricSearchResponseResults_1 = __webpack_require__(48716);
+Object.defineProperty(exports, "MetricSearchResponseResults", ({ enumerable: true, get: function () { return MetricSearchResponseResults_1.MetricSearchResponseResults; } }));
+var MetricsListResponse_1 = __webpack_require__(65432);
+Object.defineProperty(exports, "MetricsListResponse", ({ enumerable: true, get: function () { return MetricsListResponse_1.MetricsListResponse; } }));
+var MetricsPayload_1 = __webpack_require__(62675);
+Object.defineProperty(exports, "MetricsPayload", ({ enumerable: true, get: function () { return MetricsPayload_1.MetricsPayload; } }));
+var MetricsQueryMetadata_1 = __webpack_require__(46191);
+Object.defineProperty(exports, "MetricsQueryMetadata", ({ enumerable: true, get: function () { return MetricsQueryMetadata_1.MetricsQueryMetadata; } }));
+var MetricsQueryResponse_1 = __webpack_require__(87587);
+Object.defineProperty(exports, "MetricsQueryResponse", ({ enumerable: true, get: function () { return MetricsQueryResponse_1.MetricsQueryResponse; } }));
+var MetricsQueryUnit_1 = __webpack_require__(86914);
+Object.defineProperty(exports, "MetricsQueryUnit", ({ enumerable: true, get: function () { return MetricsQueryUnit_1.MetricsQueryUnit; } }));
+var Monitor_1 = __webpack_require__(91194);
+Object.defineProperty(exports, "Monitor", ({ enumerable: true, get: function () { return Monitor_1.Monitor; } }));
+var MonitorFormulaAndFunctionEventQueryDefinition_1 = __webpack_require__(8466);
+Object.defineProperty(exports, "MonitorFormulaAndFunctionEventQueryDefinition", ({ enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinition_1.MonitorFormulaAndFunctionEventQueryDefinition; } }));
+var MonitorFormulaAndFunctionEventQueryDefinitionCompute_1 = __webpack_require__(17740);
+Object.defineProperty(exports, "MonitorFormulaAndFunctionEventQueryDefinitionCompute", ({ enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinitionCompute_1.MonitorFormulaAndFunctionEventQueryDefinitionCompute; } }));
+var MonitorFormulaAndFunctionEventQueryDefinitionSearch_1 = __webpack_require__(91161);
+Object.defineProperty(exports, "MonitorFormulaAndFunctionEventQueryDefinitionSearch", ({ enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinitionSearch_1.MonitorFormulaAndFunctionEventQueryDefinitionSearch; } }));
+var MonitorFormulaAndFunctionEventQueryGroupBy_1 = __webpack_require__(77670);
+Object.defineProperty(exports, "MonitorFormulaAndFunctionEventQueryGroupBy", ({ enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryGroupBy_1.MonitorFormulaAndFunctionEventQueryGroupBy; } }));
+var MonitorFormulaAndFunctionEventQueryGroupBySort_1 = __webpack_require__(37796);
+Object.defineProperty(exports, "MonitorFormulaAndFunctionEventQueryGroupBySort", ({ enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryGroupBySort_1.MonitorFormulaAndFunctionEventQueryGroupBySort; } }));
+var MonitorGroupSearchResponse_1 = __webpack_require__(33228);
+Object.defineProperty(exports, "MonitorGroupSearchResponse", ({ enumerable: true, get: function () { return MonitorGroupSearchResponse_1.MonitorGroupSearchResponse; } }));
+var MonitorGroupSearchResponseCounts_1 = __webpack_require__(29051);
+Object.defineProperty(exports, "MonitorGroupSearchResponseCounts", ({ enumerable: true, get: function () { return MonitorGroupSearchResponseCounts_1.MonitorGroupSearchResponseCounts; } }));
+var MonitorGroupSearchResult_1 = __webpack_require__(96576);
+Object.defineProperty(exports, "MonitorGroupSearchResult", ({ enumerable: true, get: function () { return MonitorGroupSearchResult_1.MonitorGroupSearchResult; } }));
+var MonitorOptions_1 = __webpack_require__(91250);
+Object.defineProperty(exports, "MonitorOptions", ({ enumerable: true, get: function () { return MonitorOptions_1.MonitorOptions; } }));
+var MonitorOptionsAggregation_1 = __webpack_require__(65829);
+Object.defineProperty(exports, "MonitorOptionsAggregation", ({ enumerable: true, get: function () { return MonitorOptionsAggregation_1.MonitorOptionsAggregation; } }));
+var MonitorOptionsSchedulingOptions_1 = __webpack_require__(452);
+Object.defineProperty(exports, "MonitorOptionsSchedulingOptions", ({ enumerable: true, get: function () { return MonitorOptionsSchedulingOptions_1.MonitorOptionsSchedulingOptions; } }));
+var MonitorOptionsSchedulingOptionsEvaluationWindow_1 = __webpack_require__(22179);
+Object.defineProperty(exports, "MonitorOptionsSchedulingOptionsEvaluationWindow", ({ enumerable: true, get: function () { return MonitorOptionsSchedulingOptionsEvaluationWindow_1.MonitorOptionsSchedulingOptionsEvaluationWindow; } }));
+var MonitorSearchCountItem_1 = __webpack_require__(36921);
+Object.defineProperty(exports, "MonitorSearchCountItem", ({ enumerable: true, get: function () { return MonitorSearchCountItem_1.MonitorSearchCountItem; } }));
+var MonitorSearchResponse_1 = __webpack_require__(76822);
+Object.defineProperty(exports, "MonitorSearchResponse", ({ enumerable: true, get: function () { return MonitorSearchResponse_1.MonitorSearchResponse; } }));
+var MonitorSearchResponseCounts_1 = __webpack_require__(87380);
+Object.defineProperty(exports, "MonitorSearchResponseCounts", ({ enumerable: true, get: function () { return MonitorSearchResponseCounts_1.MonitorSearchResponseCounts; } }));
+var MonitorSearchResponseMetadata_1 = __webpack_require__(12780);
+Object.defineProperty(exports, "MonitorSearchResponseMetadata", ({ enumerable: true, get: function () { return MonitorSearchResponseMetadata_1.MonitorSearchResponseMetadata; } }));
+var MonitorSearchResult_1 = __webpack_require__(28771);
+Object.defineProperty(exports, "MonitorSearchResult", ({ enumerable: true, get: function () { return MonitorSearchResult_1.MonitorSearchResult; } }));
+var MonitorSearchResultNotification_1 = __webpack_require__(61491);
+Object.defineProperty(exports, "MonitorSearchResultNotification", ({ enumerable: true, get: function () { return MonitorSearchResultNotification_1.MonitorSearchResultNotification; } }));
+var MonitorState_1 = __webpack_require__(46446);
+Object.defineProperty(exports, "MonitorState", ({ enumerable: true, get: function () { return MonitorState_1.MonitorState; } }));
+var MonitorStateGroup_1 = __webpack_require__(27727);
+Object.defineProperty(exports, "MonitorStateGroup", ({ enumerable: true, get: function () { return MonitorStateGroup_1.MonitorStateGroup; } }));
+var MonitorSummaryWidgetDefinition_1 = __webpack_require__(59402);
+Object.defineProperty(exports, "MonitorSummaryWidgetDefinition", ({ enumerable: true, get: function () { return MonitorSummaryWidgetDefinition_1.MonitorSummaryWidgetDefinition; } }));
+var MonitorThresholds_1 = __webpack_require__(32645);
+Object.defineProperty(exports, "MonitorThresholds", ({ enumerable: true, get: function () { return MonitorThresholds_1.MonitorThresholds; } }));
+var MonitorThresholdWindowOptions_1 = __webpack_require__(84230);
+Object.defineProperty(exports, "MonitorThresholdWindowOptions", ({ enumerable: true, get: function () { return MonitorThresholdWindowOptions_1.MonitorThresholdWindowOptions; } }));
+var MonitorUpdateRequest_1 = __webpack_require__(35051);
+Object.defineProperty(exports, "MonitorUpdateRequest", ({ enumerable: true, get: function () { return MonitorUpdateRequest_1.MonitorUpdateRequest; } }));
+var MonthlyUsageAttributionBody_1 = __webpack_require__(20093);
+Object.defineProperty(exports, "MonthlyUsageAttributionBody", ({ enumerable: true, get: function () { return MonthlyUsageAttributionBody_1.MonthlyUsageAttributionBody; } }));
+var MonthlyUsageAttributionMetadata_1 = __webpack_require__(96777);
+Object.defineProperty(exports, "MonthlyUsageAttributionMetadata", ({ enumerable: true, get: function () { return MonthlyUsageAttributionMetadata_1.MonthlyUsageAttributionMetadata; } }));
+var MonthlyUsageAttributionPagination_1 = __webpack_require__(88496);
+Object.defineProperty(exports, "MonthlyUsageAttributionPagination", ({ enumerable: true, get: function () { return MonthlyUsageAttributionPagination_1.MonthlyUsageAttributionPagination; } }));
+var MonthlyUsageAttributionResponse_1 = __webpack_require__(74006);
+Object.defineProperty(exports, "MonthlyUsageAttributionResponse", ({ enumerable: true, get: function () { return MonthlyUsageAttributionResponse_1.MonthlyUsageAttributionResponse; } }));
+var MonthlyUsageAttributionValues_1 = __webpack_require__(45217);
+Object.defineProperty(exports, "MonthlyUsageAttributionValues", ({ enumerable: true, get: function () { return MonthlyUsageAttributionValues_1.MonthlyUsageAttributionValues; } }));
+var NotebookAbsoluteTime_1 = __webpack_require__(13596);
+Object.defineProperty(exports, "NotebookAbsoluteTime", ({ enumerable: true, get: function () { return NotebookAbsoluteTime_1.NotebookAbsoluteTime; } }));
+var NotebookAuthor_1 = __webpack_require__(80100);
+Object.defineProperty(exports, "NotebookAuthor", ({ enumerable: true, get: function () { return NotebookAuthor_1.NotebookAuthor; } }));
+var NotebookCellCreateRequest_1 = __webpack_require__(58474);
+Object.defineProperty(exports, "NotebookCellCreateRequest", ({ enumerable: true, get: function () { return NotebookCellCreateRequest_1.NotebookCellCreateRequest; } }));
+var NotebookCellResponse_1 = __webpack_require__(25109);
+Object.defineProperty(exports, "NotebookCellResponse", ({ enumerable: true, get: function () { return NotebookCellResponse_1.NotebookCellResponse; } }));
+var NotebookCellUpdateRequest_1 = __webpack_require__(39190);
+Object.defineProperty(exports, "NotebookCellUpdateRequest", ({ enumerable: true, get: function () { return NotebookCellUpdateRequest_1.NotebookCellUpdateRequest; } }));
+var NotebookCreateData_1 = __webpack_require__(10740);
+Object.defineProperty(exports, "NotebookCreateData", ({ enumerable: true, get: function () { return NotebookCreateData_1.NotebookCreateData; } }));
+var NotebookCreateDataAttributes_1 = __webpack_require__(87026);
+Object.defineProperty(exports, "NotebookCreateDataAttributes", ({ enumerable: true, get: function () { return NotebookCreateDataAttributes_1.NotebookCreateDataAttributes; } }));
+var NotebookCreateRequest_1 = __webpack_require__(24668);
+Object.defineProperty(exports, "NotebookCreateRequest", ({ enumerable: true, get: function () { return NotebookCreateRequest_1.NotebookCreateRequest; } }));
+var NotebookDistributionCellAttributes_1 = __webpack_require__(51956);
+Object.defineProperty(exports, "NotebookDistributionCellAttributes", ({ enumerable: true, get: function () { return NotebookDistributionCellAttributes_1.NotebookDistributionCellAttributes; } }));
+var NotebookHeatMapCellAttributes_1 = __webpack_require__(87231);
+Object.defineProperty(exports, "NotebookHeatMapCellAttributes", ({ enumerable: true, get: function () { return NotebookHeatMapCellAttributes_1.NotebookHeatMapCellAttributes; } }));
+var NotebookLogStreamCellAttributes_1 = __webpack_require__(16318);
+Object.defineProperty(exports, "NotebookLogStreamCellAttributes", ({ enumerable: true, get: function () { return NotebookLogStreamCellAttributes_1.NotebookLogStreamCellAttributes; } }));
+var NotebookMarkdownCellAttributes_1 = __webpack_require__(92822);
+Object.defineProperty(exports, "NotebookMarkdownCellAttributes", ({ enumerable: true, get: function () { return NotebookMarkdownCellAttributes_1.NotebookMarkdownCellAttributes; } }));
+var NotebookMarkdownCellDefinition_1 = __webpack_require__(90308);
+Object.defineProperty(exports, "NotebookMarkdownCellDefinition", ({ enumerable: true, get: function () { return NotebookMarkdownCellDefinition_1.NotebookMarkdownCellDefinition; } }));
+var NotebookMetadata_1 = __webpack_require__(45419);
+Object.defineProperty(exports, "NotebookMetadata", ({ enumerable: true, get: function () { return NotebookMetadata_1.NotebookMetadata; } }));
+var NotebookRelativeTime_1 = __webpack_require__(2932);
+Object.defineProperty(exports, "NotebookRelativeTime", ({ enumerable: true, get: function () { return NotebookRelativeTime_1.NotebookRelativeTime; } }));
+var NotebookResponse_1 = __webpack_require__(28328);
+Object.defineProperty(exports, "NotebookResponse", ({ enumerable: true, get: function () { return NotebookResponse_1.NotebookResponse; } }));
+var NotebookResponseData_1 = __webpack_require__(88612);
+Object.defineProperty(exports, "NotebookResponseData", ({ enumerable: true, get: function () { return NotebookResponseData_1.NotebookResponseData; } }));
+var NotebookResponseDataAttributes_1 = __webpack_require__(4151);
+Object.defineProperty(exports, "NotebookResponseDataAttributes", ({ enumerable: true, get: function () { return NotebookResponseDataAttributes_1.NotebookResponseDataAttributes; } }));
+var NotebookSplitBy_1 = __webpack_require__(42805);
+Object.defineProperty(exports, "NotebookSplitBy", ({ enumerable: true, get: function () { return NotebookSplitBy_1.NotebookSplitBy; } }));
+var NotebooksResponse_1 = __webpack_require__(57505);
+Object.defineProperty(exports, "NotebooksResponse", ({ enumerable: true, get: function () { return NotebooksResponse_1.NotebooksResponse; } }));
+var NotebooksResponseData_1 = __webpack_require__(97633);
+Object.defineProperty(exports, "NotebooksResponseData", ({ enumerable: true, get: function () { return NotebooksResponseData_1.NotebooksResponseData; } }));
+var NotebooksResponseDataAttributes_1 = __webpack_require__(61871);
+Object.defineProperty(exports, "NotebooksResponseDataAttributes", ({ enumerable: true, get: function () { return NotebooksResponseDataAttributes_1.NotebooksResponseDataAttributes; } }));
+var NotebooksResponseMeta_1 = __webpack_require__(41953);
+Object.defineProperty(exports, "NotebooksResponseMeta", ({ enumerable: true, get: function () { return NotebooksResponseMeta_1.NotebooksResponseMeta; } }));
+var NotebooksResponsePage_1 = __webpack_require__(14129);
+Object.defineProperty(exports, "NotebooksResponsePage", ({ enumerable: true, get: function () { return NotebooksResponsePage_1.NotebooksResponsePage; } }));
+var NotebookTimeseriesCellAttributes_1 = __webpack_require__(72432);
+Object.defineProperty(exports, "NotebookTimeseriesCellAttributes", ({ enumerable: true, get: function () { return NotebookTimeseriesCellAttributes_1.NotebookTimeseriesCellAttributes; } }));
+var NotebookToplistCellAttributes_1 = __webpack_require__(3733);
+Object.defineProperty(exports, "NotebookToplistCellAttributes", ({ enumerable: true, get: function () { return NotebookToplistCellAttributes_1.NotebookToplistCellAttributes; } }));
+var NotebookUpdateData_1 = __webpack_require__(30056);
+Object.defineProperty(exports, "NotebookUpdateData", ({ enumerable: true, get: function () { return NotebookUpdateData_1.NotebookUpdateData; } }));
+var NotebookUpdateDataAttributes_1 = __webpack_require__(66484);
+Object.defineProperty(exports, "NotebookUpdateDataAttributes", ({ enumerable: true, get: function () { return NotebookUpdateDataAttributes_1.NotebookUpdateDataAttributes; } }));
+var NotebookUpdateRequest_1 = __webpack_require__(23138);
+Object.defineProperty(exports, "NotebookUpdateRequest", ({ enumerable: true, get: function () { return NotebookUpdateRequest_1.NotebookUpdateRequest; } }));
+var NoteWidgetDefinition_1 = __webpack_require__(16120);
+Object.defineProperty(exports, "NoteWidgetDefinition", ({ enumerable: true, get: function () { return NoteWidgetDefinition_1.NoteWidgetDefinition; } }));
+var Organization_1 = __webpack_require__(70428);
+Object.defineProperty(exports, "Organization", ({ enumerable: true, get: function () { return Organization_1.Organization; } }));
+var OrganizationBilling_1 = __webpack_require__(17762);
+Object.defineProperty(exports, "OrganizationBilling", ({ enumerable: true, get: function () { return OrganizationBilling_1.OrganizationBilling; } }));
+var OrganizationCreateBody_1 = __webpack_require__(9222);
+Object.defineProperty(exports, "OrganizationCreateBody", ({ enumerable: true, get: function () { return OrganizationCreateBody_1.OrganizationCreateBody; } }));
+var OrganizationCreateResponse_1 = __webpack_require__(26442);
+Object.defineProperty(exports, "OrganizationCreateResponse", ({ enumerable: true, get: function () { return OrganizationCreateResponse_1.OrganizationCreateResponse; } }));
+var OrganizationListResponse_1 = __webpack_require__(8618);
+Object.defineProperty(exports, "OrganizationListResponse", ({ enumerable: true, get: function () { return OrganizationListResponse_1.OrganizationListResponse; } }));
+var OrganizationResponse_1 = __webpack_require__(86231);
+Object.defineProperty(exports, "OrganizationResponse", ({ enumerable: true, get: function () { return OrganizationResponse_1.OrganizationResponse; } }));
+var OrganizationSettings_1 = __webpack_require__(13344);
+Object.defineProperty(exports, "OrganizationSettings", ({ enumerable: true, get: function () { return OrganizationSettings_1.OrganizationSettings; } }));
+var OrganizationSettingsSaml_1 = __webpack_require__(3929);
+Object.defineProperty(exports, "OrganizationSettingsSaml", ({ enumerable: true, get: function () { return OrganizationSettingsSaml_1.OrganizationSettingsSaml; } }));
+var OrganizationSettingsSamlAutocreateUsersDomains_1 = __webpack_require__(82029);
+Object.defineProperty(exports, "OrganizationSettingsSamlAutocreateUsersDomains", ({ enumerable: true, get: function () { return OrganizationSettingsSamlAutocreateUsersDomains_1.OrganizationSettingsSamlAutocreateUsersDomains; } }));
+var OrganizationSettingsSamlIdpInitiatedLogin_1 = __webpack_require__(49455);
+Object.defineProperty(exports, "OrganizationSettingsSamlIdpInitiatedLogin", ({ enumerable: true, get: function () { return OrganizationSettingsSamlIdpInitiatedLogin_1.OrganizationSettingsSamlIdpInitiatedLogin; } }));
+var OrganizationSettingsSamlStrictMode_1 = __webpack_require__(30674);
+Object.defineProperty(exports, "OrganizationSettingsSamlStrictMode", ({ enumerable: true, get: function () { return OrganizationSettingsSamlStrictMode_1.OrganizationSettingsSamlStrictMode; } }));
+var OrganizationSubscription_1 = __webpack_require__(28197);
+Object.defineProperty(exports, "OrganizationSubscription", ({ enumerable: true, get: function () { return OrganizationSubscription_1.OrganizationSubscription; } }));
+var OrgDowngradedResponse_1 = __webpack_require__(72399);
+Object.defineProperty(exports, "OrgDowngradedResponse", ({ enumerable: true, get: function () { return OrgDowngradedResponse_1.OrgDowngradedResponse; } }));
+var PagerDutyService_1 = __webpack_require__(39866);
+Object.defineProperty(exports, "PagerDutyService", ({ enumerable: true, get: function () { return PagerDutyService_1.PagerDutyService; } }));
+var PagerDutyServiceKey_1 = __webpack_require__(6241);
+Object.defineProperty(exports, "PagerDutyServiceKey", ({ enumerable: true, get: function () { return PagerDutyServiceKey_1.PagerDutyServiceKey; } }));
+var PagerDutyServiceName_1 = __webpack_require__(45466);
+Object.defineProperty(exports, "PagerDutyServiceName", ({ enumerable: true, get: function () { return PagerDutyServiceName_1.PagerDutyServiceName; } }));
+var Pagination_1 = __webpack_require__(26433);
+Object.defineProperty(exports, "Pagination", ({ enumerable: true, get: function () { return Pagination_1.Pagination; } }));
+var ProcessQueryDefinition_1 = __webpack_require__(67314);
+Object.defineProperty(exports, "ProcessQueryDefinition", ({ enumerable: true, get: function () { return ProcessQueryDefinition_1.ProcessQueryDefinition; } }));
+var QueryValueWidgetDefinition_1 = __webpack_require__(93129);
+Object.defineProperty(exports, "QueryValueWidgetDefinition", ({ enumerable: true, get: function () { return QueryValueWidgetDefinition_1.QueryValueWidgetDefinition; } }));
+var QueryValueWidgetRequest_1 = __webpack_require__(39181);
+Object.defineProperty(exports, "QueryValueWidgetRequest", ({ enumerable: true, get: function () { return QueryValueWidgetRequest_1.QueryValueWidgetRequest; } }));
+var ReferenceTableLogsLookupProcessor_1 = __webpack_require__(46562);
+Object.defineProperty(exports, "ReferenceTableLogsLookupProcessor", ({ enumerable: true, get: function () { return ReferenceTableLogsLookupProcessor_1.ReferenceTableLogsLookupProcessor; } }));
+var ResponseMetaAttributes_1 = __webpack_require__(55368);
+Object.defineProperty(exports, "ResponseMetaAttributes", ({ enumerable: true, get: function () { return ResponseMetaAttributes_1.ResponseMetaAttributes; } }));
+var RunWorkflowWidgetDefinition_1 = __webpack_require__(80883);
+Object.defineProperty(exports, "RunWorkflowWidgetDefinition", ({ enumerable: true, get: function () { return RunWorkflowWidgetDefinition_1.RunWorkflowWidgetDefinition; } }));
+var RunWorkflowWidgetInput_1 = __webpack_require__(47821);
+Object.defineProperty(exports, "RunWorkflowWidgetInput", ({ enumerable: true, get: function () { return RunWorkflowWidgetInput_1.RunWorkflowWidgetInput; } }));
+var ScatterPlotRequest_1 = __webpack_require__(32407);
+Object.defineProperty(exports, "ScatterPlotRequest", ({ enumerable: true, get: function () { return ScatterPlotRequest_1.ScatterPlotRequest; } }));
+var ScatterplotTableRequest_1 = __webpack_require__(94814);
+Object.defineProperty(exports, "ScatterplotTableRequest", ({ enumerable: true, get: function () { return ScatterplotTableRequest_1.ScatterplotTableRequest; } }));
+var ScatterPlotWidgetDefinition_1 = __webpack_require__(55062);
+Object.defineProperty(exports, "ScatterPlotWidgetDefinition", ({ enumerable: true, get: function () { return ScatterPlotWidgetDefinition_1.ScatterPlotWidgetDefinition; } }));
+var ScatterPlotWidgetDefinitionRequests_1 = __webpack_require__(34547);
+Object.defineProperty(exports, "ScatterPlotWidgetDefinitionRequests", ({ enumerable: true, get: function () { return ScatterPlotWidgetDefinitionRequests_1.ScatterPlotWidgetDefinitionRequests; } }));
+var ScatterplotWidgetFormula_1 = __webpack_require__(99834);
+Object.defineProperty(exports, "ScatterplotWidgetFormula", ({ enumerable: true, get: function () { return ScatterplotWidgetFormula_1.ScatterplotWidgetFormula; } }));
+var SearchServiceLevelObjective_1 = __webpack_require__(43793);
+Object.defineProperty(exports, "SearchServiceLevelObjective", ({ enumerable: true, get: function () { return SearchServiceLevelObjective_1.SearchServiceLevelObjective; } }));
+var SearchServiceLevelObjectiveAttributes_1 = __webpack_require__(29212);
+Object.defineProperty(exports, "SearchServiceLevelObjectiveAttributes", ({ enumerable: true, get: function () { return SearchServiceLevelObjectiveAttributes_1.SearchServiceLevelObjectiveAttributes; } }));
+var SearchServiceLevelObjectiveData_1 = __webpack_require__(91877);
+Object.defineProperty(exports, "SearchServiceLevelObjectiveData", ({ enumerable: true, get: function () { return SearchServiceLevelObjectiveData_1.SearchServiceLevelObjectiveData; } }));
+var SearchSLOQuery_1 = __webpack_require__(59154);
+Object.defineProperty(exports, "SearchSLOQuery", ({ enumerable: true, get: function () { return SearchSLOQuery_1.SearchSLOQuery; } }));
+var SearchSLOResponse_1 = __webpack_require__(62919);
+Object.defineProperty(exports, "SearchSLOResponse", ({ enumerable: true, get: function () { return SearchSLOResponse_1.SearchSLOResponse; } }));
+var SearchSLOResponseData_1 = __webpack_require__(15114);
+Object.defineProperty(exports, "SearchSLOResponseData", ({ enumerable: true, get: function () { return SearchSLOResponseData_1.SearchSLOResponseData; } }));
+var SearchSLOResponseDataAttributes_1 = __webpack_require__(43773);
+Object.defineProperty(exports, "SearchSLOResponseDataAttributes", ({ enumerable: true, get: function () { return SearchSLOResponseDataAttributes_1.SearchSLOResponseDataAttributes; } }));
+var SearchSLOResponseDataAttributesFacets_1 = __webpack_require__(66379);
+Object.defineProperty(exports, "SearchSLOResponseDataAttributesFacets", ({ enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacets_1.SearchSLOResponseDataAttributesFacets; } }));
+var SearchSLOResponseDataAttributesFacetsObjectInt_1 = __webpack_require__(90508);
+Object.defineProperty(exports, "SearchSLOResponseDataAttributesFacetsObjectInt", ({ enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacetsObjectInt_1.SearchSLOResponseDataAttributesFacetsObjectInt; } }));
+var SearchSLOResponseDataAttributesFacetsObjectString_1 = __webpack_require__(13597);
+Object.defineProperty(exports, "SearchSLOResponseDataAttributesFacetsObjectString", ({ enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacetsObjectString_1.SearchSLOResponseDataAttributesFacetsObjectString; } }));
+var SearchSLOResponseLinks_1 = __webpack_require__(4801);
+Object.defineProperty(exports, "SearchSLOResponseLinks", ({ enumerable: true, get: function () { return SearchSLOResponseLinks_1.SearchSLOResponseLinks; } }));
+var SearchSLOResponseMeta_1 = __webpack_require__(85031);
+Object.defineProperty(exports, "SearchSLOResponseMeta", ({ enumerable: true, get: function () { return SearchSLOResponseMeta_1.SearchSLOResponseMeta; } }));
+var SearchSLOResponseMetaPage_1 = __webpack_require__(42181);
+Object.defineProperty(exports, "SearchSLOResponseMetaPage", ({ enumerable: true, get: function () { return SearchSLOResponseMetaPage_1.SearchSLOResponseMetaPage; } }));
+var SearchSLOThreshold_1 = __webpack_require__(2018);
+Object.defineProperty(exports, "SearchSLOThreshold", ({ enumerable: true, get: function () { return SearchSLOThreshold_1.SearchSLOThreshold; } }));
+var SelectableTemplateVariableItems_1 = __webpack_require__(82480);
+Object.defineProperty(exports, "SelectableTemplateVariableItems", ({ enumerable: true, get: function () { return SelectableTemplateVariableItems_1.SelectableTemplateVariableItems; } }));
+var Series_1 = __webpack_require__(58736);
+Object.defineProperty(exports, "Series", ({ enumerable: true, get: function () { return Series_1.Series; } }));
+var ServiceCheck_1 = __webpack_require__(84535);
+Object.defineProperty(exports, "ServiceCheck", ({ enumerable: true, get: function () { return ServiceCheck_1.ServiceCheck; } }));
+var ServiceLevelObjective_1 = __webpack_require__(88243);
+Object.defineProperty(exports, "ServiceLevelObjective", ({ enumerable: true, get: function () { return ServiceLevelObjective_1.ServiceLevelObjective; } }));
+var ServiceLevelObjectiveQuery_1 = __webpack_require__(5191);
+Object.defineProperty(exports, "ServiceLevelObjectiveQuery", ({ enumerable: true, get: function () { return ServiceLevelObjectiveQuery_1.ServiceLevelObjectiveQuery; } }));
+var ServiceLevelObjectiveRequest_1 = __webpack_require__(44439);
+Object.defineProperty(exports, "ServiceLevelObjectiveRequest", ({ enumerable: true, get: function () { return ServiceLevelObjectiveRequest_1.ServiceLevelObjectiveRequest; } }));
+var ServiceMapWidgetDefinition_1 = __webpack_require__(37561);
+Object.defineProperty(exports, "ServiceMapWidgetDefinition", ({ enumerable: true, get: function () { return ServiceMapWidgetDefinition_1.ServiceMapWidgetDefinition; } }));
+var ServiceSummaryWidgetDefinition_1 = __webpack_require__(59134);
+Object.defineProperty(exports, "ServiceSummaryWidgetDefinition", ({ enumerable: true, get: function () { return ServiceSummaryWidgetDefinition_1.ServiceSummaryWidgetDefinition; } }));
+var SharedDashboard_1 = __webpack_require__(97892);
+Object.defineProperty(exports, "SharedDashboard", ({ enumerable: true, get: function () { return SharedDashboard_1.SharedDashboard; } }));
+var SharedDashboardAuthor_1 = __webpack_require__(25632);
+Object.defineProperty(exports, "SharedDashboardAuthor", ({ enumerable: true, get: function () { return SharedDashboardAuthor_1.SharedDashboardAuthor; } }));
+var SharedDashboardInvites_1 = __webpack_require__(14044);
+Object.defineProperty(exports, "SharedDashboardInvites", ({ enumerable: true, get: function () { return SharedDashboardInvites_1.SharedDashboardInvites; } }));
+var SharedDashboardInvitesDataObject_1 = __webpack_require__(36162);
+Object.defineProperty(exports, "SharedDashboardInvitesDataObject", ({ enumerable: true, get: function () { return SharedDashboardInvitesDataObject_1.SharedDashboardInvitesDataObject; } }));
+var SharedDashboardInvitesDataObjectAttributes_1 = __webpack_require__(72732);
+Object.defineProperty(exports, "SharedDashboardInvitesDataObjectAttributes", ({ enumerable: true, get: function () { return SharedDashboardInvitesDataObjectAttributes_1.SharedDashboardInvitesDataObjectAttributes; } }));
+var SharedDashboardInvitesMeta_1 = __webpack_require__(25298);
+Object.defineProperty(exports, "SharedDashboardInvitesMeta", ({ enumerable: true, get: function () { return SharedDashboardInvitesMeta_1.SharedDashboardInvitesMeta; } }));
+var SharedDashboardInvitesMetaPage_1 = __webpack_require__(28552);
+Object.defineProperty(exports, "SharedDashboardInvitesMetaPage", ({ enumerable: true, get: function () { return SharedDashboardInvitesMetaPage_1.SharedDashboardInvitesMetaPage; } }));
+var SharedDashboardUpdateRequest_1 = __webpack_require__(81780);
+Object.defineProperty(exports, "SharedDashboardUpdateRequest", ({ enumerable: true, get: function () { return SharedDashboardUpdateRequest_1.SharedDashboardUpdateRequest; } }));
+var SharedDashboardUpdateRequestGlobalTime_1 = __webpack_require__(45940);
+Object.defineProperty(exports, "SharedDashboardUpdateRequestGlobalTime", ({ enumerable: true, get: function () { return SharedDashboardUpdateRequestGlobalTime_1.SharedDashboardUpdateRequestGlobalTime; } }));
+var SignalAssigneeUpdateRequest_1 = __webpack_require__(32606);
+Object.defineProperty(exports, "SignalAssigneeUpdateRequest", ({ enumerable: true, get: function () { return SignalAssigneeUpdateRequest_1.SignalAssigneeUpdateRequest; } }));
+var SignalStateUpdateRequest_1 = __webpack_require__(98019);
+Object.defineProperty(exports, "SignalStateUpdateRequest", ({ enumerable: true, get: function () { return SignalStateUpdateRequest_1.SignalStateUpdateRequest; } }));
+var SlackIntegrationChannel_1 = __webpack_require__(31563);
+Object.defineProperty(exports, "SlackIntegrationChannel", ({ enumerable: true, get: function () { return SlackIntegrationChannel_1.SlackIntegrationChannel; } }));
+var SlackIntegrationChannelDisplay_1 = __webpack_require__(98371);
+Object.defineProperty(exports, "SlackIntegrationChannelDisplay", ({ enumerable: true, get: function () { return SlackIntegrationChannelDisplay_1.SlackIntegrationChannelDisplay; } }));
+var SLOBulkDeleteError_1 = __webpack_require__(23948);
+Object.defineProperty(exports, "SLOBulkDeleteError", ({ enumerable: true, get: function () { return SLOBulkDeleteError_1.SLOBulkDeleteError; } }));
+var SLOBulkDeleteResponse_1 = __webpack_require__(43103);
+Object.defineProperty(exports, "SLOBulkDeleteResponse", ({ enumerable: true, get: function () { return SLOBulkDeleteResponse_1.SLOBulkDeleteResponse; } }));
+var SLOBulkDeleteResponseData_1 = __webpack_require__(41457);
+Object.defineProperty(exports, "SLOBulkDeleteResponseData", ({ enumerable: true, get: function () { return SLOBulkDeleteResponseData_1.SLOBulkDeleteResponseData; } }));
+var SLOCorrection_1 = __webpack_require__(85199);
+Object.defineProperty(exports, "SLOCorrection", ({ enumerable: true, get: function () { return SLOCorrection_1.SLOCorrection; } }));
+var SLOCorrectionCreateData_1 = __webpack_require__(84918);
+Object.defineProperty(exports, "SLOCorrectionCreateData", ({ enumerable: true, get: function () { return SLOCorrectionCreateData_1.SLOCorrectionCreateData; } }));
+var SLOCorrectionCreateRequest_1 = __webpack_require__(85751);
+Object.defineProperty(exports, "SLOCorrectionCreateRequest", ({ enumerable: true, get: function () { return SLOCorrectionCreateRequest_1.SLOCorrectionCreateRequest; } }));
+var SLOCorrectionCreateRequestAttributes_1 = __webpack_require__(38431);
+Object.defineProperty(exports, "SLOCorrectionCreateRequestAttributes", ({ enumerable: true, get: function () { return SLOCorrectionCreateRequestAttributes_1.SLOCorrectionCreateRequestAttributes; } }));
+var SLOCorrectionListResponse_1 = __webpack_require__(96982);
+Object.defineProperty(exports, "SLOCorrectionListResponse", ({ enumerable: true, get: function () { return SLOCorrectionListResponse_1.SLOCorrectionListResponse; } }));
+var SLOCorrectionResponse_1 = __webpack_require__(37329);
+Object.defineProperty(exports, "SLOCorrectionResponse", ({ enumerable: true, get: function () { return SLOCorrectionResponse_1.SLOCorrectionResponse; } }));
+var SLOCorrectionResponseAttributes_1 = __webpack_require__(79914);
+Object.defineProperty(exports, "SLOCorrectionResponseAttributes", ({ enumerable: true, get: function () { return SLOCorrectionResponseAttributes_1.SLOCorrectionResponseAttributes; } }));
+var SLOCorrectionResponseAttributesModifier_1 = __webpack_require__(13841);
+Object.defineProperty(exports, "SLOCorrectionResponseAttributesModifier", ({ enumerable: true, get: function () { return SLOCorrectionResponseAttributesModifier_1.SLOCorrectionResponseAttributesModifier; } }));
+var SLOCorrectionUpdateData_1 = __webpack_require__(36836);
+Object.defineProperty(exports, "SLOCorrectionUpdateData", ({ enumerable: true, get: function () { return SLOCorrectionUpdateData_1.SLOCorrectionUpdateData; } }));
+var SLOCorrectionUpdateRequest_1 = __webpack_require__(78213);
+Object.defineProperty(exports, "SLOCorrectionUpdateRequest", ({ enumerable: true, get: function () { return SLOCorrectionUpdateRequest_1.SLOCorrectionUpdateRequest; } }));
+var SLOCorrectionUpdateRequestAttributes_1 = __webpack_require__(77841);
+Object.defineProperty(exports, "SLOCorrectionUpdateRequestAttributes", ({ enumerable: true, get: function () { return SLOCorrectionUpdateRequestAttributes_1.SLOCorrectionUpdateRequestAttributes; } }));
+var SLOCreator_1 = __webpack_require__(73662);
+Object.defineProperty(exports, "SLOCreator", ({ enumerable: true, get: function () { return SLOCreator_1.SLOCreator; } }));
+var SLODeleteResponse_1 = __webpack_require__(34973);
+Object.defineProperty(exports, "SLODeleteResponse", ({ enumerable: true, get: function () { return SLODeleteResponse_1.SLODeleteResponse; } }));
+var SLOHistoryMetrics_1 = __webpack_require__(87919);
+Object.defineProperty(exports, "SLOHistoryMetrics", ({ enumerable: true, get: function () { return SLOHistoryMetrics_1.SLOHistoryMetrics; } }));
+var SLOHistoryMetricsSeries_1 = __webpack_require__(37905);
+Object.defineProperty(exports, "SLOHistoryMetricsSeries", ({ enumerable: true, get: function () { return SLOHistoryMetricsSeries_1.SLOHistoryMetricsSeries; } }));
+var SLOHistoryMetricsSeriesMetadata_1 = __webpack_require__(10967);
+Object.defineProperty(exports, "SLOHistoryMetricsSeriesMetadata", ({ enumerable: true, get: function () { return SLOHistoryMetricsSeriesMetadata_1.SLOHistoryMetricsSeriesMetadata; } }));
+var SLOHistoryMetricsSeriesMetadataUnit_1 = __webpack_require__(5222);
+Object.defineProperty(exports, "SLOHistoryMetricsSeriesMetadataUnit", ({ enumerable: true, get: function () { return SLOHistoryMetricsSeriesMetadataUnit_1.SLOHistoryMetricsSeriesMetadataUnit; } }));
+var SLOHistoryMonitor_1 = __webpack_require__(9138);
+Object.defineProperty(exports, "SLOHistoryMonitor", ({ enumerable: true, get: function () { return SLOHistoryMonitor_1.SLOHistoryMonitor; } }));
+var SLOHistoryResponse_1 = __webpack_require__(6523);
+Object.defineProperty(exports, "SLOHistoryResponse", ({ enumerable: true, get: function () { return SLOHistoryResponse_1.SLOHistoryResponse; } }));
+var SLOHistoryResponseData_1 = __webpack_require__(57557);
+Object.defineProperty(exports, "SLOHistoryResponseData", ({ enumerable: true, get: function () { return SLOHistoryResponseData_1.SLOHistoryResponseData; } }));
+var SLOHistoryResponseError_1 = __webpack_require__(38631);
+Object.defineProperty(exports, "SLOHistoryResponseError", ({ enumerable: true, get: function () { return SLOHistoryResponseError_1.SLOHistoryResponseError; } }));
+var SLOHistoryResponseErrorWithType_1 = __webpack_require__(89863);
+Object.defineProperty(exports, "SLOHistoryResponseErrorWithType", ({ enumerable: true, get: function () { return SLOHistoryResponseErrorWithType_1.SLOHistoryResponseErrorWithType; } }));
+var SLOHistorySLIData_1 = __webpack_require__(80195);
+Object.defineProperty(exports, "SLOHistorySLIData", ({ enumerable: true, get: function () { return SLOHistorySLIData_1.SLOHistorySLIData; } }));
+var SLOListResponse_1 = __webpack_require__(99469);
+Object.defineProperty(exports, "SLOListResponse", ({ enumerable: true, get: function () { return SLOListResponse_1.SLOListResponse; } }));
+var SLOListResponseMetadata_1 = __webpack_require__(16172);
+Object.defineProperty(exports, "SLOListResponseMetadata", ({ enumerable: true, get: function () { return SLOListResponseMetadata_1.SLOListResponseMetadata; } }));
+var SLOListResponseMetadataPage_1 = __webpack_require__(46631);
+Object.defineProperty(exports, "SLOListResponseMetadataPage", ({ enumerable: true, get: function () { return SLOListResponseMetadataPage_1.SLOListResponseMetadataPage; } }));
+var SLOListWidgetDefinition_1 = __webpack_require__(76906);
+Object.defineProperty(exports, "SLOListWidgetDefinition", ({ enumerable: true, get: function () { return SLOListWidgetDefinition_1.SLOListWidgetDefinition; } }));
+var SLOListWidgetQuery_1 = __webpack_require__(25628);
+Object.defineProperty(exports, "SLOListWidgetQuery", ({ enumerable: true, get: function () { return SLOListWidgetQuery_1.SLOListWidgetQuery; } }));
+var SLOListWidgetRequest_1 = __webpack_require__(49303);
+Object.defineProperty(exports, "SLOListWidgetRequest", ({ enumerable: true, get: function () { return SLOListWidgetRequest_1.SLOListWidgetRequest; } }));
+var SLOOverallStatuses_1 = __webpack_require__(51707);
+Object.defineProperty(exports, "SLOOverallStatuses", ({ enumerable: true, get: function () { return SLOOverallStatuses_1.SLOOverallStatuses; } }));
+var SLORawErrorBudgetRemaining_1 = __webpack_require__(33631);
+Object.defineProperty(exports, "SLORawErrorBudgetRemaining", ({ enumerable: true, get: function () { return SLORawErrorBudgetRemaining_1.SLORawErrorBudgetRemaining; } }));
+var SLOResponse_1 = __webpack_require__(50747);
+Object.defineProperty(exports, "SLOResponse", ({ enumerable: true, get: function () { return SLOResponse_1.SLOResponse; } }));
+var SLOResponseData_1 = __webpack_require__(14778);
+Object.defineProperty(exports, "SLOResponseData", ({ enumerable: true, get: function () { return SLOResponseData_1.SLOResponseData; } }));
+var SLOStatus_1 = __webpack_require__(79097);
+Object.defineProperty(exports, "SLOStatus", ({ enumerable: true, get: function () { return SLOStatus_1.SLOStatus; } }));
+var SLOThreshold_1 = __webpack_require__(30901);
+Object.defineProperty(exports, "SLOThreshold", ({ enumerable: true, get: function () { return SLOThreshold_1.SLOThreshold; } }));
+var SLOWidgetDefinition_1 = __webpack_require__(17161);
+Object.defineProperty(exports, "SLOWidgetDefinition", ({ enumerable: true, get: function () { return SLOWidgetDefinition_1.SLOWidgetDefinition; } }));
+var SuccessfulSignalUpdateResponse_1 = __webpack_require__(64039);
+Object.defineProperty(exports, "SuccessfulSignalUpdateResponse", ({ enumerable: true, get: function () { return SuccessfulSignalUpdateResponse_1.SuccessfulSignalUpdateResponse; } }));
+var SunburstWidgetDefinition_1 = __webpack_require__(68486);
+Object.defineProperty(exports, "SunburstWidgetDefinition", ({ enumerable: true, get: function () { return SunburstWidgetDefinition_1.SunburstWidgetDefinition; } }));
+var SunburstWidgetLegendInlineAutomatic_1 = __webpack_require__(7705);
+Object.defineProperty(exports, "SunburstWidgetLegendInlineAutomatic", ({ enumerable: true, get: function () { return SunburstWidgetLegendInlineAutomatic_1.SunburstWidgetLegendInlineAutomatic; } }));
+var SunburstWidgetLegendTable_1 = __webpack_require__(89188);
+Object.defineProperty(exports, "SunburstWidgetLegendTable", ({ enumerable: true, get: function () { return SunburstWidgetLegendTable_1.SunburstWidgetLegendTable; } }));
+var SunburstWidgetRequest_1 = __webpack_require__(26328);
+Object.defineProperty(exports, "SunburstWidgetRequest", ({ enumerable: true, get: function () { return SunburstWidgetRequest_1.SunburstWidgetRequest; } }));
+var SyntheticsAPIStep_1 = __webpack_require__(97030);
+Object.defineProperty(exports, "SyntheticsAPIStep", ({ enumerable: true, get: function () { return SyntheticsAPIStep_1.SyntheticsAPIStep; } }));
+var SyntheticsAPITest_1 = __webpack_require__(46159);
+Object.defineProperty(exports, "SyntheticsAPITest", ({ enumerable: true, get: function () { return SyntheticsAPITest_1.SyntheticsAPITest; } }));
+var SyntheticsAPITestConfig_1 = __webpack_require__(52924);
+Object.defineProperty(exports, "SyntheticsAPITestConfig", ({ enumerable: true, get: function () { return SyntheticsAPITestConfig_1.SyntheticsAPITestConfig; } }));
+var SyntheticsAPITestResultData_1 = __webpack_require__(38006);
+Object.defineProperty(exports, "SyntheticsAPITestResultData", ({ enumerable: true, get: function () { return SyntheticsAPITestResultData_1.SyntheticsAPITestResultData; } }));
+var SyntheticsApiTestResultFailure_1 = __webpack_require__(45200);
+Object.defineProperty(exports, "SyntheticsApiTestResultFailure", ({ enumerable: true, get: function () { return SyntheticsApiTestResultFailure_1.SyntheticsApiTestResultFailure; } }));
+var SyntheticsAPITestResultFull_1 = __webpack_require__(60433);
+Object.defineProperty(exports, "SyntheticsAPITestResultFull", ({ enumerable: true, get: function () { return SyntheticsAPITestResultFull_1.SyntheticsAPITestResultFull; } }));
+var SyntheticsAPITestResultFullCheck_1 = __webpack_require__(40826);
+Object.defineProperty(exports, "SyntheticsAPITestResultFullCheck", ({ enumerable: true, get: function () { return SyntheticsAPITestResultFullCheck_1.SyntheticsAPITestResultFullCheck; } }));
+var SyntheticsAPITestResultShort_1 = __webpack_require__(13639);
+Object.defineProperty(exports, "SyntheticsAPITestResultShort", ({ enumerable: true, get: function () { return SyntheticsAPITestResultShort_1.SyntheticsAPITestResultShort; } }));
+var SyntheticsAPITestResultShortResult_1 = __webpack_require__(83248);
+Object.defineProperty(exports, "SyntheticsAPITestResultShortResult", ({ enumerable: true, get: function () { return SyntheticsAPITestResultShortResult_1.SyntheticsAPITestResultShortResult; } }));
+var SyntheticsAssertionJSONPathTarget_1 = __webpack_require__(71070);
+Object.defineProperty(exports, "SyntheticsAssertionJSONPathTarget", ({ enumerable: true, get: function () { return SyntheticsAssertionJSONPathTarget_1.SyntheticsAssertionJSONPathTarget; } }));
+var SyntheticsAssertionJSONPathTargetTarget_1 = __webpack_require__(80561);
+Object.defineProperty(exports, "SyntheticsAssertionJSONPathTargetTarget", ({ enumerable: true, get: function () { return SyntheticsAssertionJSONPathTargetTarget_1.SyntheticsAssertionJSONPathTargetTarget; } }));
+var SyntheticsAssertionTarget_1 = __webpack_require__(91349);
+Object.defineProperty(exports, "SyntheticsAssertionTarget", ({ enumerable: true, get: function () { return SyntheticsAssertionTarget_1.SyntheticsAssertionTarget; } }));
+var SyntheticsAssertionXPathTarget_1 = __webpack_require__(39789);
+Object.defineProperty(exports, "SyntheticsAssertionXPathTarget", ({ enumerable: true, get: function () { return SyntheticsAssertionXPathTarget_1.SyntheticsAssertionXPathTarget; } }));
+var SyntheticsAssertionXPathTargetTarget_1 = __webpack_require__(69445);
+Object.defineProperty(exports, "SyntheticsAssertionXPathTargetTarget", ({ enumerable: true, get: function () { return SyntheticsAssertionXPathTargetTarget_1.SyntheticsAssertionXPathTargetTarget; } }));
+var SyntheticsBasicAuthDigest_1 = __webpack_require__(79721);
+Object.defineProperty(exports, "SyntheticsBasicAuthDigest", ({ enumerable: true, get: function () { return SyntheticsBasicAuthDigest_1.SyntheticsBasicAuthDigest; } }));
+var SyntheticsBasicAuthNTLM_1 = __webpack_require__(38816);
+Object.defineProperty(exports, "SyntheticsBasicAuthNTLM", ({ enumerable: true, get: function () { return SyntheticsBasicAuthNTLM_1.SyntheticsBasicAuthNTLM; } }));
+var SyntheticsBasicAuthOauthClient_1 = __webpack_require__(54219);
+Object.defineProperty(exports, "SyntheticsBasicAuthOauthClient", ({ enumerable: true, get: function () { return SyntheticsBasicAuthOauthClient_1.SyntheticsBasicAuthOauthClient; } }));
+var SyntheticsBasicAuthOauthROP_1 = __webpack_require__(99940);
+Object.defineProperty(exports, "SyntheticsBasicAuthOauthROP", ({ enumerable: true, get: function () { return SyntheticsBasicAuthOauthROP_1.SyntheticsBasicAuthOauthROP; } }));
+var SyntheticsBasicAuthSigv4_1 = __webpack_require__(60321);
+Object.defineProperty(exports, "SyntheticsBasicAuthSigv4", ({ enumerable: true, get: function () { return SyntheticsBasicAuthSigv4_1.SyntheticsBasicAuthSigv4; } }));
+var SyntheticsBasicAuthWeb_1 = __webpack_require__(19702);
+Object.defineProperty(exports, "SyntheticsBasicAuthWeb", ({ enumerable: true, get: function () { return SyntheticsBasicAuthWeb_1.SyntheticsBasicAuthWeb; } }));
+var SyntheticsBatchDetails_1 = __webpack_require__(47359);
+Object.defineProperty(exports, "SyntheticsBatchDetails", ({ enumerable: true, get: function () { return SyntheticsBatchDetails_1.SyntheticsBatchDetails; } }));
+var SyntheticsBatchDetailsData_1 = __webpack_require__(84899);
+Object.defineProperty(exports, "SyntheticsBatchDetailsData", ({ enumerable: true, get: function () { return SyntheticsBatchDetailsData_1.SyntheticsBatchDetailsData; } }));
+var SyntheticsBatchResult_1 = __webpack_require__(87571);
+Object.defineProperty(exports, "SyntheticsBatchResult", ({ enumerable: true, get: function () { return SyntheticsBatchResult_1.SyntheticsBatchResult; } }));
+var SyntheticsBrowserError_1 = __webpack_require__(36673);
+Object.defineProperty(exports, "SyntheticsBrowserError", ({ enumerable: true, get: function () { return SyntheticsBrowserError_1.SyntheticsBrowserError; } }));
+var SyntheticsBrowserTest_1 = __webpack_require__(64540);
+Object.defineProperty(exports, "SyntheticsBrowserTest", ({ enumerable: true, get: function () { return SyntheticsBrowserTest_1.SyntheticsBrowserTest; } }));
+var SyntheticsBrowserTestConfig_1 = __webpack_require__(18570);
+Object.defineProperty(exports, "SyntheticsBrowserTestConfig", ({ enumerable: true, get: function () { return SyntheticsBrowserTestConfig_1.SyntheticsBrowserTestConfig; } }));
+var SyntheticsBrowserTestResultData_1 = __webpack_require__(82374);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultData", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultData_1.SyntheticsBrowserTestResultData; } }));
+var SyntheticsBrowserTestResultFailure_1 = __webpack_require__(45294);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultFailure", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultFailure_1.SyntheticsBrowserTestResultFailure; } }));
+var SyntheticsBrowserTestResultFull_1 = __webpack_require__(12064);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultFull", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultFull_1.SyntheticsBrowserTestResultFull; } }));
+var SyntheticsBrowserTestResultFullCheck_1 = __webpack_require__(64678);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultFullCheck", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultFullCheck_1.SyntheticsBrowserTestResultFullCheck; } }));
+var SyntheticsBrowserTestResultShort_1 = __webpack_require__(93784);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultShort", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultShort_1.SyntheticsBrowserTestResultShort; } }));
+var SyntheticsBrowserTestResultShortResult_1 = __webpack_require__(33513);
+Object.defineProperty(exports, "SyntheticsBrowserTestResultShortResult", ({ enumerable: true, get: function () { return SyntheticsBrowserTestResultShortResult_1.SyntheticsBrowserTestResultShortResult; } }));
+var SyntheticsBrowserTestRumSettings_1 = __webpack_require__(7864);
+Object.defineProperty(exports, "SyntheticsBrowserTestRumSettings", ({ enumerable: true, get: function () { return SyntheticsBrowserTestRumSettings_1.SyntheticsBrowserTestRumSettings; } }));
+var SyntheticsBrowserVariable_1 = __webpack_require__(96401);
+Object.defineProperty(exports, "SyntheticsBrowserVariable", ({ enumerable: true, get: function () { return SyntheticsBrowserVariable_1.SyntheticsBrowserVariable; } }));
+var SyntheticsCIBatchMetadata_1 = __webpack_require__(82570);
+Object.defineProperty(exports, "SyntheticsCIBatchMetadata", ({ enumerable: true, get: function () { return SyntheticsCIBatchMetadata_1.SyntheticsCIBatchMetadata; } }));
+var SyntheticsCIBatchMetadataCI_1 = __webpack_require__(90034);
+Object.defineProperty(exports, "SyntheticsCIBatchMetadataCI", ({ enumerable: true, get: function () { return SyntheticsCIBatchMetadataCI_1.SyntheticsCIBatchMetadataCI; } }));
+var SyntheticsCIBatchMetadataGit_1 = __webpack_require__(51162);
+Object.defineProperty(exports, "SyntheticsCIBatchMetadataGit", ({ enumerable: true, get: function () { return SyntheticsCIBatchMetadataGit_1.SyntheticsCIBatchMetadataGit; } }));
+var SyntheticsCIBatchMetadataPipeline_1 = __webpack_require__(32818);
+Object.defineProperty(exports, "SyntheticsCIBatchMetadataPipeline", ({ enumerable: true, get: function () { return SyntheticsCIBatchMetadataPipeline_1.SyntheticsCIBatchMetadataPipeline; } }));
+var SyntheticsCIBatchMetadataProvider_1 = __webpack_require__(2803);
+Object.defineProperty(exports, "SyntheticsCIBatchMetadataProvider", ({ enumerable: true, get: function () { return SyntheticsCIBatchMetadataProvider_1.SyntheticsCIBatchMetadataProvider; } }));
+var SyntheticsCITest_1 = __webpack_require__(83795);
+Object.defineProperty(exports, "SyntheticsCITest", ({ enumerable: true, get: function () { return SyntheticsCITest_1.SyntheticsCITest; } }));
+var SyntheticsCITestBody_1 = __webpack_require__(76143);
+Object.defineProperty(exports, "SyntheticsCITestBody", ({ enumerable: true, get: function () { return SyntheticsCITestBody_1.SyntheticsCITestBody; } }));
+var SyntheticsConfigVariable_1 = __webpack_require__(76194);
+Object.defineProperty(exports, "SyntheticsConfigVariable", ({ enumerable: true, get: function () { return SyntheticsConfigVariable_1.SyntheticsConfigVariable; } }));
+var SyntheticsCoreWebVitals_1 = __webpack_require__(51424);
+Object.defineProperty(exports, "SyntheticsCoreWebVitals", ({ enumerable: true, get: function () { return SyntheticsCoreWebVitals_1.SyntheticsCoreWebVitals; } }));
+var SyntheticsDeletedTest_1 = __webpack_require__(72688);
+Object.defineProperty(exports, "SyntheticsDeletedTest", ({ enumerable: true, get: function () { return SyntheticsDeletedTest_1.SyntheticsDeletedTest; } }));
+var SyntheticsDeleteTestsPayload_1 = __webpack_require__(36679);
+Object.defineProperty(exports, "SyntheticsDeleteTestsPayload", ({ enumerable: true, get: function () { return SyntheticsDeleteTestsPayload_1.SyntheticsDeleteTestsPayload; } }));
+var SyntheticsDeleteTestsResponse_1 = __webpack_require__(37414);
+Object.defineProperty(exports, "SyntheticsDeleteTestsResponse", ({ enumerable: true, get: function () { return SyntheticsDeleteTestsResponse_1.SyntheticsDeleteTestsResponse; } }));
+var SyntheticsDevice_1 = __webpack_require__(54197);
+Object.defineProperty(exports, "SyntheticsDevice", ({ enumerable: true, get: function () { return SyntheticsDevice_1.SyntheticsDevice; } }));
+var SyntheticsGetAPITestLatestResultsResponse_1 = __webpack_require__(7483);
+Object.defineProperty(exports, "SyntheticsGetAPITestLatestResultsResponse", ({ enumerable: true, get: function () { return SyntheticsGetAPITestLatestResultsResponse_1.SyntheticsGetAPITestLatestResultsResponse; } }));
+var SyntheticsGetBrowserTestLatestResultsResponse_1 = __webpack_require__(76953);
+Object.defineProperty(exports, "SyntheticsGetBrowserTestLatestResultsResponse", ({ enumerable: true, get: function () { return SyntheticsGetBrowserTestLatestResultsResponse_1.SyntheticsGetBrowserTestLatestResultsResponse; } }));
+var SyntheticsGlobalVariable_1 = __webpack_require__(15551);
+Object.defineProperty(exports, "SyntheticsGlobalVariable", ({ enumerable: true, get: function () { return SyntheticsGlobalVariable_1.SyntheticsGlobalVariable; } }));
+var SyntheticsGlobalVariableAttributes_1 = __webpack_require__(62455);
+Object.defineProperty(exports, "SyntheticsGlobalVariableAttributes", ({ enumerable: true, get: function () { return SyntheticsGlobalVariableAttributes_1.SyntheticsGlobalVariableAttributes; } }));
+var SyntheticsGlobalVariableOptions_1 = __webpack_require__(61453);
+Object.defineProperty(exports, "SyntheticsGlobalVariableOptions", ({ enumerable: true, get: function () { return SyntheticsGlobalVariableOptions_1.SyntheticsGlobalVariableOptions; } }));
+var SyntheticsGlobalVariableParseTestOptions_1 = __webpack_require__(81407);
+Object.defineProperty(exports, "SyntheticsGlobalVariableParseTestOptions", ({ enumerable: true, get: function () { return SyntheticsGlobalVariableParseTestOptions_1.SyntheticsGlobalVariableParseTestOptions; } }));
+var SyntheticsGlobalVariableTOTPParameters_1 = __webpack_require__(45438);
+Object.defineProperty(exports, "SyntheticsGlobalVariableTOTPParameters", ({ enumerable: true, get: function () { return SyntheticsGlobalVariableTOTPParameters_1.SyntheticsGlobalVariableTOTPParameters; } }));
+var SyntheticsGlobalVariableValue_1 = __webpack_require__(65653);
+Object.defineProperty(exports, "SyntheticsGlobalVariableValue", ({ enumerable: true, get: function () { return SyntheticsGlobalVariableValue_1.SyntheticsGlobalVariableValue; } }));
+var SyntheticsListGlobalVariablesResponse_1 = __webpack_require__(27443);
+Object.defineProperty(exports, "SyntheticsListGlobalVariablesResponse", ({ enumerable: true, get: function () { return SyntheticsListGlobalVariablesResponse_1.SyntheticsListGlobalVariablesResponse; } }));
+var SyntheticsListTestsResponse_1 = __webpack_require__(37633);
+Object.defineProperty(exports, "SyntheticsListTestsResponse", ({ enumerable: true, get: function () { return SyntheticsListTestsResponse_1.SyntheticsListTestsResponse; } }));
+var SyntheticsLocation_1 = __webpack_require__(96831);
+Object.defineProperty(exports, "SyntheticsLocation", ({ enumerable: true, get: function () { return SyntheticsLocation_1.SyntheticsLocation; } }));
+var SyntheticsLocations_1 = __webpack_require__(94037);
+Object.defineProperty(exports, "SyntheticsLocations", ({ enumerable: true, get: function () { return SyntheticsLocations_1.SyntheticsLocations; } }));
+var SyntheticsParsingOptions_1 = __webpack_require__(20707);
+Object.defineProperty(exports, "SyntheticsParsingOptions", ({ enumerable: true, get: function () { return SyntheticsParsingOptions_1.SyntheticsParsingOptions; } }));
+var SyntheticsPrivateLocation_1 = __webpack_require__(37199);
+Object.defineProperty(exports, "SyntheticsPrivateLocation", ({ enumerable: true, get: function () { return SyntheticsPrivateLocation_1.SyntheticsPrivateLocation; } }));
+var SyntheticsPrivateLocationCreationResponse_1 = __webpack_require__(33061);
+Object.defineProperty(exports, "SyntheticsPrivateLocationCreationResponse", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationCreationResponse_1.SyntheticsPrivateLocationCreationResponse; } }));
+var SyntheticsPrivateLocationCreationResponseResultEncryption_1 = __webpack_require__(58243);
+Object.defineProperty(exports, "SyntheticsPrivateLocationCreationResponseResultEncryption", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationCreationResponseResultEncryption_1.SyntheticsPrivateLocationCreationResponseResultEncryption; } }));
+var SyntheticsPrivateLocationMetadata_1 = __webpack_require__(44606);
+Object.defineProperty(exports, "SyntheticsPrivateLocationMetadata", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationMetadata_1.SyntheticsPrivateLocationMetadata; } }));
+var SyntheticsPrivateLocationSecrets_1 = __webpack_require__(92451);
+Object.defineProperty(exports, "SyntheticsPrivateLocationSecrets", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationSecrets_1.SyntheticsPrivateLocationSecrets; } }));
+var SyntheticsPrivateLocationSecretsAuthentication_1 = __webpack_require__(78590);
+Object.defineProperty(exports, "SyntheticsPrivateLocationSecretsAuthentication", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationSecretsAuthentication_1.SyntheticsPrivateLocationSecretsAuthentication; } }));
+var SyntheticsPrivateLocationSecretsConfigDecryption_1 = __webpack_require__(11934);
+Object.defineProperty(exports, "SyntheticsPrivateLocationSecretsConfigDecryption", ({ enumerable: true, get: function () { return SyntheticsPrivateLocationSecretsConfigDecryption_1.SyntheticsPrivateLocationSecretsConfigDecryption; } }));
+var SyntheticsSSLCertificate_1 = __webpack_require__(66202);
+Object.defineProperty(exports, "SyntheticsSSLCertificate", ({ enumerable: true, get: function () { return SyntheticsSSLCertificate_1.SyntheticsSSLCertificate; } }));
+var SyntheticsSSLCertificateIssuer_1 = __webpack_require__(84876);
+Object.defineProperty(exports, "SyntheticsSSLCertificateIssuer", ({ enumerable: true, get: function () { return SyntheticsSSLCertificateIssuer_1.SyntheticsSSLCertificateIssuer; } }));
+var SyntheticsSSLCertificateSubject_1 = __webpack_require__(46231);
+Object.defineProperty(exports, "SyntheticsSSLCertificateSubject", ({ enumerable: true, get: function () { return SyntheticsSSLCertificateSubject_1.SyntheticsSSLCertificateSubject; } }));
+var SyntheticsStep_1 = __webpack_require__(66112);
+Object.defineProperty(exports, "SyntheticsStep", ({ enumerable: true, get: function () { return SyntheticsStep_1.SyntheticsStep; } }));
+var SyntheticsStepDetail_1 = __webpack_require__(95801);
+Object.defineProperty(exports, "SyntheticsStepDetail", ({ enumerable: true, get: function () { return SyntheticsStepDetail_1.SyntheticsStepDetail; } }));
+var SyntheticsStepDetailWarning_1 = __webpack_require__(53443);
+Object.defineProperty(exports, "SyntheticsStepDetailWarning", ({ enumerable: true, get: function () { return SyntheticsStepDetailWarning_1.SyntheticsStepDetailWarning; } }));
+var SyntheticsTestCiOptions_1 = __webpack_require__(80395);
+Object.defineProperty(exports, "SyntheticsTestCiOptions", ({ enumerable: true, get: function () { return SyntheticsTestCiOptions_1.SyntheticsTestCiOptions; } }));
+var SyntheticsTestConfig_1 = __webpack_require__(62286);
+Object.defineProperty(exports, "SyntheticsTestConfig", ({ enumerable: true, get: function () { return SyntheticsTestConfig_1.SyntheticsTestConfig; } }));
+var SyntheticsTestDetails_1 = __webpack_require__(71820);
+Object.defineProperty(exports, "SyntheticsTestDetails", ({ enumerable: true, get: function () { return SyntheticsTestDetails_1.SyntheticsTestDetails; } }));
+var SyntheticsTestOptions_1 = __webpack_require__(42118);
+Object.defineProperty(exports, "SyntheticsTestOptions", ({ enumerable: true, get: function () { return SyntheticsTestOptions_1.SyntheticsTestOptions; } }));
+var SyntheticsTestOptionsMonitorOptions_1 = __webpack_require__(41385);
+Object.defineProperty(exports, "SyntheticsTestOptionsMonitorOptions", ({ enumerable: true, get: function () { return SyntheticsTestOptionsMonitorOptions_1.SyntheticsTestOptionsMonitorOptions; } }));
+var SyntheticsTestOptionsRetry_1 = __webpack_require__(79872);
+Object.defineProperty(exports, "SyntheticsTestOptionsRetry", ({ enumerable: true, get: function () { return SyntheticsTestOptionsRetry_1.SyntheticsTestOptionsRetry; } }));
+var SyntheticsTestOptionsScheduling_1 = __webpack_require__(7146);
+Object.defineProperty(exports, "SyntheticsTestOptionsScheduling", ({ enumerable: true, get: function () { return SyntheticsTestOptionsScheduling_1.SyntheticsTestOptionsScheduling; } }));
+var SyntheticsTestOptionsSchedulingTimeframe_1 = __webpack_require__(77559);
+Object.defineProperty(exports, "SyntheticsTestOptionsSchedulingTimeframe", ({ enumerable: true, get: function () { return SyntheticsTestOptionsSchedulingTimeframe_1.SyntheticsTestOptionsSchedulingTimeframe; } }));
+var SyntheticsTestRequest_1 = __webpack_require__(36267);
+Object.defineProperty(exports, "SyntheticsTestRequest", ({ enumerable: true, get: function () { return SyntheticsTestRequest_1.SyntheticsTestRequest; } }));
+var SyntheticsTestRequestCertificate_1 = __webpack_require__(21604);
+Object.defineProperty(exports, "SyntheticsTestRequestCertificate", ({ enumerable: true, get: function () { return SyntheticsTestRequestCertificate_1.SyntheticsTestRequestCertificate; } }));
+var SyntheticsTestRequestCertificateItem_1 = __webpack_require__(46505);
+Object.defineProperty(exports, "SyntheticsTestRequestCertificateItem", ({ enumerable: true, get: function () { return SyntheticsTestRequestCertificateItem_1.SyntheticsTestRequestCertificateItem; } }));
+var SyntheticsTestRequestProxy_1 = __webpack_require__(69621);
+Object.defineProperty(exports, "SyntheticsTestRequestProxy", ({ enumerable: true, get: function () { return SyntheticsTestRequestProxy_1.SyntheticsTestRequestProxy; } }));
+var SyntheticsTiming_1 = __webpack_require__(88674);
+Object.defineProperty(exports, "SyntheticsTiming", ({ enumerable: true, get: function () { return SyntheticsTiming_1.SyntheticsTiming; } }));
+var SyntheticsTriggerBody_1 = __webpack_require__(92545);
+Object.defineProperty(exports, "SyntheticsTriggerBody", ({ enumerable: true, get: function () { return SyntheticsTriggerBody_1.SyntheticsTriggerBody; } }));
+var SyntheticsTriggerCITestLocation_1 = __webpack_require__(31334);
+Object.defineProperty(exports, "SyntheticsTriggerCITestLocation", ({ enumerable: true, get: function () { return SyntheticsTriggerCITestLocation_1.SyntheticsTriggerCITestLocation; } }));
+var SyntheticsTriggerCITestRunResult_1 = __webpack_require__(86196);
+Object.defineProperty(exports, "SyntheticsTriggerCITestRunResult", ({ enumerable: true, get: function () { return SyntheticsTriggerCITestRunResult_1.SyntheticsTriggerCITestRunResult; } }));
+var SyntheticsTriggerCITestsResponse_1 = __webpack_require__(44171);
+Object.defineProperty(exports, "SyntheticsTriggerCITestsResponse", ({ enumerable: true, get: function () { return SyntheticsTriggerCITestsResponse_1.SyntheticsTriggerCITestsResponse; } }));
+var SyntheticsTriggerTest_1 = __webpack_require__(75879);
+Object.defineProperty(exports, "SyntheticsTriggerTest", ({ enumerable: true, get: function () { return SyntheticsTriggerTest_1.SyntheticsTriggerTest; } }));
+var SyntheticsUpdateTestPauseStatusPayload_1 = __webpack_require__(39942);
+Object.defineProperty(exports, "SyntheticsUpdateTestPauseStatusPayload", ({ enumerable: true, get: function () { return SyntheticsUpdateTestPauseStatusPayload_1.SyntheticsUpdateTestPauseStatusPayload; } }));
+var SyntheticsVariableParser_1 = __webpack_require__(50454);
+Object.defineProperty(exports, "SyntheticsVariableParser", ({ enumerable: true, get: function () { return SyntheticsVariableParser_1.SyntheticsVariableParser; } }));
+var TableWidgetDefinition_1 = __webpack_require__(68902);
+Object.defineProperty(exports, "TableWidgetDefinition", ({ enumerable: true, get: function () { return TableWidgetDefinition_1.TableWidgetDefinition; } }));
+var TableWidgetRequest_1 = __webpack_require__(35423);
+Object.defineProperty(exports, "TableWidgetRequest", ({ enumerable: true, get: function () { return TableWidgetRequest_1.TableWidgetRequest; } }));
+var TagToHosts_1 = __webpack_require__(38146);
+Object.defineProperty(exports, "TagToHosts", ({ enumerable: true, get: function () { return TagToHosts_1.TagToHosts; } }));
+var TimeseriesBackground_1 = __webpack_require__(16330);
+Object.defineProperty(exports, "TimeseriesBackground", ({ enumerable: true, get: function () { return TimeseriesBackground_1.TimeseriesBackground; } }));
+var TimeseriesWidgetDefinition_1 = __webpack_require__(202);
+Object.defineProperty(exports, "TimeseriesWidgetDefinition", ({ enumerable: true, get: function () { return TimeseriesWidgetDefinition_1.TimeseriesWidgetDefinition; } }));
+var TimeseriesWidgetExpressionAlias_1 = __webpack_require__(9267);
+Object.defineProperty(exports, "TimeseriesWidgetExpressionAlias", ({ enumerable: true, get: function () { return TimeseriesWidgetExpressionAlias_1.TimeseriesWidgetExpressionAlias; } }));
+var TimeseriesWidgetRequest_1 = __webpack_require__(727);
+Object.defineProperty(exports, "TimeseriesWidgetRequest", ({ enumerable: true, get: function () { return TimeseriesWidgetRequest_1.TimeseriesWidgetRequest; } }));
+var ToplistWidgetDefinition_1 = __webpack_require__(9873);
+Object.defineProperty(exports, "ToplistWidgetDefinition", ({ enumerable: true, get: function () { return ToplistWidgetDefinition_1.ToplistWidgetDefinition; } }));
+var ToplistWidgetRequest_1 = __webpack_require__(51644);
+Object.defineProperty(exports, "ToplistWidgetRequest", ({ enumerable: true, get: function () { return ToplistWidgetRequest_1.ToplistWidgetRequest; } }));
+var TopologyMapWidgetDefinition_1 = __webpack_require__(45067);
+Object.defineProperty(exports, "TopologyMapWidgetDefinition", ({ enumerable: true, get: function () { return TopologyMapWidgetDefinition_1.TopologyMapWidgetDefinition; } }));
+var TopologyQuery_1 = __webpack_require__(85718);
+Object.defineProperty(exports, "TopologyQuery", ({ enumerable: true, get: function () { return TopologyQuery_1.TopologyQuery; } }));
+var TopologyRequest_1 = __webpack_require__(3994);
+Object.defineProperty(exports, "TopologyRequest", ({ enumerable: true, get: function () { return TopologyRequest_1.TopologyRequest; } }));
+var TreeMapWidgetDefinition_1 = __webpack_require__(7827);
+Object.defineProperty(exports, "TreeMapWidgetDefinition", ({ enumerable: true, get: function () { return TreeMapWidgetDefinition_1.TreeMapWidgetDefinition; } }));
+var TreeMapWidgetRequest_1 = __webpack_require__(81118);
+Object.defineProperty(exports, "TreeMapWidgetRequest", ({ enumerable: true, get: function () { return TreeMapWidgetRequest_1.TreeMapWidgetRequest; } }));
+var UsageAnalyzedLogsHour_1 = __webpack_require__(92837);
+Object.defineProperty(exports, "UsageAnalyzedLogsHour", ({ enumerable: true, get: function () { return UsageAnalyzedLogsHour_1.UsageAnalyzedLogsHour; } }));
+var UsageAnalyzedLogsResponse_1 = __webpack_require__(60957);
+Object.defineProperty(exports, "UsageAnalyzedLogsResponse", ({ enumerable: true, get: function () { return UsageAnalyzedLogsResponse_1.UsageAnalyzedLogsResponse; } }));
+var UsageAttributionAggregatesBody_1 = __webpack_require__(23128);
+Object.defineProperty(exports, "UsageAttributionAggregatesBody", ({ enumerable: true, get: function () { return UsageAttributionAggregatesBody_1.UsageAttributionAggregatesBody; } }));
+var UsageAttributionBody_1 = __webpack_require__(44217);
+Object.defineProperty(exports, "UsageAttributionBody", ({ enumerable: true, get: function () { return UsageAttributionBody_1.UsageAttributionBody; } }));
+var UsageAttributionMetadata_1 = __webpack_require__(20442);
+Object.defineProperty(exports, "UsageAttributionMetadata", ({ enumerable: true, get: function () { return UsageAttributionMetadata_1.UsageAttributionMetadata; } }));
+var UsageAttributionPagination_1 = __webpack_require__(26947);
+Object.defineProperty(exports, "UsageAttributionPagination", ({ enumerable: true, get: function () { return UsageAttributionPagination_1.UsageAttributionPagination; } }));
+var UsageAttributionResponse_1 = __webpack_require__(2900);
+Object.defineProperty(exports, "UsageAttributionResponse", ({ enumerable: true, get: function () { return UsageAttributionResponse_1.UsageAttributionResponse; } }));
+var UsageAttributionValues_1 = __webpack_require__(47058);
+Object.defineProperty(exports, "UsageAttributionValues", ({ enumerable: true, get: function () { return UsageAttributionValues_1.UsageAttributionValues; } }));
+var UsageAuditLogsHour_1 = __webpack_require__(14819);
+Object.defineProperty(exports, "UsageAuditLogsHour", ({ enumerable: true, get: function () { return UsageAuditLogsHour_1.UsageAuditLogsHour; } }));
+var UsageAuditLogsResponse_1 = __webpack_require__(60607);
+Object.defineProperty(exports, "UsageAuditLogsResponse", ({ enumerable: true, get: function () { return UsageAuditLogsResponse_1.UsageAuditLogsResponse; } }));
+var UsageBillableSummaryBody_1 = __webpack_require__(55055);
+Object.defineProperty(exports, "UsageBillableSummaryBody", ({ enumerable: true, get: function () { return UsageBillableSummaryBody_1.UsageBillableSummaryBody; } }));
+var UsageBillableSummaryHour_1 = __webpack_require__(5658);
+Object.defineProperty(exports, "UsageBillableSummaryHour", ({ enumerable: true, get: function () { return UsageBillableSummaryHour_1.UsageBillableSummaryHour; } }));
+var UsageBillableSummaryKeys_1 = __webpack_require__(10578);
+Object.defineProperty(exports, "UsageBillableSummaryKeys", ({ enumerable: true, get: function () { return UsageBillableSummaryKeys_1.UsageBillableSummaryKeys; } }));
+var UsageBillableSummaryResponse_1 = __webpack_require__(56594);
+Object.defineProperty(exports, "UsageBillableSummaryResponse", ({ enumerable: true, get: function () { return UsageBillableSummaryResponse_1.UsageBillableSummaryResponse; } }));
+var UsageCIVisibilityHour_1 = __webpack_require__(30564);
+Object.defineProperty(exports, "UsageCIVisibilityHour", ({ enumerable: true, get: function () { return UsageCIVisibilityHour_1.UsageCIVisibilityHour; } }));
+var UsageCIVisibilityResponse_1 = __webpack_require__(95567);
+Object.defineProperty(exports, "UsageCIVisibilityResponse", ({ enumerable: true, get: function () { return UsageCIVisibilityResponse_1.UsageCIVisibilityResponse; } }));
+var UsageCloudSecurityPostureManagementHour_1 = __webpack_require__(64100);
+Object.defineProperty(exports, "UsageCloudSecurityPostureManagementHour", ({ enumerable: true, get: function () { return UsageCloudSecurityPostureManagementHour_1.UsageCloudSecurityPostureManagementHour; } }));
+var UsageCloudSecurityPostureManagementResponse_1 = __webpack_require__(44315);
+Object.defineProperty(exports, "UsageCloudSecurityPostureManagementResponse", ({ enumerable: true, get: function () { return UsageCloudSecurityPostureManagementResponse_1.UsageCloudSecurityPostureManagementResponse; } }));
+var UsageCustomReportsAttributes_1 = __webpack_require__(78851);
+Object.defineProperty(exports, "UsageCustomReportsAttributes", ({ enumerable: true, get: function () { return UsageCustomReportsAttributes_1.UsageCustomReportsAttributes; } }));
+var UsageCustomReportsData_1 = __webpack_require__(56172);
+Object.defineProperty(exports, "UsageCustomReportsData", ({ enumerable: true, get: function () { return UsageCustomReportsData_1.UsageCustomReportsData; } }));
+var UsageCustomReportsMeta_1 = __webpack_require__(26602);
+Object.defineProperty(exports, "UsageCustomReportsMeta", ({ enumerable: true, get: function () { return UsageCustomReportsMeta_1.UsageCustomReportsMeta; } }));
+var UsageCustomReportsPage_1 = __webpack_require__(43869);
+Object.defineProperty(exports, "UsageCustomReportsPage", ({ enumerable: true, get: function () { return UsageCustomReportsPage_1.UsageCustomReportsPage; } }));
+var UsageCustomReportsResponse_1 = __webpack_require__(83809);
+Object.defineProperty(exports, "UsageCustomReportsResponse", ({ enumerable: true, get: function () { return UsageCustomReportsResponse_1.UsageCustomReportsResponse; } }));
+var UsageCWSHour_1 = __webpack_require__(13436);
+Object.defineProperty(exports, "UsageCWSHour", ({ enumerable: true, get: function () { return UsageCWSHour_1.UsageCWSHour; } }));
+var UsageCWSResponse_1 = __webpack_require__(96909);
+Object.defineProperty(exports, "UsageCWSResponse", ({ enumerable: true, get: function () { return UsageCWSResponse_1.UsageCWSResponse; } }));
+var UsageDBMHour_1 = __webpack_require__(41804);
+Object.defineProperty(exports, "UsageDBMHour", ({ enumerable: true, get: function () { return UsageDBMHour_1.UsageDBMHour; } }));
+var UsageDBMResponse_1 = __webpack_require__(69221);
+Object.defineProperty(exports, "UsageDBMResponse", ({ enumerable: true, get: function () { return UsageDBMResponse_1.UsageDBMResponse; } }));
+var UsageFargateHour_1 = __webpack_require__(38026);
+Object.defineProperty(exports, "UsageFargateHour", ({ enumerable: true, get: function () { return UsageFargateHour_1.UsageFargateHour; } }));
+var UsageFargateResponse_1 = __webpack_require__(89167);
+Object.defineProperty(exports, "UsageFargateResponse", ({ enumerable: true, get: function () { return UsageFargateResponse_1.UsageFargateResponse; } }));
+var UsageHostHour_1 = __webpack_require__(30718);
+Object.defineProperty(exports, "UsageHostHour", ({ enumerable: true, get: function () { return UsageHostHour_1.UsageHostHour; } }));
+var UsageHostsResponse_1 = __webpack_require__(8479);
+Object.defineProperty(exports, "UsageHostsResponse", ({ enumerable: true, get: function () { return UsageHostsResponse_1.UsageHostsResponse; } }));
+var UsageIncidentManagementHour_1 = __webpack_require__(5048);
+Object.defineProperty(exports, "UsageIncidentManagementHour", ({ enumerable: true, get: function () { return UsageIncidentManagementHour_1.UsageIncidentManagementHour; } }));
+var UsageIncidentManagementResponse_1 = __webpack_require__(83765);
+Object.defineProperty(exports, "UsageIncidentManagementResponse", ({ enumerable: true, get: function () { return UsageIncidentManagementResponse_1.UsageIncidentManagementResponse; } }));
+var UsageIndexedSpansHour_1 = __webpack_require__(19433);
+Object.defineProperty(exports, "UsageIndexedSpansHour", ({ enumerable: true, get: function () { return UsageIndexedSpansHour_1.UsageIndexedSpansHour; } }));
+var UsageIndexedSpansResponse_1 = __webpack_require__(22976);
+Object.defineProperty(exports, "UsageIndexedSpansResponse", ({ enumerable: true, get: function () { return UsageIndexedSpansResponse_1.UsageIndexedSpansResponse; } }));
+var UsageIngestedSpansHour_1 = __webpack_require__(53223);
+Object.defineProperty(exports, "UsageIngestedSpansHour", ({ enumerable: true, get: function () { return UsageIngestedSpansHour_1.UsageIngestedSpansHour; } }));
+var UsageIngestedSpansResponse_1 = __webpack_require__(9369);
+Object.defineProperty(exports, "UsageIngestedSpansResponse", ({ enumerable: true, get: function () { return UsageIngestedSpansResponse_1.UsageIngestedSpansResponse; } }));
+var UsageIoTHour_1 = __webpack_require__(97690);
+Object.defineProperty(exports, "UsageIoTHour", ({ enumerable: true, get: function () { return UsageIoTHour_1.UsageIoTHour; } }));
+var UsageIoTResponse_1 = __webpack_require__(92713);
+Object.defineProperty(exports, "UsageIoTResponse", ({ enumerable: true, get: function () { return UsageIoTResponse_1.UsageIoTResponse; } }));
+var UsageLambdaHour_1 = __webpack_require__(34087);
+Object.defineProperty(exports, "UsageLambdaHour", ({ enumerable: true, get: function () { return UsageLambdaHour_1.UsageLambdaHour; } }));
+var UsageLambdaResponse_1 = __webpack_require__(71231);
+Object.defineProperty(exports, "UsageLambdaResponse", ({ enumerable: true, get: function () { return UsageLambdaResponse_1.UsageLambdaResponse; } }));
+var UsageLogsByIndexHour_1 = __webpack_require__(59324);
+Object.defineProperty(exports, "UsageLogsByIndexHour", ({ enumerable: true, get: function () { return UsageLogsByIndexHour_1.UsageLogsByIndexHour; } }));
+var UsageLogsByIndexResponse_1 = __webpack_require__(43777);
+Object.defineProperty(exports, "UsageLogsByIndexResponse", ({ enumerable: true, get: function () { return UsageLogsByIndexResponse_1.UsageLogsByIndexResponse; } }));
+var UsageLogsByRetentionHour_1 = __webpack_require__(51022);
+Object.defineProperty(exports, "UsageLogsByRetentionHour", ({ enumerable: true, get: function () { return UsageLogsByRetentionHour_1.UsageLogsByRetentionHour; } }));
+var UsageLogsByRetentionResponse_1 = __webpack_require__(22817);
+Object.defineProperty(exports, "UsageLogsByRetentionResponse", ({ enumerable: true, get: function () { return UsageLogsByRetentionResponse_1.UsageLogsByRetentionResponse; } }));
+var UsageLogsHour_1 = __webpack_require__(87978);
+Object.defineProperty(exports, "UsageLogsHour", ({ enumerable: true, get: function () { return UsageLogsHour_1.UsageLogsHour; } }));
+var UsageLogsResponse_1 = __webpack_require__(21077);
+Object.defineProperty(exports, "UsageLogsResponse", ({ enumerable: true, get: function () { return UsageLogsResponse_1.UsageLogsResponse; } }));
+var UsageNetworkFlowsHour_1 = __webpack_require__(18375);
+Object.defineProperty(exports, "UsageNetworkFlowsHour", ({ enumerable: true, get: function () { return UsageNetworkFlowsHour_1.UsageNetworkFlowsHour; } }));
+var UsageNetworkFlowsResponse_1 = __webpack_require__(86162);
+Object.defineProperty(exports, "UsageNetworkFlowsResponse", ({ enumerable: true, get: function () { return UsageNetworkFlowsResponse_1.UsageNetworkFlowsResponse; } }));
+var UsageNetworkHostsHour_1 = __webpack_require__(645);
+Object.defineProperty(exports, "UsageNetworkHostsHour", ({ enumerable: true, get: function () { return UsageNetworkHostsHour_1.UsageNetworkHostsHour; } }));
+var UsageNetworkHostsResponse_1 = __webpack_require__(96327);
+Object.defineProperty(exports, "UsageNetworkHostsResponse", ({ enumerable: true, get: function () { return UsageNetworkHostsResponse_1.UsageNetworkHostsResponse; } }));
+var UsageOnlineArchiveHour_1 = __webpack_require__(92958);
+Object.defineProperty(exports, "UsageOnlineArchiveHour", ({ enumerable: true, get: function () { return UsageOnlineArchiveHour_1.UsageOnlineArchiveHour; } }));
+var UsageOnlineArchiveResponse_1 = __webpack_require__(97201);
+Object.defineProperty(exports, "UsageOnlineArchiveResponse", ({ enumerable: true, get: function () { return UsageOnlineArchiveResponse_1.UsageOnlineArchiveResponse; } }));
+var UsageProfilingHour_1 = __webpack_require__(29986);
+Object.defineProperty(exports, "UsageProfilingHour", ({ enumerable: true, get: function () { return UsageProfilingHour_1.UsageProfilingHour; } }));
+var UsageProfilingResponse_1 = __webpack_require__(42478);
+Object.defineProperty(exports, "UsageProfilingResponse", ({ enumerable: true, get: function () { return UsageProfilingResponse_1.UsageProfilingResponse; } }));
+var UsageRumSessionsHour_1 = __webpack_require__(27702);
+Object.defineProperty(exports, "UsageRumSessionsHour", ({ enumerable: true, get: function () { return UsageRumSessionsHour_1.UsageRumSessionsHour; } }));
+var UsageRumSessionsResponse_1 = __webpack_require__(46027);
+Object.defineProperty(exports, "UsageRumSessionsResponse", ({ enumerable: true, get: function () { return UsageRumSessionsResponse_1.UsageRumSessionsResponse; } }));
+var UsageRumUnitsHour_1 = __webpack_require__(11289);
+Object.defineProperty(exports, "UsageRumUnitsHour", ({ enumerable: true, get: function () { return UsageRumUnitsHour_1.UsageRumUnitsHour; } }));
+var UsageRumUnitsResponse_1 = __webpack_require__(32233);
+Object.defineProperty(exports, "UsageRumUnitsResponse", ({ enumerable: true, get: function () { return UsageRumUnitsResponse_1.UsageRumUnitsResponse; } }));
+var UsageSDSHour_1 = __webpack_require__(67233);
+Object.defineProperty(exports, "UsageSDSHour", ({ enumerable: true, get: function () { return UsageSDSHour_1.UsageSDSHour; } }));
+var UsageSDSResponse_1 = __webpack_require__(28995);
+Object.defineProperty(exports, "UsageSDSResponse", ({ enumerable: true, get: function () { return UsageSDSResponse_1.UsageSDSResponse; } }));
+var UsageSNMPHour_1 = __webpack_require__(38107);
+Object.defineProperty(exports, "UsageSNMPHour", ({ enumerable: true, get: function () { return UsageSNMPHour_1.UsageSNMPHour; } }));
+var UsageSNMPResponse_1 = __webpack_require__(84744);
+Object.defineProperty(exports, "UsageSNMPResponse", ({ enumerable: true, get: function () { return UsageSNMPResponse_1.UsageSNMPResponse; } }));
+var UsageSpecifiedCustomReportsAttributes_1 = __webpack_require__(64846);
+Object.defineProperty(exports, "UsageSpecifiedCustomReportsAttributes", ({ enumerable: true, get: function () { return UsageSpecifiedCustomReportsAttributes_1.UsageSpecifiedCustomReportsAttributes; } }));
+var UsageSpecifiedCustomReportsData_1 = __webpack_require__(577);
+Object.defineProperty(exports, "UsageSpecifiedCustomReportsData", ({ enumerable: true, get: function () { return UsageSpecifiedCustomReportsData_1.UsageSpecifiedCustomReportsData; } }));
+var UsageSpecifiedCustomReportsMeta_1 = __webpack_require__(89745);
+Object.defineProperty(exports, "UsageSpecifiedCustomReportsMeta", ({ enumerable: true, get: function () { return UsageSpecifiedCustomReportsMeta_1.UsageSpecifiedCustomReportsMeta; } }));
+var UsageSpecifiedCustomReportsPage_1 = __webpack_require__(80239);
+Object.defineProperty(exports, "UsageSpecifiedCustomReportsPage", ({ enumerable: true, get: function () { return UsageSpecifiedCustomReportsPage_1.UsageSpecifiedCustomReportsPage; } }));
+var UsageSpecifiedCustomReportsResponse_1 = __webpack_require__(46409);
+Object.defineProperty(exports, "UsageSpecifiedCustomReportsResponse", ({ enumerable: true, get: function () { return UsageSpecifiedCustomReportsResponse_1.UsageSpecifiedCustomReportsResponse; } }));
+var UsageSummaryDate_1 = __webpack_require__(18006);
+Object.defineProperty(exports, "UsageSummaryDate", ({ enumerable: true, get: function () { return UsageSummaryDate_1.UsageSummaryDate; } }));
+var UsageSummaryDateOrg_1 = __webpack_require__(43598);
+Object.defineProperty(exports, "UsageSummaryDateOrg", ({ enumerable: true, get: function () { return UsageSummaryDateOrg_1.UsageSummaryDateOrg; } }));
+var UsageSummaryResponse_1 = __webpack_require__(56234);
+Object.defineProperty(exports, "UsageSummaryResponse", ({ enumerable: true, get: function () { return UsageSummaryResponse_1.UsageSummaryResponse; } }));
+var UsageSyntheticsAPIHour_1 = __webpack_require__(90314);
+Object.defineProperty(exports, "UsageSyntheticsAPIHour", ({ enumerable: true, get: function () { return UsageSyntheticsAPIHour_1.UsageSyntheticsAPIHour; } }));
+var UsageSyntheticsAPIResponse_1 = __webpack_require__(24604);
+Object.defineProperty(exports, "UsageSyntheticsAPIResponse", ({ enumerable: true, get: function () { return UsageSyntheticsAPIResponse_1.UsageSyntheticsAPIResponse; } }));
+var UsageSyntheticsBrowserHour_1 = __webpack_require__(46913);
+Object.defineProperty(exports, "UsageSyntheticsBrowserHour", ({ enumerable: true, get: function () { return UsageSyntheticsBrowserHour_1.UsageSyntheticsBrowserHour; } }));
+var UsageSyntheticsBrowserResponse_1 = __webpack_require__(89680);
+Object.defineProperty(exports, "UsageSyntheticsBrowserResponse", ({ enumerable: true, get: function () { return UsageSyntheticsBrowserResponse_1.UsageSyntheticsBrowserResponse; } }));
+var UsageSyntheticsHour_1 = __webpack_require__(59999);
+Object.defineProperty(exports, "UsageSyntheticsHour", ({ enumerable: true, get: function () { return UsageSyntheticsHour_1.UsageSyntheticsHour; } }));
+var UsageSyntheticsResponse_1 = __webpack_require__(49891);
+Object.defineProperty(exports, "UsageSyntheticsResponse", ({ enumerable: true, get: function () { return UsageSyntheticsResponse_1.UsageSyntheticsResponse; } }));
+var UsageTimeseriesHour_1 = __webpack_require__(23957);
+Object.defineProperty(exports, "UsageTimeseriesHour", ({ enumerable: true, get: function () { return UsageTimeseriesHour_1.UsageTimeseriesHour; } }));
+var UsageTimeseriesResponse_1 = __webpack_require__(69988);
+Object.defineProperty(exports, "UsageTimeseriesResponse", ({ enumerable: true, get: function () { return UsageTimeseriesResponse_1.UsageTimeseriesResponse; } }));
+var UsageTopAvgMetricsHour_1 = __webpack_require__(52569);
+Object.defineProperty(exports, "UsageTopAvgMetricsHour", ({ enumerable: true, get: function () { return UsageTopAvgMetricsHour_1.UsageTopAvgMetricsHour; } }));
+var UsageTopAvgMetricsMetadata_1 = __webpack_require__(98109);
+Object.defineProperty(exports, "UsageTopAvgMetricsMetadata", ({ enumerable: true, get: function () { return UsageTopAvgMetricsMetadata_1.UsageTopAvgMetricsMetadata; } }));
+var UsageTopAvgMetricsPagination_1 = __webpack_require__(161);
+Object.defineProperty(exports, "UsageTopAvgMetricsPagination", ({ enumerable: true, get: function () { return UsageTopAvgMetricsPagination_1.UsageTopAvgMetricsPagination; } }));
+var UsageTopAvgMetricsResponse_1 = __webpack_require__(90619);
+Object.defineProperty(exports, "UsageTopAvgMetricsResponse", ({ enumerable: true, get: function () { return UsageTopAvgMetricsResponse_1.UsageTopAvgMetricsResponse; } }));
+var User_1 = __webpack_require__(98881);
+Object.defineProperty(exports, "User", ({ enumerable: true, get: function () { return User_1.User; } }));
+var UserDisableResponse_1 = __webpack_require__(3816);
+Object.defineProperty(exports, "UserDisableResponse", ({ enumerable: true, get: function () { return UserDisableResponse_1.UserDisableResponse; } }));
+var UserListResponse_1 = __webpack_require__(93161);
+Object.defineProperty(exports, "UserListResponse", ({ enumerable: true, get: function () { return UserListResponse_1.UserListResponse; } }));
+var UserResponse_1 = __webpack_require__(27368);
+Object.defineProperty(exports, "UserResponse", ({ enumerable: true, get: function () { return UserResponse_1.UserResponse; } }));
+var WebhooksIntegration_1 = __webpack_require__(9236);
+Object.defineProperty(exports, "WebhooksIntegration", ({ enumerable: true, get: function () { return WebhooksIntegration_1.WebhooksIntegration; } }));
+var WebhooksIntegrationCustomVariable_1 = __webpack_require__(48946);
+Object.defineProperty(exports, "WebhooksIntegrationCustomVariable", ({ enumerable: true, get: function () { return WebhooksIntegrationCustomVariable_1.WebhooksIntegrationCustomVariable; } }));
+var WebhooksIntegrationCustomVariableResponse_1 = __webpack_require__(8147);
+Object.defineProperty(exports, "WebhooksIntegrationCustomVariableResponse", ({ enumerable: true, get: function () { return WebhooksIntegrationCustomVariableResponse_1.WebhooksIntegrationCustomVariableResponse; } }));
+var WebhooksIntegrationCustomVariableUpdateRequest_1 = __webpack_require__(91337);
+Object.defineProperty(exports, "WebhooksIntegrationCustomVariableUpdateRequest", ({ enumerable: true, get: function () { return WebhooksIntegrationCustomVariableUpdateRequest_1.WebhooksIntegrationCustomVariableUpdateRequest; } }));
+var WebhooksIntegrationUpdateRequest_1 = __webpack_require__(24504);
+Object.defineProperty(exports, "WebhooksIntegrationUpdateRequest", ({ enumerable: true, get: function () { return WebhooksIntegrationUpdateRequest_1.WebhooksIntegrationUpdateRequest; } }));
+var Widget_1 = __webpack_require__(37523);
+Object.defineProperty(exports, "Widget", ({ enumerable: true, get: function () { return Widget_1.Widget; } }));
+var WidgetAxis_1 = __webpack_require__(36606);
+Object.defineProperty(exports, "WidgetAxis", ({ enumerable: true, get: function () { return WidgetAxis_1.WidgetAxis; } }));
+var WidgetConditionalFormat_1 = __webpack_require__(81207);
+Object.defineProperty(exports, "WidgetConditionalFormat", ({ enumerable: true, get: function () { return WidgetConditionalFormat_1.WidgetConditionalFormat; } }));
+var WidgetCustomLink_1 = __webpack_require__(44847);
+Object.defineProperty(exports, "WidgetCustomLink", ({ enumerable: true, get: function () { return WidgetCustomLink_1.WidgetCustomLink; } }));
+var WidgetEvent_1 = __webpack_require__(46180);
+Object.defineProperty(exports, "WidgetEvent", ({ enumerable: true, get: function () { return WidgetEvent_1.WidgetEvent; } }));
+var WidgetFieldSort_1 = __webpack_require__(60784);
+Object.defineProperty(exports, "WidgetFieldSort", ({ enumerable: true, get: function () { return WidgetFieldSort_1.WidgetFieldSort; } }));
+var WidgetFormula_1 = __webpack_require__(44679);
+Object.defineProperty(exports, "WidgetFormula", ({ enumerable: true, get: function () { return WidgetFormula_1.WidgetFormula; } }));
+var WidgetFormulaLimit_1 = __webpack_require__(92167);
+Object.defineProperty(exports, "WidgetFormulaLimit", ({ enumerable: true, get: function () { return WidgetFormulaLimit_1.WidgetFormulaLimit; } }));
+var WidgetFormulaStyle_1 = __webpack_require__(88913);
+Object.defineProperty(exports, "WidgetFormulaStyle", ({ enumerable: true, get: function () { return WidgetFormulaStyle_1.WidgetFormulaStyle; } }));
+var WidgetLayout_1 = __webpack_require__(74520);
+Object.defineProperty(exports, "WidgetLayout", ({ enumerable: true, get: function () { return WidgetLayout_1.WidgetLayout; } }));
+var WidgetMarker_1 = __webpack_require__(68975);
+Object.defineProperty(exports, "WidgetMarker", ({ enumerable: true, get: function () { return WidgetMarker_1.WidgetMarker; } }));
+var WidgetRequestStyle_1 = __webpack_require__(35490);
+Object.defineProperty(exports, "WidgetRequestStyle", ({ enumerable: true, get: function () { return WidgetRequestStyle_1.WidgetRequestStyle; } }));
+var WidgetStyle_1 = __webpack_require__(87224);
+Object.defineProperty(exports, "WidgetStyle", ({ enumerable: true, get: function () { return WidgetStyle_1.WidgetStyle; } }));
+var WidgetTime_1 = __webpack_require__(12235);
+Object.defineProperty(exports, "WidgetTime", ({ enumerable: true, get: function () { return WidgetTime_1.WidgetTime; } }));
+var ObjectSerializer_1 = __webpack_require__(79428);
+Object.defineProperty(exports, "ObjectSerializer", ({ enumerable: true, get: function () { return ObjectSerializer_1.ObjectSerializer; } }));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 85269:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIErrorResponse = void 0;
+/**
+ * Error response object.
+ */
+class APIErrorResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIErrorResponse.attributeTypeMap;
+    }
+}
+exports.APIErrorResponse = APIErrorResponse;
+/**
+ * @ignore
+ */
+APIErrorResponse.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIErrorResponse.js.map
+
+/***/ }),
+
+/***/ 70275:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSAccount = void 0;
+/**
+ * Returns the AWS account associated with this integration.
+ */
+class AWSAccount {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSAccount.attributeTypeMap;
+    }
+}
+exports.AWSAccount = AWSAccount;
+/**
+ * @ignore
+ */
+AWSAccount.attributeTypeMap = {
+    accessKeyId: {
+        baseName: "access_key_id",
+        type: "string",
+    },
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+    },
+    accountSpecificNamespaceRules: {
+        baseName: "account_specific_namespace_rules",
+        type: "{ [key: string]: boolean; }",
+    },
+    cspmResourceCollectionEnabled: {
+        baseName: "cspm_resource_collection_enabled",
+        type: "boolean",
+    },
+    excludedRegions: {
+        baseName: "excluded_regions",
+        type: "Array",
+    },
+    filterTags: {
+        baseName: "filter_tags",
+        type: "Array",
+    },
+    hostTags: {
+        baseName: "host_tags",
+        type: "Array",
+    },
+    metricsCollectionEnabled: {
+        baseName: "metrics_collection_enabled",
+        type: "boolean",
+    },
+    resourceCollectionEnabled: {
+        baseName: "resource_collection_enabled",
+        type: "boolean",
+    },
+    roleName: {
+        baseName: "role_name",
+        type: "string",
+    },
+    secretAccessKey: {
+        baseName: "secret_access_key",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSAccount.js.map
+
+/***/ }),
+
+/***/ 27048:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSAccountAndLambdaRequest = void 0;
+/**
+ * AWS account ID and Lambda ARN.
+ */
+class AWSAccountAndLambdaRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSAccountAndLambdaRequest.attributeTypeMap;
+    }
+}
+exports.AWSAccountAndLambdaRequest = AWSAccountAndLambdaRequest;
+/**
+ * @ignore
+ */
+AWSAccountAndLambdaRequest.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+        required: true,
+    },
+    lambdaArn: {
+        baseName: "lambda_arn",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=AWSAccountAndLambdaRequest.js.map
+
+/***/ }),
+
+/***/ 5542:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSAccountCreateResponse = void 0;
+/**
+ * The Response returned by the AWS Create Account call.
+ */
+class AWSAccountCreateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSAccountCreateResponse.attributeTypeMap;
+    }
+}
+exports.AWSAccountCreateResponse = AWSAccountCreateResponse;
+/**
+ * @ignore
+ */
+AWSAccountCreateResponse.attributeTypeMap = {
+    externalId: {
+        baseName: "external_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSAccountCreateResponse.js.map
+
+/***/ }),
+
+/***/ 25062:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSAccountDeleteRequest = void 0;
+/**
+ * List of AWS accounts to delete.
+ */
+class AWSAccountDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSAccountDeleteRequest.attributeTypeMap;
+    }
+}
+exports.AWSAccountDeleteRequest = AWSAccountDeleteRequest;
+/**
+ * @ignore
+ */
+AWSAccountDeleteRequest.attributeTypeMap = {
+    accessKeyId: {
+        baseName: "access_key_id",
+        type: "string",
+    },
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+    },
+    roleName: {
+        baseName: "role_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSAccountDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 23925:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSAccountListResponse = void 0;
+/**
+ * List of enabled AWS accounts.
+ */
+class AWSAccountListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSAccountListResponse.attributeTypeMap;
+    }
+}
+exports.AWSAccountListResponse = AWSAccountListResponse;
+/**
+ * @ignore
+ */
+AWSAccountListResponse.attributeTypeMap = {
+    accounts: {
+        baseName: "accounts",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=AWSAccountListResponse.js.map
+
+/***/ }),
+
+/***/ 27999:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsAsyncError = void 0;
+/**
+ * Description of errors.
+ */
+class AWSLogsAsyncError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsAsyncError.attributeTypeMap;
+    }
+}
+exports.AWSLogsAsyncError = AWSLogsAsyncError;
+/**
+ * @ignore
+ */
+AWSLogsAsyncError.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSLogsAsyncError.js.map
+
+/***/ }),
+
+/***/ 57159:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsAsyncResponse = void 0;
+/**
+ * A list of all Datadog-AWS logs integrations available in your Datadog organization.
+ */
+class AWSLogsAsyncResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsAsyncResponse.attributeTypeMap;
+    }
+}
+exports.AWSLogsAsyncResponse = AWSLogsAsyncResponse;
+/**
+ * @ignore
+ */
+AWSLogsAsyncResponse.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSLogsAsyncResponse.js.map
+
+/***/ }),
+
+/***/ 61096:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsLambda = void 0;
+/**
+ * Description of the Lambdas.
+ */
+class AWSLogsLambda {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsLambda.attributeTypeMap;
+    }
+}
+exports.AWSLogsLambda = AWSLogsLambda;
+/**
+ * @ignore
+ */
+AWSLogsLambda.attributeTypeMap = {
+    arn: {
+        baseName: "arn",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSLogsLambda.js.map
+
+/***/ }),
+
+/***/ 65977:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsListResponse = void 0;
+/**
+ * A list of all Datadog-AWS logs integrations available in your Datadog organization.
+ */
+class AWSLogsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsListResponse.attributeTypeMap;
+    }
+}
+exports.AWSLogsListResponse = AWSLogsListResponse;
+/**
+ * @ignore
+ */
+AWSLogsListResponse.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+    },
+    lambdas: {
+        baseName: "lambdas",
+        type: "Array",
+    },
+    services: {
+        baseName: "services",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=AWSLogsListResponse.js.map
+
+/***/ }),
+
+/***/ 46763:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsListServicesResponse = void 0;
+/**
+ * The list of current AWS services for which Datadog offers automatic log collection.
+ */
+class AWSLogsListServicesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsListServicesResponse.attributeTypeMap;
+    }
+}
+exports.AWSLogsListServicesResponse = AWSLogsListServicesResponse;
+/**
+ * @ignore
+ */
+AWSLogsListServicesResponse.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    label: {
+        baseName: "label",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSLogsListServicesResponse.js.map
+
+/***/ }),
+
+/***/ 22314:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSLogsServicesRequest = void 0;
+/**
+ * A list of current AWS services for which Datadog offers automatic log collection.
+ */
+class AWSLogsServicesRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSLogsServicesRequest.attributeTypeMap;
+    }
+}
+exports.AWSLogsServicesRequest = AWSLogsServicesRequest;
+/**
+ * @ignore
+ */
+AWSLogsServicesRequest.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+        required: true,
+    },
+    services: {
+        baseName: "services",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=AWSLogsServicesRequest.js.map
+
+/***/ }),
+
+/***/ 65067:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSTagFilter = void 0;
+/**
+ * A tag filter.
+ */
+class AWSTagFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSTagFilter.attributeTypeMap;
+    }
+}
+exports.AWSTagFilter = AWSTagFilter;
+/**
+ * @ignore
+ */
+AWSTagFilter.attributeTypeMap = {
+    namespace: {
+        baseName: "namespace",
+        type: "AWSNamespace",
+    },
+    tagFilterStr: {
+        baseName: "tag_filter_str",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSTagFilter.js.map
+
+/***/ }),
+
+/***/ 43114:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSTagFilterCreateRequest = void 0;
+/**
+ * The objects used to set an AWS tag filter.
+ */
+class AWSTagFilterCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSTagFilterCreateRequest.attributeTypeMap;
+    }
+}
+exports.AWSTagFilterCreateRequest = AWSTagFilterCreateRequest;
+/**
+ * @ignore
+ */
+AWSTagFilterCreateRequest.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+    },
+    namespace: {
+        baseName: "namespace",
+        type: "AWSNamespace",
+    },
+    tagFilterStr: {
+        baseName: "tag_filter_str",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AWSTagFilterCreateRequest.js.map
+
+/***/ }),
+
+/***/ 25253:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSTagFilterDeleteRequest = void 0;
+/**
+ * The objects used to delete an AWS tag filter entry.
+ */
+class AWSTagFilterDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSTagFilterDeleteRequest.attributeTypeMap;
+    }
+}
+exports.AWSTagFilterDeleteRequest = AWSTagFilterDeleteRequest;
+/**
+ * @ignore
+ */
+AWSTagFilterDeleteRequest.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+    },
+    namespace: {
+        baseName: "namespace",
+        type: "AWSNamespace",
+    },
+};
+//# sourceMappingURL=AWSTagFilterDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 5553:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSTagFilterListResponse = void 0;
+/**
+ * An array of tag filter rules by `namespace` and tag filter string.
+ */
+class AWSTagFilterListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AWSTagFilterListResponse.attributeTypeMap;
+    }
+}
+exports.AWSTagFilterListResponse = AWSTagFilterListResponse;
+/**
+ * @ignore
+ */
+AWSTagFilterListResponse.attributeTypeMap = {
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=AWSTagFilterListResponse.js.map
+
+/***/ }),
+
+/***/ 55797:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AddSignalToIncidentRequest = void 0;
+/**
+ * Attributes describing which incident to add the signal to.
+ */
+class AddSignalToIncidentRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AddSignalToIncidentRequest.attributeTypeMap;
+    }
+}
+exports.AddSignalToIncidentRequest = AddSignalToIncidentRequest;
+/**
+ * @ignore
+ */
+AddSignalToIncidentRequest.attributeTypeMap = {
+    addToSignalTimeline: {
+        baseName: "add_to_signal_timeline",
+        type: "boolean",
+    },
+    incidentId: {
+        baseName: "incident_id",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=AddSignalToIncidentRequest.js.map
+
+/***/ }),
+
+/***/ 45082:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AlertGraphWidgetDefinition = void 0;
+/**
+ * Alert graphs are timeseries graphs showing the current status of any monitor defined on your system.
+ */
+class AlertGraphWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AlertGraphWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.AlertGraphWidgetDefinition = AlertGraphWidgetDefinition;
+/**
+ * @ignore
+ */
+AlertGraphWidgetDefinition.attributeTypeMap = {
+    alertId: {
+        baseName: "alert_id",
+        type: "string",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "AlertGraphWidgetDefinitionType",
+        required: true,
+    },
+    vizType: {
+        baseName: "viz_type",
+        type: "WidgetVizType",
+        required: true,
+    },
+};
+//# sourceMappingURL=AlertGraphWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 87745:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AlertValueWidgetDefinition = void 0;
+/**
+ * Alert values are query values showing the current value of the metric in any monitor defined on your system.
+ */
+class AlertValueWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AlertValueWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.AlertValueWidgetDefinition = AlertValueWidgetDefinition;
+/**
+ * @ignore
+ */
+AlertValueWidgetDefinition.attributeTypeMap = {
+    alertId: {
+        baseName: "alert_id",
+        type: "string",
+        required: true,
+    },
+    precision: {
+        baseName: "precision",
+        type: "number",
+        format: "int64",
+    },
+    textAlign: {
+        baseName: "text_align",
+        type: "WidgetTextAlign",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "AlertValueWidgetDefinitionType",
+        required: true,
+    },
+    unit: {
+        baseName: "unit",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AlertValueWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 33618:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApiKey = void 0;
+/**
+ * Datadog API key.
+ */
+class ApiKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApiKey.attributeTypeMap;
+    }
+}
+exports.ApiKey = ApiKey;
+/**
+ * @ignore
+ */
+ApiKey.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "string",
+    },
+    createdBy: {
+        baseName: "created_by",
+        type: "string",
+    },
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ApiKey.js.map
+
+/***/ }),
+
+/***/ 6502:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApiKeyListResponse = void 0;
+/**
+ * List of API and application keys available for a given organization.
+ */
+class ApiKeyListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApiKeyListResponse.attributeTypeMap;
+    }
+}
+exports.ApiKeyListResponse = ApiKeyListResponse;
+/**
+ * @ignore
+ */
+ApiKeyListResponse.attributeTypeMap = {
+    apiKeys: {
+        baseName: "api_keys",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ApiKeyListResponse.js.map
+
+/***/ }),
+
+/***/ 32210:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApiKeyResponse = void 0;
+/**
+ * An API key with its associated metadata.
+ */
+class ApiKeyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApiKeyResponse.attributeTypeMap;
+    }
+}
+exports.ApiKeyResponse = ApiKeyResponse;
+/**
+ * @ignore
+ */
+ApiKeyResponse.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "ApiKey",
+    },
+};
+//# sourceMappingURL=ApiKeyResponse.js.map
+
+/***/ }),
+
+/***/ 32611:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApmStatsQueryColumnType = void 0;
+/**
+ * Column properties.
+ */
+class ApmStatsQueryColumnType {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApmStatsQueryColumnType.attributeTypeMap;
+    }
+}
+exports.ApmStatsQueryColumnType = ApmStatsQueryColumnType;
+/**
+ * @ignore
+ */
+ApmStatsQueryColumnType.attributeTypeMap = {
+    alias: {
+        baseName: "alias",
+        type: "string",
+    },
+    cellDisplayMode: {
+        baseName: "cell_display_mode",
+        type: "TableWidgetCellDisplayMode",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    order: {
+        baseName: "order",
+        type: "WidgetSort",
+    },
+};
+//# sourceMappingURL=ApmStatsQueryColumnType.js.map
+
+/***/ }),
+
+/***/ 25786:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApmStatsQueryDefinition = void 0;
+/**
+ * The APM stats query for table and distributions widgets.
+ */
+class ApmStatsQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApmStatsQueryDefinition.attributeTypeMap;
+    }
+}
+exports.ApmStatsQueryDefinition = ApmStatsQueryDefinition;
+/**
+ * @ignore
+ */
+ApmStatsQueryDefinition.attributeTypeMap = {
+    columns: {
+        baseName: "columns",
+        type: "Array",
+    },
+    env: {
+        baseName: "env",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    primaryTag: {
+        baseName: "primary_tag",
+        type: "string",
+        required: true,
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    rowType: {
+        baseName: "row_type",
+        type: "ApmStatsQueryRowType",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ApmStatsQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 20878:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKey = void 0;
+/**
+ * An application key with its associated metadata.
+ */
+class ApplicationKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKey.attributeTypeMap;
+    }
+}
+exports.ApplicationKey = ApplicationKey;
+/**
+ * @ignore
+ */
+ApplicationKey.attributeTypeMap = {
+    hash: {
+        baseName: "hash",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    owner: {
+        baseName: "owner",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ApplicationKey.js.map
+
+/***/ }),
+
+/***/ 46230:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyListResponse = void 0;
+/**
+ * An application key response.
+ */
+class ApplicationKeyListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyListResponse.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyListResponse = ApplicationKeyListResponse;
+/**
+ * @ignore
+ */
+ApplicationKeyListResponse.attributeTypeMap = {
+    applicationKeys: {
+        baseName: "application_keys",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ApplicationKeyListResponse.js.map
+
+/***/ }),
+
+/***/ 63367:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyResponse = void 0;
+/**
+ * An application key response.
+ */
+class ApplicationKeyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyResponse.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyResponse = ApplicationKeyResponse;
+/**
+ * @ignore
+ */
+ApplicationKeyResponse.attributeTypeMap = {
+    applicationKey: {
+        baseName: "application_key",
+        type: "ApplicationKey",
+    },
+};
+//# sourceMappingURL=ApplicationKeyResponse.js.map
+
+/***/ }),
+
+/***/ 75429:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthenticationValidationResponse = void 0;
+/**
+ * Represent validation endpoint responses.
+ */
+class AuthenticationValidationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthenticationValidationResponse.attributeTypeMap;
+    }
+}
+exports.AuthenticationValidationResponse = AuthenticationValidationResponse;
+/**
+ * @ignore
+ */
+AuthenticationValidationResponse.attributeTypeMap = {
+    valid: {
+        baseName: "valid",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=AuthenticationValidationResponse.js.map
+
+/***/ }),
+
+/***/ 30213:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AzureAccount = void 0;
+/**
+ * Datadog-Azure integrations configured for your organization.
+ */
+class AzureAccount {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AzureAccount.attributeTypeMap;
+    }
+}
+exports.AzureAccount = AzureAccount;
+/**
+ * @ignore
+ */
+AzureAccount.attributeTypeMap = {
+    appServicePlanFilters: {
+        baseName: "app_service_plan_filters",
+        type: "string",
+    },
+    automute: {
+        baseName: "automute",
+        type: "boolean",
+    },
+    clientId: {
+        baseName: "client_id",
+        type: "string",
+    },
+    clientSecret: {
+        baseName: "client_secret",
+        type: "string",
+    },
+    cspmEnabled: {
+        baseName: "cspm_enabled",
+        type: "boolean",
+    },
+    customMetricsEnabled: {
+        baseName: "custom_metrics_enabled",
+        type: "boolean",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    hostFilters: {
+        baseName: "host_filters",
+        type: "string",
+    },
+    newClientId: {
+        baseName: "new_client_id",
+        type: "string",
+    },
+    newTenantName: {
+        baseName: "new_tenant_name",
+        type: "string",
+    },
+    tenantName: {
+        baseName: "tenant_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AzureAccount.js.map
+
+/***/ }),
+
+/***/ 24565:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CancelDowntimesByScopeRequest = void 0;
+/**
+ * Cancel downtimes according to scope.
+ */
+class CancelDowntimesByScopeRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CancelDowntimesByScopeRequest.attributeTypeMap;
+    }
+}
+exports.CancelDowntimesByScopeRequest = CancelDowntimesByScopeRequest;
+/**
+ * @ignore
+ */
+CancelDowntimesByScopeRequest.attributeTypeMap = {
+    scope: {
+        baseName: "scope",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CancelDowntimesByScopeRequest.js.map
+
+/***/ }),
+
+/***/ 12350:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CanceledDowntimesIds = void 0;
+/**
+ * Object containing array of IDs of canceled downtimes.
+ */
+class CanceledDowntimesIds {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CanceledDowntimesIds.attributeTypeMap;
+    }
+}
+exports.CanceledDowntimesIds = CanceledDowntimesIds;
+/**
+ * @ignore
+ */
+CanceledDowntimesIds.attributeTypeMap = {
+    cancelledIds: {
+        baseName: "cancelled_ids",
+        type: "Array",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=CanceledDowntimesIds.js.map
+
+/***/ }),
+
+/***/ 63079:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ChangeWidgetDefinition = void 0;
+/**
+ * The Change graph shows you the change in a value over the time period chosen.
+ */
+class ChangeWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ChangeWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ChangeWidgetDefinition = ChangeWidgetDefinition;
+/**
+ * @ignore
+ */
+ChangeWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[ChangeWidgetRequest]",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ChangeWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ChangeWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 38481:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ChangeWidgetRequest = void 0;
+/**
+ * Updated change widget.
+ */
+class ChangeWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ChangeWidgetRequest.attributeTypeMap;
+    }
+}
+exports.ChangeWidgetRequest = ChangeWidgetRequest;
+/**
+ * @ignore
+ */
+ChangeWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    changeType: {
+        baseName: "change_type",
+        type: "WidgetChangeType",
+    },
+    compareTo: {
+        baseName: "compare_to",
+        type: "WidgetCompareTo",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    increaseGood: {
+        baseName: "increase_good",
+        type: "boolean",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    orderBy: {
+        baseName: "order_by",
+        type: "WidgetOrderBy",
+    },
+    orderDir: {
+        baseName: "order_dir",
+        type: "WidgetSort",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    showPresent: {
+        baseName: "show_present",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=ChangeWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 42286:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CheckCanDeleteMonitorResponse = void 0;
+/**
+ * Response of monitor IDs that can or can't be safely deleted.
+ */
+class CheckCanDeleteMonitorResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CheckCanDeleteMonitorResponse.attributeTypeMap;
+    }
+}
+exports.CheckCanDeleteMonitorResponse = CheckCanDeleteMonitorResponse;
+/**
+ * @ignore
+ */
+CheckCanDeleteMonitorResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CheckCanDeleteMonitorResponseData",
+        required: true,
+    },
+    errors: {
+        baseName: "errors",
+        type: "{ [key: string]: Array; }",
+    },
+};
+//# sourceMappingURL=CheckCanDeleteMonitorResponse.js.map
+
+/***/ }),
+
+/***/ 98347:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CheckCanDeleteMonitorResponseData = void 0;
+/**
+ * Wrapper object with the list of monitor IDs.
+ */
+class CheckCanDeleteMonitorResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CheckCanDeleteMonitorResponseData.attributeTypeMap;
+    }
+}
+exports.CheckCanDeleteMonitorResponseData = CheckCanDeleteMonitorResponseData;
+/**
+ * @ignore
+ */
+CheckCanDeleteMonitorResponseData.attributeTypeMap = {
+    ok: {
+        baseName: "ok",
+        type: "Array",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=CheckCanDeleteMonitorResponseData.js.map
+
+/***/ }),
+
+/***/ 85643:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CheckCanDeleteSLOResponse = void 0;
+/**
+ * A service level objective response containing the requested object.
+ */
+class CheckCanDeleteSLOResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CheckCanDeleteSLOResponse.attributeTypeMap;
+    }
+}
+exports.CheckCanDeleteSLOResponse = CheckCanDeleteSLOResponse;
+/**
+ * @ignore
+ */
+CheckCanDeleteSLOResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CheckCanDeleteSLOResponseData",
+    },
+    errors: {
+        baseName: "errors",
+        type: "{ [key: string]: string; }",
+    },
+};
+//# sourceMappingURL=CheckCanDeleteSLOResponse.js.map
+
+/***/ }),
+
+/***/ 51989:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CheckCanDeleteSLOResponseData = void 0;
+/**
+ * An array of service level objective objects.
+ */
+class CheckCanDeleteSLOResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CheckCanDeleteSLOResponseData.attributeTypeMap;
+    }
+}
+exports.CheckCanDeleteSLOResponseData = CheckCanDeleteSLOResponseData;
+/**
+ * @ignore
+ */
+CheckCanDeleteSLOResponseData.attributeTypeMap = {
+    ok: {
+        baseName: "ok",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CheckCanDeleteSLOResponseData.js.map
+
+/***/ }),
+
+/***/ 13909:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CheckStatusWidgetDefinition = void 0;
+/**
+ * Check status shows the current status or number of results for any check performed.
+ */
+class CheckStatusWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CheckStatusWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.CheckStatusWidgetDefinition = CheckStatusWidgetDefinition;
+/**
+ * @ignore
+ */
+CheckStatusWidgetDefinition.attributeTypeMap = {
+    check: {
+        baseName: "check",
+        type: "string",
+        required: true,
+    },
+    group: {
+        baseName: "group",
+        type: "string",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    grouping: {
+        baseName: "grouping",
+        type: "WidgetGrouping",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CheckStatusWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=CheckStatusWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 34837:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Creator = void 0;
+/**
+ * Object describing the creator of the shared element.
+ */
+class Creator {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Creator.attributeTypeMap;
+    }
+}
+exports.Creator = Creator;
+/**
+ * @ignore
+ */
+Creator.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Creator.js.map
+
+/***/ }),
+
+/***/ 82911:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Dashboard = void 0;
+/**
+ * A dashboard is Datadog’s tool for visually tracking, analyzing, and displaying
+ * key performance metrics, which enable you to monitor the health of your infrastructure.
+ */
+class Dashboard {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Dashboard.attributeTypeMap;
+    }
+}
+exports.Dashboard = Dashboard;
+/**
+ * @ignore
+ */
+Dashboard.attributeTypeMap = {
+    authorHandle: {
+        baseName: "author_handle",
+        type: "string",
+    },
+    authorName: {
+        baseName: "author_name",
+        type: "string",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    isReadOnly: {
+        baseName: "is_read_only",
+        type: "boolean",
+    },
+    layoutType: {
+        baseName: "layout_type",
+        type: "DashboardLayoutType",
+        required: true,
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    notifyList: {
+        baseName: "notify_list",
+        type: "Array",
+    },
+    reflowType: {
+        baseName: "reflow_type",
+        type: "DashboardReflowType",
+    },
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    templateVariablePresets: {
+        baseName: "template_variable_presets",
+        type: "Array",
+    },
+    templateVariables: {
+        baseName: "template_variables",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+    widgets: {
+        baseName: "widgets",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=Dashboard.js.map
+
+/***/ }),
+
+/***/ 68031:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardBulkActionData = void 0;
+/**
+ * Dashboard bulk action request data.
+ */
+class DashboardBulkActionData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardBulkActionData.attributeTypeMap;
+    }
+}
+exports.DashboardBulkActionData = DashboardBulkActionData;
+/**
+ * @ignore
+ */
+DashboardBulkActionData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DashboardResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=DashboardBulkActionData.js.map
+
+/***/ }),
+
+/***/ 65573:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardBulkDeleteRequest = void 0;
+/**
+ * Dashboard bulk delete request body.
+ */
+class DashboardBulkDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardBulkDeleteRequest.attributeTypeMap;
+    }
+}
+exports.DashboardBulkDeleteRequest = DashboardBulkDeleteRequest;
+/**
+ * @ignore
+ */
+DashboardBulkDeleteRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=DashboardBulkDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 44458:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardDeleteResponse = void 0;
+/**
+ * Response from the delete dashboard call.
+ */
+class DashboardDeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardDeleteResponse.attributeTypeMap;
+    }
+}
+exports.DashboardDeleteResponse = DashboardDeleteResponse;
+/**
+ * @ignore
+ */
+DashboardDeleteResponse.attributeTypeMap = {
+    deletedDashboardId: {
+        baseName: "deleted_dashboard_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DashboardDeleteResponse.js.map
+
+/***/ }),
+
+/***/ 21060:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardGlobalTime = void 0;
+/**
+ * Object containing the live span selection for the dashboard.
+ */
+class DashboardGlobalTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardGlobalTime.attributeTypeMap;
+    }
+}
+exports.DashboardGlobalTime = DashboardGlobalTime;
+/**
+ * @ignore
+ */
+DashboardGlobalTime.attributeTypeMap = {
+    liveSpan: {
+        baseName: "live_span",
+        type: "DashboardGlobalTimeLiveSpan",
+    },
+};
+//# sourceMappingURL=DashboardGlobalTime.js.map
+
+/***/ }),
+
+/***/ 21755:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardList = void 0;
+/**
+ * Your Datadog Dashboards.
+ */
+class DashboardList {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardList.attributeTypeMap;
+    }
+}
+exports.DashboardList = DashboardList;
+/**
+ * @ignore
+ */
+DashboardList.attributeTypeMap = {
+    author: {
+        baseName: "author",
+        type: "Creator",
+    },
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    dashboardCount: {
+        baseName: "dashboard_count",
+        type: "number",
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    isFavorite: {
+        baseName: "is_favorite",
+        type: "boolean",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DashboardList.js.map
+
+/***/ }),
+
+/***/ 74010:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListDeleteResponse = void 0;
+/**
+ * Deleted dashboard details.
+ */
+class DashboardListDeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListDeleteResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListDeleteResponse = DashboardListDeleteResponse;
+/**
+ * @ignore
+ */
+DashboardListDeleteResponse.attributeTypeMap = {
+    deletedDashboardListId: {
+        baseName: "deleted_dashboard_list_id",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=DashboardListDeleteResponse.js.map
+
+/***/ }),
+
+/***/ 27261:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListListResponse = void 0;
+/**
+ * Information on your dashboard lists.
+ */
+class DashboardListListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListListResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListListResponse = DashboardListListResponse;
+/**
+ * @ignore
+ */
+DashboardListListResponse.attributeTypeMap = {
+    dashboardLists: {
+        baseName: "dashboard_lists",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListListResponse.js.map
+
+/***/ }),
+
+/***/ 21249:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardRestoreRequest = void 0;
+/**
+ * Dashboard restore request body.
+ */
+class DashboardRestoreRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardRestoreRequest.attributeTypeMap;
+    }
+}
+exports.DashboardRestoreRequest = DashboardRestoreRequest;
+/**
+ * @ignore
+ */
+DashboardRestoreRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=DashboardRestoreRequest.js.map
+
+/***/ }),
+
+/***/ 58054:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardSummary = void 0;
+/**
+ * Dashboard summary response.
+ */
+class DashboardSummary {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardSummary.attributeTypeMap;
+    }
+}
+exports.DashboardSummary = DashboardSummary;
+/**
+ * @ignore
+ */
+DashboardSummary.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardSummary.js.map
+
+/***/ }),
+
+/***/ 10025:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardSummaryDefinition = void 0;
+/**
+ * Dashboard definition.
+ */
+class DashboardSummaryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardSummaryDefinition.attributeTypeMap;
+    }
+}
+exports.DashboardSummaryDefinition = DashboardSummaryDefinition;
+/**
+ * @ignore
+ */
+DashboardSummaryDefinition.attributeTypeMap = {
+    authorHandle: {
+        baseName: "author_handle",
+        type: "string",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    isReadOnly: {
+        baseName: "is_read_only",
+        type: "boolean",
+    },
+    layoutType: {
+        baseName: "layout_type",
+        type: "DashboardLayoutType",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DashboardSummaryDefinition.js.map
+
+/***/ }),
+
+/***/ 29707:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardTemplateVariable = void 0;
+/**
+ * Template variable.
+ */
+class DashboardTemplateVariable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardTemplateVariable.attributeTypeMap;
+    }
+}
+exports.DashboardTemplateVariable = DashboardTemplateVariable;
+/**
+ * @ignore
+ */
+DashboardTemplateVariable.attributeTypeMap = {
+    availableValues: {
+        baseName: "available_values",
+        type: "Array",
+    },
+    _default: {
+        baseName: "default",
+        type: "string",
+    },
+    defaults: {
+        baseName: "defaults",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    prefix: {
+        baseName: "prefix",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DashboardTemplateVariable.js.map
+
+/***/ }),
+
+/***/ 30544:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardTemplateVariablePreset = void 0;
+/**
+ * Template variables saved views.
+ */
+class DashboardTemplateVariablePreset {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardTemplateVariablePreset.attributeTypeMap;
+    }
+}
+exports.DashboardTemplateVariablePreset = DashboardTemplateVariablePreset;
+/**
+ * @ignore
+ */
+DashboardTemplateVariablePreset.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    templateVariables: {
+        baseName: "template_variables",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardTemplateVariablePreset.js.map
+
+/***/ }),
+
+/***/ 92731:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardTemplateVariablePresetValue = void 0;
+/**
+ * Template variables saved views.
+ */
+class DashboardTemplateVariablePresetValue {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardTemplateVariablePresetValue.attributeTypeMap;
+    }
+}
+exports.DashboardTemplateVariablePresetValue = DashboardTemplateVariablePresetValue;
+/**
+ * @ignore
+ */
+DashboardTemplateVariablePresetValue.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+    values: {
+        baseName: "values",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardTemplateVariablePresetValue.js.map
+
+/***/ }),
+
+/***/ 49276:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DeleteSharedDashboardResponse = void 0;
+/**
+ * Response containing token of deleted shared dashboard.
+ */
+class DeleteSharedDashboardResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DeleteSharedDashboardResponse.attributeTypeMap;
+    }
+}
+exports.DeleteSharedDashboardResponse = DeleteSharedDashboardResponse;
+/**
+ * @ignore
+ */
+DeleteSharedDashboardResponse.attributeTypeMap = {
+    deletedPublicDashboardToken: {
+        baseName: "deleted_public_dashboard_token",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DeleteSharedDashboardResponse.js.map
+
+/***/ }),
+
+/***/ 59256:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DeletedMonitor = void 0;
+/**
+ * Response from the delete monitor call.
+ */
+class DeletedMonitor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DeletedMonitor.attributeTypeMap;
+    }
+}
+exports.DeletedMonitor = DeletedMonitor;
+/**
+ * @ignore
+ */
+DeletedMonitor.attributeTypeMap = {
+    deletedMonitorId: {
+        baseName: "deleted_monitor_id",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=DeletedMonitor.js.map
+
+/***/ }),
+
+/***/ 77745:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionPointsPayload = void 0;
+/**
+ * The distribution points payload.
+ */
+class DistributionPointsPayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionPointsPayload.attributeTypeMap;
+    }
+}
+exports.DistributionPointsPayload = DistributionPointsPayload;
+/**
+ * @ignore
+ */
+DistributionPointsPayload.attributeTypeMap = {
+    series: {
+        baseName: "series",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=DistributionPointsPayload.js.map
+
+/***/ }),
+
+/***/ 35514:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionPointsSeries = void 0;
+/**
+ * A distribution points metric to submit to Datadog.
+ */
+class DistributionPointsSeries {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionPointsSeries.attributeTypeMap;
+    }
+}
+exports.DistributionPointsSeries = DistributionPointsSeries;
+/**
+ * @ignore
+ */
+DistributionPointsSeries.attributeTypeMap = {
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+        required: true,
+    },
+    points: {
+        baseName: "points",
+        type: "Array<[DistributionPointItem, DistributionPointItem]>",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "DistributionPointsType",
+    },
+};
+//# sourceMappingURL=DistributionPointsSeries.js.map
+
+/***/ }),
+
+/***/ 255:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionWidgetDefinition = void 0;
+/**
+ * The Distribution visualization is another way of showing metrics
+ * aggregated across one or several tags, such as hosts.
+ * Unlike the heat map, a distribution graph’s x-axis is quantity rather than time.
+ */
+class DistributionWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.DistributionWidgetDefinition = DistributionWidgetDefinition;
+/**
+ * @ignore
+ */
+DistributionWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    legendSize: {
+        baseName: "legend_size",
+        type: "string",
+    },
+    markers: {
+        baseName: "markers",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[DistributionWidgetRequest]",
+        required: true,
+    },
+    showLegend: {
+        baseName: "show_legend",
+        type: "boolean",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "DistributionWidgetDefinitionType",
+        required: true,
+    },
+    xaxis: {
+        baseName: "xaxis",
+        type: "DistributionWidgetXAxis",
+    },
+    yaxis: {
+        baseName: "yaxis",
+        type: "DistributionWidgetYAxis",
+    },
+};
+//# sourceMappingURL=DistributionWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 54993:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionWidgetRequest = void 0;
+/**
+ * Updated distribution widget.
+ */
+class DistributionWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionWidgetRequest.attributeTypeMap;
+    }
+}
+exports.DistributionWidgetRequest = DistributionWidgetRequest;
+/**
+ * @ignore
+ */
+DistributionWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    apmStatsQuery: {
+        baseName: "apm_stats_query",
+        type: "ApmStatsQueryDefinition",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "DistributionWidgetHistogramRequestQuery",
+    },
+    requestType: {
+        baseName: "request_type",
+        type: "DistributionWidgetHistogramRequestType",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetStyle",
+    },
+};
+//# sourceMappingURL=DistributionWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 34168:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionWidgetXAxis = void 0;
+/**
+ * X Axis controls for the distribution widget.
+ */
+class DistributionWidgetXAxis {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionWidgetXAxis.attributeTypeMap;
+    }
+}
+exports.DistributionWidgetXAxis = DistributionWidgetXAxis;
+/**
+ * @ignore
+ */
+DistributionWidgetXAxis.attributeTypeMap = {
+    includeZero: {
+        baseName: "include_zero",
+        type: "boolean",
+    },
+    max: {
+        baseName: "max",
+        type: "string",
+    },
+    min: {
+        baseName: "min",
+        type: "string",
+    },
+    scale: {
+        baseName: "scale",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DistributionWidgetXAxis.js.map
+
+/***/ }),
+
+/***/ 2716:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DistributionWidgetYAxis = void 0;
+/**
+ * Y Axis controls for the distribution widget.
+ */
+class DistributionWidgetYAxis {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DistributionWidgetYAxis.attributeTypeMap;
+    }
+}
+exports.DistributionWidgetYAxis = DistributionWidgetYAxis;
+/**
+ * @ignore
+ */
+DistributionWidgetYAxis.attributeTypeMap = {
+    includeZero: {
+        baseName: "include_zero",
+        type: "boolean",
+    },
+    label: {
+        baseName: "label",
+        type: "string",
+    },
+    max: {
+        baseName: "max",
+        type: "string",
+    },
+    min: {
+        baseName: "min",
+        type: "string",
+    },
+    scale: {
+        baseName: "scale",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DistributionWidgetYAxis.js.map
+
+/***/ }),
+
+/***/ 52884:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Downtime = void 0;
+/**
+ * Downtiming gives you greater control over monitor notifications by
+ * allowing you to globally exclude scopes from alerting.
+ * Downtime settings, which can be scheduled with start and end times,
+ * prevent all alerting related to specified Datadog tags.
+ */
+class Downtime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Downtime.attributeTypeMap;
+    }
+}
+exports.Downtime = Downtime;
+/**
+ * @ignore
+ */
+Downtime.attributeTypeMap = {
+    active: {
+        baseName: "active",
+        type: "boolean",
+    },
+    activeChild: {
+        baseName: "active_child",
+        type: "DowntimeChild",
+    },
+    canceled: {
+        baseName: "canceled",
+        type: "number",
+        format: "int64",
+    },
+    creatorId: {
+        baseName: "creator_id",
+        type: "number",
+        format: "int32",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    downtimeType: {
+        baseName: "downtime_type",
+        type: "number",
+        format: "int32",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    monitorTags: {
+        baseName: "monitor_tags",
+        type: "Array",
+    },
+    muteFirstRecoveryNotification: {
+        baseName: "mute_first_recovery_notification",
+        type: "boolean",
+    },
+    notifyEndStates: {
+        baseName: "notify_end_states",
+        type: "Array",
+    },
+    notifyEndTypes: {
+        baseName: "notify_end_types",
+        type: "Array",
+    },
+    parentId: {
+        baseName: "parent_id",
+        type: "number",
+        format: "int64",
+    },
+    recurrence: {
+        baseName: "recurrence",
+        type: "DowntimeRecurrence",
+    },
+    scope: {
+        baseName: "scope",
+        type: "Array",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+    updaterId: {
+        baseName: "updater_id",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=Downtime.js.map
+
+/***/ }),
+
+/***/ 879:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeChild = void 0;
+/**
+ * The downtime object definition of the active child for the original parent recurring downtime. This
+ * field will only exist on recurring downtimes.
+ */
+class DowntimeChild {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeChild.attributeTypeMap;
+    }
+}
+exports.DowntimeChild = DowntimeChild;
+/**
+ * @ignore
+ */
+DowntimeChild.attributeTypeMap = {
+    active: {
+        baseName: "active",
+        type: "boolean",
+    },
+    canceled: {
+        baseName: "canceled",
+        type: "number",
+        format: "int64",
+    },
+    creatorId: {
+        baseName: "creator_id",
+        type: "number",
+        format: "int32",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    downtimeType: {
+        baseName: "downtime_type",
+        type: "number",
+        format: "int32",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    monitorTags: {
+        baseName: "monitor_tags",
+        type: "Array",
+    },
+    muteFirstRecoveryNotification: {
+        baseName: "mute_first_recovery_notification",
+        type: "boolean",
+    },
+    notifyEndStates: {
+        baseName: "notify_end_states",
+        type: "Array",
+    },
+    notifyEndTypes: {
+        baseName: "notify_end_types",
+        type: "Array",
+    },
+    parentId: {
+        baseName: "parent_id",
+        type: "number",
+        format: "int64",
+    },
+    recurrence: {
+        baseName: "recurrence",
+        type: "DowntimeRecurrence",
+    },
+    scope: {
+        baseName: "scope",
+        type: "Array",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+    updaterId: {
+        baseName: "updater_id",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=DowntimeChild.js.map
+
+/***/ }),
+
+/***/ 42694:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRecurrence = void 0;
+/**
+ * An object defining the recurrence of the downtime.
+ */
+class DowntimeRecurrence {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRecurrence.attributeTypeMap;
+    }
+}
+exports.DowntimeRecurrence = DowntimeRecurrence;
+/**
+ * @ignore
+ */
+DowntimeRecurrence.attributeTypeMap = {
+    period: {
+        baseName: "period",
+        type: "number",
+        format: "int32",
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+    untilDate: {
+        baseName: "until_date",
+        type: "number",
+        format: "int64",
+    },
+    untilOccurrences: {
+        baseName: "until_occurrences",
+        type: "number",
+        format: "int32",
+    },
+    weekDays: {
+        baseName: "week_days",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DowntimeRecurrence.js.map
+
+/***/ }),
+
+/***/ 58487:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Event = void 0;
+/**
+ * Object representing an event.
+ */
+class Event {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Event.attributeTypeMap;
+    }
+}
+exports.Event = Event;
+/**
+ * @ignore
+ */
+Event.attributeTypeMap = {
+    alertType: {
+        baseName: "alert_type",
+        type: "EventAlertType",
+    },
+    dateHappened: {
+        baseName: "date_happened",
+        type: "number",
+        format: "int64",
+    },
+    deviceName: {
+        baseName: "device_name",
+        type: "string",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    idStr: {
+        baseName: "id_str",
+        type: "string",
+    },
+    payload: {
+        baseName: "payload",
+        type: "string",
+    },
+    priority: {
+        baseName: "priority",
+        type: "EventPriority",
+    },
+    sourceTypeName: {
+        baseName: "source_type_name",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    text: {
+        baseName: "text",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Event.js.map
+
+/***/ }),
+
+/***/ 79181:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventCreateRequest = void 0;
+/**
+ * Object representing an event.
+ */
+class EventCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventCreateRequest.attributeTypeMap;
+    }
+}
+exports.EventCreateRequest = EventCreateRequest;
+/**
+ * @ignore
+ */
+EventCreateRequest.attributeTypeMap = {
+    aggregationKey: {
+        baseName: "aggregation_key",
+        type: "string",
+    },
+    alertType: {
+        baseName: "alert_type",
+        type: "EventAlertType",
+    },
+    dateHappened: {
+        baseName: "date_happened",
+        type: "number",
+        format: "int64",
+    },
+    deviceName: {
+        baseName: "device_name",
+        type: "string",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    priority: {
+        baseName: "priority",
+        type: "EventPriority",
+    },
+    relatedEventId: {
+        baseName: "related_event_id",
+        type: "number",
+        format: "int64",
+    },
+    sourceTypeName: {
+        baseName: "source_type_name",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    text: {
+        baseName: "text",
+        type: "string",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=EventCreateRequest.js.map
+
+/***/ }),
+
+/***/ 64651:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventCreateResponse = void 0;
+/**
+ * Object containing an event response.
+ */
+class EventCreateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventCreateResponse.attributeTypeMap;
+    }
+}
+exports.EventCreateResponse = EventCreateResponse;
+/**
+ * @ignore
+ */
+EventCreateResponse.attributeTypeMap = {
+    event: {
+        baseName: "event",
+        type: "Event",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventCreateResponse.js.map
+
+/***/ }),
+
+/***/ 96961:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventListResponse = void 0;
+/**
+ * An event list response.
+ */
+class EventListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventListResponse.attributeTypeMap;
+    }
+}
+exports.EventListResponse = EventListResponse;
+/**
+ * @ignore
+ */
+EventListResponse.attributeTypeMap = {
+    events: {
+        baseName: "events",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventListResponse.js.map
+
+/***/ }),
+
+/***/ 26185:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventQueryDefinition = void 0;
+/**
+ * The event query.
+ */
+class EventQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventQueryDefinition.attributeTypeMap;
+    }
+}
+exports.EventQueryDefinition = EventQueryDefinition;
+/**
+ * @ignore
+ */
+EventQueryDefinition.attributeTypeMap = {
+    search: {
+        baseName: "search",
+        type: "string",
+        required: true,
+    },
+    tagsExecution: {
+        baseName: "tags_execution",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=EventQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 12539:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventResponse = void 0;
+/**
+ * Object containing an event response.
+ */
+class EventResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventResponse.attributeTypeMap;
+    }
+}
+exports.EventResponse = EventResponse;
+/**
+ * @ignore
+ */
+EventResponse.attributeTypeMap = {
+    event: {
+        baseName: "event",
+        type: "Event",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventResponse.js.map
+
+/***/ }),
+
+/***/ 82422:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventStreamWidgetDefinition = void 0;
+/**
+ * The event stream is a widget version of the stream of events
+ * on the Event Stream view. Only available on FREE layout dashboards.
+ */
+class EventStreamWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventStreamWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.EventStreamWidgetDefinition = EventStreamWidgetDefinition;
+/**
+ * @ignore
+ */
+EventStreamWidgetDefinition.attributeTypeMap = {
+    eventSize: {
+        baseName: "event_size",
+        type: "WidgetEventSize",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    tagsExecution: {
+        baseName: "tags_execution",
+        type: "string",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "EventStreamWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=EventStreamWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 57804:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventTimelineWidgetDefinition = void 0;
+/**
+ * The event timeline is a widget version of the timeline that appears at the top of the Event Stream view. Only available on FREE layout dashboards.
+ */
+class EventTimelineWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventTimelineWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.EventTimelineWidgetDefinition = EventTimelineWidgetDefinition;
+/**
+ * @ignore
+ */
+EventTimelineWidgetDefinition.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    tagsExecution: {
+        baseName: "tags_execution",
+        type: "string",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "EventTimelineWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=EventTimelineWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 77980:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionApmDependencyStatsQueryDefinition = void 0;
+/**
+ * A formula and functions APM dependency stats query.
+ */
+class FormulaAndFunctionApmDependencyStatsQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionApmDependencyStatsQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionApmDependencyStatsQueryDefinition = FormulaAndFunctionApmDependencyStatsQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionApmDependencyStatsQueryDefinition.attributeTypeMap = {
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionApmDependencyStatsDataSource",
+        required: true,
+    },
+    env: {
+        baseName: "env",
+        type: "string",
+        required: true,
+    },
+    isUpstream: {
+        baseName: "is_upstream",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    operationName: {
+        baseName: "operation_name",
+        type: "string",
+        required: true,
+    },
+    primaryTagName: {
+        baseName: "primary_tag_name",
+        type: "string",
+    },
+    primaryTagValue: {
+        baseName: "primary_tag_value",
+        type: "string",
+    },
+    resourceName: {
+        baseName: "resource_name",
+        type: "string",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+        required: true,
+    },
+    stat: {
+        baseName: "stat",
+        type: "FormulaAndFunctionApmDependencyStatName",
+        required: true,
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionApmDependencyStatsQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 26159:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionApmResourceStatsQueryDefinition = void 0;
+/**
+ * APM resource stats query using formulas and functions.
+ */
+class FormulaAndFunctionApmResourceStatsQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionApmResourceStatsQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionApmResourceStatsQueryDefinition = FormulaAndFunctionApmResourceStatsQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionApmResourceStatsQueryDefinition.attributeTypeMap = {
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionApmResourceStatsDataSource",
+        required: true,
+    },
+    env: {
+        baseName: "env",
+        type: "string",
+        required: true,
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    operationName: {
+        baseName: "operation_name",
+        type: "string",
+    },
+    primaryTagName: {
+        baseName: "primary_tag_name",
+        type: "string",
+    },
+    primaryTagValue: {
+        baseName: "primary_tag_value",
+        type: "string",
+    },
+    resourceName: {
+        baseName: "resource_name",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+        required: true,
+    },
+    stat: {
+        baseName: "stat",
+        type: "FormulaAndFunctionApmResourceStatName",
+        required: true,
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionApmResourceStatsQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 70272:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionCloudCostQueryDefinition = void 0;
+/**
+ * A formula and functions Cloud Cost query.
+ */
+class FormulaAndFunctionCloudCostQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionCloudCostQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionCloudCostQueryDefinition = FormulaAndFunctionCloudCostQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionCloudCostQueryDefinition.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "WidgetAggregator",
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionCloudCostDataSource",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionCloudCostQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 66174:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionEventQueryDefinition = void 0;
+/**
+ * A formula and functions events query.
+ */
+class FormulaAndFunctionEventQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionEventQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionEventQueryDefinition = FormulaAndFunctionEventQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionEventQueryDefinition.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "FormulaAndFunctionEventQueryDefinitionCompute",
+        required: true,
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionEventsDataSource",
+        required: true,
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    search: {
+        baseName: "search",
+        type: "FormulaAndFunctionEventQueryDefinitionSearch",
+    },
+    storage: {
+        baseName: "storage",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionEventQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 39476:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionEventQueryDefinitionCompute = void 0;
+/**
+ * Compute options.
+ */
+class FormulaAndFunctionEventQueryDefinitionCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionEventQueryDefinitionCompute = FormulaAndFunctionEventQueryDefinitionCompute;
+/**
+ * @ignore
+ */
+FormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "FormulaAndFunctionEventAggregation",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionEventQueryDefinitionCompute.js.map
+
+/***/ }),
+
+/***/ 73158:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionEventQueryDefinitionSearch = void 0;
+/**
+ * Search options.
+ */
+class FormulaAndFunctionEventQueryDefinitionSearch {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionEventQueryDefinitionSearch = FormulaAndFunctionEventQueryDefinitionSearch;
+/**
+ * @ignore
+ */
+FormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionEventQueryDefinitionSearch.js.map
+
+/***/ }),
+
+/***/ 8806:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionEventQueryGroupBy = void 0;
+/**
+ * List of objects used to group by.
+ */
+class FormulaAndFunctionEventQueryGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionEventQueryGroupBy.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionEventQueryGroupBy = FormulaAndFunctionEventQueryGroupBy;
+/**
+ * @ignore
+ */
+FormulaAndFunctionEventQueryGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    sort: {
+        baseName: "sort",
+        type: "FormulaAndFunctionEventQueryGroupBySort",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionEventQueryGroupBy.js.map
+
+/***/ }),
+
+/***/ 9703:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionEventQueryGroupBySort = void 0;
+/**
+ * Options for sorting group by results.
+ */
+class FormulaAndFunctionEventQueryGroupBySort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionEventQueryGroupBySort.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionEventQueryGroupBySort = FormulaAndFunctionEventQueryGroupBySort;
+/**
+ * @ignore
+ */
+FormulaAndFunctionEventQueryGroupBySort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "FormulaAndFunctionEventAggregation",
+        required: true,
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "QuerySortOrder",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionEventQueryGroupBySort.js.map
+
+/***/ }),
+
+/***/ 93715:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionMetricQueryDefinition = void 0;
+/**
+ * A formula and functions metrics query.
+ */
+class FormulaAndFunctionMetricQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionMetricQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionMetricQueryDefinition = FormulaAndFunctionMetricQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionMetricQueryDefinition.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "FormulaAndFunctionMetricAggregation",
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionMetricDataSource",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionMetricQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 87031:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionProcessQueryDefinition = void 0;
+/**
+ * Process query using formulas and functions.
+ */
+class FormulaAndFunctionProcessQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionProcessQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionProcessQueryDefinition = FormulaAndFunctionProcessQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionProcessQueryDefinition.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "FormulaAndFunctionMetricAggregation",
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionProcessQueryDataSource",
+        required: true,
+    },
+    isNormalizedCpu: {
+        baseName: "is_normalized_cpu",
+        type: "boolean",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    sort: {
+        baseName: "sort",
+        type: "QuerySortOrder",
+    },
+    tagFilters: {
+        baseName: "tag_filters",
+        type: "Array",
+    },
+    textFilter: {
+        baseName: "text_filter",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionProcessQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 57483:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaAndFunctionSLOQueryDefinition = void 0;
+/**
+ * A formula and functions metrics query.
+ */
+class FormulaAndFunctionSLOQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaAndFunctionSLOQueryDefinition.attributeTypeMap;
+    }
+}
+exports.FormulaAndFunctionSLOQueryDefinition = FormulaAndFunctionSLOQueryDefinition;
+/**
+ * @ignore
+ */
+FormulaAndFunctionSLOQueryDefinition.attributeTypeMap = {
+    additionalQueryFilters: {
+        baseName: "additional_query_filters",
+        type: "string",
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "FormulaAndFunctionSLODataSource",
+        required: true,
+    },
+    groupMode: {
+        baseName: "group_mode",
+        type: "FormulaAndFunctionSLOGroupMode",
+    },
+    measure: {
+        baseName: "measure",
+        type: "FormulaAndFunctionSLOMeasure",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sloId: {
+        baseName: "slo_id",
+        type: "string",
+        required: true,
+    },
+    sloQueryType: {
+        baseName: "slo_query_type",
+        type: "FormulaAndFunctionSLOQueryType",
+    },
+};
+//# sourceMappingURL=FormulaAndFunctionSLOQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 51358:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FreeTextWidgetDefinition = void 0;
+/**
+ * Free text is a widget that allows you to add headings to your screenboard. Commonly used to state the overall purpose of the dashboard. Only available on FREE layout dashboards.
+ */
+class FreeTextWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FreeTextWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.FreeTextWidgetDefinition = FreeTextWidgetDefinition;
+/**
+ * @ignore
+ */
+FreeTextWidgetDefinition.attributeTypeMap = {
+    color: {
+        baseName: "color",
+        type: "string",
+    },
+    fontSize: {
+        baseName: "font_size",
+        type: "string",
+    },
+    text: {
+        baseName: "text",
+        type: "string",
+        required: true,
+    },
+    textAlign: {
+        baseName: "text_align",
+        type: "WidgetTextAlign",
+    },
+    type: {
+        baseName: "type",
+        type: "FreeTextWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FreeTextWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 95853:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FunnelQuery = void 0;
+/**
+ * Updated funnel widget.
+ */
+class FunnelQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FunnelQuery.attributeTypeMap;
+    }
+}
+exports.FunnelQuery = FunnelQuery;
+/**
+ * @ignore
+ */
+FunnelQuery.attributeTypeMap = {
+    dataSource: {
+        baseName: "data_source",
+        type: "FunnelSource",
+        required: true,
+    },
+    queryString: {
+        baseName: "query_string",
+        type: "string",
+        required: true,
+    },
+    steps: {
+        baseName: "steps",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=FunnelQuery.js.map
+
+/***/ }),
+
+/***/ 42026:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FunnelStep = void 0;
+/**
+ * The funnel step.
+ */
+class FunnelStep {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FunnelStep.attributeTypeMap;
+    }
+}
+exports.FunnelStep = FunnelStep;
+/**
+ * @ignore
+ */
+FunnelStep.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=FunnelStep.js.map
+
+/***/ }),
+
+/***/ 25523:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FunnelWidgetDefinition = void 0;
+/**
+ * The funnel visualization displays a funnel of user sessions that maps a sequence of view navigation and user interaction in your application.
+ */
+class FunnelWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FunnelWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.FunnelWidgetDefinition = FunnelWidgetDefinition;
+/**
+ * @ignore
+ */
+FunnelWidgetDefinition.attributeTypeMap = {
+    requests: {
+        baseName: "requests",
+        type: "[FunnelWidgetRequest]",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "FunnelWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FunnelWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 94418:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FunnelWidgetRequest = void 0;
+/**
+ * Updated funnel widget.
+ */
+class FunnelWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FunnelWidgetRequest.attributeTypeMap;
+    }
+}
+exports.FunnelWidgetRequest = FunnelWidgetRequest;
+/**
+ * @ignore
+ */
+FunnelWidgetRequest.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "FunnelQuery",
+        required: true,
+    },
+    requestType: {
+        baseName: "request_type",
+        type: "FunnelRequestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FunnelWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 44085:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPAccount = void 0;
+/**
+ * Your Google Cloud Platform Account.
+ */
+class GCPAccount {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPAccount.attributeTypeMap;
+    }
+}
+exports.GCPAccount = GCPAccount;
+/**
+ * @ignore
+ */
+GCPAccount.attributeTypeMap = {
+    authProviderX509CertUrl: {
+        baseName: "auth_provider_x509_cert_url",
+        type: "string",
+    },
+    authUri: {
+        baseName: "auth_uri",
+        type: "string",
+    },
+    automute: {
+        baseName: "automute",
+        type: "boolean",
+    },
+    clientEmail: {
+        baseName: "client_email",
+        type: "string",
+    },
+    clientId: {
+        baseName: "client_id",
+        type: "string",
+    },
+    clientX509CertUrl: {
+        baseName: "client_x509_cert_url",
+        type: "string",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    hostFilters: {
+        baseName: "host_filters",
+        type: "string",
+    },
+    isCspmEnabled: {
+        baseName: "is_cspm_enabled",
+        type: "boolean",
+    },
+    privateKey: {
+        baseName: "private_key",
+        type: "string",
+    },
+    privateKeyId: {
+        baseName: "private_key_id",
+        type: "string",
+    },
+    projectId: {
+        baseName: "project_id",
+        type: "string",
+    },
+    tokenUri: {
+        baseName: "token_uri",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=GCPAccount.js.map
+
+/***/ }),
+
+/***/ 23289:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GeomapWidgetDefinition = void 0;
+/**
+ * This visualization displays a series of values by country on a world map.
+ */
+class GeomapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GeomapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.GeomapWidgetDefinition = GeomapWidgetDefinition;
+/**
+ * @ignore
+ */
+GeomapWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[GeomapWidgetRequest]",
+        required: true,
+    },
+    style: {
+        baseName: "style",
+        type: "GeomapWidgetDefinitionStyle",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "GeomapWidgetDefinitionType",
+        required: true,
+    },
+    view: {
+        baseName: "view",
+        type: "GeomapWidgetDefinitionView",
+        required: true,
+    },
+};
+//# sourceMappingURL=GeomapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 84531:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GeomapWidgetDefinitionStyle = void 0;
+/**
+ * The style to apply to the widget.
+ */
+class GeomapWidgetDefinitionStyle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GeomapWidgetDefinitionStyle.attributeTypeMap;
+    }
+}
+exports.GeomapWidgetDefinitionStyle = GeomapWidgetDefinitionStyle;
+/**
+ * @ignore
+ */
+GeomapWidgetDefinitionStyle.attributeTypeMap = {
+    palette: {
+        baseName: "palette",
+        type: "string",
+        required: true,
+    },
+    paletteFlip: {
+        baseName: "palette_flip",
+        type: "boolean",
+        required: true,
+    },
+};
+//# sourceMappingURL=GeomapWidgetDefinitionStyle.js.map
+
+/***/ }),
+
+/***/ 64962:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GeomapWidgetDefinitionView = void 0;
+/**
+ * The view of the world that the map should render.
+ */
+class GeomapWidgetDefinitionView {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GeomapWidgetDefinitionView.attributeTypeMap;
+    }
+}
+exports.GeomapWidgetDefinitionView = GeomapWidgetDefinitionView;
+/**
+ * @ignore
+ */
+GeomapWidgetDefinitionView.attributeTypeMap = {
+    focus: {
+        baseName: "focus",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=GeomapWidgetDefinitionView.js.map
+
+/***/ }),
+
+/***/ 2040:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GeomapWidgetRequest = void 0;
+/**
+ * An updated geomap widget.
+ */
+class GeomapWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GeomapWidgetRequest.attributeTypeMap;
+    }
+}
+exports.GeomapWidgetRequest = GeomapWidgetRequest;
+/**
+ * @ignore
+ */
+GeomapWidgetRequest.attributeTypeMap = {
+    columns: {
+        baseName: "columns",
+        type: "Array",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    query: {
+        baseName: "query",
+        type: "ListStreamQuery",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+};
+//# sourceMappingURL=GeomapWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 91080:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GraphSnapshot = void 0;
+/**
+ * Object representing a graph snapshot.
+ */
+class GraphSnapshot {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GraphSnapshot.attributeTypeMap;
+    }
+}
+exports.GraphSnapshot = GraphSnapshot;
+/**
+ * @ignore
+ */
+GraphSnapshot.attributeTypeMap = {
+    graphDef: {
+        baseName: "graph_def",
+        type: "string",
+    },
+    metricQuery: {
+        baseName: "metric_query",
+        type: "string",
+    },
+    snapshotUrl: {
+        baseName: "snapshot_url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=GraphSnapshot.js.map
+
+/***/ }),
+
+/***/ 26241:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GroupWidgetDefinition = void 0;
+/**
+ * The groups widget allows you to keep similar graphs together on your timeboard. Each group has a custom header, can hold one to many graphs, and is collapsible.
+ */
+class GroupWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GroupWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.GroupWidgetDefinition = GroupWidgetDefinition;
+/**
+ * @ignore
+ */
+GroupWidgetDefinition.attributeTypeMap = {
+    backgroundColor: {
+        baseName: "background_color",
+        type: "string",
+    },
+    bannerImg: {
+        baseName: "banner_img",
+        type: "string",
+    },
+    layoutType: {
+        baseName: "layout_type",
+        type: "WidgetLayoutType",
+        required: true,
+    },
+    showTitle: {
+        baseName: "show_title",
+        type: "boolean",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    type: {
+        baseName: "type",
+        type: "GroupWidgetDefinitionType",
+        required: true,
+    },
+    widgets: {
+        baseName: "widgets",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=GroupWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 22656:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPLogError = void 0;
+/**
+ * Invalid query performed.
+ */
+class HTTPLogError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPLogError.attributeTypeMap;
+    }
+}
+exports.HTTPLogError = HTTPLogError;
+/**
+ * @ignore
+ */
+HTTPLogError.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "number",
+        required: true,
+        format: "int32",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=HTTPLogError.js.map
+
+/***/ }),
+
+/***/ 18498:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPLogItem = void 0;
+/**
+ * Logs that are sent over HTTP.
+ */
+class HTTPLogItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPLogItem.attributeTypeMap;
+    }
+}
+exports.HTTPLogItem = HTTPLogItem;
+/**
+ * @ignore
+ */
+HTTPLogItem.attributeTypeMap = {
+    ddsource: {
+        baseName: "ddsource",
+        type: "string",
+    },
+    ddtags: {
+        baseName: "ddtags",
+        type: "string",
+    },
+    hostname: {
+        baseName: "hostname",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    additionalProperties: {
+        baseName: "additionalProperties",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HTTPLogItem.js.map
+
+/***/ }),
+
+/***/ 98169:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HeatMapWidgetDefinition = void 0;
+/**
+ * The heat map visualization shows metrics aggregated across many tags, such as hosts. The more hosts that have a particular value, the darker that square is.
+ */
+class HeatMapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HeatMapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.HeatMapWidgetDefinition = HeatMapWidgetDefinition;
+/**
+ * @ignore
+ */
+HeatMapWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    events: {
+        baseName: "events",
+        type: "Array",
+    },
+    legendSize: {
+        baseName: "legend_size",
+        type: "string",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[HeatMapWidgetRequest]",
+        required: true,
+    },
+    showLegend: {
+        baseName: "show_legend",
+        type: "boolean",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "HeatMapWidgetDefinitionType",
+        required: true,
+    },
+    yaxis: {
+        baseName: "yaxis",
+        type: "WidgetAxis",
+    },
+};
+//# sourceMappingURL=HeatMapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 88805:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HeatMapWidgetRequest = void 0;
+/**
+ * Updated heat map widget.
+ */
+class HeatMapWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HeatMapWidgetRequest.attributeTypeMap;
+    }
+}
+exports.HeatMapWidgetRequest = HeatMapWidgetRequest;
+/**
+ * @ignore
+ */
+HeatMapWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "EventQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetStyle",
+    },
+};
+//# sourceMappingURL=HeatMapWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 94562:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Host = void 0;
+/**
+ * Object representing a host.
+ */
+class Host {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Host.attributeTypeMap;
+    }
+}
+exports.Host = Host;
+/**
+ * @ignore
+ */
+Host.attributeTypeMap = {
+    aliases: {
+        baseName: "aliases",
+        type: "Array",
+    },
+    apps: {
+        baseName: "apps",
+        type: "Array",
+    },
+    awsName: {
+        baseName: "aws_name",
+        type: "string",
+    },
+    hostName: {
+        baseName: "host_name",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    isMuted: {
+        baseName: "is_muted",
+        type: "boolean",
+    },
+    lastReportedTime: {
+        baseName: "last_reported_time",
+        type: "number",
+        format: "int64",
+    },
+    meta: {
+        baseName: "meta",
+        type: "HostMeta",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "HostMetrics",
+    },
+    muteTimeout: {
+        baseName: "mute_timeout",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+    },
+    tagsBySource: {
+        baseName: "tags_by_source",
+        type: "{ [key: string]: Array; }",
+    },
+    up: {
+        baseName: "up",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=Host.js.map
+
+/***/ }),
+
+/***/ 37184:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostListResponse = void 0;
+/**
+ * Response with Host information from Datadog.
+ */
+class HostListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostListResponse.attributeTypeMap;
+    }
+}
+exports.HostListResponse = HostListResponse;
+/**
+ * @ignore
+ */
+HostListResponse.attributeTypeMap = {
+    hostList: {
+        baseName: "host_list",
+        type: "Array",
+    },
+    totalMatching: {
+        baseName: "total_matching",
+        type: "number",
+        format: "int64",
+    },
+    totalReturned: {
+        baseName: "total_returned",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=HostListResponse.js.map
+
+/***/ }),
+
+/***/ 32692:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMapRequest = void 0;
+/**
+ * Updated host map.
+ */
+class HostMapRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMapRequest.attributeTypeMap;
+    }
+}
+exports.HostMapRequest = HostMapRequest;
+/**
+ * @ignore
+ */
+HostMapRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+};
+//# sourceMappingURL=HostMapRequest.js.map
+
+/***/ }),
+
+/***/ 14550:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMapWidgetDefinition = void 0;
+/**
+ * The host map widget graphs any metric across your hosts using the same visualization available from the main Host Map page.
+ */
+class HostMapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.HostMapWidgetDefinition = HostMapWidgetDefinition;
+/**
+ * @ignore
+ */
+HostMapWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    group: {
+        baseName: "group",
+        type: "Array",
+    },
+    noGroupHosts: {
+        baseName: "no_group_hosts",
+        type: "boolean",
+    },
+    noMetricHosts: {
+        baseName: "no_metric_hosts",
+        type: "boolean",
+    },
+    nodeType: {
+        baseName: "node_type",
+        type: "WidgetNodeType",
+    },
+    notes: {
+        baseName: "notes",
+        type: "string",
+    },
+    requests: {
+        baseName: "requests",
+        type: "HostMapWidgetDefinitionRequests",
+        required: true,
+    },
+    scope: {
+        baseName: "scope",
+        type: "Array",
+    },
+    style: {
+        baseName: "style",
+        type: "HostMapWidgetDefinitionStyle",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "HostMapWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=HostMapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 34258:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMapWidgetDefinitionRequests = void 0;
+/**
+ * List of definitions.
+ */
+class HostMapWidgetDefinitionRequests {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMapWidgetDefinitionRequests.attributeTypeMap;
+    }
+}
+exports.HostMapWidgetDefinitionRequests = HostMapWidgetDefinitionRequests;
+/**
+ * @ignore
+ */
+HostMapWidgetDefinitionRequests.attributeTypeMap = {
+    fill: {
+        baseName: "fill",
+        type: "HostMapRequest",
+    },
+    size: {
+        baseName: "size",
+        type: "HostMapRequest",
+    },
+};
+//# sourceMappingURL=HostMapWidgetDefinitionRequests.js.map
+
+/***/ }),
+
+/***/ 86430:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMapWidgetDefinitionStyle = void 0;
+/**
+ * The style to apply to the widget.
+ */
+class HostMapWidgetDefinitionStyle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMapWidgetDefinitionStyle.attributeTypeMap;
+    }
+}
+exports.HostMapWidgetDefinitionStyle = HostMapWidgetDefinitionStyle;
+/**
+ * @ignore
+ */
+HostMapWidgetDefinitionStyle.attributeTypeMap = {
+    fillMax: {
+        baseName: "fill_max",
+        type: "string",
+    },
+    fillMin: {
+        baseName: "fill_min",
+        type: "string",
+    },
+    palette: {
+        baseName: "palette",
+        type: "string",
+    },
+    paletteFlip: {
+        baseName: "palette_flip",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=HostMapWidgetDefinitionStyle.js.map
+
+/***/ }),
+
+/***/ 77224:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMeta = void 0;
+/**
+ * Metadata associated with your host.
+ */
+class HostMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMeta.attributeTypeMap;
+    }
+}
+exports.HostMeta = HostMeta;
+/**
+ * @ignore
+ */
+HostMeta.attributeTypeMap = {
+    agentChecks: {
+        baseName: "agent_checks",
+        type: "Array>",
+    },
+    agentVersion: {
+        baseName: "agent_version",
+        type: "string",
+    },
+    cpuCores: {
+        baseName: "cpuCores",
+        type: "number",
+        format: "int64",
+    },
+    fbsdV: {
+        baseName: "fbsdV",
+        type: "Array",
+    },
+    gohai: {
+        baseName: "gohai",
+        type: "string",
+    },
+    installMethod: {
+        baseName: "install_method",
+        type: "HostMetaInstallMethod",
+    },
+    macV: {
+        baseName: "macV",
+        type: "Array",
+    },
+    machine: {
+        baseName: "machine",
+        type: "string",
+    },
+    nixV: {
+        baseName: "nixV",
+        type: "Array",
+    },
+    platform: {
+        baseName: "platform",
+        type: "string",
+    },
+    processor: {
+        baseName: "processor",
+        type: "string",
+    },
+    pythonV: {
+        baseName: "pythonV",
+        type: "string",
+    },
+    socketFqdn: {
+        baseName: "socket-fqdn",
+        type: "string",
+    },
+    socketHostname: {
+        baseName: "socket-hostname",
+        type: "string",
+    },
+    winV: {
+        baseName: "winV",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=HostMeta.js.map
+
+/***/ }),
+
+/***/ 36940:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMetaInstallMethod = void 0;
+/**
+ * Agent install method.
+ */
+class HostMetaInstallMethod {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMetaInstallMethod.attributeTypeMap;
+    }
+}
+exports.HostMetaInstallMethod = HostMetaInstallMethod;
+/**
+ * @ignore
+ */
+HostMetaInstallMethod.attributeTypeMap = {
+    installerVersion: {
+        baseName: "installer_version",
+        type: "string",
+    },
+    tool: {
+        baseName: "tool",
+        type: "string",
+    },
+    toolVersion: {
+        baseName: "tool_version",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HostMetaInstallMethod.js.map
+
+/***/ }),
+
+/***/ 29501:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMetrics = void 0;
+/**
+ * Host Metrics collected.
+ */
+class HostMetrics {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMetrics.attributeTypeMap;
+    }
+}
+exports.HostMetrics = HostMetrics;
+/**
+ * @ignore
+ */
+HostMetrics.attributeTypeMap = {
+    cpu: {
+        baseName: "cpu",
+        type: "number",
+        format: "double",
+    },
+    iowait: {
+        baseName: "iowait",
+        type: "number",
+        format: "double",
+    },
+    load: {
+        baseName: "load",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=HostMetrics.js.map
+
+/***/ }),
+
+/***/ 42950:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMuteResponse = void 0;
+/**
+ * Response with the list of muted host for your organization.
+ */
+class HostMuteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMuteResponse.attributeTypeMap;
+    }
+}
+exports.HostMuteResponse = HostMuteResponse;
+/**
+ * @ignore
+ */
+HostMuteResponse.attributeTypeMap = {
+    action: {
+        baseName: "action",
+        type: "string",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    hostname: {
+        baseName: "hostname",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HostMuteResponse.js.map
+
+/***/ }),
+
+/***/ 85193:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostMuteSettings = void 0;
+/**
+ * Combination of settings to mute a host.
+ */
+class HostMuteSettings {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostMuteSettings.attributeTypeMap;
+    }
+}
+exports.HostMuteSettings = HostMuteSettings;
+/**
+ * @ignore
+ */
+HostMuteSettings.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    override: {
+        baseName: "override",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=HostMuteSettings.js.map
+
+/***/ }),
+
+/***/ 93056:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostTags = void 0;
+/**
+ * Set of tags to associate with your host.
+ */
+class HostTags {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostTags.attributeTypeMap;
+    }
+}
+exports.HostTags = HostTags;
+/**
+ * @ignore
+ */
+HostTags.attributeTypeMap = {
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=HostTags.js.map
+
+/***/ }),
+
+/***/ 26085:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HostTotals = void 0;
+/**
+ * Total number of host currently monitored by Datadog.
+ */
+class HostTotals {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HostTotals.attributeTypeMap;
+    }
+}
+exports.HostTotals = HostTotals;
+/**
+ * @ignore
+ */
+HostTotals.attributeTypeMap = {
+    totalActive: {
+        baseName: "total_active",
+        type: "number",
+        format: "int64",
+    },
+    totalUp: {
+        baseName: "total_up",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=HostTotals.js.map
+
+/***/ }),
+
+/***/ 57569:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageAttributionBody = void 0;
+/**
+ * The usage for one set of tags for one hour.
+ */
+class HourlyUsageAttributionBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageAttributionBody.attributeTypeMap;
+    }
+}
+exports.HourlyUsageAttributionBody = HourlyUsageAttributionBody;
+/**
+ * @ignore
+ */
+HourlyUsageAttributionBody.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    tagConfigSource: {
+        baseName: "tag_config_source",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "{ [key: string]: Array; }",
+    },
+    totalUsageSum: {
+        baseName: "total_usage_sum",
+        type: "number",
+        format: "double",
+    },
+    updatedAt: {
+        baseName: "updated_at",
+        type: "string",
+    },
+    usageType: {
+        baseName: "usage_type",
+        type: "HourlyUsageAttributionUsageType",
+    },
+};
+//# sourceMappingURL=HourlyUsageAttributionBody.js.map
+
+/***/ }),
+
+/***/ 8913:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageAttributionMetadata = void 0;
+/**
+ * The object containing document metadata.
+ */
+class HourlyUsageAttributionMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageAttributionMetadata.attributeTypeMap;
+    }
+}
+exports.HourlyUsageAttributionMetadata = HourlyUsageAttributionMetadata;
+/**
+ * @ignore
+ */
+HourlyUsageAttributionMetadata.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "HourlyUsageAttributionPagination",
+    },
+};
+//# sourceMappingURL=HourlyUsageAttributionMetadata.js.map
+
+/***/ }),
+
+/***/ 75616:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageAttributionPagination = void 0;
+/**
+ * The metadata for the current pagination.
+ */
+class HourlyUsageAttributionPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageAttributionPagination.attributeTypeMap;
+    }
+}
+exports.HourlyUsageAttributionPagination = HourlyUsageAttributionPagination;
+/**
+ * @ignore
+ */
+HourlyUsageAttributionPagination.attributeTypeMap = {
+    nextRecordId: {
+        baseName: "next_record_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HourlyUsageAttributionPagination.js.map
+
+/***/ }),
+
+/***/ 6011:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageAttributionResponse = void 0;
+/**
+ * Response containing the hourly usage attribution by tag(s).
+ */
+class HourlyUsageAttributionResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageAttributionResponse.attributeTypeMap;
+    }
+}
+exports.HourlyUsageAttributionResponse = HourlyUsageAttributionResponse;
+/**
+ * @ignore
+ */
+HourlyUsageAttributionResponse.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "HourlyUsageAttributionMetadata",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=HourlyUsageAttributionResponse.js.map
+
+/***/ }),
+
+/***/ 78922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IFrameWidgetDefinition = void 0;
+/**
+ * The iframe widget allows you to embed a portion of any other web page on your dashboard. Only available on FREE layout dashboards.
+ */
+class IFrameWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IFrameWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.IFrameWidgetDefinition = IFrameWidgetDefinition;
+/**
+ * @ignore
+ */
+IFrameWidgetDefinition.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "IFrameWidgetDefinitionType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IFrameWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 58980:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesAPI = void 0;
+/**
+ * Available prefix information for the API endpoints.
+ */
+class IPPrefixesAPI {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesAPI.attributeTypeMap;
+    }
+}
+exports.IPPrefixesAPI = IPPrefixesAPI;
+/**
+ * @ignore
+ */
+IPPrefixesAPI.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesAPI.js.map
+
+/***/ }),
+
+/***/ 26626:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesAPM = void 0;
+/**
+ * Available prefix information for the APM endpoints.
+ */
+class IPPrefixesAPM {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesAPM.attributeTypeMap;
+    }
+}
+exports.IPPrefixesAPM = IPPrefixesAPM;
+/**
+ * @ignore
+ */
+IPPrefixesAPM.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesAPM.js.map
+
+/***/ }),
+
+/***/ 79932:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesAgents = void 0;
+/**
+ * Available prefix information for the Agent endpoints.
+ */
+class IPPrefixesAgents {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesAgents.attributeTypeMap;
+    }
+}
+exports.IPPrefixesAgents = IPPrefixesAgents;
+/**
+ * @ignore
+ */
+IPPrefixesAgents.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesAgents.js.map
+
+/***/ }),
+
+/***/ 76369:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesLogs = void 0;
+/**
+ * Available prefix information for the Logs endpoints.
+ */
+class IPPrefixesLogs {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesLogs.attributeTypeMap;
+    }
+}
+exports.IPPrefixesLogs = IPPrefixesLogs;
+/**
+ * @ignore
+ */
+IPPrefixesLogs.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesLogs.js.map
+
+/***/ }),
+
+/***/ 27657:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesOrchestrator = void 0;
+/**
+ * Available prefix information for the Orchestrator endpoints.
+ */
+class IPPrefixesOrchestrator {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesOrchestrator.attributeTypeMap;
+    }
+}
+exports.IPPrefixesOrchestrator = IPPrefixesOrchestrator;
+/**
+ * @ignore
+ */
+IPPrefixesOrchestrator.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesOrchestrator.js.map
+
+/***/ }),
+
+/***/ 37095:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesProcess = void 0;
+/**
+ * Available prefix information for the Process endpoints.
+ */
+class IPPrefixesProcess {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesProcess.attributeTypeMap;
+    }
+}
+exports.IPPrefixesProcess = IPPrefixesProcess;
+/**
+ * @ignore
+ */
+IPPrefixesProcess.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesProcess.js.map
+
+/***/ }),
+
+/***/ 9651:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesRemoteConfiguration = void 0;
+/**
+ * Available prefix information for the Remote Configuration endpoints.
+ */
+class IPPrefixesRemoteConfiguration {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesRemoteConfiguration.attributeTypeMap;
+    }
+}
+exports.IPPrefixesRemoteConfiguration = IPPrefixesRemoteConfiguration;
+/**
+ * @ignore
+ */
+IPPrefixesRemoteConfiguration.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesRemoteConfiguration.js.map
+
+/***/ }),
+
+/***/ 71060:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesSynthetics = void 0;
+/**
+ * Available prefix information for the Synthetics endpoints.
+ */
+class IPPrefixesSynthetics {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesSynthetics.attributeTypeMap;
+    }
+}
+exports.IPPrefixesSynthetics = IPPrefixesSynthetics;
+/**
+ * @ignore
+ */
+IPPrefixesSynthetics.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv4ByLocation: {
+        baseName: "prefixes_ipv4_by_location",
+        type: "{ [key: string]: Array; }",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+    prefixesIpv6ByLocation: {
+        baseName: "prefixes_ipv6_by_location",
+        type: "{ [key: string]: Array; }",
+    },
+};
+//# sourceMappingURL=IPPrefixesSynthetics.js.map
+
+/***/ }),
+
+/***/ 33296:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesSyntheticsPrivateLocations = void 0;
+/**
+ * Available prefix information for the Synthetics Private Locations endpoints.
+ */
+class IPPrefixesSyntheticsPrivateLocations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesSyntheticsPrivateLocations.attributeTypeMap;
+    }
+}
+exports.IPPrefixesSyntheticsPrivateLocations = IPPrefixesSyntheticsPrivateLocations;
+/**
+ * @ignore
+ */
+IPPrefixesSyntheticsPrivateLocations.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesSyntheticsPrivateLocations.js.map
+
+/***/ }),
+
+/***/ 11607:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPPrefixesWebhooks = void 0;
+/**
+ * Available prefix information for the Webhook endpoints.
+ */
+class IPPrefixesWebhooks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPPrefixesWebhooks.attributeTypeMap;
+    }
+}
+exports.IPPrefixesWebhooks = IPPrefixesWebhooks;
+/**
+ * @ignore
+ */
+IPPrefixesWebhooks.attributeTypeMap = {
+    prefixesIpv4: {
+        baseName: "prefixes_ipv4",
+        type: "Array",
+    },
+    prefixesIpv6: {
+        baseName: "prefixes_ipv6",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPPrefixesWebhooks.js.map
+
+/***/ }),
+
+/***/ 41248:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPRanges = void 0;
+/**
+ * IP ranges.
+ */
+class IPRanges {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPRanges.attributeTypeMap;
+    }
+}
+exports.IPRanges = IPRanges;
+/**
+ * @ignore
+ */
+IPRanges.attributeTypeMap = {
+    agents: {
+        baseName: "agents",
+        type: "IPPrefixesAgents",
+    },
+    api: {
+        baseName: "api",
+        type: "IPPrefixesAPI",
+    },
+    apm: {
+        baseName: "apm",
+        type: "IPPrefixesAPM",
+    },
+    logs: {
+        baseName: "logs",
+        type: "IPPrefixesLogs",
+    },
+    modified: {
+        baseName: "modified",
+        type: "string",
+    },
+    orchestrator: {
+        baseName: "orchestrator",
+        type: "IPPrefixesOrchestrator",
+    },
+    process: {
+        baseName: "process",
+        type: "IPPrefixesProcess",
+    },
+    remoteConfiguration: {
+        baseName: "remote-configuration",
+        type: "IPPrefixesRemoteConfiguration",
+    },
+    synthetics: {
+        baseName: "synthetics",
+        type: "IPPrefixesSynthetics",
+    },
+    syntheticsPrivateLocations: {
+        baseName: "synthetics-private-locations",
+        type: "IPPrefixesSyntheticsPrivateLocations",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+    webhooks: {
+        baseName: "webhooks",
+        type: "IPPrefixesWebhooks",
+    },
+};
+//# sourceMappingURL=IPRanges.js.map
+
+/***/ }),
+
+/***/ 43218:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IdpFormData = void 0;
+/**
+ * Object describing the IdP configuration.
+ */
+class IdpFormData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IdpFormData.attributeTypeMap;
+    }
+}
+exports.IdpFormData = IdpFormData;
+/**
+ * @ignore
+ */
+IdpFormData.attributeTypeMap = {
+    idpFile: {
+        baseName: "idp_file",
+        type: "HttpFile",
+        required: true,
+        format: "binary",
+    },
+};
+//# sourceMappingURL=IdpFormData.js.map
+
+/***/ }),
+
+/***/ 6745:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IdpResponse = void 0;
+/**
+ * The IdP response object.
+ */
+class IdpResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IdpResponse.attributeTypeMap;
+    }
+}
+exports.IdpResponse = IdpResponse;
+/**
+ * @ignore
+ */
+IdpResponse.attributeTypeMap = {
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IdpResponse.js.map
+
+/***/ }),
+
+/***/ 82126:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ImageWidgetDefinition = void 0;
+/**
+ * The image widget allows you to embed an image on your dashboard. An image can be a PNG, JPG, or animated GIF. Only available on FREE layout dashboards.
+ */
+class ImageWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ImageWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ImageWidgetDefinition = ImageWidgetDefinition;
+/**
+ * @ignore
+ */
+ImageWidgetDefinition.attributeTypeMap = {
+    hasBackground: {
+        baseName: "has_background",
+        type: "boolean",
+    },
+    hasBorder: {
+        baseName: "has_border",
+        type: "boolean",
+    },
+    horizontalAlign: {
+        baseName: "horizontal_align",
+        type: "WidgetHorizontalAlign",
+    },
+    margin: {
+        baseName: "margin",
+        type: "WidgetMargin",
+    },
+    sizing: {
+        baseName: "sizing",
+        type: "WidgetImageSizing",
+    },
+    type: {
+        baseName: "type",
+        type: "ImageWidgetDefinitionType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+    urlDarkTheme: {
+        baseName: "url_dark_theme",
+        type: "string",
+    },
+    verticalAlign: {
+        baseName: "vertical_align",
+        type: "WidgetVerticalAlign",
+    },
+};
+//# sourceMappingURL=ImageWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 89628:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IntakePayloadAccepted = void 0;
+/**
+ * The payload accepted for intake.
+ */
+class IntakePayloadAccepted {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IntakePayloadAccepted.attributeTypeMap;
+    }
+}
+exports.IntakePayloadAccepted = IntakePayloadAccepted;
+/**
+ * @ignore
+ */
+IntakePayloadAccepted.attributeTypeMap = {
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IntakePayloadAccepted.js.map
+
+/***/ }),
+
+/***/ 79196:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamColumn = void 0;
+/**
+ * Widget column.
+ */
+class ListStreamColumn {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamColumn.attributeTypeMap;
+    }
+}
+exports.ListStreamColumn = ListStreamColumn;
+/**
+ * @ignore
+ */
+ListStreamColumn.attributeTypeMap = {
+    field: {
+        baseName: "field",
+        type: "string",
+        required: true,
+    },
+    width: {
+        baseName: "width",
+        type: "ListStreamColumnWidth",
+        required: true,
+    },
+};
+//# sourceMappingURL=ListStreamColumn.js.map
+
+/***/ }),
+
+/***/ 33660:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamComputeItems = void 0;
+/**
+ * List of facets and aggregations which to compute.
+ */
+class ListStreamComputeItems {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamComputeItems.attributeTypeMap;
+    }
+}
+exports.ListStreamComputeItems = ListStreamComputeItems;
+/**
+ * @ignore
+ */
+ListStreamComputeItems.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "ListStreamComputeAggregation",
+        required: true,
+    },
+    facet: {
+        baseName: "facet",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ListStreamComputeItems.js.map
+
+/***/ }),
+
+/***/ 72801:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamGroupByItems = void 0;
+/**
+ * List of facets on which to group.
+ */
+class ListStreamGroupByItems {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamGroupByItems.attributeTypeMap;
+    }
+}
+exports.ListStreamGroupByItems = ListStreamGroupByItems;
+/**
+ * @ignore
+ */
+ListStreamGroupByItems.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ListStreamGroupByItems.js.map
+
+/***/ }),
+
+/***/ 91264:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamQuery = void 0;
+/**
+ * Updated list stream widget.
+ */
+class ListStreamQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamQuery.attributeTypeMap;
+    }
+}
+exports.ListStreamQuery = ListStreamQuery;
+/**
+ * @ignore
+ */
+ListStreamQuery.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "ListStreamSource",
+        required: true,
+    },
+    eventSize: {
+        baseName: "event_size",
+        type: "WidgetEventSize",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    queryString: {
+        baseName: "query_string",
+        type: "string",
+        required: true,
+    },
+    sort: {
+        baseName: "sort",
+        type: "WidgetFieldSort",
+    },
+    storage: {
+        baseName: "storage",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ListStreamQuery.js.map
+
+/***/ }),
+
+/***/ 74102:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamWidgetDefinition = void 0;
+/**
+ * The list stream visualization displays a table of recent events in your application that
+ * match a search criteria using user-defined columns.
+ */
+class ListStreamWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ListStreamWidgetDefinition = ListStreamWidgetDefinition;
+/**
+ * @ignore
+ */
+ListStreamWidgetDefinition.attributeTypeMap = {
+    legendSize: {
+        baseName: "legend_size",
+        type: "string",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[ListStreamWidgetRequest]",
+        required: true,
+    },
+    showLegend: {
+        baseName: "show_legend",
+        type: "boolean",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ListStreamWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ListStreamWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 57739:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListStreamWidgetRequest = void 0;
+/**
+ * Updated list stream widget.
+ */
+class ListStreamWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListStreamWidgetRequest.attributeTypeMap;
+    }
+}
+exports.ListStreamWidgetRequest = ListStreamWidgetRequest;
+/**
+ * @ignore
+ */
+ListStreamWidgetRequest.attributeTypeMap = {
+    columns: {
+        baseName: "columns",
+        type: "Array",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "ListStreamQuery",
+        required: true,
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "ListStreamResponseFormat",
+        required: true,
+    },
+};
+//# sourceMappingURL=ListStreamWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 27228:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Log = void 0;
+/**
+ * Object describing a log after being processed and stored by Datadog.
+ */
+class Log {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Log.attributeTypeMap;
+    }
+}
+exports.Log = Log;
+/**
+ * @ignore
+ */
+Log.attributeTypeMap = {
+    content: {
+        baseName: "content",
+        type: "LogContent",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Log.js.map
+
+/***/ }),
+
+/***/ 2430:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogContent = void 0;
+/**
+ * JSON object containing all log attributes and their associated values.
+ */
+class LogContent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogContent.attributeTypeMap;
+    }
+}
+exports.LogContent = LogContent;
+/**
+ * @ignore
+ */
+LogContent.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=LogContent.js.map
+
+/***/ }),
+
+/***/ 6725:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogQueryDefinition = void 0;
+/**
+ * The log query.
+ */
+class LogQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogQueryDefinition.attributeTypeMap;
+    }
+}
+exports.LogQueryDefinition = LogQueryDefinition;
+/**
+ * @ignore
+ */
+LogQueryDefinition.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "LogsQueryCompute",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    index: {
+        baseName: "index",
+        type: "string",
+    },
+    multiCompute: {
+        baseName: "multi_compute",
+        type: "Array",
+    },
+    search: {
+        baseName: "search",
+        type: "LogQueryDefinitionSearch",
+    },
+};
+//# sourceMappingURL=LogQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 51648:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogQueryDefinitionGroupBy = void 0;
+/**
+ * Defined items in the group.
+ */
+class LogQueryDefinitionGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogQueryDefinitionGroupBy.attributeTypeMap;
+    }
+}
+exports.LogQueryDefinitionGroupBy = LogQueryDefinitionGroupBy;
+/**
+ * @ignore
+ */
+LogQueryDefinitionGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    sort: {
+        baseName: "sort",
+        type: "LogQueryDefinitionGroupBySort",
+    },
+};
+//# sourceMappingURL=LogQueryDefinitionGroupBy.js.map
+
+/***/ }),
+
+/***/ 26894:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogQueryDefinitionGroupBySort = void 0;
+/**
+ * Define a sorting method.
+ */
+class LogQueryDefinitionGroupBySort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogQueryDefinitionGroupBySort.attributeTypeMap;
+    }
+}
+exports.LogQueryDefinitionGroupBySort = LogQueryDefinitionGroupBySort;
+/**
+ * @ignore
+ */
+LogQueryDefinitionGroupBySort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "string",
+        required: true,
+    },
+    facet: {
+        baseName: "facet",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "WidgetSort",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogQueryDefinitionGroupBySort.js.map
+
+/***/ }),
+
+/***/ 44453:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogQueryDefinitionSearch = void 0;
+/**
+ * The query being made on the logs.
+ */
+class LogQueryDefinitionSearch {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogQueryDefinitionSearch.attributeTypeMap;
+    }
+}
+exports.LogQueryDefinitionSearch = LogQueryDefinitionSearch;
+/**
+ * @ignore
+ */
+LogQueryDefinitionSearch.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogQueryDefinitionSearch.js.map
+
+/***/ }),
+
+/***/ 69314:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogStreamWidgetDefinition = void 0;
+/**
+ * The Log Stream displays a log flow matching the defined query. Only available on FREE layout dashboards.
+ */
+class LogStreamWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogStreamWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.LogStreamWidgetDefinition = LogStreamWidgetDefinition;
+/**
+ * @ignore
+ */
+LogStreamWidgetDefinition.attributeTypeMap = {
+    columns: {
+        baseName: "columns",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    logset: {
+        baseName: "logset",
+        type: "string",
+    },
+    messageDisplay: {
+        baseName: "message_display",
+        type: "WidgetMessageDisplay",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    showDateColumn: {
+        baseName: "show_date_column",
+        type: "boolean",
+    },
+    showMessageColumn: {
+        baseName: "show_message_column",
+        type: "boolean",
+    },
+    sort: {
+        baseName: "sort",
+        type: "WidgetFieldSort",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogStreamWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogStreamWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 25101:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAPIError = void 0;
+/**
+ * Error returned by the Logs API
+ */
+class LogsAPIError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAPIError.attributeTypeMap;
+    }
+}
+exports.LogsAPIError = LogsAPIError;
+/**
+ * @ignore
+ */
+LogsAPIError.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    details: {
+        baseName: "details",
+        type: "Array",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsAPIError.js.map
+
+/***/ }),
+
+/***/ 14479:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAPIErrorResponse = void 0;
+/**
+ * Response returned by the Logs API when errors occur.
+ */
+class LogsAPIErrorResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAPIErrorResponse.attributeTypeMap;
+    }
+}
+exports.LogsAPIErrorResponse = LogsAPIErrorResponse;
+/**
+ * @ignore
+ */
+LogsAPIErrorResponse.attributeTypeMap = {
+    error: {
+        baseName: "error",
+        type: "LogsAPIError",
+    },
+};
+//# sourceMappingURL=LogsAPIErrorResponse.js.map
+
+/***/ }),
+
+/***/ 49360:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArithmeticProcessor = void 0;
+/**
+ * Use the Arithmetic Processor to add a new attribute (without spaces or special characters
+ * in the new attribute name) to a log with the result of the provided formula.
+ * This enables you to remap different time attributes with different units into a single attribute,
+ * or to compute operations on attributes within the same log.
+ *
+ * The formula can use parentheses and the basic arithmetic operators `-`, `+`, `*`, `/`.
+ *
+ * By default, the calculation is skipped if an attribute is missing.
+ * Select “Replace missing attribute by 0” to automatically populate
+ * missing attribute values with 0 to ensure that the calculation is done.
+ * An attribute is missing if it is not found in the log attributes,
+ * or if it cannot be converted to a number.
+ *
+ * *Notes*:
+ *
+ * - The operator `-` needs to be space split in the formula as it can also be contained in attribute names.
+ * - If the target attribute already exists, it is overwritten by the result of the formula.
+ * - Results are rounded up to the 9th decimal. For example, if the result of the formula is `0.1234567891`,
+ *   the actual value stored for the attribute is `0.123456789`.
+ * - If you need to scale a unit of measure,
+ *   see [Scale Filter](https://docs.datadoghq.com/logs/log_configuration/parsing/?tab=filter#matcher-and-filter).
+ */
+class LogsArithmeticProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArithmeticProcessor.attributeTypeMap;
+    }
+}
+exports.LogsArithmeticProcessor = LogsArithmeticProcessor;
+/**
+ * @ignore
+ */
+LogsArithmeticProcessor.attributeTypeMap = {
+    expression: {
+        baseName: "expression",
+        type: "string",
+        required: true,
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    isReplaceMissing: {
+        baseName: "is_replace_missing",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsArithmeticProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArithmeticProcessor.js.map
+
+/***/ }),
+
+/***/ 80173:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAttributeRemapper = void 0;
+/**
+ * The remapper processor remaps any source attribute(s) or tag to another target attribute or tag.
+ * Constraints on the tag/attribute name are explained in the [Tag Best Practice documentation](https://docs.datadoghq.com/logs/guide/log-parsing-best-practice).
+ * Some additional constraints are applied as `:` or `,` are not allowed in the target tag/attribute name.
+ */
+class LogsAttributeRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAttributeRemapper.attributeTypeMap;
+    }
+}
+exports.LogsAttributeRemapper = LogsAttributeRemapper;
+/**
+ * @ignore
+ */
+LogsAttributeRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    overrideOnConflict: {
+        baseName: "override_on_conflict",
+        type: "boolean",
+    },
+    preserveSource: {
+        baseName: "preserve_source",
+        type: "boolean",
+    },
+    sourceType: {
+        baseName: "source_type",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    targetFormat: {
+        baseName: "target_format",
+        type: "TargetFormatType",
+    },
+    targetType: {
+        baseName: "target_type",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsAttributeRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsAttributeRemapper.js.map
+
+/***/ }),
+
+/***/ 27879:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsByRetention = void 0;
+/**
+ * Object containing logs usage data broken down by retention period.
+ */
+class LogsByRetention {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsByRetention.attributeTypeMap;
+    }
+}
+exports.LogsByRetention = LogsByRetention;
+/**
+ * @ignore
+ */
+LogsByRetention.attributeTypeMap = {
+    orgs: {
+        baseName: "orgs",
+        type: "LogsByRetentionOrgs",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+    usageByMonth: {
+        baseName: "usage_by_month",
+        type: "LogsByRetentionMonthlyUsage",
+    },
+};
+//# sourceMappingURL=LogsByRetention.js.map
+
+/***/ }),
+
+/***/ 80662:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsByRetentionMonthlyUsage = void 0;
+/**
+ * Object containing a summary of indexed logs usage by retention period for a single month.
+ */
+class LogsByRetentionMonthlyUsage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsByRetentionMonthlyUsage.attributeTypeMap;
+    }
+}
+exports.LogsByRetentionMonthlyUsage = LogsByRetentionMonthlyUsage;
+/**
+ * @ignore
+ */
+LogsByRetentionMonthlyUsage.attributeTypeMap = {
+    date: {
+        baseName: "date",
+        type: "Date",
+        format: "date-time",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsByRetentionMonthlyUsage.js.map
+
+/***/ }),
+
+/***/ 61470:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsByRetentionOrgUsage = void 0;
+/**
+ * Indexed logs usage by retention for a single organization.
+ */
+class LogsByRetentionOrgUsage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsByRetentionOrgUsage.attributeTypeMap;
+    }
+}
+exports.LogsByRetentionOrgUsage = LogsByRetentionOrgUsage;
+/**
+ * @ignore
+ */
+LogsByRetentionOrgUsage.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsByRetentionOrgUsage.js.map
+
+/***/ }),
+
+/***/ 55654:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsByRetentionOrgs = void 0;
+/**
+ * Indexed logs usage summary for each organization for each retention period with usage.
+ */
+class LogsByRetentionOrgs {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsByRetentionOrgs.attributeTypeMap;
+    }
+}
+exports.LogsByRetentionOrgs = LogsByRetentionOrgs;
+/**
+ * @ignore
+ */
+LogsByRetentionOrgs.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsByRetentionOrgs.js.map
+
+/***/ }),
+
+/***/ 77512:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsCategoryProcessor = void 0;
+/**
+ * Use the Category Processor to add a new attribute (without spaces or special characters in the new attribute name)
+ * to a log matching a provided search query. Use categories to create groups for an analytical view.
+ * For example, URL groups, machine groups, environments, and response time buckets.
+ *
+ * **Notes**:
+ *
+ * - The syntax of the query is the one of Logs Explorer search bar.
+ *   The query can be done on any log attribute or tag, whether it is a facet or not.
+ *   Wildcards can also be used inside your query.
+ * - Once the log has matched one of the Processor queries, it stops.
+ *   Make sure they are properly ordered in case a log could match several queries.
+ * - The names of the categories must be unique.
+ * - Once defined in the Category Processor, you can map categories to log status using the Log Status Remapper.
+ */
+class LogsCategoryProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsCategoryProcessor.attributeTypeMap;
+    }
+}
+exports.LogsCategoryProcessor = LogsCategoryProcessor;
+/**
+ * @ignore
+ */
+LogsCategoryProcessor.attributeTypeMap = {
+    categories: {
+        baseName: "categories",
+        type: "Array",
+        required: true,
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsCategoryProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsCategoryProcessor.js.map
+
+/***/ }),
+
+/***/ 97274:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsCategoryProcessorCategory = void 0;
+/**
+ * Object describing the logs filter.
+ */
+class LogsCategoryProcessorCategory {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsCategoryProcessorCategory.attributeTypeMap;
+    }
+}
+exports.LogsCategoryProcessorCategory = LogsCategoryProcessorCategory;
+/**
+ * @ignore
+ */
+LogsCategoryProcessorCategory.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "LogsFilter",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsCategoryProcessorCategory.js.map
+
+/***/ }),
+
+/***/ 33536:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsDateRemapper = void 0;
+/**
+ * As Datadog receives logs, it timestamps them using the value(s) from any of these default attributes.
+ *
+ *   - `timestamp`
+ *   - `date`
+ *   - `_timestamp`
+ *   - `Timestamp`
+ *   - `eventTime`
+ *   - `published_date`
+ *
+ *   If your logs put their dates in an attribute not in this list,
+ *   use the log date Remapper Processor to define their date attribute as the official log timestamp.
+ *   The recognized date formats are ISO8601, UNIX (the milliseconds EPOCH format), and RFC3164.
+ *
+ *   **Note:** If your logs don’t contain any of the default attributes
+ *   and you haven’t defined your own date attribute, Datadog timestamps
+ *   the logs with the date it received them.
+ *
+ *   If multiple log date remapper processors can be applied to a given log,
+ *   only the first one (according to the pipelines order) is taken into account.
+ */
+class LogsDateRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsDateRemapper.attributeTypeMap;
+    }
+}
+exports.LogsDateRemapper = LogsDateRemapper;
+/**
+ * @ignore
+ */
+LogsDateRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsDateRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsDateRemapper.js.map
+
+/***/ }),
+
+/***/ 52013:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsExclusion = void 0;
+/**
+ * Represents the index exclusion filter object from configuration API.
+ */
+class LogsExclusion {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsExclusion.attributeTypeMap;
+    }
+}
+exports.LogsExclusion = LogsExclusion;
+/**
+ * @ignore
+ */
+LogsExclusion.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "LogsExclusionFilter",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsExclusion.js.map
+
+/***/ }),
+
+/***/ 50998:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsExclusionFilter = void 0;
+/**
+ * Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.
+ */
+class LogsExclusionFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsExclusionFilter.attributeTypeMap;
+    }
+}
+exports.LogsExclusionFilter = LogsExclusionFilter;
+/**
+ * @ignore
+ */
+LogsExclusionFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    sampleRate: {
+        baseName: "sample_rate",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=LogsExclusionFilter.js.map
+
+/***/ }),
+
+/***/ 14392:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsFilter = void 0;
+/**
+ * Filter for logs.
+ */
+class LogsFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsFilter.attributeTypeMap;
+    }
+}
+exports.LogsFilter = LogsFilter;
+/**
+ * @ignore
+ */
+LogsFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsFilter.js.map
+
+/***/ }),
+
+/***/ 62312:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsGeoIPParser = void 0;
+/**
+ * The GeoIP parser takes an IP address attribute and extracts if available
+ * the Continent, Country, Subdivision, and City information in the target attribute path.
+ */
+class LogsGeoIPParser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsGeoIPParser.attributeTypeMap;
+    }
+}
+exports.LogsGeoIPParser = LogsGeoIPParser;
+/**
+ * @ignore
+ */
+LogsGeoIPParser.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsGeoIPParserType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsGeoIPParser.js.map
+
+/***/ }),
+
+/***/ 88415:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsGrokParser = void 0;
+/**
+ * Create custom grok rules to parse the full message or [a specific attribute of your raw event](https://docs.datadoghq.com/logs/log_configuration/parsing/#advanced-settings).
+ * For more information, see the [parsing section](https://docs.datadoghq.com/logs/log_configuration/parsing).
+ */
+class LogsGrokParser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsGrokParser.attributeTypeMap;
+    }
+}
+exports.LogsGrokParser = LogsGrokParser;
+/**
+ * @ignore
+ */
+LogsGrokParser.attributeTypeMap = {
+    grok: {
+        baseName: "grok",
+        type: "LogsGrokParserRules",
+        required: true,
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    samples: {
+        baseName: "samples",
+        type: "Array",
+    },
+    source: {
+        baseName: "source",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsGrokParserType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsGrokParser.js.map
+
+/***/ }),
+
+/***/ 43761:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsGrokParserRules = void 0;
+/**
+ * Set of rules for the grok parser.
+ */
+class LogsGrokParserRules {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsGrokParserRules.attributeTypeMap;
+    }
+}
+exports.LogsGrokParserRules = LogsGrokParserRules;
+/**
+ * @ignore
+ */
+LogsGrokParserRules.attributeTypeMap = {
+    matchRules: {
+        baseName: "match_rules",
+        type: "string",
+        required: true,
+    },
+    supportRules: {
+        baseName: "support_rules",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsGrokParserRules.js.map
+
+/***/ }),
+
+/***/ 43798:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsIndex = void 0;
+/**
+ * Object describing a Datadog Log index.
+ */
+class LogsIndex {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsIndex.attributeTypeMap;
+    }
+}
+exports.LogsIndex = LogsIndex;
+/**
+ * @ignore
+ */
+LogsIndex.attributeTypeMap = {
+    dailyLimit: {
+        baseName: "daily_limit",
+        type: "number",
+        format: "int64",
+    },
+    exclusionFilters: {
+        baseName: "exclusion_filters",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsFilter",
+        required: true,
+    },
+    isRateLimited: {
+        baseName: "is_rate_limited",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    numRetentionDays: {
+        baseName: "num_retention_days",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=LogsIndex.js.map
+
+/***/ }),
+
+/***/ 66733:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsIndexListResponse = void 0;
+/**
+ * Object with all Index configurations for a given organization.
+ */
+class LogsIndexListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsIndexListResponse.attributeTypeMap;
+    }
+}
+exports.LogsIndexListResponse = LogsIndexListResponse;
+/**
+ * @ignore
+ */
+LogsIndexListResponse.attributeTypeMap = {
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsIndexListResponse.js.map
+
+/***/ }),
+
+/***/ 2118:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsIndexUpdateRequest = void 0;
+/**
+ * Object for updating a Datadog Log index.
+ */
+class LogsIndexUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsIndexUpdateRequest.attributeTypeMap;
+    }
+}
+exports.LogsIndexUpdateRequest = LogsIndexUpdateRequest;
+/**
+ * @ignore
+ */
+LogsIndexUpdateRequest.attributeTypeMap = {
+    dailyLimit: {
+        baseName: "daily_limit",
+        type: "number",
+        format: "int64",
+    },
+    disableDailyLimit: {
+        baseName: "disable_daily_limit",
+        type: "boolean",
+    },
+    exclusionFilters: {
+        baseName: "exclusion_filters",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsFilter",
+        required: true,
+    },
+    numRetentionDays: {
+        baseName: "num_retention_days",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=LogsIndexUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 40336:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsIndexesOrder = void 0;
+/**
+ * Object containing the ordered list of log index names.
+ */
+class LogsIndexesOrder {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsIndexesOrder.attributeTypeMap;
+    }
+}
+exports.LogsIndexesOrder = LogsIndexesOrder;
+/**
+ * @ignore
+ */
+LogsIndexesOrder.attributeTypeMap = {
+    indexNames: {
+        baseName: "index_names",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsIndexesOrder.js.map
+
+/***/ }),
+
+/***/ 71874:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListRequest = void 0;
+/**
+ * Object to send with the request to retrieve a list of logs from your Organization.
+ */
+class LogsListRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListRequest.attributeTypeMap;
+    }
+}
+exports.LogsListRequest = LogsListRequest;
+/**
+ * @ignore
+ */
+LogsListRequest.attributeTypeMap = {
+    index: {
+        baseName: "index",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    sort: {
+        baseName: "sort",
+        type: "LogsSort",
+    },
+    startAt: {
+        baseName: "startAt",
+        type: "string",
+    },
+    time: {
+        baseName: "time",
+        type: "LogsListRequestTime",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsListRequest.js.map
+
+/***/ }),
+
+/***/ 79936:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListRequestTime = void 0;
+/**
+ * Timeframe to retrieve the log from.
+ */
+class LogsListRequestTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListRequestTime.attributeTypeMap;
+    }
+}
+exports.LogsListRequestTime = LogsListRequestTime;
+/**
+ * @ignore
+ */
+LogsListRequestTime.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=LogsListRequestTime.js.map
+
+/***/ }),
+
+/***/ 59795:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListResponse = void 0;
+/**
+ * Response object with all logs matching the request and pagination information.
+ */
+class LogsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListResponse.attributeTypeMap;
+    }
+}
+exports.LogsListResponse = LogsListResponse;
+/**
+ * @ignore
+ */
+LogsListResponse.attributeTypeMap = {
+    logs: {
+        baseName: "logs",
+        type: "Array",
+    },
+    nextLogId: {
+        baseName: "nextLogId",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsListResponse.js.map
+
+/***/ }),
+
+/***/ 71130:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsLookupProcessor = void 0;
+/**
+ * Use the Lookup Processor to define a mapping between a log attribute
+ * and a human readable value saved in the processors mapping table.
+ * For example, you can use the Lookup Processor to map an internal service ID
+ * into a human readable service name. Alternatively, you could also use it to check
+ * if the MAC address that just attempted to connect to the production
+ * environment belongs to your list of stolen machines.
+ */
+class LogsLookupProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsLookupProcessor.attributeTypeMap;
+    }
+}
+exports.LogsLookupProcessor = LogsLookupProcessor;
+/**
+ * @ignore
+ */
+LogsLookupProcessor.attributeTypeMap = {
+    defaultLookup: {
+        baseName: "default_lookup",
+        type: "string",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    lookupTable: {
+        baseName: "lookup_table",
+        type: "Array",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    source: {
+        baseName: "source",
+        type: "string",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsLookupProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsLookupProcessor.js.map
+
+/***/ }),
+
+/***/ 18922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMessageRemapper = void 0;
+/**
+ * The message is a key attribute in Datadog.
+ * It is displayed in the message column of the Log Explorer and you can do full string search on it.
+ * Use this Processor to define one or more attributes as the official log message.
+ *
+ * **Note:** If multiple log message remapper processors can be applied to a given log,
+ * only the first one (according to the pipeline order) is taken into account.
+ */
+class LogsMessageRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMessageRemapper.attributeTypeMap;
+    }
+}
+exports.LogsMessageRemapper = LogsMessageRemapper;
+/**
+ * @ignore
+ */
+LogsMessageRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsMessageRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsMessageRemapper.js.map
+
+/***/ }),
+
+/***/ 25236:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsPipeline = void 0;
+/**
+ * Pipelines and processors operate on incoming logs,
+ * parsing and transforming them into structured attributes for easier querying.
+ *
+ * **Note**: These endpoints are only available for admin users.
+ * Make sure to use an application key created by an admin.
+ */
+class LogsPipeline {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsPipeline.attributeTypeMap;
+    }
+}
+exports.LogsPipeline = LogsPipeline;
+/**
+ * @ignore
+ */
+LogsPipeline.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "LogsFilter",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    isReadOnly: {
+        baseName: "is_read_only",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    processors: {
+        baseName: "processors",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsPipeline.js.map
+
+/***/ }),
+
+/***/ 29684:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsPipelineProcessor = void 0;
+/**
+ * Nested Pipelines are pipelines within a pipeline. Use Nested Pipelines to split the processing into two steps.
+ * For example, first use a high-level filtering such as team and then a second level of filtering based on the
+ * integration, service, or any other tag or attribute.
+ *
+ * A pipeline can contain Nested Pipelines and Processors whereas a Nested Pipeline can only contain Processors.
+ */
+class LogsPipelineProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsPipelineProcessor.attributeTypeMap;
+    }
+}
+exports.LogsPipelineProcessor = LogsPipelineProcessor;
+/**
+ * @ignore
+ */
+LogsPipelineProcessor.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "LogsFilter",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    processors: {
+        baseName: "processors",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsPipelineProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsPipelineProcessor.js.map
+
+/***/ }),
+
+/***/ 82301:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsPipelinesOrder = void 0;
+/**
+ * Object containing the ordered list of pipeline IDs.
+ */
+class LogsPipelinesOrder {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsPipelinesOrder.attributeTypeMap;
+    }
+}
+exports.LogsPipelinesOrder = LogsPipelinesOrder;
+/**
+ * @ignore
+ */
+LogsPipelinesOrder.attributeTypeMap = {
+    pipelineIds: {
+        baseName: "pipeline_ids",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsPipelinesOrder.js.map
+
+/***/ }),
+
+/***/ 12678:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsQueryCompute = void 0;
+/**
+ * Define computation for a log query.
+ */
+class LogsQueryCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsQueryCompute.attributeTypeMap;
+    }
+}
+exports.LogsQueryCompute = LogsQueryCompute;
+/**
+ * @ignore
+ */
+LogsQueryCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "string",
+        required: true,
+    },
+    facet: {
+        baseName: "facet",
+        type: "string",
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=LogsQueryCompute.js.map
+
+/***/ }),
+
+/***/ 79319:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsRetentionAggSumUsage = void 0;
+/**
+ * Object containing indexed logs usage aggregated across organizations and months for a retention period.
+ */
+class LogsRetentionAggSumUsage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsRetentionAggSumUsage.attributeTypeMap;
+    }
+}
+exports.LogsRetentionAggSumUsage = LogsRetentionAggSumUsage;
+/**
+ * @ignore
+ */
+LogsRetentionAggSumUsage.attributeTypeMap = {
+    logsIndexedLogsUsageAggSum: {
+        baseName: "logs_indexed_logs_usage_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    logsLiveIndexedLogsUsageAggSum: {
+        baseName: "logs_live_indexed_logs_usage_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    logsRehydratedIndexedLogsUsageAggSum: {
+        baseName: "logs_rehydrated_indexed_logs_usage_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    retention: {
+        baseName: "retention",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsRetentionAggSumUsage.js.map
+
+/***/ }),
+
+/***/ 26705:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsRetentionSumUsage = void 0;
+/**
+ * Object containing indexed logs usage grouped by retention period and summed.
+ */
+class LogsRetentionSumUsage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsRetentionSumUsage.attributeTypeMap;
+    }
+}
+exports.LogsRetentionSumUsage = LogsRetentionSumUsage;
+/**
+ * @ignore
+ */
+LogsRetentionSumUsage.attributeTypeMap = {
+    logsIndexedLogsUsageSum: {
+        baseName: "logs_indexed_logs_usage_sum",
+        type: "number",
+        format: "int64",
+    },
+    logsLiveIndexedLogsUsageSum: {
+        baseName: "logs_live_indexed_logs_usage_sum",
+        type: "number",
+        format: "int64",
+    },
+    logsRehydratedIndexedLogsUsageSum: {
+        baseName: "logs_rehydrated_indexed_logs_usage_sum",
+        type: "number",
+        format: "int64",
+    },
+    retention: {
+        baseName: "retention",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsRetentionSumUsage.js.map
+
+/***/ }),
+
+/***/ 69728:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsServiceRemapper = void 0;
+/**
+ * Use this processor if you want to assign one or more attributes as the official service.
+ *
+ * **Note:** If multiple service remapper processors can be applied to a given log,
+ * only the first one (according to the pipeline order) is taken into account.
+ */
+class LogsServiceRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsServiceRemapper.attributeTypeMap;
+    }
+}
+exports.LogsServiceRemapper = LogsServiceRemapper;
+/**
+ * @ignore
+ */
+LogsServiceRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsServiceRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsServiceRemapper.js.map
+
+/***/ }),
+
+/***/ 56044:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsStatusRemapper = void 0;
+/**
+ * Use this Processor if you want to assign some attributes as the official status.
+ *
+ * Each incoming status value is mapped as follows.
+ *
+ *   - Integers from 0 to 7 map to the Syslog severity standards
+ *   - Strings beginning with `emerg` or f (case-insensitive) map to `emerg` (0)
+ *   - Strings beginning with `a` (case-insensitive) map to `alert` (1)
+ *   - Strings beginning with `c` (case-insensitive) map to `critical` (2)
+ *   - Strings beginning with `err` (case-insensitive) map to `error` (3)
+ *   - Strings beginning with `w` (case-insensitive) map to `warning` (4)
+ *   - Strings beginning with `n` (case-insensitive) map to `notice` (5)
+ *   - Strings beginning with `i` (case-insensitive) map to `info` (6)
+ *   - Strings beginning with `d`, `trace` or `verbose` (case-insensitive) map to `debug` (7)
+ *   - Strings beginning with `o` or matching `OK` or `Success` (case-insensitive) map to OK
+ *   - All others map to `info` (6)
+ *
+ *   **Note:** If multiple log status remapper processors can be applied to a given log,
+ *   only the first one (according to the pipelines order) is taken into account.
+ */
+class LogsStatusRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsStatusRemapper.attributeTypeMap;
+    }
+}
+exports.LogsStatusRemapper = LogsStatusRemapper;
+/**
+ * @ignore
+ */
+LogsStatusRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsStatusRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsStatusRemapper.js.map
+
+/***/ }),
+
+/***/ 74046:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsStringBuilderProcessor = void 0;
+/**
+ * Use the string builder processor to add a new attribute (without spaces or special characters)
+ * to a log with the result of the provided template.
+ * This enables aggregation of different attributes or raw strings into a single attribute.
+ *
+ * The template is defined by both raw text and blocks with the syntax `%{attribute_path}`.
+ *
+ * **Notes**:
+ *
+ * - The processor only accepts attributes with values or an array of values in the blocks.
+ * - If an attribute cannot be used (object or array of object),
+ *   it is replaced by an empty string or the entire operation is skipped depending on your selection.
+ * - If the target attribute already exists, it is overwritten by the result of the template.
+ * - Results of the template cannot exceed 256 characters.
+ */
+class LogsStringBuilderProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsStringBuilderProcessor.attributeTypeMap;
+    }
+}
+exports.LogsStringBuilderProcessor = LogsStringBuilderProcessor;
+/**
+ * @ignore
+ */
+LogsStringBuilderProcessor.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    isReplaceMissing: {
+        baseName: "is_replace_missing",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    template: {
+        baseName: "template",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsStringBuilderProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsStringBuilderProcessor.js.map
+
+/***/ }),
+
+/***/ 5071:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsTraceRemapper = void 0;
+/**
+ * There are two ways to improve correlation between application traces and logs.
+ *
+ *   1. Follow the documentation on [how to inject a trace ID in the application logs](https://docs.datadoghq.com/tracing/connect_logs_and_traces)
+ *   and by default log integrations take care of all the rest of the setup.
+ *
+ *   2. Use the Trace remapper processor to define a log attribute as its associated trace ID.
+ */
+class LogsTraceRemapper {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsTraceRemapper.attributeTypeMap;
+    }
+}
+exports.LogsTraceRemapper = LogsTraceRemapper;
+/**
+ * @ignore
+ */
+LogsTraceRemapper.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsTraceRemapperType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsTraceRemapper.js.map
+
+/***/ }),
+
+/***/ 83013:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsURLParser = void 0;
+/**
+ * This processor extracts query parameters and other important parameters from a URL.
+ */
+class LogsURLParser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsURLParser.attributeTypeMap;
+    }
+}
+exports.LogsURLParser = LogsURLParser;
+/**
+ * @ignore
+ */
+LogsURLParser.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    normalizeEndingSlashes: {
+        baseName: "normalize_ending_slashes",
+        type: "boolean",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsURLParserType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsURLParser.js.map
+
+/***/ }),
+
+/***/ 81570:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsUserAgentParser = void 0;
+/**
+ * The User-Agent parser takes a User-Agent attribute and extracts the OS, browser, device, and other user data.
+ * It recognizes major bots like the Google Bot, Yahoo Slurp, and Bing.
+ */
+class LogsUserAgentParser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsUserAgentParser.attributeTypeMap;
+    }
+}
+exports.LogsUserAgentParser = LogsUserAgentParser;
+/**
+ * @ignore
+ */
+LogsUserAgentParser.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    isEncoded: {
+        baseName: "is_encoded",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sources: {
+        baseName: "sources",
+        type: "Array",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsUserAgentParserType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsUserAgentParser.js.map
+
+/***/ }),
+
+/***/ 96838:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MatchingDowntime = void 0;
+/**
+ * Object describing a downtime that matches this monitor.
+ */
+class MatchingDowntime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MatchingDowntime.attributeTypeMap;
+    }
+}
+exports.MatchingDowntime = MatchingDowntime;
+/**
+ * @ignore
+ */
+MatchingDowntime.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    scope: {
+        baseName: "scope",
+        type: "Array",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MatchingDowntime.js.map
+
+/***/ }),
+
+/***/ 74079:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricMetadata = void 0;
+/**
+ * Object with all metric related metadata.
+ */
+class MetricMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricMetadata.attributeTypeMap;
+    }
+}
+exports.MetricMetadata = MetricMetadata;
+/**
+ * @ignore
+ */
+MetricMetadata.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    integration: {
+        baseName: "integration",
+        type: "string",
+    },
+    perUnit: {
+        baseName: "per_unit",
+        type: "string",
+    },
+    shortName: {
+        baseName: "short_name",
+        type: "string",
+    },
+    statsdInterval: {
+        baseName: "statsd_interval",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+    unit: {
+        baseName: "unit",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MetricMetadata.js.map
+
+/***/ }),
+
+/***/ 63454:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSearchResponse = void 0;
+/**
+ * Object containing the list of metrics matching the search query.
+ */
+class MetricSearchResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSearchResponse.attributeTypeMap;
+    }
+}
+exports.MetricSearchResponse = MetricSearchResponse;
+/**
+ * @ignore
+ */
+MetricSearchResponse.attributeTypeMap = {
+    results: {
+        baseName: "results",
+        type: "MetricSearchResponseResults",
+    },
+};
+//# sourceMappingURL=MetricSearchResponse.js.map
+
+/***/ }),
+
+/***/ 48716:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSearchResponseResults = void 0;
+/**
+ * Search result.
+ */
+class MetricSearchResponseResults {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSearchResponseResults.attributeTypeMap;
+    }
+}
+exports.MetricSearchResponseResults = MetricSearchResponseResults;
+/**
+ * @ignore
+ */
+MetricSearchResponseResults.attributeTypeMap = {
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricSearchResponseResults.js.map
+
+/***/ }),
+
+/***/ 65432:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsListResponse = void 0;
+/**
+ * Object listing all metric names stored by Datadog since a given time.
+ */
+class MetricsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsListResponse.attributeTypeMap;
+    }
+}
+exports.MetricsListResponse = MetricsListResponse;
+/**
+ * @ignore
+ */
+MetricsListResponse.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricsListResponse.js.map
+
+/***/ }),
+
+/***/ 62675:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsPayload = void 0;
+/**
+ * The metrics' payload.
+ */
+class MetricsPayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsPayload.attributeTypeMap;
+    }
+}
+exports.MetricsPayload = MetricsPayload;
+/**
+ * @ignore
+ */
+MetricsPayload.attributeTypeMap = {
+    series: {
+        baseName: "series",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricsPayload.js.map
+
+/***/ }),
+
+/***/ 46191:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsQueryMetadata = void 0;
+/**
+ * Object containing all metric names returned and their associated metadata.
+ */
+class MetricsQueryMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsQueryMetadata.attributeTypeMap;
+    }
+}
+exports.MetricsQueryMetadata = MetricsQueryMetadata;
+/**
+ * @ignore
+ */
+MetricsQueryMetadata.attributeTypeMap = {
+    aggr: {
+        baseName: "aggr",
+        type: "string",
+    },
+    displayName: {
+        baseName: "display_name",
+        type: "string",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    length: {
+        baseName: "length",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    pointlist: {
+        baseName: "pointlist",
+        type: "Array<[number, number]>",
+        format: "double",
+    },
+    queryIndex: {
+        baseName: "query_index",
+        type: "number",
+        format: "int64",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    tagSet: {
+        baseName: "tag_set",
+        type: "Array",
+    },
+    unit: {
+        baseName: "unit",
+        type: "[MetricsQueryUnit, MetricsQueryUnit]",
+    },
+};
+//# sourceMappingURL=MetricsQueryMetadata.js.map
+
+/***/ }),
+
+/***/ 87587:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsQueryResponse = void 0;
+/**
+ * Response Object that includes your query and the list of metrics retrieved.
+ */
+class MetricsQueryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsQueryResponse.attributeTypeMap;
+    }
+}
+exports.MetricsQueryResponse = MetricsQueryResponse;
+/**
+ * @ignore
+ */
+MetricsQueryResponse.attributeTypeMap = {
+    error: {
+        baseName: "error",
+        type: "string",
+    },
+    fromDate: {
+        baseName: "from_date",
+        type: "number",
+        format: "int64",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    resType: {
+        baseName: "res_type",
+        type: "string",
+    },
+    series: {
+        baseName: "series",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    toDate: {
+        baseName: "to_date",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MetricsQueryResponse.js.map
+
+/***/ }),
+
+/***/ 86914:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsQueryUnit = void 0;
+/**
+ * Object containing the metric unit family, scale factor, name, and short name.
+ */
+class MetricsQueryUnit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsQueryUnit.attributeTypeMap;
+    }
+}
+exports.MetricsQueryUnit = MetricsQueryUnit;
+/**
+ * @ignore
+ */
+MetricsQueryUnit.attributeTypeMap = {
+    family: {
+        baseName: "family",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    plural: {
+        baseName: "plural",
+        type: "string",
+    },
+    scaleFactor: {
+        baseName: "scale_factor",
+        type: "number",
+        format: "double",
+    },
+    shortName: {
+        baseName: "short_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MetricsQueryUnit.js.map
+
+/***/ }),
+
+/***/ 91194:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Monitor = void 0;
+/**
+ * Object describing a monitor.
+ */
+class Monitor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Monitor.attributeTypeMap;
+    }
+}
+exports.Monitor = Monitor;
+/**
+ * @ignore
+ */
+Monitor.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    deleted: {
+        baseName: "deleted",
+        type: "Date",
+        format: "date-time",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    matchingDowntimes: {
+        baseName: "matching_downtimes",
+        type: "Array",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    multi: {
+        baseName: "multi",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "MonitorOptions",
+    },
+    overallState: {
+        baseName: "overall_state",
+        type: "MonitorOverallStates",
+    },
+    priority: {
+        baseName: "priority",
+        type: "number",
+        format: "int64",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+    state: {
+        baseName: "state",
+        type: "MonitorState",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=Monitor.js.map
+
+/***/ }),
+
+/***/ 8466:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorFormulaAndFunctionEventQueryDefinition = void 0;
+/**
+ * A formula and functions events query.
+ */
+class MonitorFormulaAndFunctionEventQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorFormulaAndFunctionEventQueryDefinition.attributeTypeMap;
+    }
+}
+exports.MonitorFormulaAndFunctionEventQueryDefinition = MonitorFormulaAndFunctionEventQueryDefinition;
+/**
+ * @ignore
+ */
+MonitorFormulaAndFunctionEventQueryDefinition.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "MonitorFormulaAndFunctionEventQueryDefinitionCompute",
+        required: true,
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "MonitorFormulaAndFunctionEventsDataSource",
+        required: true,
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    search: {
+        baseName: "search",
+        type: "MonitorFormulaAndFunctionEventQueryDefinitionSearch",
+    },
+};
+//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 17740:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = void 0;
+/**
+ * Compute options.
+ */
+class MonitorFormulaAndFunctionEventQueryDefinitionCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorFormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap;
+    }
+}
+exports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = MonitorFormulaAndFunctionEventQueryDefinitionCompute;
+/**
+ * @ignore
+ */
+MonitorFormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "MonitorFormulaAndFunctionEventAggregation",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinitionCompute.js.map
+
+/***/ }),
+
+/***/ 91161:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = void 0;
+/**
+ * Search options.
+ */
+class MonitorFormulaAndFunctionEventQueryDefinitionSearch {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorFormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap;
+    }
+}
+exports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = MonitorFormulaAndFunctionEventQueryDefinitionSearch;
+/**
+ * @ignore
+ */
+MonitorFormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinitionSearch.js.map
+
+/***/ }),
+
+/***/ 77670:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorFormulaAndFunctionEventQueryGroupBy = void 0;
+/**
+ * List of objects used to group by.
+ */
+class MonitorFormulaAndFunctionEventQueryGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorFormulaAndFunctionEventQueryGroupBy.attributeTypeMap;
+    }
+}
+exports.MonitorFormulaAndFunctionEventQueryGroupBy = MonitorFormulaAndFunctionEventQueryGroupBy;
+/**
+ * @ignore
+ */
+MonitorFormulaAndFunctionEventQueryGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    sort: {
+        baseName: "sort",
+        type: "MonitorFormulaAndFunctionEventQueryGroupBySort",
+    },
+};
+//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryGroupBy.js.map
+
+/***/ }),
+
+/***/ 37796:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorFormulaAndFunctionEventQueryGroupBySort = void 0;
+/**
+ * Options for sorting group by results.
+ */
+class MonitorFormulaAndFunctionEventQueryGroupBySort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorFormulaAndFunctionEventQueryGroupBySort.attributeTypeMap;
+    }
+}
+exports.MonitorFormulaAndFunctionEventQueryGroupBySort = MonitorFormulaAndFunctionEventQueryGroupBySort;
+/**
+ * @ignore
+ */
+MonitorFormulaAndFunctionEventQueryGroupBySort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "MonitorFormulaAndFunctionEventAggregation",
+        required: true,
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "QuerySortOrder",
+    },
+};
+//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryGroupBySort.js.map
+
+/***/ }),
+
+/***/ 33228:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorGroupSearchResponse = void 0;
+/**
+ * The response of a monitor group search.
+ */
+class MonitorGroupSearchResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorGroupSearchResponse.attributeTypeMap;
+    }
+}
+exports.MonitorGroupSearchResponse = MonitorGroupSearchResponse;
+/**
+ * @ignore
+ */
+MonitorGroupSearchResponse.attributeTypeMap = {
+    counts: {
+        baseName: "counts",
+        type: "MonitorGroupSearchResponseCounts",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "MonitorSearchResponseMetadata",
+    },
+};
+//# sourceMappingURL=MonitorGroupSearchResponse.js.map
+
+/***/ }),
+
+/***/ 29051:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorGroupSearchResponseCounts = void 0;
+/**
+ * The counts of monitor groups per different criteria.
+ */
+class MonitorGroupSearchResponseCounts {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorGroupSearchResponseCounts.attributeTypeMap;
+    }
+}
+exports.MonitorGroupSearchResponseCounts = MonitorGroupSearchResponseCounts;
+/**
+ * @ignore
+ */
+MonitorGroupSearchResponseCounts.attributeTypeMap = {
+    status: {
+        baseName: "status",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorGroupSearchResponseCounts.js.map
+
+/***/ }),
+
+/***/ 96576:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorGroupSearchResult = void 0;
+/**
+ * A single monitor group search result.
+ */
+class MonitorGroupSearchResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorGroupSearchResult.attributeTypeMap;
+    }
+}
+exports.MonitorGroupSearchResult = MonitorGroupSearchResult;
+/**
+ * @ignore
+ */
+MonitorGroupSearchResult.attributeTypeMap = {
+    group: {
+        baseName: "group",
+        type: "string",
+    },
+    groupTags: {
+        baseName: "group_tags",
+        type: "Array",
+    },
+    lastNodataTs: {
+        baseName: "last_nodata_ts",
+        type: "number",
+        format: "int64",
+    },
+    lastTriggeredTs: {
+        baseName: "last_triggered_ts",
+        type: "number",
+        format: "int64",
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    monitorName: {
+        baseName: "monitor_name",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "MonitorOverallStates",
+    },
+};
+//# sourceMappingURL=MonitorGroupSearchResult.js.map
+
+/***/ }),
+
+/***/ 91250:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorOptions = void 0;
+/**
+ * List of options associated with your monitor.
+ */
+class MonitorOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorOptions.attributeTypeMap;
+    }
+}
+exports.MonitorOptions = MonitorOptions;
+/**
+ * @ignore
+ */
+MonitorOptions.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "MonitorOptionsAggregation",
+    },
+    deviceIds: {
+        baseName: "device_ids",
+        type: "Array",
+    },
+    enableLogsSample: {
+        baseName: "enable_logs_sample",
+        type: "boolean",
+    },
+    enableSamples: {
+        baseName: "enable_samples",
+        type: "boolean",
+    },
+    escalationMessage: {
+        baseName: "escalation_message",
+        type: "string",
+    },
+    evaluationDelay: {
+        baseName: "evaluation_delay",
+        type: "number",
+        format: "int64",
+    },
+    groupRetentionDuration: {
+        baseName: "group_retention_duration",
+        type: "string",
+    },
+    groupbySimpleMonitor: {
+        baseName: "groupby_simple_monitor",
+        type: "boolean",
+    },
+    includeTags: {
+        baseName: "include_tags",
+        type: "boolean",
+    },
+    locked: {
+        baseName: "locked",
+        type: "boolean",
+    },
+    minFailureDuration: {
+        baseName: "min_failure_duration",
+        type: "number",
+        format: "int64",
+    },
+    minLocationFailed: {
+        baseName: "min_location_failed",
+        type: "number",
+        format: "int64",
+    },
+    newGroupDelay: {
+        baseName: "new_group_delay",
+        type: "number",
+        format: "int64",
+    },
+    newHostDelay: {
+        baseName: "new_host_delay",
+        type: "number",
+        format: "int64",
+    },
+    noDataTimeframe: {
+        baseName: "no_data_timeframe",
+        type: "number",
+        format: "int64",
+    },
+    notificationPresetName: {
+        baseName: "notification_preset_name",
+        type: "MonitorOptionsNotificationPresets",
+    },
+    notifyAudit: {
+        baseName: "notify_audit",
+        type: "boolean",
+    },
+    notifyBy: {
+        baseName: "notify_by",
+        type: "Array",
+    },
+    notifyNoData: {
+        baseName: "notify_no_data",
+        type: "boolean",
+    },
+    onMissingData: {
+        baseName: "on_missing_data",
+        type: "OnMissingDataOption",
+    },
+    renotifyInterval: {
+        baseName: "renotify_interval",
+        type: "number",
+        format: "int64",
+    },
+    renotifyOccurrences: {
+        baseName: "renotify_occurrences",
+        type: "number",
+        format: "int64",
+    },
+    renotifyStatuses: {
+        baseName: "renotify_statuses",
+        type: "Array",
+    },
+    requireFullWindow: {
+        baseName: "require_full_window",
+        type: "boolean",
+    },
+    schedulingOptions: {
+        baseName: "scheduling_options",
+        type: "MonitorOptionsSchedulingOptions",
+    },
+    silenced: {
+        baseName: "silenced",
+        type: "{ [key: string]: number; }",
+    },
+    syntheticsCheckId: {
+        baseName: "synthetics_check_id",
+        type: "string",
+    },
+    thresholdWindows: {
+        baseName: "threshold_windows",
+        type: "MonitorThresholdWindowOptions",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "MonitorThresholds",
+    },
+    timeoutH: {
+        baseName: "timeout_h",
+        type: "number",
+        format: "int64",
+    },
+    variables: {
+        baseName: "variables",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorOptions.js.map
+
+/***/ }),
+
+/***/ 65829:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorOptionsAggregation = void 0;
+/**
+ * Type of aggregation performed in the monitor query.
+ */
+class MonitorOptionsAggregation {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorOptionsAggregation.attributeTypeMap;
+    }
+}
+exports.MonitorOptionsAggregation = MonitorOptionsAggregation;
+/**
+ * @ignore
+ */
+MonitorOptionsAggregation.attributeTypeMap = {
+    groupBy: {
+        baseName: "group_by",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonitorOptionsAggregation.js.map
+
+/***/ }),
+
+/***/ 452:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorOptionsSchedulingOptions = void 0;
+/**
+ * Configuration options for scheduling.
+ */
+class MonitorOptionsSchedulingOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorOptionsSchedulingOptions.attributeTypeMap;
+    }
+}
+exports.MonitorOptionsSchedulingOptions = MonitorOptionsSchedulingOptions;
+/**
+ * @ignore
+ */
+MonitorOptionsSchedulingOptions.attributeTypeMap = {
+    evaluationWindow: {
+        baseName: "evaluation_window",
+        type: "MonitorOptionsSchedulingOptionsEvaluationWindow",
+    },
+};
+//# sourceMappingURL=MonitorOptionsSchedulingOptions.js.map
+
+/***/ }),
+
+/***/ 22179:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorOptionsSchedulingOptionsEvaluationWindow = void 0;
+/**
+ * Configuration options for the evaluation window. If `hour_starts` is set, no other fields may be set. Otherwise, `day_starts` and `month_starts` must be set together.
+ */
+class MonitorOptionsSchedulingOptionsEvaluationWindow {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorOptionsSchedulingOptionsEvaluationWindow.attributeTypeMap;
+    }
+}
+exports.MonitorOptionsSchedulingOptionsEvaluationWindow = MonitorOptionsSchedulingOptionsEvaluationWindow;
+/**
+ * @ignore
+ */
+MonitorOptionsSchedulingOptionsEvaluationWindow.attributeTypeMap = {
+    dayStarts: {
+        baseName: "day_starts",
+        type: "string",
+    },
+    hourStarts: {
+        baseName: "hour_starts",
+        type: "number",
+        format: "int32",
+    },
+    monthStarts: {
+        baseName: "month_starts",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=MonitorOptionsSchedulingOptionsEvaluationWindow.js.map
+
+/***/ }),
+
+/***/ 36921:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchCountItem = void 0;
+/**
+ * A facet item.
+ */
+class MonitorSearchCountItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchCountItem.attributeTypeMap;
+    }
+}
+exports.MonitorSearchCountItem = MonitorSearchCountItem;
+/**
+ * @ignore
+ */
+MonitorSearchCountItem.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "any",
+    },
+};
+//# sourceMappingURL=MonitorSearchCountItem.js.map
+
+/***/ }),
+
+/***/ 76822:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchResponse = void 0;
+/**
+ * The response form a monitor search.
+ */
+class MonitorSearchResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchResponse.attributeTypeMap;
+    }
+}
+exports.MonitorSearchResponse = MonitorSearchResponse;
+/**
+ * @ignore
+ */
+MonitorSearchResponse.attributeTypeMap = {
+    counts: {
+        baseName: "counts",
+        type: "MonitorSearchResponseCounts",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "MonitorSearchResponseMetadata",
+    },
+    monitors: {
+        baseName: "monitors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorSearchResponse.js.map
+
+/***/ }),
+
+/***/ 87380:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchResponseCounts = void 0;
+/**
+ * The counts of monitors per different criteria.
+ */
+class MonitorSearchResponseCounts {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchResponseCounts.attributeTypeMap;
+    }
+}
+exports.MonitorSearchResponseCounts = MonitorSearchResponseCounts;
+/**
+ * @ignore
+ */
+MonitorSearchResponseCounts.attributeTypeMap = {
+    muted: {
+        baseName: "muted",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "Array",
+    },
+    tag: {
+        baseName: "tag",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorSearchResponseCounts.js.map
+
+/***/ }),
+
+/***/ 12780:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchResponseMetadata = void 0;
+/**
+ * Metadata about the response.
+ */
+class MonitorSearchResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchResponseMetadata.attributeTypeMap;
+    }
+}
+exports.MonitorSearchResponseMetadata = MonitorSearchResponseMetadata;
+/**
+ * @ignore
+ */
+MonitorSearchResponseMetadata.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "number",
+        format: "int64",
+    },
+    pageCount: {
+        baseName: "page_count",
+        type: "number",
+        format: "int64",
+    },
+    perPage: {
+        baseName: "per_page",
+        type: "number",
+        format: "int64",
+    },
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MonitorSearchResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 28771:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchResult = void 0;
+/**
+ * Holds search results.
+ */
+class MonitorSearchResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchResult.attributeTypeMap;
+    }
+}
+exports.MonitorSearchResult = MonitorSearchResult;
+/**
+ * @ignore
+ */
+MonitorSearchResult.attributeTypeMap = {
+    classification: {
+        baseName: "classification",
+        type: "string",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    lastTriggeredTs: {
+        baseName: "last_triggered_ts",
+        type: "number",
+        format: "int64",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    notifications: {
+        baseName: "notifications",
+        type: "Array",
+    },
+    orgId: {
+        baseName: "org_id",
+        type: "number",
+        format: "int64",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    scopes: {
+        baseName: "scopes",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "MonitorOverallStates",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorType",
+    },
+};
+//# sourceMappingURL=MonitorSearchResult.js.map
+
+/***/ }),
+
+/***/ 61491:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSearchResultNotification = void 0;
+/**
+ * A notification triggered by the monitor.
+ */
+class MonitorSearchResultNotification {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSearchResultNotification.attributeTypeMap;
+    }
+}
+exports.MonitorSearchResultNotification = MonitorSearchResultNotification;
+/**
+ * @ignore
+ */
+MonitorSearchResultNotification.attributeTypeMap = {
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonitorSearchResultNotification.js.map
+
+/***/ }),
+
+/***/ 46446:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorState = void 0;
+/**
+ * Wrapper object with the different monitor states.
+ */
+class MonitorState {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorState.attributeTypeMap;
+    }
+}
+exports.MonitorState = MonitorState;
+/**
+ * @ignore
+ */
+MonitorState.attributeTypeMap = {
+    groups: {
+        baseName: "groups",
+        type: "{ [key: string]: MonitorStateGroup; }",
+    },
+};
+//# sourceMappingURL=MonitorState.js.map
+
+/***/ }),
+
+/***/ 27727:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorStateGroup = void 0;
+/**
+ * Monitor state for a single group.
+ */
+class MonitorStateGroup {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorStateGroup.attributeTypeMap;
+    }
+}
+exports.MonitorStateGroup = MonitorStateGroup;
+/**
+ * @ignore
+ */
+MonitorStateGroup.attributeTypeMap = {
+    lastNodataTs: {
+        baseName: "last_nodata_ts",
+        type: "number",
+        format: "int64",
+    },
+    lastNotifiedTs: {
+        baseName: "last_notified_ts",
+        type: "number",
+        format: "int64",
+    },
+    lastResolvedTs: {
+        baseName: "last_resolved_ts",
+        type: "number",
+        format: "int64",
+    },
+    lastTriggeredTs: {
+        baseName: "last_triggered_ts",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "MonitorOverallStates",
+    },
+};
+//# sourceMappingURL=MonitorStateGroup.js.map
+
+/***/ }),
+
+/***/ 59402:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorSummaryWidgetDefinition = void 0;
+/**
+ * The monitor summary widget displays a summary view of all your Datadog monitors, or a subset based on a query. Only available on FREE layout dashboards.
+ */
+class MonitorSummaryWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorSummaryWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.MonitorSummaryWidgetDefinition = MonitorSummaryWidgetDefinition;
+/**
+ * @ignore
+ */
+MonitorSummaryWidgetDefinition.attributeTypeMap = {
+    colorPreference: {
+        baseName: "color_preference",
+        type: "WidgetColorPreference",
+    },
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    displayFormat: {
+        baseName: "display_format",
+        type: "WidgetMonitorSummaryDisplayFormat",
+    },
+    hideZeroCounts: {
+        baseName: "hide_zero_counts",
+        type: "boolean",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    showLastTriggered: {
+        baseName: "show_last_triggered",
+        type: "boolean",
+    },
+    showPriority: {
+        baseName: "show_priority",
+        type: "boolean",
+    },
+    sort: {
+        baseName: "sort",
+        type: "WidgetMonitorSummarySort",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    summaryType: {
+        baseName: "summary_type",
+        type: "WidgetSummaryType",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorSummaryWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorSummaryWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 84230:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorThresholdWindowOptions = void 0;
+/**
+ * Alerting time window options.
+ */
+class MonitorThresholdWindowOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorThresholdWindowOptions.attributeTypeMap;
+    }
+}
+exports.MonitorThresholdWindowOptions = MonitorThresholdWindowOptions;
+/**
+ * @ignore
+ */
+MonitorThresholdWindowOptions.attributeTypeMap = {
+    recoveryWindow: {
+        baseName: "recovery_window",
+        type: "string",
+    },
+    triggerWindow: {
+        baseName: "trigger_window",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonitorThresholdWindowOptions.js.map
+
+/***/ }),
+
+/***/ 32645:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorThresholds = void 0;
+/**
+ * List of the different monitor threshold available.
+ */
+class MonitorThresholds {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorThresholds.attributeTypeMap;
+    }
+}
+exports.MonitorThresholds = MonitorThresholds;
+/**
+ * @ignore
+ */
+MonitorThresholds.attributeTypeMap = {
+    critical: {
+        baseName: "critical",
+        type: "number",
+        format: "double",
+    },
+    criticalRecovery: {
+        baseName: "critical_recovery",
+        type: "number",
+        format: "double",
+    },
+    ok: {
+        baseName: "ok",
+        type: "number",
+        format: "double",
+    },
+    unknown: {
+        baseName: "unknown",
+        type: "number",
+        format: "double",
+    },
+    warning: {
+        baseName: "warning",
+        type: "number",
+        format: "double",
+    },
+    warningRecovery: {
+        baseName: "warning_recovery",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=MonitorThresholds.js.map
+
+/***/ }),
+
+/***/ 35051:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorUpdateRequest = void 0;
+/**
+ * Object describing a monitor update request.
+ */
+class MonitorUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorUpdateRequest.attributeTypeMap;
+    }
+}
+exports.MonitorUpdateRequest = MonitorUpdateRequest;
+/**
+ * @ignore
+ */
+MonitorUpdateRequest.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    deleted: {
+        baseName: "deleted",
+        type: "Date",
+        format: "date-time",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    multi: {
+        baseName: "multi",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "MonitorOptions",
+    },
+    overallState: {
+        baseName: "overall_state",
+        type: "MonitorOverallStates",
+    },
+    priority: {
+        baseName: "priority",
+        type: "number",
+        format: "int64",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+    state: {
+        baseName: "state",
+        type: "MonitorState",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorType",
+    },
+};
+//# sourceMappingURL=MonitorUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 20093:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonthlyUsageAttributionBody = void 0;
+/**
+ * Usage Summary by tag for a given organization.
+ */
+class MonthlyUsageAttributionBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonthlyUsageAttributionBody.attributeTypeMap;
+    }
+}
+exports.MonthlyUsageAttributionBody = MonthlyUsageAttributionBody;
+/**
+ * @ignore
+ */
+MonthlyUsageAttributionBody.attributeTypeMap = {
+    month: {
+        baseName: "month",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    tagConfigSource: {
+        baseName: "tag_config_source",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "{ [key: string]: Array; }",
+    },
+    updatedAt: {
+        baseName: "updated_at",
+        type: "Date",
+        format: "date-time",
+    },
+    values: {
+        baseName: "values",
+        type: "MonthlyUsageAttributionValues",
+    },
+};
+//# sourceMappingURL=MonthlyUsageAttributionBody.js.map
+
+/***/ }),
+
+/***/ 96777:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonthlyUsageAttributionMetadata = void 0;
+/**
+ * The object containing document metadata.
+ */
+class MonthlyUsageAttributionMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonthlyUsageAttributionMetadata.attributeTypeMap;
+    }
+}
+exports.MonthlyUsageAttributionMetadata = MonthlyUsageAttributionMetadata;
+/**
+ * @ignore
+ */
+MonthlyUsageAttributionMetadata.attributeTypeMap = {
+    aggregates: {
+        baseName: "aggregates",
+        type: "Array",
+    },
+    pagination: {
+        baseName: "pagination",
+        type: "MonthlyUsageAttributionPagination",
+    },
+};
+//# sourceMappingURL=MonthlyUsageAttributionMetadata.js.map
+
+/***/ }),
+
+/***/ 88496:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonthlyUsageAttributionPagination = void 0;
+/**
+ * The metadata for the current pagination.
+ */
+class MonthlyUsageAttributionPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonthlyUsageAttributionPagination.attributeTypeMap;
+    }
+}
+exports.MonthlyUsageAttributionPagination = MonthlyUsageAttributionPagination;
+/**
+ * @ignore
+ */
+MonthlyUsageAttributionPagination.attributeTypeMap = {
+    nextRecordId: {
+        baseName: "next_record_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonthlyUsageAttributionPagination.js.map
+
+/***/ }),
+
+/***/ 74006:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonthlyUsageAttributionResponse = void 0;
+/**
+ * Response containing the monthly Usage Summary by tag(s).
+ */
+class MonthlyUsageAttributionResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonthlyUsageAttributionResponse.attributeTypeMap;
+    }
+}
+exports.MonthlyUsageAttributionResponse = MonthlyUsageAttributionResponse;
+/**
+ * @ignore
+ */
+MonthlyUsageAttributionResponse.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "MonthlyUsageAttributionMetadata",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonthlyUsageAttributionResponse.js.map
+
+/***/ }),
+
+/***/ 45217:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonthlyUsageAttributionValues = void 0;
+/**
+ * Fields in Usage Summary by tag(s).
+ */
+class MonthlyUsageAttributionValues {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonthlyUsageAttributionValues.attributeTypeMap;
+    }
+}
+exports.MonthlyUsageAttributionValues = MonthlyUsageAttributionValues;
+/**
+ * @ignore
+ */
+MonthlyUsageAttributionValues.attributeTypeMap = {
+    apiPercentage: {
+        baseName: "api_percentage",
+        type: "number",
+        format: "double",
+    },
+    apiUsage: {
+        baseName: "api_usage",
+        type: "number",
+        format: "double",
+    },
+    apmFargatePercentage: {
+        baseName: "apm_fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    apmFargateUsage: {
+        baseName: "apm_fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    apmHostPercentage: {
+        baseName: "apm_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    apmHostUsage: {
+        baseName: "apm_host_usage",
+        type: "number",
+        format: "double",
+    },
+    apmUsmPercentage: {
+        baseName: "apm_usm_percentage",
+        type: "number",
+        format: "double",
+    },
+    apmUsmUsage: {
+        baseName: "apm_usm_usage",
+        type: "number",
+        format: "double",
+    },
+    appsecFargatePercentage: {
+        baseName: "appsec_fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    appsecFargateUsage: {
+        baseName: "appsec_fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    appsecPercentage: {
+        baseName: "appsec_percentage",
+        type: "number",
+        format: "double",
+    },
+    appsecUsage: {
+        baseName: "appsec_usage",
+        type: "number",
+        format: "double",
+    },
+    browserPercentage: {
+        baseName: "browser_percentage",
+        type: "number",
+        format: "double",
+    },
+    browserUsage: {
+        baseName: "browser_usage",
+        type: "number",
+        format: "double",
+    },
+    ciVisibilityItrPercentage: {
+        baseName: "ci_visibility_itr_percentage",
+        type: "number",
+        format: "double",
+    },
+    ciVisibilityItrUsage: {
+        baseName: "ci_visibility_itr_usage",
+        type: "number",
+        format: "double",
+    },
+    containerExclAgentPercentage: {
+        baseName: "container_excl_agent_percentage",
+        type: "number",
+        format: "double",
+    },
+    containerExclAgentUsage: {
+        baseName: "container_excl_agent_usage",
+        type: "number",
+        format: "double",
+    },
+    containerPercentage: {
+        baseName: "container_percentage",
+        type: "number",
+        format: "double",
+    },
+    containerUsage: {
+        baseName: "container_usage",
+        type: "number",
+        format: "double",
+    },
+    cspmContainersPercentage: {
+        baseName: "cspm_containers_percentage",
+        type: "number",
+        format: "double",
+    },
+    cspmContainersUsage: {
+        baseName: "cspm_containers_usage",
+        type: "number",
+        format: "double",
+    },
+    cspmHostsPercentage: {
+        baseName: "cspm_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    cspmHostsUsage: {
+        baseName: "cspm_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+    customIngestedTimeseriesPercentage: {
+        baseName: "custom_ingested_timeseries_percentage",
+        type: "number",
+        format: "double",
+    },
+    customIngestedTimeseriesUsage: {
+        baseName: "custom_ingested_timeseries_usage",
+        type: "number",
+        format: "double",
+    },
+    customTimeseriesPercentage: {
+        baseName: "custom_timeseries_percentage",
+        type: "number",
+        format: "double",
+    },
+    customTimeseriesUsage: {
+        baseName: "custom_timeseries_usage",
+        type: "number",
+        format: "double",
+    },
+    cwsContainersPercentage: {
+        baseName: "cws_containers_percentage",
+        type: "number",
+        format: "double",
+    },
+    cwsContainersUsage: {
+        baseName: "cws_containers_usage",
+        type: "number",
+        format: "double",
+    },
+    cwsHostsPercentage: {
+        baseName: "cws_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    cwsHostsUsage: {
+        baseName: "cws_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+    dbmHostsPercentage: {
+        baseName: "dbm_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    dbmHostsUsage: {
+        baseName: "dbm_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+    dbmQueriesPercentage: {
+        baseName: "dbm_queries_percentage",
+        type: "number",
+        format: "double",
+    },
+    dbmQueriesUsage: {
+        baseName: "dbm_queries_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedLogsPercentage: {
+        baseName: "estimated_indexed_logs_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedLogsUsage: {
+        baseName: "estimated_indexed_logs_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedSpansPercentage: {
+        baseName: "estimated_indexed_spans_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedSpansUsage: {
+        baseName: "estimated_indexed_spans_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedLogsPercentage: {
+        baseName: "estimated_ingested_logs_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedLogsUsage: {
+        baseName: "estimated_ingested_logs_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedSpansPercentage: {
+        baseName: "estimated_ingested_spans_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedSpansUsage: {
+        baseName: "estimated_ingested_spans_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedRumSessionsPercentage: {
+        baseName: "estimated_rum_sessions_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedRumSessionsUsage: {
+        baseName: "estimated_rum_sessions_usage",
+        type: "number",
+        format: "double",
+    },
+    fargatePercentage: {
+        baseName: "fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    fargateUsage: {
+        baseName: "fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    functionsPercentage: {
+        baseName: "functions_percentage",
+        type: "number",
+        format: "double",
+    },
+    functionsUsage: {
+        baseName: "functions_usage",
+        type: "number",
+        format: "double",
+    },
+    infraHostPercentage: {
+        baseName: "infra_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    infraHostUsage: {
+        baseName: "infra_host_usage",
+        type: "number",
+        format: "double",
+    },
+    invocationsPercentage: {
+        baseName: "invocations_percentage",
+        type: "number",
+        format: "double",
+    },
+    invocationsUsage: {
+        baseName: "invocations_usage",
+        type: "number",
+        format: "double",
+    },
+    mobileAppTestingPercentage: {
+        baseName: "mobile_app_testing_percentage",
+        type: "number",
+        format: "double",
+    },
+    mobileAppTestingUsage: {
+        baseName: "mobile_app_testing_usage",
+        type: "number",
+        format: "double",
+    },
+    npmHostPercentage: {
+        baseName: "npm_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    npmHostUsage: {
+        baseName: "npm_host_usage",
+        type: "number",
+        format: "double",
+    },
+    obsPipelineBytesPercentage: {
+        baseName: "obs_pipeline_bytes_percentage",
+        type: "number",
+        format: "double",
+    },
+    obsPipelineBytesUsage: {
+        baseName: "obs_pipeline_bytes_usage",
+        type: "number",
+        format: "double",
+    },
+    profiledContainerPercentage: {
+        baseName: "profiled_container_percentage",
+        type: "number",
+        format: "double",
+    },
+    profiledContainerUsage: {
+        baseName: "profiled_container_usage",
+        type: "number",
+        format: "double",
+    },
+    profiledFargatePercentage: {
+        baseName: "profiled_fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    profiledFargateUsage: {
+        baseName: "profiled_fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    profiledHostPercentage: {
+        baseName: "profiled_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    profiledHostUsage: {
+        baseName: "profiled_host_usage",
+        type: "number",
+        format: "double",
+    },
+    sdsScannedBytesPercentage: {
+        baseName: "sds_scanned_bytes_percentage",
+        type: "number",
+        format: "double",
+    },
+    sdsScannedBytesUsage: {
+        baseName: "sds_scanned_bytes_usage",
+        type: "number",
+        format: "double",
+    },
+    snmpPercentage: {
+        baseName: "snmp_percentage",
+        type: "number",
+        format: "double",
+    },
+    snmpUsage: {
+        baseName: "snmp_usage",
+        type: "number",
+        format: "double",
+    },
+    universalServiceMonitoringPercentage: {
+        baseName: "universal_service_monitoring_percentage",
+        type: "number",
+        format: "double",
+    },
+    universalServiceMonitoringUsage: {
+        baseName: "universal_service_monitoring_usage",
+        type: "number",
+        format: "double",
+    },
+    vulnManagementHostsPercentage: {
+        baseName: "vuln_management_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    vulnManagementHostsUsage: {
+        baseName: "vuln_management_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=MonthlyUsageAttributionValues.js.map
+
+/***/ }),
+
+/***/ 16120:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NoteWidgetDefinition = void 0;
+/**
+ * The notes and links widget is similar to free text widget, but allows for more formatting options.
+ */
+class NoteWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NoteWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.NoteWidgetDefinition = NoteWidgetDefinition;
+/**
+ * @ignore
+ */
+NoteWidgetDefinition.attributeTypeMap = {
+    backgroundColor: {
+        baseName: "background_color",
+        type: "string",
+    },
+    content: {
+        baseName: "content",
+        type: "string",
+        required: true,
+    },
+    fontSize: {
+        baseName: "font_size",
+        type: "string",
+    },
+    hasPadding: {
+        baseName: "has_padding",
+        type: "boolean",
+    },
+    showTick: {
+        baseName: "show_tick",
+        type: "boolean",
+    },
+    textAlign: {
+        baseName: "text_align",
+        type: "WidgetTextAlign",
+    },
+    tickEdge: {
+        baseName: "tick_edge",
+        type: "WidgetTickEdge",
+    },
+    tickPos: {
+        baseName: "tick_pos",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "NoteWidgetDefinitionType",
+        required: true,
+    },
+    verticalAlign: {
+        baseName: "vertical_align",
+        type: "WidgetVerticalAlign",
+    },
+};
+//# sourceMappingURL=NoteWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 13596:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookAbsoluteTime = void 0;
+/**
+ * Absolute timeframe.
+ */
+class NotebookAbsoluteTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookAbsoluteTime.attributeTypeMap;
+    }
+}
+exports.NotebookAbsoluteTime = NotebookAbsoluteTime;
+/**
+ * @ignore
+ */
+NotebookAbsoluteTime.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    live: {
+        baseName: "live",
+        type: "boolean",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=NotebookAbsoluteTime.js.map
+
+/***/ }),
+
+/***/ 80100:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookAuthor = void 0;
+/**
+ * Attributes of user object returned by the API.
+ */
+class NotebookAuthor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookAuthor.attributeTypeMap;
+    }
+}
+exports.NotebookAuthor = NotebookAuthor;
+/**
+ * @ignore
+ */
+NotebookAuthor.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    icon: {
+        baseName: "icon",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    verified: {
+        baseName: "verified",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=NotebookAuthor.js.map
+
+/***/ }),
+
+/***/ 58474:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCellCreateRequest = void 0;
+/**
+ * The description of a notebook cell create request.
+ */
+class NotebookCellCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCellCreateRequest.attributeTypeMap;
+    }
+}
+exports.NotebookCellCreateRequest = NotebookCellCreateRequest;
+/**
+ * @ignore
+ */
+NotebookCellCreateRequest.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookCellCreateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookCellResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCellCreateRequest.js.map
+
+/***/ }),
+
+/***/ 25109:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCellResponse = void 0;
+/**
+ * The description of a notebook cell response.
+ */
+class NotebookCellResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCellResponse.attributeTypeMap;
+    }
+}
+exports.NotebookCellResponse = NotebookCellResponse;
+/**
+ * @ignore
+ */
+NotebookCellResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookCellResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookCellResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCellResponse.js.map
+
+/***/ }),
+
+/***/ 39190:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCellUpdateRequest = void 0;
+/**
+ * The description of a notebook cell update request.
+ */
+class NotebookCellUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCellUpdateRequest.attributeTypeMap;
+    }
+}
+exports.NotebookCellUpdateRequest = NotebookCellUpdateRequest;
+/**
+ * @ignore
+ */
+NotebookCellUpdateRequest.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookCellUpdateRequestAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookCellResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCellUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 10740:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCreateData = void 0;
+/**
+ * The data for a notebook create request.
+ */
+class NotebookCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCreateData.attributeTypeMap;
+    }
+}
+exports.NotebookCreateData = NotebookCreateData;
+/**
+ * @ignore
+ */
+NotebookCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookCreateDataAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCreateData.js.map
+
+/***/ }),
+
+/***/ 87026:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCreateDataAttributes = void 0;
+/**
+ * The data attributes of a notebook.
+ */
+class NotebookCreateDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCreateDataAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookCreateDataAttributes = NotebookCreateDataAttributes;
+/**
+ * @ignore
+ */
+NotebookCreateDataAttributes.attributeTypeMap = {
+    cells: {
+        baseName: "cells",
+        type: "Array",
+        required: true,
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "NotebookMetadata",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "NotebookStatus",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookGlobalTime",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCreateDataAttributes.js.map
+
+/***/ }),
+
+/***/ 24668:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookCreateRequest = void 0;
+/**
+ * The description of a notebook create request.
+ */
+class NotebookCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookCreateRequest.attributeTypeMap;
+    }
+}
+exports.NotebookCreateRequest = NotebookCreateRequest;
+/**
+ * @ignore
+ */
+NotebookCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "NotebookCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookCreateRequest.js.map
+
+/***/ }),
+
+/***/ 51956:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookDistributionCellAttributes = void 0;
+/**
+ * The attributes of a notebook `distribution` cell.
+ */
+class NotebookDistributionCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookDistributionCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookDistributionCellAttributes = NotebookDistributionCellAttributes;
+/**
+ * @ignore
+ */
+NotebookDistributionCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "DistributionWidgetDefinition",
+        required: true,
+    },
+    graphSize: {
+        baseName: "graph_size",
+        type: "NotebookGraphSize",
+    },
+    splitBy: {
+        baseName: "split_by",
+        type: "NotebookSplitBy",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookCellTime",
+    },
+};
+//# sourceMappingURL=NotebookDistributionCellAttributes.js.map
+
+/***/ }),
+
+/***/ 87231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookHeatMapCellAttributes = void 0;
+/**
+ * The attributes of a notebook `heatmap` cell.
+ */
+class NotebookHeatMapCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookHeatMapCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookHeatMapCellAttributes = NotebookHeatMapCellAttributes;
+/**
+ * @ignore
+ */
+NotebookHeatMapCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "HeatMapWidgetDefinition",
+        required: true,
+    },
+    graphSize: {
+        baseName: "graph_size",
+        type: "NotebookGraphSize",
+    },
+    splitBy: {
+        baseName: "split_by",
+        type: "NotebookSplitBy",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookCellTime",
+    },
+};
+//# sourceMappingURL=NotebookHeatMapCellAttributes.js.map
+
+/***/ }),
+
+/***/ 16318:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookLogStreamCellAttributes = void 0;
+/**
+ * The attributes of a notebook `log_stream` cell.
+ */
+class NotebookLogStreamCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookLogStreamCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookLogStreamCellAttributes = NotebookLogStreamCellAttributes;
+/**
+ * @ignore
+ */
+NotebookLogStreamCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "LogStreamWidgetDefinition",
+        required: true,
+    },
+    graphSize: {
+        baseName: "graph_size",
+        type: "NotebookGraphSize",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookCellTime",
+    },
+};
+//# sourceMappingURL=NotebookLogStreamCellAttributes.js.map
+
+/***/ }),
+
+/***/ 92822:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookMarkdownCellAttributes = void 0;
+/**
+ * The attributes of a notebook `markdown` cell.
+ */
+class NotebookMarkdownCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookMarkdownCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookMarkdownCellAttributes = NotebookMarkdownCellAttributes;
+/**
+ * @ignore
+ */
+NotebookMarkdownCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "NotebookMarkdownCellDefinition",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookMarkdownCellAttributes.js.map
+
+/***/ }),
+
+/***/ 90308:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookMarkdownCellDefinition = void 0;
+/**
+ * Text in a notebook is formatted with [Markdown](https://daringfireball.net/projects/markdown/), which enables the use of headings, subheadings, links, images, lists, and code blocks.
+ */
+class NotebookMarkdownCellDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookMarkdownCellDefinition.attributeTypeMap;
+    }
+}
+exports.NotebookMarkdownCellDefinition = NotebookMarkdownCellDefinition;
+/**
+ * @ignore
+ */
+NotebookMarkdownCellDefinition.attributeTypeMap = {
+    text: {
+        baseName: "text",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookMarkdownCellDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookMarkdownCellDefinition.js.map
+
+/***/ }),
+
+/***/ 45419:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookMetadata = void 0;
+/**
+ * Metadata associated with the notebook.
+ */
+class NotebookMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookMetadata.attributeTypeMap;
+    }
+}
+exports.NotebookMetadata = NotebookMetadata;
+/**
+ * @ignore
+ */
+NotebookMetadata.attributeTypeMap = {
+    isTemplate: {
+        baseName: "is_template",
+        type: "boolean",
+    },
+    takeSnapshots: {
+        baseName: "take_snapshots",
+        type: "boolean",
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookMetadataType",
+    },
+};
+//# sourceMappingURL=NotebookMetadata.js.map
+
+/***/ }),
+
+/***/ 2932:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookRelativeTime = void 0;
+/**
+ * Relative timeframe.
+ */
+class NotebookRelativeTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookRelativeTime.attributeTypeMap;
+    }
+}
+exports.NotebookRelativeTime = NotebookRelativeTime;
+/**
+ * @ignore
+ */
+NotebookRelativeTime.attributeTypeMap = {
+    liveSpan: {
+        baseName: "live_span",
+        type: "WidgetLiveSpan",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookRelativeTime.js.map
+
+/***/ }),
+
+/***/ 28328:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookResponse = void 0;
+/**
+ * The description of a notebook response.
+ */
+class NotebookResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookResponse.attributeTypeMap;
+    }
+}
+exports.NotebookResponse = NotebookResponse;
+/**
+ * @ignore
+ */
+NotebookResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "NotebookResponseData",
+    },
+};
+//# sourceMappingURL=NotebookResponse.js.map
+
+/***/ }),
+
+/***/ 88612:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookResponseData = void 0;
+/**
+ * The data for a notebook.
+ */
+class NotebookResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookResponseData.attributeTypeMap;
+    }
+}
+exports.NotebookResponseData = NotebookResponseData;
+/**
+ * @ignore
+ */
+NotebookResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookResponseDataAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookResponseData.js.map
+
+/***/ }),
+
+/***/ 4151:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookResponseDataAttributes = void 0;
+/**
+ * The attributes of a notebook.
+ */
+class NotebookResponseDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookResponseDataAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookResponseDataAttributes = NotebookResponseDataAttributes;
+/**
+ * @ignore
+ */
+NotebookResponseDataAttributes.attributeTypeMap = {
+    author: {
+        baseName: "author",
+        type: "NotebookAuthor",
+    },
+    cells: {
+        baseName: "cells",
+        type: "Array",
+        required: true,
+    },
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "NotebookMetadata",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "NotebookStatus",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookGlobalTime",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookResponseDataAttributes.js.map
+
+/***/ }),
+
+/***/ 42805:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookSplitBy = void 0;
+/**
+ * Object describing how to split the graph to display multiple visualizations per request.
+ */
+class NotebookSplitBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookSplitBy.attributeTypeMap;
+    }
+}
+exports.NotebookSplitBy = NotebookSplitBy;
+/**
+ * @ignore
+ */
+NotebookSplitBy.attributeTypeMap = {
+    keys: {
+        baseName: "keys",
+        type: "Array",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookSplitBy.js.map
+
+/***/ }),
+
+/***/ 72432:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookTimeseriesCellAttributes = void 0;
+/**
+ * The attributes of a notebook `timeseries` cell.
+ */
+class NotebookTimeseriesCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookTimeseriesCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookTimeseriesCellAttributes = NotebookTimeseriesCellAttributes;
+/**
+ * @ignore
+ */
+NotebookTimeseriesCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "TimeseriesWidgetDefinition",
+        required: true,
+    },
+    graphSize: {
+        baseName: "graph_size",
+        type: "NotebookGraphSize",
+    },
+    splitBy: {
+        baseName: "split_by",
+        type: "NotebookSplitBy",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookCellTime",
+    },
+};
+//# sourceMappingURL=NotebookTimeseriesCellAttributes.js.map
+
+/***/ }),
+
+/***/ 3733:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookToplistCellAttributes = void 0;
+/**
+ * The attributes of a notebook `toplist` cell.
+ */
+class NotebookToplistCellAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookToplistCellAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookToplistCellAttributes = NotebookToplistCellAttributes;
+/**
+ * @ignore
+ */
+NotebookToplistCellAttributes.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "ToplistWidgetDefinition",
+        required: true,
+    },
+    graphSize: {
+        baseName: "graph_size",
+        type: "NotebookGraphSize",
+    },
+    splitBy: {
+        baseName: "split_by",
+        type: "NotebookSplitBy",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookCellTime",
+    },
+};
+//# sourceMappingURL=NotebookToplistCellAttributes.js.map
+
+/***/ }),
+
+/***/ 30056:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookUpdateData = void 0;
+/**
+ * The data for a notebook update request.
+ */
+class NotebookUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookUpdateData.attributeTypeMap;
+    }
+}
+exports.NotebookUpdateData = NotebookUpdateData;
+/**
+ * @ignore
+ */
+NotebookUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebookUpdateDataAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookUpdateData.js.map
+
+/***/ }),
+
+/***/ 66484:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookUpdateDataAttributes = void 0;
+/**
+ * The data attributes of a notebook.
+ */
+class NotebookUpdateDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookUpdateDataAttributes.attributeTypeMap;
+    }
+}
+exports.NotebookUpdateDataAttributes = NotebookUpdateDataAttributes;
+/**
+ * @ignore
+ */
+NotebookUpdateDataAttributes.attributeTypeMap = {
+    cells: {
+        baseName: "cells",
+        type: "Array",
+        required: true,
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "NotebookMetadata",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "NotebookStatus",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookGlobalTime",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookUpdateDataAttributes.js.map
+
+/***/ }),
+
+/***/ 23138:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebookUpdateRequest = void 0;
+/**
+ * The description of a notebook update request.
+ */
+class NotebookUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebookUpdateRequest.attributeTypeMap;
+    }
+}
+exports.NotebookUpdateRequest = NotebookUpdateRequest;
+/**
+ * @ignore
+ */
+NotebookUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "NotebookUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebookUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 57505:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksResponse = void 0;
+/**
+ * Notebooks get all response.
+ */
+class NotebooksResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebooksResponse.attributeTypeMap;
+    }
+}
+exports.NotebooksResponse = NotebooksResponse;
+/**
+ * @ignore
+ */
+NotebooksResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "NotebooksResponseMeta",
+    },
+};
+//# sourceMappingURL=NotebooksResponse.js.map
+
+/***/ }),
+
+/***/ 97633:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksResponseData = void 0;
+/**
+ * The data for a notebook in get all response.
+ */
+class NotebooksResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebooksResponseData.attributeTypeMap;
+    }
+}
+exports.NotebooksResponseData = NotebooksResponseData;
+/**
+ * @ignore
+ */
+NotebooksResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "NotebooksResponseDataAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "NotebookResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NotebooksResponseData.js.map
+
+/***/ }),
+
+/***/ 61871:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksResponseDataAttributes = void 0;
+/**
+ * The attributes of a notebook in get all response.
+ */
+class NotebooksResponseDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebooksResponseDataAttributes.attributeTypeMap;
+    }
+}
+exports.NotebooksResponseDataAttributes = NotebooksResponseDataAttributes;
+/**
+ * @ignore
+ */
+NotebooksResponseDataAttributes.attributeTypeMap = {
+    author: {
+        baseName: "author",
+        type: "NotebookAuthor",
+    },
+    cells: {
+        baseName: "cells",
+        type: "Array",
+    },
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "NotebookMetadata",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "NotebookStatus",
+    },
+    time: {
+        baseName: "time",
+        type: "NotebookGlobalTime",
+    },
+};
+//# sourceMappingURL=NotebooksResponseDataAttributes.js.map
+
+/***/ }),
+
+/***/ 41953:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksResponseMeta = void 0;
+/**
+ * Searches metadata returned by the API.
+ */
+class NotebooksResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebooksResponseMeta.attributeTypeMap;
+    }
+}
+exports.NotebooksResponseMeta = NotebooksResponseMeta;
+/**
+ * @ignore
+ */
+NotebooksResponseMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "NotebooksResponsePage",
+    },
+};
+//# sourceMappingURL=NotebooksResponseMeta.js.map
+
+/***/ }),
+
+/***/ 14129:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NotebooksResponsePage = void 0;
+/**
+ * Pagination metadata returned by the API.
+ */
+class NotebooksResponsePage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NotebooksResponsePage.attributeTypeMap;
+    }
+}
+exports.NotebooksResponsePage = NotebooksResponsePage;
+/**
+ * @ignore
+ */
+NotebooksResponsePage.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=NotebooksResponsePage.js.map
+
+/***/ }),
+
+/***/ 79428:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ObjectSerializer = void 0;
+const APIErrorResponse_1 = __webpack_require__(85269);
+const AWSAccount_1 = __webpack_require__(70275);
+const AWSAccountAndLambdaRequest_1 = __webpack_require__(27048);
+const AWSAccountCreateResponse_1 = __webpack_require__(5542);
+const AWSAccountDeleteRequest_1 = __webpack_require__(25062);
+const AWSAccountListResponse_1 = __webpack_require__(23925);
+const AWSLogsAsyncError_1 = __webpack_require__(27999);
+const AWSLogsAsyncResponse_1 = __webpack_require__(57159);
+const AWSLogsLambda_1 = __webpack_require__(61096);
+const AWSLogsListResponse_1 = __webpack_require__(65977);
+const AWSLogsListServicesResponse_1 = __webpack_require__(46763);
+const AWSLogsServicesRequest_1 = __webpack_require__(22314);
+const AWSTagFilter_1 = __webpack_require__(65067);
+const AWSTagFilterCreateRequest_1 = __webpack_require__(43114);
+const AWSTagFilterDeleteRequest_1 = __webpack_require__(25253);
+const AWSTagFilterListResponse_1 = __webpack_require__(5553);
+const AddSignalToIncidentRequest_1 = __webpack_require__(55797);
+const AlertGraphWidgetDefinition_1 = __webpack_require__(45082);
+const AlertValueWidgetDefinition_1 = __webpack_require__(87745);
+const ApiKey_1 = __webpack_require__(33618);
+const ApiKeyListResponse_1 = __webpack_require__(6502);
+const ApiKeyResponse_1 = __webpack_require__(32210);
+const ApmStatsQueryColumnType_1 = __webpack_require__(32611);
+const ApmStatsQueryDefinition_1 = __webpack_require__(25786);
+const ApplicationKey_1 = __webpack_require__(20878);
+const ApplicationKeyListResponse_1 = __webpack_require__(46230);
+const ApplicationKeyResponse_1 = __webpack_require__(63367);
+const AuthenticationValidationResponse_1 = __webpack_require__(75429);
+const AzureAccount_1 = __webpack_require__(30213);
+const CancelDowntimesByScopeRequest_1 = __webpack_require__(24565);
+const CanceledDowntimesIds_1 = __webpack_require__(12350);
+const ChangeWidgetDefinition_1 = __webpack_require__(63079);
+const ChangeWidgetRequest_1 = __webpack_require__(38481);
+const CheckCanDeleteMonitorResponse_1 = __webpack_require__(42286);
+const CheckCanDeleteMonitorResponseData_1 = __webpack_require__(98347);
+const CheckCanDeleteSLOResponse_1 = __webpack_require__(85643);
+const CheckCanDeleteSLOResponseData_1 = __webpack_require__(51989);
+const CheckStatusWidgetDefinition_1 = __webpack_require__(13909);
+const Creator_1 = __webpack_require__(34837);
+const Dashboard_1 = __webpack_require__(82911);
+const DashboardBulkActionData_1 = __webpack_require__(68031);
+const DashboardBulkDeleteRequest_1 = __webpack_require__(65573);
+const DashboardDeleteResponse_1 = __webpack_require__(44458);
+const DashboardGlobalTime_1 = __webpack_require__(21060);
+const DashboardList_1 = __webpack_require__(21755);
+const DashboardListDeleteResponse_1 = __webpack_require__(74010);
+const DashboardListListResponse_1 = __webpack_require__(27261);
+const DashboardRestoreRequest_1 = __webpack_require__(21249);
+const DashboardSummary_1 = __webpack_require__(58054);
+const DashboardSummaryDefinition_1 = __webpack_require__(10025);
+const DashboardTemplateVariable_1 = __webpack_require__(29707);
+const DashboardTemplateVariablePreset_1 = __webpack_require__(30544);
+const DashboardTemplateVariablePresetValue_1 = __webpack_require__(92731);
+const DeleteSharedDashboardResponse_1 = __webpack_require__(49276);
+const DeletedMonitor_1 = __webpack_require__(59256);
+const DistributionPointsPayload_1 = __webpack_require__(77745);
+const DistributionPointsSeries_1 = __webpack_require__(35514);
+const DistributionWidgetDefinition_1 = __webpack_require__(255);
+const DistributionWidgetRequest_1 = __webpack_require__(54993);
+const DistributionWidgetXAxis_1 = __webpack_require__(34168);
+const DistributionWidgetYAxis_1 = __webpack_require__(2716);
+const Downtime_1 = __webpack_require__(52884);
+const DowntimeChild_1 = __webpack_require__(879);
+const DowntimeRecurrence_1 = __webpack_require__(42694);
+const Event_1 = __webpack_require__(58487);
+const EventCreateRequest_1 = __webpack_require__(79181);
+const EventCreateResponse_1 = __webpack_require__(64651);
+const EventListResponse_1 = __webpack_require__(96961);
+const EventQueryDefinition_1 = __webpack_require__(26185);
+const EventResponse_1 = __webpack_require__(12539);
+const EventStreamWidgetDefinition_1 = __webpack_require__(82422);
+const EventTimelineWidgetDefinition_1 = __webpack_require__(57804);
+const FormulaAndFunctionApmDependencyStatsQueryDefinition_1 = __webpack_require__(77980);
+const FormulaAndFunctionApmResourceStatsQueryDefinition_1 = __webpack_require__(26159);
+const FormulaAndFunctionCloudCostQueryDefinition_1 = __webpack_require__(70272);
+const FormulaAndFunctionEventQueryDefinition_1 = __webpack_require__(66174);
+const FormulaAndFunctionEventQueryDefinitionCompute_1 = __webpack_require__(39476);
+const FormulaAndFunctionEventQueryDefinitionSearch_1 = __webpack_require__(73158);
+const FormulaAndFunctionEventQueryGroupBy_1 = __webpack_require__(8806);
+const FormulaAndFunctionEventQueryGroupBySort_1 = __webpack_require__(9703);
+const FormulaAndFunctionMetricQueryDefinition_1 = __webpack_require__(93715);
+const FormulaAndFunctionProcessQueryDefinition_1 = __webpack_require__(87031);
+const FormulaAndFunctionSLOQueryDefinition_1 = __webpack_require__(57483);
+const FreeTextWidgetDefinition_1 = __webpack_require__(51358);
+const FunnelQuery_1 = __webpack_require__(95853);
+const FunnelStep_1 = __webpack_require__(42026);
+const FunnelWidgetDefinition_1 = __webpack_require__(25523);
+const FunnelWidgetRequest_1 = __webpack_require__(94418);
+const GCPAccount_1 = __webpack_require__(44085);
+const GeomapWidgetDefinition_1 = __webpack_require__(23289);
+const GeomapWidgetDefinitionStyle_1 = __webpack_require__(84531);
+const GeomapWidgetDefinitionView_1 = __webpack_require__(64962);
+const GeomapWidgetRequest_1 = __webpack_require__(2040);
+const GraphSnapshot_1 = __webpack_require__(91080);
+const GroupWidgetDefinition_1 = __webpack_require__(26241);
+const HTTPLogError_1 = __webpack_require__(22656);
+const HTTPLogItem_1 = __webpack_require__(18498);
+const HeatMapWidgetDefinition_1 = __webpack_require__(98169);
+const HeatMapWidgetRequest_1 = __webpack_require__(88805);
+const Host_1 = __webpack_require__(94562);
+const HostListResponse_1 = __webpack_require__(37184);
+const HostMapRequest_1 = __webpack_require__(32692);
+const HostMapWidgetDefinition_1 = __webpack_require__(14550);
+const HostMapWidgetDefinitionRequests_1 = __webpack_require__(34258);
+const HostMapWidgetDefinitionStyle_1 = __webpack_require__(86430);
+const HostMeta_1 = __webpack_require__(77224);
+const HostMetaInstallMethod_1 = __webpack_require__(36940);
+const HostMetrics_1 = __webpack_require__(29501);
+const HostMuteResponse_1 = __webpack_require__(42950);
+const HostMuteSettings_1 = __webpack_require__(85193);
+const HostTags_1 = __webpack_require__(93056);
+const HostTotals_1 = __webpack_require__(26085);
+const HourlyUsageAttributionBody_1 = __webpack_require__(57569);
+const HourlyUsageAttributionMetadata_1 = __webpack_require__(8913);
+const HourlyUsageAttributionPagination_1 = __webpack_require__(75616);
+const HourlyUsageAttributionResponse_1 = __webpack_require__(6011);
+const IFrameWidgetDefinition_1 = __webpack_require__(78922);
+const IPPrefixesAPI_1 = __webpack_require__(58980);
+const IPPrefixesAPM_1 = __webpack_require__(26626);
+const IPPrefixesAgents_1 = __webpack_require__(79932);
+const IPPrefixesLogs_1 = __webpack_require__(76369);
+const IPPrefixesOrchestrator_1 = __webpack_require__(27657);
+const IPPrefixesProcess_1 = __webpack_require__(37095);
+const IPPrefixesRemoteConfiguration_1 = __webpack_require__(9651);
+const IPPrefixesSynthetics_1 = __webpack_require__(71060);
+const IPPrefixesSyntheticsPrivateLocations_1 = __webpack_require__(33296);
+const IPPrefixesWebhooks_1 = __webpack_require__(11607);
+const IPRanges_1 = __webpack_require__(41248);
+const IdpFormData_1 = __webpack_require__(43218);
+const IdpResponse_1 = __webpack_require__(6745);
+const ImageWidgetDefinition_1 = __webpack_require__(82126);
+const IntakePayloadAccepted_1 = __webpack_require__(89628);
+const ListStreamColumn_1 = __webpack_require__(79196);
+const ListStreamComputeItems_1 = __webpack_require__(33660);
+const ListStreamGroupByItems_1 = __webpack_require__(72801);
+const ListStreamQuery_1 = __webpack_require__(91264);
+const ListStreamWidgetDefinition_1 = __webpack_require__(74102);
+const ListStreamWidgetRequest_1 = __webpack_require__(57739);
+const Log_1 = __webpack_require__(27228);
+const LogContent_1 = __webpack_require__(2430);
+const LogQueryDefinition_1 = __webpack_require__(6725);
+const LogQueryDefinitionGroupBy_1 = __webpack_require__(51648);
+const LogQueryDefinitionGroupBySort_1 = __webpack_require__(26894);
+const LogQueryDefinitionSearch_1 = __webpack_require__(44453);
+const LogStreamWidgetDefinition_1 = __webpack_require__(69314);
+const LogsAPIError_1 = __webpack_require__(25101);
+const LogsAPIErrorResponse_1 = __webpack_require__(14479);
+const LogsArithmeticProcessor_1 = __webpack_require__(49360);
+const LogsAttributeRemapper_1 = __webpack_require__(80173);
+const LogsByRetention_1 = __webpack_require__(27879);
+const LogsByRetentionMonthlyUsage_1 = __webpack_require__(80662);
+const LogsByRetentionOrgUsage_1 = __webpack_require__(61470);
+const LogsByRetentionOrgs_1 = __webpack_require__(55654);
+const LogsCategoryProcessor_1 = __webpack_require__(77512);
+const LogsCategoryProcessorCategory_1 = __webpack_require__(97274);
+const LogsDateRemapper_1 = __webpack_require__(33536);
+const LogsExclusion_1 = __webpack_require__(52013);
+const LogsExclusionFilter_1 = __webpack_require__(50998);
+const LogsFilter_1 = __webpack_require__(14392);
+const LogsGeoIPParser_1 = __webpack_require__(62312);
+const LogsGrokParser_1 = __webpack_require__(88415);
+const LogsGrokParserRules_1 = __webpack_require__(43761);
+const LogsIndex_1 = __webpack_require__(43798);
+const LogsIndexListResponse_1 = __webpack_require__(66733);
+const LogsIndexUpdateRequest_1 = __webpack_require__(2118);
+const LogsIndexesOrder_1 = __webpack_require__(40336);
+const LogsListRequest_1 = __webpack_require__(71874);
+const LogsListRequestTime_1 = __webpack_require__(79936);
+const LogsListResponse_1 = __webpack_require__(59795);
+const LogsLookupProcessor_1 = __webpack_require__(71130);
+const LogsMessageRemapper_1 = __webpack_require__(18922);
+const LogsPipeline_1 = __webpack_require__(25236);
+const LogsPipelineProcessor_1 = __webpack_require__(29684);
+const LogsPipelinesOrder_1 = __webpack_require__(82301);
+const LogsQueryCompute_1 = __webpack_require__(12678);
+const LogsRetentionAggSumUsage_1 = __webpack_require__(79319);
+const LogsRetentionSumUsage_1 = __webpack_require__(26705);
+const LogsServiceRemapper_1 = __webpack_require__(69728);
+const LogsStatusRemapper_1 = __webpack_require__(56044);
+const LogsStringBuilderProcessor_1 = __webpack_require__(74046);
+const LogsTraceRemapper_1 = __webpack_require__(5071);
+const LogsURLParser_1 = __webpack_require__(83013);
+const LogsUserAgentParser_1 = __webpack_require__(81570);
+const MatchingDowntime_1 = __webpack_require__(96838);
+const MetricMetadata_1 = __webpack_require__(74079);
+const MetricSearchResponse_1 = __webpack_require__(63454);
+const MetricSearchResponseResults_1 = __webpack_require__(48716);
+const MetricsListResponse_1 = __webpack_require__(65432);
+const MetricsPayload_1 = __webpack_require__(62675);
+const MetricsQueryMetadata_1 = __webpack_require__(46191);
+const MetricsQueryResponse_1 = __webpack_require__(87587);
+const MetricsQueryUnit_1 = __webpack_require__(86914);
+const Monitor_1 = __webpack_require__(91194);
+const MonitorFormulaAndFunctionEventQueryDefinition_1 = __webpack_require__(8466);
+const MonitorFormulaAndFunctionEventQueryDefinitionCompute_1 = __webpack_require__(17740);
+const MonitorFormulaAndFunctionEventQueryDefinitionSearch_1 = __webpack_require__(91161);
+const MonitorFormulaAndFunctionEventQueryGroupBy_1 = __webpack_require__(77670);
+const MonitorFormulaAndFunctionEventQueryGroupBySort_1 = __webpack_require__(37796);
+const MonitorGroupSearchResponse_1 = __webpack_require__(33228);
+const MonitorGroupSearchResponseCounts_1 = __webpack_require__(29051);
+const MonitorGroupSearchResult_1 = __webpack_require__(96576);
+const MonitorOptions_1 = __webpack_require__(91250);
+const MonitorOptionsAggregation_1 = __webpack_require__(65829);
+const MonitorOptionsSchedulingOptions_1 = __webpack_require__(452);
+const MonitorOptionsSchedulingOptionsEvaluationWindow_1 = __webpack_require__(22179);
+const MonitorSearchCountItem_1 = __webpack_require__(36921);
+const MonitorSearchResponse_1 = __webpack_require__(76822);
+const MonitorSearchResponseCounts_1 = __webpack_require__(87380);
+const MonitorSearchResponseMetadata_1 = __webpack_require__(12780);
+const MonitorSearchResult_1 = __webpack_require__(28771);
+const MonitorSearchResultNotification_1 = __webpack_require__(61491);
+const MonitorState_1 = __webpack_require__(46446);
+const MonitorStateGroup_1 = __webpack_require__(27727);
+const MonitorSummaryWidgetDefinition_1 = __webpack_require__(59402);
+const MonitorThresholdWindowOptions_1 = __webpack_require__(84230);
+const MonitorThresholds_1 = __webpack_require__(32645);
+const MonitorUpdateRequest_1 = __webpack_require__(35051);
+const MonthlyUsageAttributionBody_1 = __webpack_require__(20093);
+const MonthlyUsageAttributionMetadata_1 = __webpack_require__(96777);
+const MonthlyUsageAttributionPagination_1 = __webpack_require__(88496);
+const MonthlyUsageAttributionResponse_1 = __webpack_require__(74006);
+const MonthlyUsageAttributionValues_1 = __webpack_require__(45217);
+const NoteWidgetDefinition_1 = __webpack_require__(16120);
+const NotebookAbsoluteTime_1 = __webpack_require__(13596);
+const NotebookAuthor_1 = __webpack_require__(80100);
+const NotebookCellCreateRequest_1 = __webpack_require__(58474);
+const NotebookCellResponse_1 = __webpack_require__(25109);
+const NotebookCellUpdateRequest_1 = __webpack_require__(39190);
+const NotebookCreateData_1 = __webpack_require__(10740);
+const NotebookCreateDataAttributes_1 = __webpack_require__(87026);
+const NotebookCreateRequest_1 = __webpack_require__(24668);
+const NotebookDistributionCellAttributes_1 = __webpack_require__(51956);
+const NotebookHeatMapCellAttributes_1 = __webpack_require__(87231);
+const NotebookLogStreamCellAttributes_1 = __webpack_require__(16318);
+const NotebookMarkdownCellAttributes_1 = __webpack_require__(92822);
+const NotebookMarkdownCellDefinition_1 = __webpack_require__(90308);
+const NotebookMetadata_1 = __webpack_require__(45419);
+const NotebookRelativeTime_1 = __webpack_require__(2932);
+const NotebookResponse_1 = __webpack_require__(28328);
+const NotebookResponseData_1 = __webpack_require__(88612);
+const NotebookResponseDataAttributes_1 = __webpack_require__(4151);
+const NotebookSplitBy_1 = __webpack_require__(42805);
+const NotebookTimeseriesCellAttributes_1 = __webpack_require__(72432);
+const NotebookToplistCellAttributes_1 = __webpack_require__(3733);
+const NotebookUpdateData_1 = __webpack_require__(30056);
+const NotebookUpdateDataAttributes_1 = __webpack_require__(66484);
+const NotebookUpdateRequest_1 = __webpack_require__(23138);
+const NotebooksResponse_1 = __webpack_require__(57505);
+const NotebooksResponseData_1 = __webpack_require__(97633);
+const NotebooksResponseDataAttributes_1 = __webpack_require__(61871);
+const NotebooksResponseMeta_1 = __webpack_require__(41953);
+const NotebooksResponsePage_1 = __webpack_require__(14129);
+const OrgDowngradedResponse_1 = __webpack_require__(72399);
+const Organization_1 = __webpack_require__(70428);
+const OrganizationBilling_1 = __webpack_require__(17762);
+const OrganizationCreateBody_1 = __webpack_require__(9222);
+const OrganizationCreateResponse_1 = __webpack_require__(26442);
+const OrganizationListResponse_1 = __webpack_require__(8618);
+const OrganizationResponse_1 = __webpack_require__(86231);
+const OrganizationSettings_1 = __webpack_require__(13344);
+const OrganizationSettingsSaml_1 = __webpack_require__(3929);
+const OrganizationSettingsSamlAutocreateUsersDomains_1 = __webpack_require__(82029);
+const OrganizationSettingsSamlIdpInitiatedLogin_1 = __webpack_require__(49455);
+const OrganizationSettingsSamlStrictMode_1 = __webpack_require__(30674);
+const OrganizationSubscription_1 = __webpack_require__(28197);
+const PagerDutyService_1 = __webpack_require__(39866);
+const PagerDutyServiceKey_1 = __webpack_require__(6241);
+const PagerDutyServiceName_1 = __webpack_require__(45466);
+const Pagination_1 = __webpack_require__(26433);
+const ProcessQueryDefinition_1 = __webpack_require__(67314);
+const QueryValueWidgetDefinition_1 = __webpack_require__(93129);
+const QueryValueWidgetRequest_1 = __webpack_require__(39181);
+const ReferenceTableLogsLookupProcessor_1 = __webpack_require__(46562);
+const ResponseMetaAttributes_1 = __webpack_require__(55368);
+const RunWorkflowWidgetDefinition_1 = __webpack_require__(80883);
+const RunWorkflowWidgetInput_1 = __webpack_require__(47821);
+const SLOBulkDeleteError_1 = __webpack_require__(23948);
+const SLOBulkDeleteResponse_1 = __webpack_require__(43103);
+const SLOBulkDeleteResponseData_1 = __webpack_require__(41457);
+const SLOCorrection_1 = __webpack_require__(85199);
+const SLOCorrectionCreateData_1 = __webpack_require__(84918);
+const SLOCorrectionCreateRequest_1 = __webpack_require__(85751);
+const SLOCorrectionCreateRequestAttributes_1 = __webpack_require__(38431);
+const SLOCorrectionListResponse_1 = __webpack_require__(96982);
+const SLOCorrectionResponse_1 = __webpack_require__(37329);
+const SLOCorrectionResponseAttributes_1 = __webpack_require__(79914);
+const SLOCorrectionResponseAttributesModifier_1 = __webpack_require__(13841);
+const SLOCorrectionUpdateData_1 = __webpack_require__(36836);
+const SLOCorrectionUpdateRequest_1 = __webpack_require__(78213);
+const SLOCorrectionUpdateRequestAttributes_1 = __webpack_require__(77841);
+const SLOCreator_1 = __webpack_require__(73662);
+const SLODeleteResponse_1 = __webpack_require__(34973);
+const SLOHistoryMetrics_1 = __webpack_require__(87919);
+const SLOHistoryMetricsSeries_1 = __webpack_require__(37905);
+const SLOHistoryMetricsSeriesMetadata_1 = __webpack_require__(10967);
+const SLOHistoryMetricsSeriesMetadataUnit_1 = __webpack_require__(5222);
+const SLOHistoryMonitor_1 = __webpack_require__(9138);
+const SLOHistoryResponse_1 = __webpack_require__(6523);
+const SLOHistoryResponseData_1 = __webpack_require__(57557);
+const SLOHistoryResponseError_1 = __webpack_require__(38631);
+const SLOHistoryResponseErrorWithType_1 = __webpack_require__(89863);
+const SLOHistorySLIData_1 = __webpack_require__(80195);
+const SLOListResponse_1 = __webpack_require__(99469);
+const SLOListResponseMetadata_1 = __webpack_require__(16172);
+const SLOListResponseMetadataPage_1 = __webpack_require__(46631);
+const SLOListWidgetDefinition_1 = __webpack_require__(76906);
+const SLOListWidgetQuery_1 = __webpack_require__(25628);
+const SLOListWidgetRequest_1 = __webpack_require__(49303);
+const SLOOverallStatuses_1 = __webpack_require__(51707);
+const SLORawErrorBudgetRemaining_1 = __webpack_require__(33631);
+const SLOResponse_1 = __webpack_require__(50747);
+const SLOResponseData_1 = __webpack_require__(14778);
+const SLOStatus_1 = __webpack_require__(79097);
+const SLOThreshold_1 = __webpack_require__(30901);
+const SLOWidgetDefinition_1 = __webpack_require__(17161);
+const ScatterPlotRequest_1 = __webpack_require__(32407);
+const ScatterPlotWidgetDefinition_1 = __webpack_require__(55062);
+const ScatterPlotWidgetDefinitionRequests_1 = __webpack_require__(34547);
+const ScatterplotTableRequest_1 = __webpack_require__(94814);
+const ScatterplotWidgetFormula_1 = __webpack_require__(99834);
+const SearchSLOQuery_1 = __webpack_require__(59154);
+const SearchSLOResponse_1 = __webpack_require__(62919);
+const SearchSLOResponseData_1 = __webpack_require__(15114);
+const SearchSLOResponseDataAttributes_1 = __webpack_require__(43773);
+const SearchSLOResponseDataAttributesFacets_1 = __webpack_require__(66379);
+const SearchSLOResponseDataAttributesFacetsObjectInt_1 = __webpack_require__(90508);
+const SearchSLOResponseDataAttributesFacetsObjectString_1 = __webpack_require__(13597);
+const SearchSLOResponseLinks_1 = __webpack_require__(4801);
+const SearchSLOResponseMeta_1 = __webpack_require__(85031);
+const SearchSLOResponseMetaPage_1 = __webpack_require__(42181);
+const SearchSLOThreshold_1 = __webpack_require__(2018);
+const SearchServiceLevelObjective_1 = __webpack_require__(43793);
+const SearchServiceLevelObjectiveAttributes_1 = __webpack_require__(29212);
+const SearchServiceLevelObjectiveData_1 = __webpack_require__(91877);
+const SelectableTemplateVariableItems_1 = __webpack_require__(82480);
+const Series_1 = __webpack_require__(58736);
+const ServiceCheck_1 = __webpack_require__(84535);
+const ServiceLevelObjective_1 = __webpack_require__(88243);
+const ServiceLevelObjectiveQuery_1 = __webpack_require__(5191);
+const ServiceLevelObjectiveRequest_1 = __webpack_require__(44439);
+const ServiceMapWidgetDefinition_1 = __webpack_require__(37561);
+const ServiceSummaryWidgetDefinition_1 = __webpack_require__(59134);
+const SharedDashboard_1 = __webpack_require__(97892);
+const SharedDashboardAuthor_1 = __webpack_require__(25632);
+const SharedDashboardInvites_1 = __webpack_require__(14044);
+const SharedDashboardInvitesDataObject_1 = __webpack_require__(36162);
+const SharedDashboardInvitesDataObjectAttributes_1 = __webpack_require__(72732);
+const SharedDashboardInvitesMeta_1 = __webpack_require__(25298);
+const SharedDashboardInvitesMetaPage_1 = __webpack_require__(28552);
+const SharedDashboardUpdateRequest_1 = __webpack_require__(81780);
+const SharedDashboardUpdateRequestGlobalTime_1 = __webpack_require__(45940);
+const SignalAssigneeUpdateRequest_1 = __webpack_require__(32606);
+const SignalStateUpdateRequest_1 = __webpack_require__(98019);
+const SlackIntegrationChannel_1 = __webpack_require__(31563);
+const SlackIntegrationChannelDisplay_1 = __webpack_require__(98371);
+const SuccessfulSignalUpdateResponse_1 = __webpack_require__(64039);
+const SunburstWidgetDefinition_1 = __webpack_require__(68486);
+const SunburstWidgetLegendInlineAutomatic_1 = __webpack_require__(7705);
+const SunburstWidgetLegendTable_1 = __webpack_require__(89188);
+const SunburstWidgetRequest_1 = __webpack_require__(26328);
+const SyntheticsAPIStep_1 = __webpack_require__(97030);
+const SyntheticsAPITest_1 = __webpack_require__(46159);
+const SyntheticsAPITestConfig_1 = __webpack_require__(52924);
+const SyntheticsAPITestResultData_1 = __webpack_require__(38006);
+const SyntheticsAPITestResultFull_1 = __webpack_require__(60433);
+const SyntheticsAPITestResultFullCheck_1 = __webpack_require__(40826);
+const SyntheticsAPITestResultShort_1 = __webpack_require__(13639);
+const SyntheticsAPITestResultShortResult_1 = __webpack_require__(83248);
+const SyntheticsApiTestResultFailure_1 = __webpack_require__(45200);
+const SyntheticsAssertionJSONPathTarget_1 = __webpack_require__(71070);
+const SyntheticsAssertionJSONPathTargetTarget_1 = __webpack_require__(80561);
+const SyntheticsAssertionTarget_1 = __webpack_require__(91349);
+const SyntheticsAssertionXPathTarget_1 = __webpack_require__(39789);
+const SyntheticsAssertionXPathTargetTarget_1 = __webpack_require__(69445);
+const SyntheticsBasicAuthDigest_1 = __webpack_require__(79721);
+const SyntheticsBasicAuthNTLM_1 = __webpack_require__(38816);
+const SyntheticsBasicAuthOauthClient_1 = __webpack_require__(54219);
+const SyntheticsBasicAuthOauthROP_1 = __webpack_require__(99940);
+const SyntheticsBasicAuthSigv4_1 = __webpack_require__(60321);
+const SyntheticsBasicAuthWeb_1 = __webpack_require__(19702);
+const SyntheticsBatchDetails_1 = __webpack_require__(47359);
+const SyntheticsBatchDetailsData_1 = __webpack_require__(84899);
+const SyntheticsBatchResult_1 = __webpack_require__(87571);
+const SyntheticsBrowserError_1 = __webpack_require__(36673);
+const SyntheticsBrowserTest_1 = __webpack_require__(64540);
+const SyntheticsBrowserTestConfig_1 = __webpack_require__(18570);
+const SyntheticsBrowserTestResultData_1 = __webpack_require__(82374);
+const SyntheticsBrowserTestResultFailure_1 = __webpack_require__(45294);
+const SyntheticsBrowserTestResultFull_1 = __webpack_require__(12064);
+const SyntheticsBrowserTestResultFullCheck_1 = __webpack_require__(64678);
+const SyntheticsBrowserTestResultShort_1 = __webpack_require__(93784);
+const SyntheticsBrowserTestResultShortResult_1 = __webpack_require__(33513);
+const SyntheticsBrowserTestRumSettings_1 = __webpack_require__(7864);
+const SyntheticsBrowserVariable_1 = __webpack_require__(96401);
+const SyntheticsCIBatchMetadata_1 = __webpack_require__(82570);
+const SyntheticsCIBatchMetadataCI_1 = __webpack_require__(90034);
+const SyntheticsCIBatchMetadataGit_1 = __webpack_require__(51162);
+const SyntheticsCIBatchMetadataPipeline_1 = __webpack_require__(32818);
+const SyntheticsCIBatchMetadataProvider_1 = __webpack_require__(2803);
+const SyntheticsCITest_1 = __webpack_require__(83795);
+const SyntheticsCITestBody_1 = __webpack_require__(76143);
+const SyntheticsConfigVariable_1 = __webpack_require__(76194);
+const SyntheticsCoreWebVitals_1 = __webpack_require__(51424);
+const SyntheticsDeleteTestsPayload_1 = __webpack_require__(36679);
+const SyntheticsDeleteTestsResponse_1 = __webpack_require__(37414);
+const SyntheticsDeletedTest_1 = __webpack_require__(72688);
+const SyntheticsDevice_1 = __webpack_require__(54197);
+const SyntheticsGetAPITestLatestResultsResponse_1 = __webpack_require__(7483);
+const SyntheticsGetBrowserTestLatestResultsResponse_1 = __webpack_require__(76953);
+const SyntheticsGlobalVariable_1 = __webpack_require__(15551);
+const SyntheticsGlobalVariableAttributes_1 = __webpack_require__(62455);
+const SyntheticsGlobalVariableOptions_1 = __webpack_require__(61453);
+const SyntheticsGlobalVariableParseTestOptions_1 = __webpack_require__(81407);
+const SyntheticsGlobalVariableTOTPParameters_1 = __webpack_require__(45438);
+const SyntheticsGlobalVariableValue_1 = __webpack_require__(65653);
+const SyntheticsListGlobalVariablesResponse_1 = __webpack_require__(27443);
+const SyntheticsListTestsResponse_1 = __webpack_require__(37633);
+const SyntheticsLocation_1 = __webpack_require__(96831);
+const SyntheticsLocations_1 = __webpack_require__(94037);
+const SyntheticsParsingOptions_1 = __webpack_require__(20707);
+const SyntheticsPrivateLocation_1 = __webpack_require__(37199);
+const SyntheticsPrivateLocationCreationResponse_1 = __webpack_require__(33061);
+const SyntheticsPrivateLocationCreationResponseResultEncryption_1 = __webpack_require__(58243);
+const SyntheticsPrivateLocationMetadata_1 = __webpack_require__(44606);
+const SyntheticsPrivateLocationSecrets_1 = __webpack_require__(92451);
+const SyntheticsPrivateLocationSecretsAuthentication_1 = __webpack_require__(78590);
+const SyntheticsPrivateLocationSecretsConfigDecryption_1 = __webpack_require__(11934);
+const SyntheticsSSLCertificate_1 = __webpack_require__(66202);
+const SyntheticsSSLCertificateIssuer_1 = __webpack_require__(84876);
+const SyntheticsSSLCertificateSubject_1 = __webpack_require__(46231);
+const SyntheticsStep_1 = __webpack_require__(66112);
+const SyntheticsStepDetail_1 = __webpack_require__(95801);
+const SyntheticsStepDetailWarning_1 = __webpack_require__(53443);
+const SyntheticsTestCiOptions_1 = __webpack_require__(80395);
+const SyntheticsTestConfig_1 = __webpack_require__(62286);
+const SyntheticsTestDetails_1 = __webpack_require__(71820);
+const SyntheticsTestOptions_1 = __webpack_require__(42118);
+const SyntheticsTestOptionsMonitorOptions_1 = __webpack_require__(41385);
+const SyntheticsTestOptionsRetry_1 = __webpack_require__(79872);
+const SyntheticsTestOptionsScheduling_1 = __webpack_require__(7146);
+const SyntheticsTestOptionsSchedulingTimeframe_1 = __webpack_require__(77559);
+const SyntheticsTestRequest_1 = __webpack_require__(36267);
+const SyntheticsTestRequestCertificate_1 = __webpack_require__(21604);
+const SyntheticsTestRequestCertificateItem_1 = __webpack_require__(46505);
+const SyntheticsTestRequestProxy_1 = __webpack_require__(69621);
+const SyntheticsTiming_1 = __webpack_require__(88674);
+const SyntheticsTriggerBody_1 = __webpack_require__(92545);
+const SyntheticsTriggerCITestLocation_1 = __webpack_require__(31334);
+const SyntheticsTriggerCITestRunResult_1 = __webpack_require__(86196);
+const SyntheticsTriggerCITestsResponse_1 = __webpack_require__(44171);
+const SyntheticsTriggerTest_1 = __webpack_require__(75879);
+const SyntheticsUpdateTestPauseStatusPayload_1 = __webpack_require__(39942);
+const SyntheticsVariableParser_1 = __webpack_require__(50454);
+const TableWidgetDefinition_1 = __webpack_require__(68902);
+const TableWidgetRequest_1 = __webpack_require__(35423);
+const TagToHosts_1 = __webpack_require__(38146);
+const TimeseriesBackground_1 = __webpack_require__(16330);
+const TimeseriesWidgetDefinition_1 = __webpack_require__(202);
+const TimeseriesWidgetExpressionAlias_1 = __webpack_require__(9267);
+const TimeseriesWidgetRequest_1 = __webpack_require__(727);
+const ToplistWidgetDefinition_1 = __webpack_require__(9873);
+const ToplistWidgetRequest_1 = __webpack_require__(51644);
+const TopologyMapWidgetDefinition_1 = __webpack_require__(45067);
+const TopologyQuery_1 = __webpack_require__(85718);
+const TopologyRequest_1 = __webpack_require__(3994);
+const TreeMapWidgetDefinition_1 = __webpack_require__(7827);
+const TreeMapWidgetRequest_1 = __webpack_require__(81118);
+const UsageAnalyzedLogsHour_1 = __webpack_require__(92837);
+const UsageAnalyzedLogsResponse_1 = __webpack_require__(60957);
+const UsageAttributionAggregatesBody_1 = __webpack_require__(23128);
+const UsageAttributionBody_1 = __webpack_require__(44217);
+const UsageAttributionMetadata_1 = __webpack_require__(20442);
+const UsageAttributionPagination_1 = __webpack_require__(26947);
+const UsageAttributionResponse_1 = __webpack_require__(2900);
+const UsageAttributionValues_1 = __webpack_require__(47058);
+const UsageAuditLogsHour_1 = __webpack_require__(14819);
+const UsageAuditLogsResponse_1 = __webpack_require__(60607);
+const UsageBillableSummaryBody_1 = __webpack_require__(55055);
+const UsageBillableSummaryHour_1 = __webpack_require__(5658);
+const UsageBillableSummaryKeys_1 = __webpack_require__(10578);
+const UsageBillableSummaryResponse_1 = __webpack_require__(56594);
+const UsageCIVisibilityHour_1 = __webpack_require__(30564);
+const UsageCIVisibilityResponse_1 = __webpack_require__(95567);
+const UsageCWSHour_1 = __webpack_require__(13436);
+const UsageCWSResponse_1 = __webpack_require__(96909);
+const UsageCloudSecurityPostureManagementHour_1 = __webpack_require__(64100);
+const UsageCloudSecurityPostureManagementResponse_1 = __webpack_require__(44315);
+const UsageCustomReportsAttributes_1 = __webpack_require__(78851);
+const UsageCustomReportsData_1 = __webpack_require__(56172);
+const UsageCustomReportsMeta_1 = __webpack_require__(26602);
+const UsageCustomReportsPage_1 = __webpack_require__(43869);
+const UsageCustomReportsResponse_1 = __webpack_require__(83809);
+const UsageDBMHour_1 = __webpack_require__(41804);
+const UsageDBMResponse_1 = __webpack_require__(69221);
+const UsageFargateHour_1 = __webpack_require__(38026);
+const UsageFargateResponse_1 = __webpack_require__(89167);
+const UsageHostHour_1 = __webpack_require__(30718);
+const UsageHostsResponse_1 = __webpack_require__(8479);
+const UsageIncidentManagementHour_1 = __webpack_require__(5048);
+const UsageIncidentManagementResponse_1 = __webpack_require__(83765);
+const UsageIndexedSpansHour_1 = __webpack_require__(19433);
+const UsageIndexedSpansResponse_1 = __webpack_require__(22976);
+const UsageIngestedSpansHour_1 = __webpack_require__(53223);
+const UsageIngestedSpansResponse_1 = __webpack_require__(9369);
+const UsageIoTHour_1 = __webpack_require__(97690);
+const UsageIoTResponse_1 = __webpack_require__(92713);
+const UsageLambdaHour_1 = __webpack_require__(34087);
+const UsageLambdaResponse_1 = __webpack_require__(71231);
+const UsageLogsByIndexHour_1 = __webpack_require__(59324);
+const UsageLogsByIndexResponse_1 = __webpack_require__(43777);
+const UsageLogsByRetentionHour_1 = __webpack_require__(51022);
+const UsageLogsByRetentionResponse_1 = __webpack_require__(22817);
+const UsageLogsHour_1 = __webpack_require__(87978);
+const UsageLogsResponse_1 = __webpack_require__(21077);
+const UsageNetworkFlowsHour_1 = __webpack_require__(18375);
+const UsageNetworkFlowsResponse_1 = __webpack_require__(86162);
+const UsageNetworkHostsHour_1 = __webpack_require__(645);
+const UsageNetworkHostsResponse_1 = __webpack_require__(96327);
+const UsageOnlineArchiveHour_1 = __webpack_require__(92958);
+const UsageOnlineArchiveResponse_1 = __webpack_require__(97201);
+const UsageProfilingHour_1 = __webpack_require__(29986);
+const UsageProfilingResponse_1 = __webpack_require__(42478);
+const UsageRumSessionsHour_1 = __webpack_require__(27702);
+const UsageRumSessionsResponse_1 = __webpack_require__(46027);
+const UsageRumUnitsHour_1 = __webpack_require__(11289);
+const UsageRumUnitsResponse_1 = __webpack_require__(32233);
+const UsageSDSHour_1 = __webpack_require__(67233);
+const UsageSDSResponse_1 = __webpack_require__(28995);
+const UsageSNMPHour_1 = __webpack_require__(38107);
+const UsageSNMPResponse_1 = __webpack_require__(84744);
+const UsageSpecifiedCustomReportsAttributes_1 = __webpack_require__(64846);
+const UsageSpecifiedCustomReportsData_1 = __webpack_require__(577);
+const UsageSpecifiedCustomReportsMeta_1 = __webpack_require__(89745);
+const UsageSpecifiedCustomReportsPage_1 = __webpack_require__(80239);
+const UsageSpecifiedCustomReportsResponse_1 = __webpack_require__(46409);
+const UsageSummaryDate_1 = __webpack_require__(18006);
+const UsageSummaryDateOrg_1 = __webpack_require__(43598);
+const UsageSummaryResponse_1 = __webpack_require__(56234);
+const UsageSyntheticsAPIHour_1 = __webpack_require__(90314);
+const UsageSyntheticsAPIResponse_1 = __webpack_require__(24604);
+const UsageSyntheticsBrowserHour_1 = __webpack_require__(46913);
+const UsageSyntheticsBrowserResponse_1 = __webpack_require__(89680);
+const UsageSyntheticsHour_1 = __webpack_require__(59999);
+const UsageSyntheticsResponse_1 = __webpack_require__(49891);
+const UsageTimeseriesHour_1 = __webpack_require__(23957);
+const UsageTimeseriesResponse_1 = __webpack_require__(69988);
+const UsageTopAvgMetricsHour_1 = __webpack_require__(52569);
+const UsageTopAvgMetricsMetadata_1 = __webpack_require__(98109);
+const UsageTopAvgMetricsPagination_1 = __webpack_require__(161);
+const UsageTopAvgMetricsResponse_1 = __webpack_require__(90619);
+const User_1 = __webpack_require__(98881);
+const UserDisableResponse_1 = __webpack_require__(3816);
+const UserListResponse_1 = __webpack_require__(93161);
+const UserResponse_1 = __webpack_require__(27368);
+const WebhooksIntegration_1 = __webpack_require__(9236);
+const WebhooksIntegrationCustomVariable_1 = __webpack_require__(48946);
+const WebhooksIntegrationCustomVariableResponse_1 = __webpack_require__(8147);
+const WebhooksIntegrationCustomVariableUpdateRequest_1 = __webpack_require__(91337);
+const WebhooksIntegrationUpdateRequest_1 = __webpack_require__(24504);
+const Widget_1 = __webpack_require__(37523);
+const WidgetAxis_1 = __webpack_require__(36606);
+const WidgetConditionalFormat_1 = __webpack_require__(81207);
+const WidgetCustomLink_1 = __webpack_require__(44847);
+const WidgetEvent_1 = __webpack_require__(46180);
+const WidgetFieldSort_1 = __webpack_require__(60784);
+const WidgetFormula_1 = __webpack_require__(44679);
+const WidgetFormulaLimit_1 = __webpack_require__(92167);
+const WidgetFormulaStyle_1 = __webpack_require__(88913);
+const WidgetLayout_1 = __webpack_require__(74520);
+const WidgetMarker_1 = __webpack_require__(68975);
+const WidgetRequestStyle_1 = __webpack_require__(35490);
+const WidgetStyle_1 = __webpack_require__(87224);
+const WidgetTime_1 = __webpack_require__(12235);
+const util_1 = __webpack_require__(4691);
+const logger_1 = __webpack_require__(50487);
+const primitives = [
+    "string",
+    "boolean",
+    "double",
+    "integer",
+    "long",
+    "float",
+    "number",
+];
+const ARRAY_PREFIX = "Array<";
+const MAP_PREFIX = "{ [key: string]: ";
+const TUPLE_PREFIX = "[";
+const supportedMediaTypes = {
+    "application/json": Infinity,
+    "text/json": 100,
+    "application/octet-stream": 0,
+};
+const enumsMap = {
+    AWSNamespace: [
+        "elb",
+        "application_elb",
+        "sqs",
+        "rds",
+        "custom",
+        "network_elb",
+        "lambda",
+    ],
+    AccessRole: ["st", "adm", "ro", "ERROR"],
+    AlertGraphWidgetDefinitionType: ["alert_graph"],
+    AlertValueWidgetDefinitionType: ["alert_value"],
+    ApmStatsQueryRowType: ["service", "resource", "span"],
+    ChangeWidgetDefinitionType: ["change"],
+    CheckStatusWidgetDefinitionType: ["check_status"],
+    ContentEncoding: ["gzip", "deflate"],
+    DashboardGlobalTimeLiveSpan: [
+        "15m",
+        "1h",
+        "4h",
+        "1d",
+        "2d",
+        "1w",
+        "1mo",
+        "3mo",
+    ],
+    DashboardInviteType: ["public_dashboard_invitation"],
+    DashboardLayoutType: ["ordered", "free"],
+    DashboardReflowType: ["auto", "fixed"],
+    DashboardResourceType: ["dashboard"],
+    DashboardShareType: ["open", "invite"],
+    DashboardType: ["custom_timeboard", "custom_screenboard"],
+    DistributionPointsContentEncoding: ["deflate"],
+    DistributionPointsType: ["distribution"],
+    DistributionWidgetDefinitionType: ["distribution"],
+    DistributionWidgetHistogramRequestType: ["histogram"],
+    EventAlertType: [
+        "error",
+        "warning",
+        "info",
+        "success",
+        "user_update",
+        "recommendation",
+        "snapshot",
+    ],
+    EventPriority: ["normal", "low"],
+    EventStreamWidgetDefinitionType: ["event_stream"],
+    EventTimelineWidgetDefinitionType: ["event_timeline"],
+    FormulaAndFunctionApmDependencyStatName: [
+        "avg_duration",
+        "avg_root_duration",
+        "avg_spans_per_trace",
+        "error_rate",
+        "pct_exec_time",
+        "pct_of_traces",
+        "total_traces_count",
+    ],
+    FormulaAndFunctionApmDependencyStatsDataSource: ["apm_dependency_stats"],
+    FormulaAndFunctionApmResourceStatName: [
+        "errors",
+        "error_rate",
+        "hits",
+        "latency_avg",
+        "latency_distribution",
+        "latency_max",
+        "latency_p50",
+        "latency_p75",
+        "latency_p90",
+        "latency_p95",
+        "latency_p99",
+    ],
+    FormulaAndFunctionApmResourceStatsDataSource: ["apm_resource_stats"],
+    FormulaAndFunctionCloudCostDataSource: ["cloud_cost"],
+    FormulaAndFunctionEventAggregation: [
+        "count",
+        "cardinality",
+        "median",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+    ],
+    FormulaAndFunctionEventsDataSource: [
+        "logs",
+        "spans",
+        "network",
+        "rum",
+        "security_signals",
+        "profiles",
+        "audit",
+        "events",
+        "ci_tests",
+        "ci_pipelines",
+    ],
+    FormulaAndFunctionMetricAggregation: [
+        "avg",
+        "min",
+        "max",
+        "sum",
+        "last",
+        "area",
+        "l2norm",
+        "percentile",
+    ],
+    FormulaAndFunctionMetricDataSource: ["metrics"],
+    FormulaAndFunctionProcessQueryDataSource: ["process", "container"],
+    FormulaAndFunctionResponseFormat: ["timeseries", "scalar", "event_list"],
+    FormulaAndFunctionSLODataSource: ["slo"],
+    FormulaAndFunctionSLOGroupMode: ["overall", "components"],
+    FormulaAndFunctionSLOMeasure: [
+        "good_events",
+        "bad_events",
+        "slo_status",
+        "error_budget_remaining",
+        "burn_rate",
+        "error_budget_burndown",
+    ],
+    FormulaAndFunctionSLOQueryType: ["metric"],
+    FreeTextWidgetDefinitionType: ["free_text"],
+    FunnelRequestType: ["funnel"],
+    FunnelSource: ["rum"],
+    FunnelWidgetDefinitionType: ["funnel"],
+    GeomapWidgetDefinitionType: ["geomap"],
+    GroupWidgetDefinitionType: ["group"],
+    HeatMapWidgetDefinitionType: ["heatmap"],
+    HostMapWidgetDefinitionType: ["hostmap"],
+    HourlyUsageAttributionUsageType: [
+        "api_usage",
+        "apm_fargate_usage",
+        "apm_host_usage",
+        "apm_usm_usage",
+        "appsec_fargate_usage",
+        "appsec_usage",
+        "browser_usage",
+        "container_excl_agent_usage",
+        "ci_visibility_itr_usage",
+        "container_usage",
+        "cspm_containers_usage",
+        "cspm_hosts_usage",
+        "custom_ingested_timeseries_usage",
+        "custom_timeseries_usage",
+        "cws_containers_usage",
+        "cws_hosts_usage",
+        "dbm_hosts_usage",
+        "dbm_queries_usage",
+        "estimated_indexed_logs_usage",
+        "estimated_ingested_logs_usage",
+        "estimated_indexed_spans_usage",
+        "estimated_ingested_spans_usage",
+        "fargate_usage",
+        "functions_usage",
+        "infra_host_usage",
+        "invocations_usage",
+        "mobile_app_testing_usage",
+        "npm_host_usage",
+        "obs_pipeline_bytes_usage",
+        "profiled_container_usage",
+        "profiled_fargate_usage",
+        "profiled_host_usage",
+        "snmp_usage",
+        "estimated_rum_sessions_usage",
+        "universal_service_monitoring_usage",
+        "vuln_management_hosts_usage",
+        "sds_scanned_bytes_usage",
+    ],
+    IFrameWidgetDefinitionType: ["iframe"],
+    ImageWidgetDefinitionType: ["image"],
+    ListStreamColumnWidth: ["auto", "compact", "full"],
+    ListStreamComputeAggregation: [
+        "count",
+        "cardinality",
+        "median",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+        "earliest",
+        "latest",
+        "most_frequent",
+    ],
+    ListStreamResponseFormat: ["event_list"],
+    ListStreamSource: [
+        "logs_stream",
+        "audit_stream",
+        "ci_pipeline_stream",
+        "ci_test_stream",
+        "rum_issue_stream",
+        "apm_issue_stream",
+        "trace_stream",
+        "logs_issue_stream",
+        "logs_pattern_stream",
+        "logs_transaction_stream",
+        "event_stream",
+    ],
+    ListStreamWidgetDefinitionType: ["list_stream"],
+    LogStreamWidgetDefinitionType: ["log_stream"],
+    LogsArithmeticProcessorType: ["arithmetic-processor"],
+    LogsAttributeRemapperType: ["attribute-remapper"],
+    LogsCategoryProcessorType: ["category-processor"],
+    LogsDateRemapperType: ["date-remapper"],
+    LogsGeoIPParserType: ["geo-ip-parser"],
+    LogsGrokParserType: ["grok-parser"],
+    LogsLookupProcessorType: ["lookup-processor"],
+    LogsMessageRemapperType: ["message-remapper"],
+    LogsPipelineProcessorType: ["pipeline"],
+    LogsServiceRemapperType: ["service-remapper"],
+    LogsSort: ["asc", "desc"],
+    LogsStatusRemapperType: ["status-remapper"],
+    LogsStringBuilderProcessorType: ["string-builder-processor"],
+    LogsTraceRemapperType: ["trace-id-remapper"],
+    LogsURLParserType: ["url-parser"],
+    LogsUserAgentParserType: ["user-agent-parser"],
+    MetricContentEncoding: ["deflate", "gzip"],
+    MonitorDeviceID: [
+        "laptop_large",
+        "tablet",
+        "mobile_small",
+        "chrome.laptop_large",
+        "chrome.tablet",
+        "chrome.mobile_small",
+        "firefox.laptop_large",
+        "firefox.tablet",
+        "firefox.mobile_small",
+    ],
+    MonitorFormulaAndFunctionEventAggregation: [
+        "count",
+        "cardinality",
+        "median",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+    ],
+    MonitorFormulaAndFunctionEventsDataSource: [
+        "rum",
+        "ci_pipelines",
+        "ci_tests",
+        "audit",
+        "events",
+        "logs",
+        "spans",
+    ],
+    MonitorOptionsNotificationPresets: [
+        "show_all",
+        "hide_query",
+        "hide_handles",
+        "hide_all",
+    ],
+    MonitorOverallStates: [
+        "Alert",
+        "Ignored",
+        "No Data",
+        "OK",
+        "Skipped",
+        "Unknown",
+        "Warn",
+    ],
+    MonitorRenotifyStatusType: ["alert", "warn", "no data"],
+    MonitorSummaryWidgetDefinitionType: ["manage_status"],
+    MonitorType: [
+        "composite",
+        "event alert",
+        "log alert",
+        "metric alert",
+        "process alert",
+        "query alert",
+        "rum alert",
+        "service check",
+        "synthetics alert",
+        "trace-analytics alert",
+        "slo alert",
+        "event-v2 alert",
+        "audit alert",
+        "ci-pipelines alert",
+        "ci-tests alert",
+        "error-tracking alert",
+        "database-monitoring alert",
+    ],
+    MonthlyUsageAttributionSupportedMetrics: [
+        "api_usage",
+        "api_percentage",
+        "apm_fargate_usage",
+        "apm_fargate_percentage",
+        "appsec_fargate_usage",
+        "appsec_fargate_percentage",
+        "apm_host_usage",
+        "apm_host_percentage",
+        "apm_usm_usage",
+        "apm_usm_percentage",
+        "appsec_usage",
+        "appsec_percentage",
+        "browser_usage",
+        "browser_percentage",
+        "ci_visibility_itr_usage",
+        "ci_visibility_itr_percentage",
+        "container_excl_agent_usage",
+        "container_excl_agent_percentage",
+        "container_usage",
+        "container_percentage",
+        "cspm_containers_percentage",
+        "cspm_containers_usage",
+        "cspm_hosts_percentage",
+        "cspm_hosts_usage",
+        "custom_timeseries_usage",
+        "custom_timeseries_percentage",
+        "custom_ingested_timeseries_usage",
+        "custom_ingested_timeseries_percentage",
+        "cws_containers_percentage",
+        "cws_containers_usage",
+        "cws_hosts_percentage",
+        "cws_hosts_usage",
+        "dbm_hosts_percentage",
+        "dbm_hosts_usage",
+        "dbm_queries_percentage",
+        "dbm_queries_usage",
+        "estimated_indexed_logs_usage",
+        "estimated_indexed_logs_percentage",
+        "estimated_ingested_logs_usage",
+        "estimated_ingested_logs_percentage",
+        "estimated_indexed_spans_usage",
+        "estimated_indexed_spans_percentage",
+        "estimated_ingested_spans_usage",
+        "estimated_ingested_spans_percentage",
+        "fargate_usage",
+        "fargate_percentage",
+        "functions_usage",
+        "functions_percentage",
+        "infra_host_usage",
+        "infra_host_percentage",
+        "invocations_usage",
+        "invocations_percentage",
+        "mobile_app_testing_percentage",
+        "mobile_app_testing_usage",
+        "npm_host_usage",
+        "npm_host_percentage",
+        "obs_pipeline_bytes_usage",
+        "obs_pipeline_bytes_percentage",
+        "profiled_container_usage",
+        "profiled_container_percentage",
+        "profiled_fargate_usage",
+        "profiled_fargate_percentage",
+        "profiled_host_usage",
+        "profiled_host_percentage",
+        "snmp_usage",
+        "snmp_percentage",
+        "estimated_rum_sessions_usage",
+        "estimated_rum_sessions_percentage",
+        "universal_service_monitoring_usage",
+        "universal_service_monitoring_percentage",
+        "vuln_management_hosts_usage",
+        "vuln_management_hosts_percentage",
+        "sds_scanned_bytes_usage",
+        "sds_scanned_bytes_percentage",
+        "*",
+    ],
+    NoteWidgetDefinitionType: ["note"],
+    NotebookCellResourceType: ["notebook_cells"],
+    NotebookGraphSize: ["xs", "s", "m", "l", "xl"],
+    NotebookMarkdownCellDefinitionType: ["markdown"],
+    NotebookMetadataType: [
+        "postmortem",
+        "runbook",
+        "investigation",
+        "documentation",
+        "report",
+    ],
+    NotebookResourceType: ["notebooks"],
+    NotebookStatus: ["published"],
+    NotifyEndState: ["alert", "no data", "warn"],
+    NotifyEndType: ["canceled", "expired"],
+    OnMissingDataOption: [
+        "default",
+        "show_no_data",
+        "show_and_notify_no_data",
+        "resolve",
+    ],
+    QuerySortOrder: ["asc", "desc"],
+    QueryValueWidgetDefinitionType: ["query_value"],
+    RunWorkflowWidgetDefinitionType: ["run_workflow"],
+    SLOCorrectionCategory: [
+        "Scheduled Maintenance",
+        "Outside Business Hours",
+        "Deployment",
+        "Other",
+    ],
+    SLOCorrectionType: ["correction"],
+    SLOErrorTimeframe: ["7d", "30d", "90d", "all"],
+    SLOListWidgetDefinitionType: ["slo_list"],
+    SLOListWidgetRequestType: ["slo_list"],
+    SLOState: ["breached", "warning", "ok", "no_data"],
+    SLOTimeframe: ["7d", "30d", "90d", "custom"],
+    SLOType: ["metric", "monitor"],
+    SLOTypeNumeric: [0, 1],
+    SLOWidgetDefinitionType: ["slo"],
+    ScatterPlotWidgetDefinitionType: ["scatterplot"],
+    ScatterplotDimension: ["x", "y", "radius", "color"],
+    ScatterplotWidgetAggregator: ["avg", "last", "max", "min", "sum"],
+    SearchSLOTimeframe: ["7d", "30d", "90d"],
+    ServiceCheckStatus: [0, 1, 2, 3],
+    ServiceMapWidgetDefinitionType: ["servicemap"],
+    ServiceSummaryWidgetDefinitionType: ["trace_service"],
+    SignalArchiveReason: [
+        "none",
+        "false_positive",
+        "testing_or_maintenance",
+        "investigated_case_opened",
+        "other",
+    ],
+    SignalTriageState: ["open", "archived", "under_review"],
+    SunburstWidgetDefinitionType: ["sunburst"],
+    SunburstWidgetLegendInlineAutomaticType: ["inline", "automatic"],
+    SunburstWidgetLegendTableType: ["table", "none"],
+    SyntheticsAPIStepSubtype: ["http"],
+    SyntheticsAPITestType: ["api"],
+    SyntheticsApiTestFailureCode: [
+        "BODY_TOO_LARGE",
+        "DENIED",
+        "TOO_MANY_REDIRECTS",
+        "AUTHENTICATION_ERROR",
+        "DECRYPTION",
+        "INVALID_CHAR_IN_HEADER",
+        "HEADER_TOO_LARGE",
+        "HEADERS_INCOMPATIBLE_CONTENT_LENGTH",
+        "INVALID_REQUEST",
+        "REQUIRES_UPDATE",
+        "UNESCAPED_CHARACTERS_IN_REQUEST_PATH",
+        "MALFORMED_RESPONSE",
+        "INCORRECT_ASSERTION",
+        "CONNREFUSED",
+        "CONNRESET",
+        "DNS",
+        "HOSTUNREACH",
+        "NETUNREACH",
+        "TIMEOUT",
+        "SSL",
+        "OCSP",
+        "INVALID_TEST",
+        "TUNNEL",
+        "WEBSOCKET",
+        "UNKNOWN",
+        "INTERNAL_ERROR",
+    ],
+    SyntheticsAssertionJSONPathOperator: ["validatesJSONPath"],
+    SyntheticsAssertionOperator: [
+        "contains",
+        "doesNotContain",
+        "is",
+        "isNot",
+        "lessThan",
+        "lessThanOrEqual",
+        "moreThan",
+        "moreThanOrEqual",
+        "matches",
+        "doesNotMatch",
+        "validates",
+        "isInMoreThan",
+        "isInLessThan",
+        "doesNotExist",
+        "isUndefined",
+    ],
+    SyntheticsAssertionTimingsScope: ["all", "withoutDNS"],
+    SyntheticsAssertionType: [
+        "body",
+        "header",
+        "statusCode",
+        "certificate",
+        "responseTime",
+        "property",
+        "recordEvery",
+        "recordSome",
+        "tlsVersion",
+        "minTlsVersion",
+        "latency",
+        "packetLossPercentage",
+        "packetsReceived",
+        "networkHop",
+        "receivedMessage",
+        "grpcHealthcheckStatus",
+        "grpcMetadata",
+        "grpcProto",
+        "connection",
+    ],
+    SyntheticsAssertionXPathOperator: ["validatesXPath"],
+    SyntheticsBasicAuthDigestType: ["digest"],
+    SyntheticsBasicAuthNTLMType: ["ntlm"],
+    SyntheticsBasicAuthOauthClientType: ["oauth-client"],
+    SyntheticsBasicAuthOauthROPType: ["oauth-rop"],
+    SyntheticsBasicAuthOauthTokenApiAuthentication: ["header", "body"],
+    SyntheticsBasicAuthSigv4Type: ["sigv4"],
+    SyntheticsBasicAuthWebType: ["web"],
+    SyntheticsBrowserErrorType: ["network", "js"],
+    SyntheticsBrowserTestFailureCode: [
+        "API_REQUEST_FAILURE",
+        "ASSERTION_FAILURE",
+        "DOWNLOAD_FILE_TOO_LARGE",
+        "ELEMENT_NOT_INTERACTABLE",
+        "EMAIL_VARIABLE_NOT_DEFINED",
+        "EVALUATE_JAVASCRIPT",
+        "EVALUATE_JAVASCRIPT_CONTEXT",
+        "EXTRACT_VARIABLE",
+        "FORBIDDEN_URL",
+        "FRAME_DETACHED",
+        "INCONSISTENCIES",
+        "INTERNAL_ERROR",
+        "INVALID_TYPE_TEXT_DELAY",
+        "INVALID_URL",
+        "INVALID_VARIABLE_PATTERN",
+        "INVISIBLE_ELEMENT",
+        "LOCATE_ELEMENT",
+        "NAVIGATE_TO_LINK",
+        "OPEN_URL",
+        "PRESS_KEY",
+        "SERVER_CERTIFICATE",
+        "SELECT_OPTION",
+        "STEP_TIMEOUT",
+        "SUB_TEST_NOT_PASSED",
+        "TEST_TIMEOUT",
+        "TOO_MANY_HTTP_REQUESTS",
+        "UNAVAILABLE_BROWSER",
+        "UNKNOWN",
+        "UNSUPPORTED_AUTH_SCHEMA",
+        "UPLOAD_FILES_ELEMENT_TYPE",
+        "UPLOAD_FILES_DIALOG",
+        "UPLOAD_FILES_DYNAMIC_ELEMENT",
+        "UPLOAD_FILES_NAME",
+    ],
+    SyntheticsBrowserTestType: ["browser"],
+    SyntheticsBrowserVariableType: [
+        "element",
+        "email",
+        "global",
+        "javascript",
+        "text",
+    ],
+    SyntheticsCheckType: [
+        "equals",
+        "notEquals",
+        "contains",
+        "notContains",
+        "startsWith",
+        "notStartsWith",
+        "greater",
+        "lower",
+        "greaterEquals",
+        "lowerEquals",
+        "matchRegex",
+        "between",
+        "isEmpty",
+        "notIsEmpty",
+    ],
+    SyntheticsConfigVariableType: ["global", "text"],
+    SyntheticsDeviceID: [
+        "laptop_large",
+        "tablet",
+        "mobile_small",
+        "chrome.laptop_large",
+        "chrome.tablet",
+        "chrome.mobile_small",
+        "firefox.laptop_large",
+        "firefox.tablet",
+        "firefox.mobile_small",
+        "edge.laptop_large",
+        "edge.tablet",
+        "edge.mobile_small",
+    ],
+    SyntheticsGlobalVariableParseTestOptionsType: [
+        "http_body",
+        "http_header",
+        "local_variable",
+    ],
+    SyntheticsGlobalVariableParserType: ["raw", "json_path", "regex", "x_path"],
+    SyntheticsPlayingTab: [-1, 0, 1, 2, 3],
+    SyntheticsStatus: ["passed", "skipped", "failed"],
+    SyntheticsStepType: [
+        "assertCurrentUrl",
+        "assertElementAttribute",
+        "assertElementContent",
+        "assertElementPresent",
+        "assertEmail",
+        "assertFileDownload",
+        "assertFromJavascript",
+        "assertPageContains",
+        "assertPageLacks",
+        "click",
+        "extractFromJavascript",
+        "extractVariable",
+        "goToEmailLink",
+        "goToUrl",
+        "goToUrlAndMeasureTti",
+        "hover",
+        "playSubTest",
+        "pressKey",
+        "refresh",
+        "runApiTest",
+        "scroll",
+        "selectOption",
+        "typeText",
+        "uploadFiles",
+        "wait",
+    ],
+    SyntheticsTestCallType: ["healthcheck", "unary"],
+    SyntheticsTestDetailsSubType: [
+        "http",
+        "ssl",
+        "tcp",
+        "dns",
+        "multi",
+        "icmp",
+        "udp",
+        "websocket",
+        "grpc",
+    ],
+    SyntheticsTestDetailsType: ["api", "browser"],
+    SyntheticsTestExecutionRule: ["blocking", "non_blocking", "skipped"],
+    SyntheticsTestMonitorStatus: [0, 1, 2],
+    SyntheticsTestOptionsHTTPVersion: ["http1", "http2", "any"],
+    SyntheticsTestPauseStatus: ["live", "paused"],
+    SyntheticsTestProcessStatus: [
+        "not_scheduled",
+        "scheduled",
+        "finished",
+        "finished_with_error",
+    ],
+    SyntheticsTestRequestBodyType: [
+        "text/plain",
+        "application/json",
+        "text/xml",
+        "text/html",
+        "application/x-www-form-urlencoded",
+        "graphql",
+    ],
+    SyntheticsWarningType: ["user_locator"],
+    TableWidgetCellDisplayMode: ["number", "bar"],
+    TableWidgetDefinitionType: ["query_table"],
+    TableWidgetHasSearchBar: ["always", "never", "auto"],
+    TargetFormatType: ["auto", "string", "integer", "double"],
+    TimeseriesBackgroundType: ["bars", "area"],
+    TimeseriesWidgetDefinitionType: ["timeseries"],
+    TimeseriesWidgetLegendColumn: ["value", "avg", "sum", "min", "max"],
+    TimeseriesWidgetLegendLayout: ["auto", "horizontal", "vertical"],
+    ToplistWidgetDefinitionType: ["toplist"],
+    TopologyMapWidgetDefinitionType: ["topology_map"],
+    TopologyQueryDataSource: ["data_streams", "service_map"],
+    TopologyRequestType: ["topology"],
+    TreeMapColorBy: ["user"],
+    TreeMapGroupBy: ["user", "family", "process"],
+    TreeMapSizeBy: ["pct_cpu", "pct_mem"],
+    TreeMapWidgetDefinitionType: ["treemap"],
+    UsageAttributionSort: [
+        "api_percentage",
+        "snmp_usage",
+        "apm_host_usage",
+        "api_usage",
+        "appsec_usage",
+        "appsec_percentage",
+        "container_usage",
+        "custom_timeseries_percentage",
+        "container_percentage",
+        "apm_host_percentage",
+        "npm_host_percentage",
+        "browser_percentage",
+        "browser_usage",
+        "infra_host_percentage",
+        "snmp_percentage",
+        "npm_host_usage",
+        "infra_host_usage",
+        "custom_timeseries_usage",
+        "lambda_functions_usage",
+        "lambda_functions_percentage",
+        "lambda_invocations_usage",
+        "lambda_invocations_percentage",
+        "estimated_indexed_logs_usage",
+        "estimated_indexed_logs_percentage",
+        "estimated_ingested_logs_usage",
+        "estimated_ingested_logs_percentage",
+        "estimated_indexed_spans_usage",
+        "estimated_indexed_spans_percentage",
+        "estimated_ingested_spans_usage",
+        "estimated_ingested_spans_percentage",
+        "apm_fargate_usage",
+        "apm_fargate_percentage",
+        "appsec_fargate_usage",
+        "appsec_fargate_percentage",
+        "estimated_rum_usage_attribution_usage",
+        "estimated_rum_usage_attribution_percentage",
+    ],
+    UsageAttributionSupportedMetrics: [
+        "custom_timeseries_usage",
+        "container_usage",
+        "snmp_percentage",
+        "apm_host_usage",
+        "browser_usage",
+        "npm_host_percentage",
+        "infra_host_usage",
+        "custom_timeseries_percentage",
+        "container_percentage",
+        "api_usage",
+        "apm_host_percentage",
+        "infra_host_percentage",
+        "snmp_usage",
+        "browser_percentage",
+        "api_percentage",
+        "npm_host_usage",
+        "lambda_functions_usage",
+        "lambda_functions_percentage",
+        "lambda_invocations_usage",
+        "lambda_invocations_percentage",
+        "fargate_usage",
+        "fargate_percentage",
+        "profiled_host_usage",
+        "profiled_host_percentage",
+        "profiled_container_usage",
+        "profiled_container_percentage",
+        "dbm_hosts_usage",
+        "dbm_hosts_percentage",
+        "dbm_queries_usage",
+        "dbm_queries_percentage",
+        "estimated_indexed_logs_usage",
+        "estimated_indexed_logs_percentage",
+        "estimated_ingested_logs_usage",
+        "estimated_ingested_logs_percentage",
+        "appsec_usage",
+        "appsec_percentage",
+        "estimated_indexed_spans_usage",
+        "estimated_indexed_spans_percentage",
+        "estimated_ingested_spans_usage",
+        "estimated_ingested_spans_percentage",
+        "apm_fargate_usage",
+        "apm_fargate_percentage",
+        "appsec_fargate_usage",
+        "appsec_fargate_percentage",
+        "estimated_rum_usage_attribution_usage",
+        "estimated_rum_usage_attribution_percentage",
+        "*",
+    ],
+    UsageMetricCategory: ["standard", "custom"],
+    UsageReportsType: ["reports"],
+    UsageSort: ["computed_on", "size", "start_date", "end_date"],
+    UsageSortDirection: ["desc", "asc"],
+    WebhooksIntegrationEncoding: ["json", "form"],
+    WidgetAggregator: ["avg", "last", "max", "min", "sum", "percentile"],
+    WidgetChangeType: ["absolute", "relative"],
+    WidgetColorPreference: ["background", "text"],
+    WidgetComparator: ["=", ">", ">=", "<", "<="],
+    WidgetCompareTo: ["hour_before", "day_before", "week_before", "month_before"],
+    WidgetDisplayType: ["area", "bars", "line", "overlay"],
+    WidgetEventSize: ["s", "l"],
+    WidgetGrouping: ["check", "cluster"],
+    WidgetHorizontalAlign: ["center", "left", "right"],
+    WidgetImageSizing: [
+        "fill",
+        "contain",
+        "cover",
+        "none",
+        "scale-down",
+        "zoom",
+        "fit",
+        "center",
+    ],
+    WidgetLayoutType: ["ordered"],
+    WidgetLineType: ["dashed", "dotted", "solid"],
+    WidgetLineWidth: ["normal", "thick", "thin"],
+    WidgetLiveSpan: [
+        "1m",
+        "5m",
+        "10m",
+        "15m",
+        "30m",
+        "1h",
+        "4h",
+        "1d",
+        "2d",
+        "1w",
+        "1mo",
+        "3mo",
+        "6mo",
+        "1y",
+        "alert",
+    ],
+    WidgetMargin: ["sm", "md", "lg", "small", "large"],
+    WidgetMessageDisplay: ["inline", "expanded-md", "expanded-lg"],
+    WidgetMonitorSummaryDisplayFormat: ["counts", "countsAndList", "list"],
+    WidgetMonitorSummarySort: [
+        "name",
+        "group",
+        "status",
+        "tags",
+        "triggered",
+        "group,asc",
+        "group,desc",
+        "name,asc",
+        "name,desc",
+        "status,asc",
+        "status,desc",
+        "tags,asc",
+        "tags,desc",
+        "triggered,asc",
+        "triggered,desc",
+        "priority,asc",
+        "priority,desc",
+    ],
+    WidgetNodeType: ["host", "container"],
+    WidgetOrderBy: ["change", "name", "present", "past"],
+    WidgetPalette: [
+        "blue",
+        "custom_bg",
+        "custom_image",
+        "custom_text",
+        "gray_on_white",
+        "grey",
+        "green",
+        "orange",
+        "red",
+        "red_on_white",
+        "white_on_gray",
+        "white_on_green",
+        "green_on_white",
+        "white_on_red",
+        "white_on_yellow",
+        "yellow_on_white",
+        "black_on_light_yellow",
+        "black_on_light_green",
+        "black_on_light_red",
+    ],
+    WidgetServiceSummaryDisplayFormat: [
+        "one_column",
+        "two_column",
+        "three_column",
+    ],
+    WidgetSizeFormat: ["small", "medium", "large"],
+    WidgetSort: ["asc", "desc"],
+    WidgetSummaryType: ["monitors", "groups", "combined"],
+    WidgetTextAlign: ["center", "left", "right"],
+    WidgetTickEdge: ["bottom", "left", "right", "top"],
+    WidgetTimeWindows: [
+        "7d",
+        "30d",
+        "90d",
+        "week_to_date",
+        "previous_week",
+        "month_to_date",
+        "previous_month",
+        "global_time",
+    ],
+    WidgetVerticalAlign: ["center", "top", "bottom"],
+    WidgetViewMode: ["overall", "component", "both"],
+    WidgetVizType: ["timeseries", "toplist"],
+};
+const typeMap = {
+    APIErrorResponse: APIErrorResponse_1.APIErrorResponse,
+    AWSAccount: AWSAccount_1.AWSAccount,
+    AWSAccountAndLambdaRequest: AWSAccountAndLambdaRequest_1.AWSAccountAndLambdaRequest,
+    AWSAccountCreateResponse: AWSAccountCreateResponse_1.AWSAccountCreateResponse,
+    AWSAccountDeleteRequest: AWSAccountDeleteRequest_1.AWSAccountDeleteRequest,
+    AWSAccountListResponse: AWSAccountListResponse_1.AWSAccountListResponse,
+    AWSLogsAsyncError: AWSLogsAsyncError_1.AWSLogsAsyncError,
+    AWSLogsAsyncResponse: AWSLogsAsyncResponse_1.AWSLogsAsyncResponse,
+    AWSLogsLambda: AWSLogsLambda_1.AWSLogsLambda,
+    AWSLogsListResponse: AWSLogsListResponse_1.AWSLogsListResponse,
+    AWSLogsListServicesResponse: AWSLogsListServicesResponse_1.AWSLogsListServicesResponse,
+    AWSLogsServicesRequest: AWSLogsServicesRequest_1.AWSLogsServicesRequest,
+    AWSTagFilter: AWSTagFilter_1.AWSTagFilter,
+    AWSTagFilterCreateRequest: AWSTagFilterCreateRequest_1.AWSTagFilterCreateRequest,
+    AWSTagFilterDeleteRequest: AWSTagFilterDeleteRequest_1.AWSTagFilterDeleteRequest,
+    AWSTagFilterListResponse: AWSTagFilterListResponse_1.AWSTagFilterListResponse,
+    AddSignalToIncidentRequest: AddSignalToIncidentRequest_1.AddSignalToIncidentRequest,
+    AlertGraphWidgetDefinition: AlertGraphWidgetDefinition_1.AlertGraphWidgetDefinition,
+    AlertValueWidgetDefinition: AlertValueWidgetDefinition_1.AlertValueWidgetDefinition,
+    ApiKey: ApiKey_1.ApiKey,
+    ApiKeyListResponse: ApiKeyListResponse_1.ApiKeyListResponse,
+    ApiKeyResponse: ApiKeyResponse_1.ApiKeyResponse,
+    ApmStatsQueryColumnType: ApmStatsQueryColumnType_1.ApmStatsQueryColumnType,
+    ApmStatsQueryDefinition: ApmStatsQueryDefinition_1.ApmStatsQueryDefinition,
+    ApplicationKey: ApplicationKey_1.ApplicationKey,
+    ApplicationKeyListResponse: ApplicationKeyListResponse_1.ApplicationKeyListResponse,
+    ApplicationKeyResponse: ApplicationKeyResponse_1.ApplicationKeyResponse,
+    AuthenticationValidationResponse: AuthenticationValidationResponse_1.AuthenticationValidationResponse,
+    AzureAccount: AzureAccount_1.AzureAccount,
+    CancelDowntimesByScopeRequest: CancelDowntimesByScopeRequest_1.CancelDowntimesByScopeRequest,
+    CanceledDowntimesIds: CanceledDowntimesIds_1.CanceledDowntimesIds,
+    ChangeWidgetDefinition: ChangeWidgetDefinition_1.ChangeWidgetDefinition,
+    ChangeWidgetRequest: ChangeWidgetRequest_1.ChangeWidgetRequest,
+    CheckCanDeleteMonitorResponse: CheckCanDeleteMonitorResponse_1.CheckCanDeleteMonitorResponse,
+    CheckCanDeleteMonitorResponseData: CheckCanDeleteMonitorResponseData_1.CheckCanDeleteMonitorResponseData,
+    CheckCanDeleteSLOResponse: CheckCanDeleteSLOResponse_1.CheckCanDeleteSLOResponse,
+    CheckCanDeleteSLOResponseData: CheckCanDeleteSLOResponseData_1.CheckCanDeleteSLOResponseData,
+    CheckStatusWidgetDefinition: CheckStatusWidgetDefinition_1.CheckStatusWidgetDefinition,
+    Creator: Creator_1.Creator,
+    Dashboard: Dashboard_1.Dashboard,
+    DashboardBulkActionData: DashboardBulkActionData_1.DashboardBulkActionData,
+    DashboardBulkDeleteRequest: DashboardBulkDeleteRequest_1.DashboardBulkDeleteRequest,
+    DashboardDeleteResponse: DashboardDeleteResponse_1.DashboardDeleteResponse,
+    DashboardGlobalTime: DashboardGlobalTime_1.DashboardGlobalTime,
+    DashboardList: DashboardList_1.DashboardList,
+    DashboardListDeleteResponse: DashboardListDeleteResponse_1.DashboardListDeleteResponse,
+    DashboardListListResponse: DashboardListListResponse_1.DashboardListListResponse,
+    DashboardRestoreRequest: DashboardRestoreRequest_1.DashboardRestoreRequest,
+    DashboardSummary: DashboardSummary_1.DashboardSummary,
+    DashboardSummaryDefinition: DashboardSummaryDefinition_1.DashboardSummaryDefinition,
+    DashboardTemplateVariable: DashboardTemplateVariable_1.DashboardTemplateVariable,
+    DashboardTemplateVariablePreset: DashboardTemplateVariablePreset_1.DashboardTemplateVariablePreset,
+    DashboardTemplateVariablePresetValue: DashboardTemplateVariablePresetValue_1.DashboardTemplateVariablePresetValue,
+    DeleteSharedDashboardResponse: DeleteSharedDashboardResponse_1.DeleteSharedDashboardResponse,
+    DeletedMonitor: DeletedMonitor_1.DeletedMonitor,
+    DistributionPointsPayload: DistributionPointsPayload_1.DistributionPointsPayload,
+    DistributionPointsSeries: DistributionPointsSeries_1.DistributionPointsSeries,
+    DistributionWidgetDefinition: DistributionWidgetDefinition_1.DistributionWidgetDefinition,
+    DistributionWidgetRequest: DistributionWidgetRequest_1.DistributionWidgetRequest,
+    DistributionWidgetXAxis: DistributionWidgetXAxis_1.DistributionWidgetXAxis,
+    DistributionWidgetYAxis: DistributionWidgetYAxis_1.DistributionWidgetYAxis,
+    Downtime: Downtime_1.Downtime,
+    DowntimeChild: DowntimeChild_1.DowntimeChild,
+    DowntimeRecurrence: DowntimeRecurrence_1.DowntimeRecurrence,
+    Event: Event_1.Event,
+    EventCreateRequest: EventCreateRequest_1.EventCreateRequest,
+    EventCreateResponse: EventCreateResponse_1.EventCreateResponse,
+    EventListResponse: EventListResponse_1.EventListResponse,
+    EventQueryDefinition: EventQueryDefinition_1.EventQueryDefinition,
+    EventResponse: EventResponse_1.EventResponse,
+    EventStreamWidgetDefinition: EventStreamWidgetDefinition_1.EventStreamWidgetDefinition,
+    EventTimelineWidgetDefinition: EventTimelineWidgetDefinition_1.EventTimelineWidgetDefinition,
+    FormulaAndFunctionApmDependencyStatsQueryDefinition: FormulaAndFunctionApmDependencyStatsQueryDefinition_1.FormulaAndFunctionApmDependencyStatsQueryDefinition,
+    FormulaAndFunctionApmResourceStatsQueryDefinition: FormulaAndFunctionApmResourceStatsQueryDefinition_1.FormulaAndFunctionApmResourceStatsQueryDefinition,
+    FormulaAndFunctionCloudCostQueryDefinition: FormulaAndFunctionCloudCostQueryDefinition_1.FormulaAndFunctionCloudCostQueryDefinition,
+    FormulaAndFunctionEventQueryDefinition: FormulaAndFunctionEventQueryDefinition_1.FormulaAndFunctionEventQueryDefinition,
+    FormulaAndFunctionEventQueryDefinitionCompute: FormulaAndFunctionEventQueryDefinitionCompute_1.FormulaAndFunctionEventQueryDefinitionCompute,
+    FormulaAndFunctionEventQueryDefinitionSearch: FormulaAndFunctionEventQueryDefinitionSearch_1.FormulaAndFunctionEventQueryDefinitionSearch,
+    FormulaAndFunctionEventQueryGroupBy: FormulaAndFunctionEventQueryGroupBy_1.FormulaAndFunctionEventQueryGroupBy,
+    FormulaAndFunctionEventQueryGroupBySort: FormulaAndFunctionEventQueryGroupBySort_1.FormulaAndFunctionEventQueryGroupBySort,
+    FormulaAndFunctionMetricQueryDefinition: FormulaAndFunctionMetricQueryDefinition_1.FormulaAndFunctionMetricQueryDefinition,
+    FormulaAndFunctionProcessQueryDefinition: FormulaAndFunctionProcessQueryDefinition_1.FormulaAndFunctionProcessQueryDefinition,
+    FormulaAndFunctionSLOQueryDefinition: FormulaAndFunctionSLOQueryDefinition_1.FormulaAndFunctionSLOQueryDefinition,
+    FreeTextWidgetDefinition: FreeTextWidgetDefinition_1.FreeTextWidgetDefinition,
+    FunnelQuery: FunnelQuery_1.FunnelQuery,
+    FunnelStep: FunnelStep_1.FunnelStep,
+    FunnelWidgetDefinition: FunnelWidgetDefinition_1.FunnelWidgetDefinition,
+    FunnelWidgetRequest: FunnelWidgetRequest_1.FunnelWidgetRequest,
+    GCPAccount: GCPAccount_1.GCPAccount,
+    GeomapWidgetDefinition: GeomapWidgetDefinition_1.GeomapWidgetDefinition,
+    GeomapWidgetDefinitionStyle: GeomapWidgetDefinitionStyle_1.GeomapWidgetDefinitionStyle,
+    GeomapWidgetDefinitionView: GeomapWidgetDefinitionView_1.GeomapWidgetDefinitionView,
+    GeomapWidgetRequest: GeomapWidgetRequest_1.GeomapWidgetRequest,
+    GraphSnapshot: GraphSnapshot_1.GraphSnapshot,
+    GroupWidgetDefinition: GroupWidgetDefinition_1.GroupWidgetDefinition,
+    HTTPLogError: HTTPLogError_1.HTTPLogError,
+    HTTPLogItem: HTTPLogItem_1.HTTPLogItem,
+    HeatMapWidgetDefinition: HeatMapWidgetDefinition_1.HeatMapWidgetDefinition,
+    HeatMapWidgetRequest: HeatMapWidgetRequest_1.HeatMapWidgetRequest,
+    Host: Host_1.Host,
+    HostListResponse: HostListResponse_1.HostListResponse,
+    HostMapRequest: HostMapRequest_1.HostMapRequest,
+    HostMapWidgetDefinition: HostMapWidgetDefinition_1.HostMapWidgetDefinition,
+    HostMapWidgetDefinitionRequests: HostMapWidgetDefinitionRequests_1.HostMapWidgetDefinitionRequests,
+    HostMapWidgetDefinitionStyle: HostMapWidgetDefinitionStyle_1.HostMapWidgetDefinitionStyle,
+    HostMeta: HostMeta_1.HostMeta,
+    HostMetaInstallMethod: HostMetaInstallMethod_1.HostMetaInstallMethod,
+    HostMetrics: HostMetrics_1.HostMetrics,
+    HostMuteResponse: HostMuteResponse_1.HostMuteResponse,
+    HostMuteSettings: HostMuteSettings_1.HostMuteSettings,
+    HostTags: HostTags_1.HostTags,
+    HostTotals: HostTotals_1.HostTotals,
+    HourlyUsageAttributionBody: HourlyUsageAttributionBody_1.HourlyUsageAttributionBody,
+    HourlyUsageAttributionMetadata: HourlyUsageAttributionMetadata_1.HourlyUsageAttributionMetadata,
+    HourlyUsageAttributionPagination: HourlyUsageAttributionPagination_1.HourlyUsageAttributionPagination,
+    HourlyUsageAttributionResponse: HourlyUsageAttributionResponse_1.HourlyUsageAttributionResponse,
+    IFrameWidgetDefinition: IFrameWidgetDefinition_1.IFrameWidgetDefinition,
+    IPPrefixesAPI: IPPrefixesAPI_1.IPPrefixesAPI,
+    IPPrefixesAPM: IPPrefixesAPM_1.IPPrefixesAPM,
+    IPPrefixesAgents: IPPrefixesAgents_1.IPPrefixesAgents,
+    IPPrefixesLogs: IPPrefixesLogs_1.IPPrefixesLogs,
+    IPPrefixesOrchestrator: IPPrefixesOrchestrator_1.IPPrefixesOrchestrator,
+    IPPrefixesProcess: IPPrefixesProcess_1.IPPrefixesProcess,
+    IPPrefixesRemoteConfiguration: IPPrefixesRemoteConfiguration_1.IPPrefixesRemoteConfiguration,
+    IPPrefixesSynthetics: IPPrefixesSynthetics_1.IPPrefixesSynthetics,
+    IPPrefixesSyntheticsPrivateLocations: IPPrefixesSyntheticsPrivateLocations_1.IPPrefixesSyntheticsPrivateLocations,
+    IPPrefixesWebhooks: IPPrefixesWebhooks_1.IPPrefixesWebhooks,
+    IPRanges: IPRanges_1.IPRanges,
+    IdpFormData: IdpFormData_1.IdpFormData,
+    IdpResponse: IdpResponse_1.IdpResponse,
+    ImageWidgetDefinition: ImageWidgetDefinition_1.ImageWidgetDefinition,
+    IntakePayloadAccepted: IntakePayloadAccepted_1.IntakePayloadAccepted,
+    ListStreamColumn: ListStreamColumn_1.ListStreamColumn,
+    ListStreamComputeItems: ListStreamComputeItems_1.ListStreamComputeItems,
+    ListStreamGroupByItems: ListStreamGroupByItems_1.ListStreamGroupByItems,
+    ListStreamQuery: ListStreamQuery_1.ListStreamQuery,
+    ListStreamWidgetDefinition: ListStreamWidgetDefinition_1.ListStreamWidgetDefinition,
+    ListStreamWidgetRequest: ListStreamWidgetRequest_1.ListStreamWidgetRequest,
+    Log: Log_1.Log,
+    LogContent: LogContent_1.LogContent,
+    LogQueryDefinition: LogQueryDefinition_1.LogQueryDefinition,
+    LogQueryDefinitionGroupBy: LogQueryDefinitionGroupBy_1.LogQueryDefinitionGroupBy,
+    LogQueryDefinitionGroupBySort: LogQueryDefinitionGroupBySort_1.LogQueryDefinitionGroupBySort,
+    LogQueryDefinitionSearch: LogQueryDefinitionSearch_1.LogQueryDefinitionSearch,
+    LogStreamWidgetDefinition: LogStreamWidgetDefinition_1.LogStreamWidgetDefinition,
+    LogsAPIError: LogsAPIError_1.LogsAPIError,
+    LogsAPIErrorResponse: LogsAPIErrorResponse_1.LogsAPIErrorResponse,
+    LogsArithmeticProcessor: LogsArithmeticProcessor_1.LogsArithmeticProcessor,
+    LogsAttributeRemapper: LogsAttributeRemapper_1.LogsAttributeRemapper,
+    LogsByRetention: LogsByRetention_1.LogsByRetention,
+    LogsByRetentionMonthlyUsage: LogsByRetentionMonthlyUsage_1.LogsByRetentionMonthlyUsage,
+    LogsByRetentionOrgUsage: LogsByRetentionOrgUsage_1.LogsByRetentionOrgUsage,
+    LogsByRetentionOrgs: LogsByRetentionOrgs_1.LogsByRetentionOrgs,
+    LogsCategoryProcessor: LogsCategoryProcessor_1.LogsCategoryProcessor,
+    LogsCategoryProcessorCategory: LogsCategoryProcessorCategory_1.LogsCategoryProcessorCategory,
+    LogsDateRemapper: LogsDateRemapper_1.LogsDateRemapper,
+    LogsExclusion: LogsExclusion_1.LogsExclusion,
+    LogsExclusionFilter: LogsExclusionFilter_1.LogsExclusionFilter,
+    LogsFilter: LogsFilter_1.LogsFilter,
+    LogsGeoIPParser: LogsGeoIPParser_1.LogsGeoIPParser,
+    LogsGrokParser: LogsGrokParser_1.LogsGrokParser,
+    LogsGrokParserRules: LogsGrokParserRules_1.LogsGrokParserRules,
+    LogsIndex: LogsIndex_1.LogsIndex,
+    LogsIndexListResponse: LogsIndexListResponse_1.LogsIndexListResponse,
+    LogsIndexUpdateRequest: LogsIndexUpdateRequest_1.LogsIndexUpdateRequest,
+    LogsIndexesOrder: LogsIndexesOrder_1.LogsIndexesOrder,
+    LogsListRequest: LogsListRequest_1.LogsListRequest,
+    LogsListRequestTime: LogsListRequestTime_1.LogsListRequestTime,
+    LogsListResponse: LogsListResponse_1.LogsListResponse,
+    LogsLookupProcessor: LogsLookupProcessor_1.LogsLookupProcessor,
+    LogsMessageRemapper: LogsMessageRemapper_1.LogsMessageRemapper,
+    LogsPipeline: LogsPipeline_1.LogsPipeline,
+    LogsPipelineProcessor: LogsPipelineProcessor_1.LogsPipelineProcessor,
+    LogsPipelinesOrder: LogsPipelinesOrder_1.LogsPipelinesOrder,
+    LogsQueryCompute: LogsQueryCompute_1.LogsQueryCompute,
+    LogsRetentionAggSumUsage: LogsRetentionAggSumUsage_1.LogsRetentionAggSumUsage,
+    LogsRetentionSumUsage: LogsRetentionSumUsage_1.LogsRetentionSumUsage,
+    LogsServiceRemapper: LogsServiceRemapper_1.LogsServiceRemapper,
+    LogsStatusRemapper: LogsStatusRemapper_1.LogsStatusRemapper,
+    LogsStringBuilderProcessor: LogsStringBuilderProcessor_1.LogsStringBuilderProcessor,
+    LogsTraceRemapper: LogsTraceRemapper_1.LogsTraceRemapper,
+    LogsURLParser: LogsURLParser_1.LogsURLParser,
+    LogsUserAgentParser: LogsUserAgentParser_1.LogsUserAgentParser,
+    MatchingDowntime: MatchingDowntime_1.MatchingDowntime,
+    MetricMetadata: MetricMetadata_1.MetricMetadata,
+    MetricSearchResponse: MetricSearchResponse_1.MetricSearchResponse,
+    MetricSearchResponseResults: MetricSearchResponseResults_1.MetricSearchResponseResults,
+    MetricsListResponse: MetricsListResponse_1.MetricsListResponse,
+    MetricsPayload: MetricsPayload_1.MetricsPayload,
+    MetricsQueryMetadata: MetricsQueryMetadata_1.MetricsQueryMetadata,
+    MetricsQueryResponse: MetricsQueryResponse_1.MetricsQueryResponse,
+    MetricsQueryUnit: MetricsQueryUnit_1.MetricsQueryUnit,
+    Monitor: Monitor_1.Monitor,
+    MonitorFormulaAndFunctionEventQueryDefinition: MonitorFormulaAndFunctionEventQueryDefinition_1.MonitorFormulaAndFunctionEventQueryDefinition,
+    MonitorFormulaAndFunctionEventQueryDefinitionCompute: MonitorFormulaAndFunctionEventQueryDefinitionCompute_1.MonitorFormulaAndFunctionEventQueryDefinitionCompute,
+    MonitorFormulaAndFunctionEventQueryDefinitionSearch: MonitorFormulaAndFunctionEventQueryDefinitionSearch_1.MonitorFormulaAndFunctionEventQueryDefinitionSearch,
+    MonitorFormulaAndFunctionEventQueryGroupBy: MonitorFormulaAndFunctionEventQueryGroupBy_1.MonitorFormulaAndFunctionEventQueryGroupBy,
+    MonitorFormulaAndFunctionEventQueryGroupBySort: MonitorFormulaAndFunctionEventQueryGroupBySort_1.MonitorFormulaAndFunctionEventQueryGroupBySort,
+    MonitorGroupSearchResponse: MonitorGroupSearchResponse_1.MonitorGroupSearchResponse,
+    MonitorGroupSearchResponseCounts: MonitorGroupSearchResponseCounts_1.MonitorGroupSearchResponseCounts,
+    MonitorGroupSearchResult: MonitorGroupSearchResult_1.MonitorGroupSearchResult,
+    MonitorOptions: MonitorOptions_1.MonitorOptions,
+    MonitorOptionsAggregation: MonitorOptionsAggregation_1.MonitorOptionsAggregation,
+    MonitorOptionsSchedulingOptions: MonitorOptionsSchedulingOptions_1.MonitorOptionsSchedulingOptions,
+    MonitorOptionsSchedulingOptionsEvaluationWindow: MonitorOptionsSchedulingOptionsEvaluationWindow_1.MonitorOptionsSchedulingOptionsEvaluationWindow,
+    MonitorSearchCountItem: MonitorSearchCountItem_1.MonitorSearchCountItem,
+    MonitorSearchResponse: MonitorSearchResponse_1.MonitorSearchResponse,
+    MonitorSearchResponseCounts: MonitorSearchResponseCounts_1.MonitorSearchResponseCounts,
+    MonitorSearchResponseMetadata: MonitorSearchResponseMetadata_1.MonitorSearchResponseMetadata,
+    MonitorSearchResult: MonitorSearchResult_1.MonitorSearchResult,
+    MonitorSearchResultNotification: MonitorSearchResultNotification_1.MonitorSearchResultNotification,
+    MonitorState: MonitorState_1.MonitorState,
+    MonitorStateGroup: MonitorStateGroup_1.MonitorStateGroup,
+    MonitorSummaryWidgetDefinition: MonitorSummaryWidgetDefinition_1.MonitorSummaryWidgetDefinition,
+    MonitorThresholdWindowOptions: MonitorThresholdWindowOptions_1.MonitorThresholdWindowOptions,
+    MonitorThresholds: MonitorThresholds_1.MonitorThresholds,
+    MonitorUpdateRequest: MonitorUpdateRequest_1.MonitorUpdateRequest,
+    MonthlyUsageAttributionBody: MonthlyUsageAttributionBody_1.MonthlyUsageAttributionBody,
+    MonthlyUsageAttributionMetadata: MonthlyUsageAttributionMetadata_1.MonthlyUsageAttributionMetadata,
+    MonthlyUsageAttributionPagination: MonthlyUsageAttributionPagination_1.MonthlyUsageAttributionPagination,
+    MonthlyUsageAttributionResponse: MonthlyUsageAttributionResponse_1.MonthlyUsageAttributionResponse,
+    MonthlyUsageAttributionValues: MonthlyUsageAttributionValues_1.MonthlyUsageAttributionValues,
+    NoteWidgetDefinition: NoteWidgetDefinition_1.NoteWidgetDefinition,
+    NotebookAbsoluteTime: NotebookAbsoluteTime_1.NotebookAbsoluteTime,
+    NotebookAuthor: NotebookAuthor_1.NotebookAuthor,
+    NotebookCellCreateRequest: NotebookCellCreateRequest_1.NotebookCellCreateRequest,
+    NotebookCellResponse: NotebookCellResponse_1.NotebookCellResponse,
+    NotebookCellUpdateRequest: NotebookCellUpdateRequest_1.NotebookCellUpdateRequest,
+    NotebookCreateData: NotebookCreateData_1.NotebookCreateData,
+    NotebookCreateDataAttributes: NotebookCreateDataAttributes_1.NotebookCreateDataAttributes,
+    NotebookCreateRequest: NotebookCreateRequest_1.NotebookCreateRequest,
+    NotebookDistributionCellAttributes: NotebookDistributionCellAttributes_1.NotebookDistributionCellAttributes,
+    NotebookHeatMapCellAttributes: NotebookHeatMapCellAttributes_1.NotebookHeatMapCellAttributes,
+    NotebookLogStreamCellAttributes: NotebookLogStreamCellAttributes_1.NotebookLogStreamCellAttributes,
+    NotebookMarkdownCellAttributes: NotebookMarkdownCellAttributes_1.NotebookMarkdownCellAttributes,
+    NotebookMarkdownCellDefinition: NotebookMarkdownCellDefinition_1.NotebookMarkdownCellDefinition,
+    NotebookMetadata: NotebookMetadata_1.NotebookMetadata,
+    NotebookRelativeTime: NotebookRelativeTime_1.NotebookRelativeTime,
+    NotebookResponse: NotebookResponse_1.NotebookResponse,
+    NotebookResponseData: NotebookResponseData_1.NotebookResponseData,
+    NotebookResponseDataAttributes: NotebookResponseDataAttributes_1.NotebookResponseDataAttributes,
+    NotebookSplitBy: NotebookSplitBy_1.NotebookSplitBy,
+    NotebookTimeseriesCellAttributes: NotebookTimeseriesCellAttributes_1.NotebookTimeseriesCellAttributes,
+    NotebookToplistCellAttributes: NotebookToplistCellAttributes_1.NotebookToplistCellAttributes,
+    NotebookUpdateData: NotebookUpdateData_1.NotebookUpdateData,
+    NotebookUpdateDataAttributes: NotebookUpdateDataAttributes_1.NotebookUpdateDataAttributes,
+    NotebookUpdateRequest: NotebookUpdateRequest_1.NotebookUpdateRequest,
+    NotebooksResponse: NotebooksResponse_1.NotebooksResponse,
+    NotebooksResponseData: NotebooksResponseData_1.NotebooksResponseData,
+    NotebooksResponseDataAttributes: NotebooksResponseDataAttributes_1.NotebooksResponseDataAttributes,
+    NotebooksResponseMeta: NotebooksResponseMeta_1.NotebooksResponseMeta,
+    NotebooksResponsePage: NotebooksResponsePage_1.NotebooksResponsePage,
+    OrgDowngradedResponse: OrgDowngradedResponse_1.OrgDowngradedResponse,
+    Organization: Organization_1.Organization,
+    OrganizationBilling: OrganizationBilling_1.OrganizationBilling,
+    OrganizationCreateBody: OrganizationCreateBody_1.OrganizationCreateBody,
+    OrganizationCreateResponse: OrganizationCreateResponse_1.OrganizationCreateResponse,
+    OrganizationListResponse: OrganizationListResponse_1.OrganizationListResponse,
+    OrganizationResponse: OrganizationResponse_1.OrganizationResponse,
+    OrganizationSettings: OrganizationSettings_1.OrganizationSettings,
+    OrganizationSettingsSaml: OrganizationSettingsSaml_1.OrganizationSettingsSaml,
+    OrganizationSettingsSamlAutocreateUsersDomains: OrganizationSettingsSamlAutocreateUsersDomains_1.OrganizationSettingsSamlAutocreateUsersDomains,
+    OrganizationSettingsSamlIdpInitiatedLogin: OrganizationSettingsSamlIdpInitiatedLogin_1.OrganizationSettingsSamlIdpInitiatedLogin,
+    OrganizationSettingsSamlStrictMode: OrganizationSettingsSamlStrictMode_1.OrganizationSettingsSamlStrictMode,
+    OrganizationSubscription: OrganizationSubscription_1.OrganizationSubscription,
+    PagerDutyService: PagerDutyService_1.PagerDutyService,
+    PagerDutyServiceKey: PagerDutyServiceKey_1.PagerDutyServiceKey,
+    PagerDutyServiceName: PagerDutyServiceName_1.PagerDutyServiceName,
+    Pagination: Pagination_1.Pagination,
+    ProcessQueryDefinition: ProcessQueryDefinition_1.ProcessQueryDefinition,
+    QueryValueWidgetDefinition: QueryValueWidgetDefinition_1.QueryValueWidgetDefinition,
+    QueryValueWidgetRequest: QueryValueWidgetRequest_1.QueryValueWidgetRequest,
+    ReferenceTableLogsLookupProcessor: ReferenceTableLogsLookupProcessor_1.ReferenceTableLogsLookupProcessor,
+    ResponseMetaAttributes: ResponseMetaAttributes_1.ResponseMetaAttributes,
+    RunWorkflowWidgetDefinition: RunWorkflowWidgetDefinition_1.RunWorkflowWidgetDefinition,
+    RunWorkflowWidgetInput: RunWorkflowWidgetInput_1.RunWorkflowWidgetInput,
+    SLOBulkDeleteError: SLOBulkDeleteError_1.SLOBulkDeleteError,
+    SLOBulkDeleteResponse: SLOBulkDeleteResponse_1.SLOBulkDeleteResponse,
+    SLOBulkDeleteResponseData: SLOBulkDeleteResponseData_1.SLOBulkDeleteResponseData,
+    SLOCorrection: SLOCorrection_1.SLOCorrection,
+    SLOCorrectionCreateData: SLOCorrectionCreateData_1.SLOCorrectionCreateData,
+    SLOCorrectionCreateRequest: SLOCorrectionCreateRequest_1.SLOCorrectionCreateRequest,
+    SLOCorrectionCreateRequestAttributes: SLOCorrectionCreateRequestAttributes_1.SLOCorrectionCreateRequestAttributes,
+    SLOCorrectionListResponse: SLOCorrectionListResponse_1.SLOCorrectionListResponse,
+    SLOCorrectionResponse: SLOCorrectionResponse_1.SLOCorrectionResponse,
+    SLOCorrectionResponseAttributes: SLOCorrectionResponseAttributes_1.SLOCorrectionResponseAttributes,
+    SLOCorrectionResponseAttributesModifier: SLOCorrectionResponseAttributesModifier_1.SLOCorrectionResponseAttributesModifier,
+    SLOCorrectionUpdateData: SLOCorrectionUpdateData_1.SLOCorrectionUpdateData,
+    SLOCorrectionUpdateRequest: SLOCorrectionUpdateRequest_1.SLOCorrectionUpdateRequest,
+    SLOCorrectionUpdateRequestAttributes: SLOCorrectionUpdateRequestAttributes_1.SLOCorrectionUpdateRequestAttributes,
+    SLOCreator: SLOCreator_1.SLOCreator,
+    SLODeleteResponse: SLODeleteResponse_1.SLODeleteResponse,
+    SLOHistoryMetrics: SLOHistoryMetrics_1.SLOHistoryMetrics,
+    SLOHistoryMetricsSeries: SLOHistoryMetricsSeries_1.SLOHistoryMetricsSeries,
+    SLOHistoryMetricsSeriesMetadata: SLOHistoryMetricsSeriesMetadata_1.SLOHistoryMetricsSeriesMetadata,
+    SLOHistoryMetricsSeriesMetadataUnit: SLOHistoryMetricsSeriesMetadataUnit_1.SLOHistoryMetricsSeriesMetadataUnit,
+    SLOHistoryMonitor: SLOHistoryMonitor_1.SLOHistoryMonitor,
+    SLOHistoryResponse: SLOHistoryResponse_1.SLOHistoryResponse,
+    SLOHistoryResponseData: SLOHistoryResponseData_1.SLOHistoryResponseData,
+    SLOHistoryResponseError: SLOHistoryResponseError_1.SLOHistoryResponseError,
+    SLOHistoryResponseErrorWithType: SLOHistoryResponseErrorWithType_1.SLOHistoryResponseErrorWithType,
+    SLOHistorySLIData: SLOHistorySLIData_1.SLOHistorySLIData,
+    SLOListResponse: SLOListResponse_1.SLOListResponse,
+    SLOListResponseMetadata: SLOListResponseMetadata_1.SLOListResponseMetadata,
+    SLOListResponseMetadataPage: SLOListResponseMetadataPage_1.SLOListResponseMetadataPage,
+    SLOListWidgetDefinition: SLOListWidgetDefinition_1.SLOListWidgetDefinition,
+    SLOListWidgetQuery: SLOListWidgetQuery_1.SLOListWidgetQuery,
+    SLOListWidgetRequest: SLOListWidgetRequest_1.SLOListWidgetRequest,
+    SLOOverallStatuses: SLOOverallStatuses_1.SLOOverallStatuses,
+    SLORawErrorBudgetRemaining: SLORawErrorBudgetRemaining_1.SLORawErrorBudgetRemaining,
+    SLOResponse: SLOResponse_1.SLOResponse,
+    SLOResponseData: SLOResponseData_1.SLOResponseData,
+    SLOStatus: SLOStatus_1.SLOStatus,
+    SLOThreshold: SLOThreshold_1.SLOThreshold,
+    SLOWidgetDefinition: SLOWidgetDefinition_1.SLOWidgetDefinition,
+    ScatterPlotRequest: ScatterPlotRequest_1.ScatterPlotRequest,
+    ScatterPlotWidgetDefinition: ScatterPlotWidgetDefinition_1.ScatterPlotWidgetDefinition,
+    ScatterPlotWidgetDefinitionRequests: ScatterPlotWidgetDefinitionRequests_1.ScatterPlotWidgetDefinitionRequests,
+    ScatterplotTableRequest: ScatterplotTableRequest_1.ScatterplotTableRequest,
+    ScatterplotWidgetFormula: ScatterplotWidgetFormula_1.ScatterplotWidgetFormula,
+    SearchSLOQuery: SearchSLOQuery_1.SearchSLOQuery,
+    SearchSLOResponse: SearchSLOResponse_1.SearchSLOResponse,
+    SearchSLOResponseData: SearchSLOResponseData_1.SearchSLOResponseData,
+    SearchSLOResponseDataAttributes: SearchSLOResponseDataAttributes_1.SearchSLOResponseDataAttributes,
+    SearchSLOResponseDataAttributesFacets: SearchSLOResponseDataAttributesFacets_1.SearchSLOResponseDataAttributesFacets,
+    SearchSLOResponseDataAttributesFacetsObjectInt: SearchSLOResponseDataAttributesFacetsObjectInt_1.SearchSLOResponseDataAttributesFacetsObjectInt,
+    SearchSLOResponseDataAttributesFacetsObjectString: SearchSLOResponseDataAttributesFacetsObjectString_1.SearchSLOResponseDataAttributesFacetsObjectString,
+    SearchSLOResponseLinks: SearchSLOResponseLinks_1.SearchSLOResponseLinks,
+    SearchSLOResponseMeta: SearchSLOResponseMeta_1.SearchSLOResponseMeta,
+    SearchSLOResponseMetaPage: SearchSLOResponseMetaPage_1.SearchSLOResponseMetaPage,
+    SearchSLOThreshold: SearchSLOThreshold_1.SearchSLOThreshold,
+    SearchServiceLevelObjective: SearchServiceLevelObjective_1.SearchServiceLevelObjective,
+    SearchServiceLevelObjectiveAttributes: SearchServiceLevelObjectiveAttributes_1.SearchServiceLevelObjectiveAttributes,
+    SearchServiceLevelObjectiveData: SearchServiceLevelObjectiveData_1.SearchServiceLevelObjectiveData,
+    SelectableTemplateVariableItems: SelectableTemplateVariableItems_1.SelectableTemplateVariableItems,
+    Series: Series_1.Series,
+    ServiceCheck: ServiceCheck_1.ServiceCheck,
+    ServiceLevelObjective: ServiceLevelObjective_1.ServiceLevelObjective,
+    ServiceLevelObjectiveQuery: ServiceLevelObjectiveQuery_1.ServiceLevelObjectiveQuery,
+    ServiceLevelObjectiveRequest: ServiceLevelObjectiveRequest_1.ServiceLevelObjectiveRequest,
+    ServiceMapWidgetDefinition: ServiceMapWidgetDefinition_1.ServiceMapWidgetDefinition,
+    ServiceSummaryWidgetDefinition: ServiceSummaryWidgetDefinition_1.ServiceSummaryWidgetDefinition,
+    SharedDashboard: SharedDashboard_1.SharedDashboard,
+    SharedDashboardAuthor: SharedDashboardAuthor_1.SharedDashboardAuthor,
+    SharedDashboardInvites: SharedDashboardInvites_1.SharedDashboardInvites,
+    SharedDashboardInvitesDataObject: SharedDashboardInvitesDataObject_1.SharedDashboardInvitesDataObject,
+    SharedDashboardInvitesDataObjectAttributes: SharedDashboardInvitesDataObjectAttributes_1.SharedDashboardInvitesDataObjectAttributes,
+    SharedDashboardInvitesMeta: SharedDashboardInvitesMeta_1.SharedDashboardInvitesMeta,
+    SharedDashboardInvitesMetaPage: SharedDashboardInvitesMetaPage_1.SharedDashboardInvitesMetaPage,
+    SharedDashboardUpdateRequest: SharedDashboardUpdateRequest_1.SharedDashboardUpdateRequest,
+    SharedDashboardUpdateRequestGlobalTime: SharedDashboardUpdateRequestGlobalTime_1.SharedDashboardUpdateRequestGlobalTime,
+    SignalAssigneeUpdateRequest: SignalAssigneeUpdateRequest_1.SignalAssigneeUpdateRequest,
+    SignalStateUpdateRequest: SignalStateUpdateRequest_1.SignalStateUpdateRequest,
+    SlackIntegrationChannel: SlackIntegrationChannel_1.SlackIntegrationChannel,
+    SlackIntegrationChannelDisplay: SlackIntegrationChannelDisplay_1.SlackIntegrationChannelDisplay,
+    SuccessfulSignalUpdateResponse: SuccessfulSignalUpdateResponse_1.SuccessfulSignalUpdateResponse,
+    SunburstWidgetDefinition: SunburstWidgetDefinition_1.SunburstWidgetDefinition,
+    SunburstWidgetLegendInlineAutomatic: SunburstWidgetLegendInlineAutomatic_1.SunburstWidgetLegendInlineAutomatic,
+    SunburstWidgetLegendTable: SunburstWidgetLegendTable_1.SunburstWidgetLegendTable,
+    SunburstWidgetRequest: SunburstWidgetRequest_1.SunburstWidgetRequest,
+    SyntheticsAPIStep: SyntheticsAPIStep_1.SyntheticsAPIStep,
+    SyntheticsAPITest: SyntheticsAPITest_1.SyntheticsAPITest,
+    SyntheticsAPITestConfig: SyntheticsAPITestConfig_1.SyntheticsAPITestConfig,
+    SyntheticsAPITestResultData: SyntheticsAPITestResultData_1.SyntheticsAPITestResultData,
+    SyntheticsAPITestResultFull: SyntheticsAPITestResultFull_1.SyntheticsAPITestResultFull,
+    SyntheticsAPITestResultFullCheck: SyntheticsAPITestResultFullCheck_1.SyntheticsAPITestResultFullCheck,
+    SyntheticsAPITestResultShort: SyntheticsAPITestResultShort_1.SyntheticsAPITestResultShort,
+    SyntheticsAPITestResultShortResult: SyntheticsAPITestResultShortResult_1.SyntheticsAPITestResultShortResult,
+    SyntheticsApiTestResultFailure: SyntheticsApiTestResultFailure_1.SyntheticsApiTestResultFailure,
+    SyntheticsAssertionJSONPathTarget: SyntheticsAssertionJSONPathTarget_1.SyntheticsAssertionJSONPathTarget,
+    SyntheticsAssertionJSONPathTargetTarget: SyntheticsAssertionJSONPathTargetTarget_1.SyntheticsAssertionJSONPathTargetTarget,
+    SyntheticsAssertionTarget: SyntheticsAssertionTarget_1.SyntheticsAssertionTarget,
+    SyntheticsAssertionXPathTarget: SyntheticsAssertionXPathTarget_1.SyntheticsAssertionXPathTarget,
+    SyntheticsAssertionXPathTargetTarget: SyntheticsAssertionXPathTargetTarget_1.SyntheticsAssertionXPathTargetTarget,
+    SyntheticsBasicAuthDigest: SyntheticsBasicAuthDigest_1.SyntheticsBasicAuthDigest,
+    SyntheticsBasicAuthNTLM: SyntheticsBasicAuthNTLM_1.SyntheticsBasicAuthNTLM,
+    SyntheticsBasicAuthOauthClient: SyntheticsBasicAuthOauthClient_1.SyntheticsBasicAuthOauthClient,
+    SyntheticsBasicAuthOauthROP: SyntheticsBasicAuthOauthROP_1.SyntheticsBasicAuthOauthROP,
+    SyntheticsBasicAuthSigv4: SyntheticsBasicAuthSigv4_1.SyntheticsBasicAuthSigv4,
+    SyntheticsBasicAuthWeb: SyntheticsBasicAuthWeb_1.SyntheticsBasicAuthWeb,
+    SyntheticsBatchDetails: SyntheticsBatchDetails_1.SyntheticsBatchDetails,
+    SyntheticsBatchDetailsData: SyntheticsBatchDetailsData_1.SyntheticsBatchDetailsData,
+    SyntheticsBatchResult: SyntheticsBatchResult_1.SyntheticsBatchResult,
+    SyntheticsBrowserError: SyntheticsBrowserError_1.SyntheticsBrowserError,
+    SyntheticsBrowserTest: SyntheticsBrowserTest_1.SyntheticsBrowserTest,
+    SyntheticsBrowserTestConfig: SyntheticsBrowserTestConfig_1.SyntheticsBrowserTestConfig,
+    SyntheticsBrowserTestResultData: SyntheticsBrowserTestResultData_1.SyntheticsBrowserTestResultData,
+    SyntheticsBrowserTestResultFailure: SyntheticsBrowserTestResultFailure_1.SyntheticsBrowserTestResultFailure,
+    SyntheticsBrowserTestResultFull: SyntheticsBrowserTestResultFull_1.SyntheticsBrowserTestResultFull,
+    SyntheticsBrowserTestResultFullCheck: SyntheticsBrowserTestResultFullCheck_1.SyntheticsBrowserTestResultFullCheck,
+    SyntheticsBrowserTestResultShort: SyntheticsBrowserTestResultShort_1.SyntheticsBrowserTestResultShort,
+    SyntheticsBrowserTestResultShortResult: SyntheticsBrowserTestResultShortResult_1.SyntheticsBrowserTestResultShortResult,
+    SyntheticsBrowserTestRumSettings: SyntheticsBrowserTestRumSettings_1.SyntheticsBrowserTestRumSettings,
+    SyntheticsBrowserVariable: SyntheticsBrowserVariable_1.SyntheticsBrowserVariable,
+    SyntheticsCIBatchMetadata: SyntheticsCIBatchMetadata_1.SyntheticsCIBatchMetadata,
+    SyntheticsCIBatchMetadataCI: SyntheticsCIBatchMetadataCI_1.SyntheticsCIBatchMetadataCI,
+    SyntheticsCIBatchMetadataGit: SyntheticsCIBatchMetadataGit_1.SyntheticsCIBatchMetadataGit,
+    SyntheticsCIBatchMetadataPipeline: SyntheticsCIBatchMetadataPipeline_1.SyntheticsCIBatchMetadataPipeline,
+    SyntheticsCIBatchMetadataProvider: SyntheticsCIBatchMetadataProvider_1.SyntheticsCIBatchMetadataProvider,
+    SyntheticsCITest: SyntheticsCITest_1.SyntheticsCITest,
+    SyntheticsCITestBody: SyntheticsCITestBody_1.SyntheticsCITestBody,
+    SyntheticsConfigVariable: SyntheticsConfigVariable_1.SyntheticsConfigVariable,
+    SyntheticsCoreWebVitals: SyntheticsCoreWebVitals_1.SyntheticsCoreWebVitals,
+    SyntheticsDeleteTestsPayload: SyntheticsDeleteTestsPayload_1.SyntheticsDeleteTestsPayload,
+    SyntheticsDeleteTestsResponse: SyntheticsDeleteTestsResponse_1.SyntheticsDeleteTestsResponse,
+    SyntheticsDeletedTest: SyntheticsDeletedTest_1.SyntheticsDeletedTest,
+    SyntheticsDevice: SyntheticsDevice_1.SyntheticsDevice,
+    SyntheticsGetAPITestLatestResultsResponse: SyntheticsGetAPITestLatestResultsResponse_1.SyntheticsGetAPITestLatestResultsResponse,
+    SyntheticsGetBrowserTestLatestResultsResponse: SyntheticsGetBrowserTestLatestResultsResponse_1.SyntheticsGetBrowserTestLatestResultsResponse,
+    SyntheticsGlobalVariable: SyntheticsGlobalVariable_1.SyntheticsGlobalVariable,
+    SyntheticsGlobalVariableAttributes: SyntheticsGlobalVariableAttributes_1.SyntheticsGlobalVariableAttributes,
+    SyntheticsGlobalVariableOptions: SyntheticsGlobalVariableOptions_1.SyntheticsGlobalVariableOptions,
+    SyntheticsGlobalVariableParseTestOptions: SyntheticsGlobalVariableParseTestOptions_1.SyntheticsGlobalVariableParseTestOptions,
+    SyntheticsGlobalVariableTOTPParameters: SyntheticsGlobalVariableTOTPParameters_1.SyntheticsGlobalVariableTOTPParameters,
+    SyntheticsGlobalVariableValue: SyntheticsGlobalVariableValue_1.SyntheticsGlobalVariableValue,
+    SyntheticsListGlobalVariablesResponse: SyntheticsListGlobalVariablesResponse_1.SyntheticsListGlobalVariablesResponse,
+    SyntheticsListTestsResponse: SyntheticsListTestsResponse_1.SyntheticsListTestsResponse,
+    SyntheticsLocation: SyntheticsLocation_1.SyntheticsLocation,
+    SyntheticsLocations: SyntheticsLocations_1.SyntheticsLocations,
+    SyntheticsParsingOptions: SyntheticsParsingOptions_1.SyntheticsParsingOptions,
+    SyntheticsPrivateLocation: SyntheticsPrivateLocation_1.SyntheticsPrivateLocation,
+    SyntheticsPrivateLocationCreationResponse: SyntheticsPrivateLocationCreationResponse_1.SyntheticsPrivateLocationCreationResponse,
+    SyntheticsPrivateLocationCreationResponseResultEncryption: SyntheticsPrivateLocationCreationResponseResultEncryption_1.SyntheticsPrivateLocationCreationResponseResultEncryption,
+    SyntheticsPrivateLocationMetadata: SyntheticsPrivateLocationMetadata_1.SyntheticsPrivateLocationMetadata,
+    SyntheticsPrivateLocationSecrets: SyntheticsPrivateLocationSecrets_1.SyntheticsPrivateLocationSecrets,
+    SyntheticsPrivateLocationSecretsAuthentication: SyntheticsPrivateLocationSecretsAuthentication_1.SyntheticsPrivateLocationSecretsAuthentication,
+    SyntheticsPrivateLocationSecretsConfigDecryption: SyntheticsPrivateLocationSecretsConfigDecryption_1.SyntheticsPrivateLocationSecretsConfigDecryption,
+    SyntheticsSSLCertificate: SyntheticsSSLCertificate_1.SyntheticsSSLCertificate,
+    SyntheticsSSLCertificateIssuer: SyntheticsSSLCertificateIssuer_1.SyntheticsSSLCertificateIssuer,
+    SyntheticsSSLCertificateSubject: SyntheticsSSLCertificateSubject_1.SyntheticsSSLCertificateSubject,
+    SyntheticsStep: SyntheticsStep_1.SyntheticsStep,
+    SyntheticsStepDetail: SyntheticsStepDetail_1.SyntheticsStepDetail,
+    SyntheticsStepDetailWarning: SyntheticsStepDetailWarning_1.SyntheticsStepDetailWarning,
+    SyntheticsTestCiOptions: SyntheticsTestCiOptions_1.SyntheticsTestCiOptions,
+    SyntheticsTestConfig: SyntheticsTestConfig_1.SyntheticsTestConfig,
+    SyntheticsTestDetails: SyntheticsTestDetails_1.SyntheticsTestDetails,
+    SyntheticsTestOptions: SyntheticsTestOptions_1.SyntheticsTestOptions,
+    SyntheticsTestOptionsMonitorOptions: SyntheticsTestOptionsMonitorOptions_1.SyntheticsTestOptionsMonitorOptions,
+    SyntheticsTestOptionsRetry: SyntheticsTestOptionsRetry_1.SyntheticsTestOptionsRetry,
+    SyntheticsTestOptionsScheduling: SyntheticsTestOptionsScheduling_1.SyntheticsTestOptionsScheduling,
+    SyntheticsTestOptionsSchedulingTimeframe: SyntheticsTestOptionsSchedulingTimeframe_1.SyntheticsTestOptionsSchedulingTimeframe,
+    SyntheticsTestRequest: SyntheticsTestRequest_1.SyntheticsTestRequest,
+    SyntheticsTestRequestCertificate: SyntheticsTestRequestCertificate_1.SyntheticsTestRequestCertificate,
+    SyntheticsTestRequestCertificateItem: SyntheticsTestRequestCertificateItem_1.SyntheticsTestRequestCertificateItem,
+    SyntheticsTestRequestProxy: SyntheticsTestRequestProxy_1.SyntheticsTestRequestProxy,
+    SyntheticsTiming: SyntheticsTiming_1.SyntheticsTiming,
+    SyntheticsTriggerBody: SyntheticsTriggerBody_1.SyntheticsTriggerBody,
+    SyntheticsTriggerCITestLocation: SyntheticsTriggerCITestLocation_1.SyntheticsTriggerCITestLocation,
+    SyntheticsTriggerCITestRunResult: SyntheticsTriggerCITestRunResult_1.SyntheticsTriggerCITestRunResult,
+    SyntheticsTriggerCITestsResponse: SyntheticsTriggerCITestsResponse_1.SyntheticsTriggerCITestsResponse,
+    SyntheticsTriggerTest: SyntheticsTriggerTest_1.SyntheticsTriggerTest,
+    SyntheticsUpdateTestPauseStatusPayload: SyntheticsUpdateTestPauseStatusPayload_1.SyntheticsUpdateTestPauseStatusPayload,
+    SyntheticsVariableParser: SyntheticsVariableParser_1.SyntheticsVariableParser,
+    TableWidgetDefinition: TableWidgetDefinition_1.TableWidgetDefinition,
+    TableWidgetRequest: TableWidgetRequest_1.TableWidgetRequest,
+    TagToHosts: TagToHosts_1.TagToHosts,
+    TimeseriesBackground: TimeseriesBackground_1.TimeseriesBackground,
+    TimeseriesWidgetDefinition: TimeseriesWidgetDefinition_1.TimeseriesWidgetDefinition,
+    TimeseriesWidgetExpressionAlias: TimeseriesWidgetExpressionAlias_1.TimeseriesWidgetExpressionAlias,
+    TimeseriesWidgetRequest: TimeseriesWidgetRequest_1.TimeseriesWidgetRequest,
+    ToplistWidgetDefinition: ToplistWidgetDefinition_1.ToplistWidgetDefinition,
+    ToplistWidgetRequest: ToplistWidgetRequest_1.ToplistWidgetRequest,
+    TopologyMapWidgetDefinition: TopologyMapWidgetDefinition_1.TopologyMapWidgetDefinition,
+    TopologyQuery: TopologyQuery_1.TopologyQuery,
+    TopologyRequest: TopologyRequest_1.TopologyRequest,
+    TreeMapWidgetDefinition: TreeMapWidgetDefinition_1.TreeMapWidgetDefinition,
+    TreeMapWidgetRequest: TreeMapWidgetRequest_1.TreeMapWidgetRequest,
+    UsageAnalyzedLogsHour: UsageAnalyzedLogsHour_1.UsageAnalyzedLogsHour,
+    UsageAnalyzedLogsResponse: UsageAnalyzedLogsResponse_1.UsageAnalyzedLogsResponse,
+    UsageAttributionAggregatesBody: UsageAttributionAggregatesBody_1.UsageAttributionAggregatesBody,
+    UsageAttributionBody: UsageAttributionBody_1.UsageAttributionBody,
+    UsageAttributionMetadata: UsageAttributionMetadata_1.UsageAttributionMetadata,
+    UsageAttributionPagination: UsageAttributionPagination_1.UsageAttributionPagination,
+    UsageAttributionResponse: UsageAttributionResponse_1.UsageAttributionResponse,
+    UsageAttributionValues: UsageAttributionValues_1.UsageAttributionValues,
+    UsageAuditLogsHour: UsageAuditLogsHour_1.UsageAuditLogsHour,
+    UsageAuditLogsResponse: UsageAuditLogsResponse_1.UsageAuditLogsResponse,
+    UsageBillableSummaryBody: UsageBillableSummaryBody_1.UsageBillableSummaryBody,
+    UsageBillableSummaryHour: UsageBillableSummaryHour_1.UsageBillableSummaryHour,
+    UsageBillableSummaryKeys: UsageBillableSummaryKeys_1.UsageBillableSummaryKeys,
+    UsageBillableSummaryResponse: UsageBillableSummaryResponse_1.UsageBillableSummaryResponse,
+    UsageCIVisibilityHour: UsageCIVisibilityHour_1.UsageCIVisibilityHour,
+    UsageCIVisibilityResponse: UsageCIVisibilityResponse_1.UsageCIVisibilityResponse,
+    UsageCWSHour: UsageCWSHour_1.UsageCWSHour,
+    UsageCWSResponse: UsageCWSResponse_1.UsageCWSResponse,
+    UsageCloudSecurityPostureManagementHour: UsageCloudSecurityPostureManagementHour_1.UsageCloudSecurityPostureManagementHour,
+    UsageCloudSecurityPostureManagementResponse: UsageCloudSecurityPostureManagementResponse_1.UsageCloudSecurityPostureManagementResponse,
+    UsageCustomReportsAttributes: UsageCustomReportsAttributes_1.UsageCustomReportsAttributes,
+    UsageCustomReportsData: UsageCustomReportsData_1.UsageCustomReportsData,
+    UsageCustomReportsMeta: UsageCustomReportsMeta_1.UsageCustomReportsMeta,
+    UsageCustomReportsPage: UsageCustomReportsPage_1.UsageCustomReportsPage,
+    UsageCustomReportsResponse: UsageCustomReportsResponse_1.UsageCustomReportsResponse,
+    UsageDBMHour: UsageDBMHour_1.UsageDBMHour,
+    UsageDBMResponse: UsageDBMResponse_1.UsageDBMResponse,
+    UsageFargateHour: UsageFargateHour_1.UsageFargateHour,
+    UsageFargateResponse: UsageFargateResponse_1.UsageFargateResponse,
+    UsageHostHour: UsageHostHour_1.UsageHostHour,
+    UsageHostsResponse: UsageHostsResponse_1.UsageHostsResponse,
+    UsageIncidentManagementHour: UsageIncidentManagementHour_1.UsageIncidentManagementHour,
+    UsageIncidentManagementResponse: UsageIncidentManagementResponse_1.UsageIncidentManagementResponse,
+    UsageIndexedSpansHour: UsageIndexedSpansHour_1.UsageIndexedSpansHour,
+    UsageIndexedSpansResponse: UsageIndexedSpansResponse_1.UsageIndexedSpansResponse,
+    UsageIngestedSpansHour: UsageIngestedSpansHour_1.UsageIngestedSpansHour,
+    UsageIngestedSpansResponse: UsageIngestedSpansResponse_1.UsageIngestedSpansResponse,
+    UsageIoTHour: UsageIoTHour_1.UsageIoTHour,
+    UsageIoTResponse: UsageIoTResponse_1.UsageIoTResponse,
+    UsageLambdaHour: UsageLambdaHour_1.UsageLambdaHour,
+    UsageLambdaResponse: UsageLambdaResponse_1.UsageLambdaResponse,
+    UsageLogsByIndexHour: UsageLogsByIndexHour_1.UsageLogsByIndexHour,
+    UsageLogsByIndexResponse: UsageLogsByIndexResponse_1.UsageLogsByIndexResponse,
+    UsageLogsByRetentionHour: UsageLogsByRetentionHour_1.UsageLogsByRetentionHour,
+    UsageLogsByRetentionResponse: UsageLogsByRetentionResponse_1.UsageLogsByRetentionResponse,
+    UsageLogsHour: UsageLogsHour_1.UsageLogsHour,
+    UsageLogsResponse: UsageLogsResponse_1.UsageLogsResponse,
+    UsageNetworkFlowsHour: UsageNetworkFlowsHour_1.UsageNetworkFlowsHour,
+    UsageNetworkFlowsResponse: UsageNetworkFlowsResponse_1.UsageNetworkFlowsResponse,
+    UsageNetworkHostsHour: UsageNetworkHostsHour_1.UsageNetworkHostsHour,
+    UsageNetworkHostsResponse: UsageNetworkHostsResponse_1.UsageNetworkHostsResponse,
+    UsageOnlineArchiveHour: UsageOnlineArchiveHour_1.UsageOnlineArchiveHour,
+    UsageOnlineArchiveResponse: UsageOnlineArchiveResponse_1.UsageOnlineArchiveResponse,
+    UsageProfilingHour: UsageProfilingHour_1.UsageProfilingHour,
+    UsageProfilingResponse: UsageProfilingResponse_1.UsageProfilingResponse,
+    UsageRumSessionsHour: UsageRumSessionsHour_1.UsageRumSessionsHour,
+    UsageRumSessionsResponse: UsageRumSessionsResponse_1.UsageRumSessionsResponse,
+    UsageRumUnitsHour: UsageRumUnitsHour_1.UsageRumUnitsHour,
+    UsageRumUnitsResponse: UsageRumUnitsResponse_1.UsageRumUnitsResponse,
+    UsageSDSHour: UsageSDSHour_1.UsageSDSHour,
+    UsageSDSResponse: UsageSDSResponse_1.UsageSDSResponse,
+    UsageSNMPHour: UsageSNMPHour_1.UsageSNMPHour,
+    UsageSNMPResponse: UsageSNMPResponse_1.UsageSNMPResponse,
+    UsageSpecifiedCustomReportsAttributes: UsageSpecifiedCustomReportsAttributes_1.UsageSpecifiedCustomReportsAttributes,
+    UsageSpecifiedCustomReportsData: UsageSpecifiedCustomReportsData_1.UsageSpecifiedCustomReportsData,
+    UsageSpecifiedCustomReportsMeta: UsageSpecifiedCustomReportsMeta_1.UsageSpecifiedCustomReportsMeta,
+    UsageSpecifiedCustomReportsPage: UsageSpecifiedCustomReportsPage_1.UsageSpecifiedCustomReportsPage,
+    UsageSpecifiedCustomReportsResponse: UsageSpecifiedCustomReportsResponse_1.UsageSpecifiedCustomReportsResponse,
+    UsageSummaryDate: UsageSummaryDate_1.UsageSummaryDate,
+    UsageSummaryDateOrg: UsageSummaryDateOrg_1.UsageSummaryDateOrg,
+    UsageSummaryResponse: UsageSummaryResponse_1.UsageSummaryResponse,
+    UsageSyntheticsAPIHour: UsageSyntheticsAPIHour_1.UsageSyntheticsAPIHour,
+    UsageSyntheticsAPIResponse: UsageSyntheticsAPIResponse_1.UsageSyntheticsAPIResponse,
+    UsageSyntheticsBrowserHour: UsageSyntheticsBrowserHour_1.UsageSyntheticsBrowserHour,
+    UsageSyntheticsBrowserResponse: UsageSyntheticsBrowserResponse_1.UsageSyntheticsBrowserResponse,
+    UsageSyntheticsHour: UsageSyntheticsHour_1.UsageSyntheticsHour,
+    UsageSyntheticsResponse: UsageSyntheticsResponse_1.UsageSyntheticsResponse,
+    UsageTimeseriesHour: UsageTimeseriesHour_1.UsageTimeseriesHour,
+    UsageTimeseriesResponse: UsageTimeseriesResponse_1.UsageTimeseriesResponse,
+    UsageTopAvgMetricsHour: UsageTopAvgMetricsHour_1.UsageTopAvgMetricsHour,
+    UsageTopAvgMetricsMetadata: UsageTopAvgMetricsMetadata_1.UsageTopAvgMetricsMetadata,
+    UsageTopAvgMetricsPagination: UsageTopAvgMetricsPagination_1.UsageTopAvgMetricsPagination,
+    UsageTopAvgMetricsResponse: UsageTopAvgMetricsResponse_1.UsageTopAvgMetricsResponse,
+    User: User_1.User,
+    UserDisableResponse: UserDisableResponse_1.UserDisableResponse,
+    UserListResponse: UserListResponse_1.UserListResponse,
+    UserResponse: UserResponse_1.UserResponse,
+    WebhooksIntegration: WebhooksIntegration_1.WebhooksIntegration,
+    WebhooksIntegrationCustomVariable: WebhooksIntegrationCustomVariable_1.WebhooksIntegrationCustomVariable,
+    WebhooksIntegrationCustomVariableResponse: WebhooksIntegrationCustomVariableResponse_1.WebhooksIntegrationCustomVariableResponse,
+    WebhooksIntegrationCustomVariableUpdateRequest: WebhooksIntegrationCustomVariableUpdateRequest_1.WebhooksIntegrationCustomVariableUpdateRequest,
+    WebhooksIntegrationUpdateRequest: WebhooksIntegrationUpdateRequest_1.WebhooksIntegrationUpdateRequest,
+    Widget: Widget_1.Widget,
+    WidgetAxis: WidgetAxis_1.WidgetAxis,
+    WidgetConditionalFormat: WidgetConditionalFormat_1.WidgetConditionalFormat,
+    WidgetCustomLink: WidgetCustomLink_1.WidgetCustomLink,
+    WidgetEvent: WidgetEvent_1.WidgetEvent,
+    WidgetFieldSort: WidgetFieldSort_1.WidgetFieldSort,
+    WidgetFormula: WidgetFormula_1.WidgetFormula,
+    WidgetFormulaLimit: WidgetFormulaLimit_1.WidgetFormulaLimit,
+    WidgetFormulaStyle: WidgetFormulaStyle_1.WidgetFormulaStyle,
+    WidgetLayout: WidgetLayout_1.WidgetLayout,
+    WidgetMarker: WidgetMarker_1.WidgetMarker,
+    WidgetRequestStyle: WidgetRequestStyle_1.WidgetRequestStyle,
+    WidgetStyle: WidgetStyle_1.WidgetStyle,
+    WidgetTime: WidgetTime_1.WidgetTime,
+};
+const oneOfMap = {
+    DistributionPointItem: ["number", "Array"],
+    DistributionWidgetHistogramRequestQuery: [
+        "FormulaAndFunctionMetricQueryDefinition",
+        "FormulaAndFunctionEventQueryDefinition",
+        "FormulaAndFunctionApmResourceStatsQueryDefinition",
+    ],
+    FormulaAndFunctionQueryDefinition: [
+        "FormulaAndFunctionMetricQueryDefinition",
+        "FormulaAndFunctionEventQueryDefinition",
+        "FormulaAndFunctionProcessQueryDefinition",
+        "FormulaAndFunctionApmDependencyStatsQueryDefinition",
+        "FormulaAndFunctionApmResourceStatsQueryDefinition",
+        "FormulaAndFunctionSLOQueryDefinition",
+        "FormulaAndFunctionCloudCostQueryDefinition",
+    ],
+    LogsProcessor: [
+        "LogsGrokParser",
+        "LogsDateRemapper",
+        "LogsStatusRemapper",
+        "LogsServiceRemapper",
+        "LogsMessageRemapper",
+        "LogsAttributeRemapper",
+        "LogsURLParser",
+        "LogsUserAgentParser",
+        "LogsCategoryProcessor",
+        "LogsArithmeticProcessor",
+        "LogsStringBuilderProcessor",
+        "LogsPipelineProcessor",
+        "LogsGeoIPParser",
+        "LogsLookupProcessor",
+        "ReferenceTableLogsLookupProcessor",
+        "LogsTraceRemapper",
+    ],
+    MonitorFormulaAndFunctionQueryDefinition: [
+        "MonitorFormulaAndFunctionEventQueryDefinition",
+    ],
+    NotebookCellCreateRequestAttributes: [
+        "NotebookMarkdownCellAttributes",
+        "NotebookTimeseriesCellAttributes",
+        "NotebookToplistCellAttributes",
+        "NotebookHeatMapCellAttributes",
+        "NotebookDistributionCellAttributes",
+        "NotebookLogStreamCellAttributes",
+    ],
+    NotebookCellResponseAttributes: [
+        "NotebookMarkdownCellAttributes",
+        "NotebookTimeseriesCellAttributes",
+        "NotebookToplistCellAttributes",
+        "NotebookHeatMapCellAttributes",
+        "NotebookDistributionCellAttributes",
+        "NotebookLogStreamCellAttributes",
+    ],
+    NotebookCellTime: ["NotebookRelativeTime", "NotebookAbsoluteTime"],
+    NotebookCellUpdateRequestAttributes: [
+        "NotebookMarkdownCellAttributes",
+        "NotebookTimeseriesCellAttributes",
+        "NotebookToplistCellAttributes",
+        "NotebookHeatMapCellAttributes",
+        "NotebookDistributionCellAttributes",
+        "NotebookLogStreamCellAttributes",
+    ],
+    NotebookGlobalTime: ["NotebookRelativeTime", "NotebookAbsoluteTime"],
+    NotebookUpdateCell: [
+        "NotebookCellCreateRequest",
+        "NotebookCellUpdateRequest",
+    ],
+    SharedDashboardInvitesData: [
+        "SharedDashboardInvitesDataObject",
+        "Array",
+    ],
+    SunburstWidgetLegend: [
+        "SunburstWidgetLegendTable",
+        "SunburstWidgetLegendInlineAutomatic",
+    ],
+    SyntheticsAssertion: [
+        "SyntheticsAssertionTarget",
+        "SyntheticsAssertionJSONPathTarget",
+        "SyntheticsAssertionXPathTarget",
+    ],
+    SyntheticsBasicAuth: [
+        "SyntheticsBasicAuthWeb",
+        "SyntheticsBasicAuthSigv4",
+        "SyntheticsBasicAuthNTLM",
+        "SyntheticsBasicAuthDigest",
+        "SyntheticsBasicAuthOauthClient",
+        "SyntheticsBasicAuthOauthROP",
+    ],
+    WidgetDefinition: [
+        "AlertGraphWidgetDefinition",
+        "AlertValueWidgetDefinition",
+        "ChangeWidgetDefinition",
+        "CheckStatusWidgetDefinition",
+        "DistributionWidgetDefinition",
+        "EventStreamWidgetDefinition",
+        "EventTimelineWidgetDefinition",
+        "FreeTextWidgetDefinition",
+        "GeomapWidgetDefinition",
+        "GroupWidgetDefinition",
+        "HeatMapWidgetDefinition",
+        "HostMapWidgetDefinition",
+        "IFrameWidgetDefinition",
+        "ImageWidgetDefinition",
+        "LogStreamWidgetDefinition",
+        "MonitorSummaryWidgetDefinition",
+        "NoteWidgetDefinition",
+        "QueryValueWidgetDefinition",
+        "RunWorkflowWidgetDefinition",
+        "ScatterPlotWidgetDefinition",
+        "SLOWidgetDefinition",
+        "SLOListWidgetDefinition",
+        "ServiceMapWidgetDefinition",
+        "ServiceSummaryWidgetDefinition",
+        "SunburstWidgetDefinition",
+        "TableWidgetDefinition",
+        "TimeseriesWidgetDefinition",
+        "ToplistWidgetDefinition",
+        "TreeMapWidgetDefinition",
+        "ListStreamWidgetDefinition",
+        "FunnelWidgetDefinition",
+        "TopologyMapWidgetDefinition",
+    ],
+};
+class ObjectSerializer {
+    static serialize(data, type, format) {
+        if (data == undefined || type == "any") {
+            return data;
+        }
+        else if (data instanceof util_1.UnparsedObject) {
+            return data._data;
+        }
+        else if (primitives.includes(type.toLowerCase()) &&
+            typeof data == type.toLowerCase()) {
+            return data;
+        }
+        else if (type.startsWith(ARRAY_PREFIX)) {
+            if (!Array.isArray(data)) {
+                throw new TypeError(`mismatch types '${data}' and '${type}'`);
+            }
+            // Array => Type
+            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.serialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(TUPLE_PREFIX)) {
+            // We only support homegeneus tuples
+            const subType = type
+                .substring(TUPLE_PREFIX.length, type.length - 1)
+                .split(", ")[0];
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.serialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(MAP_PREFIX)) {
+            // { [key: string]: Type; } => Type
+            const subType = type.substring(MAP_PREFIX.length, type.length - 3);
+            const transformedData = {};
+            for (const key in data) {
+                transformedData[key] = ObjectSerializer.serialize(data[key], subType, format);
+            }
+            return transformedData;
+        }
+        else if (type === "Date") {
+            if ("string" == typeof data) {
+                return data;
+            }
+            if (format == "date" || format == "date-time") {
+                return (0, util_1.dateToRFC3339String)(data);
+            }
+            else {
+                return data.toISOString();
+            }
+        }
+        else {
+            if (enumsMap[type]) {
+                if (enumsMap[type].includes(data)) {
+                    return data;
+                }
+                throw new TypeError(`unknown enum value '${data}'`);
+            }
+            if (oneOfMap[type]) {
+                const oneOfs = [];
+                for (const oneOf of oneOfMap[type]) {
+                    try {
+                        oneOfs.push(ObjectSerializer.serialize(data, oneOf, format));
+                    }
+                    catch (e) {
+                        logger_1.logger.debug(`could not serialize ${oneOf} (${e})`);
+                    }
+                }
+                if (oneOfs.length > 1) {
+                    throw new TypeError(`${data} matches multiple types from ${oneOfMap[type]} ${oneOfs}`);
+                }
+                if (oneOfs.length == 0) {
+                    throw new TypeError(`${data} doesn't match any type from ${oneOfMap[type]} ${oneOfs}`);
+                }
+                return oneOfs[0];
+            }
+            if (!typeMap[type]) {
+                // dont know the type
+                throw new TypeError(`unknown type '${type}'`);
+            }
+            // get the map for the correct type.
+            const attributesMap = typeMap[type].getAttributeTypeMap();
+            const instance = {};
+            for (const attributeName in attributesMap) {
+                const attributeObj = attributesMap[attributeName];
+                if (attributeName == "additionalProperties") {
+                    if (data.additionalProperties) {
+                        for (const key in data.additionalProperties) {
+                            instance[key] = ObjectSerializer.serialize(data.additionalProperties[key], attributeObj.type, attributeObj.format);
+                        }
+                    }
+                    continue;
+                }
+                instance[attributeObj.baseName] = ObjectSerializer.serialize(data[attributeName], attributeObj.type, attributeObj.format);
+                // check for required properties
+                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) &&
+                    instance[attributeObj.baseName] === undefined) {
+                    throw new Error(`missing required property '${attributeObj.baseName}'`);
+                }
+            }
+            return instance;
+        }
+    }
+    static deserialize(data, type, format = "") {
+        var _a;
+        if (data == undefined || type == "any") {
+            return data;
+        }
+        else if (primitives.includes(type.toLowerCase()) &&
+            typeof data == type.toLowerCase()) {
+            return data;
+        }
+        else if (type.startsWith(ARRAY_PREFIX)) {
+            // Assert the passed data is Array type
+            if (!Array.isArray(data)) {
+                throw new TypeError(`mismatch types '${data}' and '${type}'`);
+            }
+            // Array => Type
+            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.deserialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(TUPLE_PREFIX)) {
+            // [Type,...] => Type
+            const subType = type
+                .substring(TUPLE_PREFIX.length, type.length - 1)
+                .split(", ")[0];
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.deserialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(MAP_PREFIX)) {
+            // { [key: string]: Type; } => Type
+            const subType = type.substring(MAP_PREFIX.length, type.length - 3);
+            const transformedData = {};
+            for (const key in data) {
+                transformedData[key] = ObjectSerializer.deserialize(data[key], subType, format);
+            }
+            return transformedData;
+        }
+        else if (type === "Date") {
+            try {
+                return (0, util_1.dateFromRFC3339String)(data);
+            }
+            catch (_b) {
+                return new Date(data);
+            }
+        }
+        else {
+            if (enumsMap[type]) {
+                if (enumsMap[type].includes(data)) {
+                    return data;
+                }
+                return new util_1.UnparsedObject(data);
+            }
+            if (oneOfMap[type]) {
+                const oneOfs = [];
+                for (const oneOf of oneOfMap[type]) {
+                    try {
+                        const d = ObjectSerializer.deserialize(data, oneOf, format);
+                        if (!(d === null || d === void 0 ? void 0 : d._unparsed)) {
+                            oneOfs.push(d);
+                        }
+                    }
+                    catch (e) {
+                        logger_1.logger.debug(`could not deserialize ${oneOf} (${e})`);
+                    }
+                }
+                if (oneOfs.length != 1) {
+                    return new util_1.UnparsedObject(data);
+                }
+                return oneOfs[0];
+            }
+            if (!typeMap[type]) {
+                // dont know the type
+                throw new TypeError(`unknown type '${type}'`);
+            }
+            const instance = new typeMap[type]();
+            const attributesMap = typeMap[type].getAttributeTypeMap();
+            let extraAttributes = [];
+            if ("additionalProperties" in attributesMap) {
+                const attributesBaseNames = Object.keys(attributesMap).reduce((o, key) => Object.assign(o, { [attributesMap[key].baseName]: "" }), {});
+                extraAttributes = Object.keys(data).filter((key) => !Object.prototype.hasOwnProperty.call(attributesBaseNames, key));
+            }
+            for (const attributeName in attributesMap) {
+                const attributeObj = attributesMap[attributeName];
+                if (attributeName == "additionalProperties") {
+                    if (extraAttributes.length > 0) {
+                        if (!instance.additionalProperties) {
+                            instance.additionalProperties = {};
+                        }
+                        for (const key in extraAttributes) {
+                            instance.additionalProperties[extraAttributes[key]] =
+                                ObjectSerializer.deserialize(data[extraAttributes[key]], attributeObj.type, attributeObj.format);
+                        }
+                    }
+                    continue;
+                }
+                instance[attributeName] = ObjectSerializer.deserialize(data[attributeObj.baseName], attributeObj.type, attributeObj.format);
+                // check for required properties
+                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) && instance[attributeName] === undefined) {
+                    throw new Error(`missing required property '${attributeName}'`);
+                }
+                if (instance[attributeName] instanceof util_1.UnparsedObject ||
+                    ((_a = instance[attributeName]) === null || _a === void 0 ? void 0 : _a._unparsed)) {
+                    instance._unparsed = true;
+                }
+                if (Array.isArray(instance[attributeName])) {
+                    for (const d of instance[attributeName]) {
+                        if (d instanceof util_1.UnparsedObject || (d === null || d === void 0 ? void 0 : d._unparsed)) {
+                            instance._unparsed = true;
+                            break;
+                        }
+                    }
+                }
+            }
+            return instance;
+        }
+    }
+    /**
+     * Normalize media type
+     *
+     * We currently do not handle any media types attributes, i.e. anything
+     * after a semicolon. All content is assumed to be UTF-8 compatible.
+     */
+    static normalizeMediaType(mediaType) {
+        if (mediaType === undefined) {
+            return undefined;
+        }
+        return mediaType.split(";")[0].trim().toLowerCase();
+    }
+    /**
+     * From a list of possible media types, choose the one we can handle best.
+     *
+     * The order of the given media types does not have any impact on the choice
+     * made.
+     */
+    static getPreferredMediaType(mediaTypes) {
+        /** According to OAS 3 we should default to json */
+        if (!mediaTypes) {
+            return "application/json";
+        }
+        const normalMediaTypes = mediaTypes.map(this.normalizeMediaType);
+        let selectedMediaType = undefined;
+        let selectedRank = -Infinity;
+        for (const mediaType of normalMediaTypes) {
+            if (mediaType === undefined) {
+                continue;
+            }
+            const supported = supportedMediaTypes[mediaType];
+            if (supported !== undefined && supported > selectedRank) {
+                selectedMediaType = mediaType;
+                selectedRank = supported;
+            }
+        }
+        if (selectedMediaType === undefined) {
+            throw new Error("None of the given media types are supported: " + mediaTypes.join(", "));
+        }
+        return selectedMediaType;
+    }
+    /**
+     * Convert data to a string according the given media type
+     */
+    static stringify(data, mediaType) {
+        if (mediaType === "application/json" || mediaType === "text/json") {
+            return JSON.stringify(data);
+        }
+        throw new Error("The mediaType " +
+            mediaType +
+            " is not supported by ObjectSerializer.stringify.");
+    }
+    /**
+     * Parse data from a string according to the given media type
+     */
+    static parse(rawData, mediaType) {
+        try {
+            return JSON.parse(rawData);
+        }
+        catch (error) {
+            logger_1.logger.debug(`could not parse ${mediaType}: ${error}`);
+            return rawData;
+        }
+    }
+}
+exports.ObjectSerializer = ObjectSerializer;
+//# sourceMappingURL=ObjectSerializer.js.map
+
+/***/ }),
+
+/***/ 72399:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrgDowngradedResponse = void 0;
+/**
+ * Status of downgrade
+ */
+class OrgDowngradedResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrgDowngradedResponse.attributeTypeMap;
+    }
+}
+exports.OrgDowngradedResponse = OrgDowngradedResponse;
+/**
+ * @ignore
+ */
+OrgDowngradedResponse.attributeTypeMap = {
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=OrgDowngradedResponse.js.map
+
+/***/ }),
+
+/***/ 70428:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Organization = void 0;
+/**
+ * Create, edit, and manage organizations.
+ */
+class Organization {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Organization.attributeTypeMap;
+    }
+}
+exports.Organization = Organization;
+/**
+ * @ignore
+ */
+Organization.attributeTypeMap = {
+    billing: {
+        baseName: "billing",
+        type: "OrganizationBilling",
+    },
+    created: {
+        baseName: "created",
+        type: "string",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    settings: {
+        baseName: "settings",
+        type: "OrganizationSettings",
+    },
+    subscription: {
+        baseName: "subscription",
+        type: "OrganizationSubscription",
+    },
+    trial: {
+        baseName: "trial",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=Organization.js.map
+
+/***/ }),
+
+/***/ 17762:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationBilling = void 0;
+/**
+ * A JSON array of billing type.
+ */
+class OrganizationBilling {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationBilling.attributeTypeMap;
+    }
+}
+exports.OrganizationBilling = OrganizationBilling;
+/**
+ * @ignore
+ */
+OrganizationBilling.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=OrganizationBilling.js.map
+
+/***/ }),
+
+/***/ 9222:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationCreateBody = void 0;
+/**
+ * Object describing an organization to create.
+ */
+class OrganizationCreateBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationCreateBody.attributeTypeMap;
+    }
+}
+exports.OrganizationCreateBody = OrganizationCreateBody;
+/**
+ * @ignore
+ */
+OrganizationCreateBody.attributeTypeMap = {
+    billing: {
+        baseName: "billing",
+        type: "OrganizationBilling",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    subscription: {
+        baseName: "subscription",
+        type: "OrganizationSubscription",
+    },
+};
+//# sourceMappingURL=OrganizationCreateBody.js.map
+
+/***/ }),
+
+/***/ 26442:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationCreateResponse = void 0;
+/**
+ * Response object for an organization creation.
+ */
+class OrganizationCreateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationCreateResponse.attributeTypeMap;
+    }
+}
+exports.OrganizationCreateResponse = OrganizationCreateResponse;
+/**
+ * @ignore
+ */
+OrganizationCreateResponse.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "ApiKey",
+    },
+    applicationKey: {
+        baseName: "application_key",
+        type: "ApplicationKey",
+    },
+    org: {
+        baseName: "org",
+        type: "Organization",
+    },
+    user: {
+        baseName: "user",
+        type: "User",
+    },
+};
+//# sourceMappingURL=OrganizationCreateResponse.js.map
+
+/***/ }),
+
+/***/ 8618:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationListResponse = void 0;
+/**
+ * Response with the list of organizations.
+ */
+class OrganizationListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationListResponse.attributeTypeMap;
+    }
+}
+exports.OrganizationListResponse = OrganizationListResponse;
+/**
+ * @ignore
+ */
+OrganizationListResponse.attributeTypeMap = {
+    orgs: {
+        baseName: "orgs",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=OrganizationListResponse.js.map
+
+/***/ }),
+
+/***/ 86231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationResponse = void 0;
+/**
+ * Response with an organization.
+ */
+class OrganizationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationResponse.attributeTypeMap;
+    }
+}
+exports.OrganizationResponse = OrganizationResponse;
+/**
+ * @ignore
+ */
+OrganizationResponse.attributeTypeMap = {
+    org: {
+        baseName: "org",
+        type: "Organization",
+    },
+};
+//# sourceMappingURL=OrganizationResponse.js.map
+
+/***/ }),
+
+/***/ 13344:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSettings = void 0;
+/**
+ * A JSON array of settings.
+ */
+class OrganizationSettings {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSettings.attributeTypeMap;
+    }
+}
+exports.OrganizationSettings = OrganizationSettings;
+/**
+ * @ignore
+ */
+OrganizationSettings.attributeTypeMap = {
+    privateWidgetShare: {
+        baseName: "private_widget_share",
+        type: "boolean",
+    },
+    saml: {
+        baseName: "saml",
+        type: "OrganizationSettingsSaml",
+    },
+    samlAutocreateAccessRole: {
+        baseName: "saml_autocreate_access_role",
+        type: "AccessRole",
+    },
+    samlAutocreateUsersDomains: {
+        baseName: "saml_autocreate_users_domains",
+        type: "OrganizationSettingsSamlAutocreateUsersDomains",
+    },
+    samlCanBeEnabled: {
+        baseName: "saml_can_be_enabled",
+        type: "boolean",
+    },
+    samlIdpEndpoint: {
+        baseName: "saml_idp_endpoint",
+        type: "string",
+    },
+    samlIdpInitiatedLogin: {
+        baseName: "saml_idp_initiated_login",
+        type: "OrganizationSettingsSamlIdpInitiatedLogin",
+    },
+    samlIdpMetadataUploaded: {
+        baseName: "saml_idp_metadata_uploaded",
+        type: "boolean",
+    },
+    samlLoginUrl: {
+        baseName: "saml_login_url",
+        type: "string",
+    },
+    samlStrictMode: {
+        baseName: "saml_strict_mode",
+        type: "OrganizationSettingsSamlStrictMode",
+    },
+};
+//# sourceMappingURL=OrganizationSettings.js.map
+
+/***/ }),
+
+/***/ 3929:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSettingsSaml = void 0;
+/**
+ * Set the boolean property enabled to enable or disable single sign on with SAML.
+ * See the SAML documentation for more information about all SAML settings.
+ */
+class OrganizationSettingsSaml {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSettingsSaml.attributeTypeMap;
+    }
+}
+exports.OrganizationSettingsSaml = OrganizationSettingsSaml;
+/**
+ * @ignore
+ */
+OrganizationSettingsSaml.attributeTypeMap = {
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=OrganizationSettingsSaml.js.map
+
+/***/ }),
+
+/***/ 82029:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSettingsSamlAutocreateUsersDomains = void 0;
+/**
+ * Has two properties, `enabled` (boolean) and `domains`, which is a list of domains without the @ symbol.
+ */
+class OrganizationSettingsSamlAutocreateUsersDomains {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSettingsSamlAutocreateUsersDomains.attributeTypeMap;
+    }
+}
+exports.OrganizationSettingsSamlAutocreateUsersDomains = OrganizationSettingsSamlAutocreateUsersDomains;
+/**
+ * @ignore
+ */
+OrganizationSettingsSamlAutocreateUsersDomains.attributeTypeMap = {
+    domains: {
+        baseName: "domains",
+        type: "Array",
+    },
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=OrganizationSettingsSamlAutocreateUsersDomains.js.map
+
+/***/ }),
+
+/***/ 49455:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSettingsSamlIdpInitiatedLogin = void 0;
+/**
+ * Has one property enabled (boolean).
+ */
+class OrganizationSettingsSamlIdpInitiatedLogin {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSettingsSamlIdpInitiatedLogin.attributeTypeMap;
+    }
+}
+exports.OrganizationSettingsSamlIdpInitiatedLogin = OrganizationSettingsSamlIdpInitiatedLogin;
+/**
+ * @ignore
+ */
+OrganizationSettingsSamlIdpInitiatedLogin.attributeTypeMap = {
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=OrganizationSettingsSamlIdpInitiatedLogin.js.map
+
+/***/ }),
+
+/***/ 30674:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSettingsSamlStrictMode = void 0;
+/**
+ * Has one property enabled (boolean).
+ */
+class OrganizationSettingsSamlStrictMode {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSettingsSamlStrictMode.attributeTypeMap;
+    }
+}
+exports.OrganizationSettingsSamlStrictMode = OrganizationSettingsSamlStrictMode;
+/**
+ * @ignore
+ */
+OrganizationSettingsSamlStrictMode.attributeTypeMap = {
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=OrganizationSettingsSamlStrictMode.js.map
+
+/***/ }),
+
+/***/ 28197:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationSubscription = void 0;
+/**
+ * Subscription definition.
+ */
+class OrganizationSubscription {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationSubscription.attributeTypeMap;
+    }
+}
+exports.OrganizationSubscription = OrganizationSubscription;
+/**
+ * @ignore
+ */
+OrganizationSubscription.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=OrganizationSubscription.js.map
+
+/***/ }),
+
+/***/ 39866:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PagerDutyService = void 0;
+/**
+ * The PagerDuty service that is available for integration with Datadog.
+ */
+class PagerDutyService {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PagerDutyService.attributeTypeMap;
+    }
+}
+exports.PagerDutyService = PagerDutyService;
+/**
+ * @ignore
+ */
+PagerDutyService.attributeTypeMap = {
+    serviceKey: {
+        baseName: "service_key",
+        type: "string",
+        required: true,
+    },
+    serviceName: {
+        baseName: "service_name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=PagerDutyService.js.map
+
+/***/ }),
+
+/***/ 6241:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PagerDutyServiceKey = void 0;
+/**
+ * PagerDuty service object key.
+ */
+class PagerDutyServiceKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PagerDutyServiceKey.attributeTypeMap;
+    }
+}
+exports.PagerDutyServiceKey = PagerDutyServiceKey;
+/**
+ * @ignore
+ */
+PagerDutyServiceKey.attributeTypeMap = {
+    serviceKey: {
+        baseName: "service_key",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=PagerDutyServiceKey.js.map
+
+/***/ }),
+
+/***/ 45466:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PagerDutyServiceName = void 0;
+/**
+ * PagerDuty service object name.
+ */
+class PagerDutyServiceName {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PagerDutyServiceName.attributeTypeMap;
+    }
+}
+exports.PagerDutyServiceName = PagerDutyServiceName;
+/**
+ * @ignore
+ */
+PagerDutyServiceName.attributeTypeMap = {
+    serviceName: {
+        baseName: "service_name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=PagerDutyServiceName.js.map
+
+/***/ }),
+
+/***/ 26433:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Pagination = void 0;
+/**
+ * Pagination object.
+ */
+class Pagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Pagination.attributeTypeMap;
+    }
+}
+exports.Pagination = Pagination;
+/**
+ * @ignore
+ */
+Pagination.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=Pagination.js.map
+
+/***/ }),
+
+/***/ 67314:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessQueryDefinition = void 0;
+/**
+ * The process query to use in the widget.
+ */
+class ProcessQueryDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessQueryDefinition.attributeTypeMap;
+    }
+}
+exports.ProcessQueryDefinition = ProcessQueryDefinition;
+/**
+ * @ignore
+ */
+ProcessQueryDefinition.attributeTypeMap = {
+    filterBy: {
+        baseName: "filter_by",
+        type: "Array",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+        required: true,
+    },
+    searchBy: {
+        baseName: "search_by",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ProcessQueryDefinition.js.map
+
+/***/ }),
+
+/***/ 93129:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.QueryValueWidgetDefinition = void 0;
+/**
+ * Query values display the current value of a given metric, APM, or log query.
+ */
+class QueryValueWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return QueryValueWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.QueryValueWidgetDefinition = QueryValueWidgetDefinition;
+/**
+ * @ignore
+ */
+QueryValueWidgetDefinition.attributeTypeMap = {
+    autoscale: {
+        baseName: "autoscale",
+        type: "boolean",
+    },
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    customUnit: {
+        baseName: "custom_unit",
+        type: "string",
+    },
+    precision: {
+        baseName: "precision",
+        type: "number",
+        format: "int64",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[QueryValueWidgetRequest]",
+        required: true,
+    },
+    textAlign: {
+        baseName: "text_align",
+        type: "WidgetTextAlign",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    timeseriesBackground: {
+        baseName: "timeseries_background",
+        type: "TimeseriesBackground",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "QueryValueWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=QueryValueWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 39181:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.QueryValueWidgetRequest = void 0;
+/**
+ * Updated query value widget.
+ */
+class QueryValueWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return QueryValueWidgetRequest.attributeTypeMap;
+    }
+}
+exports.QueryValueWidgetRequest = QueryValueWidgetRequest;
+/**
+ * @ignore
+ */
+QueryValueWidgetRequest.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "WidgetAggregator",
+    },
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    auditQuery: {
+        baseName: "audit_query",
+        type: "LogQueryDefinition",
+    },
+    conditionalFormats: {
+        baseName: "conditional_formats",
+        type: "Array",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+};
+//# sourceMappingURL=QueryValueWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 46562:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ReferenceTableLogsLookupProcessor = void 0;
+/**
+ * **Note**: Reference Tables are in public beta.
+ * Use the Lookup Processor to define a mapping between a log attribute
+ * and a human readable value saved in a Reference Table.
+ * For example, you can use the Lookup Processor to map an internal service ID
+ * into a human readable service name. Alternatively, you could also use it to check
+ * if the MAC address that just attempted to connect to the production
+ * environment belongs to your list of stolen machines.
+ */
+class ReferenceTableLogsLookupProcessor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ReferenceTableLogsLookupProcessor.attributeTypeMap;
+    }
+}
+exports.ReferenceTableLogsLookupProcessor = ReferenceTableLogsLookupProcessor;
+/**
+ * @ignore
+ */
+ReferenceTableLogsLookupProcessor.attributeTypeMap = {
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    lookupEnrichmentTable: {
+        baseName: "lookup_enrichment_table",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    source: {
+        baseName: "source",
+        type: "string",
+        required: true,
+    },
+    target: {
+        baseName: "target",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsLookupProcessorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ReferenceTableLogsLookupProcessor.js.map
+
+/***/ }),
+
+/***/ 55368:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ResponseMetaAttributes = void 0;
+/**
+ * Object describing meta attributes of response.
+ */
+class ResponseMetaAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ResponseMetaAttributes.attributeTypeMap;
+    }
+}
+exports.ResponseMetaAttributes = ResponseMetaAttributes;
+/**
+ * @ignore
+ */
+ResponseMetaAttributes.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "Pagination",
+    },
+};
+//# sourceMappingURL=ResponseMetaAttributes.js.map
+
+/***/ }),
+
+/***/ 80883:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RunWorkflowWidgetDefinition = void 0;
+/**
+ * Run workflow is widget that allows you to run a workflow from a dashboard.
+ */
+class RunWorkflowWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RunWorkflowWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.RunWorkflowWidgetDefinition = RunWorkflowWidgetDefinition;
+/**
+ * @ignore
+ */
+RunWorkflowWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    inputs: {
+        baseName: "inputs",
+        type: "Array",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "RunWorkflowWidgetDefinitionType",
+        required: true,
+    },
+    workflowId: {
+        baseName: "workflow_id",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RunWorkflowWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 47821:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RunWorkflowWidgetInput = void 0;
+/**
+ * Object to map a dashboard template variable to a workflow input.
+ */
+class RunWorkflowWidgetInput {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RunWorkflowWidgetInput.attributeTypeMap;
+    }
+}
+exports.RunWorkflowWidgetInput = RunWorkflowWidgetInput;
+/**
+ * @ignore
+ */
+RunWorkflowWidgetInput.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RunWorkflowWidgetInput.js.map
+
+/***/ }),
+
+/***/ 23948:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOBulkDeleteError = void 0;
+/**
+ * Object describing the error.
+ */
+class SLOBulkDeleteError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOBulkDeleteError.attributeTypeMap;
+    }
+}
+exports.SLOBulkDeleteError = SLOBulkDeleteError;
+/**
+ * @ignore
+ */
+SLOBulkDeleteError.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOErrorTimeframe",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOBulkDeleteError.js.map
+
+/***/ }),
+
+/***/ 43103:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOBulkDeleteResponse = void 0;
+/**
+ * The bulk partial delete service level objective object endpoint
+ * response.
+ *
+ * This endpoint operates on multiple service level objective objects, so
+ * it may be partially successful. In such cases, the "data" and "error"
+ * fields in this response indicate which deletions succeeded and failed.
+ */
+class SLOBulkDeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOBulkDeleteResponse.attributeTypeMap;
+    }
+}
+exports.SLOBulkDeleteResponse = SLOBulkDeleteResponse;
+/**
+ * @ignore
+ */
+SLOBulkDeleteResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOBulkDeleteResponseData",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOBulkDeleteResponse.js.map
+
+/***/ }),
+
+/***/ 41457:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOBulkDeleteResponseData = void 0;
+/**
+ * An array of service level objective objects.
+ */
+class SLOBulkDeleteResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOBulkDeleteResponseData.attributeTypeMap;
+    }
+}
+exports.SLOBulkDeleteResponseData = SLOBulkDeleteResponseData;
+/**
+ * @ignore
+ */
+SLOBulkDeleteResponseData.attributeTypeMap = {
+    deleted: {
+        baseName: "deleted",
+        type: "Array",
+    },
+    updated: {
+        baseName: "updated",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOBulkDeleteResponseData.js.map
+
+/***/ }),
+
+/***/ 85199:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrection = void 0;
+/**
+ * The response object of a list of SLO corrections.
+ */
+class SLOCorrection {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrection.attributeTypeMap;
+    }
+}
+exports.SLOCorrection = SLOCorrection;
+/**
+ * @ignore
+ */
+SLOCorrection.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SLOCorrectionResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOCorrectionType",
+    },
+};
+//# sourceMappingURL=SLOCorrection.js.map
+
+/***/ }),
+
+/***/ 84918:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionCreateData = void 0;
+/**
+ * The data object associated with the SLO correction to be created.
+ */
+class SLOCorrectionCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionCreateData.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionCreateData = SLOCorrectionCreateData;
+/**
+ * @ignore
+ */
+SLOCorrectionCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SLOCorrectionCreateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOCorrectionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOCorrectionCreateData.js.map
+
+/***/ }),
+
+/***/ 85751:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionCreateRequest = void 0;
+/**
+ * An object that defines a correction to be applied to an SLO.
+ */
+class SLOCorrectionCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionCreateRequest.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionCreateRequest = SLOCorrectionCreateRequest;
+/**
+ * @ignore
+ */
+SLOCorrectionCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOCorrectionCreateData",
+    },
+};
+//# sourceMappingURL=SLOCorrectionCreateRequest.js.map
+
+/***/ }),
+
+/***/ 38431:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionCreateRequestAttributes = void 0;
+/**
+ * The attribute object associated with the SLO correction to be created.
+ */
+class SLOCorrectionCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionCreateRequestAttributes = SLOCorrectionCreateRequestAttributes;
+/**
+ * @ignore
+ */
+SLOCorrectionCreateRequestAttributes.attributeTypeMap = {
+    category: {
+        baseName: "category",
+        type: "SLOCorrectionCategory",
+        required: true,
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "int64",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+    },
+    sloId: {
+        baseName: "slo_id",
+        type: "string",
+        required: true,
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOCorrectionCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 96982:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionListResponse = void 0;
+/**
+ * A list of  SLO correction objects.
+ */
+class SLOCorrectionListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionListResponse.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionListResponse = SLOCorrectionListResponse;
+/**
+ * @ignore
+ */
+SLOCorrectionListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ResponseMetaAttributes",
+    },
+};
+//# sourceMappingURL=SLOCorrectionListResponse.js.map
+
+/***/ }),
+
+/***/ 37329:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionResponse = void 0;
+/**
+ * The response object of an SLO correction.
+ */
+class SLOCorrectionResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionResponse.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionResponse = SLOCorrectionResponse;
+/**
+ * @ignore
+ */
+SLOCorrectionResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOCorrection",
+    },
+};
+//# sourceMappingURL=SLOCorrectionResponse.js.map
+
+/***/ }),
+
+/***/ 79914:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionResponseAttributes = void 0;
+/**
+ * The attribute object associated with the SLO correction.
+ */
+class SLOCorrectionResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionResponseAttributes.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionResponseAttributes = SLOCorrectionResponseAttributes;
+/**
+ * @ignore
+ */
+SLOCorrectionResponseAttributes.attributeTypeMap = {
+    category: {
+        baseName: "category",
+        type: "SLOCorrectionCategory",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        format: "int64",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "int64",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "number",
+        format: "int64",
+    },
+    modifier: {
+        baseName: "modifier",
+        type: "SLOCorrectionResponseAttributesModifier",
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+    },
+    sloId: {
+        baseName: "slo_id",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOCorrectionResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 13841:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionResponseAttributesModifier = void 0;
+/**
+ * Modifier of the object.
+ */
+class SLOCorrectionResponseAttributesModifier {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionResponseAttributesModifier.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionResponseAttributesModifier = SLOCorrectionResponseAttributesModifier;
+/**
+ * @ignore
+ */
+SLOCorrectionResponseAttributesModifier.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOCorrectionResponseAttributesModifier.js.map
+
+/***/ }),
+
+/***/ 36836:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionUpdateData = void 0;
+/**
+ * The data object associated with the SLO correction to be updated.
+ */
+class SLOCorrectionUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionUpdateData.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionUpdateData = SLOCorrectionUpdateData;
+/**
+ * @ignore
+ */
+SLOCorrectionUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SLOCorrectionUpdateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOCorrectionType",
+    },
+};
+//# sourceMappingURL=SLOCorrectionUpdateData.js.map
+
+/***/ }),
+
+/***/ 78213:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionUpdateRequest = void 0;
+/**
+ * An object that defines a correction to be applied to an SLO.
+ */
+class SLOCorrectionUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionUpdateRequest = SLOCorrectionUpdateRequest;
+/**
+ * @ignore
+ */
+SLOCorrectionUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOCorrectionUpdateData",
+    },
+};
+//# sourceMappingURL=SLOCorrectionUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 77841:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCorrectionUpdateRequestAttributes = void 0;
+/**
+ * The attribute object associated with the SLO correction to be updated.
+ */
+class SLOCorrectionUpdateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCorrectionUpdateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.SLOCorrectionUpdateRequestAttributes = SLOCorrectionUpdateRequestAttributes;
+/**
+ * @ignore
+ */
+SLOCorrectionUpdateRequestAttributes.attributeTypeMap = {
+    category: {
+        baseName: "category",
+        type: "SLOCorrectionCategory",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "int64",
+    },
+    end: {
+        baseName: "end",
+        type: "number",
+        format: "int64",
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOCorrectionUpdateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 73662:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOCreator = void 0;
+/**
+ * The creator of the SLO
+ */
+class SLOCreator {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOCreator.attributeTypeMap;
+    }
+}
+exports.SLOCreator = SLOCreator;
+/**
+ * @ignore
+ */
+SLOCreator.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOCreator.js.map
+
+/***/ }),
+
+/***/ 34973:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLODeleteResponse = void 0;
+/**
+ * A response list of all service level objective deleted.
+ */
+class SLODeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLODeleteResponse.attributeTypeMap;
+    }
+}
+exports.SLODeleteResponse = SLODeleteResponse;
+/**
+ * @ignore
+ */
+SLODeleteResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    errors: {
+        baseName: "errors",
+        type: "{ [key: string]: string; }",
+    },
+};
+//# sourceMappingURL=SLODeleteResponse.js.map
+
+/***/ }),
+
+/***/ 87919:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryMetrics = void 0;
+/**
+ * A `metric` based SLO history response.
+ *
+ * This is not included in responses for `monitor` based SLOs.
+ */
+class SLOHistoryMetrics {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryMetrics.attributeTypeMap;
+    }
+}
+exports.SLOHistoryMetrics = SLOHistoryMetrics;
+/**
+ * @ignore
+ */
+SLOHistoryMetrics.attributeTypeMap = {
+    denominator: {
+        baseName: "denominator",
+        type: "SLOHistoryMetricsSeries",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    numerator: {
+        baseName: "numerator",
+        type: "SLOHistoryMetricsSeries",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    resType: {
+        baseName: "res_type",
+        type: "string",
+        required: true,
+    },
+    respVersion: {
+        baseName: "resp_version",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    times: {
+        baseName: "times",
+        type: "Array",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLOHistoryMetrics.js.map
+
+/***/ }),
+
+/***/ 37905:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryMetricsSeries = void 0;
+/**
+ * A representation of `metric` based SLO time series for the provided queries.
+ * This is the same response type from `batch_query` endpoint.
+ */
+class SLOHistoryMetricsSeries {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryMetricsSeries.attributeTypeMap;
+    }
+}
+exports.SLOHistoryMetricsSeries = SLOHistoryMetricsSeries;
+/**
+ * @ignore
+ */
+SLOHistoryMetricsSeries.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "SLOHistoryMetricsSeriesMetadata",
+    },
+    sum: {
+        baseName: "sum",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    values: {
+        baseName: "values",
+        type: "Array",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLOHistoryMetricsSeries.js.map
+
+/***/ }),
+
+/***/ 10967:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryMetricsSeriesMetadata = void 0;
+/**
+ * Query metadata.
+ */
+class SLOHistoryMetricsSeriesMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryMetricsSeriesMetadata.attributeTypeMap;
+    }
+}
+exports.SLOHistoryMetricsSeriesMetadata = SLOHistoryMetricsSeriesMetadata;
+/**
+ * @ignore
+ */
+SLOHistoryMetricsSeriesMetadata.attributeTypeMap = {
+    aggr: {
+        baseName: "aggr",
+        type: "string",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    queryIndex: {
+        baseName: "query_index",
+        type: "number",
+        format: "int64",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    unit: {
+        baseName: "unit",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOHistoryMetricsSeriesMetadata.js.map
+
+/***/ }),
+
+/***/ 5222:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryMetricsSeriesMetadataUnit = void 0;
+/**
+ * An Object of metric units.
+ */
+class SLOHistoryMetricsSeriesMetadataUnit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryMetricsSeriesMetadataUnit.attributeTypeMap;
+    }
+}
+exports.SLOHistoryMetricsSeriesMetadataUnit = SLOHistoryMetricsSeriesMetadataUnit;
+/**
+ * @ignore
+ */
+SLOHistoryMetricsSeriesMetadataUnit.attributeTypeMap = {
+    family: {
+        baseName: "family",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    plural: {
+        baseName: "plural",
+        type: "string",
+    },
+    scaleFactor: {
+        baseName: "scale_factor",
+        type: "number",
+        format: "double",
+    },
+    shortName: {
+        baseName: "short_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOHistoryMetricsSeriesMetadataUnit.js.map
+
+/***/ }),
+
+/***/ 9138:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryMonitor = void 0;
+/**
+ * An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value.
+ * This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs.
+ */
+class SLOHistoryMonitor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryMonitor.attributeTypeMap;
+    }
+}
+exports.SLOHistoryMonitor = SLOHistoryMonitor;
+/**
+ * @ignore
+ */
+SLOHistoryMonitor.attributeTypeMap = {
+    errorBudgetRemaining: {
+        baseName: "error_budget_remaining",
+        type: "{ [key: string]: number; }",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    group: {
+        baseName: "group",
+        type: "string",
+    },
+    history: {
+        baseName: "history",
+        type: "Array<[number, number]>",
+        format: "double",
+    },
+    monitorModified: {
+        baseName: "monitor_modified",
+        type: "number",
+        format: "int64",
+    },
+    monitorType: {
+        baseName: "monitor_type",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    precision: {
+        baseName: "precision",
+        type: "number",
+        format: "double",
+    },
+    preview: {
+        baseName: "preview",
+        type: "boolean",
+    },
+    sliValue: {
+        baseName: "sli_value",
+        type: "number",
+        format: "double",
+    },
+    spanPrecision: {
+        baseName: "span_precision",
+        type: "number",
+        format: "double",
+    },
+    uptime: {
+        baseName: "uptime",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLOHistoryMonitor.js.map
+
+/***/ }),
+
+/***/ 6523:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryResponse = void 0;
+/**
+ * A service level objective history response.
+ */
+class SLOHistoryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryResponse.attributeTypeMap;
+    }
+}
+exports.SLOHistoryResponse = SLOHistoryResponse;
+/**
+ * @ignore
+ */
+SLOHistoryResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOHistoryResponseData",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOHistoryResponse.js.map
+
+/***/ }),
+
+/***/ 57557:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryResponseData = void 0;
+/**
+ * An array of service level objective objects.
+ */
+class SLOHistoryResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryResponseData.attributeTypeMap;
+    }
+}
+exports.SLOHistoryResponseData = SLOHistoryResponseData;
+/**
+ * @ignore
+ */
+SLOHistoryResponseData.attributeTypeMap = {
+    fromTs: {
+        baseName: "from_ts",
+        type: "number",
+        format: "int64",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    monitors: {
+        baseName: "monitors",
+        type: "Array",
+    },
+    overall: {
+        baseName: "overall",
+        type: "SLOHistorySLIData",
+    },
+    series: {
+        baseName: "series",
+        type: "SLOHistoryMetrics",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "{ [key: string]: SLOThreshold; }",
+    },
+    toTs: {
+        baseName: "to_ts",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOType",
+    },
+    typeId: {
+        baseName: "type_id",
+        type: "SLOTypeNumeric",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SLOHistoryResponseData.js.map
+
+/***/ }),
+
+/***/ 38631:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryResponseError = void 0;
+/**
+ * A list of errors while querying the history data for the service level objective.
+ */
+class SLOHistoryResponseError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryResponseError.attributeTypeMap;
+    }
+}
+exports.SLOHistoryResponseError = SLOHistoryResponseError;
+/**
+ * @ignore
+ */
+SLOHistoryResponseError.attributeTypeMap = {
+    error: {
+        baseName: "error",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOHistoryResponseError.js.map
+
+/***/ }),
+
+/***/ 89863:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistoryResponseErrorWithType = void 0;
+/**
+ * An object describing the error with error type and error message.
+ */
+class SLOHistoryResponseErrorWithType {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistoryResponseErrorWithType.attributeTypeMap;
+    }
+}
+exports.SLOHistoryResponseErrorWithType = SLOHistoryResponseErrorWithType;
+/**
+ * @ignore
+ */
+SLOHistoryResponseErrorWithType.attributeTypeMap = {
+    errorMessage: {
+        baseName: "error_message",
+        type: "string",
+        required: true,
+    },
+    errorType: {
+        baseName: "error_type",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOHistoryResponseErrorWithType.js.map
+
+/***/ }),
+
+/***/ 80195:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOHistorySLIData = void 0;
+/**
+ * An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value.
+ * This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs.
+ */
+class SLOHistorySLIData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOHistorySLIData.attributeTypeMap;
+    }
+}
+exports.SLOHistorySLIData = SLOHistorySLIData;
+/**
+ * @ignore
+ */
+SLOHistorySLIData.attributeTypeMap = {
+    errorBudgetRemaining: {
+        baseName: "error_budget_remaining",
+        type: "{ [key: string]: number; }",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    group: {
+        baseName: "group",
+        type: "string",
+    },
+    history: {
+        baseName: "history",
+        type: "Array<[number, number]>",
+        format: "double",
+    },
+    monitorModified: {
+        baseName: "monitor_modified",
+        type: "number",
+        format: "int64",
+    },
+    monitorType: {
+        baseName: "monitor_type",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    precision: {
+        baseName: "precision",
+        type: "{ [key: string]: number; }",
+    },
+    preview: {
+        baseName: "preview",
+        type: "boolean",
+    },
+    sliValue: {
+        baseName: "sli_value",
+        type: "number",
+        format: "double",
+    },
+    spanPrecision: {
+        baseName: "span_precision",
+        type: "number",
+        format: "double",
+    },
+    uptime: {
+        baseName: "uptime",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLOHistorySLIData.js.map
+
+/***/ }),
+
+/***/ 99469:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListResponse = void 0;
+/**
+ * A response with one or more service level objective.
+ */
+class SLOListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListResponse.attributeTypeMap;
+    }
+}
+exports.SLOListResponse = SLOListResponse;
+/**
+ * @ignore
+ */
+SLOListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "SLOListResponseMetadata",
+    },
+};
+//# sourceMappingURL=SLOListResponse.js.map
+
+/***/ }),
+
+/***/ 16172:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListResponseMetadata = void 0;
+/**
+ * The metadata object containing additional information about the list of SLOs.
+ */
+class SLOListResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListResponseMetadata.attributeTypeMap;
+    }
+}
+exports.SLOListResponseMetadata = SLOListResponseMetadata;
+/**
+ * @ignore
+ */
+SLOListResponseMetadata.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "SLOListResponseMetadataPage",
+    },
+};
+//# sourceMappingURL=SLOListResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 46631:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListResponseMetadataPage = void 0;
+/**
+ * The object containing information about the pages of the list of SLOs.
+ */
+class SLOListResponseMetadataPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListResponseMetadataPage.attributeTypeMap;
+    }
+}
+exports.SLOListResponseMetadataPage = SLOListResponseMetadataPage;
+/**
+ * @ignore
+ */
+SLOListResponseMetadataPage.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SLOListResponseMetadataPage.js.map
+
+/***/ }),
+
+/***/ 76906:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListWidgetDefinition = void 0;
+/**
+ * Use the SLO List widget to track your SLOs (Service Level Objectives) on dashboards.
+ */
+class SLOListWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.SLOListWidgetDefinition = SLOListWidgetDefinition;
+/**
+ * @ignore
+ */
+SLOListWidgetDefinition.attributeTypeMap = {
+    requests: {
+        baseName: "requests",
+        type: "[SLOListWidgetRequest]",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOListWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOListWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 25628:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListWidgetQuery = void 0;
+/**
+ * Updated SLO List widget.
+ */
+class SLOListWidgetQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListWidgetQuery.attributeTypeMap;
+    }
+}
+exports.SLOListWidgetQuery = SLOListWidgetQuery;
+/**
+ * @ignore
+ */
+SLOListWidgetQuery.attributeTypeMap = {
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    queryString: {
+        baseName: "query_string",
+        type: "string",
+        required: true,
+    },
+    sort: {
+        baseName: "sort",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOListWidgetQuery.js.map
+
+/***/ }),
+
+/***/ 49303:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOListWidgetRequest = void 0;
+/**
+ * Updated SLO List widget.
+ */
+class SLOListWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOListWidgetRequest.attributeTypeMap;
+    }
+}
+exports.SLOListWidgetRequest = SLOListWidgetRequest;
+/**
+ * @ignore
+ */
+SLOListWidgetRequest.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "SLOListWidgetQuery",
+        required: true,
+    },
+    requestType: {
+        baseName: "request_type",
+        type: "SLOListWidgetRequestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOListWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 51707:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOOverallStatuses = void 0;
+/**
+ * Overall status of the SLO by timeframes.
+ */
+class SLOOverallStatuses {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOOverallStatuses.attributeTypeMap;
+    }
+}
+exports.SLOOverallStatuses = SLOOverallStatuses;
+/**
+ * @ignore
+ */
+SLOOverallStatuses.attributeTypeMap = {
+    error: {
+        baseName: "error",
+        type: "string",
+    },
+    errorBudgetRemaining: {
+        baseName: "error_budget_remaining",
+        type: "number",
+        format: "double",
+    },
+    indexedAt: {
+        baseName: "indexed_at",
+        type: "number",
+        format: "int64",
+    },
+    rawErrorBudgetRemaining: {
+        baseName: "raw_error_budget_remaining",
+        type: "SLORawErrorBudgetRemaining",
+    },
+    spanPrecision: {
+        baseName: "span_precision",
+        type: "number",
+        format: "int64",
+    },
+    state: {
+        baseName: "state",
+        type: "SLOState",
+    },
+    status: {
+        baseName: "status",
+        type: "number",
+        format: "double",
+    },
+    target: {
+        baseName: "target",
+        type: "number",
+        format: "double",
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOTimeframe",
+    },
+};
+//# sourceMappingURL=SLOOverallStatuses.js.map
+
+/***/ }),
+
+/***/ 33631:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLORawErrorBudgetRemaining = void 0;
+/**
+ * Error budget remaining for an SLO.
+ */
+class SLORawErrorBudgetRemaining {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLORawErrorBudgetRemaining.attributeTypeMap;
+    }
+}
+exports.SLORawErrorBudgetRemaining = SLORawErrorBudgetRemaining;
+/**
+ * @ignore
+ */
+SLORawErrorBudgetRemaining.attributeTypeMap = {
+    unit: {
+        baseName: "unit",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLORawErrorBudgetRemaining.js.map
+
+/***/ }),
+
+/***/ 50747:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOResponse = void 0;
+/**
+ * A service level objective response containing a single service level objective.
+ */
+class SLOResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOResponse.attributeTypeMap;
+    }
+}
+exports.SLOResponse = SLOResponse;
+/**
+ * @ignore
+ */
+SLOResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SLOResponseData",
+    },
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SLOResponse.js.map
+
+/***/ }),
+
+/***/ 14778:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOResponseData = void 0;
+/**
+ * A service level objective object includes a service level indicator, thresholds
+ * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).
+ */
+class SLOResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOResponseData.attributeTypeMap;
+    }
+}
+exports.SLOResponseData = SLOResponseData;
+/**
+ * @ignore
+ */
+SLOResponseData.attributeTypeMap = {
+    configuredAlertIds: {
+        baseName: "configured_alert_ids",
+        type: "Array",
+        format: "int64",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        format: "int64",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "number",
+        format: "int64",
+    },
+    monitorIds: {
+        baseName: "monitor_ids",
+        type: "Array",
+        format: "int64",
+    },
+    monitorTags: {
+        baseName: "monitor_tags",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "ServiceLevelObjectiveQuery",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    targetThreshold: {
+        baseName: "target_threshold",
+        type: "number",
+        format: "double",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "Array",
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOTimeframe",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOType",
+    },
+    warningThreshold: {
+        baseName: "warning_threshold",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SLOResponseData.js.map
+
+/***/ }),
+
+/***/ 79097:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOStatus = void 0;
+/**
+ * Status of the SLO's primary timeframe.
+ */
+class SLOStatus {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOStatus.attributeTypeMap;
+    }
+}
+exports.SLOStatus = SLOStatus;
+/**
+ * @ignore
+ */
+SLOStatus.attributeTypeMap = {
+    calculationError: {
+        baseName: "calculation_error",
+        type: "string",
+    },
+    errorBudgetRemaining: {
+        baseName: "error_budget_remaining",
+        type: "number",
+        format: "double",
+    },
+    indexedAt: {
+        baseName: "indexed_at",
+        type: "number",
+        format: "int64",
+    },
+    rawErrorBudgetRemaining: {
+        baseName: "raw_error_budget_remaining",
+        type: "SLORawErrorBudgetRemaining",
+    },
+    sli: {
+        baseName: "sli",
+        type: "number",
+        format: "double",
+    },
+    spanPrecision: {
+        baseName: "span_precision",
+        type: "number",
+        format: "int64",
+    },
+    state: {
+        baseName: "state",
+        type: "SLOState",
+    },
+};
+//# sourceMappingURL=SLOStatus.js.map
+
+/***/ }),
+
+/***/ 30901:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOThreshold = void 0;
+/**
+ * SLO thresholds (target and optionally warning) for a single time window.
+ */
+class SLOThreshold {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOThreshold.attributeTypeMap;
+    }
+}
+exports.SLOThreshold = SLOThreshold;
+/**
+ * @ignore
+ */
+SLOThreshold.attributeTypeMap = {
+    target: {
+        baseName: "target",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    targetDisplay: {
+        baseName: "target_display",
+        type: "string",
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOTimeframe",
+        required: true,
+    },
+    warning: {
+        baseName: "warning",
+        type: "number",
+        format: "double",
+    },
+    warningDisplay: {
+        baseName: "warning_display",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SLOThreshold.js.map
+
+/***/ }),
+
+/***/ 17161:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SLOWidgetDefinition = void 0;
+/**
+ * Use the SLO and uptime widget to track your SLOs (Service Level Objectives) and uptime on screenboards and timeboards.
+ */
+class SLOWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SLOWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.SLOWidgetDefinition = SLOWidgetDefinition;
+/**
+ * @ignore
+ */
+SLOWidgetDefinition.attributeTypeMap = {
+    additionalQueryFilters: {
+        baseName: "additional_query_filters",
+        type: "string",
+    },
+    globalTimeTarget: {
+        baseName: "global_time_target",
+        type: "string",
+    },
+    showErrorBudget: {
+        baseName: "show_error_budget",
+        type: "boolean",
+    },
+    sloId: {
+        baseName: "slo_id",
+        type: "string",
+    },
+    timeWindows: {
+        baseName: "time_windows",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOWidgetDefinitionType",
+        required: true,
+    },
+    viewMode: {
+        baseName: "view_mode",
+        type: "WidgetViewMode",
+    },
+    viewType: {
+        baseName: "view_type",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SLOWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 32407:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScatterPlotRequest = void 0;
+/**
+ * Updated scatter plot.
+ */
+class ScatterPlotRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScatterPlotRequest.attributeTypeMap;
+    }
+}
+exports.ScatterPlotRequest = ScatterPlotRequest;
+/**
+ * @ignore
+ */
+ScatterPlotRequest.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "ScatterplotWidgetAggregator",
+    },
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+};
+//# sourceMappingURL=ScatterPlotRequest.js.map
+
+/***/ }),
+
+/***/ 55062:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScatterPlotWidgetDefinition = void 0;
+/**
+ * The scatter plot visualization allows you to graph a chosen scope over two different metrics with their respective aggregation.
+ */
+class ScatterPlotWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScatterPlotWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ScatterPlotWidgetDefinition = ScatterPlotWidgetDefinition;
+/**
+ * @ignore
+ */
+ScatterPlotWidgetDefinition.attributeTypeMap = {
+    colorByGroups: {
+        baseName: "color_by_groups",
+        type: "Array",
+    },
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "ScatterPlotWidgetDefinitionRequests",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ScatterPlotWidgetDefinitionType",
+        required: true,
+    },
+    xaxis: {
+        baseName: "xaxis",
+        type: "WidgetAxis",
+    },
+    yaxis: {
+        baseName: "yaxis",
+        type: "WidgetAxis",
+    },
+};
+//# sourceMappingURL=ScatterPlotWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 34547:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScatterPlotWidgetDefinitionRequests = void 0;
+/**
+ * Widget definition.
+ */
+class ScatterPlotWidgetDefinitionRequests {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScatterPlotWidgetDefinitionRequests.attributeTypeMap;
+    }
+}
+exports.ScatterPlotWidgetDefinitionRequests = ScatterPlotWidgetDefinitionRequests;
+/**
+ * @ignore
+ */
+ScatterPlotWidgetDefinitionRequests.attributeTypeMap = {
+    table: {
+        baseName: "table",
+        type: "ScatterplotTableRequest",
+    },
+    x: {
+        baseName: "x",
+        type: "ScatterPlotRequest",
+    },
+    y: {
+        baseName: "y",
+        type: "ScatterPlotRequest",
+    },
+};
+//# sourceMappingURL=ScatterPlotWidgetDefinitionRequests.js.map
+
+/***/ }),
+
+/***/ 94814:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScatterplotTableRequest = void 0;
+/**
+ * Scatterplot request containing formulas and functions.
+ */
+class ScatterplotTableRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScatterplotTableRequest.attributeTypeMap;
+    }
+}
+exports.ScatterplotTableRequest = ScatterplotTableRequest;
+/**
+ * @ignore
+ */
+ScatterplotTableRequest.attributeTypeMap = {
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+};
+//# sourceMappingURL=ScatterplotTableRequest.js.map
+
+/***/ }),
+
+/***/ 99834:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScatterplotWidgetFormula = void 0;
+/**
+ * Formula to be used in a Scatterplot widget query.
+ */
+class ScatterplotWidgetFormula {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScatterplotWidgetFormula.attributeTypeMap;
+    }
+}
+exports.ScatterplotWidgetFormula = ScatterplotWidgetFormula;
+/**
+ * @ignore
+ */
+ScatterplotWidgetFormula.attributeTypeMap = {
+    alias: {
+        baseName: "alias",
+        type: "string",
+    },
+    dimension: {
+        baseName: "dimension",
+        type: "ScatterplotDimension",
+        required: true,
+    },
+    formula: {
+        baseName: "formula",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ScatterplotWidgetFormula.js.map
+
+/***/ }),
+
+/***/ 59154:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOQuery = void 0;
+/**
+ * A metric-based SLO. **Required if type is `metric`**. Note that Datadog only allows the sum by aggregator
+ * to be used because this will sum up all request counts instead of averaging them, or taking the max or
+ * min of all of those requests.
+ */
+class SearchSLOQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOQuery.attributeTypeMap;
+    }
+}
+exports.SearchSLOQuery = SearchSLOQuery;
+/**
+ * @ignore
+ */
+SearchSLOQuery.attributeTypeMap = {
+    denominator: {
+        baseName: "denominator",
+        type: "string",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    numerator: {
+        baseName: "numerator",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOQuery.js.map
+
+/***/ }),
+
+/***/ 62919:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponse = void 0;
+/**
+ * A search SLO response containing results from the search query.
+ */
+class SearchSLOResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponse.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponse = SearchSLOResponse;
+/**
+ * @ignore
+ */
+SearchSLOResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SearchSLOResponseData",
+    },
+    links: {
+        baseName: "links",
+        type: "SearchSLOResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SearchSLOResponseMeta",
+    },
+};
+//# sourceMappingURL=SearchSLOResponse.js.map
+
+/***/ }),
+
+/***/ 15114:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseData = void 0;
+/**
+ * Data from search SLO response.
+ */
+class SearchSLOResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseData.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseData = SearchSLOResponseData;
+/**
+ * @ignore
+ */
+SearchSLOResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SearchSLOResponseDataAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseData.js.map
+
+/***/ }),
+
+/***/ 43773:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseDataAttributes = void 0;
+/**
+ * Attributes
+ */
+class SearchSLOResponseDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseDataAttributes.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseDataAttributes = SearchSLOResponseDataAttributes;
+/**
+ * @ignore
+ */
+SearchSLOResponseDataAttributes.attributeTypeMap = {
+    facets: {
+        baseName: "facets",
+        type: "SearchSLOResponseDataAttributesFacets",
+    },
+    slos: {
+        baseName: "slos",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseDataAttributes.js.map
+
+/***/ }),
+
+/***/ 66379:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseDataAttributesFacets = void 0;
+/**
+ * Facets
+ */
+class SearchSLOResponseDataAttributesFacets {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseDataAttributesFacets.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseDataAttributesFacets = SearchSLOResponseDataAttributesFacets;
+/**
+ * @ignore
+ */
+SearchSLOResponseDataAttributesFacets.attributeTypeMap = {
+    allTags: {
+        baseName: "all_tags",
+        type: "Array",
+    },
+    creatorName: {
+        baseName: "creator_name",
+        type: "Array",
+    },
+    envTags: {
+        baseName: "env_tags",
+        type: "Array",
+    },
+    serviceTags: {
+        baseName: "service_tags",
+        type: "Array",
+    },
+    sloType: {
+        baseName: "slo_type",
+        type: "Array",
+    },
+    target: {
+        baseName: "target",
+        type: "Array",
+    },
+    teamTags: {
+        baseName: "team_tags",
+        type: "Array",
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseDataAttributesFacets.js.map
+
+/***/ }),
+
+/***/ 90508:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseDataAttributesFacetsObjectInt = void 0;
+/**
+ * Facet
+ */
+class SearchSLOResponseDataAttributesFacetsObjectInt {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseDataAttributesFacetsObjectInt.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseDataAttributesFacetsObjectInt = SearchSLOResponseDataAttributesFacetsObjectInt;
+/**
+ * @ignore
+ */
+SearchSLOResponseDataAttributesFacetsObjectInt.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseDataAttributesFacetsObjectInt.js.map
+
+/***/ }),
+
+/***/ 13597:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseDataAttributesFacetsObjectString = void 0;
+/**
+ * Facet
+ */
+class SearchSLOResponseDataAttributesFacetsObjectString {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseDataAttributesFacetsObjectString.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseDataAttributesFacetsObjectString = SearchSLOResponseDataAttributesFacetsObjectString;
+/**
+ * @ignore
+ */
+SearchSLOResponseDataAttributesFacetsObjectString.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseDataAttributesFacetsObjectString.js.map
+
+/***/ }),
+
+/***/ 4801:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseLinks = void 0;
+/**
+ * Pagination links.
+ */
+class SearchSLOResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseLinks.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseLinks = SearchSLOResponseLinks;
+/**
+ * @ignore
+ */
+SearchSLOResponseLinks.attributeTypeMap = {
+    first: {
+        baseName: "first",
+        type: "string",
+    },
+    last: {
+        baseName: "last",
+        type: "string",
+    },
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+    prev: {
+        baseName: "prev",
+        type: "string",
+    },
+    self: {
+        baseName: "self",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseLinks.js.map
+
+/***/ }),
+
+/***/ 85031:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseMeta = void 0;
+/**
+ * Searches metadata returned by the API.
+ */
+class SearchSLOResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseMeta.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseMeta = SearchSLOResponseMeta;
+/**
+ * @ignore
+ */
+SearchSLOResponseMeta.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "SearchSLOResponseMetaPage",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseMeta.js.map
+
+/***/ }),
+
+/***/ 42181:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOResponseMetaPage = void 0;
+/**
+ * Pagination metadata returned by the API.
+ */
+class SearchSLOResponseMetaPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOResponseMetaPage.attributeTypeMap;
+    }
+}
+exports.SearchSLOResponseMetaPage = SearchSLOResponseMetaPage;
+/**
+ * @ignore
+ */
+SearchSLOResponseMetaPage.attributeTypeMap = {
+    firstNumber: {
+        baseName: "first_number",
+        type: "number",
+        format: "int64",
+    },
+    lastNumber: {
+        baseName: "last_number",
+        type: "number",
+        format: "int64",
+    },
+    nextNumber: {
+        baseName: "next_number",
+        type: "number",
+        format: "int64",
+    },
+    number: {
+        baseName: "number",
+        type: "number",
+        format: "int64",
+    },
+    prevNumber: {
+        baseName: "prev_number",
+        type: "number",
+        format: "int64",
+    },
+    size: {
+        baseName: "size",
+        type: "number",
+        format: "int64",
+    },
+    total: {
+        baseName: "total",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOResponseMetaPage.js.map
+
+/***/ }),
+
+/***/ 2018:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchSLOThreshold = void 0;
+/**
+ * SLO thresholds (target and optionally warning) for a single time window.
+ */
+class SearchSLOThreshold {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchSLOThreshold.attributeTypeMap;
+    }
+}
+exports.SearchSLOThreshold = SearchSLOThreshold;
+/**
+ * @ignore
+ */
+SearchSLOThreshold.attributeTypeMap = {
+    target: {
+        baseName: "target",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    targetDisplay: {
+        baseName: "target_display",
+        type: "string",
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SearchSLOTimeframe",
+        required: true,
+    },
+    warning: {
+        baseName: "warning",
+        type: "number",
+        format: "double",
+    },
+    warningDisplay: {
+        baseName: "warning_display",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchSLOThreshold.js.map
+
+/***/ }),
+
+/***/ 43793:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchServiceLevelObjective = void 0;
+/**
+ * A service level objective data container.
+ */
+class SearchServiceLevelObjective {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchServiceLevelObjective.attributeTypeMap;
+    }
+}
+exports.SearchServiceLevelObjective = SearchServiceLevelObjective;
+/**
+ * @ignore
+ */
+SearchServiceLevelObjective.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SearchServiceLevelObjectiveData",
+    },
+};
+//# sourceMappingURL=SearchServiceLevelObjective.js.map
+
+/***/ }),
+
+/***/ 29212:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchServiceLevelObjectiveAttributes = void 0;
+/**
+ * A service level objective object includes a service level indicator, thresholds
+ * for one or more timeframes, and metadata (`name`, `description`, and `tags`).
+ */
+class SearchServiceLevelObjectiveAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchServiceLevelObjectiveAttributes.attributeTypeMap;
+    }
+}
+exports.SearchServiceLevelObjectiveAttributes = SearchServiceLevelObjectiveAttributes;
+/**
+ * @ignore
+ */
+SearchServiceLevelObjectiveAttributes.attributeTypeMap = {
+    allTags: {
+        baseName: "all_tags",
+        type: "Array",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        format: "int64",
+    },
+    creator: {
+        baseName: "creator",
+        type: "SLOCreator",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    envTags: {
+        baseName: "env_tags",
+        type: "Array",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "number",
+        format: "int64",
+    },
+    monitorIds: {
+        baseName: "monitor_ids",
+        type: "Array",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    overallStatus: {
+        baseName: "overall_status",
+        type: "Array",
+    },
+    query: {
+        baseName: "query",
+        type: "SearchSLOQuery",
+    },
+    serviceTags: {
+        baseName: "service_tags",
+        type: "Array",
+    },
+    sloType: {
+        baseName: "slo_type",
+        type: "SLOType",
+    },
+    status: {
+        baseName: "status",
+        type: "SLOStatus",
+    },
+    teamTags: {
+        baseName: "team_tags",
+        type: "Array",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SearchServiceLevelObjectiveAttributes.js.map
+
+/***/ }),
+
+/***/ 91877:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SearchServiceLevelObjectiveData = void 0;
+/**
+ * A service level objective ID and attributes.
+ */
+class SearchServiceLevelObjectiveData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SearchServiceLevelObjectiveData.attributeTypeMap;
+    }
+}
+exports.SearchServiceLevelObjectiveData = SearchServiceLevelObjectiveData;
+/**
+ * @ignore
+ */
+SearchServiceLevelObjectiveData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SearchServiceLevelObjectiveAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SearchServiceLevelObjectiveData.js.map
+
+/***/ }),
+
+/***/ 82480:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SelectableTemplateVariableItems = void 0;
+/**
+ * Object containing the template variable's name, associated tag/attribute, default value and selectable values.
+ */
+class SelectableTemplateVariableItems {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SelectableTemplateVariableItems.attributeTypeMap;
+    }
+}
+exports.SelectableTemplateVariableItems = SelectableTemplateVariableItems;
+/**
+ * @ignore
+ */
+SelectableTemplateVariableItems.attributeTypeMap = {
+    defaultValue: {
+        baseName: "default_value",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    prefix: {
+        baseName: "prefix",
+        type: "string",
+    },
+    visibleTags: {
+        baseName: "visible_tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SelectableTemplateVariableItems.js.map
+
+/***/ }),
+
+/***/ 58736:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Series = void 0;
+/**
+ * A metric to submit to Datadog.
+ * See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties).
+ */
+class Series {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Series.attributeTypeMap;
+    }
+}
+exports.Series = Series;
+/**
+ * @ignore
+ */
+Series.attributeTypeMap = {
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+        required: true,
+    },
+    points: {
+        baseName: "points",
+        type: "Array<[number, number]>",
+        required: true,
+        format: "double",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Series.js.map
+
+/***/ }),
+
+/***/ 84535:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceCheck = void 0;
+/**
+ * An object containing service check and status.
+ */
+class ServiceCheck {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceCheck.attributeTypeMap;
+    }
+}
+exports.ServiceCheck = ServiceCheck;
+/**
+ * @ignore
+ */
+ServiceCheck.attributeTypeMap = {
+    check: {
+        baseName: "check",
+        type: "string",
+        required: true,
+    },
+    hostName: {
+        baseName: "host_name",
+        type: "string",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "ServiceCheckStatus",
+        required: true,
+        format: "int32",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+        required: true,
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=ServiceCheck.js.map
+
+/***/ }),
+
+/***/ 88243:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceLevelObjective = void 0;
+/**
+ * A service level objective object includes a service level indicator, thresholds
+ * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).
+ */
+class ServiceLevelObjective {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceLevelObjective.attributeTypeMap;
+    }
+}
+exports.ServiceLevelObjective = ServiceLevelObjective;
+/**
+ * @ignore
+ */
+ServiceLevelObjective.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        format: "int64",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "number",
+        format: "int64",
+    },
+    monitorIds: {
+        baseName: "monitor_ids",
+        type: "Array",
+        format: "int64",
+    },
+    monitorTags: {
+        baseName: "monitor_tags",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "ServiceLevelObjectiveQuery",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    targetThreshold: {
+        baseName: "target_threshold",
+        type: "number",
+        format: "double",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "Array",
+        required: true,
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOTimeframe",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOType",
+        required: true,
+    },
+    warningThreshold: {
+        baseName: "warning_threshold",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=ServiceLevelObjective.js.map
+
+/***/ }),
+
+/***/ 5191:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceLevelObjectiveQuery = void 0;
+/**
+ * A metric-based SLO. **Required if type is `metric`**. Note that Datadog only allows the sum by aggregator
+ * to be used because this will sum up all request counts instead of averaging them, or taking the max or
+ * min of all of those requests.
+ */
+class ServiceLevelObjectiveQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceLevelObjectiveQuery.attributeTypeMap;
+    }
+}
+exports.ServiceLevelObjectiveQuery = ServiceLevelObjectiveQuery;
+/**
+ * @ignore
+ */
+ServiceLevelObjectiveQuery.attributeTypeMap = {
+    denominator: {
+        baseName: "denominator",
+        type: "string",
+        required: true,
+    },
+    numerator: {
+        baseName: "numerator",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceLevelObjectiveQuery.js.map
+
+/***/ }),
+
+/***/ 44439:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceLevelObjectiveRequest = void 0;
+/**
+ * A service level objective object includes a service level indicator, thresholds
+ * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).
+ */
+class ServiceLevelObjectiveRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceLevelObjectiveRequest.attributeTypeMap;
+    }
+}
+exports.ServiceLevelObjectiveRequest = ServiceLevelObjectiveRequest;
+/**
+ * @ignore
+ */
+ServiceLevelObjectiveRequest.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    monitorIds: {
+        baseName: "monitor_ids",
+        type: "Array",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "ServiceLevelObjectiveQuery",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    targetThreshold: {
+        baseName: "target_threshold",
+        type: "number",
+        format: "double",
+    },
+    thresholds: {
+        baseName: "thresholds",
+        type: "Array",
+        required: true,
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "SLOTimeframe",
+    },
+    type: {
+        baseName: "type",
+        type: "SLOType",
+        required: true,
+    },
+    warningThreshold: {
+        baseName: "warning_threshold",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=ServiceLevelObjectiveRequest.js.map
+
+/***/ }),
+
+/***/ 37561:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceMapWidgetDefinition = void 0;
+/**
+ * This widget displays a map of a service to all of the services that call it, and all of the services that it calls.
+ */
+class ServiceMapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceMapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ServiceMapWidgetDefinition = ServiceMapWidgetDefinition;
+/**
+ * @ignore
+ */
+ServiceMapWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceMapWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceMapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 59134:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceSummaryWidgetDefinition = void 0;
+/**
+ * The service summary displays the graphs of a chosen service in your screenboard. Only available on FREE layout dashboards.
+ */
+class ServiceSummaryWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceSummaryWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ServiceSummaryWidgetDefinition = ServiceSummaryWidgetDefinition;
+/**
+ * @ignore
+ */
+ServiceSummaryWidgetDefinition.attributeTypeMap = {
+    displayFormat: {
+        baseName: "display_format",
+        type: "WidgetServiceSummaryDisplayFormat",
+    },
+    env: {
+        baseName: "env",
+        type: "string",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+        required: true,
+    },
+    showBreakdown: {
+        baseName: "show_breakdown",
+        type: "boolean",
+    },
+    showDistribution: {
+        baseName: "show_distribution",
+        type: "boolean",
+    },
+    showErrors: {
+        baseName: "show_errors",
+        type: "boolean",
+    },
+    showHits: {
+        baseName: "show_hits",
+        type: "boolean",
+    },
+    showLatency: {
+        baseName: "show_latency",
+        type: "boolean",
+    },
+    showResourceList: {
+        baseName: "show_resource_list",
+        type: "boolean",
+    },
+    sizeFormat: {
+        baseName: "size_format",
+        type: "WidgetSizeFormat",
+    },
+    spanName: {
+        baseName: "span_name",
+        type: "string",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceSummaryWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceSummaryWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 97892:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboard = void 0;
+/**
+ * The metadata object associated with how a dashboard has been/will be shared.
+ */
+class SharedDashboard {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboard.attributeTypeMap;
+    }
+}
+exports.SharedDashboard = SharedDashboard;
+/**
+ * @ignore
+ */
+SharedDashboard.attributeTypeMap = {
+    author: {
+        baseName: "author",
+        type: "SharedDashboardAuthor",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    dashboardId: {
+        baseName: "dashboard_id",
+        type: "string",
+        required: true,
+    },
+    dashboardType: {
+        baseName: "dashboard_type",
+        type: "DashboardType",
+        required: true,
+    },
+    globalTime: {
+        baseName: "global_time",
+        type: "DashboardGlobalTime",
+    },
+    globalTimeSelectableEnabled: {
+        baseName: "global_time_selectable_enabled",
+        type: "boolean",
+    },
+    publicUrl: {
+        baseName: "public_url",
+        type: "string",
+    },
+    selectableTemplateVars: {
+        baseName: "selectable_template_vars",
+        type: "Array",
+    },
+    shareList: {
+        baseName: "share_list",
+        type: "Array",
+        format: "email",
+    },
+    shareType: {
+        baseName: "share_type",
+        type: "DashboardShareType",
+    },
+    token: {
+        baseName: "token",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SharedDashboard.js.map
+
+/***/ }),
+
+/***/ 25632:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardAuthor = void 0;
+/**
+ * User who shared the dashboard.
+ */
+class SharedDashboardAuthor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardAuthor.attributeTypeMap;
+    }
+}
+exports.SharedDashboardAuthor = SharedDashboardAuthor;
+/**
+ * @ignore
+ */
+SharedDashboardAuthor.attributeTypeMap = {
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SharedDashboardAuthor.js.map
+
+/***/ }),
+
+/***/ 14044:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardInvites = void 0;
+/**
+ * Invitations data and metadata that exists for a shared dashboard returned by the API.
+ */
+class SharedDashboardInvites {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardInvites.attributeTypeMap;
+    }
+}
+exports.SharedDashboardInvites = SharedDashboardInvites;
+/**
+ * @ignore
+ */
+SharedDashboardInvites.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SharedDashboardInvitesData",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "SharedDashboardInvitesMeta",
+    },
+};
+//# sourceMappingURL=SharedDashboardInvites.js.map
+
+/***/ }),
+
+/***/ 36162:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardInvitesDataObject = void 0;
+/**
+ * Object containing the information for an invitation to a shared dashboard.
+ */
+class SharedDashboardInvitesDataObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardInvitesDataObject.attributeTypeMap;
+    }
+}
+exports.SharedDashboardInvitesDataObject = SharedDashboardInvitesDataObject;
+/**
+ * @ignore
+ */
+SharedDashboardInvitesDataObject.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SharedDashboardInvitesDataObjectAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DashboardInviteType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SharedDashboardInvitesDataObject.js.map
+
+/***/ }),
+
+/***/ 72732:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardInvitesDataObjectAttributes = void 0;
+/**
+ * Attributes of the shared dashboard invitation
+ */
+class SharedDashboardInvitesDataObjectAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardInvitesDataObjectAttributes.attributeTypeMap;
+    }
+}
+exports.SharedDashboardInvitesDataObjectAttributes = SharedDashboardInvitesDataObjectAttributes;
+/**
+ * @ignore
+ */
+SharedDashboardInvitesDataObjectAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    hasSession: {
+        baseName: "has_session",
+        type: "boolean",
+    },
+    invitationExpiry: {
+        baseName: "invitation_expiry",
+        type: "Date",
+        format: "date-time",
+    },
+    sessionExpiry: {
+        baseName: "session_expiry",
+        type: "Date",
+        format: "date-time",
+    },
+    shareToken: {
+        baseName: "share_token",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SharedDashboardInvitesDataObjectAttributes.js.map
+
+/***/ }),
+
+/***/ 25298:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardInvitesMeta = void 0;
+/**
+ * Pagination metadata returned by the API.
+ */
+class SharedDashboardInvitesMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardInvitesMeta.attributeTypeMap;
+    }
+}
+exports.SharedDashboardInvitesMeta = SharedDashboardInvitesMeta;
+/**
+ * @ignore
+ */
+SharedDashboardInvitesMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "SharedDashboardInvitesMetaPage",
+    },
+};
+//# sourceMappingURL=SharedDashboardInvitesMeta.js.map
+
+/***/ }),
+
+/***/ 28552:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardInvitesMetaPage = void 0;
+/**
+ * Object containing the total count of invitations across all pages
+ */
+class SharedDashboardInvitesMetaPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardInvitesMetaPage.attributeTypeMap;
+    }
+}
+exports.SharedDashboardInvitesMetaPage = SharedDashboardInvitesMetaPage;
+/**
+ * @ignore
+ */
+SharedDashboardInvitesMetaPage.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SharedDashboardInvitesMetaPage.js.map
+
+/***/ }),
+
+/***/ 81780:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardUpdateRequest = void 0;
+/**
+ * Update a shared dashboard's settings.
+ */
+class SharedDashboardUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SharedDashboardUpdateRequest = SharedDashboardUpdateRequest;
+/**
+ * @ignore
+ */
+SharedDashboardUpdateRequest.attributeTypeMap = {
+    globalTime: {
+        baseName: "global_time",
+        type: "SharedDashboardUpdateRequestGlobalTime",
+        required: true,
+    },
+    globalTimeSelectableEnabled: {
+        baseName: "global_time_selectable_enabled",
+        type: "boolean",
+    },
+    selectableTemplateVars: {
+        baseName: "selectable_template_vars",
+        type: "Array",
+    },
+    shareList: {
+        baseName: "share_list",
+        type: "Array",
+        format: "email",
+    },
+    shareType: {
+        baseName: "share_type",
+        type: "DashboardShareType",
+    },
+};
+//# sourceMappingURL=SharedDashboardUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 45940:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SharedDashboardUpdateRequestGlobalTime = void 0;
+/**
+ * Timeframe setting for the shared dashboard.
+ */
+class SharedDashboardUpdateRequestGlobalTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SharedDashboardUpdateRequestGlobalTime.attributeTypeMap;
+    }
+}
+exports.SharedDashboardUpdateRequestGlobalTime = SharedDashboardUpdateRequestGlobalTime;
+/**
+ * @ignore
+ */
+SharedDashboardUpdateRequestGlobalTime.attributeTypeMap = {
+    liveSpan: {
+        baseName: "live_span",
+        type: "DashboardGlobalTimeLiveSpan",
+    },
+};
+//# sourceMappingURL=SharedDashboardUpdateRequestGlobalTime.js.map
+
+/***/ }),
+
+/***/ 32606:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SignalAssigneeUpdateRequest = void 0;
+/**
+ * Attributes describing an assignee update operation over a security signal.
+ */
+class SignalAssigneeUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SignalAssigneeUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SignalAssigneeUpdateRequest = SignalAssigneeUpdateRequest;
+/**
+ * @ignore
+ */
+SignalAssigneeUpdateRequest.attributeTypeMap = {
+    assignee: {
+        baseName: "assignee",
+        type: "string",
+        required: true,
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SignalAssigneeUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 98019:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SignalStateUpdateRequest = void 0;
+/**
+ * Attributes describing the change of state for a given state.
+ */
+class SignalStateUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SignalStateUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SignalStateUpdateRequest = SignalStateUpdateRequest;
+/**
+ * @ignore
+ */
+SignalStateUpdateRequest.attributeTypeMap = {
+    archiveComment: {
+        baseName: "archiveComment",
+        type: "string",
+    },
+    archiveReason: {
+        baseName: "archiveReason",
+        type: "SignalArchiveReason",
+    },
+    state: {
+        baseName: "state",
+        type: "SignalTriageState",
+        required: true,
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SignalStateUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 31563:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SlackIntegrationChannel = void 0;
+/**
+ * The Slack channel configuration.
+ */
+class SlackIntegrationChannel {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SlackIntegrationChannel.attributeTypeMap;
+    }
+}
+exports.SlackIntegrationChannel = SlackIntegrationChannel;
+/**
+ * @ignore
+ */
+SlackIntegrationChannel.attributeTypeMap = {
+    display: {
+        baseName: "display",
+        type: "SlackIntegrationChannelDisplay",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SlackIntegrationChannel.js.map
+
+/***/ }),
+
+/***/ 98371:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SlackIntegrationChannelDisplay = void 0;
+/**
+ * Configuration options for what is shown in an alert event message.
+ */
+class SlackIntegrationChannelDisplay {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SlackIntegrationChannelDisplay.attributeTypeMap;
+    }
+}
+exports.SlackIntegrationChannelDisplay = SlackIntegrationChannelDisplay;
+/**
+ * @ignore
+ */
+SlackIntegrationChannelDisplay.attributeTypeMap = {
+    message: {
+        baseName: "message",
+        type: "boolean",
+    },
+    notified: {
+        baseName: "notified",
+        type: "boolean",
+    },
+    snapshot: {
+        baseName: "snapshot",
+        type: "boolean",
+    },
+    tags: {
+        baseName: "tags",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=SlackIntegrationChannelDisplay.js.map
+
+/***/ }),
+
+/***/ 64039:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SuccessfulSignalUpdateResponse = void 0;
+/**
+ * Updated signal data following a successfully performed update.
+ */
+class SuccessfulSignalUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SuccessfulSignalUpdateResponse.attributeTypeMap;
+    }
+}
+exports.SuccessfulSignalUpdateResponse = SuccessfulSignalUpdateResponse;
+/**
+ * @ignore
+ */
+SuccessfulSignalUpdateResponse.attributeTypeMap = {
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SuccessfulSignalUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 68486:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SunburstWidgetDefinition = void 0;
+/**
+ * Sunbursts are spot on to highlight how groups contribute to the total of a query.
+ */
+class SunburstWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SunburstWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.SunburstWidgetDefinition = SunburstWidgetDefinition;
+/**
+ * @ignore
+ */
+SunburstWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    hideTotal: {
+        baseName: "hide_total",
+        type: "boolean",
+    },
+    legend: {
+        baseName: "legend",
+        type: "SunburstWidgetLegend",
+    },
+    requests: {
+        baseName: "requests",
+        type: "Array",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SunburstWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SunburstWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 7705:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SunburstWidgetLegendInlineAutomatic = void 0;
+/**
+ * Configuration of inline or automatic legends.
+ */
+class SunburstWidgetLegendInlineAutomatic {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SunburstWidgetLegendInlineAutomatic.attributeTypeMap;
+    }
+}
+exports.SunburstWidgetLegendInlineAutomatic = SunburstWidgetLegendInlineAutomatic;
+/**
+ * @ignore
+ */
+SunburstWidgetLegendInlineAutomatic.attributeTypeMap = {
+    hidePercent: {
+        baseName: "hide_percent",
+        type: "boolean",
+    },
+    hideValue: {
+        baseName: "hide_value",
+        type: "boolean",
+    },
+    type: {
+        baseName: "type",
+        type: "SunburstWidgetLegendInlineAutomaticType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SunburstWidgetLegendInlineAutomatic.js.map
+
+/***/ }),
+
+/***/ 89188:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SunburstWidgetLegendTable = void 0;
+/**
+ * Configuration of table-based legend.
+ */
+class SunburstWidgetLegendTable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SunburstWidgetLegendTable.attributeTypeMap;
+    }
+}
+exports.SunburstWidgetLegendTable = SunburstWidgetLegendTable;
+/**
+ * @ignore
+ */
+SunburstWidgetLegendTable.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "SunburstWidgetLegendTableType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SunburstWidgetLegendTable.js.map
+
+/***/ }),
+
+/***/ 26328:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SunburstWidgetRequest = void 0;
+/**
+ * Request definition of sunburst widget.
+ */
+class SunburstWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SunburstWidgetRequest.attributeTypeMap;
+    }
+}
+exports.SunburstWidgetRequest = SunburstWidgetRequest;
+/**
+ * @ignore
+ */
+SunburstWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    auditQuery: {
+        baseName: "audit_query",
+        type: "LogQueryDefinition",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetStyle",
+    },
+};
+//# sourceMappingURL=SunburstWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 97030:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPIStep = void 0;
+/**
+ * The steps used in a Synthetic multistep API test.
+ */
+class SyntheticsAPIStep {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPIStep.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPIStep = SyntheticsAPIStep;
+/**
+ * @ignore
+ */
+SyntheticsAPIStep.attributeTypeMap = {
+    allowFailure: {
+        baseName: "allowFailure",
+        type: "boolean",
+    },
+    assertions: {
+        baseName: "assertions",
+        type: "Array",
+        required: true,
+    },
+    extractedValues: {
+        baseName: "extractedValues",
+        type: "Array",
+    },
+    isCritical: {
+        baseName: "isCritical",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    request: {
+        baseName: "request",
+        type: "SyntheticsTestRequest",
+        required: true,
+    },
+    retry: {
+        baseName: "retry",
+        type: "SyntheticsTestOptionsRetry",
+    },
+    subtype: {
+        baseName: "subtype",
+        type: "SyntheticsAPIStepSubtype",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAPIStep.js.map
+
+/***/ }),
+
+/***/ 46159:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITest = void 0;
+/**
+ * Object containing details about a Synthetic API test.
+ */
+class SyntheticsAPITest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITest.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITest = SyntheticsAPITest;
+/**
+ * @ignore
+ */
+SyntheticsAPITest.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "SyntheticsAPITestConfig",
+        required: true,
+    },
+    locations: {
+        baseName: "locations",
+        type: "Array",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    options: {
+        baseName: "options",
+        type: "SyntheticsTestOptions",
+        required: true,
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestPauseStatus",
+    },
+    subtype: {
+        baseName: "subtype",
+        type: "SyntheticsTestDetailsSubType",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsAPITestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAPITest.js.map
+
+/***/ }),
+
+/***/ 52924:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestConfig = void 0;
+/**
+ * Configuration object for a Synthetic API test.
+ */
+class SyntheticsAPITestConfig {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestConfig.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestConfig = SyntheticsAPITestConfig;
+/**
+ * @ignore
+ */
+SyntheticsAPITestConfig.attributeTypeMap = {
+    assertions: {
+        baseName: "assertions",
+        type: "Array",
+    },
+    configVariables: {
+        baseName: "configVariables",
+        type: "Array",
+    },
+    request: {
+        baseName: "request",
+        type: "SyntheticsTestRequest",
+    },
+    steps: {
+        baseName: "steps",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestConfig.js.map
+
+/***/ }),
+
+/***/ 38006:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestResultData = void 0;
+/**
+ * Object containing results for your Synthetic API test.
+ */
+class SyntheticsAPITestResultData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestResultData.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestResultData = SyntheticsAPITestResultData;
+/**
+ * @ignore
+ */
+SyntheticsAPITestResultData.attributeTypeMap = {
+    cert: {
+        baseName: "cert",
+        type: "SyntheticsSSLCertificate",
+    },
+    eventType: {
+        baseName: "eventType",
+        type: "SyntheticsTestProcessStatus",
+    },
+    failure: {
+        baseName: "failure",
+        type: "SyntheticsApiTestResultFailure",
+    },
+    httpStatusCode: {
+        baseName: "httpStatusCode",
+        type: "number",
+        format: "int64",
+    },
+    requestHeaders: {
+        baseName: "requestHeaders",
+        type: "{ [key: string]: any; }",
+    },
+    responseBody: {
+        baseName: "responseBody",
+        type: "string",
+    },
+    responseHeaders: {
+        baseName: "responseHeaders",
+        type: "{ [key: string]: any; }",
+    },
+    responseSize: {
+        baseName: "responseSize",
+        type: "number",
+        format: "int64",
+    },
+    timings: {
+        baseName: "timings",
+        type: "SyntheticsTiming",
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestResultData.js.map
+
+/***/ }),
+
+/***/ 60433:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestResultFull = void 0;
+/**
+ * Object returned describing a API test result.
+ */
+class SyntheticsAPITestResultFull {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestResultFull.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestResultFull = SyntheticsAPITestResultFull;
+/**
+ * @ignore
+ */
+SyntheticsAPITestResultFull.attributeTypeMap = {
+    check: {
+        baseName: "check",
+        type: "SyntheticsAPITestResultFullCheck",
+    },
+    checkTime: {
+        baseName: "check_time",
+        type: "number",
+        format: "double",
+    },
+    checkVersion: {
+        baseName: "check_version",
+        type: "number",
+        format: "int64",
+    },
+    probeDc: {
+        baseName: "probe_dc",
+        type: "string",
+    },
+    result: {
+        baseName: "result",
+        type: "SyntheticsAPITestResultData",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestMonitorStatus",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestResultFull.js.map
+
+/***/ }),
+
+/***/ 40826:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestResultFullCheck = void 0;
+/**
+ * Object describing the API test configuration.
+ */
+class SyntheticsAPITestResultFullCheck {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestResultFullCheck.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestResultFullCheck = SyntheticsAPITestResultFullCheck;
+/**
+ * @ignore
+ */
+SyntheticsAPITestResultFullCheck.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "SyntheticsTestConfig",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestResultFullCheck.js.map
+
+/***/ }),
+
+/***/ 13639:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestResultShort = void 0;
+/**
+ * Object with the results of a single Synthetic API test.
+ */
+class SyntheticsAPITestResultShort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestResultShort.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestResultShort = SyntheticsAPITestResultShort;
+/**
+ * @ignore
+ */
+SyntheticsAPITestResultShort.attributeTypeMap = {
+    checkTime: {
+        baseName: "check_time",
+        type: "number",
+        format: "double",
+    },
+    probeDc: {
+        baseName: "probe_dc",
+        type: "string",
+    },
+    result: {
+        baseName: "result",
+        type: "SyntheticsAPITestResultShortResult",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestMonitorStatus",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestResultShort.js.map
+
+/***/ }),
+
+/***/ 83248:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAPITestResultShortResult = void 0;
+/**
+ * Result of the last API test run.
+ */
+class SyntheticsAPITestResultShortResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAPITestResultShortResult.attributeTypeMap;
+    }
+}
+exports.SyntheticsAPITestResultShortResult = SyntheticsAPITestResultShortResult;
+/**
+ * @ignore
+ */
+SyntheticsAPITestResultShortResult.attributeTypeMap = {
+    passed: {
+        baseName: "passed",
+        type: "boolean",
+    },
+    timings: {
+        baseName: "timings",
+        type: "SyntheticsTiming",
+    },
+};
+//# sourceMappingURL=SyntheticsAPITestResultShortResult.js.map
+
+/***/ }),
+
+/***/ 45200:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsApiTestResultFailure = void 0;
+/**
+ * The API test failure details.
+ */
+class SyntheticsApiTestResultFailure {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsApiTestResultFailure.attributeTypeMap;
+    }
+}
+exports.SyntheticsApiTestResultFailure = SyntheticsApiTestResultFailure;
+/**
+ * @ignore
+ */
+SyntheticsApiTestResultFailure.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "SyntheticsApiTestFailureCode",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsApiTestResultFailure.js.map
+
+/***/ }),
+
+/***/ 71070:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAssertionJSONPathTarget = void 0;
+/**
+ * An assertion for the `validatesJSONPath` operator.
+ */
+class SyntheticsAssertionJSONPathTarget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAssertionJSONPathTarget.attributeTypeMap;
+    }
+}
+exports.SyntheticsAssertionJSONPathTarget = SyntheticsAssertionJSONPathTarget;
+/**
+ * @ignore
+ */
+SyntheticsAssertionJSONPathTarget.attributeTypeMap = {
+    operator: {
+        baseName: "operator",
+        type: "SyntheticsAssertionJSONPathOperator",
+        required: true,
+    },
+    property: {
+        baseName: "property",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "SyntheticsAssertionJSONPathTargetTarget",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsAssertionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAssertionJSONPathTarget.js.map
+
+/***/ }),
+
+/***/ 80561:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAssertionJSONPathTargetTarget = void 0;
+/**
+ * Composed target for `validatesJSONPath` operator.
+ */
+class SyntheticsAssertionJSONPathTargetTarget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAssertionJSONPathTargetTarget.attributeTypeMap;
+    }
+}
+exports.SyntheticsAssertionJSONPathTargetTarget = SyntheticsAssertionJSONPathTargetTarget;
+/**
+ * @ignore
+ */
+SyntheticsAssertionJSONPathTargetTarget.attributeTypeMap = {
+    jsonPath: {
+        baseName: "jsonPath",
+        type: "string",
+    },
+    operator: {
+        baseName: "operator",
+        type: "string",
+    },
+    targetValue: {
+        baseName: "targetValue",
+        type: "any",
+    },
+};
+//# sourceMappingURL=SyntheticsAssertionJSONPathTargetTarget.js.map
+
+/***/ }),
+
+/***/ 91349:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAssertionTarget = void 0;
+/**
+ * An assertion which uses a simple target.
+ */
+class SyntheticsAssertionTarget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAssertionTarget.attributeTypeMap;
+    }
+}
+exports.SyntheticsAssertionTarget = SyntheticsAssertionTarget;
+/**
+ * @ignore
+ */
+SyntheticsAssertionTarget.attributeTypeMap = {
+    operator: {
+        baseName: "operator",
+        type: "SyntheticsAssertionOperator",
+        required: true,
+    },
+    property: {
+        baseName: "property",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "any",
+        required: true,
+    },
+    timingsScope: {
+        baseName: "timingsScope",
+        type: "SyntheticsAssertionTimingsScope",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsAssertionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAssertionTarget.js.map
+
+/***/ }),
+
+/***/ 39789:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAssertionXPathTarget = void 0;
+/**
+ * An assertion for the `validatesXPath` operator.
+ */
+class SyntheticsAssertionXPathTarget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAssertionXPathTarget.attributeTypeMap;
+    }
+}
+exports.SyntheticsAssertionXPathTarget = SyntheticsAssertionXPathTarget;
+/**
+ * @ignore
+ */
+SyntheticsAssertionXPathTarget.attributeTypeMap = {
+    operator: {
+        baseName: "operator",
+        type: "SyntheticsAssertionXPathOperator",
+        required: true,
+    },
+    property: {
+        baseName: "property",
+        type: "string",
+    },
+    target: {
+        baseName: "target",
+        type: "SyntheticsAssertionXPathTargetTarget",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsAssertionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsAssertionXPathTarget.js.map
+
+/***/ }),
+
+/***/ 69445:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsAssertionXPathTargetTarget = void 0;
+/**
+ * Composed target for `validatesXPath` operator.
+ */
+class SyntheticsAssertionXPathTargetTarget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsAssertionXPathTargetTarget.attributeTypeMap;
+    }
+}
+exports.SyntheticsAssertionXPathTargetTarget = SyntheticsAssertionXPathTargetTarget;
+/**
+ * @ignore
+ */
+SyntheticsAssertionXPathTargetTarget.attributeTypeMap = {
+    operator: {
+        baseName: "operator",
+        type: "string",
+    },
+    targetValue: {
+        baseName: "targetValue",
+        type: "any",
+    },
+    xPath: {
+        baseName: "xPath",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsAssertionXPathTargetTarget.js.map
+
+/***/ }),
+
+/***/ 79721:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthDigest = void 0;
+/**
+ * Object to handle digest authentication when performing the test.
+ */
+class SyntheticsBasicAuthDigest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthDigest.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthDigest = SyntheticsBasicAuthDigest;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthDigest.attributeTypeMap = {
+    password: {
+        baseName: "password",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthDigestType",
+    },
+    username: {
+        baseName: "username",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthDigest.js.map
+
+/***/ }),
+
+/***/ 38816:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthNTLM = void 0;
+/**
+ * Object to handle `NTLM` authentication when performing the test.
+ */
+class SyntheticsBasicAuthNTLM {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthNTLM.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthNTLM = SyntheticsBasicAuthNTLM;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthNTLM.attributeTypeMap = {
+    domain: {
+        baseName: "domain",
+        type: "string",
+    },
+    password: {
+        baseName: "password",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthNTLMType",
+        required: true,
+    },
+    username: {
+        baseName: "username",
+        type: "string",
+    },
+    workstation: {
+        baseName: "workstation",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthNTLM.js.map
+
+/***/ }),
+
+/***/ 54219:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthOauthClient = void 0;
+/**
+ * Object to handle `oauth client` authentication when performing the test.
+ */
+class SyntheticsBasicAuthOauthClient {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthOauthClient.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthOauthClient = SyntheticsBasicAuthOauthClient;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthOauthClient.attributeTypeMap = {
+    accessTokenUrl: {
+        baseName: "accessTokenUrl",
+        type: "string",
+        required: true,
+    },
+    audience: {
+        baseName: "audience",
+        type: "string",
+    },
+    clientId: {
+        baseName: "clientId",
+        type: "string",
+        required: true,
+    },
+    clientSecret: {
+        baseName: "clientSecret",
+        type: "string",
+        required: true,
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    tokenApiAuthentication: {
+        baseName: "tokenApiAuthentication",
+        type: "SyntheticsBasicAuthOauthTokenApiAuthentication",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthOauthClientType",
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthOauthClient.js.map
+
+/***/ }),
+
+/***/ 99940:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthOauthROP = void 0;
+/**
+ * Object to handle `oauth rop` authentication when performing the test.
+ */
+class SyntheticsBasicAuthOauthROP {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthOauthROP.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthOauthROP = SyntheticsBasicAuthOauthROP;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthOauthROP.attributeTypeMap = {
+    accessTokenUrl: {
+        baseName: "accessTokenUrl",
+        type: "string",
+        required: true,
+    },
+    audience: {
+        baseName: "audience",
+        type: "string",
+    },
+    clientId: {
+        baseName: "clientId",
+        type: "string",
+    },
+    clientSecret: {
+        baseName: "clientSecret",
+        type: "string",
+    },
+    password: {
+        baseName: "password",
+        type: "string",
+        required: true,
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    tokenApiAuthentication: {
+        baseName: "tokenApiAuthentication",
+        type: "SyntheticsBasicAuthOauthTokenApiAuthentication",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthOauthROPType",
+    },
+    username: {
+        baseName: "username",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthOauthROP.js.map
+
+/***/ }),
+
+/***/ 60321:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthSigv4 = void 0;
+/**
+ * Object to handle `SIGV4` authentication when performing the test.
+ */
+class SyntheticsBasicAuthSigv4 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthSigv4.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthSigv4 = SyntheticsBasicAuthSigv4;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthSigv4.attributeTypeMap = {
+    accessKey: {
+        baseName: "accessKey",
+        type: "string",
+        required: true,
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    secretKey: {
+        baseName: "secretKey",
+        type: "string",
+        required: true,
+    },
+    serviceName: {
+        baseName: "serviceName",
+        type: "string",
+    },
+    sessionToken: {
+        baseName: "sessionToken",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthSigv4Type",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthSigv4.js.map
+
+/***/ }),
+
+/***/ 19702:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBasicAuthWeb = void 0;
+/**
+ * Object to handle basic authentication when performing the test.
+ */
+class SyntheticsBasicAuthWeb {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBasicAuthWeb.attributeTypeMap;
+    }
+}
+exports.SyntheticsBasicAuthWeb = SyntheticsBasicAuthWeb;
+/**
+ * @ignore
+ */
+SyntheticsBasicAuthWeb.attributeTypeMap = {
+    password: {
+        baseName: "password",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBasicAuthWebType",
+    },
+    username: {
+        baseName: "username",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBasicAuthWeb.js.map
+
+/***/ }),
+
+/***/ 47359:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBatchDetails = void 0;
+/**
+ * Details about a batch response.
+ */
+class SyntheticsBatchDetails {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBatchDetails.attributeTypeMap;
+    }
+}
+exports.SyntheticsBatchDetails = SyntheticsBatchDetails;
+/**
+ * @ignore
+ */
+SyntheticsBatchDetails.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SyntheticsBatchDetailsData",
+    },
+};
+//# sourceMappingURL=SyntheticsBatchDetails.js.map
+
+/***/ }),
+
+/***/ 84899:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBatchDetailsData = void 0;
+/**
+ * Wrapper object that contains the details of a batch.
+ */
+class SyntheticsBatchDetailsData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBatchDetailsData.attributeTypeMap;
+    }
+}
+exports.SyntheticsBatchDetailsData = SyntheticsBatchDetailsData;
+/**
+ * @ignore
+ */
+SyntheticsBatchDetailsData.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "SyntheticsCIBatchMetadata",
+    },
+    results: {
+        baseName: "results",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsStatus",
+    },
+};
+//# sourceMappingURL=SyntheticsBatchDetailsData.js.map
+
+/***/ }),
+
+/***/ 87571:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBatchResult = void 0;
+/**
+ * Object with the results of a Synthetic batch.
+ */
+class SyntheticsBatchResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBatchResult.attributeTypeMap;
+    }
+}
+exports.SyntheticsBatchResult = SyntheticsBatchResult;
+/**
+ * @ignore
+ */
+SyntheticsBatchResult.attributeTypeMap = {
+    device: {
+        baseName: "device",
+        type: "SyntheticsDeviceID",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "double",
+    },
+    executionRule: {
+        baseName: "execution_rule",
+        type: "SyntheticsTestExecutionRule",
+    },
+    location: {
+        baseName: "location",
+        type: "string",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+    retries: {
+        baseName: "retries",
+        type: "number",
+        format: "double",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsStatus",
+    },
+    testName: {
+        baseName: "test_name",
+        type: "string",
+    },
+    testPublicId: {
+        baseName: "test_public_id",
+        type: "string",
+    },
+    testType: {
+        baseName: "test_type",
+        type: "SyntheticsTestDetailsType",
+    },
+};
+//# sourceMappingURL=SyntheticsBatchResult.js.map
+
+/***/ }),
+
+/***/ 36673:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserError = void 0;
+/**
+ * Error response object for a browser test.
+ */
+class SyntheticsBrowserError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserError.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserError = SyntheticsBrowserError;
+/**
+ * @ignore
+ */
+SyntheticsBrowserError.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBrowserErrorType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserError.js.map
+
+/***/ }),
+
+/***/ 64540:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTest = void 0;
+/**
+ * Object containing details about a Synthetic browser test.
+ */
+class SyntheticsBrowserTest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTest.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTest = SyntheticsBrowserTest;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTest.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "SyntheticsBrowserTestConfig",
+        required: true,
+    },
+    locations: {
+        baseName: "locations",
+        type: "Array",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    options: {
+        baseName: "options",
+        type: "SyntheticsTestOptions",
+        required: true,
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestPauseStatus",
+    },
+    steps: {
+        baseName: "steps",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBrowserTestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTest.js.map
+
+/***/ }),
+
+/***/ 18570:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestConfig = void 0;
+/**
+ * Configuration object for a Synthetic browser test.
+ */
+class SyntheticsBrowserTestConfig {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestConfig.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestConfig = SyntheticsBrowserTestConfig;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestConfig.attributeTypeMap = {
+    assertions: {
+        baseName: "assertions",
+        type: "Array",
+        required: true,
+    },
+    configVariables: {
+        baseName: "configVariables",
+        type: "Array",
+    },
+    request: {
+        baseName: "request",
+        type: "SyntheticsTestRequest",
+        required: true,
+    },
+    setCookie: {
+        baseName: "setCookie",
+        type: "string",
+    },
+    variables: {
+        baseName: "variables",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestConfig.js.map
+
+/***/ }),
+
+/***/ 82374:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultData = void 0;
+/**
+ * Object containing results for your Synthetic browser test.
+ */
+class SyntheticsBrowserTestResultData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultData.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultData = SyntheticsBrowserTestResultData;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultData.attributeTypeMap = {
+    browserType: {
+        baseName: "browserType",
+        type: "string",
+    },
+    browserVersion: {
+        baseName: "browserVersion",
+        type: "string",
+    },
+    device: {
+        baseName: "device",
+        type: "SyntheticsDevice",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "double",
+    },
+    error: {
+        baseName: "error",
+        type: "string",
+    },
+    failure: {
+        baseName: "failure",
+        type: "SyntheticsBrowserTestResultFailure",
+    },
+    passed: {
+        baseName: "passed",
+        type: "boolean",
+    },
+    receivedEmailCount: {
+        baseName: "receivedEmailCount",
+        type: "number",
+        format: "int64",
+    },
+    startUrl: {
+        baseName: "startUrl",
+        type: "string",
+    },
+    stepDetails: {
+        baseName: "stepDetails",
+        type: "Array",
+    },
+    thumbnailsBucketKey: {
+        baseName: "thumbnailsBucketKey",
+        type: "boolean",
+    },
+    timeToInteractive: {
+        baseName: "timeToInteractive",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultData.js.map
+
+/***/ }),
+
+/***/ 45294:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultFailure = void 0;
+/**
+ * The browser test failure details.
+ */
+class SyntheticsBrowserTestResultFailure {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultFailure.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultFailure = SyntheticsBrowserTestResultFailure;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultFailure.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "SyntheticsBrowserTestFailureCode",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultFailure.js.map
+
+/***/ }),
+
+/***/ 12064:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultFull = void 0;
+/**
+ * Object returned describing a browser test result.
+ */
+class SyntheticsBrowserTestResultFull {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultFull.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultFull = SyntheticsBrowserTestResultFull;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultFull.attributeTypeMap = {
+    check: {
+        baseName: "check",
+        type: "SyntheticsBrowserTestResultFullCheck",
+    },
+    checkTime: {
+        baseName: "check_time",
+        type: "number",
+        format: "double",
+    },
+    checkVersion: {
+        baseName: "check_version",
+        type: "number",
+        format: "int64",
+    },
+    probeDc: {
+        baseName: "probe_dc",
+        type: "string",
+    },
+    result: {
+        baseName: "result",
+        type: "SyntheticsBrowserTestResultData",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestMonitorStatus",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultFull.js.map
+
+/***/ }),
+
+/***/ 64678:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultFullCheck = void 0;
+/**
+ * Object describing the browser test configuration.
+ */
+class SyntheticsBrowserTestResultFullCheck {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultFullCheck.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultFullCheck = SyntheticsBrowserTestResultFullCheck;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultFullCheck.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "SyntheticsTestConfig",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultFullCheck.js.map
+
+/***/ }),
+
+/***/ 93784:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultShort = void 0;
+/**
+ * Object with the results of a single Synthetic browser test.
+ */
+class SyntheticsBrowserTestResultShort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultShort.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultShort = SyntheticsBrowserTestResultShort;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultShort.attributeTypeMap = {
+    checkTime: {
+        baseName: "check_time",
+        type: "number",
+        format: "double",
+    },
+    probeDc: {
+        baseName: "probe_dc",
+        type: "string",
+    },
+    result: {
+        baseName: "result",
+        type: "SyntheticsBrowserTestResultShortResult",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestMonitorStatus",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultShort.js.map
+
+/***/ }),
+
+/***/ 33513:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestResultShortResult = void 0;
+/**
+ * Object with the result of the last browser test run.
+ */
+class SyntheticsBrowserTestResultShortResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestResultShortResult.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestResultShortResult = SyntheticsBrowserTestResultShortResult;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestResultShortResult.attributeTypeMap = {
+    device: {
+        baseName: "device",
+        type: "SyntheticsDevice",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "double",
+    },
+    errorCount: {
+        baseName: "errorCount",
+        type: "number",
+        format: "int64",
+    },
+    stepCountCompleted: {
+        baseName: "stepCountCompleted",
+        type: "number",
+        format: "int64",
+    },
+    stepCountTotal: {
+        baseName: "stepCountTotal",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestResultShortResult.js.map
+
+/***/ }),
+
+/***/ 7864:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserTestRumSettings = void 0;
+/**
+ * The RUM data collection settings for the Synthetic browser test.
+ * **Note:** There are 3 ways to format RUM settings:
+ *
+ * `{ isEnabled: false }`
+ * RUM data is not collected.
+ *
+ * `{ isEnabled: true }`
+ * RUM data is collected from the Synthetic test's default application.
+ *
+ * `{ isEnabled: true, applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", clientTokenId: 12345 }`
+ * RUM data is collected using the specified application.
+ */
+class SyntheticsBrowserTestRumSettings {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserTestRumSettings.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserTestRumSettings = SyntheticsBrowserTestRumSettings;
+/**
+ * @ignore
+ */
+SyntheticsBrowserTestRumSettings.attributeTypeMap = {
+    applicationId: {
+        baseName: "applicationId",
+        type: "string",
+    },
+    clientTokenId: {
+        baseName: "clientTokenId",
+        type: "number",
+        format: "int64",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserTestRumSettings.js.map
+
+/***/ }),
+
+/***/ 96401:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsBrowserVariable = void 0;
+/**
+ * Object defining a variable that can be used in your browser test.
+ * See the [Recording Steps documentation](https://docs.datadoghq.com/synthetics/browser_tests/actions/?tab=testanelementontheactivepage#variables).
+ */
+class SyntheticsBrowserVariable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsBrowserVariable.attributeTypeMap;
+    }
+}
+exports.SyntheticsBrowserVariable = SyntheticsBrowserVariable;
+/**
+ * @ignore
+ */
+SyntheticsBrowserVariable.attributeTypeMap = {
+    example: {
+        baseName: "example",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    pattern: {
+        baseName: "pattern",
+        type: "string",
+    },
+    secure: {
+        baseName: "secure",
+        type: "boolean",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsBrowserVariableType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsBrowserVariable.js.map
+
+/***/ }),
+
+/***/ 82570:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCIBatchMetadata = void 0;
+/**
+ * Metadata for the Synthetic tests run.
+ */
+class SyntheticsCIBatchMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCIBatchMetadata.attributeTypeMap;
+    }
+}
+exports.SyntheticsCIBatchMetadata = SyntheticsCIBatchMetadata;
+/**
+ * @ignore
+ */
+SyntheticsCIBatchMetadata.attributeTypeMap = {
+    ci: {
+        baseName: "ci",
+        type: "SyntheticsCIBatchMetadataCI",
+    },
+    git: {
+        baseName: "git",
+        type: "SyntheticsCIBatchMetadataGit",
+    },
+};
+//# sourceMappingURL=SyntheticsCIBatchMetadata.js.map
+
+/***/ }),
+
+/***/ 90034:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCIBatchMetadataCI = void 0;
+/**
+ * Description of the CI provider.
+ */
+class SyntheticsCIBatchMetadataCI {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCIBatchMetadataCI.attributeTypeMap;
+    }
+}
+exports.SyntheticsCIBatchMetadataCI = SyntheticsCIBatchMetadataCI;
+/**
+ * @ignore
+ */
+SyntheticsCIBatchMetadataCI.attributeTypeMap = {
+    pipeline: {
+        baseName: "pipeline",
+        type: "SyntheticsCIBatchMetadataPipeline",
+    },
+    provider: {
+        baseName: "provider",
+        type: "SyntheticsCIBatchMetadataProvider",
+    },
+};
+//# sourceMappingURL=SyntheticsCIBatchMetadataCI.js.map
+
+/***/ }),
+
+/***/ 51162:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCIBatchMetadataGit = void 0;
+/**
+ * Git information.
+ */
+class SyntheticsCIBatchMetadataGit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCIBatchMetadataGit.attributeTypeMap;
+    }
+}
+exports.SyntheticsCIBatchMetadataGit = SyntheticsCIBatchMetadataGit;
+/**
+ * @ignore
+ */
+SyntheticsCIBatchMetadataGit.attributeTypeMap = {
+    branch: {
+        baseName: "branch",
+        type: "string",
+    },
+    commitSha: {
+        baseName: "commitSha",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsCIBatchMetadataGit.js.map
+
+/***/ }),
+
+/***/ 32818:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCIBatchMetadataPipeline = void 0;
+/**
+ * Description of the CI pipeline.
+ */
+class SyntheticsCIBatchMetadataPipeline {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCIBatchMetadataPipeline.attributeTypeMap;
+    }
+}
+exports.SyntheticsCIBatchMetadataPipeline = SyntheticsCIBatchMetadataPipeline;
+/**
+ * @ignore
+ */
+SyntheticsCIBatchMetadataPipeline.attributeTypeMap = {
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsCIBatchMetadataPipeline.js.map
+
+/***/ }),
+
+/***/ 2803:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCIBatchMetadataProvider = void 0;
+/**
+ * Description of the CI provider.
+ */
+class SyntheticsCIBatchMetadataProvider {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCIBatchMetadataProvider.attributeTypeMap;
+    }
+}
+exports.SyntheticsCIBatchMetadataProvider = SyntheticsCIBatchMetadataProvider;
+/**
+ * @ignore
+ */
+SyntheticsCIBatchMetadataProvider.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsCIBatchMetadataProvider.js.map
+
+/***/ }),
+
+/***/ 83795:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCITest = void 0;
+/**
+ * Configuration for Continuous Testing.
+ */
+class SyntheticsCITest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCITest.attributeTypeMap;
+    }
+}
+exports.SyntheticsCITest = SyntheticsCITest;
+/**
+ * @ignore
+ */
+SyntheticsCITest.attributeTypeMap = {
+    allowInsecureCertificates: {
+        baseName: "allowInsecureCertificates",
+        type: "boolean",
+    },
+    basicAuth: {
+        baseName: "basicAuth",
+        type: "SyntheticsBasicAuth",
+    },
+    body: {
+        baseName: "body",
+        type: "string",
+    },
+    bodyType: {
+        baseName: "bodyType",
+        type: "string",
+    },
+    cookies: {
+        baseName: "cookies",
+        type: "string",
+    },
+    deviceIds: {
+        baseName: "deviceIds",
+        type: "Array",
+    },
+    followRedirects: {
+        baseName: "followRedirects",
+        type: "boolean",
+    },
+    headers: {
+        baseName: "headers",
+        type: "{ [key: string]: string; }",
+    },
+    locations: {
+        baseName: "locations",
+        type: "Array",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "SyntheticsCIBatchMetadata",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+        required: true,
+    },
+    retry: {
+        baseName: "retry",
+        type: "SyntheticsTestOptionsRetry",
+    },
+    startUrl: {
+        baseName: "startUrl",
+        type: "string",
+    },
+    variables: {
+        baseName: "variables",
+        type: "{ [key: string]: string; }",
+    },
+};
+//# sourceMappingURL=SyntheticsCITest.js.map
+
+/***/ }),
+
+/***/ 76143:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCITestBody = void 0;
+/**
+ * Object describing the synthetics tests to trigger.
+ */
+class SyntheticsCITestBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCITestBody.attributeTypeMap;
+    }
+}
+exports.SyntheticsCITestBody = SyntheticsCITestBody;
+/**
+ * @ignore
+ */
+SyntheticsCITestBody.attributeTypeMap = {
+    tests: {
+        baseName: "tests",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsCITestBody.js.map
+
+/***/ }),
+
+/***/ 76194:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsConfigVariable = void 0;
+/**
+ * Object defining a variable that can be used in your test configuration.
+ */
+class SyntheticsConfigVariable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsConfigVariable.attributeTypeMap;
+    }
+}
+exports.SyntheticsConfigVariable = SyntheticsConfigVariable;
+/**
+ * @ignore
+ */
+SyntheticsConfigVariable.attributeTypeMap = {
+    example: {
+        baseName: "example",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    pattern: {
+        baseName: "pattern",
+        type: "string",
+    },
+    secure: {
+        baseName: "secure",
+        type: "boolean",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsConfigVariableType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsConfigVariable.js.map
+
+/***/ }),
+
+/***/ 51424:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsCoreWebVitals = void 0;
+/**
+ * Core Web Vitals attached to a browser test step.
+ */
+class SyntheticsCoreWebVitals {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsCoreWebVitals.attributeTypeMap;
+    }
+}
+exports.SyntheticsCoreWebVitals = SyntheticsCoreWebVitals;
+/**
+ * @ignore
+ */
+SyntheticsCoreWebVitals.attributeTypeMap = {
+    cls: {
+        baseName: "cls",
+        type: "number",
+        format: "double",
+    },
+    lcp: {
+        baseName: "lcp",
+        type: "number",
+        format: "double",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsCoreWebVitals.js.map
+
+/***/ }),
+
+/***/ 36679:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsDeleteTestsPayload = void 0;
+/**
+ * A JSON list of the ID or IDs of the Synthetic tests that you want
+ * to delete.
+ */
+class SyntheticsDeleteTestsPayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsDeleteTestsPayload.attributeTypeMap;
+    }
+}
+exports.SyntheticsDeleteTestsPayload = SyntheticsDeleteTestsPayload;
+/**
+ * @ignore
+ */
+SyntheticsDeleteTestsPayload.attributeTypeMap = {
+    publicIds: {
+        baseName: "public_ids",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsDeleteTestsPayload.js.map
+
+/***/ }),
+
+/***/ 37414:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsDeleteTestsResponse = void 0;
+/**
+ * Response object for deleting Synthetic tests.
+ */
+class SyntheticsDeleteTestsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsDeleteTestsResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsDeleteTestsResponse = SyntheticsDeleteTestsResponse;
+/**
+ * @ignore
+ */
+SyntheticsDeleteTestsResponse.attributeTypeMap = {
+    deletedTests: {
+        baseName: "deleted_tests",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsDeleteTestsResponse.js.map
+
+/***/ }),
+
+/***/ 72688:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsDeletedTest = void 0;
+/**
+ * Object containing a deleted Synthetic test ID with the associated
+ * deletion timestamp.
+ */
+class SyntheticsDeletedTest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsDeletedTest.attributeTypeMap;
+    }
+}
+exports.SyntheticsDeletedTest = SyntheticsDeletedTest;
+/**
+ * @ignore
+ */
+SyntheticsDeletedTest.attributeTypeMap = {
+    deletedAt: {
+        baseName: "deleted_at",
+        type: "Date",
+        format: "date-time",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsDeletedTest.js.map
+
+/***/ }),
+
+/***/ 54197:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsDevice = void 0;
+/**
+ * Object describing the device used to perform the Synthetic test.
+ */
+class SyntheticsDevice {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsDevice.attributeTypeMap;
+    }
+}
+exports.SyntheticsDevice = SyntheticsDevice;
+/**
+ * @ignore
+ */
+SyntheticsDevice.attributeTypeMap = {
+    height: {
+        baseName: "height",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "SyntheticsDeviceID",
+        required: true,
+    },
+    isMobile: {
+        baseName: "isMobile",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    width: {
+        baseName: "width",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsDevice.js.map
+
+/***/ }),
+
+/***/ 7483:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGetAPITestLatestResultsResponse = void 0;
+/**
+ * Object with the latest Synthetic API test run.
+ */
+class SyntheticsGetAPITestLatestResultsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGetAPITestLatestResultsResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsGetAPITestLatestResultsResponse = SyntheticsGetAPITestLatestResultsResponse;
+/**
+ * @ignore
+ */
+SyntheticsGetAPITestLatestResultsResponse.attributeTypeMap = {
+    lastTimestampFetched: {
+        baseName: "last_timestamp_fetched",
+        type: "number",
+        format: "int64",
+    },
+    results: {
+        baseName: "results",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsGetAPITestLatestResultsResponse.js.map
+
+/***/ }),
+
+/***/ 76953:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGetBrowserTestLatestResultsResponse = void 0;
+/**
+ * Object with the latest Synthetic browser test run.
+ */
+class SyntheticsGetBrowserTestLatestResultsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGetBrowserTestLatestResultsResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsGetBrowserTestLatestResultsResponse = SyntheticsGetBrowserTestLatestResultsResponse;
+/**
+ * @ignore
+ */
+SyntheticsGetBrowserTestLatestResultsResponse.attributeTypeMap = {
+    lastTimestampFetched: {
+        baseName: "last_timestamp_fetched",
+        type: "number",
+        format: "int64",
+    },
+    results: {
+        baseName: "results",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsGetBrowserTestLatestResultsResponse.js.map
+
+/***/ }),
+
+/***/ 15551:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariable = void 0;
+/**
+ * Synthetic global variable.
+ */
+class SyntheticsGlobalVariable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariable.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariable = SyntheticsGlobalVariable;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariable.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SyntheticsGlobalVariableAttributes",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    parseTestOptions: {
+        baseName: "parse_test_options",
+        type: "SyntheticsGlobalVariableParseTestOptions",
+    },
+    parseTestPublicId: {
+        baseName: "parse_test_public_id",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "SyntheticsGlobalVariableValue",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariable.js.map
+
+/***/ }),
+
+/***/ 62455:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariableAttributes = void 0;
+/**
+ * Attributes of the global variable.
+ */
+class SyntheticsGlobalVariableAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariableAttributes.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariableAttributes = SyntheticsGlobalVariableAttributes;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariableAttributes.attributeTypeMap = {
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariableAttributes.js.map
+
+/***/ }),
+
+/***/ 61453:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariableOptions = void 0;
+/**
+ * Options for the Global Variable for MFA.
+ */
+class SyntheticsGlobalVariableOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariableOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariableOptions = SyntheticsGlobalVariableOptions;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariableOptions.attributeTypeMap = {
+    totpParameters: {
+        baseName: "totp_parameters",
+        type: "SyntheticsGlobalVariableTOTPParameters",
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariableOptions.js.map
+
+/***/ }),
+
+/***/ 81407:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariableParseTestOptions = void 0;
+/**
+ * Parser options to use for retrieving a Synthetic global variable from a Synthetic test. Used in conjunction with `parse_test_public_id`.
+ */
+class SyntheticsGlobalVariableParseTestOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariableParseTestOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariableParseTestOptions = SyntheticsGlobalVariableParseTestOptions;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariableParseTestOptions.attributeTypeMap = {
+    field: {
+        baseName: "field",
+        type: "string",
+    },
+    localVariableName: {
+        baseName: "localVariableName",
+        type: "string",
+    },
+    parser: {
+        baseName: "parser",
+        type: "SyntheticsVariableParser",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsGlobalVariableParseTestOptionsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariableParseTestOptions.js.map
+
+/***/ }),
+
+/***/ 45438:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariableTOTPParameters = void 0;
+/**
+ * Parameters for the TOTP/MFA variable
+ */
+class SyntheticsGlobalVariableTOTPParameters {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariableTOTPParameters.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariableTOTPParameters = SyntheticsGlobalVariableTOTPParameters;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariableTOTPParameters.attributeTypeMap = {
+    digits: {
+        baseName: "digits",
+        type: "number",
+        format: "int32",
+    },
+    refreshInterval: {
+        baseName: "refresh_interval",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariableTOTPParameters.js.map
+
+/***/ }),
+
+/***/ 65653:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsGlobalVariableValue = void 0;
+/**
+ * Value of the global variable.
+ */
+class SyntheticsGlobalVariableValue {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsGlobalVariableValue.attributeTypeMap;
+    }
+}
+exports.SyntheticsGlobalVariableValue = SyntheticsGlobalVariableValue;
+/**
+ * @ignore
+ */
+SyntheticsGlobalVariableValue.attributeTypeMap = {
+    options: {
+        baseName: "options",
+        type: "SyntheticsGlobalVariableOptions",
+    },
+    secure: {
+        baseName: "secure",
+        type: "boolean",
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsGlobalVariableValue.js.map
+
+/***/ }),
+
+/***/ 27443:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsListGlobalVariablesResponse = void 0;
+/**
+ * Object containing an array of Synthetic global variables.
+ */
+class SyntheticsListGlobalVariablesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsListGlobalVariablesResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsListGlobalVariablesResponse = SyntheticsListGlobalVariablesResponse;
+/**
+ * @ignore
+ */
+SyntheticsListGlobalVariablesResponse.attributeTypeMap = {
+    variables: {
+        baseName: "variables",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsListGlobalVariablesResponse.js.map
+
+/***/ }),
+
+/***/ 37633:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsListTestsResponse = void 0;
+/**
+ * Object containing an array of Synthetic tests configuration.
+ */
+class SyntheticsListTestsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsListTestsResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsListTestsResponse = SyntheticsListTestsResponse;
+/**
+ * @ignore
+ */
+SyntheticsListTestsResponse.attributeTypeMap = {
+    tests: {
+        baseName: "tests",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsListTestsResponse.js.map
+
+/***/ }),
+
+/***/ 96831:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsLocation = void 0;
+/**
+ * Synthetic location that can be used when creating or editing a
+ * test.
+ */
+class SyntheticsLocation {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsLocation.attributeTypeMap;
+    }
+}
+exports.SyntheticsLocation = SyntheticsLocation;
+/**
+ * @ignore
+ */
+SyntheticsLocation.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsLocation.js.map
+
+/***/ }),
+
+/***/ 94037:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsLocations = void 0;
+/**
+ * List of Synthetic locations.
+ */
+class SyntheticsLocations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsLocations.attributeTypeMap;
+    }
+}
+exports.SyntheticsLocations = SyntheticsLocations;
+/**
+ * @ignore
+ */
+SyntheticsLocations.attributeTypeMap = {
+    locations: {
+        baseName: "locations",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsLocations.js.map
+
+/***/ }),
+
+/***/ 20707:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsParsingOptions = void 0;
+/**
+ * Parsing options for variables to extract.
+ */
+class SyntheticsParsingOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsParsingOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsParsingOptions = SyntheticsParsingOptions;
+/**
+ * @ignore
+ */
+SyntheticsParsingOptions.attributeTypeMap = {
+    field: {
+        baseName: "field",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    parser: {
+        baseName: "parser",
+        type: "SyntheticsVariableParser",
+    },
+    secure: {
+        baseName: "secure",
+        type: "boolean",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsGlobalVariableParseTestOptionsType",
+    },
+};
+//# sourceMappingURL=SyntheticsParsingOptions.js.map
+
+/***/ }),
+
+/***/ 37199:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocation = void 0;
+/**
+ * Object containing information about the private location to create.
+ */
+class SyntheticsPrivateLocation {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocation.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocation = SyntheticsPrivateLocation;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocation.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "SyntheticsPrivateLocationMetadata",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    secrets: {
+        baseName: "secrets",
+        type: "SyntheticsPrivateLocationSecrets",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocation.js.map
+
+/***/ }),
+
+/***/ 33061:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationCreationResponse = void 0;
+/**
+ * Object that contains the new private location, the public key for result encryption, and the configuration skeleton.
+ */
+class SyntheticsPrivateLocationCreationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationCreationResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationCreationResponse = SyntheticsPrivateLocationCreationResponse;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationCreationResponse.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "any",
+    },
+    privateLocation: {
+        baseName: "private_location",
+        type: "SyntheticsPrivateLocation",
+    },
+    resultEncryption: {
+        baseName: "result_encryption",
+        type: "SyntheticsPrivateLocationCreationResponseResultEncryption",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationCreationResponse.js.map
+
+/***/ }),
+
+/***/ 58243:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationCreationResponseResultEncryption = void 0;
+/**
+ * Public key for the result encryption.
+ */
+class SyntheticsPrivateLocationCreationResponseResultEncryption {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationCreationResponseResultEncryption.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationCreationResponseResultEncryption = SyntheticsPrivateLocationCreationResponseResultEncryption;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationCreationResponseResultEncryption.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationCreationResponseResultEncryption.js.map
+
+/***/ }),
+
+/***/ 44606:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationMetadata = void 0;
+/**
+ * Object containing metadata about the private location.
+ */
+class SyntheticsPrivateLocationMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationMetadata.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationMetadata = SyntheticsPrivateLocationMetadata;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationMetadata.attributeTypeMap = {
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationMetadata.js.map
+
+/***/ }),
+
+/***/ 92451:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationSecrets = void 0;
+/**
+ * Secrets for the private location. Only present in the response when creating the private location.
+ */
+class SyntheticsPrivateLocationSecrets {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationSecrets.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationSecrets = SyntheticsPrivateLocationSecrets;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationSecrets.attributeTypeMap = {
+    authentication: {
+        baseName: "authentication",
+        type: "SyntheticsPrivateLocationSecretsAuthentication",
+    },
+    configDecryption: {
+        baseName: "config_decryption",
+        type: "SyntheticsPrivateLocationSecretsConfigDecryption",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationSecrets.js.map
+
+/***/ }),
+
+/***/ 78590:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationSecretsAuthentication = void 0;
+/**
+ * Authentication part of the secrets.
+ */
+class SyntheticsPrivateLocationSecretsAuthentication {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationSecretsAuthentication.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationSecretsAuthentication = SyntheticsPrivateLocationSecretsAuthentication;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationSecretsAuthentication.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationSecretsAuthentication.js.map
+
+/***/ }),
+
+/***/ 11934:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsPrivateLocationSecretsConfigDecryption = void 0;
+/**
+ * Private key for the private location.
+ */
+class SyntheticsPrivateLocationSecretsConfigDecryption {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsPrivateLocationSecretsConfigDecryption.attributeTypeMap;
+    }
+}
+exports.SyntheticsPrivateLocationSecretsConfigDecryption = SyntheticsPrivateLocationSecretsConfigDecryption;
+/**
+ * @ignore
+ */
+SyntheticsPrivateLocationSecretsConfigDecryption.attributeTypeMap = {
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsPrivateLocationSecretsConfigDecryption.js.map
+
+/***/ }),
+
+/***/ 66202:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsSSLCertificate = void 0;
+/**
+ * Object describing the SSL certificate used for a Synthetic test.
+ */
+class SyntheticsSSLCertificate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsSSLCertificate.attributeTypeMap;
+    }
+}
+exports.SyntheticsSSLCertificate = SyntheticsSSLCertificate;
+/**
+ * @ignore
+ */
+SyntheticsSSLCertificate.attributeTypeMap = {
+    cipher: {
+        baseName: "cipher",
+        type: "string",
+    },
+    exponent: {
+        baseName: "exponent",
+        type: "number",
+        format: "double",
+    },
+    extKeyUsage: {
+        baseName: "extKeyUsage",
+        type: "Array",
+    },
+    fingerprint: {
+        baseName: "fingerprint",
+        type: "string",
+    },
+    fingerprint256: {
+        baseName: "fingerprint256",
+        type: "string",
+    },
+    issuer: {
+        baseName: "issuer",
+        type: "SyntheticsSSLCertificateIssuer",
+    },
+    modulus: {
+        baseName: "modulus",
+        type: "string",
+    },
+    protocol: {
+        baseName: "protocol",
+        type: "string",
+    },
+    serialNumber: {
+        baseName: "serialNumber",
+        type: "string",
+    },
+    subject: {
+        baseName: "subject",
+        type: "SyntheticsSSLCertificateSubject",
+    },
+    validFrom: {
+        baseName: "validFrom",
+        type: "Date",
+        format: "date-time",
+    },
+    validTo: {
+        baseName: "validTo",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=SyntheticsSSLCertificate.js.map
+
+/***/ }),
+
+/***/ 84876:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsSSLCertificateIssuer = void 0;
+/**
+ * Object describing the issuer of a SSL certificate.
+ */
+class SyntheticsSSLCertificateIssuer {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsSSLCertificateIssuer.attributeTypeMap;
+    }
+}
+exports.SyntheticsSSLCertificateIssuer = SyntheticsSSLCertificateIssuer;
+/**
+ * @ignore
+ */
+SyntheticsSSLCertificateIssuer.attributeTypeMap = {
+    C: {
+        baseName: "C",
+        type: "string",
+    },
+    CN: {
+        baseName: "CN",
+        type: "string",
+    },
+    L: {
+        baseName: "L",
+        type: "string",
+    },
+    O: {
+        baseName: "O",
+        type: "string",
+    },
+    OU: {
+        baseName: "OU",
+        type: "string",
+    },
+    ST: {
+        baseName: "ST",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsSSLCertificateIssuer.js.map
+
+/***/ }),
+
+/***/ 46231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsSSLCertificateSubject = void 0;
+/**
+ * Object describing the SSL certificate used for the test.
+ */
+class SyntheticsSSLCertificateSubject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsSSLCertificateSubject.attributeTypeMap;
+    }
+}
+exports.SyntheticsSSLCertificateSubject = SyntheticsSSLCertificateSubject;
+/**
+ * @ignore
+ */
+SyntheticsSSLCertificateSubject.attributeTypeMap = {
+    C: {
+        baseName: "C",
+        type: "string",
+    },
+    CN: {
+        baseName: "CN",
+        type: "string",
+    },
+    L: {
+        baseName: "L",
+        type: "string",
+    },
+    O: {
+        baseName: "O",
+        type: "string",
+    },
+    OU: {
+        baseName: "OU",
+        type: "string",
+    },
+    ST: {
+        baseName: "ST",
+        type: "string",
+    },
+    altName: {
+        baseName: "altName",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsSSLCertificateSubject.js.map
+
+/***/ }),
+
+/***/ 66112:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsStep = void 0;
+/**
+ * The steps used in a Synthetic browser test.
+ */
+class SyntheticsStep {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsStep.attributeTypeMap;
+    }
+}
+exports.SyntheticsStep = SyntheticsStep;
+/**
+ * @ignore
+ */
+SyntheticsStep.attributeTypeMap = {
+    allowFailure: {
+        baseName: "allowFailure",
+        type: "boolean",
+    },
+    isCritical: {
+        baseName: "isCritical",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    noScreenshot: {
+        baseName: "noScreenshot",
+        type: "boolean",
+    },
+    params: {
+        baseName: "params",
+        type: "any",
+    },
+    timeout: {
+        baseName: "timeout",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsStepType",
+    },
+};
+//# sourceMappingURL=SyntheticsStep.js.map
+
+/***/ }),
+
+/***/ 95801:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsStepDetail = void 0;
+/**
+ * Object describing a step for a Synthetic test.
+ */
+class SyntheticsStepDetail {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsStepDetail.attributeTypeMap;
+    }
+}
+exports.SyntheticsStepDetail = SyntheticsStepDetail;
+/**
+ * @ignore
+ */
+SyntheticsStepDetail.attributeTypeMap = {
+    browserErrors: {
+        baseName: "browserErrors",
+        type: "Array",
+    },
+    checkType: {
+        baseName: "checkType",
+        type: "SyntheticsCheckType",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "double",
+    },
+    error: {
+        baseName: "error",
+        type: "string",
+    },
+    playingTab: {
+        baseName: "playingTab",
+        type: "SyntheticsPlayingTab",
+        format: "int64",
+    },
+    screenshotBucketKey: {
+        baseName: "screenshotBucketKey",
+        type: "boolean",
+    },
+    skipped: {
+        baseName: "skipped",
+        type: "boolean",
+    },
+    snapshotBucketKey: {
+        baseName: "snapshotBucketKey",
+        type: "boolean",
+    },
+    stepId: {
+        baseName: "stepId",
+        type: "number",
+        format: "int64",
+    },
+    subTestStepDetails: {
+        baseName: "subTestStepDetails",
+        type: "Array",
+    },
+    timeToInteractive: {
+        baseName: "timeToInteractive",
+        type: "number",
+        format: "double",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsStepType",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "any",
+    },
+    vitalsMetrics: {
+        baseName: "vitalsMetrics",
+        type: "Array",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsStepDetail.js.map
+
+/***/ }),
+
+/***/ 53443:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsStepDetailWarning = void 0;
+/**
+ * Object collecting warnings for a given step.
+ */
+class SyntheticsStepDetailWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsStepDetailWarning.attributeTypeMap;
+    }
+}
+exports.SyntheticsStepDetailWarning = SyntheticsStepDetailWarning;
+/**
+ * @ignore
+ */
+SyntheticsStepDetailWarning.attributeTypeMap = {
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsWarningType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsStepDetailWarning.js.map
+
+/***/ }),
+
+/***/ 80395:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestCiOptions = void 0;
+/**
+ * CI/CD options for a Synthetic test.
+ */
+class SyntheticsTestCiOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestCiOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestCiOptions = SyntheticsTestCiOptions;
+/**
+ * @ignore
+ */
+SyntheticsTestCiOptions.attributeTypeMap = {
+    executionRule: {
+        baseName: "executionRule",
+        type: "SyntheticsTestExecutionRule",
+    },
+};
+//# sourceMappingURL=SyntheticsTestCiOptions.js.map
+
+/***/ }),
+
+/***/ 62286:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestConfig = void 0;
+/**
+ * Configuration object for a Synthetic test.
+ */
+class SyntheticsTestConfig {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestConfig.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestConfig = SyntheticsTestConfig;
+/**
+ * @ignore
+ */
+SyntheticsTestConfig.attributeTypeMap = {
+    assertions: {
+        baseName: "assertions",
+        type: "Array",
+    },
+    configVariables: {
+        baseName: "configVariables",
+        type: "Array",
+    },
+    request: {
+        baseName: "request",
+        type: "SyntheticsTestRequest",
+    },
+    variables: {
+        baseName: "variables",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsTestConfig.js.map
+
+/***/ }),
+
+/***/ 71820:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestDetails = void 0;
+/**
+ * Object containing details about your Synthetic test.
+ */
+class SyntheticsTestDetails {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestDetails.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestDetails = SyntheticsTestDetails;
+/**
+ * @ignore
+ */
+SyntheticsTestDetails.attributeTypeMap = {
+    config: {
+        baseName: "config",
+        type: "SyntheticsTestConfig",
+    },
+    creator: {
+        baseName: "creator",
+        type: "Creator",
+    },
+    locations: {
+        baseName: "locations",
+        type: "Array",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "SyntheticsTestOptions",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SyntheticsTestPauseStatus",
+    },
+    steps: {
+        baseName: "steps",
+        type: "Array",
+    },
+    subtype: {
+        baseName: "subtype",
+        type: "SyntheticsTestDetailsSubType",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SyntheticsTestDetailsType",
+    },
+};
+//# sourceMappingURL=SyntheticsTestDetails.js.map
+
+/***/ }),
+
+/***/ 42118:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestOptions = void 0;
+/**
+ * Object describing the extra options for a Synthetic test.
+ */
+class SyntheticsTestOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestOptions = SyntheticsTestOptions;
+/**
+ * @ignore
+ */
+SyntheticsTestOptions.attributeTypeMap = {
+    acceptSelfSigned: {
+        baseName: "accept_self_signed",
+        type: "boolean",
+    },
+    allowInsecure: {
+        baseName: "allow_insecure",
+        type: "boolean",
+    },
+    checkCertificateRevocation: {
+        baseName: "checkCertificateRevocation",
+        type: "boolean",
+    },
+    ci: {
+        baseName: "ci",
+        type: "SyntheticsTestCiOptions",
+    },
+    deviceIds: {
+        baseName: "device_ids",
+        type: "Array",
+    },
+    disableCors: {
+        baseName: "disableCors",
+        type: "boolean",
+    },
+    disableCsp: {
+        baseName: "disableCsp",
+        type: "boolean",
+    },
+    followRedirects: {
+        baseName: "follow_redirects",
+        type: "boolean",
+    },
+    httpVersion: {
+        baseName: "httpVersion",
+        type: "SyntheticsTestOptionsHTTPVersion",
+    },
+    ignoreServerCertificateError: {
+        baseName: "ignoreServerCertificateError",
+        type: "boolean",
+    },
+    initialNavigationTimeout: {
+        baseName: "initialNavigationTimeout",
+        type: "number",
+        format: "int64",
+    },
+    minFailureDuration: {
+        baseName: "min_failure_duration",
+        type: "number",
+        format: "int64",
+    },
+    minLocationFailed: {
+        baseName: "min_location_failed",
+        type: "number",
+        format: "int64",
+    },
+    monitorName: {
+        baseName: "monitor_name",
+        type: "string",
+    },
+    monitorOptions: {
+        baseName: "monitor_options",
+        type: "SyntheticsTestOptionsMonitorOptions",
+    },
+    monitorPriority: {
+        baseName: "monitor_priority",
+        type: "number",
+        format: "int32",
+    },
+    noScreenshot: {
+        baseName: "noScreenshot",
+        type: "boolean",
+    },
+    restrictedRoles: {
+        baseName: "restricted_roles",
+        type: "Array",
+    },
+    retry: {
+        baseName: "retry",
+        type: "SyntheticsTestOptionsRetry",
+    },
+    rumSettings: {
+        baseName: "rumSettings",
+        type: "SyntheticsBrowserTestRumSettings",
+    },
+    scheduling: {
+        baseName: "scheduling",
+        type: "SyntheticsTestOptionsScheduling",
+    },
+    tickEvery: {
+        baseName: "tick_every",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsTestOptions.js.map
+
+/***/ }),
+
+/***/ 41385:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestOptionsMonitorOptions = void 0;
+/**
+ * Object containing the options for a Synthetic test as a monitor
+ * (for example, renotification).
+ */
+class SyntheticsTestOptionsMonitorOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestOptionsMonitorOptions.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestOptionsMonitorOptions = SyntheticsTestOptionsMonitorOptions;
+/**
+ * @ignore
+ */
+SyntheticsTestOptionsMonitorOptions.attributeTypeMap = {
+    renotifyInterval: {
+        baseName: "renotify_interval",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SyntheticsTestOptionsMonitorOptions.js.map
+
+/***/ }),
+
+/***/ 79872:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestOptionsRetry = void 0;
+/**
+ * Object describing the retry strategy to apply to a Synthetic test.
+ */
+class SyntheticsTestOptionsRetry {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestOptionsRetry.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestOptionsRetry = SyntheticsTestOptionsRetry;
+/**
+ * @ignore
+ */
+SyntheticsTestOptionsRetry.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SyntheticsTestOptionsRetry.js.map
+
+/***/ }),
+
+/***/ 7146:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestOptionsScheduling = void 0;
+/**
+ * Object containing timeframes and timezone used for advanced scheduling.
+ */
+class SyntheticsTestOptionsScheduling {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestOptionsScheduling.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestOptionsScheduling = SyntheticsTestOptionsScheduling;
+/**
+ * @ignore
+ */
+SyntheticsTestOptionsScheduling.attributeTypeMap = {
+    timeframes: {
+        baseName: "timeframes",
+        type: "Array",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTestOptionsScheduling.js.map
+
+/***/ }),
+
+/***/ 77559:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestOptionsSchedulingTimeframe = void 0;
+/**
+ * Object describing a timeframe.
+ */
+class SyntheticsTestOptionsSchedulingTimeframe {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestOptionsSchedulingTimeframe.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestOptionsSchedulingTimeframe = SyntheticsTestOptionsSchedulingTimeframe;
+/**
+ * @ignore
+ */
+SyntheticsTestOptionsSchedulingTimeframe.attributeTypeMap = {
+    day: {
+        baseName: "day",
+        type: "number",
+        format: "int32",
+    },
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTestOptionsSchedulingTimeframe.js.map
+
+/***/ }),
+
+/***/ 36267:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestRequest = void 0;
+/**
+ * Object describing the Synthetic test request.
+ */
+class SyntheticsTestRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestRequest.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestRequest = SyntheticsTestRequest;
+/**
+ * @ignore
+ */
+SyntheticsTestRequest.attributeTypeMap = {
+    allowInsecure: {
+        baseName: "allow_insecure",
+        type: "boolean",
+    },
+    basicAuth: {
+        baseName: "basicAuth",
+        type: "SyntheticsBasicAuth",
+    },
+    body: {
+        baseName: "body",
+        type: "string",
+    },
+    bodyType: {
+        baseName: "bodyType",
+        type: "SyntheticsTestRequestBodyType",
+    },
+    callType: {
+        baseName: "callType",
+        type: "SyntheticsTestCallType",
+    },
+    certificate: {
+        baseName: "certificate",
+        type: "SyntheticsTestRequestCertificate",
+    },
+    certificateDomains: {
+        baseName: "certificateDomains",
+        type: "Array",
+    },
+    compressedJsonDescriptor: {
+        baseName: "compressedJsonDescriptor",
+        type: "string",
+    },
+    dnsServer: {
+        baseName: "dnsServer",
+        type: "string",
+    },
+    dnsServerPort: {
+        baseName: "dnsServerPort",
+        type: "number",
+        format: "int32",
+    },
+    followRedirects: {
+        baseName: "follow_redirects",
+        type: "boolean",
+    },
+    headers: {
+        baseName: "headers",
+        type: "{ [key: string]: string; }",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "{ [key: string]: string; }",
+    },
+    method: {
+        baseName: "method",
+        type: "string",
+    },
+    noSavingResponseBody: {
+        baseName: "noSavingResponseBody",
+        type: "boolean",
+    },
+    numberOfPackets: {
+        baseName: "numberOfPackets",
+        type: "number",
+        format: "int32",
+    },
+    persistCookies: {
+        baseName: "persistCookies",
+        type: "boolean",
+    },
+    port: {
+        baseName: "port",
+        type: "number",
+        format: "int64",
+    },
+    proxy: {
+        baseName: "proxy",
+        type: "SyntheticsTestRequestProxy",
+    },
+    query: {
+        baseName: "query",
+        type: "any",
+    },
+    servername: {
+        baseName: "servername",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    shouldTrackHops: {
+        baseName: "shouldTrackHops",
+        type: "boolean",
+    },
+    timeout: {
+        baseName: "timeout",
+        type: "number",
+        format: "double",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTestRequest.js.map
+
+/***/ }),
+
+/***/ 21604:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestRequestCertificate = void 0;
+/**
+ * Client certificate to use when performing the test request.
+ */
+class SyntheticsTestRequestCertificate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestRequestCertificate.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestRequestCertificate = SyntheticsTestRequestCertificate;
+/**
+ * @ignore
+ */
+SyntheticsTestRequestCertificate.attributeTypeMap = {
+    cert: {
+        baseName: "cert",
+        type: "SyntheticsTestRequestCertificateItem",
+    },
+    key: {
+        baseName: "key",
+        type: "SyntheticsTestRequestCertificateItem",
+    },
+};
+//# sourceMappingURL=SyntheticsTestRequestCertificate.js.map
+
+/***/ }),
+
+/***/ 46505:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestRequestCertificateItem = void 0;
+/**
+ * Define a request certificate.
+ */
+class SyntheticsTestRequestCertificateItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestRequestCertificateItem.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestRequestCertificateItem = SyntheticsTestRequestCertificateItem;
+/**
+ * @ignore
+ */
+SyntheticsTestRequestCertificateItem.attributeTypeMap = {
+    content: {
+        baseName: "content",
+        type: "string",
+    },
+    filename: {
+        baseName: "filename",
+        type: "string",
+    },
+    updatedAt: {
+        baseName: "updatedAt",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTestRequestCertificateItem.js.map
+
+/***/ }),
+
+/***/ 69621:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTestRequestProxy = void 0;
+/**
+ * The proxy to perform the test.
+ */
+class SyntheticsTestRequestProxy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTestRequestProxy.attributeTypeMap;
+    }
+}
+exports.SyntheticsTestRequestProxy = SyntheticsTestRequestProxy;
+/**
+ * @ignore
+ */
+SyntheticsTestRequestProxy.attributeTypeMap = {
+    headers: {
+        baseName: "headers",
+        type: "{ [key: string]: string; }",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsTestRequestProxy.js.map
+
+/***/ }),
+
+/***/ 88674:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTiming = void 0;
+/**
+ * Object containing all metrics and their values collected for a Synthetic API test.
+ * See the [Synthetic Monitoring Metrics documentation](https://docs.datadoghq.com/synthetics/metrics/).
+ */
+class SyntheticsTiming {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTiming.attributeTypeMap;
+    }
+}
+exports.SyntheticsTiming = SyntheticsTiming;
+/**
+ * @ignore
+ */
+SyntheticsTiming.attributeTypeMap = {
+    dns: {
+        baseName: "dns",
+        type: "number",
+        format: "double",
+    },
+    download: {
+        baseName: "download",
+        type: "number",
+        format: "double",
+    },
+    firstByte: {
+        baseName: "firstByte",
+        type: "number",
+        format: "double",
+    },
+    handshake: {
+        baseName: "handshake",
+        type: "number",
+        format: "double",
+    },
+    redirect: {
+        baseName: "redirect",
+        type: "number",
+        format: "double",
+    },
+    ssl: {
+        baseName: "ssl",
+        type: "number",
+        format: "double",
+    },
+    tcp: {
+        baseName: "tcp",
+        type: "number",
+        format: "double",
+    },
+    total: {
+        baseName: "total",
+        type: "number",
+        format: "double",
+    },
+    wait: {
+        baseName: "wait",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SyntheticsTiming.js.map
+
+/***/ }),
+
+/***/ 92545:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTriggerBody = void 0;
+/**
+ * Object describing the Synthetic tests to trigger.
+ */
+class SyntheticsTriggerBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTriggerBody.attributeTypeMap;
+    }
+}
+exports.SyntheticsTriggerBody = SyntheticsTriggerBody;
+/**
+ * @ignore
+ */
+SyntheticsTriggerBody.attributeTypeMap = {
+    tests: {
+        baseName: "tests",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsTriggerBody.js.map
+
+/***/ }),
+
+/***/ 31334:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTriggerCITestLocation = void 0;
+/**
+ * Synthetic location.
+ */
+class SyntheticsTriggerCITestLocation {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTriggerCITestLocation.attributeTypeMap;
+    }
+}
+exports.SyntheticsTriggerCITestLocation = SyntheticsTriggerCITestLocation;
+/**
+ * @ignore
+ */
+SyntheticsTriggerCITestLocation.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTriggerCITestLocation.js.map
+
+/***/ }),
+
+/***/ 86196:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTriggerCITestRunResult = void 0;
+/**
+ * Information about a single test run.
+ */
+class SyntheticsTriggerCITestRunResult {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTriggerCITestRunResult.attributeTypeMap;
+    }
+}
+exports.SyntheticsTriggerCITestRunResult = SyntheticsTriggerCITestRunResult;
+/**
+ * @ignore
+ */
+SyntheticsTriggerCITestRunResult.attributeTypeMap = {
+    device: {
+        baseName: "device",
+        type: "SyntheticsDeviceID",
+    },
+    location: {
+        baseName: "location",
+        type: "number",
+        format: "int64",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    resultId: {
+        baseName: "result_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsTriggerCITestRunResult.js.map
+
+/***/ }),
+
+/***/ 44171:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTriggerCITestsResponse = void 0;
+/**
+ * Object containing information about the tests triggered.
+ */
+class SyntheticsTriggerCITestsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTriggerCITestsResponse.attributeTypeMap;
+    }
+}
+exports.SyntheticsTriggerCITestsResponse = SyntheticsTriggerCITestsResponse;
+/**
+ * @ignore
+ */
+SyntheticsTriggerCITestsResponse.attributeTypeMap = {
+    batchId: {
+        baseName: "batch_id",
+        type: "string",
+    },
+    locations: {
+        baseName: "locations",
+        type: "Array",
+    },
+    results: {
+        baseName: "results",
+        type: "Array",
+    },
+    triggeredCheckIds: {
+        baseName: "triggered_check_ids",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SyntheticsTriggerCITestsResponse.js.map
+
+/***/ }),
+
+/***/ 75879:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsTriggerTest = void 0;
+/**
+ * Test configuration for Synthetics
+ */
+class SyntheticsTriggerTest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsTriggerTest.attributeTypeMap;
+    }
+}
+exports.SyntheticsTriggerTest = SyntheticsTriggerTest;
+/**
+ * @ignore
+ */
+SyntheticsTriggerTest.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "SyntheticsCIBatchMetadata",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SyntheticsTriggerTest.js.map
+
+/***/ }),
+
+/***/ 39942:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsUpdateTestPauseStatusPayload = void 0;
+/**
+ * Object to start or pause an existing Synthetic test.
+ */
+class SyntheticsUpdateTestPauseStatusPayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsUpdateTestPauseStatusPayload.attributeTypeMap;
+    }
+}
+exports.SyntheticsUpdateTestPauseStatusPayload = SyntheticsUpdateTestPauseStatusPayload;
+/**
+ * @ignore
+ */
+SyntheticsUpdateTestPauseStatusPayload.attributeTypeMap = {
+    newStatus: {
+        baseName: "new_status",
+        type: "SyntheticsTestPauseStatus",
+    },
+};
+//# sourceMappingURL=SyntheticsUpdateTestPauseStatusPayload.js.map
+
+/***/ }),
+
+/***/ 50454:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsVariableParser = void 0;
+/**
+ * Details of the parser to use for the global variable.
+ */
+class SyntheticsVariableParser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SyntheticsVariableParser.attributeTypeMap;
+    }
+}
+exports.SyntheticsVariableParser = SyntheticsVariableParser;
+/**
+ * @ignore
+ */
+SyntheticsVariableParser.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "SyntheticsGlobalVariableParserType",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SyntheticsVariableParser.js.map
+
+/***/ }),
+
+/***/ 68902:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TableWidgetDefinition = void 0;
+/**
+ * The table visualization is available on timeboards and screenboards. It displays columns of metrics grouped by tag key.
+ */
+class TableWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TableWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.TableWidgetDefinition = TableWidgetDefinition;
+/**
+ * @ignore
+ */
+TableWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    hasSearchBar: {
+        baseName: "has_search_bar",
+        type: "TableWidgetHasSearchBar",
+    },
+    requests: {
+        baseName: "requests",
+        type: "Array",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "TableWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TableWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 35423:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TableWidgetRequest = void 0;
+/**
+ * Updated table widget.
+ */
+class TableWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TableWidgetRequest.attributeTypeMap;
+    }
+}
+exports.TableWidgetRequest = TableWidgetRequest;
+/**
+ * @ignore
+ */
+TableWidgetRequest.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "WidgetAggregator",
+    },
+    alias: {
+        baseName: "alias",
+        type: "string",
+    },
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    apmStatsQuery: {
+        baseName: "apm_stats_query",
+        type: "ApmStatsQueryDefinition",
+    },
+    cellDisplayMode: {
+        baseName: "cell_display_mode",
+        type: "Array",
+    },
+    conditionalFormats: {
+        baseName: "conditional_formats",
+        type: "Array",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    order: {
+        baseName: "order",
+        type: "WidgetSort",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+};
+//# sourceMappingURL=TableWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 38146:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TagToHosts = void 0;
+/**
+ * In this object, the key is the tag, the value is a list of host names that are reporting that tag.
+ */
+class TagToHosts {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TagToHosts.attributeTypeMap;
+    }
+}
+exports.TagToHosts = TagToHosts;
+/**
+ * @ignore
+ */
+TagToHosts.attributeTypeMap = {
+    tags: {
+        baseName: "tags",
+        type: "{ [key: string]: Array; }",
+    },
+};
+//# sourceMappingURL=TagToHosts.js.map
+
+/***/ }),
+
+/***/ 16330:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesBackground = void 0;
+/**
+ * Set a timeseries on the widget background.
+ */
+class TimeseriesBackground {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesBackground.attributeTypeMap;
+    }
+}
+exports.TimeseriesBackground = TimeseriesBackground;
+/**
+ * @ignore
+ */
+TimeseriesBackground.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "TimeseriesBackgroundType",
+        required: true,
+    },
+    yaxis: {
+        baseName: "yaxis",
+        type: "WidgetAxis",
+    },
+};
+//# sourceMappingURL=TimeseriesBackground.js.map
+
+/***/ }),
+
+/***/ 202:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesWidgetDefinition = void 0;
+/**
+ * The timeseries visualization allows you to display the evolution of one or more metrics, log events, or Indexed Spans over time.
+ */
+class TimeseriesWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.TimeseriesWidgetDefinition = TimeseriesWidgetDefinition;
+/**
+ * @ignore
+ */
+TimeseriesWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    events: {
+        baseName: "events",
+        type: "Array",
+    },
+    legendColumns: {
+        baseName: "legend_columns",
+        type: "Array",
+    },
+    legendLayout: {
+        baseName: "legend_layout",
+        type: "TimeseriesWidgetLegendLayout",
+    },
+    legendSize: {
+        baseName: "legend_size",
+        type: "string",
+    },
+    markers: {
+        baseName: "markers",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "Array",
+        required: true,
+    },
+    rightYaxis: {
+        baseName: "right_yaxis",
+        type: "WidgetAxis",
+    },
+    showLegend: {
+        baseName: "show_legend",
+        type: "boolean",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "TimeseriesWidgetDefinitionType",
+        required: true,
+    },
+    yaxis: {
+        baseName: "yaxis",
+        type: "WidgetAxis",
+    },
+};
+//# sourceMappingURL=TimeseriesWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 9267:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesWidgetExpressionAlias = void 0;
+/**
+ * Define an expression alias.
+ */
+class TimeseriesWidgetExpressionAlias {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesWidgetExpressionAlias.attributeTypeMap;
+    }
+}
+exports.TimeseriesWidgetExpressionAlias = TimeseriesWidgetExpressionAlias;
+/**
+ * @ignore
+ */
+TimeseriesWidgetExpressionAlias.attributeTypeMap = {
+    aliasName: {
+        baseName: "alias_name",
+        type: "string",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=TimeseriesWidgetExpressionAlias.js.map
+
+/***/ }),
+
+/***/ 727:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesWidgetRequest = void 0;
+/**
+ * Updated timeseries widget.
+ */
+class TimeseriesWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesWidgetRequest.attributeTypeMap;
+    }
+}
+exports.TimeseriesWidgetRequest = TimeseriesWidgetRequest;
+/**
+ * @ignore
+ */
+TimeseriesWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    auditQuery: {
+        baseName: "audit_query",
+        type: "LogQueryDefinition",
+    },
+    displayType: {
+        baseName: "display_type",
+        type: "WidgetDisplayType",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "Array",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    onRightYaxis: {
+        baseName: "on_right_yaxis",
+        type: "boolean",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetRequestStyle",
+    },
+};
+//# sourceMappingURL=TimeseriesWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 9873:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ToplistWidgetDefinition = void 0;
+/**
+ * The top list visualization enables you to display a list of Tag value like hostname or service with the most or least of any metric value, such as highest consumers of CPU, hosts with the least disk space, etc.
+ */
+class ToplistWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ToplistWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.ToplistWidgetDefinition = ToplistWidgetDefinition;
+/**
+ * @ignore
+ */
+ToplistWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "Array",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ToplistWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ToplistWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 51644:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ToplistWidgetRequest = void 0;
+/**
+ * Updated top list widget.
+ */
+class ToplistWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ToplistWidgetRequest.attributeTypeMap;
+    }
+}
+exports.ToplistWidgetRequest = ToplistWidgetRequest;
+/**
+ * @ignore
+ */
+ToplistWidgetRequest.attributeTypeMap = {
+    apmQuery: {
+        baseName: "apm_query",
+        type: "LogQueryDefinition",
+    },
+    auditQuery: {
+        baseName: "audit_query",
+        type: "LogQueryDefinition",
+    },
+    conditionalFormats: {
+        baseName: "conditional_formats",
+        type: "Array",
+    },
+    eventQuery: {
+        baseName: "event_query",
+        type: "LogQueryDefinition",
+    },
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    logQuery: {
+        baseName: "log_query",
+        type: "LogQueryDefinition",
+    },
+    networkQuery: {
+        baseName: "network_query",
+        type: "LogQueryDefinition",
+    },
+    processQuery: {
+        baseName: "process_query",
+        type: "ProcessQueryDefinition",
+    },
+    profileMetricsQuery: {
+        baseName: "profile_metrics_query",
+        type: "LogQueryDefinition",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+    rumQuery: {
+        baseName: "rum_query",
+        type: "LogQueryDefinition",
+    },
+    securityQuery: {
+        baseName: "security_query",
+        type: "LogQueryDefinition",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetRequestStyle",
+    },
+};
+//# sourceMappingURL=ToplistWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 45067:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TopologyMapWidgetDefinition = void 0;
+/**
+ * This widget displays a topology of nodes and edges for different data sources. It replaces the service map widget.
+ */
+class TopologyMapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TopologyMapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.TopologyMapWidgetDefinition = TopologyMapWidgetDefinition;
+/**
+ * @ignore
+ */
+TopologyMapWidgetDefinition.attributeTypeMap = {
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    requests: {
+        baseName: "requests",
+        type: "Array",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    titleAlign: {
+        baseName: "title_align",
+        type: "WidgetTextAlign",
+    },
+    titleSize: {
+        baseName: "title_size",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "TopologyMapWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TopologyMapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 85718:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TopologyQuery = void 0;
+/**
+ * Query to service-based topology data sources like the service map or data streams.
+ */
+class TopologyQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TopologyQuery.attributeTypeMap;
+    }
+}
+exports.TopologyQuery = TopologyQuery;
+/**
+ * @ignore
+ */
+TopologyQuery.attributeTypeMap = {
+    dataSource: {
+        baseName: "data_source",
+        type: "TopologyQueryDataSource",
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+};
+//# sourceMappingURL=TopologyQuery.js.map
+
+/***/ }),
+
+/***/ 3994:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TopologyRequest = void 0;
+/**
+ * Request that will return nodes and edges to be used by topology map.
+ */
+class TopologyRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TopologyRequest.attributeTypeMap;
+    }
+}
+exports.TopologyRequest = TopologyRequest;
+/**
+ * @ignore
+ */
+TopologyRequest.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "TopologyQuery",
+    },
+    requestType: {
+        baseName: "request_type",
+        type: "TopologyRequestType",
+    },
+};
+//# sourceMappingURL=TopologyRequest.js.map
+
+/***/ }),
+
+/***/ 7827:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TreeMapWidgetDefinition = void 0;
+/**
+ * The treemap visualization enables you to display hierarchical and nested data. It is well suited for queries that describe part-whole relationships, such as resource usage by availability zone, data center, or team.
+ */
+class TreeMapWidgetDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TreeMapWidgetDefinition.attributeTypeMap;
+    }
+}
+exports.TreeMapWidgetDefinition = TreeMapWidgetDefinition;
+/**
+ * @ignore
+ */
+TreeMapWidgetDefinition.attributeTypeMap = {
+    colorBy: {
+        baseName: "color_by",
+        type: "TreeMapColorBy",
+    },
+    customLinks: {
+        baseName: "custom_links",
+        type: "Array",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "TreeMapGroupBy",
+    },
+    requests: {
+        baseName: "requests",
+        type: "[TreeMapWidgetRequest]",
+        required: true,
+    },
+    sizeBy: {
+        baseName: "size_by",
+        type: "TreeMapSizeBy",
+    },
+    time: {
+        baseName: "time",
+        type: "WidgetTime",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "TreeMapWidgetDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TreeMapWidgetDefinition.js.map
+
+/***/ }),
+
+/***/ 81118:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TreeMapWidgetRequest = void 0;
+/**
+ * An updated treemap widget.
+ */
+class TreeMapWidgetRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TreeMapWidgetRequest.attributeTypeMap;
+    }
+}
+exports.TreeMapWidgetRequest = TreeMapWidgetRequest;
+/**
+ * @ignore
+ */
+TreeMapWidgetRequest.attributeTypeMap = {
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    q: {
+        baseName: "q",
+        type: "string",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    responseFormat: {
+        baseName: "response_format",
+        type: "FormulaAndFunctionResponseFormat",
+    },
+};
+//# sourceMappingURL=TreeMapWidgetRequest.js.map
+
+/***/ }),
+
+/***/ 92837:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAnalyzedLogsHour = void 0;
+/**
+ * The number of analyzed logs for each hour for a given organization.
+ */
+class UsageAnalyzedLogsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAnalyzedLogsHour.attributeTypeMap;
+    }
+}
+exports.UsageAnalyzedLogsHour = UsageAnalyzedLogsHour;
+/**
+ * @ignore
+ */
+UsageAnalyzedLogsHour.attributeTypeMap = {
+    analyzedLogs: {
+        baseName: "analyzed_logs",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageAnalyzedLogsHour.js.map
+
+/***/ }),
+
+/***/ 60957:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAnalyzedLogsResponse = void 0;
+/**
+ * A response containing the number of analyzed logs for each hour for a given organization.
+ */
+class UsageAnalyzedLogsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAnalyzedLogsResponse.attributeTypeMap;
+    }
+}
+exports.UsageAnalyzedLogsResponse = UsageAnalyzedLogsResponse;
+/**
+ * @ignore
+ */
+UsageAnalyzedLogsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageAnalyzedLogsResponse.js.map
+
+/***/ }),
+
+/***/ 23128:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionAggregatesBody = void 0;
+/**
+ * The object containing the aggregates.
+ */
+class UsageAttributionAggregatesBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionAggregatesBody.attributeTypeMap;
+    }
+}
+exports.UsageAttributionAggregatesBody = UsageAttributionAggregatesBody;
+/**
+ * @ignore
+ */
+UsageAttributionAggregatesBody.attributeTypeMap = {
+    aggType: {
+        baseName: "agg_type",
+        type: "string",
+    },
+    field: {
+        baseName: "field",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=UsageAttributionAggregatesBody.js.map
+
+/***/ }),
+
+/***/ 44217:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionBody = void 0;
+/**
+ * Usage Summary by tag for a given organization.
+ */
+class UsageAttributionBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionBody.attributeTypeMap;
+    }
+}
+exports.UsageAttributionBody = UsageAttributionBody;
+/**
+ * @ignore
+ */
+UsageAttributionBody.attributeTypeMap = {
+    month: {
+        baseName: "month",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    tagConfigSource: {
+        baseName: "tag_config_source",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "{ [key: string]: Array; }",
+    },
+    updatedAt: {
+        baseName: "updated_at",
+        type: "string",
+    },
+    values: {
+        baseName: "values",
+        type: "UsageAttributionValues",
+    },
+};
+//# sourceMappingURL=UsageAttributionBody.js.map
+
+/***/ }),
+
+/***/ 20442:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionMetadata = void 0;
+/**
+ * The object containing document metadata.
+ */
+class UsageAttributionMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionMetadata.attributeTypeMap;
+    }
+}
+exports.UsageAttributionMetadata = UsageAttributionMetadata;
+/**
+ * @ignore
+ */
+UsageAttributionMetadata.attributeTypeMap = {
+    aggregates: {
+        baseName: "aggregates",
+        type: "Array",
+    },
+    pagination: {
+        baseName: "pagination",
+        type: "UsageAttributionPagination",
+    },
+};
+//# sourceMappingURL=UsageAttributionMetadata.js.map
+
+/***/ }),
+
+/***/ 26947:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionPagination = void 0;
+/**
+ * The metadata for the current pagination.
+ */
+class UsageAttributionPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionPagination.attributeTypeMap;
+    }
+}
+exports.UsageAttributionPagination = UsageAttributionPagination;
+/**
+ * @ignore
+ */
+UsageAttributionPagination.attributeTypeMap = {
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    offset: {
+        baseName: "offset",
+        type: "number",
+        format: "int64",
+    },
+    sortDirection: {
+        baseName: "sort_direction",
+        type: "string",
+    },
+    sortName: {
+        baseName: "sort_name",
+        type: "string",
+    },
+    totalNumberOfRecords: {
+        baseName: "total_number_of_records",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageAttributionPagination.js.map
+
+/***/ }),
+
+/***/ 2900:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionResponse = void 0;
+/**
+ * Response containing the Usage Summary by tag(s).
+ */
+class UsageAttributionResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionResponse.attributeTypeMap;
+    }
+}
+exports.UsageAttributionResponse = UsageAttributionResponse;
+/**
+ * @ignore
+ */
+UsageAttributionResponse.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "UsageAttributionMetadata",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageAttributionResponse.js.map
+
+/***/ }),
+
+/***/ 47058:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributionValues = void 0;
+/**
+ * Fields in Usage Summary by tag(s).
+ */
+class UsageAttributionValues {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributionValues.attributeTypeMap;
+    }
+}
+exports.UsageAttributionValues = UsageAttributionValues;
+/**
+ * @ignore
+ */
+UsageAttributionValues.attributeTypeMap = {
+    apiPercentage: {
+        baseName: "api_percentage",
+        type: "number",
+        format: "double",
+    },
+    apiUsage: {
+        baseName: "api_usage",
+        type: "number",
+        format: "double",
+    },
+    apmFargatePercentage: {
+        baseName: "apm_fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    apmFargateUsage: {
+        baseName: "apm_fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    apmHostPercentage: {
+        baseName: "apm_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    apmHostUsage: {
+        baseName: "apm_host_usage",
+        type: "number",
+        format: "double",
+    },
+    appsecFargatePercentage: {
+        baseName: "appsec_fargate_percentage",
+        type: "number",
+        format: "double",
+    },
+    appsecFargateUsage: {
+        baseName: "appsec_fargate_usage",
+        type: "number",
+        format: "double",
+    },
+    appsecPercentage: {
+        baseName: "appsec_percentage",
+        type: "number",
+        format: "double",
+    },
+    appsecUsage: {
+        baseName: "appsec_usage",
+        type: "number",
+        format: "double",
+    },
+    browserPercentage: {
+        baseName: "browser_percentage",
+        type: "number",
+        format: "double",
+    },
+    browserUsage: {
+        baseName: "browser_usage",
+        type: "number",
+        format: "double",
+    },
+    containerPercentage: {
+        baseName: "container_percentage",
+        type: "number",
+        format: "double",
+    },
+    containerUsage: {
+        baseName: "container_usage",
+        type: "number",
+        format: "double",
+    },
+    cspmContainerPercentage: {
+        baseName: "cspm_container_percentage",
+        type: "number",
+        format: "double",
+    },
+    cspmContainerUsage: {
+        baseName: "cspm_container_usage",
+        type: "number",
+        format: "double",
+    },
+    cspmHostPercentage: {
+        baseName: "cspm_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    cspmHostUsage: {
+        baseName: "cspm_host_usage",
+        type: "number",
+        format: "double",
+    },
+    customTimeseriesPercentage: {
+        baseName: "custom_timeseries_percentage",
+        type: "number",
+        format: "double",
+    },
+    customTimeseriesUsage: {
+        baseName: "custom_timeseries_usage",
+        type: "number",
+        format: "double",
+    },
+    cwsContainerPercentage: {
+        baseName: "cws_container_percentage",
+        type: "number",
+        format: "double",
+    },
+    cwsContainerUsage: {
+        baseName: "cws_container_usage",
+        type: "number",
+        format: "double",
+    },
+    cwsHostPercentage: {
+        baseName: "cws_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    cwsHostUsage: {
+        baseName: "cws_host_usage",
+        type: "number",
+        format: "double",
+    },
+    dbmHostsPercentage: {
+        baseName: "dbm_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    dbmHostsUsage: {
+        baseName: "dbm_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+    dbmQueriesPercentage: {
+        baseName: "dbm_queries_percentage",
+        type: "number",
+        format: "double",
+    },
+    dbmQueriesUsage: {
+        baseName: "dbm_queries_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedLogsPercentage: {
+        baseName: "estimated_indexed_logs_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedLogsUsage: {
+        baseName: "estimated_indexed_logs_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedSpansPercentage: {
+        baseName: "estimated_indexed_spans_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIndexedSpansUsage: {
+        baseName: "estimated_indexed_spans_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedLogsPercentage: {
+        baseName: "estimated_ingested_logs_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedLogsUsage: {
+        baseName: "estimated_ingested_logs_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedSpansPercentage: {
+        baseName: "estimated_ingested_spans_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedIngestedSpansUsage: {
+        baseName: "estimated_ingested_spans_usage",
+        type: "number",
+        format: "double",
+    },
+    estimatedRumSessionsPercentage: {
+        baseName: "estimated_rum_sessions_percentage",
+        type: "number",
+        format: "double",
+    },
+    estimatedRumSessionsUsage: {
+        baseName: "estimated_rum_sessions_usage",
+        type: "number",
+        format: "double",
+    },
+    infraHostPercentage: {
+        baseName: "infra_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    infraHostUsage: {
+        baseName: "infra_host_usage",
+        type: "number",
+        format: "double",
+    },
+    lambdaFunctionsPercentage: {
+        baseName: "lambda_functions_percentage",
+        type: "number",
+        format: "double",
+    },
+    lambdaFunctionsUsage: {
+        baseName: "lambda_functions_usage",
+        type: "number",
+        format: "double",
+    },
+    lambdaInvocationsPercentage: {
+        baseName: "lambda_invocations_percentage",
+        type: "number",
+        format: "double",
+    },
+    lambdaInvocationsUsage: {
+        baseName: "lambda_invocations_usage",
+        type: "number",
+        format: "double",
+    },
+    npmHostPercentage: {
+        baseName: "npm_host_percentage",
+        type: "number",
+        format: "double",
+    },
+    npmHostUsage: {
+        baseName: "npm_host_usage",
+        type: "number",
+        format: "double",
+    },
+    profiledContainerPercentage: {
+        baseName: "profiled_container_percentage",
+        type: "number",
+        format: "double",
+    },
+    profiledContainerUsage: {
+        baseName: "profiled_container_usage",
+        type: "number",
+        format: "double",
+    },
+    profiledHostsPercentage: {
+        baseName: "profiled_hosts_percentage",
+        type: "number",
+        format: "double",
+    },
+    profiledHostsUsage: {
+        baseName: "profiled_hosts_usage",
+        type: "number",
+        format: "double",
+    },
+    snmpPercentage: {
+        baseName: "snmp_percentage",
+        type: "number",
+        format: "double",
+    },
+    snmpUsage: {
+        baseName: "snmp_usage",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=UsageAttributionValues.js.map
+
+/***/ }),
+
+/***/ 14819:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAuditLogsHour = void 0;
+/**
+ * Audit logs usage for a given organization for a given hour.
+ */
+class UsageAuditLogsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAuditLogsHour.attributeTypeMap;
+    }
+}
+exports.UsageAuditLogsHour = UsageAuditLogsHour;
+/**
+ * @ignore
+ */
+UsageAuditLogsHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    linesIndexed: {
+        baseName: "lines_indexed",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageAuditLogsHour.js.map
+
+/***/ }),
+
+/***/ 60607:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAuditLogsResponse = void 0;
+/**
+ * Response containing the audit logs usage for each hour for a given organization.
+ */
+class UsageAuditLogsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAuditLogsResponse.attributeTypeMap;
+    }
+}
+exports.UsageAuditLogsResponse = UsageAuditLogsResponse;
+/**
+ * @ignore
+ */
+UsageAuditLogsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageAuditLogsResponse.js.map
+
+/***/ }),
+
+/***/ 55055:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageBillableSummaryBody = void 0;
+/**
+ * Response with properties for each aggregated usage type.
+ */
+class UsageBillableSummaryBody {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageBillableSummaryBody.attributeTypeMap;
+    }
+}
+exports.UsageBillableSummaryBody = UsageBillableSummaryBody;
+/**
+ * @ignore
+ */
+UsageBillableSummaryBody.attributeTypeMap = {
+    accountBillableUsage: {
+        baseName: "account_billable_usage",
+        type: "number",
+        format: "int64",
+    },
+    elapsedUsageHours: {
+        baseName: "elapsed_usage_hours",
+        type: "number",
+        format: "int64",
+    },
+    firstBillableUsageHour: {
+        baseName: "first_billable_usage_hour",
+        type: "Date",
+        format: "date-time",
+    },
+    lastBillableUsageHour: {
+        baseName: "last_billable_usage_hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgBillableUsage: {
+        baseName: "org_billable_usage",
+        type: "number",
+        format: "int64",
+    },
+    percentageInAccount: {
+        baseName: "percentage_in_account",
+        type: "number",
+        format: "double",
+    },
+    usageUnit: {
+        baseName: "usage_unit",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageBillableSummaryBody.js.map
+
+/***/ }),
+
+/***/ 5658:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageBillableSummaryHour = void 0;
+/**
+ * Response with monthly summary of data billed by Datadog.
+ */
+class UsageBillableSummaryHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageBillableSummaryHour.attributeTypeMap;
+    }
+}
+exports.UsageBillableSummaryHour = UsageBillableSummaryHour;
+/**
+ * @ignore
+ */
+UsageBillableSummaryHour.attributeTypeMap = {
+    billingPlan: {
+        baseName: "billing_plan",
+        type: "string",
+    },
+    endDate: {
+        baseName: "end_date",
+        type: "Date",
+        format: "date-time",
+    },
+    numOrgs: {
+        baseName: "num_orgs",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    ratioInMonth: {
+        baseName: "ratio_in_month",
+        type: "number",
+        format: "double",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    startDate: {
+        baseName: "start_date",
+        type: "Date",
+        format: "date-time",
+    },
+    usage: {
+        baseName: "usage",
+        type: "UsageBillableSummaryKeys",
+    },
+};
+//# sourceMappingURL=UsageBillableSummaryHour.js.map
+
+/***/ }),
+
+/***/ 10578:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageBillableSummaryKeys = void 0;
+/**
+ * Response with aggregated usage types.
+ */
+class UsageBillableSummaryKeys {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageBillableSummaryKeys.attributeTypeMap;
+    }
+}
+exports.UsageBillableSummaryKeys = UsageBillableSummaryKeys;
+/**
+ * @ignore
+ */
+UsageBillableSummaryKeys.attributeTypeMap = {
+    apmFargateAverage: {
+        baseName: "apm_fargate_average",
+        type: "UsageBillableSummaryBody",
+    },
+    apmFargateSum: {
+        baseName: "apm_fargate_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    apmHostSum: {
+        baseName: "apm_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    apmHostTop99p: {
+        baseName: "apm_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    apmProfilerHostSum: {
+        baseName: "apm_profiler_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    apmProfilerHostTop99p: {
+        baseName: "apm_profiler_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    apmTraceSearchSum: {
+        baseName: "apm_trace_search_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    applicationSecurityFargateAverage: {
+        baseName: "application_security_fargate_average",
+        type: "UsageBillableSummaryBody",
+    },
+    applicationSecurityHostSum: {
+        baseName: "application_security_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    applicationSecurityHostTop99p: {
+        baseName: "application_security_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    ciPipelineIndexedSpansSum: {
+        baseName: "ci_pipeline_indexed_spans_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    ciPipelineMaximum: {
+        baseName: "ci_pipeline_maximum",
+        type: "UsageBillableSummaryBody",
+    },
+    ciPipelineSum: {
+        baseName: "ci_pipeline_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    ciTestIndexedSpansSum: {
+        baseName: "ci_test_indexed_spans_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    ciTestingMaximum: {
+        baseName: "ci_testing_maximum",
+        type: "UsageBillableSummaryBody",
+    },
+    ciTestingSum: {
+        baseName: "ci_testing_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cloudCostManagementAverage: {
+        baseName: "cloud_cost_management_average",
+        type: "UsageBillableSummaryBody",
+    },
+    cloudCostManagementSum: {
+        baseName: "cloud_cost_management_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cspmContainerSum: {
+        baseName: "cspm_container_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cspmHostSum: {
+        baseName: "cspm_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cspmHostTop99p: {
+        baseName: "cspm_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    customEventSum: {
+        baseName: "custom_event_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cwsContainerSum: {
+        baseName: "cws_container_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cwsHostSum: {
+        baseName: "cws_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    cwsHostTop99p: {
+        baseName: "cws_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    dbmHostSum: {
+        baseName: "dbm_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    dbmHostTop99p: {
+        baseName: "dbm_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    dbmNormalizedQueriesAverage: {
+        baseName: "dbm_normalized_queries_average",
+        type: "UsageBillableSummaryBody",
+    },
+    dbmNormalizedQueriesSum: {
+        baseName: "dbm_normalized_queries_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerApmAndProfilerAverage: {
+        baseName: "fargate_container_apm_and_profiler_average",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerApmAndProfilerSum: {
+        baseName: "fargate_container_apm_and_profiler_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerAverage: {
+        baseName: "fargate_container_average",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerProfilerAverage: {
+        baseName: "fargate_container_profiler_average",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerProfilerSum: {
+        baseName: "fargate_container_profiler_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    fargateContainerSum: {
+        baseName: "fargate_container_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    incidentManagementMaximum: {
+        baseName: "incident_management_maximum",
+        type: "UsageBillableSummaryBody",
+    },
+    incidentManagementSum: {
+        baseName: "incident_management_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    infraAndApmHostSum: {
+        baseName: "infra_and_apm_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    infraAndApmHostTop99p: {
+        baseName: "infra_and_apm_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    infraContainerSum: {
+        baseName: "infra_container_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    infraHostSum: {
+        baseName: "infra_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    infraHostTop99p: {
+        baseName: "infra_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    ingestedSpansSum: {
+        baseName: "ingested_spans_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    ingestedTimeseriesAverage: {
+        baseName: "ingested_timeseries_average",
+        type: "UsageBillableSummaryBody",
+    },
+    ingestedTimeseriesSum: {
+        baseName: "ingested_timeseries_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    iotSum: {
+        baseName: "iot_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    iotTop99p: {
+        baseName: "iot_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    lambdaFunctionAverage: {
+        baseName: "lambda_function_average",
+        type: "UsageBillableSummaryBody",
+    },
+    lambdaFunctionSum: {
+        baseName: "lambda_function_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsForwardingSum: {
+        baseName: "logs_forwarding_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed15daySum: {
+        baseName: "logs_indexed_15day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed180daySum: {
+        baseName: "logs_indexed_180day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed30daySum: {
+        baseName: "logs_indexed_30day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed360daySum: {
+        baseName: "logs_indexed_360day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed3daySum: {
+        baseName: "logs_indexed_3day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed45daySum: {
+        baseName: "logs_indexed_45day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed60daySum: {
+        baseName: "logs_indexed_60day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed7daySum: {
+        baseName: "logs_indexed_7day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexed90daySum: {
+        baseName: "logs_indexed_90day_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexedCustomRetentionSum: {
+        baseName: "logs_indexed_custom_retention_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIndexedSum: {
+        baseName: "logs_indexed_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    logsIngestedSum: {
+        baseName: "logs_ingested_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    networkDeviceSum: {
+        baseName: "network_device_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    networkDeviceTop99p: {
+        baseName: "network_device_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    npmFlowSum: {
+        baseName: "npm_flow_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    npmHostSum: {
+        baseName: "npm_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    npmHostTop99p: {
+        baseName: "npm_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    observabilityPipelineSum: {
+        baseName: "observability_pipeline_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    onlineArchiveSum: {
+        baseName: "online_archive_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    profContainerSum: {
+        baseName: "prof_container_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    profHostSum: {
+        baseName: "prof_host_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    profHostTop99p: {
+        baseName: "prof_host_top99p",
+        type: "UsageBillableSummaryBody",
+    },
+    rumLiteSum: {
+        baseName: "rum_lite_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    rumReplaySum: {
+        baseName: "rum_replay_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    rumSum: {
+        baseName: "rum_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    rumUnitsSum: {
+        baseName: "rum_units_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    sensitiveDataScannerSum: {
+        baseName: "sensitive_data_scanner_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    serverlessApmSum: {
+        baseName: "serverless_apm_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    serverlessInfraAverage: {
+        baseName: "serverless_infra_average",
+        type: "UsageBillableSummaryBody",
+    },
+    serverlessInfraSum: {
+        baseName: "serverless_infra_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    serverlessInvocationSum: {
+        baseName: "serverless_invocation_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    siemSum: {
+        baseName: "siem_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    standardTimeseriesAverage: {
+        baseName: "standard_timeseries_average",
+        type: "UsageBillableSummaryBody",
+    },
+    syntheticsApiTestsSum: {
+        baseName: "synthetics_api_tests_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    syntheticsAppTestingMaximum: {
+        baseName: "synthetics_app_testing_maximum",
+        type: "UsageBillableSummaryBody",
+    },
+    syntheticsBrowserChecksSum: {
+        baseName: "synthetics_browser_checks_sum",
+        type: "UsageBillableSummaryBody",
+    },
+    timeseriesAverage: {
+        baseName: "timeseries_average",
+        type: "UsageBillableSummaryBody",
+    },
+    timeseriesSum: {
+        baseName: "timeseries_sum",
+        type: "UsageBillableSummaryBody",
+    },
+};
+//# sourceMappingURL=UsageBillableSummaryKeys.js.map
+
+/***/ }),
+
+/***/ 56594:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageBillableSummaryResponse = void 0;
+/**
+ * Response with monthly summary of data billed by Datadog.
+ */
+class UsageBillableSummaryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageBillableSummaryResponse.attributeTypeMap;
+    }
+}
+exports.UsageBillableSummaryResponse = UsageBillableSummaryResponse;
+/**
+ * @ignore
+ */
+UsageBillableSummaryResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageBillableSummaryResponse.js.map
+
+/***/ }),
+
+/***/ 30564:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCIVisibilityHour = void 0;
+/**
+ * CI visibility usage in a given hour.
+ */
+class UsageCIVisibilityHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCIVisibilityHour.attributeTypeMap;
+    }
+}
+exports.UsageCIVisibilityHour = UsageCIVisibilityHour;
+/**
+ * @ignore
+ */
+UsageCIVisibilityHour.attributeTypeMap = {
+    ciPipelineIndexedSpans: {
+        baseName: "ci_pipeline_indexed_spans",
+        type: "number",
+        format: "int64",
+    },
+    ciTestIndexedSpans: {
+        baseName: "ci_test_indexed_spans",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityItrCommitters: {
+        baseName: "ci_visibility_itr_committers",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityPipelineCommitters: {
+        baseName: "ci_visibility_pipeline_committers",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityTestCommitters: {
+        baseName: "ci_visibility_test_committers",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageCIVisibilityHour.js.map
+
+/***/ }),
+
+/***/ 95567:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCIVisibilityResponse = void 0;
+/**
+ * CI visibility usage response
+ */
+class UsageCIVisibilityResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCIVisibilityResponse.attributeTypeMap;
+    }
+}
+exports.UsageCIVisibilityResponse = UsageCIVisibilityResponse;
+/**
+ * @ignore
+ */
+UsageCIVisibilityResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageCIVisibilityResponse.js.map
+
+/***/ }),
+
+/***/ 13436:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCWSHour = void 0;
+/**
+ * Cloud Workload Security usage for a given organization for a given hour.
+ */
+class UsageCWSHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCWSHour.attributeTypeMap;
+    }
+}
+exports.UsageCWSHour = UsageCWSHour;
+/**
+ * @ignore
+ */
+UsageCWSHour.attributeTypeMap = {
+    cwsContainerCount: {
+        baseName: "cws_container_count",
+        type: "number",
+        format: "int64",
+    },
+    cwsHostCount: {
+        baseName: "cws_host_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageCWSHour.js.map
+
+/***/ }),
+
+/***/ 96909:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCWSResponse = void 0;
+/**
+ * Response containing the Cloud Workload Security usage for each hour for a given organization.
+ */
+class UsageCWSResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCWSResponse.attributeTypeMap;
+    }
+}
+exports.UsageCWSResponse = UsageCWSResponse;
+/**
+ * @ignore
+ */
+UsageCWSResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageCWSResponse.js.map
+
+/***/ }),
+
+/***/ 64100:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCloudSecurityPostureManagementHour = void 0;
+/**
+ * Cloud Security Posture Management usage for a given organization for a given hour.
+ */
+class UsageCloudSecurityPostureManagementHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCloudSecurityPostureManagementHour.attributeTypeMap;
+    }
+}
+exports.UsageCloudSecurityPostureManagementHour = UsageCloudSecurityPostureManagementHour;
+/**
+ * @ignore
+ */
+UsageCloudSecurityPostureManagementHour.attributeTypeMap = {
+    aasHostCount: {
+        baseName: "aas_host_count",
+        type: "number",
+        format: "double",
+    },
+    awsHostCount: {
+        baseName: "aws_host_count",
+        type: "number",
+        format: "double",
+    },
+    azureHostCount: {
+        baseName: "azure_host_count",
+        type: "number",
+        format: "double",
+    },
+    complianceHostCount: {
+        baseName: "compliance_host_count",
+        type: "number",
+        format: "double",
+    },
+    containerCount: {
+        baseName: "container_count",
+        type: "number",
+        format: "double",
+    },
+    gcpHostCount: {
+        baseName: "gcp_host_count",
+        type: "number",
+        format: "double",
+    },
+    hostCount: {
+        baseName: "host_count",
+        type: "number",
+        format: "double",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageCloudSecurityPostureManagementHour.js.map
+
+/***/ }),
+
+/***/ 44315:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCloudSecurityPostureManagementResponse = void 0;
+/**
+ * The response containing the Cloud Security Posture Management usage for each hour for a given organization.
+ */
+class UsageCloudSecurityPostureManagementResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCloudSecurityPostureManagementResponse.attributeTypeMap;
+    }
+}
+exports.UsageCloudSecurityPostureManagementResponse = UsageCloudSecurityPostureManagementResponse;
+/**
+ * @ignore
+ */
+UsageCloudSecurityPostureManagementResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageCloudSecurityPostureManagementResponse.js.map
+
+/***/ }),
+
+/***/ 78851:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCustomReportsAttributes = void 0;
+/**
+ * The response containing attributes for custom reports.
+ */
+class UsageCustomReportsAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCustomReportsAttributes.attributeTypeMap;
+    }
+}
+exports.UsageCustomReportsAttributes = UsageCustomReportsAttributes;
+/**
+ * @ignore
+ */
+UsageCustomReportsAttributes.attributeTypeMap = {
+    computedOn: {
+        baseName: "computed_on",
+        type: "string",
+    },
+    endDate: {
+        baseName: "end_date",
+        type: "string",
+    },
+    size: {
+        baseName: "size",
+        type: "number",
+        format: "int64",
+    },
+    startDate: {
+        baseName: "start_date",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageCustomReportsAttributes.js.map
+
+/***/ }),
+
+/***/ 56172:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCustomReportsData = void 0;
+/**
+ * The response containing the date and type for custom reports.
+ */
+class UsageCustomReportsData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCustomReportsData.attributeTypeMap;
+    }
+}
+exports.UsageCustomReportsData = UsageCustomReportsData;
+/**
+ * @ignore
+ */
+UsageCustomReportsData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UsageCustomReportsAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "UsageReportsType",
+    },
+};
+//# sourceMappingURL=UsageCustomReportsData.js.map
+
+/***/ }),
+
+/***/ 26602:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCustomReportsMeta = void 0;
+/**
+ * The object containing document metadata.
+ */
+class UsageCustomReportsMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCustomReportsMeta.attributeTypeMap;
+    }
+}
+exports.UsageCustomReportsMeta = UsageCustomReportsMeta;
+/**
+ * @ignore
+ */
+UsageCustomReportsMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "UsageCustomReportsPage",
+    },
+};
+//# sourceMappingURL=UsageCustomReportsMeta.js.map
+
+/***/ }),
+
+/***/ 43869:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCustomReportsPage = void 0;
+/**
+ * The object containing page total count.
+ */
+class UsageCustomReportsPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCustomReportsPage.attributeTypeMap;
+    }
+}
+exports.UsageCustomReportsPage = UsageCustomReportsPage;
+/**
+ * @ignore
+ */
+UsageCustomReportsPage.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageCustomReportsPage.js.map
+
+/***/ }),
+
+/***/ 83809:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageCustomReportsResponse = void 0;
+/**
+ * Response containing available custom reports.
+ */
+class UsageCustomReportsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageCustomReportsResponse.attributeTypeMap;
+    }
+}
+exports.UsageCustomReportsResponse = UsageCustomReportsResponse;
+/**
+ * @ignore
+ */
+UsageCustomReportsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "UsageCustomReportsMeta",
+    },
+};
+//# sourceMappingURL=UsageCustomReportsResponse.js.map
+
+/***/ }),
+
+/***/ 41804:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageDBMHour = void 0;
+/**
+ * Database Monitoring usage for a given organization for a given hour.
+ */
+class UsageDBMHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageDBMHour.attributeTypeMap;
+    }
+}
+exports.UsageDBMHour = UsageDBMHour;
+/**
+ * @ignore
+ */
+UsageDBMHour.attributeTypeMap = {
+    dbmHostCount: {
+        baseName: "dbm_host_count",
+        type: "number",
+        format: "int64",
+    },
+    dbmQueriesCount: {
+        baseName: "dbm_queries_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageDBMHour.js.map
+
+/***/ }),
+
+/***/ 69221:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageDBMResponse = void 0;
+/**
+ * Response containing the Database Monitoring usage for each hour for a given organization.
+ */
+class UsageDBMResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageDBMResponse.attributeTypeMap;
+    }
+}
+exports.UsageDBMResponse = UsageDBMResponse;
+/**
+ * @ignore
+ */
+UsageDBMResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageDBMResponse.js.map
+
+/***/ }),
+
+/***/ 38026:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageFargateHour = void 0;
+/**
+ * Number of Fargate tasks run and hourly usage.
+ */
+class UsageFargateHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageFargateHour.attributeTypeMap;
+    }
+}
+exports.UsageFargateHour = UsageFargateHour;
+/**
+ * @ignore
+ */
+UsageFargateHour.attributeTypeMap = {
+    apmFargateCount: {
+        baseName: "apm_fargate_count",
+        type: "number",
+        format: "int64",
+    },
+    appsecFargateCount: {
+        baseName: "appsec_fargate_count",
+        type: "number",
+        format: "int64",
+    },
+    avgProfiledFargateTasks: {
+        baseName: "avg_profiled_fargate_tasks",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    tasksCount: {
+        baseName: "tasks_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageFargateHour.js.map
+
+/***/ }),
+
+/***/ 89167:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageFargateResponse = void 0;
+/**
+ * Response containing the number of Fargate tasks run and hourly usage.
+ */
+class UsageFargateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageFargateResponse.attributeTypeMap;
+    }
+}
+exports.UsageFargateResponse = UsageFargateResponse;
+/**
+ * @ignore
+ */
+UsageFargateResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageFargateResponse.js.map
+
+/***/ }),
+
+/***/ 30718:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageHostHour = void 0;
+/**
+ * Number of hosts/containers recorded for each hour for a given organization.
+ */
+class UsageHostHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageHostHour.attributeTypeMap;
+    }
+}
+exports.UsageHostHour = UsageHostHour;
+/**
+ * @ignore
+ */
+UsageHostHour.attributeTypeMap = {
+    agentHostCount: {
+        baseName: "agent_host_count",
+        type: "number",
+        format: "int64",
+    },
+    alibabaHostCount: {
+        baseName: "alibaba_host_count",
+        type: "number",
+        format: "int64",
+    },
+    apmAzureAppServiceHostCount: {
+        baseName: "apm_azure_app_service_host_count",
+        type: "number",
+        format: "int64",
+    },
+    apmHostCount: {
+        baseName: "apm_host_count",
+        type: "number",
+        format: "int64",
+    },
+    awsHostCount: {
+        baseName: "aws_host_count",
+        type: "number",
+        format: "int64",
+    },
+    azureHostCount: {
+        baseName: "azure_host_count",
+        type: "number",
+        format: "int64",
+    },
+    containerCount: {
+        baseName: "container_count",
+        type: "number",
+        format: "int64",
+    },
+    gcpHostCount: {
+        baseName: "gcp_host_count",
+        type: "number",
+        format: "int64",
+    },
+    herokuHostCount: {
+        baseName: "heroku_host_count",
+        type: "number",
+        format: "int64",
+    },
+    hostCount: {
+        baseName: "host_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    infraAzureAppService: {
+        baseName: "infra_azure_app_service",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryApmHostCount: {
+        baseName: "opentelemetry_apm_host_count",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryHostCount: {
+        baseName: "opentelemetry_host_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    vsphereHostCount: {
+        baseName: "vsphere_host_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageHostHour.js.map
+
+/***/ }),
+
+/***/ 8479:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageHostsResponse = void 0;
+/**
+ * Host usage response.
+ */
+class UsageHostsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageHostsResponse.attributeTypeMap;
+    }
+}
+exports.UsageHostsResponse = UsageHostsResponse;
+/**
+ * @ignore
+ */
+UsageHostsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageHostsResponse.js.map
+
+/***/ }),
+
+/***/ 5048:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIncidentManagementHour = void 0;
+/**
+ * Incident management usage for a given organization for a given hour.
+ */
+class UsageIncidentManagementHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIncidentManagementHour.attributeTypeMap;
+    }
+}
+exports.UsageIncidentManagementHour = UsageIncidentManagementHour;
+/**
+ * @ignore
+ */
+UsageIncidentManagementHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    monthlyActiveUsers: {
+        baseName: "monthly_active_users",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageIncidentManagementHour.js.map
+
+/***/ }),
+
+/***/ 83765:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIncidentManagementResponse = void 0;
+/**
+ * Response containing the incident management usage for each hour for a given organization.
+ */
+class UsageIncidentManagementResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIncidentManagementResponse.attributeTypeMap;
+    }
+}
+exports.UsageIncidentManagementResponse = UsageIncidentManagementResponse;
+/**
+ * @ignore
+ */
+UsageIncidentManagementResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageIncidentManagementResponse.js.map
+
+/***/ }),
+
+/***/ 19433:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIndexedSpansHour = void 0;
+/**
+ * The hours of indexed spans usage.
+ */
+class UsageIndexedSpansHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIndexedSpansHour.attributeTypeMap;
+    }
+}
+exports.UsageIndexedSpansHour = UsageIndexedSpansHour;
+/**
+ * @ignore
+ */
+UsageIndexedSpansHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    indexedEventsCount: {
+        baseName: "indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageIndexedSpansHour.js.map
+
+/***/ }),
+
+/***/ 22976:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIndexedSpansResponse = void 0;
+/**
+ * A response containing indexed spans usage.
+ */
+class UsageIndexedSpansResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIndexedSpansResponse.attributeTypeMap;
+    }
+}
+exports.UsageIndexedSpansResponse = UsageIndexedSpansResponse;
+/**
+ * @ignore
+ */
+UsageIndexedSpansResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageIndexedSpansResponse.js.map
+
+/***/ }),
+
+/***/ 53223:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIngestedSpansHour = void 0;
+/**
+ * Ingested spans usage for a given organization for a given hour.
+ */
+class UsageIngestedSpansHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIngestedSpansHour.attributeTypeMap;
+    }
+}
+exports.UsageIngestedSpansHour = UsageIngestedSpansHour;
+/**
+ * @ignore
+ */
+UsageIngestedSpansHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    ingestedEventsBytes: {
+        baseName: "ingested_events_bytes",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageIngestedSpansHour.js.map
+
+/***/ }),
+
+/***/ 9369:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIngestedSpansResponse = void 0;
+/**
+ * Response containing the ingested spans usage for each hour for a given organization.
+ */
+class UsageIngestedSpansResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIngestedSpansResponse.attributeTypeMap;
+    }
+}
+exports.UsageIngestedSpansResponse = UsageIngestedSpansResponse;
+/**
+ * @ignore
+ */
+UsageIngestedSpansResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageIngestedSpansResponse.js.map
+
+/***/ }),
+
+/***/ 97690:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIoTHour = void 0;
+/**
+ * IoT usage for a given organization for a given hour.
+ */
+class UsageIoTHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIoTHour.attributeTypeMap;
+    }
+}
+exports.UsageIoTHour = UsageIoTHour;
+/**
+ * @ignore
+ */
+UsageIoTHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    iotDeviceCount: {
+        baseName: "iot_device_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageIoTHour.js.map
+
+/***/ }),
+
+/***/ 92713:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageIoTResponse = void 0;
+/**
+ * Response containing the IoT usage for each hour for a given organization.
+ */
+class UsageIoTResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageIoTResponse.attributeTypeMap;
+    }
+}
+exports.UsageIoTResponse = UsageIoTResponse;
+/**
+ * @ignore
+ */
+UsageIoTResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageIoTResponse.js.map
+
+/***/ }),
+
+/***/ 34087:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLambdaHour = void 0;
+/**
+ * Number of lambda functions and sum of the invocations of all lambda functions
+ * for each hour for a given organization.
+ */
+class UsageLambdaHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLambdaHour.attributeTypeMap;
+    }
+}
+exports.UsageLambdaHour = UsageLambdaHour;
+/**
+ * @ignore
+ */
+UsageLambdaHour.attributeTypeMap = {
+    funcCount: {
+        baseName: "func_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    invocationsSum: {
+        baseName: "invocations_sum",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageLambdaHour.js.map
+
+/***/ }),
+
+/***/ 71231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLambdaResponse = void 0;
+/**
+ * Response containing the number of lambda functions and sum of the invocations of all lambda functions
+ * for each hour for a given organization.
+ */
+class UsageLambdaResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLambdaResponse.attributeTypeMap;
+    }
+}
+exports.UsageLambdaResponse = UsageLambdaResponse;
+/**
+ * @ignore
+ */
+UsageLambdaResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageLambdaResponse.js.map
+
+/***/ }),
+
+/***/ 59324:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsByIndexHour = void 0;
+/**
+ * Number of indexed logs for each hour and index for a given organization.
+ */
+class UsageLogsByIndexHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsByIndexHour.attributeTypeMap;
+    }
+}
+exports.UsageLogsByIndexHour = UsageLogsByIndexHour;
+/**
+ * @ignore
+ */
+UsageLogsByIndexHour.attributeTypeMap = {
+    eventCount: {
+        baseName: "event_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    indexId: {
+        baseName: "index_id",
+        type: "string",
+    },
+    indexName: {
+        baseName: "index_name",
+        type: "string",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    retention: {
+        baseName: "retention",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageLogsByIndexHour.js.map
+
+/***/ }),
+
+/***/ 43777:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsByIndexResponse = void 0;
+/**
+ * Response containing the number of indexed logs for each hour and index for a given organization.
+ */
+class UsageLogsByIndexResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsByIndexResponse.attributeTypeMap;
+    }
+}
+exports.UsageLogsByIndexResponse = UsageLogsByIndexResponse;
+/**
+ * @ignore
+ */
+UsageLogsByIndexResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageLogsByIndexResponse.js.map
+
+/***/ }),
+
+/***/ 51022:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsByRetentionHour = void 0;
+/**
+ * The number of indexed logs for each hour for a given organization broken down by retention period.
+ */
+class UsageLogsByRetentionHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsByRetentionHour.attributeTypeMap;
+    }
+}
+exports.UsageLogsByRetentionHour = UsageLogsByRetentionHour;
+/**
+ * @ignore
+ */
+UsageLogsByRetentionHour.attributeTypeMap = {
+    indexedEventsCount: {
+        baseName: "indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    liveIndexedEventsCount: {
+        baseName: "live_indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    rehydratedIndexedEventsCount: {
+        baseName: "rehydrated_indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    retention: {
+        baseName: "retention",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageLogsByRetentionHour.js.map
+
+/***/ }),
+
+/***/ 22817:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsByRetentionResponse = void 0;
+/**
+ * Response containing the indexed logs usage broken down by retention period for an organization during a given hour.
+ */
+class UsageLogsByRetentionResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsByRetentionResponse.attributeTypeMap;
+    }
+}
+exports.UsageLogsByRetentionResponse = UsageLogsByRetentionResponse;
+/**
+ * @ignore
+ */
+UsageLogsByRetentionResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageLogsByRetentionResponse.js.map
+
+/***/ }),
+
+/***/ 87978:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsHour = void 0;
+/**
+ * Hour usage for logs.
+ */
+class UsageLogsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsHour.attributeTypeMap;
+    }
+}
+exports.UsageLogsHour = UsageLogsHour;
+/**
+ * @ignore
+ */
+UsageLogsHour.attributeTypeMap = {
+    billableIngestedBytes: {
+        baseName: "billable_ingested_bytes",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    indexedEventsCount: {
+        baseName: "indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    ingestedEventsBytes: {
+        baseName: "ingested_events_bytes",
+        type: "number",
+        format: "int64",
+    },
+    logsForwardingEventsBytes: {
+        baseName: "logs_forwarding_events_bytes",
+        type: "number",
+        format: "int64",
+    },
+    logsLiveIndexedCount: {
+        baseName: "logs_live_indexed_count",
+        type: "number",
+        format: "int64",
+    },
+    logsLiveIngestedBytes: {
+        baseName: "logs_live_ingested_bytes",
+        type: "number",
+        format: "int64",
+    },
+    logsRehydratedIndexedCount: {
+        baseName: "logs_rehydrated_indexed_count",
+        type: "number",
+        format: "int64",
+    },
+    logsRehydratedIngestedBytes: {
+        baseName: "logs_rehydrated_ingested_bytes",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageLogsHour.js.map
+
+/***/ }),
+
+/***/ 21077:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLogsResponse = void 0;
+/**
+ * Response containing the number of logs for each hour.
+ */
+class UsageLogsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLogsResponse.attributeTypeMap;
+    }
+}
+exports.UsageLogsResponse = UsageLogsResponse;
+/**
+ * @ignore
+ */
+UsageLogsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageLogsResponse.js.map
+
+/***/ }),
+
+/***/ 18375:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageNetworkFlowsHour = void 0;
+/**
+ * Number of netflow events indexed for each hour for a given organization.
+ */
+class UsageNetworkFlowsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageNetworkFlowsHour.attributeTypeMap;
+    }
+}
+exports.UsageNetworkFlowsHour = UsageNetworkFlowsHour;
+/**
+ * @ignore
+ */
+UsageNetworkFlowsHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    indexedEventsCount: {
+        baseName: "indexed_events_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageNetworkFlowsHour.js.map
+
+/***/ }),
+
+/***/ 86162:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageNetworkFlowsResponse = void 0;
+/**
+ * Response containing the number of netflow events indexed for each hour for a given organization.
+ */
+class UsageNetworkFlowsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageNetworkFlowsResponse.attributeTypeMap;
+    }
+}
+exports.UsageNetworkFlowsResponse = UsageNetworkFlowsResponse;
+/**
+ * @ignore
+ */
+UsageNetworkFlowsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageNetworkFlowsResponse.js.map
+
+/***/ }),
+
+/***/ 645:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageNetworkHostsHour = void 0;
+/**
+ * Number of active NPM hosts for each hour for a given organization.
+ */
+class UsageNetworkHostsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageNetworkHostsHour.attributeTypeMap;
+    }
+}
+exports.UsageNetworkHostsHour = UsageNetworkHostsHour;
+/**
+ * @ignore
+ */
+UsageNetworkHostsHour.attributeTypeMap = {
+    hostCount: {
+        baseName: "host_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageNetworkHostsHour.js.map
+
+/***/ }),
+
+/***/ 96327:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageNetworkHostsResponse = void 0;
+/**
+ * Response containing the number of active NPM hosts for each hour for a given organization.
+ */
+class UsageNetworkHostsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageNetworkHostsResponse.attributeTypeMap;
+    }
+}
+exports.UsageNetworkHostsResponse = UsageNetworkHostsResponse;
+/**
+ * @ignore
+ */
+UsageNetworkHostsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageNetworkHostsResponse.js.map
+
+/***/ }),
+
+/***/ 92958:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageOnlineArchiveHour = void 0;
+/**
+ * Online Archive usage in a given hour.
+ */
+class UsageOnlineArchiveHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageOnlineArchiveHour.attributeTypeMap;
+    }
+}
+exports.UsageOnlineArchiveHour = UsageOnlineArchiveHour;
+/**
+ * @ignore
+ */
+UsageOnlineArchiveHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    onlineArchiveEventsCount: {
+        baseName: "online_archive_events_count",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageOnlineArchiveHour.js.map
+
+/***/ }),
+
+/***/ 97201:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageOnlineArchiveResponse = void 0;
+/**
+ * Online Archive usage response.
+ */
+class UsageOnlineArchiveResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageOnlineArchiveResponse.attributeTypeMap;
+    }
+}
+exports.UsageOnlineArchiveResponse = UsageOnlineArchiveResponse;
+/**
+ * @ignore
+ */
+UsageOnlineArchiveResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageOnlineArchiveResponse.js.map
+
+/***/ }),
+
+/***/ 29986:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageProfilingHour = void 0;
+/**
+ * The number of profiled hosts for each hour for a given organization.
+ */
+class UsageProfilingHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageProfilingHour.attributeTypeMap;
+    }
+}
+exports.UsageProfilingHour = UsageProfilingHour;
+/**
+ * @ignore
+ */
+UsageProfilingHour.attributeTypeMap = {
+    aasCount: {
+        baseName: "aas_count",
+        type: "number",
+        format: "int64",
+    },
+    avgContainerAgentCount: {
+        baseName: "avg_container_agent_count",
+        type: "number",
+        format: "int64",
+    },
+    hostCount: {
+        baseName: "host_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageProfilingHour.js.map
+
+/***/ }),
+
+/***/ 42478:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageProfilingResponse = void 0;
+/**
+ * Response containing the number of profiled hosts for each hour for a given organization.
+ */
+class UsageProfilingResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageProfilingResponse.attributeTypeMap;
+    }
+}
+exports.UsageProfilingResponse = UsageProfilingResponse;
+/**
+ * @ignore
+ */
+UsageProfilingResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageProfilingResponse.js.map
+
+/***/ }),
+
+/***/ 27702:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageRumSessionsHour = void 0;
+/**
+ * Number of RUM Sessions recorded for each hour for a given organization.
+ */
+class UsageRumSessionsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageRumSessionsHour.attributeTypeMap;
+    }
+}
+exports.UsageRumSessionsHour = UsageRumSessionsHour;
+/**
+ * @ignore
+ */
+UsageRumSessionsHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    replaySessionCount: {
+        baseName: "replay_session_count",
+        type: "number",
+        format: "int64",
+    },
+    sessionCount: {
+        baseName: "session_count",
+        type: "number",
+        format: "int64",
+    },
+    sessionCountAndroid: {
+        baseName: "session_count_android",
+        type: "number",
+        format: "int64",
+    },
+    sessionCountFlutter: {
+        baseName: "session_count_flutter",
+        type: "number",
+        format: "int64",
+    },
+    sessionCountIos: {
+        baseName: "session_count_ios",
+        type: "number",
+        format: "int64",
+    },
+    sessionCountReactnative: {
+        baseName: "session_count_reactnative",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageRumSessionsHour.js.map
+
+/***/ }),
+
+/***/ 46027:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageRumSessionsResponse = void 0;
+/**
+ * Response containing the number of RUM Sessions for each hour for a given organization.
+ */
+class UsageRumSessionsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageRumSessionsResponse.attributeTypeMap;
+    }
+}
+exports.UsageRumSessionsResponse = UsageRumSessionsResponse;
+/**
+ * @ignore
+ */
+UsageRumSessionsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageRumSessionsResponse.js.map
+
+/***/ }),
+
+/***/ 11289:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageRumUnitsHour = void 0;
+/**
+ * Number of RUM Units used for each hour for a given organization (data available as of November 1, 2021).
+ */
+class UsageRumUnitsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageRumUnitsHour.attributeTypeMap;
+    }
+}
+exports.UsageRumUnitsHour = UsageRumUnitsHour;
+/**
+ * @ignore
+ */
+UsageRumUnitsHour.attributeTypeMap = {
+    browserRumUnits: {
+        baseName: "browser_rum_units",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumUnits: {
+        baseName: "mobile_rum_units",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    rumUnits: {
+        baseName: "rum_units",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageRumUnitsHour.js.map
+
+/***/ }),
+
+/***/ 32233:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageRumUnitsResponse = void 0;
+/**
+ * Response containing the number of RUM Units for each hour for a given organization.
+ */
+class UsageRumUnitsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageRumUnitsResponse.attributeTypeMap;
+    }
+}
+exports.UsageRumUnitsResponse = UsageRumUnitsResponse;
+/**
+ * @ignore
+ */
+UsageRumUnitsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageRumUnitsResponse.js.map
+
+/***/ }),
+
+/***/ 67233:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSDSHour = void 0;
+/**
+ * Sensitive Data Scanner usage for a given organization for a given hour.
+ */
+class UsageSDSHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSDSHour.attributeTypeMap;
+    }
+}
+exports.UsageSDSHour = UsageSDSHour;
+/**
+ * @ignore
+ */
+UsageSDSHour.attributeTypeMap = {
+    apmScannedBytes: {
+        baseName: "apm_scanned_bytes",
+        type: "number",
+        format: "int64",
+    },
+    eventsScannedBytes: {
+        baseName: "events_scanned_bytes",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    logsScannedBytes: {
+        baseName: "logs_scanned_bytes",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    rumScannedBytes: {
+        baseName: "rum_scanned_bytes",
+        type: "number",
+        format: "int64",
+    },
+    totalScannedBytes: {
+        baseName: "total_scanned_bytes",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSDSHour.js.map
+
+/***/ }),
+
+/***/ 28995:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSDSResponse = void 0;
+/**
+ * Response containing the Sensitive Data Scanner usage for each hour for a given organization.
+ */
+class UsageSDSResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSDSResponse.attributeTypeMap;
+    }
+}
+exports.UsageSDSResponse = UsageSDSResponse;
+/**
+ * @ignore
+ */
+UsageSDSResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSDSResponse.js.map
+
+/***/ }),
+
+/***/ 38107:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSNMPHour = void 0;
+/**
+ * The number of SNMP devices for each hour for a given organization.
+ */
+class UsageSNMPHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSNMPHour.attributeTypeMap;
+    }
+}
+exports.UsageSNMPHour = UsageSNMPHour;
+/**
+ * @ignore
+ */
+UsageSNMPHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    snmpDevices: {
+        baseName: "snmp_devices",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSNMPHour.js.map
+
+/***/ }),
+
+/***/ 84744:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSNMPResponse = void 0;
+/**
+ * Response containing the number of SNMP devices for each hour for a given organization.
+ */
+class UsageSNMPResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSNMPResponse.attributeTypeMap;
+    }
+}
+exports.UsageSNMPResponse = UsageSNMPResponse;
+/**
+ * @ignore
+ */
+UsageSNMPResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSNMPResponse.js.map
+
+/***/ }),
+
+/***/ 64846:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSpecifiedCustomReportsAttributes = void 0;
+/**
+ * The response containing attributes for specified custom reports.
+ */
+class UsageSpecifiedCustomReportsAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSpecifiedCustomReportsAttributes.attributeTypeMap;
+    }
+}
+exports.UsageSpecifiedCustomReportsAttributes = UsageSpecifiedCustomReportsAttributes;
+/**
+ * @ignore
+ */
+UsageSpecifiedCustomReportsAttributes.attributeTypeMap = {
+    computedOn: {
+        baseName: "computed_on",
+        type: "string",
+    },
+    endDate: {
+        baseName: "end_date",
+        type: "string",
+    },
+    location: {
+        baseName: "location",
+        type: "string",
+    },
+    size: {
+        baseName: "size",
+        type: "number",
+        format: "int64",
+    },
+    startDate: {
+        baseName: "start_date",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSpecifiedCustomReportsAttributes.js.map
+
+/***/ }),
+
+/***/ 577:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSpecifiedCustomReportsData = void 0;
+/**
+ * Response containing date and type for specified custom reports.
+ */
+class UsageSpecifiedCustomReportsData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSpecifiedCustomReportsData.attributeTypeMap;
+    }
+}
+exports.UsageSpecifiedCustomReportsData = UsageSpecifiedCustomReportsData;
+/**
+ * @ignore
+ */
+UsageSpecifiedCustomReportsData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UsageSpecifiedCustomReportsAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "UsageReportsType",
+    },
+};
+//# sourceMappingURL=UsageSpecifiedCustomReportsData.js.map
+
+/***/ }),
+
+/***/ 89745:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSpecifiedCustomReportsMeta = void 0;
+/**
+ * The object containing document metadata.
+ */
+class UsageSpecifiedCustomReportsMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSpecifiedCustomReportsMeta.attributeTypeMap;
+    }
+}
+exports.UsageSpecifiedCustomReportsMeta = UsageSpecifiedCustomReportsMeta;
+/**
+ * @ignore
+ */
+UsageSpecifiedCustomReportsMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "UsageSpecifiedCustomReportsPage",
+    },
+};
+//# sourceMappingURL=UsageSpecifiedCustomReportsMeta.js.map
+
+/***/ }),
+
+/***/ 80239:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSpecifiedCustomReportsPage = void 0;
+/**
+ * The object containing page total count for specified ID.
+ */
+class UsageSpecifiedCustomReportsPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSpecifiedCustomReportsPage.attributeTypeMap;
+    }
+}
+exports.UsageSpecifiedCustomReportsPage = UsageSpecifiedCustomReportsPage;
+/**
+ * @ignore
+ */
+UsageSpecifiedCustomReportsPage.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSpecifiedCustomReportsPage.js.map
+
+/***/ }),
+
+/***/ 46409:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSpecifiedCustomReportsResponse = void 0;
+/**
+ * Returns available specified custom reports.
+ */
+class UsageSpecifiedCustomReportsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSpecifiedCustomReportsResponse.attributeTypeMap;
+    }
+}
+exports.UsageSpecifiedCustomReportsResponse = UsageSpecifiedCustomReportsResponse;
+/**
+ * @ignore
+ */
+UsageSpecifiedCustomReportsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UsageSpecifiedCustomReportsData",
+    },
+    meta: {
+        baseName: "meta",
+        type: "UsageSpecifiedCustomReportsMeta",
+    },
+};
+//# sourceMappingURL=UsageSpecifiedCustomReportsResponse.js.map
+
+/***/ }),
+
+/***/ 18006:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSummaryDate = void 0;
+/**
+ * Response with hourly report of all data billed by Datadog all organizations.
+ */
+class UsageSummaryDate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSummaryDate.attributeTypeMap;
+    }
+}
+exports.UsageSummaryDate = UsageSummaryDate;
+/**
+ * @ignore
+ */
+UsageSummaryDate.attributeTypeMap = {
+    agentHostTop99p: {
+        baseName: "agent_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    apmAzureAppServiceHostTop99p: {
+        baseName: "apm_azure_app_service_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    apmFargateCountAvg: {
+        baseName: "apm_fargate_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    apmHostTop99p: {
+        baseName: "apm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    appsecFargateCountAvg: {
+        baseName: "appsec_fargate_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    auditLogsLinesIndexedSum: {
+        baseName: "audit_logs_lines_indexed_sum",
+        type: "number",
+        format: "int64",
+    },
+    auditTrailEnabledHwm: {
+        baseName: "audit_trail_enabled_hwm",
+        type: "number",
+        format: "int64",
+    },
+    avgProfiledFargateTasks: {
+        baseName: "avg_profiled_fargate_tasks",
+        type: "number",
+        format: "int64",
+    },
+    awsHostTop99p: {
+        baseName: "aws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaFuncCount: {
+        baseName: "aws_lambda_func_count",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaInvocationsSum: {
+        baseName: "aws_lambda_invocations_sum",
+        type: "number",
+        format: "int64",
+    },
+    azureAppServiceTop99p: {
+        baseName: "azure_app_service_top99p",
+        type: "number",
+        format: "int64",
+    },
+    billableIngestedBytesSum: {
+        baseName: "billable_ingested_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumLiteSessionCountSum: {
+        baseName: "browser_rum_lite_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumReplaySessionCountSum: {
+        baseName: "browser_rum_replay_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumUnitsSum: {
+        baseName: "browser_rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciPipelineIndexedSpansSum: {
+        baseName: "ci_pipeline_indexed_spans_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciTestIndexedSpansSum: {
+        baseName: "ci_test_indexed_spans_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityItrCommittersHwm: {
+        baseName: "ci_visibility_itr_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityPipelineCommittersHwm: {
+        baseName: "ci_visibility_pipeline_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityTestCommittersHwm: {
+        baseName: "ci_visibility_test_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAwsHostCountAvg: {
+        baseName: "cloud_cost_management_aws_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAzureHostCountAvg: {
+        baseName: "cloud_cost_management_azure_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementHostCountAvg: {
+        baseName: "cloud_cost_management_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerAvg: {
+        baseName: "container_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerExclAgentAvg: {
+        baseName: "container_excl_agent_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerHwm: {
+        baseName: "container_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cspmAasHostTop99p: {
+        baseName: "cspm_aas_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmAwsHostTop99p: {
+        baseName: "cspm_aws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmAzureHostTop99p: {
+        baseName: "cspm_azure_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerAvg: {
+        baseName: "cspm_container_avg",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerHwm: {
+        baseName: "cspm_container_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cspmGcpHostTop99p: {
+        baseName: "cspm_gcp_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmHostTop99p: {
+        baseName: "cspm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    customTsAvg: {
+        baseName: "custom_ts_avg",
+        type: "number",
+        format: "int64",
+    },
+    cwsContainerCountAvg: {
+        baseName: "cws_container_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cwsHostTop99p: {
+        baseName: "cws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    date: {
+        baseName: "date",
+        type: "Date",
+        format: "date-time",
+    },
+    dbmHostTop99p: {
+        baseName: "dbm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    dbmQueriesCountAvg: {
+        baseName: "dbm_queries_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    fargateTasksCountAvg: {
+        baseName: "fargate_tasks_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    fargateTasksCountHwm: {
+        baseName: "fargate_tasks_count_hwm",
+        type: "number",
+        format: "int64",
+    },
+    forwardingEventsBytesSum: {
+        baseName: "forwarding_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    gcpHostTop99p: {
+        baseName: "gcp_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    herokuHostTop99p: {
+        baseName: "heroku_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    incidentManagementMonthlyActiveUsersHwm: {
+        baseName: "incident_management_monthly_active_users_hwm",
+        type: "number",
+        format: "int64",
+    },
+    indexedEventsCountSum: {
+        baseName: "indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    infraHostTop99p: {
+        baseName: "infra_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    ingestedEventsBytesSum: {
+        baseName: "ingested_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceSum: {
+        baseName: "iot_device_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceTop99p: {
+        baseName: "iot_device_top99p",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumLiteSessionCountSum: {
+        baseName: "mobile_rum_lite_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountAndroidSum: {
+        baseName: "mobile_rum_session_count_android_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountFlutterSum: {
+        baseName: "mobile_rum_session_count_flutter_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountIosSum: {
+        baseName: "mobile_rum_session_count_ios_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountReactnativeSum: {
+        baseName: "mobile_rum_session_count_reactnative_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountRokuSum: {
+        baseName: "mobile_rum_session_count_roku_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountSum: {
+        baseName: "mobile_rum_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumUnitsSum: {
+        baseName: "mobile_rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    netflowIndexedEventsCountSum: {
+        baseName: "netflow_indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    npmHostTop99p: {
+        baseName: "npm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    observabilityPipelinesBytesProcessedSum: {
+        baseName: "observability_pipelines_bytes_processed_sum",
+        type: "number",
+        format: "int64",
+    },
+    onlineArchiveEventsCountSum: {
+        baseName: "online_archive_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryApmHostTop99p: {
+        baseName: "opentelemetry_apm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryHostTop99p: {
+        baseName: "opentelemetry_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    orgs: {
+        baseName: "orgs",
+        type: "Array",
+    },
+    profilingAasCountTop99p: {
+        baseName: "profiling_aas_count_top99p",
+        type: "number",
+        format: "int64",
+    },
+    profilingHostTop99p: {
+        baseName: "profiling_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    rumBrowserAndMobileSessionCount: {
+        baseName: "rum_browser_and_mobile_session_count",
+        type: "number",
+        format: "int64",
+    },
+    rumSessionCountSum: {
+        baseName: "rum_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumTotalSessionCountSum: {
+        baseName: "rum_total_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumUnitsSum: {
+        baseName: "rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsApmScannedBytesSum: {
+        baseName: "sds_apm_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsEventsScannedBytesSum: {
+        baseName: "sds_events_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsLogsScannedBytesSum: {
+        baseName: "sds_logs_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsRumScannedBytesSum: {
+        baseName: "sds_rum_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsTotalScannedBytesSum: {
+        baseName: "sds_total_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsBrowserCheckCallsCountSum: {
+        baseName: "synthetics_browser_check_calls_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsCheckCallsCountSum: {
+        baseName: "synthetics_check_calls_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsMobileTestRunsSum: {
+        baseName: "synthetics_mobile_test_runs_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsParallelTestingMaxSlotsHwm: {
+        baseName: "synthetics_parallel_testing_max_slots_hwm",
+        type: "number",
+        format: "int64",
+    },
+    traceSearchIndexedEventsCountSum: {
+        baseName: "trace_search_indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    twolIngestedEventsBytesSum: {
+        baseName: "twol_ingested_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    universalServiceMonitoringHostTop99p: {
+        baseName: "universal_service_monitoring_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    vsphereHostTop99p: {
+        baseName: "vsphere_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    vulnManagementHostCountTop99p: {
+        baseName: "vuln_management_host_count_top99p",
+        type: "number",
+        format: "int64",
+    },
+    workflowExecutionsUsageSum: {
+        baseName: "workflow_executions_usage_sum",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSummaryDate.js.map
+
+/***/ }),
+
+/***/ 43598:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSummaryDateOrg = void 0;
+/**
+ * Global hourly report of all data billed by Datadog for a given organization.
+ */
+class UsageSummaryDateOrg {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSummaryDateOrg.attributeTypeMap;
+    }
+}
+exports.UsageSummaryDateOrg = UsageSummaryDateOrg;
+/**
+ * @ignore
+ */
+UsageSummaryDateOrg.attributeTypeMap = {
+    agentHostTop99p: {
+        baseName: "agent_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    apmAzureAppServiceHostTop99p: {
+        baseName: "apm_azure_app_service_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    apmFargateCountAvg: {
+        baseName: "apm_fargate_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    apmHostTop99p: {
+        baseName: "apm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    appsecFargateCountAvg: {
+        baseName: "appsec_fargate_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    auditLogsLinesIndexedSum: {
+        baseName: "audit_logs_lines_indexed_sum",
+        type: "number",
+        format: "int64",
+    },
+    auditTrailEnabledHwm: {
+        baseName: "audit_trail_enabled_hwm",
+        type: "number",
+        format: "int64",
+    },
+    avgProfiledFargateTasks: {
+        baseName: "avg_profiled_fargate_tasks",
+        type: "number",
+        format: "int64",
+    },
+    awsHostTop99p: {
+        baseName: "aws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaFuncCount: {
+        baseName: "aws_lambda_func_count",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaInvocationsSum: {
+        baseName: "aws_lambda_invocations_sum",
+        type: "number",
+        format: "int64",
+    },
+    azureAppServiceTop99p: {
+        baseName: "azure_app_service_top99p",
+        type: "number",
+        format: "int64",
+    },
+    billableIngestedBytesSum: {
+        baseName: "billable_ingested_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumLiteSessionCountSum: {
+        baseName: "browser_rum_lite_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumReplaySessionCountSum: {
+        baseName: "browser_rum_replay_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumUnitsSum: {
+        baseName: "browser_rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciPipelineIndexedSpansSum: {
+        baseName: "ci_pipeline_indexed_spans_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciTestIndexedSpansSum: {
+        baseName: "ci_test_indexed_spans_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityItrCommittersHwm: {
+        baseName: "ci_visibility_itr_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityPipelineCommittersHwm: {
+        baseName: "ci_visibility_pipeline_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityTestCommittersHwm: {
+        baseName: "ci_visibility_test_committers_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAwsHostCountAvg: {
+        baseName: "cloud_cost_management_aws_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAzureHostCountAvg: {
+        baseName: "cloud_cost_management_azure_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementHostCountAvg: {
+        baseName: "cloud_cost_management_host_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerAvg: {
+        baseName: "container_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerExclAgentAvg: {
+        baseName: "container_excl_agent_avg",
+        type: "number",
+        format: "int64",
+    },
+    containerHwm: {
+        baseName: "container_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cspmAasHostTop99p: {
+        baseName: "cspm_aas_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmAwsHostTop99p: {
+        baseName: "cspm_aws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmAzureHostTop99p: {
+        baseName: "cspm_azure_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerAvg: {
+        baseName: "cspm_container_avg",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerHwm: {
+        baseName: "cspm_container_hwm",
+        type: "number",
+        format: "int64",
+    },
+    cspmGcpHostTop99p: {
+        baseName: "cspm_gcp_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    cspmHostTop99p: {
+        baseName: "cspm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    customTsAvg: {
+        baseName: "custom_ts_avg",
+        type: "number",
+        format: "int64",
+    },
+    cwsContainerCountAvg: {
+        baseName: "cws_container_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    cwsHostTop99p: {
+        baseName: "cws_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    dbmHostTop99pSum: {
+        baseName: "dbm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    dbmQueriesAvgSum: {
+        baseName: "dbm_queries_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    fargateTasksCountAvg: {
+        baseName: "fargate_tasks_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    fargateTasksCountHwm: {
+        baseName: "fargate_tasks_count_hwm",
+        type: "number",
+        format: "int64",
+    },
+    forwardingEventsBytesSum: {
+        baseName: "forwarding_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    gcpHostTop99p: {
+        baseName: "gcp_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    herokuHostTop99p: {
+        baseName: "heroku_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    incidentManagementMonthlyActiveUsersHwm: {
+        baseName: "incident_management_monthly_active_users_hwm",
+        type: "number",
+        format: "int64",
+    },
+    indexedEventsCountSum: {
+        baseName: "indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    infraHostTop99p: {
+        baseName: "infra_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    ingestedEventsBytesSum: {
+        baseName: "ingested_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceAggSum: {
+        baseName: "iot_device_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceTop99pSum: {
+        baseName: "iot_device_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumLiteSessionCountSum: {
+        baseName: "mobile_rum_lite_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountAndroidSum: {
+        baseName: "mobile_rum_session_count_android_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountFlutterSum: {
+        baseName: "mobile_rum_session_count_flutter_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountIosSum: {
+        baseName: "mobile_rum_session_count_ios_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountReactnativeSum: {
+        baseName: "mobile_rum_session_count_reactnative_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountRokuSum: {
+        baseName: "mobile_rum_session_count_roku_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountSum: {
+        baseName: "mobile_rum_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumUnitsSum: {
+        baseName: "mobile_rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    netflowIndexedEventsCountSum: {
+        baseName: "netflow_indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    npmHostTop99p: {
+        baseName: "npm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    observabilityPipelinesBytesProcessedSum: {
+        baseName: "observability_pipelines_bytes_processed_sum",
+        type: "number",
+        format: "int64",
+    },
+    onlineArchiveEventsCountSum: {
+        baseName: "online_archive_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryApmHostTop99p: {
+        baseName: "opentelemetry_apm_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryHostTop99p: {
+        baseName: "opentelemetry_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    profilingAasCountTop99p: {
+        baseName: "profiling_aas_count_top99p",
+        type: "number",
+        format: "int64",
+    },
+    profilingHostTop99p: {
+        baseName: "profiling_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    rumBrowserAndMobileSessionCount: {
+        baseName: "rum_browser_and_mobile_session_count",
+        type: "number",
+        format: "int64",
+    },
+    rumSessionCountSum: {
+        baseName: "rum_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumTotalSessionCountSum: {
+        baseName: "rum_total_session_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumUnitsSum: {
+        baseName: "rum_units_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsApmScannedBytesSum: {
+        baseName: "sds_apm_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsEventsScannedBytesSum: {
+        baseName: "sds_events_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsLogsScannedBytesSum: {
+        baseName: "sds_logs_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsRumScannedBytesSum: {
+        baseName: "sds_rum_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsTotalScannedBytesSum: {
+        baseName: "sds_total_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsBrowserCheckCallsCountSum: {
+        baseName: "synthetics_browser_check_calls_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsCheckCallsCountSum: {
+        baseName: "synthetics_check_calls_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsMobileTestRunsSum: {
+        baseName: "synthetics_mobile_test_runs_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsParallelTestingMaxSlotsHwm: {
+        baseName: "synthetics_parallel_testing_max_slots_hwm",
+        type: "number",
+        format: "int64",
+    },
+    traceSearchIndexedEventsCountSum: {
+        baseName: "trace_search_indexed_events_count_sum",
+        type: "number",
+        format: "int64",
+    },
+    twolIngestedEventsBytesSum: {
+        baseName: "twol_ingested_events_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    universalServiceMonitoringHostTop99p: {
+        baseName: "universal_service_monitoring_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    vsphereHostTop99p: {
+        baseName: "vsphere_host_top99p",
+        type: "number",
+        format: "int64",
+    },
+    vulnManagementHostCountTop99p: {
+        baseName: "vuln_management_host_count_top99p",
+        type: "number",
+        format: "int64",
+    },
+    workflowExecutionsUsageSum: {
+        baseName: "workflow_executions_usage_sum",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSummaryDateOrg.js.map
+
+/***/ }),
+
+/***/ 56234:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSummaryResponse = void 0;
+/**
+ * Response summarizing all usage aggregated across the months in the request for all organizations, and broken down by month and by organization.
+ */
+class UsageSummaryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSummaryResponse.attributeTypeMap;
+    }
+}
+exports.UsageSummaryResponse = UsageSummaryResponse;
+/**
+ * @ignore
+ */
+UsageSummaryResponse.attributeTypeMap = {
+    agentHostTop99pSum: {
+        baseName: "agent_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    apmAzureAppServiceHostTop99pSum: {
+        baseName: "apm_azure_app_service_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    apmFargateCountAvgSum: {
+        baseName: "apm_fargate_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    apmHostTop99pSum: {
+        baseName: "apm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    appsecFargateCountAvgSum: {
+        baseName: "appsec_fargate_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    auditLogsLinesIndexedAggSum: {
+        baseName: "audit_logs_lines_indexed_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    auditTrailEnabledHwmSum: {
+        baseName: "audit_trail_enabled_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    avgProfiledFargateTasksSum: {
+        baseName: "avg_profiled_fargate_tasks_sum",
+        type: "number",
+        format: "int64",
+    },
+    awsHostTop99pSum: {
+        baseName: "aws_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaFuncCount: {
+        baseName: "aws_lambda_func_count",
+        type: "number",
+        format: "int64",
+    },
+    awsLambdaInvocationsSum: {
+        baseName: "aws_lambda_invocations_sum",
+        type: "number",
+        format: "int64",
+    },
+    azureAppServiceTop99pSum: {
+        baseName: "azure_app_service_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    azureHostTop99pSum: {
+        baseName: "azure_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    billableIngestedBytesAggSum: {
+        baseName: "billable_ingested_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumLiteSessionCountAggSum: {
+        baseName: "browser_rum_lite_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumReplaySessionCountAggSum: {
+        baseName: "browser_rum_replay_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    browserRumUnitsAggSum: {
+        baseName: "browser_rum_units_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciPipelineIndexedSpansAggSum: {
+        baseName: "ci_pipeline_indexed_spans_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciTestIndexedSpansAggSum: {
+        baseName: "ci_test_indexed_spans_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityItrCommittersHwmSum: {
+        baseName: "ci_visibility_itr_committers_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityPipelineCommittersHwmSum: {
+        baseName: "ci_visibility_pipeline_committers_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    ciVisibilityTestCommittersHwmSum: {
+        baseName: "ci_visibility_test_committers_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAwsHostCountAvgSum: {
+        baseName: "cloud_cost_management_aws_host_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementAzureHostCountAvgSum: {
+        baseName: "cloud_cost_management_azure_host_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    cloudCostManagementHostCountAvgSum: {
+        baseName: "cloud_cost_management_host_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    containerAvgSum: {
+        baseName: "container_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    containerExclAgentAvgSum: {
+        baseName: "container_excl_agent_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    containerHwmSum: {
+        baseName: "container_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmAasHostTop99pSum: {
+        baseName: "cspm_aas_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmAwsHostTop99pSum: {
+        baseName: "cspm_aws_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmAzureHostTop99pSum: {
+        baseName: "cspm_azure_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerAvgSum: {
+        baseName: "cspm_container_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmContainerHwmSum: {
+        baseName: "cspm_container_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmGcpHostTop99pSum: {
+        baseName: "cspm_gcp_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    cspmHostTop99pSum: {
+        baseName: "cspm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    customTsSum: {
+        baseName: "custom_ts_sum",
+        type: "number",
+        format: "int64",
+    },
+    cwsContainersAvgSum: {
+        baseName: "cws_containers_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    cwsHostTop99pSum: {
+        baseName: "cws_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    dbmHostTop99pSum: {
+        baseName: "dbm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    dbmQueriesAvgSum: {
+        baseName: "dbm_queries_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    endDate: {
+        baseName: "end_date",
+        type: "Date",
+        format: "date-time",
+    },
+    fargateTasksCountAvgSum: {
+        baseName: "fargate_tasks_count_avg_sum",
+        type: "number",
+        format: "int64",
+    },
+    fargateTasksCountHwmSum: {
+        baseName: "fargate_tasks_count_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    forwardingEventsBytesAggSum: {
+        baseName: "forwarding_events_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    gcpHostTop99pSum: {
+        baseName: "gcp_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    herokuHostTop99pSum: {
+        baseName: "heroku_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    incidentManagementMonthlyActiveUsersHwmSum: {
+        baseName: "incident_management_monthly_active_users_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    indexedEventsCountAggSum: {
+        baseName: "indexed_events_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    infraHostTop99pSum: {
+        baseName: "infra_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    ingestedEventsBytesAggSum: {
+        baseName: "ingested_events_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceAggSum: {
+        baseName: "iot_device_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    iotDeviceTop99pSum: {
+        baseName: "iot_device_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    lastUpdated: {
+        baseName: "last_updated",
+        type: "Date",
+        format: "date-time",
+    },
+    liveIndexedEventsAggSum: {
+        baseName: "live_indexed_events_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    liveIngestedBytesAggSum: {
+        baseName: "live_ingested_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    logsByRetention: {
+        baseName: "logs_by_retention",
+        type: "LogsByRetention",
+    },
+    mobileRumLiteSessionCountAggSum: {
+        baseName: "mobile_rum_lite_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountAggSum: {
+        baseName: "mobile_rum_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountAndroidAggSum: {
+        baseName: "mobile_rum_session_count_android_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountFlutterAggSum: {
+        baseName: "mobile_rum_session_count_flutter_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountIosAggSum: {
+        baseName: "mobile_rum_session_count_ios_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountReactnativeAggSum: {
+        baseName: "mobile_rum_session_count_reactnative_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumSessionCountRokuAggSum: {
+        baseName: "mobile_rum_session_count_roku_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    mobileRumUnitsAggSum: {
+        baseName: "mobile_rum_units_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    netflowIndexedEventsCountAggSum: {
+        baseName: "netflow_indexed_events_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    npmHostTop99pSum: {
+        baseName: "npm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    observabilityPipelinesBytesProcessedAggSum: {
+        baseName: "observability_pipelines_bytes_processed_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    onlineArchiveEventsCountAggSum: {
+        baseName: "online_archive_events_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryApmHostTop99pSum: {
+        baseName: "opentelemetry_apm_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    opentelemetryHostTop99pSum: {
+        baseName: "opentelemetry_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    profilingAasCountTop99pSum: {
+        baseName: "profiling_aas_count_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    profilingContainerAgentCountAvg: {
+        baseName: "profiling_container_agent_count_avg",
+        type: "number",
+        format: "int64",
+    },
+    profilingHostCountTop99pSum: {
+        baseName: "profiling_host_count_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    rehydratedIndexedEventsAggSum: {
+        baseName: "rehydrated_indexed_events_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    rehydratedIngestedBytesAggSum: {
+        baseName: "rehydrated_ingested_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumBrowserAndMobileSessionCount: {
+        baseName: "rum_browser_and_mobile_session_count",
+        type: "number",
+        format: "int64",
+    },
+    rumSessionCountAggSum: {
+        baseName: "rum_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumTotalSessionCountAggSum: {
+        baseName: "rum_total_session_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    rumUnitsAggSum: {
+        baseName: "rum_units_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsApmScannedBytesSum: {
+        baseName: "sds_apm_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsEventsScannedBytesSum: {
+        baseName: "sds_events_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsLogsScannedBytesSum: {
+        baseName: "sds_logs_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsRumScannedBytesSum: {
+        baseName: "sds_rum_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    sdsTotalScannedBytesSum: {
+        baseName: "sds_total_scanned_bytes_sum",
+        type: "number",
+        format: "int64",
+    },
+    startDate: {
+        baseName: "start_date",
+        type: "Date",
+        format: "date-time",
+    },
+    syntheticsBrowserCheckCallsCountAggSum: {
+        baseName: "synthetics_browser_check_calls_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsCheckCallsCountAggSum: {
+        baseName: "synthetics_check_calls_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsMobileTestRunsAggSum: {
+        baseName: "synthetics_mobile_test_runs_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    syntheticsParallelTestingMaxSlotsHwmSum: {
+        baseName: "synthetics_parallel_testing_max_slots_hwm_sum",
+        type: "number",
+        format: "int64",
+    },
+    traceSearchIndexedEventsCountAggSum: {
+        baseName: "trace_search_indexed_events_count_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    twolIngestedEventsBytesAggSum: {
+        baseName: "twol_ingested_events_bytes_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+    universalServiceMonitoringHostTop99pSum: {
+        baseName: "universal_service_monitoring_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+    vsphereHostTop99pSum: {
+        baseName: "vsphere_host_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    vulnManagementHostCountTop99pSum: {
+        baseName: "vuln_management_host_count_top99p_sum",
+        type: "number",
+        format: "int64",
+    },
+    workflowExecutionsUsageAggSum: {
+        baseName: "workflow_executions_usage_agg_sum",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageSummaryResponse.js.map
+
+/***/ }),
+
+/***/ 90314:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsAPIHour = void 0;
+/**
+ * Number of Synthetics API tests run for each hour for a given organization.
+ */
+class UsageSyntheticsAPIHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsAPIHour.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsAPIHour = UsageSyntheticsAPIHour;
+/**
+ * @ignore
+ */
+UsageSyntheticsAPIHour.attributeTypeMap = {
+    checkCallsCount: {
+        baseName: "check_calls_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsAPIHour.js.map
+
+/***/ }),
+
+/***/ 24604:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsAPIResponse = void 0;
+/**
+ * Response containing the number of Synthetics API tests run for each hour for a given organization.
+ */
+class UsageSyntheticsAPIResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsAPIResponse.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsAPIResponse = UsageSyntheticsAPIResponse;
+/**
+ * @ignore
+ */
+UsageSyntheticsAPIResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsAPIResponse.js.map
+
+/***/ }),
+
+/***/ 46913:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsBrowserHour = void 0;
+/**
+ * Number of Synthetics Browser tests run for each hour for a given organization.
+ */
+class UsageSyntheticsBrowserHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsBrowserHour.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsBrowserHour = UsageSyntheticsBrowserHour;
+/**
+ * @ignore
+ */
+UsageSyntheticsBrowserHour.attributeTypeMap = {
+    browserCheckCallsCount: {
+        baseName: "browser_check_calls_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsBrowserHour.js.map
+
+/***/ }),
+
+/***/ 89680:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsBrowserResponse = void 0;
+/**
+ * Response containing the number of Synthetics Browser tests run for each hour for a given organization.
+ */
+class UsageSyntheticsBrowserResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsBrowserResponse.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsBrowserResponse = UsageSyntheticsBrowserResponse;
+/**
+ * @ignore
+ */
+UsageSyntheticsBrowserResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsBrowserResponse.js.map
+
+/***/ }),
+
+/***/ 59999:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsHour = void 0;
+/**
+ * The number of synthetics tests run for each hour for a given organization.
+ */
+class UsageSyntheticsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsHour.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsHour = UsageSyntheticsHour;
+/**
+ * @ignore
+ */
+UsageSyntheticsHour.attributeTypeMap = {
+    checkCallsCount: {
+        baseName: "check_calls_count",
+        type: "number",
+        format: "int64",
+    },
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsHour.js.map
+
+/***/ }),
+
+/***/ 49891:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageSyntheticsResponse = void 0;
+/**
+ * Response containing the number of Synthetics API tests run for each hour for a given organization.
+ */
+class UsageSyntheticsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageSyntheticsResponse.attributeTypeMap;
+    }
+}
+exports.UsageSyntheticsResponse = UsageSyntheticsResponse;
+/**
+ * @ignore
+ */
+UsageSyntheticsResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageSyntheticsResponse.js.map
+
+/***/ }),
+
+/***/ 23957:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTimeseriesHour = void 0;
+/**
+ * The hourly usage of timeseries.
+ */
+class UsageTimeseriesHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTimeseriesHour.attributeTypeMap;
+    }
+}
+exports.UsageTimeseriesHour = UsageTimeseriesHour;
+/**
+ * @ignore
+ */
+UsageTimeseriesHour.attributeTypeMap = {
+    hour: {
+        baseName: "hour",
+        type: "Date",
+        format: "date-time",
+    },
+    numCustomInputTimeseries: {
+        baseName: "num_custom_input_timeseries",
+        type: "number",
+        format: "int64",
+    },
+    numCustomOutputTimeseries: {
+        baseName: "num_custom_output_timeseries",
+        type: "number",
+        format: "int64",
+    },
+    numCustomTimeseries: {
+        baseName: "num_custom_timeseries",
+        type: "number",
+        format: "int64",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageTimeseriesHour.js.map
+
+/***/ }),
+
+/***/ 69988:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTimeseriesResponse = void 0;
+/**
+ * Response containing hourly usage of timeseries.
+ */
+class UsageTimeseriesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTimeseriesResponse.attributeTypeMap;
+    }
+}
+exports.UsageTimeseriesResponse = UsageTimeseriesResponse;
+/**
+ * @ignore
+ */
+UsageTimeseriesResponse.attributeTypeMap = {
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageTimeseriesResponse.js.map
+
+/***/ }),
+
+/***/ 52569:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTopAvgMetricsHour = void 0;
+/**
+ * Number of hourly recorded custom metrics for a given organization.
+ */
+class UsageTopAvgMetricsHour {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTopAvgMetricsHour.attributeTypeMap;
+    }
+}
+exports.UsageTopAvgMetricsHour = UsageTopAvgMetricsHour;
+/**
+ * @ignore
+ */
+UsageTopAvgMetricsHour.attributeTypeMap = {
+    avgMetricHour: {
+        baseName: "avg_metric_hour",
+        type: "number",
+        format: "int64",
+    },
+    maxMetricHour: {
+        baseName: "max_metric_hour",
+        type: "number",
+        format: "int64",
+    },
+    metricCategory: {
+        baseName: "metric_category",
+        type: "UsageMetricCategory",
+    },
+    metricName: {
+        baseName: "metric_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UsageTopAvgMetricsHour.js.map
+
+/***/ }),
+
+/***/ 98109:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTopAvgMetricsMetadata = void 0;
+/**
+ * The object containing document metadata.
+ */
+class UsageTopAvgMetricsMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTopAvgMetricsMetadata.attributeTypeMap;
+    }
+}
+exports.UsageTopAvgMetricsMetadata = UsageTopAvgMetricsMetadata;
+/**
+ * @ignore
+ */
+UsageTopAvgMetricsMetadata.attributeTypeMap = {
+    day: {
+        baseName: "day",
+        type: "Date",
+        format: "date-time",
+    },
+    month: {
+        baseName: "month",
+        type: "Date",
+        format: "date-time",
+    },
+    pagination: {
+        baseName: "pagination",
+        type: "UsageTopAvgMetricsPagination",
+    },
+};
+//# sourceMappingURL=UsageTopAvgMetricsMetadata.js.map
+
+/***/ }),
+
+/***/ 161:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTopAvgMetricsPagination = void 0;
+/**
+ * The metadata for the current pagination.
+ */
+class UsageTopAvgMetricsPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTopAvgMetricsPagination.attributeTypeMap;
+    }
+}
+exports.UsageTopAvgMetricsPagination = UsageTopAvgMetricsPagination;
+/**
+ * @ignore
+ */
+UsageTopAvgMetricsPagination.attributeTypeMap = {
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    nextRecordId: {
+        baseName: "next_record_id",
+        type: "string",
+    },
+    totalNumberOfRecords: {
+        baseName: "total_number_of_records",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageTopAvgMetricsPagination.js.map
+
+/***/ }),
+
+/***/ 90619:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTopAvgMetricsResponse = void 0;
+/**
+ * Response containing the number of hourly recorded custom metrics for a given organization.
+ */
+class UsageTopAvgMetricsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTopAvgMetricsResponse.attributeTypeMap;
+    }
+}
+exports.UsageTopAvgMetricsResponse = UsageTopAvgMetricsResponse;
+/**
+ * @ignore
+ */
+UsageTopAvgMetricsResponse.attributeTypeMap = {
+    metadata: {
+        baseName: "metadata",
+        type: "UsageTopAvgMetricsMetadata",
+    },
+    usage: {
+        baseName: "usage",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageTopAvgMetricsResponse.js.map
+
+/***/ }),
+
+/***/ 98881:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.User = void 0;
+/**
+ * Create, edit, and disable users.
+ */
+class User {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return User.attributeTypeMap;
+    }
+}
+exports.User = User;
+/**
+ * @ignore
+ */
+User.attributeTypeMap = {
+    accessRole: {
+        baseName: "access_role",
+        type: "AccessRole",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+        format: "email",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+        format: "email",
+    },
+    icon: {
+        baseName: "icon",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    verified: {
+        baseName: "verified",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=User.js.map
+
+/***/ }),
+
+/***/ 3816:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserDisableResponse = void 0;
+/**
+ * Array of user disabled for a given organization.
+ */
+class UserDisableResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserDisableResponse.attributeTypeMap;
+    }
+}
+exports.UserDisableResponse = UserDisableResponse;
+/**
+ * @ignore
+ */
+UserDisableResponse.attributeTypeMap = {
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UserDisableResponse.js.map
+
+/***/ }),
+
+/***/ 93161:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserListResponse = void 0;
+/**
+ * Array of Datadog users for a given organization.
+ */
+class UserListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserListResponse.attributeTypeMap;
+    }
+}
+exports.UserListResponse = UserListResponse;
+/**
+ * @ignore
+ */
+UserListResponse.attributeTypeMap = {
+    users: {
+        baseName: "users",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UserListResponse.js.map
+
+/***/ }),
+
+/***/ 27368:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserResponse = void 0;
+/**
+ * A Datadog User.
+ */
+class UserResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserResponse.attributeTypeMap;
+    }
+}
+exports.UserResponse = UserResponse;
+/**
+ * @ignore
+ */
+UserResponse.attributeTypeMap = {
+    user: {
+        baseName: "user",
+        type: "User",
+    },
+};
+//# sourceMappingURL=UserResponse.js.map
+
+/***/ }),
+
+/***/ 9236:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegration = void 0;
+/**
+ * Datadog-Webhooks integration.
+ */
+class WebhooksIntegration {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WebhooksIntegration.attributeTypeMap;
+    }
+}
+exports.WebhooksIntegration = WebhooksIntegration;
+/**
+ * @ignore
+ */
+WebhooksIntegration.attributeTypeMap = {
+    customHeaders: {
+        baseName: "custom_headers",
+        type: "string",
+    },
+    encodeAs: {
+        baseName: "encode_as",
+        type: "WebhooksIntegrationEncoding",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    payload: {
+        baseName: "payload",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=WebhooksIntegration.js.map
+
+/***/ }),
+
+/***/ 48946:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegrationCustomVariable = void 0;
+/**
+ * Custom variable for Webhook integration.
+ */
+class WebhooksIntegrationCustomVariable {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WebhooksIntegrationCustomVariable.attributeTypeMap;
+    }
+}
+exports.WebhooksIntegrationCustomVariable = WebhooksIntegrationCustomVariable;
+/**
+ * @ignore
+ */
+WebhooksIntegrationCustomVariable.attributeTypeMap = {
+    isSecret: {
+        baseName: "is_secret",
+        type: "boolean",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=WebhooksIntegrationCustomVariable.js.map
+
+/***/ }),
+
+/***/ 8147:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegrationCustomVariableResponse = void 0;
+/**
+ * Custom variable for Webhook integration.
+ */
+class WebhooksIntegrationCustomVariableResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WebhooksIntegrationCustomVariableResponse.attributeTypeMap;
+    }
+}
+exports.WebhooksIntegrationCustomVariableResponse = WebhooksIntegrationCustomVariableResponse;
+/**
+ * @ignore
+ */
+WebhooksIntegrationCustomVariableResponse.attributeTypeMap = {
+    isSecret: {
+        baseName: "is_secret",
+        type: "boolean",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WebhooksIntegrationCustomVariableResponse.js.map
+
+/***/ }),
+
+/***/ 91337:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegrationCustomVariableUpdateRequest = void 0;
+/**
+ * Update request of a custom variable object.
+ *
+ * *All properties are optional.*
+ */
+class WebhooksIntegrationCustomVariableUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WebhooksIntegrationCustomVariableUpdateRequest.attributeTypeMap;
+    }
+}
+exports.WebhooksIntegrationCustomVariableUpdateRequest = WebhooksIntegrationCustomVariableUpdateRequest;
+/**
+ * @ignore
+ */
+WebhooksIntegrationCustomVariableUpdateRequest.attributeTypeMap = {
+    isSecret: {
+        baseName: "is_secret",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WebhooksIntegrationCustomVariableUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 24504:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WebhooksIntegrationUpdateRequest = void 0;
+/**
+ * Update request of a Webhooks integration object.
+ *
+ * *All properties are optional.*
+ */
+class WebhooksIntegrationUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WebhooksIntegrationUpdateRequest.attributeTypeMap;
+    }
+}
+exports.WebhooksIntegrationUpdateRequest = WebhooksIntegrationUpdateRequest;
+/**
+ * @ignore
+ */
+WebhooksIntegrationUpdateRequest.attributeTypeMap = {
+    customHeaders: {
+        baseName: "custom_headers",
+        type: "string",
+    },
+    encodeAs: {
+        baseName: "encode_as",
+        type: "WebhooksIntegrationEncoding",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    payload: {
+        baseName: "payload",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WebhooksIntegrationUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 37523:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Widget = void 0;
+/**
+ * Information about widget.
+ *
+ * **Note**: The `layout` property is required for widgets in dashboards with `free` `layout_type`.
+ *       For the **new dashboard layout**, the `layout` property depends on the `reflow_type` of the dashboard.
+ *       - If `reflow_type` is `fixed`, `layout` is required.
+ *       - If `reflow_type` is `auto`, `layout` should not be set.
+ */
+class Widget {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Widget.attributeTypeMap;
+    }
+}
+exports.Widget = Widget;
+/**
+ * @ignore
+ */
+Widget.attributeTypeMap = {
+    definition: {
+        baseName: "definition",
+        type: "WidgetDefinition",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    layout: {
+        baseName: "layout",
+        type: "WidgetLayout",
+    },
+};
+//# sourceMappingURL=Widget.js.map
+
+/***/ }),
+
+/***/ 36606:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetAxis = void 0;
+/**
+ * Axis controls for the widget.
+ */
+class WidgetAxis {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetAxis.attributeTypeMap;
+    }
+}
+exports.WidgetAxis = WidgetAxis;
+/**
+ * @ignore
+ */
+WidgetAxis.attributeTypeMap = {
+    includeZero: {
+        baseName: "include_zero",
+        type: "boolean",
+    },
+    label: {
+        baseName: "label",
+        type: "string",
+    },
+    max: {
+        baseName: "max",
+        type: "string",
+    },
+    min: {
+        baseName: "min",
+        type: "string",
+    },
+    scale: {
+        baseName: "scale",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WidgetAxis.js.map
+
+/***/ }),
+
+/***/ 81207:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetConditionalFormat = void 0;
+/**
+ * Define a conditional format for the widget.
+ */
+class WidgetConditionalFormat {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetConditionalFormat.attributeTypeMap;
+    }
+}
+exports.WidgetConditionalFormat = WidgetConditionalFormat;
+/**
+ * @ignore
+ */
+WidgetConditionalFormat.attributeTypeMap = {
+    comparator: {
+        baseName: "comparator",
+        type: "WidgetComparator",
+        required: true,
+    },
+    customBgColor: {
+        baseName: "custom_bg_color",
+        type: "string",
+    },
+    customFgColor: {
+        baseName: "custom_fg_color",
+        type: "string",
+    },
+    hideValue: {
+        baseName: "hide_value",
+        type: "boolean",
+    },
+    imageUrl: {
+        baseName: "image_url",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    palette: {
+        baseName: "palette",
+        type: "WidgetPalette",
+        required: true,
+    },
+    timeframe: {
+        baseName: "timeframe",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=WidgetConditionalFormat.js.map
+
+/***/ }),
+
+/***/ 44847:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetCustomLink = void 0;
+/**
+ * Custom links help you connect a data value to a URL, like a Datadog page or your AWS console.
+ */
+class WidgetCustomLink {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetCustomLink.attributeTypeMap;
+    }
+}
+exports.WidgetCustomLink = WidgetCustomLink;
+/**
+ * @ignore
+ */
+WidgetCustomLink.attributeTypeMap = {
+    isHidden: {
+        baseName: "is_hidden",
+        type: "boolean",
+    },
+    label: {
+        baseName: "label",
+        type: "string",
+    },
+    link: {
+        baseName: "link",
+        type: "string",
+    },
+    overrideLabel: {
+        baseName: "override_label",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WidgetCustomLink.js.map
+
+/***/ }),
+
+/***/ 46180:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetEvent = void 0;
+/**
+ * Event overlay control options.
+ *
+ * See the dedicated [Events JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/widget_json/#events-schema)
+ * to learn how to build the ``.
+ */
+class WidgetEvent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetEvent.attributeTypeMap;
+    }
+}
+exports.WidgetEvent = WidgetEvent;
+/**
+ * @ignore
+ */
+WidgetEvent.attributeTypeMap = {
+    q: {
+        baseName: "q",
+        type: "string",
+        required: true,
+    },
+    tagsExecution: {
+        baseName: "tags_execution",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WidgetEvent.js.map
+
+/***/ }),
+
+/***/ 60784:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetFieldSort = void 0;
+/**
+ * Which column and order to sort by
+ */
+class WidgetFieldSort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetFieldSort.attributeTypeMap;
+    }
+}
+exports.WidgetFieldSort = WidgetFieldSort;
+/**
+ * @ignore
+ */
+WidgetFieldSort.attributeTypeMap = {
+    column: {
+        baseName: "column",
+        type: "string",
+        required: true,
+    },
+    order: {
+        baseName: "order",
+        type: "WidgetSort",
+        required: true,
+    },
+};
+//# sourceMappingURL=WidgetFieldSort.js.map
+
+/***/ }),
+
+/***/ 44679:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetFormula = void 0;
+/**
+ * Formula to be used in a widget query.
+ */
+class WidgetFormula {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetFormula.attributeTypeMap;
+    }
+}
+exports.WidgetFormula = WidgetFormula;
+/**
+ * @ignore
+ */
+WidgetFormula.attributeTypeMap = {
+    alias: {
+        baseName: "alias",
+        type: "string",
+    },
+    cellDisplayMode: {
+        baseName: "cell_display_mode",
+        type: "TableWidgetCellDisplayMode",
+    },
+    conditionalFormats: {
+        baseName: "conditional_formats",
+        type: "Array",
+    },
+    formula: {
+        baseName: "formula",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "WidgetFormulaLimit",
+    },
+    style: {
+        baseName: "style",
+        type: "WidgetFormulaStyle",
+    },
+};
+//# sourceMappingURL=WidgetFormula.js.map
+
+/***/ }),
+
+/***/ 92167:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetFormulaLimit = void 0;
+/**
+ * Options for limiting results returned.
+ */
+class WidgetFormulaLimit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetFormulaLimit.attributeTypeMap;
+    }
+}
+exports.WidgetFormulaLimit = WidgetFormulaLimit;
+/**
+ * @ignore
+ */
+WidgetFormulaLimit.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int64",
+    },
+    order: {
+        baseName: "order",
+        type: "QuerySortOrder",
+    },
+};
+//# sourceMappingURL=WidgetFormulaLimit.js.map
+
+/***/ }),
+
+/***/ 88913:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetFormulaStyle = void 0;
+/**
+ * Styling options for widget formulas.
+ */
+class WidgetFormulaStyle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetFormulaStyle.attributeTypeMap;
+    }
+}
+exports.WidgetFormulaStyle = WidgetFormulaStyle;
+/**
+ * @ignore
+ */
+WidgetFormulaStyle.attributeTypeMap = {
+    palette: {
+        baseName: "palette",
+        type: "string",
+    },
+    paletteIndex: {
+        baseName: "palette_index",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=WidgetFormulaStyle.js.map
+
+/***/ }),
+
+/***/ 74520:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetLayout = void 0;
+/**
+ * The layout for a widget on a `free` or **new dashboard layout** dashboard.
+ */
+class WidgetLayout {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetLayout.attributeTypeMap;
+    }
+}
+exports.WidgetLayout = WidgetLayout;
+/**
+ * @ignore
+ */
+WidgetLayout.attributeTypeMap = {
+    height: {
+        baseName: "height",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    isColumnBreak: {
+        baseName: "is_column_break",
+        type: "boolean",
+    },
+    width: {
+        baseName: "width",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    x: {
+        baseName: "x",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    y: {
+        baseName: "y",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+};
+//# sourceMappingURL=WidgetLayout.js.map
+
+/***/ }),
+
+/***/ 68975:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetMarker = void 0;
+/**
+ * Markers allow you to add visual conditional formatting for your graphs.
+ */
+class WidgetMarker {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetMarker.attributeTypeMap;
+    }
+}
+exports.WidgetMarker = WidgetMarker;
+/**
+ * @ignore
+ */
+WidgetMarker.attributeTypeMap = {
+    displayType: {
+        baseName: "display_type",
+        type: "string",
+    },
+    label: {
+        baseName: "label",
+        type: "string",
+    },
+    time: {
+        baseName: "time",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=WidgetMarker.js.map
+
+/***/ }),
+
+/***/ 35490:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetRequestStyle = void 0;
+/**
+ * Define request widget style.
+ */
+class WidgetRequestStyle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetRequestStyle.attributeTypeMap;
+    }
+}
+exports.WidgetRequestStyle = WidgetRequestStyle;
+/**
+ * @ignore
+ */
+WidgetRequestStyle.attributeTypeMap = {
+    lineType: {
+        baseName: "line_type",
+        type: "WidgetLineType",
+    },
+    lineWidth: {
+        baseName: "line_width",
+        type: "WidgetLineWidth",
+    },
+    palette: {
+        baseName: "palette",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WidgetRequestStyle.js.map
+
+/***/ }),
+
+/***/ 87224:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetStyle = void 0;
+/**
+ * Widget style definition.
+ */
+class WidgetStyle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetStyle.attributeTypeMap;
+    }
+}
+exports.WidgetStyle = WidgetStyle;
+/**
+ * @ignore
+ */
+WidgetStyle.attributeTypeMap = {
+    palette: {
+        baseName: "palette",
+        type: "string",
+    },
+};
+//# sourceMappingURL=WidgetStyle.js.map
+
+/***/ }),
+
+/***/ 12235:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WidgetTime = void 0;
+/**
+ * Time setting for the widget.
+ */
+class WidgetTime {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return WidgetTime.attributeTypeMap;
+    }
+}
+exports.WidgetTime = WidgetTime;
+/**
+ * @ignore
+ */
+WidgetTime.attributeTypeMap = {
+    liveSpan: {
+        baseName: "live_span",
+        type: "WidgetLiveSpan",
+    },
+};
+//# sourceMappingURL=WidgetTime.js.map
+
+/***/ }),
+
+/***/ 33496:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditApi = exports.AuditApiResponseProcessor = exports.AuditApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const AuditLogsQueryPageOptions_1 = __webpack_require__(55633);
+const AuditLogsSearchEventsRequest_1 = __webpack_require__(87612);
+class AuditApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    listAuditLogs(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/audit/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuditApi.listAuditLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "AuditLogsSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchAuditLogs(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/audit/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuditApi.searchAuditLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AuditLogsSearchEventsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AuditApiRequestFactory = AuditApiRequestFactory;
+class AuditApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAuditLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAuditLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuditLogsEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuditLogsEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchAuditLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchAuditLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuditLogsEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuditLogsEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AuditApiResponseProcessor = AuditApiResponseProcessor;
+class AuditApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AuditApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AuditApiResponseProcessor();
+    }
+    /**
+     * List endpoint returns events that match a Audit Logs search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to see your latest Audit Logs events.
+     *
+     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination
+     * @param param The request object
+     */
+    listAuditLogs(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listAuditLogs(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAuditLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listAuditLogs returning a generator with all the items.
+     */
+    listAuditLogsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listAuditLogsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listAuditLogs(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listAuditLogs(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns Audit Logs events that match an Audit search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to build complex Audit Logs events filtering and search.
+     *
+     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination
+     * @param param The request object
+     */
+    searchAuditLogs(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchAuditLogs(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchAuditLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchAuditLogs returning a generator with all the items.
+     */
+    searchAuditLogsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* searchAuditLogsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchAuditLogs(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchAuditLogs(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.AuditApi = AuditApi;
+//# sourceMappingURL=AuditApi.js.map
+
+/***/ }),
+
+/***/ 55996:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingsApi = exports.AuthNMappingsApiResponseProcessor = exports.AuthNMappingsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class AuthNMappingsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createAuthNMapping(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAuthNMapping");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/authn_mappings";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuthNMappingsApi.createAuthNMapping")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AuthNMappingCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAuthNMapping(authnMappingId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'authnMappingId' is not null or undefined
+            if (authnMappingId === null || authnMappingId === undefined) {
+                throw new baseapi_1.RequiredError("authnMappingId", "deleteAuthNMapping");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/authn_mappings/{authn_mapping_id}".replace("{authn_mapping_id}", encodeURIComponent(String(authnMappingId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuthNMappingsApi.deleteAuthNMapping")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAuthNMapping(authnMappingId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'authnMappingId' is not null or undefined
+            if (authnMappingId === null || authnMappingId === undefined) {
+                throw new baseapi_1.RequiredError("authnMappingId", "getAuthNMapping");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/authn_mappings/{authn_mapping_id}".replace("{authn_mapping_id}", encodeURIComponent(String(authnMappingId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuthNMappingsApi.getAuthNMapping")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAuthNMappings(pageSize, pageNumber, sort, filter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/authn_mappings";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuthNMappingsApi.listAuthNMappings")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "AuthNMappingsSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAuthNMapping(authnMappingId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'authnMappingId' is not null or undefined
+            if (authnMappingId === null || authnMappingId === undefined) {
+                throw new baseapi_1.RequiredError("authnMappingId", "updateAuthNMapping");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAuthNMapping");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/authn_mappings/{authn_mapping_id}".replace("{authn_mapping_id}", encodeURIComponent(String(authnMappingId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.AuthNMappingsApi.updateAuthNMapping")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "AuthNMappingUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.AuthNMappingsApiRequestFactory = AuthNMappingsApiRequestFactory;
+class AuthNMappingsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAuthNMapping
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAuthNMapping(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAuthNMapping
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAuthNMapping(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAuthNMapping
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAuthNMapping(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAuthNMappings
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAuthNMappings(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAuthNMapping
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAuthNMapping(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "AuthNMappingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.AuthNMappingsApiResponseProcessor = AuthNMappingsApiResponseProcessor;
+class AuthNMappingsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new AuthNMappingsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new AuthNMappingsApiResponseProcessor();
+    }
+    /**
+     * Create an AuthN Mapping.
+     * @param param The request object
+     */
+    createAuthNMapping(param, options) {
+        const requestContextPromise = this.requestFactory.createAuthNMapping(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAuthNMapping(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an AuthN Mapping specified by AuthN Mapping UUID.
+     * @param param The request object
+     */
+    deleteAuthNMapping(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAuthNMapping(param.authnMappingId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAuthNMapping(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an AuthN Mapping specified by the AuthN Mapping UUID.
+     * @param param The request object
+     */
+    getAuthNMapping(param, options) {
+        const requestContextPromise = this.requestFactory.getAuthNMapping(param.authnMappingId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAuthNMapping(responseContext);
+            });
+        });
+    }
+    /**
+     * List all AuthN Mappings in the org.
+     * @param param The request object
+     */
+    listAuthNMappings(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listAuthNMappings(param.pageSize, param.pageNumber, param.sort, param.filter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAuthNMappings(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an AuthN Mapping.
+     * @param param The request object
+     */
+    updateAuthNMapping(param, options) {
+        const requestContextPromise = this.requestFactory.updateAuthNMapping(param.authnMappingId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAuthNMapping(responseContext);
+            });
+        });
+    }
+}
+exports.AuthNMappingsApi = AuthNMappingsApi;
+//# sourceMappingURL=AuthNMappingsApi.js.map
+
+/***/ }),
+
+/***/ 5491:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIVisibilityPipelinesApi = exports.CIVisibilityPipelinesApiResponseProcessor = exports.CIVisibilityPipelinesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const CIAppPipelineEventsRequest_1 = __webpack_require__(49384);
+const CIAppQueryPageOptions_1 = __webpack_require__(56458);
+class CIVisibilityPipelinesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    aggregateCIAppPipelineEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "aggregateCIAppPipelineEvents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/ci/pipelines/analytics/aggregate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityPipelinesApi.aggregateCIAppPipelineEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CIAppPipelinesAggregateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createCIAppPipelineEvent(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createCIAppPipelineEvent'");
+            if (!_config.unstableOperations["v2.createCIAppPipelineEvent"]) {
+                throw new Error("Unstable operation 'createCIAppPipelineEvent' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createCIAppPipelineEvent");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/ci/pipeline";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityPipelinesApi.createCIAppPipelineEvent")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CIAppCreatePipelineEventRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listCIAppPipelineEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/ci/pipelines/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityPipelinesApi.listCIAppPipelineEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "CIAppSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchCIAppPipelineEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/ci/pipelines/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityPipelinesApi.searchCIAppPipelineEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CIAppPipelineEventsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.CIVisibilityPipelinesApiRequestFactory = CIVisibilityPipelinesApiRequestFactory;
+class CIVisibilityPipelinesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to aggregateCIAppPipelineEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    aggregateCIAppPipelineEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelinesAnalyticsAggregateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelinesAnalyticsAggregateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createCIAppPipelineEvent
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createCIAppPipelineEvent(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429 ||
+                response.httpStatusCode == 500 ||
+                response.httpStatusCode == 503) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "HTTPCIAppErrors");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listCIAppPipelineEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listCIAppPipelineEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelineEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelineEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchCIAppPipelineEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchCIAppPipelineEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelineEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppPipelineEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.CIVisibilityPipelinesApiResponseProcessor = CIVisibilityPipelinesApiResponseProcessor;
+class CIVisibilityPipelinesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new CIVisibilityPipelinesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new CIVisibilityPipelinesApiResponseProcessor();
+    }
+    /**
+     * Use this API endpoint to aggregate CI Visibility pipeline events into buckets of computed metrics and timeseries.
+     * @param param The request object
+     */
+    aggregateCIAppPipelineEvents(param, options) {
+        const requestContextPromise = this.requestFactory.aggregateCIAppPipelineEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.aggregateCIAppPipelineEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/).
+     *
+     * Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.
+     * @param param The request object
+     */
+    createCIAppPipelineEvent(param, options) {
+        const requestContextPromise = this.requestFactory.createCIAppPipelineEvent(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createCIAppPipelineEvent(responseContext);
+            });
+        });
+    }
+    /**
+     * List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to see your latest pipeline events.
+     * @param param The request object
+     */
+    listCIAppPipelineEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listCIAppPipelineEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listCIAppPipelineEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listCIAppPipelineEvents returning a generator with all the items.
+     */
+    listCIAppPipelineEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listCIAppPipelineEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listCIAppPipelineEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listCIAppPipelineEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to build complex events filtering and search.
+     * @param param The request object
+     */
+    searchCIAppPipelineEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchCIAppPipelineEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchCIAppPipelineEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchCIAppPipelineEvents returning a generator with all the items.
+     */
+    searchCIAppPipelineEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* searchCIAppPipelineEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new CIAppQueryPageOptions_1.CIAppQueryPageOptions();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchCIAppPipelineEvents(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchCIAppPipelineEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.CIVisibilityPipelinesApi = CIVisibilityPipelinesApi;
+//# sourceMappingURL=CIVisibilityPipelinesApi.js.map
+
+/***/ }),
+
+/***/ 24725:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIVisibilityTestsApi = exports.CIVisibilityTestsApiResponseProcessor = exports.CIVisibilityTestsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const CIAppQueryPageOptions_1 = __webpack_require__(56458);
+const CIAppTestEventsRequest_1 = __webpack_require__(44728);
+class CIVisibilityTestsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    aggregateCIAppTestEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "aggregateCIAppTestEvents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/ci/tests/analytics/aggregate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityTestsApi.aggregateCIAppTestEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CIAppTestsAggregateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listCIAppTestEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/ci/tests/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityTestsApi.listCIAppTestEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "CIAppSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchCIAppTestEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/ci/tests/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CIVisibilityTestsApi.searchCIAppTestEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CIAppTestEventsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.CIVisibilityTestsApiRequestFactory = CIVisibilityTestsApiRequestFactory;
+class CIVisibilityTestsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to aggregateCIAppTestEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    aggregateCIAppTestEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestsAnalyticsAggregateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestsAnalyticsAggregateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listCIAppTestEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listCIAppTestEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchCIAppTestEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchCIAppTestEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CIAppTestEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.CIVisibilityTestsApiResponseProcessor = CIVisibilityTestsApiResponseProcessor;
+class CIVisibilityTestsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new CIVisibilityTestsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new CIVisibilityTestsApiResponseProcessor();
+    }
+    /**
+     * The API endpoint to aggregate CI Visibility test events into buckets of computed metrics and timeseries.
+     * @param param The request object
+     */
+    aggregateCIAppTestEvents(param, options) {
+        const requestContextPromise = this.requestFactory.aggregateCIAppTestEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.aggregateCIAppTestEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * List endpoint returns CI Visibility test events that match a [log search query](https://docs.datadoghq.com/logs/explorer/search_syntax/).
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to see your latest test events.
+     * @param param The request object
+     */
+    listCIAppTestEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listCIAppTestEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listCIAppTestEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listCIAppTestEvents returning a generator with all the items.
+     */
+    listCIAppTestEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listCIAppTestEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listCIAppTestEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listCIAppTestEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns CI Visibility test events that match a [log search query](https://docs.datadoghq.com/logs/explorer/search_syntax/).
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to build complex events filtering and search.
+     * @param param The request object
+     */
+    searchCIAppTestEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchCIAppTestEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchCIAppTestEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchCIAppTestEvents returning a generator with all the items.
+     */
+    searchCIAppTestEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* searchCIAppTestEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new CIAppTestEventsRequest_1.CIAppTestEventsRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new CIAppQueryPageOptions_1.CIAppQueryPageOptions();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchCIAppTestEvents(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchCIAppTestEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.CIVisibilityTestsApi = CIVisibilityTestsApi;
+//# sourceMappingURL=CIVisibilityTestsApi.js.map
+
+/***/ }),
+
+/***/ 19661:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityApi = exports.CloudWorkloadSecurityApiResponseProcessor = exports.CloudWorkloadSecurityApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class CloudWorkloadSecurityApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createCloudWorkloadSecurityAgentRule(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createCloudWorkloadSecurityAgentRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/cloud_workload_security/agent_rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.createCloudWorkloadSecurityAgentRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CloudWorkloadSecurityAgentRuleCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteCloudWorkloadSecurityAgentRule(agentRuleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'agentRuleId' is not null or undefined
+            if (agentRuleId === null || agentRuleId === undefined) {
+                throw new baseapi_1.RequiredError("agentRuleId", "deleteCloudWorkloadSecurityAgentRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}".replace("{agent_rule_id}", encodeURIComponent(String(agentRuleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.deleteCloudWorkloadSecurityAgentRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    downloadCloudWorkloadPolicyFile(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security/cloud_workload/policy/download";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.downloadCloudWorkloadPolicyFile")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/yaml, application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getCloudWorkloadSecurityAgentRule(agentRuleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'agentRuleId' is not null or undefined
+            if (agentRuleId === null || agentRuleId === undefined) {
+                throw new baseapi_1.RequiredError("agentRuleId", "getCloudWorkloadSecurityAgentRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}".replace("{agent_rule_id}", encodeURIComponent(String(agentRuleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.getCloudWorkloadSecurityAgentRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listCloudWorkloadSecurityAgentRules(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/cloud_workload_security/agent_rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.listCloudWorkloadSecurityAgentRules")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateCloudWorkloadSecurityAgentRule(agentRuleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'agentRuleId' is not null or undefined
+            if (agentRuleId === null || agentRuleId === undefined) {
+                throw new baseapi_1.RequiredError("agentRuleId", "updateCloudWorkloadSecurityAgentRule");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateCloudWorkloadSecurityAgentRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}".replace("{agent_rule_id}", encodeURIComponent(String(agentRuleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudWorkloadSecurityApi.updateCloudWorkloadSecurityAgentRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CloudWorkloadSecurityAgentRuleUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.CloudWorkloadSecurityApiRequestFactory = CloudWorkloadSecurityApiRequestFactory;
+class CloudWorkloadSecurityApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createCloudWorkloadSecurityAgentRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createCloudWorkloadSecurityAgentRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteCloudWorkloadSecurityAgentRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteCloudWorkloadSecurityAgentRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to downloadCloudWorkloadPolicyFile
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    downloadCloudWorkloadPolicyFile(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = (yield response.getBodyAsFile());
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = (yield response.getBodyAsFile());
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getCloudWorkloadSecurityAgentRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getCloudWorkloadSecurityAgentRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listCloudWorkloadSecurityAgentRules
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listCloudWorkloadSecurityAgentRules(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRulesListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRulesListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateCloudWorkloadSecurityAgentRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateCloudWorkloadSecurityAgentRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudWorkloadSecurityAgentRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.CloudWorkloadSecurityApiResponseProcessor = CloudWorkloadSecurityApiResponseProcessor;
+class CloudWorkloadSecurityApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new CloudWorkloadSecurityApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new CloudWorkloadSecurityApiResponseProcessor();
+    }
+    /**
+     * Create a new Agent rule with the given parameters.
+     * @param param The request object
+     */
+    createCloudWorkloadSecurityAgentRule(param, options) {
+        const requestContextPromise = this.requestFactory.createCloudWorkloadSecurityAgentRule(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createCloudWorkloadSecurityAgentRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a specific Agent rule.
+     * @param param The request object
+     */
+    deleteCloudWorkloadSecurityAgentRule(param, options) {
+        const requestContextPromise = this.requestFactory.deleteCloudWorkloadSecurityAgentRule(param.agentRuleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteCloudWorkloadSecurityAgentRule(responseContext);
+            });
+        });
+    }
+    /**
+     * The download endpoint generates a Cloud Workload Security policy file from your currently active
+     * Cloud Workload Security rules, and downloads them as a .policy file. This file can then be deployed to
+     * your Agents to update the policy running in your environment.
+     * @param param The request object
+     */
+    downloadCloudWorkloadPolicyFile(options) {
+        const requestContextPromise = this.requestFactory.downloadCloudWorkloadPolicyFile(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.downloadCloudWorkloadPolicyFile(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the details of a specific Agent rule.
+     * @param param The request object
+     */
+    getCloudWorkloadSecurityAgentRule(param, options) {
+        const requestContextPromise = this.requestFactory.getCloudWorkloadSecurityAgentRule(param.agentRuleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getCloudWorkloadSecurityAgentRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of Agent rules.
+     * @param param The request object
+     */
+    listCloudWorkloadSecurityAgentRules(options) {
+        const requestContextPromise = this.requestFactory.listCloudWorkloadSecurityAgentRules(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listCloudWorkloadSecurityAgentRules(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a specific Agent rule.
+     * Returns the Agent rule object when the request is successful.
+     * @param param The request object
+     */
+    updateCloudWorkloadSecurityAgentRule(param, options) {
+        const requestContextPromise = this.requestFactory.updateCloudWorkloadSecurityAgentRule(param.agentRuleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateCloudWorkloadSecurityAgentRule(responseContext);
+            });
+        });
+    }
+}
+exports.CloudWorkloadSecurityApi = CloudWorkloadSecurityApi;
+//# sourceMappingURL=CloudWorkloadSecurityApi.js.map
+
+/***/ }),
+
+/***/ 15019:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareIntegrationApi = exports.CloudflareIntegrationApiResponseProcessor = exports.CloudflareIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class CloudflareIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createCloudflareAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createCloudflareAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/cloudflare/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudflareIntegrationApi.createCloudflareAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CloudflareAccountCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteCloudflareAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteCloudflareAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/cloudflare/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudflareIntegrationApi.deleteCloudflareAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getCloudflareAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "getCloudflareAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/cloudflare/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudflareIntegrationApi.getCloudflareAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listCloudflareAccounts(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integrations/cloudflare/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudflareIntegrationApi.listCloudflareAccounts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateCloudflareAccount(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateCloudflareAccount");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateCloudflareAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/cloudflare/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.CloudflareIntegrationApi.updateCloudflareAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "CloudflareAccountUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.CloudflareIntegrationApiRequestFactory = CloudflareIntegrationApiRequestFactory;
+class CloudflareIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createCloudflareAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createCloudflareAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteCloudflareAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteCloudflareAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getCloudflareAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getCloudflareAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listCloudflareAccounts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listCloudflareAccounts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateCloudflareAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateCloudflareAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CloudflareAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.CloudflareIntegrationApiResponseProcessor = CloudflareIntegrationApiResponseProcessor;
+class CloudflareIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new CloudflareIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new CloudflareIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a Cloudflare account.
+     * @param param The request object
+     */
+    createCloudflareAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createCloudflareAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createCloudflareAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Cloudflare account.
+     * @param param The request object
+     */
+    deleteCloudflareAccount(param, options) {
+        const requestContextPromise = this.requestFactory.deleteCloudflareAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteCloudflareAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Cloudflare account.
+     * @param param The request object
+     */
+    getCloudflareAccount(param, options) {
+        const requestContextPromise = this.requestFactory.getCloudflareAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getCloudflareAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * List Cloudflare accounts.
+     * @param param The request object
+     */
+    listCloudflareAccounts(options) {
+        const requestContextPromise = this.requestFactory.listCloudflareAccounts(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listCloudflareAccounts(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Cloudflare account.
+     * @param param The request object
+     */
+    updateCloudflareAccount(param, options) {
+        const requestContextPromise = this.requestFactory.updateCloudflareAccount(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateCloudflareAccount(responseContext);
+            });
+        });
+    }
+}
+exports.CloudflareIntegrationApi = CloudflareIntegrationApi;
+//# sourceMappingURL=CloudflareIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 15500:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentCloudApi = exports.ConfluentCloudApiResponseProcessor = exports.ConfluentCloudApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class ConfluentCloudApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createConfluentAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createConfluentAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.createConfluentAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ConfluentAccountCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createConfluentResource(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "createConfluentResource");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createConfluentResource");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.createConfluentResource")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ConfluentResourceRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteConfluentAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteConfluentAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.deleteConfluentAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteConfluentResource(accountId, resourceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteConfluentResource");
+            }
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "deleteConfluentResource");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.deleteConfluentResource")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getConfluentAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "getConfluentAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.getConfluentAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getConfluentResource(accountId, resourceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "getConfluentResource");
+            }
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "getConfluentResource");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.getConfluentResource")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listConfluentAccount(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.listConfluentAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listConfluentResource(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "listConfluentResource");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.listConfluentResource")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateConfluentAccount(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateConfluentAccount");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateConfluentAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.updateConfluentAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ConfluentAccountUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateConfluentResource(accountId, resourceId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateConfluentResource");
+            }
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "updateConfluentResource");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateConfluentResource");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ConfluentCloudApi.updateConfluentResource")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ConfluentResourceRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ConfluentCloudApiRequestFactory = ConfluentCloudApiRequestFactory;
+class ConfluentCloudApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createConfluentAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createConfluentAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createConfluentResource
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createConfluentResource(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteConfluentAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteConfluentAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteConfluentResource
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteConfluentResource(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getConfluentAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getConfluentAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getConfluentResource
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getConfluentResource(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listConfluentAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listConfluentAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listConfluentResource
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listConfluentResource(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourcesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourcesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateConfluentAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateConfluentAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateConfluentResource
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateConfluentResource(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ConfluentResourceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ConfluentCloudApiResponseProcessor = ConfluentCloudApiResponseProcessor;
+class ConfluentCloudApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new ConfluentCloudApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ConfluentCloudApiResponseProcessor();
+    }
+    /**
+     * Create a Confluent account.
+     * @param param The request object
+     */
+    createConfluentAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createConfluentAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createConfluentAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a Confluent resource for the account associated with the provided ID.
+     * @param param The request object
+     */
+    createConfluentResource(param, options) {
+        const requestContextPromise = this.requestFactory.createConfluentResource(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createConfluentResource(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Confluent account with the provided account ID.
+     * @param param The request object
+     */
+    deleteConfluentAccount(param, options) {
+        const requestContextPromise = this.requestFactory.deleteConfluentAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteConfluentAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Confluent resource with the provided resource id for the account associated with the provided account ID.
+     * @param param The request object
+     */
+    deleteConfluentResource(param, options) {
+        const requestContextPromise = this.requestFactory.deleteConfluentResource(param.accountId, param.resourceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteConfluentResource(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the Confluent account with the provided account ID.
+     * @param param The request object
+     */
+    getConfluentAccount(param, options) {
+        const requestContextPromise = this.requestFactory.getConfluentAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getConfluentAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Confluent resource with the provided resource id for the account associated with the provided account ID.
+     * @param param The request object
+     */
+    getConfluentResource(param, options) {
+        const requestContextPromise = this.requestFactory.getConfluentResource(param.accountId, param.resourceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getConfluentResource(responseContext);
+            });
+        });
+    }
+    /**
+     * List Confluent accounts.
+     * @param param The request object
+     */
+    listConfluentAccount(options) {
+        const requestContextPromise = this.requestFactory.listConfluentAccount(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listConfluentAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Confluent resource for the account associated with the provided ID.
+     * @param param The request object
+     */
+    listConfluentResource(param, options) {
+        const requestContextPromise = this.requestFactory.listConfluentResource(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listConfluentResource(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the Confluent account with the provided account ID.
+     * @param param The request object
+     */
+    updateConfluentAccount(param, options) {
+        const requestContextPromise = this.requestFactory.updateConfluentAccount(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateConfluentAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Confluent resource with the provided resource id for the account associated with the provided account ID.
+     * @param param The request object
+     */
+    updateConfluentResource(param, options) {
+        const requestContextPromise = this.requestFactory.updateConfluentResource(param.accountId, param.resourceId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateConfluentResource(responseContext);
+            });
+        });
+    }
+}
+exports.ConfluentCloudApi = ConfluentCloudApi;
+//# sourceMappingURL=ConfluentCloudApi.js.map
+
+/***/ }),
+
+/***/ 54322:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListsApi = exports.DashboardListsApiResponseProcessor = exports.DashboardListsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class DashboardListsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createDashboardListItems(dashboardListId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardListId' is not null or undefined
+            if (dashboardListId === null || dashboardListId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardListId", "createDashboardListItems");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createDashboardListItems");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards".replace("{dashboard_list_id}", encodeURIComponent(String(dashboardListId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DashboardListsApi.createDashboardListItems")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardListAddItemsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteDashboardListItems(dashboardListId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardListId' is not null or undefined
+            if (dashboardListId === null || dashboardListId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardListId", "deleteDashboardListItems");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteDashboardListItems");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards".replace("{dashboard_list_id}", encodeURIComponent(String(dashboardListId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DashboardListsApi.deleteDashboardListItems")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardListDeleteItemsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getDashboardListItems(dashboardListId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardListId' is not null or undefined
+            if (dashboardListId === null || dashboardListId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardListId", "getDashboardListItems");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards".replace("{dashboard_list_id}", encodeURIComponent(String(dashboardListId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DashboardListsApi.getDashboardListItems")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateDashboardListItems(dashboardListId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'dashboardListId' is not null or undefined
+            if (dashboardListId === null || dashboardListId === undefined) {
+                throw new baseapi_1.RequiredError("dashboardListId", "updateDashboardListItems");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateDashboardListItems");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards".replace("{dashboard_list_id}", encodeURIComponent(String(dashboardListId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DashboardListsApi.updateDashboardListItems")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DashboardListUpdateItemsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.DashboardListsApiRequestFactory = DashboardListsApiRequestFactory;
+class DashboardListsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createDashboardListItems
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createDashboardListItems(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListAddItemsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListAddItemsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteDashboardListItems
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteDashboardListItems(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListDeleteItemsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListDeleteItemsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDashboardListItems
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDashboardListItems(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListItems");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListItems", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateDashboardListItems
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateDashboardListItems(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListUpdateItemsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DashboardListUpdateItemsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.DashboardListsApiResponseProcessor = DashboardListsApiResponseProcessor;
+class DashboardListsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new DashboardListsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new DashboardListsApiResponseProcessor();
+    }
+    /**
+     * Add dashboards to an existing dashboard list.
+     * @param param The request object
+     */
+    createDashboardListItems(param, options) {
+        const requestContextPromise = this.requestFactory.createDashboardListItems(param.dashboardListId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createDashboardListItems(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete dashboards from an existing dashboard list.
+     * @param param The request object
+     */
+    deleteDashboardListItems(param, options) {
+        const requestContextPromise = this.requestFactory.deleteDashboardListItems(param.dashboardListId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteDashboardListItems(responseContext);
+            });
+        });
+    }
+    /**
+     * Fetch the dashboard list’s dashboard definitions.
+     * @param param The request object
+     */
+    getDashboardListItems(param, options) {
+        const requestContextPromise = this.requestFactory.getDashboardListItems(param.dashboardListId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDashboardListItems(responseContext);
+            });
+        });
+    }
+    /**
+     * Update dashboards of an existing dashboard list.
+     * @param param The request object
+     */
+    updateDashboardListItems(param, options) {
+        const requestContextPromise = this.requestFactory.updateDashboardListItems(param.dashboardListId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateDashboardListItems(responseContext);
+            });
+        });
+    }
+}
+exports.DashboardListsApi = DashboardListsApi;
+//# sourceMappingURL=DashboardListsApi.js.map
+
+/***/ }),
+
+/***/ 69097:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimesApi = exports.DowntimesApiResponseProcessor = exports.DowntimesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class DowntimesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    cancelDowntime(downtimeId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "cancelDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.cancelDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createDowntime(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/downtime";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.createDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DowntimeCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getDowntime(downtimeId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "getDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.getDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listDowntimes(currentOnly, include, pageOffset, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/downtime";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.listDowntimes")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (currentOnly !== undefined) {
+                requestContext.setQueryParam("current_only", ObjectSerializer_1.ObjectSerializer.serialize(currentOnly, "boolean", ""));
+            }
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "string", ""));
+            }
+            if (pageOffset !== undefined) {
+                requestContext.setQueryParam("page[offset]", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, "number", "int64"));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listMonitorDowntimes(monitorId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'monitorId' is not null or undefined
+            if (monitorId === null || monitorId === undefined) {
+                throw new baseapi_1.RequiredError("monitorId", "listMonitorDowntimes");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/monitor/{monitor_id}/downtime_matches".replace("{monitor_id}", encodeURIComponent(String(monitorId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.listMonitorDowntimes")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateDowntime(downtimeId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'downtimeId' is not null or undefined
+            if (downtimeId === null || downtimeId === undefined) {
+                throw new baseapi_1.RequiredError("downtimeId", "updateDowntime");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateDowntime");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/downtime/{downtime_id}".replace("{downtime_id}", encodeURIComponent(String(downtimeId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.DowntimesApi.updateDowntime")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "DowntimeUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.DowntimesApiRequestFactory = DowntimesApiRequestFactory;
+class DowntimesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to cancelDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    cancelDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listDowntimes
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listDowntimes(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListDowntimesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListDowntimesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listMonitorDowntimes
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listMonitorDowntimes(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorDowntimeMatchResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorDowntimeMatchResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateDowntime
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateDowntime(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "DowntimeResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.DowntimesApiResponseProcessor = DowntimesApiResponseProcessor;
+class DowntimesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new DowntimesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new DowntimesApiResponseProcessor();
+    }
+    /**
+     * Cancel a downtime.
+     * @param param The request object
+     */
+    cancelDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.cancelDowntime(param.downtimeId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.cancelDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Schedule a downtime.
+     * @param param The request object
+     */
+    createDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.createDowntime(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Get downtime detail by `downtime_id`.
+     * @param param The request object
+     */
+    getDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.getDowntime(param.downtimeId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getDowntime(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all scheduled downtimes.
+     * @param param The request object
+     */
+    listDowntimes(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listDowntimes(param.currentOnly, param.include, param.pageOffset, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listDowntimes(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listDowntimes returning a generator with all the items.
+     */
+    listDowntimesWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listDowntimesWithPagination_1() {
+            let pageSize = 30;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listDowntimes(param.currentOnly, param.include, param.pageOffset, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listDowntimes(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.pageOffset === undefined) {
+                    param.pageOffset = pageSize;
+                }
+                else {
+                    param.pageOffset = param.pageOffset + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Get all active downtimes for the specified monitor.
+     * @param param The request object
+     */
+    listMonitorDowntimes(param, options) {
+        const requestContextPromise = this.requestFactory.listMonitorDowntimes(param.monitorId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listMonitorDowntimes(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a downtime by `downtime_id`.
+     * @param param The request object
+     */
+    updateDowntime(param, options) {
+        const requestContextPromise = this.requestFactory.updateDowntime(param.downtimeId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateDowntime(responseContext);
+            });
+        });
+    }
+}
+exports.DowntimesApi = DowntimesApi;
+//# sourceMappingURL=DowntimesApi.js.map
+
+/***/ }),
+
+/***/ 60334:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsApi = exports.EventsApiResponseProcessor = exports.EventsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const EventsListRequest_1 = __webpack_require__(6746);
+const EventsRequestPage_1 = __webpack_require__(81222);
+class EventsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    listEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listEvents'");
+            if (!_config.unstableOperations["v2.listEvents"]) {
+                throw new Error("Unstable operation 'listEvents' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.EventsApi.listEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "string", ""));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "string", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "EventsSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'searchEvents'");
+            if (!_config.unstableOperations["v2.searchEvents"]) {
+                throw new Error("Unstable operation 'searchEvents' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.EventsApi.searchEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "EventsListRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.EventsApiRequestFactory = EventsApiRequestFactory;
+class EventsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "EventsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.EventsApiResponseProcessor = EventsApiResponseProcessor;
+class EventsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new EventsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new EventsApiResponseProcessor();
+    }
+    /**
+     * List endpoint returns events that match an events search query.
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to see your latest events.
+     * @param param The request object
+     */
+    listEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listEvents returning a generator with all the items.
+     */
+    listEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns events that match an events search query.
+     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).
+     *
+     * Use this endpoint to build complex events filtering and search.
+     * @param param The request object
+     */
+    searchEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchEvents returning a generator with all the items.
+     */
+    searchEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* searchEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new EventsListRequest_1.EventsListRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new EventsRequestPage_1.EventsRequestPage();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchEvents(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.EventsApi = EventsApi;
+//# sourceMappingURL=EventsApi.js.map
+
+/***/ }),
+
+/***/ 41584:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyIntegrationApi = exports.FastlyIntegrationApiResponseProcessor = exports.FastlyIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class FastlyIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createFastlyAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createFastlyAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.createFastlyAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "FastlyAccountCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createFastlyService(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "createFastlyService");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createFastlyService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}/services".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.createFastlyService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "FastlyServiceRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteFastlyAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteFastlyAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.deleteFastlyAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteFastlyService(accountId, serviceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteFastlyService");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "deleteFastlyService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.deleteFastlyService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getFastlyAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "getFastlyAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.getFastlyAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getFastlyService(accountId, serviceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "getFastlyService");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "getFastlyService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.getFastlyService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listFastlyAccounts(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.listFastlyAccounts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listFastlyServices(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "listFastlyServices");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}/services".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.listFastlyServices")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateFastlyAccount(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateFastlyAccount");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateFastlyAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.updateFastlyAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "FastlyAccountUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateFastlyService(accountId, serviceId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateFastlyService");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "updateFastlyService");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateFastlyService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}"
+                .replace("{account_id}", encodeURIComponent(String(accountId)))
+                .replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.FastlyIntegrationApi.updateFastlyService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "FastlyServiceRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.FastlyIntegrationApiRequestFactory = FastlyIntegrationApiRequestFactory;
+class FastlyIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createFastlyAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createFastlyAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createFastlyService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createFastlyService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteFastlyAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteFastlyAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteFastlyService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteFastlyService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getFastlyAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getFastlyAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getFastlyService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getFastlyService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listFastlyAccounts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listFastlyAccounts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listFastlyServices
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listFastlyServices(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServicesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServicesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateFastlyAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateFastlyAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateFastlyService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateFastlyService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "FastlyServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.FastlyIntegrationApiResponseProcessor = FastlyIntegrationApiResponseProcessor;
+class FastlyIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new FastlyIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new FastlyIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a Fastly account.
+     * @param param The request object
+     */
+    createFastlyAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createFastlyAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createFastlyAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a Fastly service for an account.
+     * @param param The request object
+     */
+    createFastlyService(param, options) {
+        const requestContextPromise = this.requestFactory.createFastlyService(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createFastlyService(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Fastly account.
+     * @param param The request object
+     */
+    deleteFastlyAccount(param, options) {
+        const requestContextPromise = this.requestFactory.deleteFastlyAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteFastlyAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a Fastly service for an account.
+     * @param param The request object
+     */
+    deleteFastlyService(param, options) {
+        const requestContextPromise = this.requestFactory.deleteFastlyService(param.accountId, param.serviceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteFastlyService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Fastly account.
+     * @param param The request object
+     */
+    getFastlyAccount(param, options) {
+        const requestContextPromise = this.requestFactory.getFastlyAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getFastlyAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a Fastly service for an account.
+     * @param param The request object
+     */
+    getFastlyService(param, options) {
+        const requestContextPromise = this.requestFactory.getFastlyService(param.accountId, param.serviceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getFastlyService(responseContext);
+            });
+        });
+    }
+    /**
+     * List Fastly accounts.
+     * @param param The request object
+     */
+    listFastlyAccounts(options) {
+        const requestContextPromise = this.requestFactory.listFastlyAccounts(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listFastlyAccounts(responseContext);
+            });
+        });
+    }
+    /**
+     * List Fastly services for an account.
+     * @param param The request object
+     */
+    listFastlyServices(param, options) {
+        const requestContextPromise = this.requestFactory.listFastlyServices(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listFastlyServices(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Fastly account.
+     * @param param The request object
+     */
+    updateFastlyAccount(param, options) {
+        const requestContextPromise = this.requestFactory.updateFastlyAccount(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateFastlyAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a Fastly service for an account.
+     * @param param The request object
+     */
+    updateFastlyService(param, options) {
+        const requestContextPromise = this.requestFactory.updateFastlyService(param.accountId, param.serviceId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateFastlyService(responseContext);
+            });
+        });
+    }
+}
+exports.FastlyIntegrationApi = FastlyIntegrationApi;
+//# sourceMappingURL=FastlyIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 78955:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPIntegrationApi = exports.GCPIntegrationApiResponseProcessor = exports.GCPIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class GCPIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createGCPSTSAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createGCPSTSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.createGCPSTSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "GCPSTSServiceAccountCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteGCPSTSAccount(accountId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "deleteGCPSTSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.deleteGCPSTSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getGCPSTSDelegate(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/sts_delegate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.getGCPSTSDelegate")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listGCPSTSAccounts(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.listGCPSTSAccounts")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    makeGCPSTSDelegate(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/sts_delegate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.makeGCPSTSDelegate")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "any", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateGCPSTSAccount(accountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'accountId' is not null or undefined
+            if (accountId === null || accountId === undefined) {
+                throw new baseapi_1.RequiredError("accountId", "updateGCPSTSAccount");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateGCPSTSAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/gcp/accounts/{account_id}".replace("{account_id}", encodeURIComponent(String(accountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.GCPIntegrationApi.updateGCPSTSAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "GCPSTSServiceAccountUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.GCPIntegrationApiRequestFactory = GCPIntegrationApiRequestFactory;
+class GCPIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createGCPSTSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createGCPSTSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteGCPSTSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteGCPSTSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getGCPSTSDelegate
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getGCPSTSDelegate(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSDelegateAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSDelegateAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listGCPSTSAccounts
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listGCPSTSAccounts(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to makeGCPSTSDelegate
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    makeGCPSTSDelegate(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSDelegateAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSDelegateAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateGCPSTSAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateGCPSTSAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GCPSTSServiceAccountResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.GCPIntegrationApiResponseProcessor = GCPIntegrationApiResponseProcessor;
+class GCPIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new GCPIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new GCPIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a new entry within Datadog for your STS enabled service account.
+     * @param param The request object
+     */
+    createGCPSTSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createGCPSTSAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createGCPSTSAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an STS enabled GCP account from within Datadog.
+     * @param param The request object
+     */
+    deleteGCPSTSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.deleteGCPSTSAccount(param.accountId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteGCPSTSAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * List your Datadog-GCP STS delegate account configured in your Datadog account.
+     * @param param The request object
+     */
+    getGCPSTSDelegate(options) {
+        const requestContextPromise = this.requestFactory.getGCPSTSDelegate(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getGCPSTSDelegate(responseContext);
+            });
+        });
+    }
+    /**
+     * List all GCP STS-enabled service accounts configured in your Datadog account.
+     * @param param The request object
+     */
+    listGCPSTSAccounts(options) {
+        const requestContextPromise = this.requestFactory.listGCPSTSAccounts(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listGCPSTSAccounts(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a Datadog GCP principal.
+     * @param param The request object
+     */
+    makeGCPSTSDelegate(param = {}, options) {
+        const requestContextPromise = this.requestFactory.makeGCPSTSDelegate(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.makeGCPSTSDelegate(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an STS enabled service account.
+     * @param param The request object
+     */
+    updateGCPSTSAccount(param, options) {
+        const requestContextPromise = this.requestFactory.updateGCPSTSAccount(param.accountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateGCPSTSAccount(responseContext);
+            });
+        });
+    }
+}
+exports.GCPIntegrationApi = GCPIntegrationApi;
+//# sourceMappingURL=GCPIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 60678:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistApi = exports.IPAllowlistApiResponseProcessor = exports.IPAllowlistApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class IPAllowlistApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getIPAllowlist(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/ip_allowlist";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IPAllowlistApi.getIPAllowlist")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIPAllowlist(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIPAllowlist");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/ip_allowlist";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IPAllowlistApi.updateIPAllowlist")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IPAllowlistUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.IPAllowlistApiRequestFactory = IPAllowlistApiRequestFactory;
+class IPAllowlistApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIPAllowlist
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIPAllowlist(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPAllowlistResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPAllowlistResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIPAllowlist
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIPAllowlist(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPAllowlistResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IPAllowlistResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.IPAllowlistApiResponseProcessor = IPAllowlistApiResponseProcessor;
+class IPAllowlistApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new IPAllowlistApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new IPAllowlistApiResponseProcessor();
+    }
+    /**
+     * Returns the IP allowlist and its enabled or disabled state.
+     * @param param The request object
+     */
+    getIPAllowlist(options) {
+        const requestContextPromise = this.requestFactory.getIPAllowlist(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIPAllowlist(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit the entries in the IP allowlist, and enable or disable it.
+     * @param param The request object
+     */
+    updateIPAllowlist(param, options) {
+        const requestContextPromise = this.requestFactory.updateIPAllowlist(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIPAllowlist(responseContext);
+            });
+        });
+    }
+}
+exports.IPAllowlistApi = IPAllowlistApi;
+//# sourceMappingURL=IPAllowlistApi.js.map
+
+/***/ }),
+
+/***/ 50369:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServicesApi = exports.IncidentServicesApiResponseProcessor = exports.IncidentServicesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class IncidentServicesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createIncidentService(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createIncidentService'");
+            if (!_config.unstableOperations["v2.createIncidentService"]) {
+                throw new Error("Unstable operation 'createIncidentService' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createIncidentService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentServicesApi.createIncidentService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentServiceCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteIncidentService(serviceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'deleteIncidentService'");
+            if (!_config.unstableOperations["v2.deleteIncidentService"]) {
+                throw new Error("Unstable operation 'deleteIncidentService' is disabled");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "deleteIncidentService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/{service_id}".replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentServicesApi.deleteIncidentService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncidentService(serviceId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getIncidentService'");
+            if (!_config.unstableOperations["v2.getIncidentService"]) {
+                throw new Error("Unstable operation 'getIncidentService' is disabled");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "getIncidentService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/{service_id}".replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentServicesApi.getIncidentService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "IncidentRelatedObject", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidentServices(include, pageSize, pageOffset, filter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidentServices'");
+            if (!_config.unstableOperations["v2.listIncidentServices"]) {
+                throw new Error("Unstable operation 'listIncidentServices' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentServicesApi.listIncidentServices")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "IncidentRelatedObject", ""));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageOffset !== undefined) {
+                requestContext.setQueryParam("page[offset]", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, "number", "int64"));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncidentService(serviceId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncidentService'");
+            if (!_config.unstableOperations["v2.updateIncidentService"]) {
+                throw new Error("Unstable operation 'updateIncidentService' is disabled");
+            }
+            // verify required parameter 'serviceId' is not null or undefined
+            if (serviceId === null || serviceId === undefined) {
+                throw new baseapi_1.RequiredError("serviceId", "updateIncidentService");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncidentService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/{service_id}".replace("{service_id}", encodeURIComponent(String(serviceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentServicesApi.updateIncidentService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentServiceUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.IncidentServicesApiRequestFactory = IncidentServicesApiRequestFactory;
+class IncidentServicesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createIncidentService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createIncidentService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteIncidentService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteIncidentService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncidentService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncidentService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidentServices
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidentServices(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServicesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServicesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncidentService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncidentService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.IncidentServicesApiResponseProcessor = IncidentServicesApiResponseProcessor;
+class IncidentServicesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new IncidentServicesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new IncidentServicesApiResponseProcessor();
+    }
+    /**
+     * Creates a new incident service.
+     * @param param The request object
+     */
+    createIncidentService(param, options) {
+        const requestContextPromise = this.requestFactory.createIncidentService(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createIncidentService(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes an existing incident service.
+     * @param param The request object
+     */
+    deleteIncidentService(param, options) {
+        const requestContextPromise = this.requestFactory.deleteIncidentService(param.serviceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteIncidentService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get details of an incident service. If the `include[users]` query parameter is provided,
+     * the included attribute will contain the users related to these incident services.
+     * @param param The request object
+     */
+    getIncidentService(param, options) {
+        const requestContextPromise = this.requestFactory.getIncidentService(param.serviceId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncidentService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all incident services uploaded for the requesting user's organization. If the `include[users]` query parameter is provided, the included attribute will contain the users related to these incident services.
+     * @param param The request object
+     */
+    listIncidentServices(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listIncidentServices(param.include, param.pageSize, param.pageOffset, param.filter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidentServices(responseContext);
+            });
+        });
+    }
+    /**
+     * Updates an existing incident service. Only provide the attributes which should be updated as this request is a partial update.
+     * @param param The request object
+     */
+    updateIncidentService(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncidentService(param.serviceId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncidentService(responseContext);
+            });
+        });
+    }
+}
+exports.IncidentServicesApi = IncidentServicesApi;
+//# sourceMappingURL=IncidentServicesApi.js.map
+
+/***/ }),
+
+/***/ 34976:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamsApi = exports.IncidentTeamsApiResponseProcessor = exports.IncidentTeamsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class IncidentTeamsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createIncidentTeam(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createIncidentTeam'");
+            if (!_config.unstableOperations["v2.createIncidentTeam"]) {
+                throw new Error("Unstable operation 'createIncidentTeam' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createIncidentTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/teams";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentTeamsApi.createIncidentTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentTeamCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteIncidentTeam(teamId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'deleteIncidentTeam'");
+            if (!_config.unstableOperations["v2.deleteIncidentTeam"]) {
+                throw new Error("Unstable operation 'deleteIncidentTeam' is disabled");
+            }
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "deleteIncidentTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/teams/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentTeamsApi.deleteIncidentTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncidentTeam(teamId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getIncidentTeam'");
+            if (!_config.unstableOperations["v2.getIncidentTeam"]) {
+                throw new Error("Unstable operation 'getIncidentTeam' is disabled");
+            }
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getIncidentTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/teams/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentTeamsApi.getIncidentTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "IncidentRelatedObject", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidentTeams(include, pageSize, pageOffset, filter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidentTeams'");
+            if (!_config.unstableOperations["v2.listIncidentTeams"]) {
+                throw new Error("Unstable operation 'listIncidentTeams' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/teams";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentTeamsApi.listIncidentTeams")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "IncidentRelatedObject", ""));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageOffset !== undefined) {
+                requestContext.setQueryParam("page[offset]", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, "number", "int64"));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncidentTeam(teamId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncidentTeam'");
+            if (!_config.unstableOperations["v2.updateIncidentTeam"]) {
+                throw new Error("Unstable operation 'updateIncidentTeam' is disabled");
+            }
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "updateIncidentTeam");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncidentTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/teams/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentTeamsApi.updateIncidentTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentTeamUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.IncidentTeamsApiRequestFactory = IncidentTeamsApiRequestFactory;
+class IncidentTeamsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createIncidentTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createIncidentTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteIncidentTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteIncidentTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncidentTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncidentTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidentTeams
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidentTeams(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncidentTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncidentTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.IncidentTeamsApiResponseProcessor = IncidentTeamsApiResponseProcessor;
+class IncidentTeamsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new IncidentTeamsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new IncidentTeamsApiResponseProcessor();
+    }
+    /**
+     * Creates a new incident team.
+     * @param param The request object
+     */
+    createIncidentTeam(param, options) {
+        const requestContextPromise = this.requestFactory.createIncidentTeam(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createIncidentTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes an existing incident team.
+     * @param param The request object
+     */
+    deleteIncidentTeam(param, options) {
+        const requestContextPromise = this.requestFactory.deleteIncidentTeam(param.teamId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteIncidentTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Get details of an incident team. If the `include[users]` query parameter is provided,
+     * the included attribute will contain the users related to these incident teams.
+     * @param param The request object
+     */
+    getIncidentTeam(param, options) {
+        const requestContextPromise = this.requestFactory.getIncidentTeam(param.teamId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncidentTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all incident teams for the requesting user's organization. If the `include[users]` query parameter is provided, the included attribute will contain the users related to these incident teams.
+     * @param param The request object
+     */
+    listIncidentTeams(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listIncidentTeams(param.include, param.pageSize, param.pageOffset, param.filter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidentTeams(responseContext);
+            });
+        });
+    }
+    /**
+     * Updates an existing incident team. Only provide the attributes which should be updated as this request is a partial update.
+     * @param param The request object
+     */
+    updateIncidentTeam(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncidentTeam(param.teamId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncidentTeam(responseContext);
+            });
+        });
+    }
+}
+exports.IncidentTeamsApi = IncidentTeamsApi;
+//# sourceMappingURL=IncidentTeamsApi.js.map
+
+/***/ }),
+
+/***/ 42222:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentsApi = exports.IncidentsApiResponseProcessor = exports.IncidentsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class IncidentsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createIncident(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createIncident'");
+            if (!_config.unstableOperations["v2.createIncident"]) {
+                throw new Error("Unstable operation 'createIncident' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createIncident");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.createIncident")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createIncidentIntegration(incidentId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createIncidentIntegration'");
+            if (!_config.unstableOperations["v2.createIncidentIntegration"]) {
+                throw new Error("Unstable operation 'createIncidentIntegration' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "createIncidentIntegration");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createIncidentIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/integrations".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.createIncidentIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentIntegrationMetadataCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createIncidentTodo(incidentId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'createIncidentTodo'");
+            if (!_config.unstableOperations["v2.createIncidentTodo"]) {
+                throw new Error("Unstable operation 'createIncidentTodo' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "createIncidentTodo");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createIncidentTodo");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/todos".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.createIncidentTodo")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentTodoCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteIncident(incidentId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'deleteIncident'");
+            if (!_config.unstableOperations["v2.deleteIncident"]) {
+                throw new Error("Unstable operation 'deleteIncident' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "deleteIncident");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.deleteIncident")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteIncidentIntegration(incidentId, integrationMetadataId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'deleteIncidentIntegration'");
+            if (!_config.unstableOperations["v2.deleteIncidentIntegration"]) {
+                throw new Error("Unstable operation 'deleteIncidentIntegration' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "deleteIncidentIntegration");
+            }
+            // verify required parameter 'integrationMetadataId' is not null or undefined
+            if (integrationMetadataId === null || integrationMetadataId === undefined) {
+                throw new baseapi_1.RequiredError("integrationMetadataId", "deleteIncidentIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{integration_metadata_id}", encodeURIComponent(String(integrationMetadataId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.deleteIncidentIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteIncidentTodo(incidentId, todoId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'deleteIncidentTodo'");
+            if (!_config.unstableOperations["v2.deleteIncidentTodo"]) {
+                throw new Error("Unstable operation 'deleteIncidentTodo' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "deleteIncidentTodo");
+            }
+            // verify required parameter 'todoId' is not null or undefined
+            if (todoId === null || todoId === undefined) {
+                throw new baseapi_1.RequiredError("todoId", "deleteIncidentTodo");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{todo_id}", encodeURIComponent(String(todoId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.deleteIncidentTodo")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncident(incidentId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getIncident'");
+            if (!_config.unstableOperations["v2.getIncident"]) {
+                throw new Error("Unstable operation 'getIncident' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "getIncident");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.getIncident")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncidentIntegration(incidentId, integrationMetadataId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getIncidentIntegration'");
+            if (!_config.unstableOperations["v2.getIncidentIntegration"]) {
+                throw new Error("Unstable operation 'getIncidentIntegration' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "getIncidentIntegration");
+            }
+            // verify required parameter 'integrationMetadataId' is not null or undefined
+            if (integrationMetadataId === null || integrationMetadataId === undefined) {
+                throw new baseapi_1.RequiredError("integrationMetadataId", "getIncidentIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{integration_metadata_id}", encodeURIComponent(String(integrationMetadataId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.getIncidentIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getIncidentTodo(incidentId, todoId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getIncidentTodo'");
+            if (!_config.unstableOperations["v2.getIncidentTodo"]) {
+                throw new Error("Unstable operation 'getIncidentTodo' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "getIncidentTodo");
+            }
+            // verify required parameter 'todoId' is not null or undefined
+            if (todoId === null || todoId === undefined) {
+                throw new baseapi_1.RequiredError("todoId", "getIncidentTodo");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{todo_id}", encodeURIComponent(String(todoId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.getIncidentTodo")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidentAttachments(incidentId, include, filterAttachmentType, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidentAttachments'");
+            if (!_config.unstableOperations["v2.listIncidentAttachments"]) {
+                throw new Error("Unstable operation 'listIncidentAttachments' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "listIncidentAttachments");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/attachments".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.listIncidentAttachments")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            if (filterAttachmentType !== undefined) {
+                requestContext.setQueryParam("filter[attachment_type]", ObjectSerializer_1.ObjectSerializer.serialize(filterAttachmentType, "Array", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidentIntegrations(incidentId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidentIntegrations'");
+            if (!_config.unstableOperations["v2.listIncidentIntegrations"]) {
+                throw new Error("Unstable operation 'listIncidentIntegrations' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "listIncidentIntegrations");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/integrations".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.listIncidentIntegrations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidents(include, pageSize, pageOffset, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidents'");
+            if (!_config.unstableOperations["v2.listIncidents"]) {
+                throw new Error("Unstable operation 'listIncidents' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.listIncidents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageOffset !== undefined) {
+                requestContext.setQueryParam("page[offset]", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listIncidentTodos(incidentId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listIncidentTodos'");
+            if (!_config.unstableOperations["v2.listIncidentTodos"]) {
+                throw new Error("Unstable operation 'listIncidentTodos' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "listIncidentTodos");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/todos".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.listIncidentTodos")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchIncidents(query, include, sort, pageSize, pageOffset, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'searchIncidents'");
+            if (!_config.unstableOperations["v2.searchIncidents"]) {
+                throw new Error("Unstable operation 'searchIncidents' is disabled");
+            }
+            // verify required parameter 'query' is not null or undefined
+            if (query === null || query === undefined) {
+                throw new baseapi_1.RequiredError("query", "searchIncidents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.searchIncidents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "IncidentRelatedObject", ""));
+            }
+            if (query !== undefined) {
+                requestContext.setQueryParam("query", ObjectSerializer_1.ObjectSerializer.serialize(query, "string", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "IncidentSearchSortOrder", ""));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageOffset !== undefined) {
+                requestContext.setQueryParam("page[offset]", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncident(incidentId, body, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncident'");
+            if (!_config.unstableOperations["v2.updateIncident"]) {
+                throw new Error("Unstable operation 'updateIncident' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "updateIncident");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncident");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.updateIncident")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncidentAttachments(incidentId, body, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncidentAttachments'");
+            if (!_config.unstableOperations["v2.updateIncidentAttachments"]) {
+                throw new Error("Unstable operation 'updateIncidentAttachments' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "updateIncidentAttachments");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncidentAttachments");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/attachments".replace("{incident_id}", encodeURIComponent(String(incidentId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.updateIncidentAttachments")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentAttachmentUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncidentIntegration(incidentId, integrationMetadataId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncidentIntegration'");
+            if (!_config.unstableOperations["v2.updateIncidentIntegration"]) {
+                throw new Error("Unstable operation 'updateIncidentIntegration' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "updateIncidentIntegration");
+            }
+            // verify required parameter 'integrationMetadataId' is not null or undefined
+            if (integrationMetadataId === null || integrationMetadataId === undefined) {
+                throw new baseapi_1.RequiredError("integrationMetadataId", "updateIncidentIntegration");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncidentIntegration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{integration_metadata_id}", encodeURIComponent(String(integrationMetadataId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.updateIncidentIntegration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentIntegrationMetadataPatchRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateIncidentTodo(incidentId, todoId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateIncidentTodo'");
+            if (!_config.unstableOperations["v2.updateIncidentTodo"]) {
+                throw new Error("Unstable operation 'updateIncidentTodo' is disabled");
+            }
+            // verify required parameter 'incidentId' is not null or undefined
+            if (incidentId === null || incidentId === undefined) {
+                throw new baseapi_1.RequiredError("incidentId", "updateIncidentTodo");
+            }
+            // verify required parameter 'todoId' is not null or undefined
+            if (todoId === null || todoId === undefined) {
+                throw new baseapi_1.RequiredError("todoId", "updateIncidentTodo");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateIncidentTodo");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}"
+                .replace("{incident_id}", encodeURIComponent(String(incidentId)))
+                .replace("{todo_id}", encodeURIComponent(String(todoId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.IncidentsApi.updateIncidentTodo")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "IncidentTodoPatchRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.IncidentsApiRequestFactory = IncidentsApiRequestFactory;
+class IncidentsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createIncident
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createIncident(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createIncidentIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createIncidentIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createIncidentTodo
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createIncidentTodo(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteIncident
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteIncident(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteIncidentIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteIncidentIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteIncidentTodo
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteIncidentTodo(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncident
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncident(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncidentIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncidentIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getIncidentTodo
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getIncidentTodo(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidentAttachments
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidentAttachments(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentAttachmentsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentAttachmentsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidentIntegrations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidentIntegrations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listIncidentTodos
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listIncidentTodos(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchIncidents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchIncidents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentSearchResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentSearchResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncident
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncident(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncidentAttachments
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncidentAttachments(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentAttachmentUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentAttachmentUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncidentIntegration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncidentIntegration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentIntegrationMetadataResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateIncidentTodo
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateIncidentTodo(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IncidentTodoResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.IncidentsApiResponseProcessor = IncidentsApiResponseProcessor;
+class IncidentsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new IncidentsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new IncidentsApiResponseProcessor();
+    }
+    /**
+     * Create an incident.
+     * @param param The request object
+     */
+    createIncident(param, options) {
+        const requestContextPromise = this.requestFactory.createIncident(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createIncident(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an incident integration metadata.
+     * @param param The request object
+     */
+    createIncidentIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.createIncidentIntegration(param.incidentId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createIncidentIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an incident todo.
+     * @param param The request object
+     */
+    createIncidentTodo(param, options) {
+        const requestContextPromise = this.requestFactory.createIncidentTodo(param.incidentId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createIncidentTodo(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes an existing incident from the users organization.
+     * @param param The request object
+     */
+    deleteIncident(param, options) {
+        const requestContextPromise = this.requestFactory.deleteIncident(param.incidentId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteIncident(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an incident integration metadata.
+     * @param param The request object
+     */
+    deleteIncidentIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteIncidentIntegration(param.incidentId, param.integrationMetadataId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteIncidentIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an incident todo.
+     * @param param The request object
+     */
+    deleteIncidentTodo(param, options) {
+        const requestContextPromise = this.requestFactory.deleteIncidentTodo(param.incidentId, param.todoId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteIncidentTodo(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the details of an incident by `incident_id`.
+     * @param param The request object
+     */
+    getIncident(param, options) {
+        const requestContextPromise = this.requestFactory.getIncident(param.incidentId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncident(responseContext);
+            });
+        });
+    }
+    /**
+     * Get incident integration metadata details.
+     * @param param The request object
+     */
+    getIncidentIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.getIncidentIntegration(param.incidentId, param.integrationMetadataId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncidentIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Get incident todo details.
+     * @param param The request object
+     */
+    getIncidentTodo(param, options) {
+        const requestContextPromise = this.requestFactory.getIncidentTodo(param.incidentId, param.todoId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getIncidentTodo(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all attachments for a given incident.
+     * @param param The request object
+     */
+    listIncidentAttachments(param, options) {
+        const requestContextPromise = this.requestFactory.listIncidentAttachments(param.incidentId, param.include, param.filterAttachmentType, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidentAttachments(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all integration metadata for an incident.
+     * @param param The request object
+     */
+    listIncidentIntegrations(param, options) {
+        const requestContextPromise = this.requestFactory.listIncidentIntegrations(param.incidentId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidentIntegrations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all incidents for the user's organization.
+     * @param param The request object
+     */
+    listIncidents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listIncidents(param.include, param.pageSize, param.pageOffset, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listIncidents returning a generator with all the items.
+     */
+    listIncidentsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listIncidentsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listIncidents(param.include, param.pageSize, param.pageOffset, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listIncidents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.pageOffset === undefined) {
+                    param.pageOffset = pageSize;
+                }
+                else {
+                    param.pageOffset = param.pageOffset + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Get all todos for an incident.
+     * @param param The request object
+     */
+    listIncidentTodos(param, options) {
+        const requestContextPromise = this.requestFactory.listIncidentTodos(param.incidentId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listIncidentTodos(responseContext);
+            });
+        });
+    }
+    /**
+     * Search for incidents matching a certain query.
+     * @param param The request object
+     */
+    searchIncidents(param, options) {
+        const requestContextPromise = this.requestFactory.searchIncidents(param.query, param.include, param.sort, param.pageSize, param.pageOffset, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchIncidents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchIncidents returning a generator with all the items.
+     */
+    searchIncidentsWithPagination(param, options) {
+        return __asyncGenerator(this, arguments, function* searchIncidentsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchIncidents(param.query, param.include, param.sort, param.pageSize, param.pageOffset, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchIncidents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const responseDataAttributes = responseData.attributes;
+                if (responseDataAttributes === undefined) {
+                    break;
+                }
+                const responseDataAttributesIncidents = responseDataAttributes.incidents;
+                if (responseDataAttributesIncidents === undefined) {
+                    break;
+                }
+                const results = responseDataAttributesIncidents;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.pageOffset === undefined) {
+                    param.pageOffset = pageSize;
+                }
+                else {
+                    param.pageOffset = param.pageOffset + pageSize;
+                }
+            }
+        });
+    }
+    /**
+     * Updates an incident. Provide only the attributes that should be updated as this request is a partial update.
+     * @param param The request object
+     */
+    updateIncident(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncident(param.incidentId, param.body, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncident(responseContext);
+            });
+        });
+    }
+    /**
+     * The bulk update endpoint for creating, updating, and deleting attachments for a given incident.
+     * @param param The request object
+     */
+    updateIncidentAttachments(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncidentAttachments(param.incidentId, param.body, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncidentAttachments(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an existing incident integration metadata.
+     * @param param The request object
+     */
+    updateIncidentIntegration(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncidentIntegration(param.incidentId, param.integrationMetadataId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncidentIntegration(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an incident todo.
+     * @param param The request object
+     */
+    updateIncidentTodo(param, options) {
+        const requestContextPromise = this.requestFactory.updateIncidentTodo(param.incidentId, param.todoId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateIncidentTodo(responseContext);
+            });
+        });
+    }
+}
+exports.IncidentsApi = IncidentsApi;
+//# sourceMappingURL=IncidentsApi.js.map
+
+/***/ }),
+
+/***/ 58850:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.KeyManagementApi = exports.KeyManagementApiResponseProcessor = exports.KeyManagementApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class KeyManagementApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createAPIKey(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/api_keys";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.createAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "APIKeyCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createCurrentUserApplicationKey(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createCurrentUserApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/current_user/application_keys";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.createCurrentUserApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKeyCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteAPIKey(apiKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'apiKeyId' is not null or undefined
+            if (apiKeyId === null || apiKeyId === undefined) {
+                throw new baseapi_1.RequiredError("apiKeyId", "deleteAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/api_keys/{api_key_id}".replace("{api_key_id}", encodeURIComponent(String(apiKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.deleteAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteApplicationKey(appKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "deleteApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.deleteApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteCurrentUserApplicationKey(appKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "deleteCurrentUserApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/current_user/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.deleteCurrentUserApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getAPIKey(apiKeyId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'apiKeyId' is not null or undefined
+            if (apiKeyId === null || apiKeyId === undefined) {
+                throw new baseapi_1.RequiredError("apiKeyId", "getAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/api_keys/{api_key_id}".replace("{api_key_id}", encodeURIComponent(String(apiKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.getAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getApplicationKey(appKeyId, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "getApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.getApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getCurrentUserApplicationKey(appKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "getCurrentUserApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/current_user/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.getCurrentUserApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listAPIKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, filterModifiedAtStart, filterModifiedAtEnd, include, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/api_keys";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.listAPIKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "APIKeysSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (filterCreatedAtStart !== undefined) {
+                requestContext.setQueryParam("filter[created_at][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, "string", ""));
+            }
+            if (filterCreatedAtEnd !== undefined) {
+                requestContext.setQueryParam("filter[created_at][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, "string", ""));
+            }
+            if (filterModifiedAtStart !== undefined) {
+                requestContext.setQueryParam("filter[modified_at][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterModifiedAtStart, "string", ""));
+            }
+            if (filterModifiedAtEnd !== undefined) {
+                requestContext.setQueryParam("filter[modified_at][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterModifiedAtEnd, "string", ""));
+            }
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listApplicationKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/application_keys";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.listApplicationKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "ApplicationKeysSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (filterCreatedAtStart !== undefined) {
+                requestContext.setQueryParam("filter[created_at][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, "string", ""));
+            }
+            if (filterCreatedAtEnd !== undefined) {
+                requestContext.setQueryParam("filter[created_at][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listCurrentUserApplicationKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/current_user/application_keys";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.listCurrentUserApplicationKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "ApplicationKeysSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (filterCreatedAtStart !== undefined) {
+                requestContext.setQueryParam("filter[created_at][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, "string", ""));
+            }
+            if (filterCreatedAtEnd !== undefined) {
+                requestContext.setQueryParam("filter[created_at][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateAPIKey(apiKeyId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'apiKeyId' is not null or undefined
+            if (apiKeyId === null || apiKeyId === undefined) {
+                throw new baseapi_1.RequiredError("apiKeyId", "updateAPIKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateAPIKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/api_keys/{api_key_id}".replace("{api_key_id}", encodeURIComponent(String(apiKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.updateAPIKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "APIKeyUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateApplicationKey(appKeyId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "updateApplicationKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.updateApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKeyUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateCurrentUserApplicationKey(appKeyId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "updateCurrentUserApplicationKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateCurrentUserApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/current_user/application_keys/{app_key_id}".replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.KeyManagementApi.updateCurrentUserApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKeyUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.KeyManagementApiRequestFactory = KeyManagementApiRequestFactory;
+class KeyManagementApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createCurrentUserApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createCurrentUserApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteCurrentUserApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteCurrentUserApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getCurrentUserApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getCurrentUserApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listAPIKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listAPIKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeysResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeysResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listApplicationKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listApplicationKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listCurrentUserApplicationKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listCurrentUserApplicationKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateAPIKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateAPIKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "APIKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateCurrentUserApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateCurrentUserApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.KeyManagementApiResponseProcessor = KeyManagementApiResponseProcessor;
+class KeyManagementApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new KeyManagementApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new KeyManagementApiResponseProcessor();
+    }
+    /**
+     * Create an API key.
+     * @param param The request object
+     */
+    createAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.createAPIKey(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an application key for current user
+     * @param param The request object
+     */
+    createCurrentUserApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.createCurrentUserApplicationKey(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createCurrentUserApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an API key.
+     * @param param The request object
+     */
+    deleteAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteAPIKey(param.apiKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an application key
+     * @param param The request object
+     */
+    deleteApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteApplicationKey(param.appKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an application key owned by current user
+     * @param param The request object
+     */
+    deleteCurrentUserApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteCurrentUserApplicationKey(param.appKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteCurrentUserApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an API key.
+     * @param param The request object
+     */
+    getAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.getAPIKey(param.apiKeyId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an application key for your org.
+     * @param param The request object
+     */
+    getApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.getApplicationKey(param.appKeyId, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an application key owned by current user
+     * @param param The request object
+     */
+    getCurrentUserApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.getCurrentUserApplicationKey(param.appKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getCurrentUserApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * List all API keys available for your account.
+     * @param param The request object
+     */
+    listAPIKeys(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listAPIKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, param.filterModifiedAtStart, param.filterModifiedAtEnd, param.include, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listAPIKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * List all application keys available for your org
+     * @param param The request object
+     */
+    listApplicationKeys(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listApplicationKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listApplicationKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * List all application keys available for current user
+     * @param param The request object
+     */
+    listCurrentUserApplicationKeys(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listCurrentUserApplicationKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listCurrentUserApplicationKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an API key.
+     * @param param The request object
+     */
+    updateAPIKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateAPIKey(param.apiKeyId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateAPIKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an application key
+     * @param param The request object
+     */
+    updateApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateApplicationKey(param.appKeyId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an application key owned by current user
+     * @param param The request object
+     */
+    updateCurrentUserApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateCurrentUserApplicationKey(param.appKeyId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateCurrentUserApplicationKey(responseContext);
+            });
+        });
+    }
+}
+exports.KeyManagementApi = KeyManagementApi;
+//# sourceMappingURL=KeyManagementApi.js.map
+
+/***/ }),
+
+/***/ 38999:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsApi = exports.LogsApiResponseProcessor = exports.LogsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const LogsListRequest_1 = __webpack_require__(28381);
+const LogsListRequestPage_1 = __webpack_require__(49699);
+class LogsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    aggregateLogs(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "aggregateLogs");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/analytics/aggregate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsApi.aggregateLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsAggregateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogs(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/logs/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsApi.listLogs")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsListRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogsGet(filterQuery, filterIndexes, filterFrom, filterTo, filterStorageTier, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/logs/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsApi.listLogsGet")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterIndexes !== undefined) {
+                requestContext.setQueryParam("filter[indexes]", ObjectSerializer_1.ObjectSerializer.serialize(filterIndexes, "Array", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (filterStorageTier !== undefined) {
+                requestContext.setQueryParam("filter[storage_tier]", ObjectSerializer_1.ObjectSerializer.serialize(filterStorageTier, "LogsStorageTier", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "LogsSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    submitLog(body, contentEncoding, ddtags, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitLog");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsApi.submitLog")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (ddtags !== undefined) {
+                requestContext.setQueryParam("ddtags", ObjectSerializer_1.ObjectSerializer.serialize(ddtags, "string", ""));
+            }
+            // Header Params
+            if (contentEncoding !== undefined) {
+                requestContext.setHeaderParam("Content-Encoding", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, "ContentEncoding", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+                "application/logplex-1",
+                "text/plain",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "Array", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsApiRequestFactory = LogsApiRequestFactory;
+class LogsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to aggregateLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    aggregateLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsAggregateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsAggregateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogs
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogs(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogsGet
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogsGet(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitLog
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitLog(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429 ||
+                response.httpStatusCode == 500 ||
+                response.httpStatusCode == 503) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "HTTPLogErrors");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "any", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsApiResponseProcessor = LogsApiResponseProcessor;
+class LogsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsApiResponseProcessor();
+    }
+    /**
+     * The API endpoint to aggregate events into buckets and compute metrics and timeseries.
+     * @param param The request object
+     */
+    aggregateLogs(param, options) {
+        const requestContextPromise = this.requestFactory.aggregateLogs(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.aggregateLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * List endpoint returns logs that match a log search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to build complex logs filtering and search.
+     *
+     * **If you are considering archiving logs for your organization,
+     * consider use of the Datadog archive capabilities instead of the log list API.
+     * See [Datadog Logs Archive documentation][2].**
+     *
+     * [1]: /logs/guide/collect-multiple-logs-with-pagination
+     * [2]: https://docs.datadoghq.com/logs/archives
+     * @param param The request object
+     */
+    listLogs(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listLogs(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogs(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listLogs returning a generator with all the items.
+     */
+    listLogsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listLogsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new LogsListRequest_1.LogsListRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new LogsListRequestPage_1.LogsListRequestPage();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listLogs(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listLogs(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns logs that match a log search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to see your latest logs.
+     *
+     * **If you are considering archiving logs for your organization,
+     * consider use of the Datadog archive capabilities instead of the log list API.
+     * See [Datadog Logs Archive documentation][2].**
+     *
+     * [1]: /logs/guide/collect-multiple-logs-with-pagination
+     * [2]: https://docs.datadoghq.com/logs/archives
+     * @param param The request object
+     */
+    listLogsGet(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listLogsGet(param.filterQuery, param.filterIndexes, param.filterFrom, param.filterTo, param.filterStorageTier, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogsGet(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listLogsGet returning a generator with all the items.
+     */
+    listLogsGetWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listLogsGetWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listLogsGet(param.filterQuery, param.filterIndexes, param.filterFrom, param.filterTo, param.filterStorageTier, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listLogsGet(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * Send your logs to your Datadog platform over HTTP. Limits per HTTP request are:
+     *
+     * - Maximum content size per payload (uncompressed): 5MB
+     * - Maximum size for a single log: 1MB
+     * - Maximum array size if sending multiple logs in an array: 1000 entries
+     *
+     * Any log exceeding 1MB is accepted and truncated by Datadog:
+     * - For a single log request, the API truncates the log at 1MB and returns a 2xx.
+     * - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx.
+     *
+     * Datadog recommends sending your logs compressed.
+     * Add the `Content-Encoding: gzip` header to the request when sending compressed logs.
+     * Log events can be submitted with a timestamp that is up to 18 hours in the past.
+     *
+     * The status codes answered by the HTTP API are:
+     * - 202: Accepted: the request has been accepted for processing
+     * - 400: Bad request (likely an issue in the payload formatting)
+     * - 401: Unauthorized (likely a missing API Key)
+     * - 403: Permission issue (likely using an invalid API Key)
+     * - 408: Request Timeout, request should be retried after some time
+     * - 413: Payload too large (batch is above 5MB uncompressed)
+     * - 429: Too Many Requests, request should be retried after some time
+     * - 500: Internal Server Error, the server encountered an unexpected condition that prevented it from fulfilling the request, request should be retried after some time
+     * - 503: Service Unavailable, the server is not ready to handle the request probably because it is overloaded, request should be retried after some time
+     * @param param The request object
+     */
+    submitLog(param, options) {
+        const requestContextPromise = this.requestFactory.submitLog(param.body, param.contentEncoding, param.ddtags, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitLog(responseContext);
+            });
+        });
+    }
+}
+exports.LogsApi = LogsApi;
+//# sourceMappingURL=LogsApi.js.map
+
+/***/ }),
+
+/***/ 8352:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchivesApi = exports.LogsArchivesApiResponseProcessor = exports.LogsArchivesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class LogsArchivesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    addReadRoleToArchive(archiveId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "addReadRoleToArchive");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "addReadRoleToArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}/readers".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.addReadRoleToArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToRole", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createLogsArchive(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createLogsArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.createLogsArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsArchiveCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteLogsArchive(archiveId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "deleteLogsArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.deleteLogsArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsArchive(archiveId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "getLogsArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.getLogsArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsArchiveOrder(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archive-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.getLogsArchiveOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listArchiveReadRoles(archiveId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "listArchiveReadRoles");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}/readers".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.listArchiveReadRoles")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogsArchives(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.listLogsArchives")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    removeRoleFromArchive(archiveId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "removeRoleFromArchive");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "removeRoleFromArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}/readers".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.removeRoleFromArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToRole", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsArchive(archiveId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'archiveId' is not null or undefined
+            if (archiveId === null || archiveId === undefined) {
+                throw new baseapi_1.RequiredError("archiveId", "updateLogsArchive");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsArchive");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archives/{archive_id}".replace("{archive_id}", encodeURIComponent(String(archiveId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.updateLogsArchive")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsArchiveCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsArchiveOrder(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsArchiveOrder");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/archive-order";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsArchivesApi.updateLogsArchiveOrder")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsArchiveOrder", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsArchivesApiRequestFactory = LogsArchivesApiRequestFactory;
+class LogsArchivesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to addReadRoleToArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    addReadRoleToArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createLogsArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createLogsArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteLogsArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteLogsArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsArchiveOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsArchiveOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchiveOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchiveOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listArchiveReadRoles
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listArchiveReadRoles(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RolesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RolesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogsArchives
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogsArchives(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchives");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchives", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to removeRoleFromArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    removeRoleFromArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsArchive
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsArchive(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchive", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsArchiveOrder
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsArchiveOrder(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchiveOrder");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsArchiveOrder", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsArchivesApiResponseProcessor = LogsArchivesApiResponseProcessor;
+class LogsArchivesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsArchivesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsArchivesApiResponseProcessor();
+    }
+    /**
+     * Adds a read role to an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/))
+     * @param param The request object
+     */
+    addReadRoleToArchive(param, options) {
+        const requestContextPromise = this.requestFactory.addReadRoleToArchive(param.archiveId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.addReadRoleToArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an archive in your organization.
+     * @param param The request object
+     */
+    createLogsArchive(param, options) {
+        const requestContextPromise = this.requestFactory.createLogsArchive(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createLogsArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given archive from your organization.
+     * @param param The request object
+     */
+    deleteLogsArchive(param, options) {
+        const requestContextPromise = this.requestFactory.deleteLogsArchive(param.archiveId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteLogsArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific archive from your organization.
+     * @param param The request object
+     */
+    getLogsArchive(param, options) {
+        const requestContextPromise = this.requestFactory.getLogsArchive(param.archiveId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the current order of your archives.
+     * This endpoint takes no JSON arguments.
+     * @param param The request object
+     */
+    getLogsArchiveOrder(options) {
+        const requestContextPromise = this.requestFactory.getLogsArchiveOrder(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsArchiveOrder(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns all read roles a given archive is restricted to.
+     * @param param The request object
+     */
+    listArchiveReadRoles(param, options) {
+        const requestContextPromise = this.requestFactory.listArchiveReadRoles(param.archiveId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listArchiveReadRoles(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of configured logs archives with their definitions.
+     * @param param The request object
+     */
+    listLogsArchives(options) {
+        const requestContextPromise = this.requestFactory.listLogsArchives(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogsArchives(responseContext);
+            });
+        });
+    }
+    /**
+     * Removes a role from an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/))
+     * @param param The request object
+     */
+    removeRoleFromArchive(param, options) {
+        const requestContextPromise = this.requestFactory.removeRoleFromArchive(param.archiveId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.removeRoleFromArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a given archive configuration.
+     *
+     * **Note**: Using this method updates your archive configuration by **replacing**
+     * your current configuration with the new one sent to your Datadog organization.
+     * @param param The request object
+     */
+    updateLogsArchive(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsArchive(param.archiveId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsArchive(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the order of your archives. Since logs are processed sequentially, reordering an archive may change
+     * the structure and content of the data processed by other archives.
+     *
+     * **Note**: Using the `PUT` method updates your archive's order by replacing the current order
+     * with the new one.
+     * @param param The request object
+     */
+    updateLogsArchiveOrder(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsArchiveOrder(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsArchiveOrder(responseContext);
+            });
+        });
+    }
+}
+exports.LogsArchivesApi = LogsArchivesApi;
+//# sourceMappingURL=LogsArchivesApi.js.map
+
+/***/ }),
+
+/***/ 52626:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricsApi = exports.LogsMetricsApiResponseProcessor = exports.LogsMetricsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class LogsMetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createLogsMetric(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createLogsMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsMetricsApi.createLogsMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsMetricCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteLogsMetric(metricId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "deleteLogsMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsMetricsApi.deleteLogsMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getLogsMetric(metricId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "getLogsMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsMetricsApi.getLogsMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listLogsMetrics(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsMetricsApi.listLogsMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateLogsMetric(metricId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "updateLogsMetric");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateLogsMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/logs/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.LogsMetricsApi.updateLogsMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "LogsMetricUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.LogsMetricsApiRequestFactory = LogsMetricsApiRequestFactory;
+class LogsMetricsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createLogsMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createLogsMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteLogsMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteLogsMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getLogsMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getLogsMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listLogsMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listLogsMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateLogsMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateLogsMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "LogsMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.LogsMetricsApiResponseProcessor = LogsMetricsApiResponseProcessor;
+class LogsMetricsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new LogsMetricsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new LogsMetricsApiResponseProcessor();
+    }
+    /**
+     * Create a metric based on your ingested logs in your organization.
+     * Returns the log-based metric object from the request body when the request is successful.
+     * @param param The request object
+     */
+    createLogsMetric(param, options) {
+        const requestContextPromise = this.requestFactory.createLogsMetric(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createLogsMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a specific log-based metric from your organization.
+     * @param param The request object
+     */
+    deleteLogsMetric(param, options) {
+        const requestContextPromise = this.requestFactory.deleteLogsMetric(param.metricId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteLogsMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific log-based metric from your organization.
+     * @param param The request object
+     */
+    getLogsMetric(param, options) {
+        const requestContextPromise = this.requestFactory.getLogsMetric(param.metricId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getLogsMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of configured log-based metrics with their definitions.
+     * @param param The request object
+     */
+    listLogsMetrics(options) {
+        const requestContextPromise = this.requestFactory.listLogsMetrics(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listLogsMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a specific log-based metric from your organization.
+     * Returns the log-based metric object from the request body when the request is successful.
+     * @param param The request object
+     */
+    updateLogsMetric(param, options) {
+        const requestContextPromise = this.requestFactory.updateLogsMetric(param.metricId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateLogsMetric(responseContext);
+            });
+        });
+    }
+}
+exports.LogsMetricsApi = LogsMetricsApi;
+//# sourceMappingURL=LogsMetricsApi.js.map
+
+/***/ }),
+
+/***/ 24940:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsApi = exports.MetricsApiResponseProcessor = exports.MetricsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class MetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createBulkTagsMetricsConfiguration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createBulkTagsMetricsConfiguration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/config/bulk-tags";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.createBulkTagsMetricsConfiguration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricBulkTagConfigCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createTagConfiguration(metricName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "createTagConfiguration");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createTagConfiguration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/tags".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.createTagConfiguration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricTagConfigurationCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteBulkTagsMetricsConfiguration(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteBulkTagsMetricsConfiguration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/config/bulk-tags";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.deleteBulkTagsMetricsConfiguration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricBulkTagConfigDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteTagConfiguration(metricName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "deleteTagConfiguration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/tags".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.deleteTagConfiguration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    estimateMetricsOutputSeries(metricName, filterGroups, filterHoursAgo, filterNumAggregations, filterPct, filterTimespanH, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "estimateMetricsOutputSeries");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/estimate".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.estimateMetricsOutputSeries")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterGroups !== undefined) {
+                requestContext.setQueryParam("filter[groups]", ObjectSerializer_1.ObjectSerializer.serialize(filterGroups, "string", ""));
+            }
+            if (filterHoursAgo !== undefined) {
+                requestContext.setQueryParam("filter[hours_ago]", ObjectSerializer_1.ObjectSerializer.serialize(filterHoursAgo, "number", "int32"));
+            }
+            if (filterNumAggregations !== undefined) {
+                requestContext.setQueryParam("filter[num_aggregations]", ObjectSerializer_1.ObjectSerializer.serialize(filterNumAggregations, "number", "int32"));
+            }
+            if (filterPct !== undefined) {
+                requestContext.setQueryParam("filter[pct]", ObjectSerializer_1.ObjectSerializer.serialize(filterPct, "boolean", ""));
+            }
+            if (filterTimespanH !== undefined) {
+                requestContext.setQueryParam("filter[timespan_h]", ObjectSerializer_1.ObjectSerializer.serialize(filterTimespanH, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listActiveMetricConfigurations(metricName, windowSeconds, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "listActiveMetricConfigurations");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/active-configurations".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.listActiveMetricConfigurations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (windowSeconds !== undefined) {
+                requestContext.setQueryParam("window[seconds]", ObjectSerializer_1.ObjectSerializer.serialize(windowSeconds, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listTagConfigurationByName(metricName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "listTagConfigurationByName");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/tags".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.listTagConfigurationByName")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listTagConfigurations(filterConfigured, filterTagsConfigured, filterMetricType, filterIncludePercentiles, filterQueried, filterTags, windowSeconds, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.listTagConfigurations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterConfigured !== undefined) {
+                requestContext.setQueryParam("filter[configured]", ObjectSerializer_1.ObjectSerializer.serialize(filterConfigured, "boolean", ""));
+            }
+            if (filterTagsConfigured !== undefined) {
+                requestContext.setQueryParam("filter[tags_configured]", ObjectSerializer_1.ObjectSerializer.serialize(filterTagsConfigured, "string", ""));
+            }
+            if (filterMetricType !== undefined) {
+                requestContext.setQueryParam("filter[metric_type]", ObjectSerializer_1.ObjectSerializer.serialize(filterMetricType, "MetricTagConfigurationMetricTypes", ""));
+            }
+            if (filterIncludePercentiles !== undefined) {
+                requestContext.setQueryParam("filter[include_percentiles]", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludePercentiles, "boolean", ""));
+            }
+            if (filterQueried !== undefined) {
+                requestContext.setQueryParam("filter[queried]", ObjectSerializer_1.ObjectSerializer.serialize(filterQueried, "boolean", ""));
+            }
+            if (filterTags !== undefined) {
+                requestContext.setQueryParam("filter[tags]", ObjectSerializer_1.ObjectSerializer.serialize(filterTags, "string", ""));
+            }
+            if (windowSeconds !== undefined) {
+                requestContext.setQueryParam("window[seconds]", ObjectSerializer_1.ObjectSerializer.serialize(windowSeconds, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listTagsByMetricName(metricName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "listTagsByMetricName");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/all-tags".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.listTagsByMetricName")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listVolumesByMetricName(metricName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "listVolumesByMetricName");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/volumes".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.listVolumesByMetricName")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    queryScalarData(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'queryScalarData'");
+            if (!_config.unstableOperations["v2.queryScalarData"]) {
+                throw new Error("Unstable operation 'queryScalarData' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "queryScalarData");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/query/scalar";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.queryScalarData")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ScalarFormulaQueryRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    queryTimeseriesData(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'queryTimeseriesData'");
+            if (!_config.unstableOperations["v2.queryTimeseriesData"]) {
+                throw new Error("Unstable operation 'queryTimeseriesData' is disabled");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "queryTimeseriesData");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/query/timeseries";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.queryTimeseriesData")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TimeseriesFormulaQueryRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    submitMetrics(body, contentEncoding, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "submitMetrics");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/series";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.submitMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Header Params
+            if (contentEncoding !== undefined) {
+                requestContext.setHeaderParam("Content-Encoding", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, "MetricContentEncoding", ""));
+            }
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricPayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, ["apiKeyAuth"]);
+            return requestContext;
+        });
+    }
+    updateTagConfiguration(metricName, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricName' is not null or undefined
+            if (metricName === null || metricName === undefined) {
+                throw new baseapi_1.RequiredError("metricName", "updateTagConfiguration");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTagConfiguration");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/metrics/{metric_name}/tags".replace("{metric_name}", encodeURIComponent(String(metricName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MetricsApi.updateTagConfiguration")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MetricTagConfigurationUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.MetricsApiRequestFactory = MetricsApiRequestFactory;
+class MetricsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createBulkTagsMetricsConfiguration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createBulkTagsMetricsConfiguration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricBulkTagConfigResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricBulkTagConfigResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createTagConfiguration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createTagConfiguration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteBulkTagsMetricsConfiguration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteBulkTagsMetricsConfiguration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricBulkTagConfigResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricBulkTagConfigResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteTagConfiguration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteTagConfiguration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to estimateMetricsOutputSeries
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    estimateMetricsOutputSeries(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricEstimateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricEstimateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listActiveMetricConfigurations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listActiveMetricConfigurations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricSuggestedTagsAndAggregationsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricSuggestedTagsAndAggregationsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listTagConfigurationByName
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listTagConfigurationByName(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listTagConfigurations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listTagConfigurations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsAndMetricTagConfigurationsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricsAndMetricTagConfigurationsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listTagsByMetricName
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listTagsByMetricName(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricAllTagsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricAllTagsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listVolumesByMetricName
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listVolumesByMetricName(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricVolumesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricVolumesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to queryScalarData
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    queryScalarData(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ScalarFormulaQueryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ScalarFormulaQueryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to queryTimeseriesData
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    queryTimeseriesData(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TimeseriesFormulaQueryResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TimeseriesFormulaQueryResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to submitMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    submitMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 202) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 408 ||
+                response.httpStatusCode == 413 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "IntakePayloadAccepted", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTagConfiguration
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTagConfiguration(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MetricTagConfigurationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.MetricsApiResponseProcessor = MetricsApiResponseProcessor;
+class MetricsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new MetricsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new MetricsApiResponseProcessor();
+    }
+    /**
+     * Create and define a list of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics.
+     * Metrics are selected by passing a metric name prefix. Use the Delete method of this API path to remove tag configurations.
+     * Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app.
+     * If multiple calls include the same metric, the last configuration applied (not by submit order) is used, do not
+     * expect deterministic ordering of concurrent calls.
+     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.
+     * @param param The request object
+     */
+    createBulkTagsMetricsConfiguration(param, options) {
+        const requestContextPromise = this.requestFactory.createBulkTagsMetricsConfiguration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createBulkTagsMetricsConfiguration(responseContext);
+            });
+        });
+    }
+    /**
+     * Create and define a list of queryable tag keys for an existing count/gauge/rate/distribution metric.
+     * Optionally, include percentile aggregations on any distribution metric or configure custom aggregations
+     * on any count, rate, or gauge metric.
+     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.
+     * @param param The request object
+     */
+    createTagConfiguration(param, options) {
+        const requestContextPromise = this.requestFactory.createTagConfiguration(param.metricName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createTagConfiguration(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete all custom lists of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics.
+     * Metrics are selected by passing a metric name prefix.
+     * Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app.
+     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.
+     * @param param The request object
+     */
+    deleteBulkTagsMetricsConfiguration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteBulkTagsMetricsConfiguration(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteBulkTagsMetricsConfiguration(responseContext);
+            });
+        });
+    }
+    /**
+     * Deletes a metric's tag configuration. Can only be used with application
+     * keys from users with the `Manage Tags for Metrics` permission.
+     * @param param The request object
+     */
+    deleteTagConfiguration(param, options) {
+        const requestContextPromise = this.requestFactory.deleteTagConfiguration(param.metricName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteTagConfiguration(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns the estimated cardinality for a metric with a given tag, percentile and number of aggregations configuration using Metrics without Limits™.
+     * @param param The request object
+     */
+    estimateMetricsOutputSeries(param, options) {
+        const requestContextPromise = this.requestFactory.estimateMetricsOutputSeries(param.metricName, param.filterGroups, param.filterHoursAgo, param.filterNumAggregations, param.filterPct, param.filterTimespanH, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.estimateMetricsOutputSeries(responseContext);
+            });
+        });
+    }
+    /**
+     * List tags and aggregations that are actively queried on dashboards and monitors for a given metric name.
+     * @param param The request object
+     */
+    listActiveMetricConfigurations(param, options) {
+        const requestContextPromise = this.requestFactory.listActiveMetricConfigurations(param.metricName, param.windowSeconds, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listActiveMetricConfigurations(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns the tag configuration for the given metric name.
+     * @param param The request object
+     */
+    listTagConfigurationByName(param, options) {
+        const requestContextPromise = this.requestFactory.listTagConfigurationByName(param.metricName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listTagConfigurationByName(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns all metrics that can be configured in the Metrics Summary page or with Metrics without Limits™ (matching additional filters if specified).
+     * @param param The request object
+     */
+    listTagConfigurations(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listTagConfigurations(param.filterConfigured, param.filterTagsConfigured, param.filterMetricType, param.filterIncludePercentiles, param.filterQueried, param.filterTags, param.windowSeconds, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listTagConfigurations(responseContext);
+            });
+        });
+    }
+    /**
+     * View indexed tag key-value pairs for a given metric name.
+     * @param param The request object
+     */
+    listTagsByMetricName(param, options) {
+        const requestContextPromise = this.requestFactory.listTagsByMetricName(param.metricName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listTagsByMetricName(responseContext);
+            });
+        });
+    }
+    /**
+     * View distinct metrics volumes for the given metric name.
+     *
+     * Custom metrics generated in-app from other products will return `null` for ingested volumes.
+     * @param param The request object
+     */
+    listVolumesByMetricName(param, options) {
+        const requestContextPromise = this.requestFactory.listVolumesByMetricName(param.metricName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listVolumesByMetricName(responseContext);
+            });
+        });
+    }
+    /**
+     * Query scalar values (as seen on Query Value, Table, and Toplist widgets).
+     * Multiple data sources are supported with the ability to
+     * process the data using formulas and functions.
+     * @param param The request object
+     */
+    queryScalarData(param, options) {
+        const requestContextPromise = this.requestFactory.queryScalarData(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.queryScalarData(responseContext);
+            });
+        });
+    }
+    /**
+     * Query timeseries data across various data sources and
+     * process the data by applying formulas and functions.
+     * @param param The request object
+     */
+    queryTimeseriesData(param, options) {
+        const requestContextPromise = this.requestFactory.queryTimeseriesData(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.queryTimeseriesData(responseContext);
+            });
+        });
+    }
+    /**
+     * The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards.
+     * The maximum payload size is 500 kilobytes (512000 bytes). Compressed payloads must have a decompressed size of less than 5 megabytes (5242880 bytes).
+     *
+     * If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect:
+     *
+     * - 64 bits for the timestamp
+     * - 64 bits for the value
+     * - 20 bytes for the metric names
+     * - 50 bytes for the timeseries
+     * - The full payload is approximately 100 bytes.
+     *
+     * Host name is one of the resources in the Resources field.
+     * @param param The request object
+     */
+    submitMetrics(param, options) {
+        const requestContextPromise = this.requestFactory.submitMetrics(param.body, param.contentEncoding, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.submitMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Update the tag configuration of a metric or percentile aggregations of a distribution metric or custom aggregations
+     * of a count, rate, or gauge metric.
+     * Can only be used with application keys from users with the `Manage Tags for Metrics` permission.
+     * @param param The request object
+     */
+    updateTagConfiguration(param, options) {
+        const requestContextPromise = this.requestFactory.updateTagConfiguration(param.metricName, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTagConfiguration(responseContext);
+            });
+        });
+    }
+}
+exports.MetricsApi = MetricsApi;
+//# sourceMappingURL=MetricsApi.js.map
+
+/***/ }),
+
+/***/ 74701:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorsApi = exports.MonitorsApiResponseProcessor = exports.MonitorsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class MonitorsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createMonitorConfigPolicy(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createMonitorConfigPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/monitor/policy";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MonitorsApi.createMonitorConfigPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MonitorConfigPolicyCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteMonitorConfigPolicy(policyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'policyId' is not null or undefined
+            if (policyId === null || policyId === undefined) {
+                throw new baseapi_1.RequiredError("policyId", "deleteMonitorConfigPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/monitor/policy/{policy_id}".replace("{policy_id}", encodeURIComponent(String(policyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MonitorsApi.deleteMonitorConfigPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getMonitorConfigPolicy(policyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'policyId' is not null or undefined
+            if (policyId === null || policyId === undefined) {
+                throw new baseapi_1.RequiredError("policyId", "getMonitorConfigPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/monitor/policy/{policy_id}".replace("{policy_id}", encodeURIComponent(String(policyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MonitorsApi.getMonitorConfigPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listMonitorConfigPolicies(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/monitor/policy";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MonitorsApi.listMonitorConfigPolicies")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateMonitorConfigPolicy(policyId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'policyId' is not null or undefined
+            if (policyId === null || policyId === undefined) {
+                throw new baseapi_1.RequiredError("policyId", "updateMonitorConfigPolicy");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateMonitorConfigPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/monitor/policy/{policy_id}".replace("{policy_id}", encodeURIComponent(String(policyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.MonitorsApi.updateMonitorConfigPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MonitorConfigPolicyEditRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.MonitorsApiRequestFactory = MonitorsApiRequestFactory;
+class MonitorsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createMonitorConfigPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createMonitorConfigPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteMonitorConfigPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteMonitorConfigPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getMonitorConfigPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getMonitorConfigPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listMonitorConfigPolicies
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listMonitorConfigPolicies(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateMonitorConfigPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateMonitorConfigPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MonitorConfigPolicyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.MonitorsApiResponseProcessor = MonitorsApiResponseProcessor;
+class MonitorsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new MonitorsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new MonitorsApiResponseProcessor();
+    }
+    /**
+     * Create a monitor configuration policy.
+     * @param param The request object
+     */
+    createMonitorConfigPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.createMonitorConfigPolicy(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createMonitorConfigPolicy(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a monitor configuration policy.
+     * @param param The request object
+     */
+    deleteMonitorConfigPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.deleteMonitorConfigPolicy(param.policyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteMonitorConfigPolicy(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a monitor configuration policy by `policy_id`.
+     * @param param The request object
+     */
+    getMonitorConfigPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.getMonitorConfigPolicy(param.policyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getMonitorConfigPolicy(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all monitor configuration policies.
+     * @param param The request object
+     */
+    listMonitorConfigPolicies(options) {
+        const requestContextPromise = this.requestFactory.listMonitorConfigPolicies(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listMonitorConfigPolicies(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit a monitor configuration policy.
+     * @param param The request object
+     */
+    updateMonitorConfigPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.updateMonitorConfigPolicy(param.policyId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateMonitorConfigPolicy(responseContext);
+            });
+        });
+    }
+}
+exports.MonitorsApi = MonitorsApi;
+//# sourceMappingURL=MonitorsApi.js.map
+
+/***/ }),
+
+/***/ 87602:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieIntegrationApi = exports.OpsgenieIntegrationApiResponseProcessor = exports.OpsgenieIntegrationApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class OpsgenieIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createOpsgenieService(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createOpsgenieService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/opsgenie/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OpsgenieIntegrationApi.createOpsgenieService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "OpsgenieServiceCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteOpsgenieService(integrationServiceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'integrationServiceId' is not null or undefined
+            if (integrationServiceId === null || integrationServiceId === undefined) {
+                throw new baseapi_1.RequiredError("integrationServiceId", "deleteOpsgenieService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/opsgenie/services/{integration_service_id}".replace("{integration_service_id}", encodeURIComponent(String(integrationServiceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OpsgenieIntegrationApi.deleteOpsgenieService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getOpsgenieService(integrationServiceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'integrationServiceId' is not null or undefined
+            if (integrationServiceId === null || integrationServiceId === undefined) {
+                throw new baseapi_1.RequiredError("integrationServiceId", "getOpsgenieService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/opsgenie/services/{integration_service_id}".replace("{integration_service_id}", encodeURIComponent(String(integrationServiceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OpsgenieIntegrationApi.getOpsgenieService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listOpsgenieServices(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/integration/opsgenie/services";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OpsgenieIntegrationApi.listOpsgenieServices")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateOpsgenieService(integrationServiceId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'integrationServiceId' is not null or undefined
+            if (integrationServiceId === null || integrationServiceId === undefined) {
+                throw new baseapi_1.RequiredError("integrationServiceId", "updateOpsgenieService");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateOpsgenieService");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/integration/opsgenie/services/{integration_service_id}".replace("{integration_service_id}", encodeURIComponent(String(integrationServiceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OpsgenieIntegrationApi.updateOpsgenieService")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "OpsgenieServiceUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.OpsgenieIntegrationApiRequestFactory = OpsgenieIntegrationApiRequestFactory;
+class OpsgenieIntegrationApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createOpsgenieService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createOpsgenieService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteOpsgenieService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteOpsgenieService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getOpsgenieService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getOpsgenieService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listOpsgenieServices
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listOpsgenieServices(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServicesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServicesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateOpsgenieService
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateOpsgenieService(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OpsgenieServiceResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.OpsgenieIntegrationApiResponseProcessor = OpsgenieIntegrationApiResponseProcessor;
+class OpsgenieIntegrationApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new OpsgenieIntegrationApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new OpsgenieIntegrationApiResponseProcessor();
+    }
+    /**
+     * Create a new service object in the Opsgenie integration.
+     * @param param The request object
+     */
+    createOpsgenieService(param, options) {
+        const requestContextPromise = this.requestFactory.createOpsgenieService(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createOpsgenieService(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a single service object in the Datadog Opsgenie integration.
+     * @param param The request object
+     */
+    deleteOpsgenieService(param, options) {
+        const requestContextPromise = this.requestFactory.deleteOpsgenieService(param.integrationServiceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteOpsgenieService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a single service from the Datadog Opsgenie integration.
+     * @param param The request object
+     */
+    getOpsgenieService(param, options) {
+        const requestContextPromise = this.requestFactory.getOpsgenieService(param.integrationServiceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getOpsgenieService(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of all services from the Datadog Opsgenie integration.
+     * @param param The request object
+     */
+    listOpsgenieServices(options) {
+        const requestContextPromise = this.requestFactory.listOpsgenieServices(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listOpsgenieServices(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a single service object in the Datadog Opsgenie integration.
+     * @param param The request object
+     */
+    updateOpsgenieService(param, options) {
+        const requestContextPromise = this.requestFactory.updateOpsgenieService(param.integrationServiceId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateOpsgenieService(responseContext);
+            });
+        });
+    }
+}
+exports.OpsgenieIntegrationApi = OpsgenieIntegrationApi;
+//# sourceMappingURL=OpsgenieIntegrationApi.js.map
+
+/***/ }),
+
+/***/ 48349:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationsApi = exports.OrganizationsApiResponseProcessor = exports.OrganizationsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const form_data_1 = __importDefault(__webpack_require__(14221));
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class OrganizationsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    uploadIdPMetadata(idpFile, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/saml_configurations/idp_metadata";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.OrganizationsApi.uploadIdPMetadata")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Form Params
+            const localVarFormParams = new form_data_1.default();
+            if (idpFile !== undefined) {
+                // TODO: replace .append with .set
+                localVarFormParams.append("idp_file", idpFile.data, idpFile.name);
+            }
+            requestContext.setBody(localVarFormParams);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.OrganizationsApiRequestFactory = OrganizationsApiRequestFactory;
+class OrganizationsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to uploadIdPMetadata
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    uploadIdPMetadata(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.OrganizationsApiResponseProcessor = OrganizationsApiResponseProcessor;
+class OrganizationsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new OrganizationsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new OrganizationsApiResponseProcessor();
+    }
+    /**
+     * Endpoint for uploading IdP metadata for SAML setup.
+     *
+     * Use this endpoint to upload or replace IdP metadata for SAML login configuration.
+     * @param param The request object
+     */
+    uploadIdPMetadata(param = {}, options) {
+        const requestContextPromise = this.requestFactory.uploadIdPMetadata(param.idpFile, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.uploadIdPMetadata(responseContext);
+            });
+        });
+    }
+}
+exports.OrganizationsApi = OrganizationsApi;
+//# sourceMappingURL=OrganizationsApi.js.map
+
+/***/ }),
+
+/***/ 41146:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessesApi = exports.ProcessesApiResponseProcessor = exports.ProcessesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class ProcessesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    listProcesses(search, tags, from, to, pageLimit, pageCursor, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/processes";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ProcessesApi.listProcesses")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (search !== undefined) {
+                requestContext.setQueryParam("search", ObjectSerializer_1.ObjectSerializer.serialize(search, "string", ""));
+            }
+            if (tags !== undefined) {
+                requestContext.setQueryParam("tags", ObjectSerializer_1.ObjectSerializer.serialize(tags, "string", ""));
+            }
+            if (from !== undefined) {
+                requestContext.setQueryParam("from", ObjectSerializer_1.ObjectSerializer.serialize(from, "number", "int64"));
+            }
+            if (to !== undefined) {
+                requestContext.setQueryParam("to", ObjectSerializer_1.ObjectSerializer.serialize(to, "number", "int64"));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ProcessesApiRequestFactory = ProcessesApiRequestFactory;
+class ProcessesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listProcesses
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listProcesses(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ProcessSummariesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ProcessSummariesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ProcessesApiResponseProcessor = ProcessesApiResponseProcessor;
+class ProcessesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new ProcessesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ProcessesApiResponseProcessor();
+    }
+    /**
+     * Get all processes for your organization.
+     * @param param The request object
+     */
+    listProcesses(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listProcesses(param.search, param.tags, param.from, param.to, param.pageLimit, param.pageCursor, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listProcesses(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listProcesses returning a generator with all the items.
+     */
+    listProcessesWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listProcessesWithPagination_1() {
+            let pageSize = 1000;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listProcesses(param.search, param.tags, param.from, param.to, param.pageLimit, param.pageCursor, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listProcesses(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.ProcessesApi = ProcessesApi;
+//# sourceMappingURL=ProcessesApi.js.map
+
+/***/ }),
+
+/***/ 80097:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApi = exports.RUMApiResponseProcessor = exports.RUMApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const RUMQueryPageOptions_1 = __webpack_require__(98647);
+class RUMApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    aggregateRUMEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "aggregateRUMEvents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/analytics/aggregate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.aggregateRUMEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RUMAggregateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createRUMApplication(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createRUMApplication");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/applications";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.createRUMApplication")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RUMApplicationCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteRUMApplication(id, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new baseapi_1.RequiredError("id", "deleteRUMApplication");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/applications/{id}".replace("{id}", encodeURIComponent(String(id)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.deleteRUMApplication")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getRUMApplication(id, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new baseapi_1.RequiredError("id", "getRUMApplication");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/applications/{id}".replace("{id}", encodeURIComponent(String(id)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.getRUMApplication")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getRUMApplications(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/rum/applications";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.getRUMApplications")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listRUMEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/rum/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.listRUMEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "RUMSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchRUMEvents(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "searchRUMEvents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.searchRUMEvents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RUMSearchEventsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateRUMApplication(id, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new baseapi_1.RequiredError("id", "updateRUMApplication");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateRUMApplication");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/rum/applications/{id}".replace("{id}", encodeURIComponent(String(id)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RUMApi.updateRUMApplication")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RUMApplicationUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.RUMApiRequestFactory = RUMApiRequestFactory;
+class RUMApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to aggregateRUMEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    aggregateRUMEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMAnalyticsAggregateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMAnalyticsAggregateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createRUMApplication
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createRUMApplication(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteRUMApplication
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteRUMApplication(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getRUMApplication
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getRUMApplication(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getRUMApplications
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getRUMApplications(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listRUMEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listRUMEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchRUMEvents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchRUMEvents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMEventsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMEventsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateRUMApplication
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateRUMApplication(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RUMApplicationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.RUMApiResponseProcessor = RUMApiResponseProcessor;
+class RUMApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new RUMApiRequestFactory(configuration);
+        this.responseProcessor = responseProcessor || new RUMApiResponseProcessor();
+    }
+    /**
+     * The API endpoint to aggregate RUM events into buckets of computed metrics and timeseries.
+     * @param param The request object
+     */
+    aggregateRUMEvents(param, options) {
+        const requestContextPromise = this.requestFactory.aggregateRUMEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.aggregateRUMEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a new RUM application in your organization.
+     * @param param The request object
+     */
+    createRUMApplication(param, options) {
+        const requestContextPromise = this.requestFactory.createRUMApplication(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createRUMApplication(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an existing RUM application in your organization.
+     * @param param The request object
+     */
+    deleteRUMApplication(param, options) {
+        const requestContextPromise = this.requestFactory.deleteRUMApplication(param.id, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteRUMApplication(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the RUM application with given ID in your organization.
+     * @param param The request object
+     */
+    getRUMApplication(param, options) {
+        const requestContextPromise = this.requestFactory.getRUMApplication(param.id, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getRUMApplication(responseContext);
+            });
+        });
+    }
+    /**
+     * List all the RUM applications in your organization.
+     * @param param The request object
+     */
+    getRUMApplications(options) {
+        const requestContextPromise = this.requestFactory.getRUMApplications(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getRUMApplications(responseContext);
+            });
+        });
+    }
+    /**
+     * List endpoint returns events that match a RUM search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to see your latest RUM events.
+     *
+     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination
+     * @param param The request object
+     */
+    listRUMEvents(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listRUMEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listRUMEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listRUMEvents returning a generator with all the items.
+     */
+    listRUMEventsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listRUMEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listRUMEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listRUMEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns RUM events that match a RUM search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to build complex RUM events filtering and search.
+     *
+     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination
+     * @param param The request object
+     */
+    searchRUMEvents(param, options) {
+        const requestContextPromise = this.requestFactory.searchRUMEvents(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchRUMEvents(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchRUMEvents returning a generator with all the items.
+     */
+    searchRUMEventsWithPagination(param, options) {
+        return __asyncGenerator(this, arguments, function* searchRUMEventsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body.page === undefined) {
+                param.body.page = new RUMQueryPageOptions_1.RUMQueryPageOptions();
+            }
+            if (param.body.page.limit === undefined) {
+                param.body.page.limit = pageSize;
+            }
+            else {
+                pageSize = param.body.page.limit;
+            }
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchRUMEvents(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchRUMEvents(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * Update the RUM application with given ID in your organization.
+     * @param param The request object
+     */
+    updateRUMApplication(param, options) {
+        const requestContextPromise = this.requestFactory.updateRUMApplication(param.id, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateRUMApplication(responseContext);
+            });
+        });
+    }
+}
+exports.RUMApi = RUMApi;
+//# sourceMappingURL=RUMApi.js.map
+
+/***/ }),
+
+/***/ 17247:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPoliciesApi = exports.RestrictionPoliciesApiResponseProcessor = exports.RestrictionPoliciesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class RestrictionPoliciesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    deleteRestrictionPolicy(resourceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "deleteRestrictionPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/restriction_policy/{resource_id}".replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RestrictionPoliciesApi.deleteRestrictionPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getRestrictionPolicy(resourceId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "getRestrictionPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/restriction_policy/{resource_id}".replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RestrictionPoliciesApi.getRestrictionPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateRestrictionPolicy(resourceId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'resourceId' is not null or undefined
+            if (resourceId === null || resourceId === undefined) {
+                throw new baseapi_1.RequiredError("resourceId", "updateRestrictionPolicy");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateRestrictionPolicy");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/restriction_policy/{resource_id}".replace("{resource_id}", encodeURIComponent(String(resourceId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RestrictionPoliciesApi.updateRestrictionPolicy")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RestrictionPolicyUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.RestrictionPoliciesApiRequestFactory = RestrictionPoliciesApiRequestFactory;
+class RestrictionPoliciesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteRestrictionPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteRestrictionPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getRestrictionPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getRestrictionPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RestrictionPolicyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RestrictionPolicyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateRestrictionPolicy
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateRestrictionPolicy(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RestrictionPolicyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RestrictionPolicyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.RestrictionPoliciesApiResponseProcessor = RestrictionPoliciesApiResponseProcessor;
+class RestrictionPoliciesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new RestrictionPoliciesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new RestrictionPoliciesApiResponseProcessor();
+    }
+    /**
+     * Deletes the restriction policy associated with a specified resource.
+     * @param param The request object
+     */
+    deleteRestrictionPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.deleteRestrictionPolicy(param.resourceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteRestrictionPolicy(responseContext);
+            });
+        });
+    }
+    /**
+     * Retrieves the restriction policy associated with a specified resource.
+     * @param param The request object
+     */
+    getRestrictionPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.getRestrictionPolicy(param.resourceId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getRestrictionPolicy(responseContext);
+            });
+        });
+    }
+    /**
+     * Updates the restriction policy associated with a resource.
+     *
+     * #### Supported resources
+     * Restriction policies can be applied to the following resources:
+     * - Connections: `connection`
+     * - Dashboards: `dashboard`
+     * - Notebooks: `notebook`
+     * - Security Rules: `security-rule`
+     * - Service Level Objectives: `slo`
+     *
+     * #### Supported relations for resources
+     * Resource Type            | Supported Relations
+     * -------------------------|--------------------------
+     * Connections              | `viewer`, `editor`, `resolver`
+     * Dashboards               | `viewer`, `editor`
+     * Notebooks                | `viewer`, `editor`
+     * Security Rules           | `viewer`, `editor`
+     * Service Level Objectives | `viewer`, `editor`
+     * @param param The request object
+     */
+    updateRestrictionPolicy(param, options) {
+        const requestContextPromise = this.requestFactory.updateRestrictionPolicy(param.resourceId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateRestrictionPolicy(responseContext);
+            });
+        });
+    }
+}
+exports.RestrictionPoliciesApi = RestrictionPoliciesApi;
+//# sourceMappingURL=RestrictionPoliciesApi.js.map
+
+/***/ }),
+
+/***/ 19039:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RolesApi = exports.RolesApiResponseProcessor = exports.RolesApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class RolesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    addPermissionToRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "addPermissionToRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "addPermissionToRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/permissions".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.addPermissionToRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToPermission", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    addUserToRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "addUserToRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "addUserToRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/users".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.addUserToRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToUser", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    cloneRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "cloneRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "cloneRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/clone".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.cloneRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RoleCloneRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createRole(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.createRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RoleCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteRole(roleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "deleteRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.deleteRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getRole(roleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "getRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.getRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listPermissions(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/permissions";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.listPermissions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listRolePermissions(roleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "listRolePermissions");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/permissions".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.listRolePermissions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listRoles(pageSize, pageNumber, sort, filter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/roles";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.listRoles")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "RolesSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listRoleUsers(roleId, pageSize, pageNumber, sort, filter, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "listRoleUsers");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/users".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.listRoleUsers")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "string", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    removePermissionFromRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "removePermissionFromRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "removePermissionFromRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/permissions".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.removePermissionFromRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToPermission", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    removeUserFromRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "removeUserFromRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "removeUserFromRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}/users".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.removeUserFromRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RelationshipToUser", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateRole(roleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'roleId' is not null or undefined
+            if (roleId === null || roleId === undefined) {
+                throw new baseapi_1.RequiredError("roleId", "updateRole");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateRole");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/roles/{role_id}".replace("{role_id}", encodeURIComponent(String(roleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.RolesApi.updateRole")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "RoleUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.RolesApiRequestFactory = RolesApiRequestFactory;
+class RolesApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to addPermissionToRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    addPermissionToRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to addUserToRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    addUserToRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to cloneRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    cloneRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listPermissions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listPermissions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listRolePermissions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listRolePermissions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listRoles
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listRoles(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RolesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RolesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listRoleUsers
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listRoleUsers(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to removePermissionFromRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    removePermissionFromRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to removeUserFromRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    removeUserFromRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateRole
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateRole(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "RoleUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.RolesApiResponseProcessor = RolesApiResponseProcessor;
+class RolesApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new RolesApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new RolesApiResponseProcessor();
+    }
+    /**
+     * Adds a permission to a role.
+     * @param param The request object
+     */
+    addPermissionToRole(param, options) {
+        const requestContextPromise = this.requestFactory.addPermissionToRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.addPermissionToRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Adds a user to a role.
+     * @param param The request object
+     */
+    addUserToRole(param, options) {
+        const requestContextPromise = this.requestFactory.addUserToRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.addUserToRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Clone an existing role
+     * @param param The request object
+     */
+    cloneRole(param, options) {
+        const requestContextPromise = this.requestFactory.cloneRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.cloneRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a new role for your organization.
+     * @param param The request object
+     */
+    createRole(param, options) {
+        const requestContextPromise = this.requestFactory.createRole(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Disables a role.
+     * @param param The request object
+     */
+    deleteRole(param, options) {
+        const requestContextPromise = this.requestFactory.deleteRole(param.roleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a role in the organization specified by the role’s `role_id`.
+     * @param param The request object
+     */
+    getRole(param, options) {
+        const requestContextPromise = this.requestFactory.getRole(param.roleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns a list of all permissions, including name, description, and ID.
+     * @param param The request object
+     */
+    listPermissions(options) {
+        const requestContextPromise = this.requestFactory.listPermissions(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listPermissions(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns a list of all permissions for a single role.
+     * @param param The request object
+     */
+    listRolePermissions(param, options) {
+        const requestContextPromise = this.requestFactory.listRolePermissions(param.roleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listRolePermissions(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns all roles, including their names and their unique identifiers.
+     * @param param The request object
+     */
+    listRoles(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listRoles(param.pageSize, param.pageNumber, param.sort, param.filter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listRoles(responseContext);
+            });
+        });
+    }
+    /**
+     * Gets all users of a role.
+     * @param param The request object
+     */
+    listRoleUsers(param, options) {
+        const requestContextPromise = this.requestFactory.listRoleUsers(param.roleId, param.pageSize, param.pageNumber, param.sort, param.filter, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listRoleUsers(responseContext);
+            });
+        });
+    }
+    /**
+     * Removes a permission from a role.
+     * @param param The request object
+     */
+    removePermissionFromRole(param, options) {
+        const requestContextPromise = this.requestFactory.removePermissionFromRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.removePermissionFromRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Removes a user from a role.
+     * @param param The request object
+     */
+    removeUserFromRole(param, options) {
+        const requestContextPromise = this.requestFactory.removeUserFromRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.removeUserFromRole(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit a role. Can only be used with application keys belonging to administrators.
+     * @param param The request object
+     */
+    updateRole(param, options) {
+        const requestContextPromise = this.requestFactory.updateRole(param.roleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateRole(responseContext);
+            });
+        });
+    }
+}
+exports.RolesApi = RolesApi;
+//# sourceMappingURL=RolesApi.js.map
+
+/***/ }),
+
+/***/ 8781:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringApi = exports.SecurityMonitoringApiResponseProcessor = exports.SecurityMonitoringApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const SecurityMonitoringSignalListRequest_1 = __webpack_require__(10932);
+const SecurityMonitoringSignalListRequestPage_1 = __webpack_require__(90767);
+class SecurityMonitoringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createSecurityFilter(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSecurityFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/configuration/security_filters";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.createSecurityFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityFilterCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createSecurityMonitoringRule(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSecurityMonitoringRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.createSecurityMonitoringRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringRuleCreatePayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSecurityFilter(securityFilterId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'securityFilterId' is not null or undefined
+            if (securityFilterId === null || securityFilterId === undefined) {
+                throw new baseapi_1.RequiredError("securityFilterId", "deleteSecurityFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}".replace("{security_filter_id}", encodeURIComponent(String(securityFilterId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.deleteSecurityFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSecurityMonitoringRule(ruleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ruleId' is not null or undefined
+            if (ruleId === null || ruleId === undefined) {
+                throw new baseapi_1.RequiredError("ruleId", "deleteSecurityMonitoringRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/rules/{rule_id}".replace("{rule_id}", encodeURIComponent(String(ruleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.deleteSecurityMonitoringRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editSecurityMonitoringSignalAssignee(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "editSecurityMonitoringSignalAssignee");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editSecurityMonitoringSignalAssignee");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals/{signal_id}/assignee".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.editSecurityMonitoringSignalAssignee")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringSignalAssigneeUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editSecurityMonitoringSignalIncidents(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "editSecurityMonitoringSignalIncidents");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editSecurityMonitoringSignalIncidents");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals/{signal_id}/incidents".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.editSecurityMonitoringSignalIncidents")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringSignalIncidentsUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    editSecurityMonitoringSignalState(signalId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "editSecurityMonitoringSignalState");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "editSecurityMonitoringSignalState");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals/{signal_id}/state".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.editSecurityMonitoringSignalState")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringSignalStateUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getFinding(findingId, snapshotTimestamp, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'getFinding'");
+            if (!_config.unstableOperations["v2.getFinding"]) {
+                throw new Error("Unstable operation 'getFinding' is disabled");
+            }
+            // verify required parameter 'findingId' is not null or undefined
+            if (findingId === null || findingId === undefined) {
+                throw new baseapi_1.RequiredError("findingId", "getFinding");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/posture_management/findings/{finding_id}".replace("{finding_id}", encodeURIComponent(String(findingId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.getFinding")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (snapshotTimestamp !== undefined) {
+                requestContext.setQueryParam("snapshot_timestamp", ObjectSerializer_1.ObjectSerializer.serialize(snapshotTimestamp, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSecurityFilter(securityFilterId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'securityFilterId' is not null or undefined
+            if (securityFilterId === null || securityFilterId === undefined) {
+                throw new baseapi_1.RequiredError("securityFilterId", "getSecurityFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}".replace("{security_filter_id}", encodeURIComponent(String(securityFilterId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.getSecurityFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSecurityMonitoringRule(ruleId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ruleId' is not null or undefined
+            if (ruleId === null || ruleId === undefined) {
+                throw new baseapi_1.RequiredError("ruleId", "getSecurityMonitoringRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/rules/{rule_id}".replace("{rule_id}", encodeURIComponent(String(ruleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.getSecurityMonitoringRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSecurityMonitoringSignal(signalId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'signalId' is not null or undefined
+            if (signalId === null || signalId === undefined) {
+                throw new baseapi_1.RequiredError("signalId", "getSecurityMonitoringSignal");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals/{signal_id}".replace("{signal_id}", encodeURIComponent(String(signalId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.getSecurityMonitoringSignal")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listFindings(pageLimit, snapshotTimestamp, pageCursor, filterTags, filterEvaluationChangedAt, filterMuted, filterRuleId, filterRuleName, filterResourceType, filterDiscoveryTimestamp, filterEvaluation, filterStatus, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'listFindings'");
+            if (!_config.unstableOperations["v2.listFindings"]) {
+                throw new Error("Unstable operation 'listFindings' is disabled");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/posture_management/findings";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.listFindings")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int64"));
+            }
+            if (snapshotTimestamp !== undefined) {
+                requestContext.setQueryParam("snapshot_timestamp", ObjectSerializer_1.ObjectSerializer.serialize(snapshotTimestamp, "number", "int64"));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (filterTags !== undefined) {
+                requestContext.setQueryParam("filter[tags]", ObjectSerializer_1.ObjectSerializer.serialize(filterTags, "string", ""));
+            }
+            if (filterEvaluationChangedAt !== undefined) {
+                requestContext.setQueryParam("filter[evaluation_changed_at]", ObjectSerializer_1.ObjectSerializer.serialize(filterEvaluationChangedAt, "string", ""));
+            }
+            if (filterMuted !== undefined) {
+                requestContext.setQueryParam("filter[muted]", ObjectSerializer_1.ObjectSerializer.serialize(filterMuted, "boolean", ""));
+            }
+            if (filterRuleId !== undefined) {
+                requestContext.setQueryParam("filter[rule_id]", ObjectSerializer_1.ObjectSerializer.serialize(filterRuleId, "string", ""));
+            }
+            if (filterRuleName !== undefined) {
+                requestContext.setQueryParam("filter[rule_name]", ObjectSerializer_1.ObjectSerializer.serialize(filterRuleName, "string", ""));
+            }
+            if (filterResourceType !== undefined) {
+                requestContext.setQueryParam("filter[resource_type]", ObjectSerializer_1.ObjectSerializer.serialize(filterResourceType, "string", ""));
+            }
+            if (filterDiscoveryTimestamp !== undefined) {
+                requestContext.setQueryParam("filter[discovery_timestamp]", ObjectSerializer_1.ObjectSerializer.serialize(filterDiscoveryTimestamp, "string", ""));
+            }
+            if (filterEvaluation !== undefined) {
+                requestContext.setQueryParam("filter[evaluation]", ObjectSerializer_1.ObjectSerializer.serialize(filterEvaluation, "FindingEvaluation", ""));
+            }
+            if (filterStatus !== undefined) {
+                requestContext.setQueryParam("filter[status]", ObjectSerializer_1.ObjectSerializer.serialize(filterStatus, "FindingStatus", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSecurityFilters(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/configuration/security_filters";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.listSecurityFilters")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSecurityMonitoringRules(pageSize, pageNumber, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.listSecurityMonitoringRules")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSecurityMonitoringSignals(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.listSecurityMonitoringSignals")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "Date", "date-time"));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "Date", "date-time"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "SecurityMonitoringSignalsSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    searchSecurityMonitoringSignals(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/signals/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.searchSecurityMonitoringSignals")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringSignalListRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateFinding(findingId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            logger_1.logger.warn("Using unstable operation 'updateFinding'");
+            if (!_config.unstableOperations["v2.updateFinding"]) {
+                throw new Error("Unstable operation 'updateFinding' is disabled");
+            }
+            // verify required parameter 'findingId' is not null or undefined
+            if (findingId === null || findingId === undefined) {
+                throw new baseapi_1.RequiredError("findingId", "updateFinding");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateFinding");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/posture_management/findings/{finding_id}".replace("{finding_id}", encodeURIComponent(String(findingId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.updateFinding")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "MuteFindingRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSecurityFilter(securityFilterId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'securityFilterId' is not null or undefined
+            if (securityFilterId === null || securityFilterId === undefined) {
+                throw new baseapi_1.RequiredError("securityFilterId", "updateSecurityFilter");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSecurityFilter");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}".replace("{security_filter_id}", encodeURIComponent(String(securityFilterId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.updateSecurityFilter")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityFilterUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSecurityMonitoringRule(ruleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ruleId' is not null or undefined
+            if (ruleId === null || ruleId === undefined) {
+                throw new baseapi_1.RequiredError("ruleId", "updateSecurityMonitoringRule");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSecurityMonitoringRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/security_monitoring/rules/{rule_id}".replace("{rule_id}", encodeURIComponent(String(ruleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SecurityMonitoringApi.updateSecurityMonitoringRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SecurityMonitoringRuleUpdatePayload", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SecurityMonitoringApiRequestFactory = SecurityMonitoringApiRequestFactory;
+class SecurityMonitoringApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSecurityFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSecurityFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSecurityMonitoringRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSecurityMonitoringRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSecurityFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSecurityFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSecurityMonitoringRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSecurityMonitoringRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editSecurityMonitoringSignalAssignee
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editSecurityMonitoringSignalAssignee(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editSecurityMonitoringSignalIncidents
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editSecurityMonitoringSignalIncidents(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to editSecurityMonitoringSignalState
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    editSecurityMonitoringSignalState(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalTriageUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getFinding
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getFinding(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GetFindingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "JSONAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "GetFindingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSecurityFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSecurityFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSecurityMonitoringRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSecurityMonitoringRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSecurityMonitoringSignal
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSecurityMonitoringSignal(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listFindings
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listFindings(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListFindingsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "JSONAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListFindingsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSecurityFilters
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSecurityFilters(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFiltersResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFiltersResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSecurityMonitoringRules
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSecurityMonitoringRules(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringListRulesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringListRulesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSecurityMonitoringSignals
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSecurityMonitoringSignals(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to searchSecurityMonitoringSignals
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    searchSecurityMonitoringSignals(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringSignalsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateFinding
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateFinding(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MuteFindingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "JSONAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "MuteFindingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSecurityFilter
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSecurityFilter(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityFilterResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSecurityMonitoringRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSecurityMonitoringRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 401 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SecurityMonitoringRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SecurityMonitoringApiResponseProcessor = SecurityMonitoringApiResponseProcessor;
+class SecurityMonitoringApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SecurityMonitoringApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SecurityMonitoringApiResponseProcessor();
+    }
+    /**
+     * Create a security filter.
+     *
+     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
+     * for more examples.
+     * @param param The request object
+     */
+    createSecurityFilter(param, options) {
+        const requestContextPromise = this.requestFactory.createSecurityFilter(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSecurityFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a detection rule.
+     * @param param The request object
+     */
+    createSecurityMonitoringRule(param, options) {
+        const requestContextPromise = this.requestFactory.createSecurityMonitoringRule(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSecurityMonitoringRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a specific security filter.
+     * @param param The request object
+     */
+    deleteSecurityFilter(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSecurityFilter(param.securityFilterId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSecurityFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an existing rule. Default rules cannot be deleted.
+     * @param param The request object
+     */
+    deleteSecurityMonitoringRule(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSecurityMonitoringRule(param.ruleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSecurityMonitoringRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Modify the triage assignee of a security signal.
+     * @param param The request object
+     */
+    editSecurityMonitoringSignalAssignee(param, options) {
+        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalAssignee(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editSecurityMonitoringSignalAssignee(responseContext);
+            });
+        });
+    }
+    /**
+     * Change the related incidents for a security signal.
+     * @param param The request object
+     */
+    editSecurityMonitoringSignalIncidents(param, options) {
+        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalIncidents(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editSecurityMonitoringSignalIncidents(responseContext);
+            });
+        });
+    }
+    /**
+     * Change the triage state of a security signal.
+     * @param param The request object
+     */
+    editSecurityMonitoringSignalState(param, options) {
+        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalState(param.signalId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.editSecurityMonitoringSignalState(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns a single finding with message and resource configuration.
+     * @param param The request object
+     */
+    getFinding(param, options) {
+        const requestContextPromise = this.requestFactory.getFinding(param.findingId, param.snapshotTimestamp, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getFinding(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the details of a specific security filter.
+     *
+     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
+     * for more examples.
+     * @param param The request object
+     */
+    getSecurityFilter(param, options) {
+        const requestContextPromise = this.requestFactory.getSecurityFilter(param.securityFilterId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSecurityFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a rule's details.
+     * @param param The request object
+     */
+    getSecurityMonitoringRule(param, options) {
+        const requestContextPromise = this.requestFactory.getSecurityMonitoringRule(param.ruleId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSecurityMonitoringRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a signal's details.
+     * @param param The request object
+     */
+    getSecurityMonitoringSignal(param, options) {
+        const requestContextPromise = this.requestFactory.getSecurityMonitoringSignal(param.signalId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSecurityMonitoringSignal(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of CSPM findings.
+     *
+     * ### Filtering
+     *
+     * Filters can be applied by appending query parameters to the URL.
+     *
+     *   - Using a single filter: `?filter[attribute_key]=attribute_value`
+     *   - Chaining filters: `?filter[attribute_key]=attribute_value&filter[attribute_key]=attribute_value...`
+     *   - Filtering on tags: `?filter[tags]=tag_key:tag_value&filter[tags]=tag_key_2:tag_value_2`
+     *
+     * Here, `attribute_key` can be any of the filter keys described further below.
+     *
+     * Query parameters of type `integer` support comparison operators (`>`, `>=`, `<`, `<=`). This is particularly useful when filtering by `evaluation_changed_at` or `resource_discovery_timestamp`. For example: `?filter[evaluation_changed_at]=>20123123121`.
+     *
+     * You can also use the negation operator on strings. For example, use `filter[resource_type]=-aws*` to filter for any non-AWS resources.
+     *
+     * The operator must come after the equal sign. For example, to filter with the `>=` operator, add the operator after the equal sign: `filter[evaluation_changed_at]=>=1678809373257`.
+     *
+     * Query parameters must be only among the documented ones and with values of correct types. Duplicated query parameters (e.g. `filter[status]=low&filter[status]=info`) are not allowed.
+     *
+     * ### Response
+     *
+     * The response includes an array of finding objects, pagination metadata, and a count of items that match the query.
+     *
+     * Each finding object contains the following:
+     *
+     * - The finding ID that can be used in a `GetFinding` request to retrieve the full finding details.
+     * - Core attributes, including status, evaluation, high-level resource details, muted state, and rule details.
+     * - `evaluation_changed_at` and `resource_discovery_date` time stamps.
+     * - An array of associated tags.
+     * @param param The request object
+     */
+    listFindings(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listFindings(param.pageLimit, param.snapshotTimestamp, param.pageCursor, param.filterTags, param.filterEvaluationChangedAt, param.filterMuted, param.filterRuleId, param.filterRuleName, param.filterResourceType, param.filterDiscoveryTimestamp, param.filterEvaluation, param.filterStatus, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listFindings(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listFindings returning a generator with all the items.
+     */
+    listFindingsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listFindingsWithPagination_1() {
+            let pageSize = 100;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listFindings(param.pageLimit, param.snapshotTimestamp, param.pageCursor, param.filterTags, param.filterEvaluationChangedAt, param.filterMuted, param.filterRuleId, param.filterRuleName, param.filterResourceType, param.filterDiscoveryTimestamp, param.filterEvaluation, param.filterStatus, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listFindings(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageCursor = cursorMetaPage.cursor;
+                if (cursorMetaPageCursor === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageCursor;
+            }
+        });
+    }
+    /**
+     * Get the list of configured security filters with their definitions.
+     * @param param The request object
+     */
+    listSecurityFilters(options) {
+        const requestContextPromise = this.requestFactory.listSecurityFilters(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSecurityFilters(responseContext);
+            });
+        });
+    }
+    /**
+     * List rules.
+     * @param param The request object
+     */
+    listSecurityMonitoringRules(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listSecurityMonitoringRules(param.pageSize, param.pageNumber, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSecurityMonitoringRules(responseContext);
+            });
+        });
+    }
+    /**
+     * The list endpoint returns security signals that match a search query.
+     * Both this endpoint and the POST endpoint can be used interchangeably when listing
+     * security signals.
+     * @param param The request object
+     */
+    listSecurityMonitoringSignals(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listSecurityMonitoringSignals(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSecurityMonitoringSignals(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listSecurityMonitoringSignals returning a generator with all the items.
+     */
+    listSecurityMonitoringSignalsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listSecurityMonitoringSignalsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listSecurityMonitoringSignals(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listSecurityMonitoringSignals(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * Returns security signals that match a search query.
+     * Both this endpoint and the GET endpoint can be used interchangeably for listing
+     * security signals.
+     * @param param The request object
+     */
+    searchSecurityMonitoringSignals(param = {}, options) {
+        const requestContextPromise = this.requestFactory.searchSecurityMonitoringSignals(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.searchSecurityMonitoringSignals(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of searchSecurityMonitoringSignals returning a generator with all the items.
+     */
+    searchSecurityMonitoringSignalsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* searchSecurityMonitoringSignalsWithPagination_1() {
+            let pageSize = 10;
+            if (param.body === undefined) {
+                param.body = new SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest();
+            }
+            if (param.body.page === undefined) {
+                param.body.page = new SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage();
+            }
+            if (param.body.page.limit !== undefined) {
+                pageSize = param.body.page.limit;
+            }
+            param.body.page.limit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.searchSecurityMonitoringSignals(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.searchSecurityMonitoringSignals(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * Mute or unmute a specific finding.
+     * The API returns the updated finding object when the request is successful.
+     * @param param The request object
+     */
+    updateFinding(param, options) {
+        const requestContextPromise = this.requestFactory.updateFinding(param.findingId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateFinding(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a specific security filter.
+     * Returns the security filter object when the request is successful.
+     * @param param The request object
+     */
+    updateSecurityFilter(param, options) {
+        const requestContextPromise = this.requestFactory.updateSecurityFilter(param.securityFilterId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSecurityFilter(responseContext);
+            });
+        });
+    }
+    /**
+     * Update an existing rule. When updating `cases`, `queries` or `options`, the whole field
+     * must be included. For example, when modifying a query all queries must be included.
+     * Default rules can only be updated to be enabled and to change notifications.
+     * @param param The request object
+     */
+    updateSecurityMonitoringRule(param, options) {
+        const requestContextPromise = this.requestFactory.updateSecurityMonitoringRule(param.ruleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSecurityMonitoringRule(responseContext);
+            });
+        });
+    }
+}
+exports.SecurityMonitoringApi = SecurityMonitoringApi;
+//# sourceMappingURL=SecurityMonitoringApi.js.map
+
+/***/ }),
+
+/***/ 17714:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerApi = exports.SensitiveDataScannerApiResponseProcessor = exports.SensitiveDataScannerApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class SensitiveDataScannerApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createScanningGroup(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createScanningGroup");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/groups";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.createScanningGroup")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerGroupCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createScanningRule(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createScanningRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/rules";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.createScanningRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerRuleCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteScanningGroup(groupId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'groupId' is not null or undefined
+            if (groupId === null || groupId === undefined) {
+                throw new baseapi_1.RequiredError("groupId", "deleteScanningGroup");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteScanningGroup");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/groups/{group_id}".replace("{group_id}", encodeURIComponent(String(groupId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.deleteScanningGroup")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerGroupDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteScanningRule(ruleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ruleId' is not null or undefined
+            if (ruleId === null || ruleId === undefined) {
+                throw new baseapi_1.RequiredError("ruleId", "deleteScanningRule");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "deleteScanningRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/rules/{rule_id}".replace("{rule_id}", encodeURIComponent(String(ruleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.deleteScanningRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerRuleDeleteRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listScanningGroups(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.listScanningGroups")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listStandardPatterns(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/standard-patterns";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.listStandardPatterns")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    reorderScanningGroups(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "reorderScanningGroups");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.reorderScanningGroups")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerConfigRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateScanningGroup(groupId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'groupId' is not null or undefined
+            if (groupId === null || groupId === undefined) {
+                throw new baseapi_1.RequiredError("groupId", "updateScanningGroup");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateScanningGroup");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/groups/{group_id}".replace("{group_id}", encodeURIComponent(String(groupId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.updateScanningGroup")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerGroupUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateScanningRule(ruleId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'ruleId' is not null or undefined
+            if (ruleId === null || ruleId === undefined) {
+                throw new baseapi_1.RequiredError("ruleId", "updateScanningRule");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateScanningRule");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/sensitive-data-scanner/config/rules/{rule_id}".replace("{rule_id}", encodeURIComponent(String(ruleId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SensitiveDataScannerApi.updateScanningRule")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SensitiveDataScannerRuleUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SensitiveDataScannerApiRequestFactory = SensitiveDataScannerApiRequestFactory;
+class SensitiveDataScannerApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createScanningGroup
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createScanningGroup(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerCreateGroupResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerCreateGroupResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createScanningRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createScanningRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerCreateRuleResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerCreateRuleResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteScanningGroup
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteScanningGroup(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGroupDeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGroupDeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteScanningRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteScanningRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerRuleDeleteResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerRuleDeleteResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listScanningGroups
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listScanningGroups(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGetConfigResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGetConfigResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listStandardPatterns
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listStandardPatterns(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerStandardPatternsResponseData");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerStandardPatternsResponseData", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to reorderScanningGroups
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    reorderScanningGroups(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerReorderGroupsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerReorderGroupsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateScanningGroup
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateScanningGroup(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGroupUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerGroupUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateScanningRule
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateScanningRule(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerRuleUpdateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SensitiveDataScannerRuleUpdateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SensitiveDataScannerApiResponseProcessor = SensitiveDataScannerApiResponseProcessor;
+class SensitiveDataScannerApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory ||
+                new SensitiveDataScannerApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SensitiveDataScannerApiResponseProcessor();
+    }
+    /**
+     * Create a scanning group.
+     * The request MAY include a configuration relationship.
+     * A rules relationship can be omitted entirely, but if it is included it MUST be
+     * null or an empty array (rules cannot be created at the same time).
+     * The new group will be ordered last within the configuration.
+     * @param param The request object
+     */
+    createScanningGroup(param, options) {
+        const requestContextPromise = this.requestFactory.createScanningGroup(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createScanningGroup(responseContext);
+            });
+        });
+    }
+    /**
+     * Create a scanning rule in a sensitive data scanner group, ordered last.
+     * The posted rule MUST include a group relationship.
+     * It MUST include either a standard_pattern relationship or a regex attribute, but not both.
+     * If included_attributes is empty or missing, we will scan all attributes except
+     * excluded_attributes. If both are missing, we will scan the whole event.
+     * @param param The request object
+     */
+    createScanningRule(param, options) {
+        const requestContextPromise = this.requestFactory.createScanningRule(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createScanningRule(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given group.
+     * @param param The request object
+     */
+    deleteScanningGroup(param, options) {
+        const requestContextPromise = this.requestFactory.deleteScanningGroup(param.groupId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteScanningGroup(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a given rule.
+     * @param param The request object
+     */
+    deleteScanningRule(param, options) {
+        const requestContextPromise = this.requestFactory.deleteScanningRule(param.ruleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteScanningRule(responseContext);
+            });
+        });
+    }
+    /**
+     * List all the Scanning groups in your organization.
+     * @param param The request object
+     */
+    listScanningGroups(options) {
+        const requestContextPromise = this.requestFactory.listScanningGroups(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listScanningGroups(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns all standard patterns.
+     * @param param The request object
+     */
+    listStandardPatterns(options) {
+        const requestContextPromise = this.requestFactory.listStandardPatterns(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listStandardPatterns(responseContext);
+            });
+        });
+    }
+    /**
+     * Reorder the list of groups.
+     * @param param The request object
+     */
+    reorderScanningGroups(param, options) {
+        const requestContextPromise = this.requestFactory.reorderScanningGroups(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.reorderScanningGroups(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a group, including the order of the rules.
+     * Rules within the group are reordered by including a rules relationship. If the rules
+     * relationship is present, its data section MUST contain linkages for all of the rules
+     * currently in the group, and MUST NOT contain any others.
+     * @param param The request object
+     */
+    updateScanningGroup(param, options) {
+        const requestContextPromise = this.requestFactory.updateScanningGroup(param.groupId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateScanningGroup(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a scanning rule.
+     * The request body MUST NOT include a standard_pattern relationship, as that relationship
+     * is non-editable. Trying to edit the regex attribute of a rule with a standard_pattern
+     * relationship will also result in an error.
+     * @param param The request object
+     */
+    updateScanningRule(param, options) {
+        const requestContextPromise = this.requestFactory.updateScanningRule(param.ruleId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateScanningRule(responseContext);
+            });
+        });
+    }
+}
+exports.SensitiveDataScannerApi = SensitiveDataScannerApi;
+//# sourceMappingURL=SensitiveDataScannerApi.js.map
+
+/***/ }),
+
+/***/ 76380:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceAccountsApi = exports.ServiceAccountsApiResponseProcessor = exports.ServiceAccountsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class ServiceAccountsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createServiceAccount(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createServiceAccount");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.createServiceAccount")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ServiceAccountCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createServiceAccountApplicationKey(serviceAccountId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceAccountId' is not null or undefined
+            if (serviceAccountId === null || serviceAccountId === undefined) {
+                throw new baseapi_1.RequiredError("serviceAccountId", "createServiceAccountApplicationKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createServiceAccountApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts/{service_account_id}/application_keys".replace("{service_account_id}", encodeURIComponent(String(serviceAccountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.createServiceAccountApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKeyCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteServiceAccountApplicationKey(serviceAccountId, appKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceAccountId' is not null or undefined
+            if (serviceAccountId === null || serviceAccountId === undefined) {
+                throw new baseapi_1.RequiredError("serviceAccountId", "deleteServiceAccountApplicationKey");
+            }
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "deleteServiceAccountApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}"
+                .replace("{service_account_id}", encodeURIComponent(String(serviceAccountId)))
+                .replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.deleteServiceAccountApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getServiceAccountApplicationKey(serviceAccountId, appKeyId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceAccountId' is not null or undefined
+            if (serviceAccountId === null || serviceAccountId === undefined) {
+                throw new baseapi_1.RequiredError("serviceAccountId", "getServiceAccountApplicationKey");
+            }
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "getServiceAccountApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}"
+                .replace("{service_account_id}", encodeURIComponent(String(serviceAccountId)))
+                .replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.getServiceAccountApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listServiceAccountApplicationKeys(serviceAccountId, pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceAccountId' is not null or undefined
+            if (serviceAccountId === null || serviceAccountId === undefined) {
+                throw new baseapi_1.RequiredError("serviceAccountId", "listServiceAccountApplicationKeys");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts/{service_account_id}/application_keys".replace("{service_account_id}", encodeURIComponent(String(serviceAccountId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.listServiceAccountApplicationKeys")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "ApplicationKeysSort", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (filterCreatedAtStart !== undefined) {
+                requestContext.setQueryParam("filter[created_at][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, "string", ""));
+            }
+            if (filterCreatedAtEnd !== undefined) {
+                requestContext.setQueryParam("filter[created_at][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateServiceAccountApplicationKey(serviceAccountId, appKeyId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceAccountId' is not null or undefined
+            if (serviceAccountId === null || serviceAccountId === undefined) {
+                throw new baseapi_1.RequiredError("serviceAccountId", "updateServiceAccountApplicationKey");
+            }
+            // verify required parameter 'appKeyId' is not null or undefined
+            if (appKeyId === null || appKeyId === undefined) {
+                throw new baseapi_1.RequiredError("appKeyId", "updateServiceAccountApplicationKey");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateServiceAccountApplicationKey");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}"
+                .replace("{service_account_id}", encodeURIComponent(String(serviceAccountId)))
+                .replace("{app_key_id}", encodeURIComponent(String(appKeyId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceAccountsApi.updateServiceAccountApplicationKey")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ApplicationKeyUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ServiceAccountsApiRequestFactory = ServiceAccountsApiRequestFactory;
+class ServiceAccountsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createServiceAccount
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createServiceAccount(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createServiceAccountApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createServiceAccountApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteServiceAccountApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteServiceAccountApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getServiceAccountApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getServiceAccountApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PartialApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PartialApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listServiceAccountApplicationKeys
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listServiceAccountApplicationKeys(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ListApplicationKeysResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateServiceAccountApplicationKey
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateServiceAccountApplicationKey(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PartialApplicationKeyResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PartialApplicationKeyResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ServiceAccountsApiResponseProcessor = ServiceAccountsApiResponseProcessor;
+class ServiceAccountsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new ServiceAccountsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ServiceAccountsApiResponseProcessor();
+    }
+    /**
+     * Create a service account for your organization.
+     * @param param The request object
+     */
+    createServiceAccount(param, options) {
+        const requestContextPromise = this.requestFactory.createServiceAccount(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createServiceAccount(responseContext);
+            });
+        });
+    }
+    /**
+     * Create an application key for this service account.
+     * @param param The request object
+     */
+    createServiceAccountApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.createServiceAccountApplicationKey(param.serviceAccountId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createServiceAccountApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete an application key owned by this service account.
+     * @param param The request object
+     */
+    deleteServiceAccountApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.deleteServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteServiceAccountApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * Get an application key owned by this service account.
+     * @param param The request object
+     */
+    getServiceAccountApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.getServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getServiceAccountApplicationKey(responseContext);
+            });
+        });
+    }
+    /**
+     * List all application keys available for this service account.
+     * @param param The request object
+     */
+    listServiceAccountApplicationKeys(param, options) {
+        const requestContextPromise = this.requestFactory.listServiceAccountApplicationKeys(param.serviceAccountId, param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listServiceAccountApplicationKeys(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit an application key owned by this service account.
+     * @param param The request object
+     */
+    updateServiceAccountApplicationKey(param, options) {
+        const requestContextPromise = this.requestFactory.updateServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateServiceAccountApplicationKey(responseContext);
+            });
+        });
+    }
+}
+exports.ServiceAccountsApi = ServiceAccountsApi;
+//# sourceMappingURL=ServiceAccountsApi.js.map
+
+/***/ }),
+
+/***/ 21834:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionApi = exports.ServiceDefinitionApiResponseProcessor = exports.ServiceDefinitionApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class ServiceDefinitionApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createOrUpdateServiceDefinitions(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createOrUpdateServiceDefinitions");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/definitions";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceDefinitionApi.createOrUpdateServiceDefinitions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "ServiceDefinitionsCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteServiceDefinition(serviceName, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceName' is not null or undefined
+            if (serviceName === null || serviceName === undefined) {
+                throw new baseapi_1.RequiredError("serviceName", "deleteServiceDefinition");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/definitions/{service_name}".replace("{service_name}", encodeURIComponent(String(serviceName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceDefinitionApi.deleteServiceDefinition")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getServiceDefinition(serviceName, schemaVersion, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'serviceName' is not null or undefined
+            if (serviceName === null || serviceName === undefined) {
+                throw new baseapi_1.RequiredError("serviceName", "getServiceDefinition");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/services/definitions/{service_name}".replace("{service_name}", encodeURIComponent(String(serviceName)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceDefinitionApi.getServiceDefinition")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (schemaVersion !== undefined) {
+                requestContext.setQueryParam("schema_version", ObjectSerializer_1.ObjectSerializer.serialize(schemaVersion, "ServiceDefinitionSchemaVersions", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listServiceDefinitions(pageSize, pageNumber, schemaVersion, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/services/definitions";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.ServiceDefinitionApi.listServiceDefinitions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (schemaVersion !== undefined) {
+                requestContext.setQueryParam("schema_version", ObjectSerializer_1.ObjectSerializer.serialize(schemaVersion, "ServiceDefinitionSchemaVersions", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.ServiceDefinitionApiRequestFactory = ServiceDefinitionApiRequestFactory;
+class ServiceDefinitionApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createOrUpdateServiceDefinitions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createOrUpdateServiceDefinitions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionCreateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionCreateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteServiceDefinition
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteServiceDefinition(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getServiceDefinition
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getServiceDefinition(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionGetResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionGetResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listServiceDefinitions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listServiceDefinitions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionsListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "ServiceDefinitionsListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.ServiceDefinitionApiResponseProcessor = ServiceDefinitionApiResponseProcessor;
+class ServiceDefinitionApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new ServiceDefinitionApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new ServiceDefinitionApiResponseProcessor();
+    }
+    /**
+     * Create or update service definition in the Datadog Service Catalog.
+     * @param param The request object
+     */
+    createOrUpdateServiceDefinitions(param, options) {
+        const requestContextPromise = this.requestFactory.createOrUpdateServiceDefinitions(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createOrUpdateServiceDefinitions(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a single service definition in the Datadog Service Catalog.
+     * @param param The request object
+     */
+    deleteServiceDefinition(param, options) {
+        const requestContextPromise = this.requestFactory.deleteServiceDefinition(param.serviceName, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteServiceDefinition(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a single service definition from the Datadog Service Catalog.
+     * @param param The request object
+     */
+    getServiceDefinition(param, options) {
+        const requestContextPromise = this.requestFactory.getServiceDefinition(param.serviceName, param.schemaVersion, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getServiceDefinition(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of all service definitions from the Datadog Service Catalog.
+     * @param param The request object
+     */
+    listServiceDefinitions(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listServiceDefinitions(param.pageSize, param.pageNumber, param.schemaVersion, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listServiceDefinitions(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listServiceDefinitions returning a generator with all the items.
+     */
+    listServiceDefinitionsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listServiceDefinitionsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listServiceDefinitions(param.pageSize, param.pageNumber, param.schemaVersion, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listServiceDefinitions(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                if (param.pageNumber === undefined) {
+                    param.pageNumber = pageSize;
+                }
+                else {
+                    param.pageNumber = param.pageNumber + pageSize;
+                }
+            }
+        });
+    }
+}
+exports.ServiceDefinitionApi = ServiceDefinitionApi;
+//# sourceMappingURL=ServiceDefinitionApi.js.map
+
+/***/ }),
+
+/***/ 45291:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansApi = exports.SpansApiResponseProcessor = exports.SpansApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+const SpansListRequestAttributes_1 = __webpack_require__(67861);
+const SpansListRequestData_1 = __webpack_require__(45722);
+const SpansListRequestPage_1 = __webpack_require__(63987);
+class SpansApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    aggregateSpans(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "aggregateSpans");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/spans/analytics/aggregate";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansApi.aggregateSpans")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SpansAggregateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSpans(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "listSpans");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/spans/events/search";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansApi.listSpans")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SpansListRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSpansGet(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/spans/events";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansApi.listSpansGet")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterQuery !== undefined) {
+                requestContext.setQueryParam("filter[query]", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, "string", ""));
+            }
+            if (filterFrom !== undefined) {
+                requestContext.setQueryParam("filter[from]", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, "string", ""));
+            }
+            if (filterTo !== undefined) {
+                requestContext.setQueryParam("filter[to]", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, "string", ""));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "SpansSort", ""));
+            }
+            if (pageCursor !== undefined) {
+                requestContext.setQueryParam("page[cursor]", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SpansApiRequestFactory = SpansApiRequestFactory;
+class SpansApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to aggregateSpans
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    aggregateSpans(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansAggregateResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansAggregateResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSpans
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSpans(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "JSONAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSpansGet
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSpansGet(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansListResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "JSONAPIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansListResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SpansApiResponseProcessor = SpansApiResponseProcessor;
+class SpansApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SpansApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SpansApiResponseProcessor();
+    }
+    /**
+     * The API endpoint to aggregate spans into buckets and compute metrics and timeseries.
+     * This endpoint is rate limited to `300` requests per hour.
+     * @param param The request object
+     */
+    aggregateSpans(param, options) {
+        const requestContextPromise = this.requestFactory.aggregateSpans(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.aggregateSpans(responseContext);
+            });
+        });
+    }
+    /**
+     * List endpoint returns spans that match a span search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to build complex spans filtering and search.
+     * This endpoint is rate limited to `300` requests per hour.
+     *
+     * [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api
+     * @param param The request object
+     */
+    listSpans(param, options) {
+        const requestContextPromise = this.requestFactory.listSpans(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSpans(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listSpans returning a generator with all the items.
+     */
+    listSpansWithPagination(param, options) {
+        return __asyncGenerator(this, arguments, function* listSpansWithPagination_1() {
+            let pageSize = 10;
+            if (param.body.data === undefined) {
+                param.body.data = new SpansListRequestData_1.SpansListRequestData();
+            }
+            if (param.body.data.attributes === undefined) {
+                param.body.data.attributes = new SpansListRequestAttributes_1.SpansListRequestAttributes();
+            }
+            if (param.body.data.attributes.page === undefined) {
+                param.body.data.attributes.page = new SpansListRequestPage_1.SpansListRequestPage();
+            }
+            if (param.body.data.attributes.page.limit === undefined) {
+                param.body.data.attributes.page.limit = pageSize;
+            }
+            else {
+                pageSize = param.body.data.attributes.page.limit;
+            }
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listSpans(param.body, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listSpans(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.body.data.attributes.page.cursor = cursorMetaPageAfter;
+            }
+        });
+    }
+    /**
+     * List endpoint returns spans that match a span search query.
+     * [Results are paginated][1].
+     *
+     * Use this endpoint to see your latest spans.
+     * This endpoint is rate limited to `300` requests per hour.
+     *
+     * [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api
+     * @param param The request object
+     */
+    listSpansGet(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listSpansGet(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSpansGet(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listSpansGet returning a generator with all the items.
+     */
+    listSpansGetWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listSpansGetWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageLimit !== undefined) {
+                pageSize = param.pageLimit;
+            }
+            param.pageLimit = pageSize;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listSpansGet(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listSpansGet(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                const cursorMeta = response.meta;
+                if (cursorMeta === undefined) {
+                    break;
+                }
+                const cursorMetaPage = cursorMeta.page;
+                if (cursorMetaPage === undefined) {
+                    break;
+                }
+                const cursorMetaPageAfter = cursorMetaPage.after;
+                if (cursorMetaPageAfter === undefined) {
+                    break;
+                }
+                param.pageCursor = cursorMetaPageAfter;
+            }
+        });
+    }
+}
+exports.SpansApi = SpansApi;
+//# sourceMappingURL=SpansApi.js.map
+
+/***/ }),
+
+/***/ 75850:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricsApi = exports.SpansMetricsApiResponseProcessor = exports.SpansMetricsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class SpansMetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createSpansMetric(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createSpansMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/apm/config/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansMetricsApi.createSpansMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SpansMetricCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteSpansMetric(metricId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "deleteSpansMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/apm/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansMetricsApi.deleteSpansMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getSpansMetric(metricId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "getSpansMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/apm/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansMetricsApi.getSpansMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listSpansMetrics(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/apm/config/metrics";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansMetricsApi.listSpansMetrics")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateSpansMetric(metricId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'metricId' is not null or undefined
+            if (metricId === null || metricId === undefined) {
+                throw new baseapi_1.RequiredError("metricId", "updateSpansMetric");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateSpansMetric");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/apm/config/metrics/{metric_id}".replace("{metric_id}", encodeURIComponent(String(metricId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SpansMetricsApi.updateSpansMetric")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "SpansMetricUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SpansMetricsApiRequestFactory = SpansMetricsApiRequestFactory;
+class SpansMetricsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createSpansMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createSpansMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteSpansMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteSpansMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getSpansMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getSpansMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listSpansMetrics
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listSpansMetrics(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateSpansMetric
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateSpansMetric(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "SpansMetricResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SpansMetricsApiResponseProcessor = SpansMetricsApiResponseProcessor;
+class SpansMetricsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SpansMetricsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SpansMetricsApiResponseProcessor();
+    }
+    /**
+     * Create a metric based on your ingested spans in your organization.
+     * Returns the span-based metric object from the request body when the request is successful.
+     * @param param The request object
+     */
+    createSpansMetric(param, options) {
+        const requestContextPromise = this.requestFactory.createSpansMetric(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createSpansMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Delete a specific span-based metric from your organization.
+     * @param param The request object
+     */
+    deleteSpansMetric(param, options) {
+        const requestContextPromise = this.requestFactory.deleteSpansMetric(param.metricId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteSpansMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a specific span-based metric from your organization.
+     * @param param The request object
+     */
+    getSpansMetric(param, options) {
+        const requestContextPromise = this.requestFactory.getSpansMetric(param.metricId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getSpansMetric(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of configured span-based metrics with their definitions.
+     * @param param The request object
+     */
+    listSpansMetrics(options) {
+        const requestContextPromise = this.requestFactory.listSpansMetrics(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listSpansMetrics(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a specific span-based metric from your organization.
+     * Returns the span-based metric object from the request body when the request is successful.
+     * @param param The request object
+     */
+    updateSpansMetric(param, options) {
+        const requestContextPromise = this.requestFactory.updateSpansMetric(param.metricId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateSpansMetric(responseContext);
+            });
+        });
+    }
+}
+exports.SpansMetricsApi = SpansMetricsApi;
+//# sourceMappingURL=SpansMetricsApi.js.map
+
+/***/ }),
+
+/***/ 44706:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SyntheticsApi = exports.SyntheticsApiResponseProcessor = exports.SyntheticsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class SyntheticsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getOnDemandConcurrencyCap(_options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/synthetics/settings/on_demand_concurrency_cap";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SyntheticsApi.getOnDemandConcurrencyCap")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    setOnDemandConcurrencyCap(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "setOnDemandConcurrencyCap");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/synthetics/settings/on_demand_concurrency_cap";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.SyntheticsApi.setOnDemandConcurrencyCap")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "OnDemandConcurrencyCapAttributes", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.SyntheticsApiRequestFactory = SyntheticsApiRequestFactory;
+class SyntheticsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getOnDemandConcurrencyCap
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getOnDemandConcurrencyCap(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OnDemandConcurrencyCapResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OnDemandConcurrencyCapResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to setOnDemandConcurrencyCap
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    setOnDemandConcurrencyCap(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OnDemandConcurrencyCapResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "OnDemandConcurrencyCapResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.SyntheticsApiResponseProcessor = SyntheticsApiResponseProcessor;
+class SyntheticsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new SyntheticsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new SyntheticsApiResponseProcessor();
+    }
+    /**
+     * Get the on-demand concurrency cap.
+     * @param param The request object
+     */
+    getOnDemandConcurrencyCap(options) {
+        const requestContextPromise = this.requestFactory.getOnDemandConcurrencyCap(options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getOnDemandConcurrencyCap(responseContext);
+            });
+        });
+    }
+    /**
+     * Save new value for on-demand concurrency cap.
+     * @param param The request object
+     */
+    setOnDemandConcurrencyCap(param, options) {
+        const requestContextPromise = this.requestFactory.setOnDemandConcurrencyCap(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.setOnDemandConcurrencyCap(responseContext);
+            });
+        });
+    }
+}
+exports.SyntheticsApi = SyntheticsApi;
+//# sourceMappingURL=SyntheticsApi.js.map
+
+/***/ }),
+
+/***/ 28174:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamsApi = exports.TeamsApiResponseProcessor = exports.TeamsApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class TeamsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createTeam(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.createTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TeamCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createTeamLink(teamId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "createTeamLink");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createTeamLink");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/links".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.createTeamLink")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TeamLinkCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    createTeamMembership(teamId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "createTeamMembership");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createTeamMembership");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/memberships".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.createTeamMembership")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "UserTeamRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteTeam(teamId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "deleteTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.deleteTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteTeamLink(teamId, linkId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "deleteTeamLink");
+            }
+            // verify required parameter 'linkId' is not null or undefined
+            if (linkId === null || linkId === undefined) {
+                throw new baseapi_1.RequiredError("linkId", "deleteTeamLink");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/links/{link_id}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{link_id}", encodeURIComponent(String(linkId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.deleteTeamLink")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    deleteTeamMembership(teamId, userId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "deleteTeamMembership");
+            }
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "deleteTeamMembership");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/memberships/{user_id}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.deleteTeamMembership")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTeam(teamId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTeamLink(teamId, linkId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getTeamLink");
+            }
+            // verify required parameter 'linkId' is not null or undefined
+            if (linkId === null || linkId === undefined) {
+                throw new baseapi_1.RequiredError("linkId", "getTeamLink");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/links/{link_id}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{link_id}", encodeURIComponent(String(linkId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getTeamLink")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTeamLinks(teamId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getTeamLinks");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/links".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getTeamLinks")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTeamMemberships(teamId, pageSize, pageNumber, sort, filterKeyword, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getTeamMemberships");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/memberships".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getTeamMemberships")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "GetTeamMembershipsSort", ""));
+            }
+            if (filterKeyword !== undefined) {
+                requestContext.setQueryParam("filter[keyword]", ObjectSerializer_1.ObjectSerializer.serialize(filterKeyword, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getTeamPermissionSettings(teamId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "getTeamPermissionSettings");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/permission-settings".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getTeamPermissionSettings")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUserMemberships(userUuid, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userUuid' is not null or undefined
+            if (userUuid === null || userUuid === undefined) {
+                throw new baseapi_1.RequiredError("userUuid", "getUserMemberships");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_uuid}/memberships".replace("{user_uuid}", encodeURIComponent(String(userUuid)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.getUserMemberships")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listTeams(pageNumber, pageSize, sort, include, filterKeyword, filterMe, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/team";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.listTeams")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "ListTeamsSort", ""));
+            }
+            if (include !== undefined) {
+                requestContext.setQueryParam("include", ObjectSerializer_1.ObjectSerializer.serialize(include, "Array", ""));
+            }
+            if (filterKeyword !== undefined) {
+                requestContext.setQueryParam("filter[keyword]", ObjectSerializer_1.ObjectSerializer.serialize(filterKeyword, "string", ""));
+            }
+            if (filterMe !== undefined) {
+                requestContext.setQueryParam("filter[me]", ObjectSerializer_1.ObjectSerializer.serialize(filterMe, "boolean", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateTeam(teamId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "updateTeam");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTeam");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}".replace("{team_id}", encodeURIComponent(String(teamId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.updateTeam")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TeamUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateTeamLink(teamId, linkId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "updateTeamLink");
+            }
+            // verify required parameter 'linkId' is not null or undefined
+            if (linkId === null || linkId === undefined) {
+                throw new baseapi_1.RequiredError("linkId", "updateTeamLink");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTeamLink");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/links/{link_id}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{link_id}", encodeURIComponent(String(linkId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.updateTeamLink")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TeamLinkCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateTeamMembership(teamId, userId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "updateTeamMembership");
+            }
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "updateTeamMembership");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTeamMembership");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/memberships/{user_id}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.updateTeamMembership")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "UserTeamUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateTeamPermissionSetting(teamId, action, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'teamId' is not null or undefined
+            if (teamId === null || teamId === undefined) {
+                throw new baseapi_1.RequiredError("teamId", "updateTeamPermissionSetting");
+            }
+            // verify required parameter 'action' is not null or undefined
+            if (action === null || action === undefined) {
+                throw new baseapi_1.RequiredError("action", "updateTeamPermissionSetting");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateTeamPermissionSetting");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/team/{team_id}/permission-settings/{action}"
+                .replace("{team_id}", encodeURIComponent(String(teamId)))
+                .replace("{action}", encodeURIComponent(String(action)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.TeamsApi.updateTeamPermissionSetting")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "TeamPermissionSettingUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.TeamsApiRequestFactory = TeamsApiRequestFactory;
+class TeamsApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 409 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createTeamLink
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createTeamLink(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createTeamMembership
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createTeamMembership(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteTeamLink
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteTeamLink(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to deleteTeamMembership
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    deleteTeamMembership(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTeamLink
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTeamLink(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTeamLinks
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTeamLinks(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinksResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinksResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTeamMemberships
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTeamMemberships(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getTeamPermissionSettings
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getTeamPermissionSettings(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamPermissionSettingsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamPermissionSettingsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUserMemberships
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUserMemberships(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listTeams
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listTeams(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTeam
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTeam(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 409 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTeamLink
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTeamLink(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamLinkResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTeamMembership
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTeamMembership(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserTeamResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateTeamPermissionSetting
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateTeamPermissionSetting(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamPermissionSettingResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "TeamPermissionSettingResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.TeamsApiResponseProcessor = TeamsApiResponseProcessor;
+class TeamsApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new TeamsApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new TeamsApiResponseProcessor();
+    }
+    /**
+     * Create a new team.
+     * User IDs passed through the `users` relationship field are added to the team.
+     * @param param The request object
+     */
+    createTeam(param, options) {
+        const requestContextPromise = this.requestFactory.createTeam(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Add a new link to a team.
+     * @param param The request object
+     */
+    createTeamLink(param, options) {
+        const requestContextPromise = this.requestFactory.createTeamLink(param.teamId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createTeamLink(responseContext);
+            });
+        });
+    }
+    /**
+     * Add a user to a team.
+     * @param param The request object
+     */
+    createTeamMembership(param, options) {
+        const requestContextPromise = this.requestFactory.createTeamMembership(param.teamId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createTeamMembership(responseContext);
+            });
+        });
+    }
+    /**
+     * Remove a team using the team's `id`.
+     * @param param The request object
+     */
+    deleteTeam(param, options) {
+        const requestContextPromise = this.requestFactory.deleteTeam(param.teamId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Remove a link from a team.
+     * @param param The request object
+     */
+    deleteTeamLink(param, options) {
+        const requestContextPromise = this.requestFactory.deleteTeamLink(param.teamId, param.linkId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteTeamLink(responseContext);
+            });
+        });
+    }
+    /**
+     * Remove a user from a team.
+     * @param param The request object
+     */
+    deleteTeamMembership(param, options) {
+        const requestContextPromise = this.requestFactory.deleteTeamMembership(param.teamId, param.userId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.deleteTeamMembership(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a single team using the team's `id`.
+     * @param param The request object
+     */
+    getTeam(param, options) {
+        const requestContextPromise = this.requestFactory.getTeam(param.teamId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a single link for a team.
+     * @param param The request object
+     */
+    getTeamLink(param, options) {
+        const requestContextPromise = this.requestFactory.getTeamLink(param.teamId, param.linkId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTeamLink(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all links for a given team.
+     * @param param The request object
+     */
+    getTeamLinks(param, options) {
+        const requestContextPromise = this.requestFactory.getTeamLinks(param.teamId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTeamLinks(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a paginated list of members for a team
+     * @param param The request object
+     */
+    getTeamMemberships(param, options) {
+        const requestContextPromise = this.requestFactory.getTeamMemberships(param.teamId, param.pageSize, param.pageNumber, param.sort, param.filterKeyword, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTeamMemberships(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all permission settings for a given team.
+     * @param param The request object
+     */
+    getTeamPermissionSettings(param, options) {
+        const requestContextPromise = this.requestFactory.getTeamPermissionSettings(param.teamId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getTeamPermissionSettings(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a list of memberships for a user
+     * @param param The request object
+     */
+    getUserMemberships(param, options) {
+        const requestContextPromise = this.requestFactory.getUserMemberships(param.userUuid, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUserMemberships(responseContext);
+            });
+        });
+    }
+    /**
+     * Get all teams.
+     * Can be used to search for teams using the `filter[keyword]` and `filter[me]` query parameters.
+     * @param param The request object
+     */
+    listTeams(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listTeams(param.pageNumber, param.pageSize, param.sort, param.include, param.filterKeyword, param.filterMe, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listTeams(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listTeams returning a generator with all the items.
+     */
+    listTeamsWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listTeamsWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            param.pageNumber = 0;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listTeams(param.pageNumber, param.pageSize, param.sort, param.include, param.filterKeyword, param.filterMe, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listTeams(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                param.pageNumber = param.pageNumber + 1;
+            }
+        });
+    }
+    /**
+     * Update a team using the team's `id`.
+     * If the `team_links` relationship is present, the associated links are updated to be in the order they appear in the array, and any existing team links not present are removed.
+     * @param param The request object
+     */
+    updateTeam(param, options) {
+        const requestContextPromise = this.requestFactory.updateTeam(param.teamId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTeam(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a team link.
+     * @param param The request object
+     */
+    updateTeamLink(param, options) {
+        const requestContextPromise = this.requestFactory.updateTeamLink(param.teamId, param.linkId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTeamLink(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a user's membership attributes on a team.
+     * @param param The request object
+     */
+    updateTeamMembership(param, options) {
+        const requestContextPromise = this.requestFactory.updateTeamMembership(param.teamId, param.userId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTeamMembership(responseContext);
+            });
+        });
+    }
+    /**
+     * Update a team permission setting for a given team.
+     * @param param The request object
+     */
+    updateTeamPermissionSetting(param, options) {
+        const requestContextPromise = this.requestFactory.updateTeamPermissionSetting(param.teamId, param.action, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateTeamPermissionSetting(responseContext);
+            });
+        });
+    }
+}
+exports.TeamsApi = TeamsApi;
+//# sourceMappingURL=TeamsApi.js.map
+
+/***/ }),
+
+/***/ 46980:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageMeteringApi = exports.UsageMeteringApiResponseProcessor = exports.UsageMeteringApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class UsageMeteringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    getCostByOrg(startMonth, endMonth, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startMonth' is not null or undefined
+            if (startMonth === null || startMonth === undefined) {
+                throw new baseapi_1.RequiredError("startMonth", "getCostByOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/cost_by_org";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getCostByOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getEstimatedCostByOrg(view, startMonth, endMonth, startDate, endDate, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/usage/estimated_cost";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getEstimatedCostByOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (view !== undefined) {
+                requestContext.setQueryParam("view", ObjectSerializer_1.ObjectSerializer.serialize(view, "string", ""));
+            }
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            if (startDate !== undefined) {
+                requestContext.setQueryParam("start_date", ObjectSerializer_1.ObjectSerializer.serialize(startDate, "Date", "date-time"));
+            }
+            if (endDate !== undefined) {
+                requestContext.setQueryParam("end_date", ObjectSerializer_1.ObjectSerializer.serialize(endDate, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getHistoricalCostByOrg(startMonth, view, endMonth, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startMonth' is not null or undefined
+            if (startMonth === null || startMonth === undefined) {
+                throw new baseapi_1.RequiredError("startMonth", "getHistoricalCostByOrg");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/historical_cost";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getHistoricalCostByOrg")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (view !== undefined) {
+                requestContext.setQueryParam("view", ObjectSerializer_1.ObjectSerializer.serialize(view, "string", ""));
+            }
+            if (startMonth !== undefined) {
+                requestContext.setQueryParam("start_month", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, "Date", "date-time"));
+            }
+            if (endMonth !== undefined) {
+                requestContext.setQueryParam("end_month", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getHourlyUsage(filterTimestampStart, filterProductFamilies, filterTimestampEnd, filterIncludeDescendants, filterIncludeBreakdown, filterVersions, pageLimit, pageNextRecordId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'filterTimestampStart' is not null or undefined
+            if (filterTimestampStart === null || filterTimestampStart === undefined) {
+                throw new baseapi_1.RequiredError("filterTimestampStart", "getHourlyUsage");
+            }
+            // verify required parameter 'filterProductFamilies' is not null or undefined
+            if (filterProductFamilies === null || filterProductFamilies === undefined) {
+                throw new baseapi_1.RequiredError("filterProductFamilies", "getHourlyUsage");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/hourly_usage";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getHourlyUsage")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (filterTimestampStart !== undefined) {
+                requestContext.setQueryParam("filter[timestamp][start]", ObjectSerializer_1.ObjectSerializer.serialize(filterTimestampStart, "Date", "date-time"));
+            }
+            if (filterTimestampEnd !== undefined) {
+                requestContext.setQueryParam("filter[timestamp][end]", ObjectSerializer_1.ObjectSerializer.serialize(filterTimestampEnd, "Date", "date-time"));
+            }
+            if (filterProductFamilies !== undefined) {
+                requestContext.setQueryParam("filter[product_families]", ObjectSerializer_1.ObjectSerializer.serialize(filterProductFamilies, "string", ""));
+            }
+            if (filterIncludeDescendants !== undefined) {
+                requestContext.setQueryParam("filter[include_descendants]", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludeDescendants, "boolean", ""));
+            }
+            if (filterIncludeBreakdown !== undefined) {
+                requestContext.setQueryParam("filter[include_breakdown]", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludeBreakdown, "boolean", ""));
+            }
+            if (filterVersions !== undefined) {
+                requestContext.setQueryParam("filter[versions]", ObjectSerializer_1.ObjectSerializer.serialize(filterVersions, "string", ""));
+            }
+            if (pageLimit !== undefined) {
+                requestContext.setQueryParam("page[limit]", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, "number", "int32"));
+            }
+            if (pageNextRecordId !== undefined) {
+                requestContext.setQueryParam("page[next_record_id]", ObjectSerializer_1.ObjectSerializer.serialize(pageNextRecordId, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageApplicationSecurityMonitoring(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageApplicationSecurityMonitoring");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/application_security";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getUsageApplicationSecurityMonitoring")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageLambdaTracedInvocations(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageLambdaTracedInvocations");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/lambda_traced_invocations";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getUsageLambdaTracedInvocations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUsageObservabilityPipelines(startHr, endHr, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'startHr' is not null or undefined
+            if (startHr === null || startHr === undefined) {
+                throw new baseapi_1.RequiredError("startHr", "getUsageObservabilityPipelines");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/usage/observability_pipelines";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsageMeteringApi.getUsageObservabilityPipelines")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json;datetime-format=rfc3339");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (startHr !== undefined) {
+                requestContext.setQueryParam("start_hr", ObjectSerializer_1.ObjectSerializer.serialize(startHr, "Date", "date-time"));
+            }
+            if (endHr !== undefined) {
+                requestContext.setQueryParam("end_hr", ObjectSerializer_1.ObjectSerializer.serialize(endHr, "Date", "date-time"));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.UsageMeteringApiRequestFactory = UsageMeteringApiRequestFactory;
+class UsageMeteringApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getCostByOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getCostByOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getEstimatedCostByOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getEstimatedCostByOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getHistoricalCostByOrg
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getHistoricalCostByOrg(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "CostByOrgResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getHourlyUsage
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getHourlyUsage(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HourlyUsageResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "HourlyUsageResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageApplicationSecurityMonitoring
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageApplicationSecurityMonitoring(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageApplicationSecurityMonitoringResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageApplicationSecurityMonitoringResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageLambdaTracedInvocations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageLambdaTracedInvocations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLambdaTracedInvocationsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageLambdaTracedInvocationsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUsageObservabilityPipelines
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUsageObservabilityPipelines(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageObservabilityPipelinesResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsageObservabilityPipelinesResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.UsageMeteringApiResponseProcessor = UsageMeteringApiResponseProcessor;
+class UsageMeteringApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new UsageMeteringApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new UsageMeteringApiResponseProcessor();
+    }
+    /**
+     * Get cost across multi-org account.
+     * Cost by org data for a given month becomes available no later than the 16th of the following month.
+     * **Note:** This endpoint has been deprecated. Please use the new endpoint
+     * [`/historical_cost`](https://docs.datadoghq.com/api/latest/usage-metering/#get-historical-cost-across-your-account)
+     * instead.
+     * @param param The request object
+     */
+    getCostByOrg(param, options) {
+        const requestContextPromise = this.requestFactory.getCostByOrg(param.startMonth, param.endMonth, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getCostByOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * Get estimated cost across multi-org and single root-org accounts.
+     * Estimated cost data is only available for the current month and previous month
+     * and is delayed by up to 72 hours from when it was incurred.
+     * To access historical costs prior to this, use the `/historical_cost` endpoint.
+     * @param param The request object
+     */
+    getEstimatedCostByOrg(param = {}, options) {
+        const requestContextPromise = this.requestFactory.getEstimatedCostByOrg(param.view, param.startMonth, param.endMonth, param.startDate, param.endDate, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getEstimatedCostByOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * Get historical cost across multi-org and single root-org accounts.
+     * Cost data for a given month becomes available no later than the 16th of the following month.
+     * @param param The request object
+     */
+    getHistoricalCostByOrg(param, options) {
+        const requestContextPromise = this.requestFactory.getHistoricalCostByOrg(param.startMonth, param.view, param.endMonth, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getHistoricalCostByOrg(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage by product family.
+     * @param param The request object
+     */
+    getHourlyUsage(param, options) {
+        const requestContextPromise = this.requestFactory.getHourlyUsage(param.filterTimestampStart, param.filterProductFamilies, param.filterTimestampEnd, param.filterIncludeDescendants, param.filterIncludeBreakdown, param.filterVersions, param.pageLimit, param.pageNextRecordId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getHourlyUsage(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for application security .
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)
+     * @param param The request object
+     */
+    getUsageApplicationSecurityMonitoring(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageApplicationSecurityMonitoring(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageApplicationSecurityMonitoring(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for lambda traced invocations.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)
+     * @param param The request object
+     */
+    getUsageLambdaTracedInvocations(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageLambdaTracedInvocations(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageLambdaTracedInvocations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get hourly usage for observability pipelines.
+     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)
+     * @param param The request object
+     */
+    getUsageObservabilityPipelines(param, options) {
+        const requestContextPromise = this.requestFactory.getUsageObservabilityPipelines(param.startHr, param.endHr, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUsageObservabilityPipelines(responseContext);
+            });
+        });
+    }
+}
+exports.UsageMeteringApi = UsageMeteringApi;
+//# sourceMappingURL=UsageMeteringApi.js.map
+
+/***/ }),
+
+/***/ 57292:
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsersApi = exports.UsersApiResponseProcessor = exports.UsersApiRequestFactory = void 0;
+const baseapi_1 = __webpack_require__(96972);
+const configuration_1 = __webpack_require__(76405);
+const http_1 = __webpack_require__(58440);
+const logger_1 = __webpack_require__(50487);
+const ObjectSerializer_1 = __webpack_require__(54700);
+const exception_1 = __webpack_require__(90544);
+class UsersApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {
+    createUser(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "createUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.createUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "UserCreateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    disableUser(userId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "disableUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_id}".replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.disableUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);
+            requestContext.setHeaderParam("Accept", "*/*");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getInvitation(userInvitationUuid, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userInvitationUuid' is not null or undefined
+            if (userInvitationUuid === null || userInvitationUuid === undefined) {
+                throw new baseapi_1.RequiredError("userInvitationUuid", "getInvitation");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/user_invitations/{user_invitation_uuid}".replace("{user_invitation_uuid}", encodeURIComponent(String(userInvitationUuid)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.getInvitation")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    getUser(userId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "getUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_id}".replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.getUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listUserOrganizations(userId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "listUserOrganizations");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_id}/orgs".replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.listUserOrganizations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listUserPermissions(userId, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "listUserPermissions");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_id}/permissions".replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.listUserPermissions")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    listUsers(pageSize, pageNumber, sort, sortDir, filter, filterStatus, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // Path Params
+            const localVarPath = "/api/v2/users";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.listUsers")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Query Params
+            if (pageSize !== undefined) {
+                requestContext.setQueryParam("page[size]", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, "number", "int64"));
+            }
+            if (pageNumber !== undefined) {
+                requestContext.setQueryParam("page[number]", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, "number", "int64"));
+            }
+            if (sort !== undefined) {
+                requestContext.setQueryParam("sort", ObjectSerializer_1.ObjectSerializer.serialize(sort, "string", ""));
+            }
+            if (sortDir !== undefined) {
+                requestContext.setQueryParam("sort_dir", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, "QuerySortOrder", ""));
+            }
+            if (filter !== undefined) {
+                requestContext.setQueryParam("filter", ObjectSerializer_1.ObjectSerializer.serialize(filter, "string", ""));
+            }
+            if (filterStatus !== undefined) {
+                requestContext.setQueryParam("filter[status]", ObjectSerializer_1.ObjectSerializer.serialize(filterStatus, "string", ""));
+            }
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    sendInvitations(body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "sendInvitations");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/user_invitations";
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.sendInvitations")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "UserInvitationsRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+    updateUser(userId, body, _options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const _config = _options || this.configuration;
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new baseapi_1.RequiredError("userId", "updateUser");
+            }
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new baseapi_1.RequiredError("body", "updateUser");
+            }
+            // Path Params
+            const localVarPath = "/api/v2/users/{user_id}".replace("{user_id}", encodeURIComponent(String(userId)));
+            // Make Request Context
+            const requestContext = _config
+                .getServer("v2.UsersApi.updateUser")
+                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);
+            requestContext.setHeaderParam("Accept", "application/json");
+            requestContext.setHttpConfig(_config.httpConfig);
+            // Body Params
+            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([
+                "application/json",
+            ]);
+            requestContext.setHeaderParam("Content-Type", contentType);
+            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, "UserUpdateRequest", ""), contentType);
+            requestContext.setBody(serializedBody);
+            // Apply auth methods
+            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [
+                "AuthZ",
+                "apiKeyAuth",
+                "appKeyAuth",
+            ]);
+            return requestContext;
+        });
+    }
+}
+exports.UsersApiRequestFactory = UsersApiRequestFactory;
+class UsersApiResponseProcessor {
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to createUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    createUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to disableUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    disableUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 204) {
+                return;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "void", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getInvitation
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getInvitation(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserInvitationResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserInvitationResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to getUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    getUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listUserOrganizations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listUserOrganizations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listUserPermissions
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listUserPermissions(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "PermissionsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to listUsers
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    listUsers(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UsersResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to sendInvitations
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    sendInvitations(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 201) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserInvitationsResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserInvitationsResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+    /**
+     * Unwraps the actual response sent by the server from the response context and deserializes the response content
+     * to the expected objects
+     *
+     * @params response Response returned by the server for a request to updateUser
+     * @throws ApiException if the response code was not in [200, 299]
+     */
+    updateUser(response) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers["content-type"]);
+            if (response.httpStatusCode == 200) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse");
+                return body;
+            }
+            if (response.httpStatusCode == 400 ||
+                response.httpStatusCode == 403 ||
+                response.httpStatusCode == 404 ||
+                response.httpStatusCode == 422 ||
+                response.httpStatusCode == 429) {
+                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);
+                let body;
+                try {
+                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, "APIErrorResponse");
+                }
+                catch (error) {
+                    logger_1.logger.info(`Got error deserializing error: ${error}`);
+                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);
+                }
+                throw new exception_1.ApiException(response.httpStatusCode, body);
+            }
+            // Work around for missing responses in specification, e.g. for petstore.yaml
+            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
+                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), "UserResponse", "");
+                return body;
+            }
+            const body = (yield response.body.text()) || "";
+            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\nBody: "' + body + '"');
+        });
+    }
+}
+exports.UsersApiResponseProcessor = UsersApiResponseProcessor;
+class UsersApi {
+    constructor(configuration, requestFactory, responseProcessor) {
+        this.configuration = configuration;
+        this.requestFactory =
+            requestFactory || new UsersApiRequestFactory(configuration);
+        this.responseProcessor =
+            responseProcessor || new UsersApiResponseProcessor();
+    }
+    /**
+     * Create a user for your organization.
+     * @param param The request object
+     */
+    createUser(param, options) {
+        const requestContextPromise = this.requestFactory.createUser(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.createUser(responseContext);
+            });
+        });
+    }
+    /**
+     * Disable a user. Can only be used with an application key belonging
+     * to an administrator user.
+     * @param param The request object
+     */
+    disableUser(param, options) {
+        const requestContextPromise = this.requestFactory.disableUser(param.userId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.disableUser(responseContext);
+            });
+        });
+    }
+    /**
+     * Returns a single user invitation by its UUID.
+     * @param param The request object
+     */
+    getInvitation(param, options) {
+        const requestContextPromise = this.requestFactory.getInvitation(param.userInvitationUuid, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getInvitation(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a user in the organization specified by the user’s `user_id`.
+     * @param param The request object
+     */
+    getUser(param, options) {
+        const requestContextPromise = this.requestFactory.getUser(param.userId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.getUser(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a user organization. Returns the user information and all organizations
+     * joined by this user.
+     * @param param The request object
+     */
+    listUserOrganizations(param, options) {
+        const requestContextPromise = this.requestFactory.listUserOrganizations(param.userId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listUserOrganizations(responseContext);
+            });
+        });
+    }
+    /**
+     * Get a user permission set. Returns a list of the user’s permissions
+     * granted by the associated user's roles.
+     * @param param The request object
+     */
+    listUserPermissions(param, options) {
+        const requestContextPromise = this.requestFactory.listUserPermissions(param.userId, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listUserPermissions(responseContext);
+            });
+        });
+    }
+    /**
+     * Get the list of all users in the organization. This list includes
+     * all users even if they are deactivated or unverified.
+     * @param param The request object
+     */
+    listUsers(param = {}, options) {
+        const requestContextPromise = this.requestFactory.listUsers(param.pageSize, param.pageNumber, param.sort, param.sortDir, param.filter, param.filterStatus, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.listUsers(responseContext);
+            });
+        });
+    }
+    /**
+     * Provide a paginated version of listUsers returning a generator with all the items.
+     */
+    listUsersWithPagination(param = {}, options) {
+        return __asyncGenerator(this, arguments, function* listUsersWithPagination_1() {
+            let pageSize = 10;
+            if (param.pageSize !== undefined) {
+                pageSize = param.pageSize;
+            }
+            param.pageSize = pageSize;
+            param.pageNumber = 0;
+            while (true) {
+                const requestContext = yield __await(this.requestFactory.listUsers(param.pageSize, param.pageNumber, param.sort, param.sortDir, param.filter, param.filterStatus, options));
+                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));
+                const response = yield __await(this.responseProcessor.listUsers(responseContext));
+                const responseData = response.data;
+                if (responseData === undefined) {
+                    break;
+                }
+                const results = responseData;
+                for (const item of results) {
+                    yield yield __await(item);
+                }
+                if (results.length < pageSize) {
+                    break;
+                }
+                param.pageNumber = param.pageNumber + 1;
+            }
+        });
+    }
+    /**
+     * Sends emails to one or more users inviting them to join the organization.
+     * @param param The request object
+     */
+    sendInvitations(param, options) {
+        const requestContextPromise = this.requestFactory.sendInvitations(param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.sendInvitations(responseContext);
+            });
+        });
+    }
+    /**
+     * Edit a user. Can only be used with an application key belonging
+     * to an administrator user.
+     * @param param The request object
+     */
+    updateUser(param, options) {
+        const requestContextPromise = this.requestFactory.updateUser(param.userId, param.body, options);
+        return requestContextPromise.then((requestContext) => {
+            return this.configuration.httpApi
+                .send(requestContext)
+                .then((responseContext) => {
+                return this.responseProcessor.updateUser(responseContext);
+            });
+        });
+    }
+}
+exports.UsersApi = UsersApi;
+//# sourceMappingURL=UsersApi.js.map
+
+/***/ }),
+
+/***/ 26484:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyCreateData = exports.ApplicationKeyCreateAttributes = exports.APIKeyUpdateRequest = exports.APIKeyUpdateData = exports.APIKeyUpdateAttributes = exports.APIKeysResponse = exports.APIKeyResponse = exports.APIKeyRelationships = exports.APIKeyCreateRequest = exports.APIKeyCreateData = exports.APIKeyCreateAttributes = exports.APIErrorResponse = exports.UsersApi = exports.UsageMeteringApi = exports.TeamsApi = exports.SyntheticsApi = exports.SpansMetricsApi = exports.SpansApi = exports.ServiceDefinitionApi = exports.ServiceAccountsApi = exports.SensitiveDataScannerApi = exports.SecurityMonitoringApi = exports.RolesApi = exports.RestrictionPoliciesApi = exports.RUMApi = exports.ProcessesApi = exports.OrganizationsApi = exports.OpsgenieIntegrationApi = exports.MonitorsApi = exports.MetricsApi = exports.LogsMetricsApi = exports.LogsArchivesApi = exports.LogsApi = exports.KeyManagementApi = exports.IncidentsApi = exports.IncidentTeamsApi = exports.IncidentServicesApi = exports.IPAllowlistApi = exports.GCPIntegrationApi = exports.FastlyIntegrationApi = exports.EventsApi = exports.DowntimesApi = exports.DashboardListsApi = exports.ConfluentCloudApi = exports.CloudflareIntegrationApi = exports.CloudWorkloadSecurityApi = exports.CIVisibilityTestsApi = exports.CIVisibilityPipelinesApi = exports.AuthNMappingsApi = exports.AuditApi = void 0;
+exports.CIAppPipelineEventsResponse = exports.CIAppPipelineEventsRequest = exports.CIAppPipelineEventPreviousPipeline = exports.CIAppPipelineEventPipeline = exports.CIAppPipelineEventParentPipeline = exports.CIAppPipelineEventJob = exports.CIAppPipelineEventAttributes = exports.CIAppPipelineEvent = exports.CIAppHostInfo = exports.CIAppGroupByHistogram = exports.CIAppGitInfo = exports.CIAppEventAttributes = exports.CIAppCreatePipelineEventRequestData = exports.CIAppCreatePipelineEventRequestAttributes = exports.CIAppCreatePipelineEventRequest = exports.CIAppCompute = exports.CIAppCIError = exports.CIAppAggregateSort = exports.CIAppAggregateBucketValueTimeseriesPoint = exports.ChargebackBreakdown = exports.AuthNMappingUpdateRequest = exports.AuthNMappingUpdateRelationships = exports.AuthNMappingUpdateData = exports.AuthNMappingUpdateAttributes = exports.AuthNMappingsResponse = exports.AuthNMappingResponse = exports.AuthNMappingRelationships = exports.AuthNMappingCreateRequest = exports.AuthNMappingCreateRelationships = exports.AuthNMappingCreateData = exports.AuthNMappingCreateAttributes = exports.AuthNMappingAttributes = exports.AuthNMapping = exports.AuditLogsWarning = exports.AuditLogsSearchEventsRequest = exports.AuditLogsResponsePage = exports.AuditLogsResponseMetadata = exports.AuditLogsResponseLinks = exports.AuditLogsQueryPageOptions = exports.AuditLogsQueryOptions = exports.AuditLogsQueryFilter = exports.AuditLogsEventsResponse = exports.AuditLogsEventAttributes = exports.AuditLogsEvent = exports.ApplicationKeyUpdateRequest = exports.ApplicationKeyUpdateData = exports.ApplicationKeyUpdateAttributes = exports.ApplicationKeyResponse = exports.ApplicationKeyRelationships = exports.ApplicationKeyCreateRequest = void 0;
+exports.CloudWorkloadSecurityAgentRuleUpdateData = exports.CloudWorkloadSecurityAgentRuleUpdateAttributes = exports.CloudWorkloadSecurityAgentRulesListResponse = exports.CloudWorkloadSecurityAgentRuleResponse = exports.CloudWorkloadSecurityAgentRuleData = exports.CloudWorkloadSecurityAgentRuleCreatorAttributes = exports.CloudWorkloadSecurityAgentRuleCreateRequest = exports.CloudWorkloadSecurityAgentRuleCreateData = exports.CloudWorkloadSecurityAgentRuleCreateAttributes = exports.CloudWorkloadSecurityAgentRuleAttributes = exports.CloudflareAccountUpdateRequestData = exports.CloudflareAccountUpdateRequestAttributes = exports.CloudflareAccountUpdateRequest = exports.CloudflareAccountsResponse = exports.CloudflareAccountResponseData = exports.CloudflareAccountResponseAttributes = exports.CloudflareAccountResponse = exports.CloudflareAccountCreateRequestData = exports.CloudflareAccountCreateRequestAttributes = exports.CloudflareAccountCreateRequest = exports.CloudConfigurationRuleOptions = exports.CloudConfigurationRuleCreatePayload = exports.CloudConfigurationRuleComplianceSignalOptions = exports.CloudConfigurationRuleCaseCreate = exports.CloudConfigurationRegoRule = exports.CloudConfigurationComplianceRuleOptions = exports.CIAppWarning = exports.CIAppTestsQueryFilter = exports.CIAppTestsGroupBy = exports.CIAppTestsBucketResponse = exports.CIAppTestsAnalyticsAggregateResponse = exports.CIAppTestsAggregationBucketsResponse = exports.CIAppTestsAggregateRequest = exports.CIAppTestEventsResponse = exports.CIAppTestEventsRequest = exports.CIAppTestEvent = exports.CIAppResponsePage = exports.CIAppResponseMetadataWithPagination = exports.CIAppResponseMetadata = exports.CIAppResponseLinks = exports.CIAppQueryPageOptions = exports.CIAppQueryOptions = exports.CIAppPipelinesQueryFilter = exports.CIAppPipelinesGroupBy = exports.CIAppPipelinesBucketResponse = exports.CIAppPipelinesAnalyticsAggregateResponse = exports.CIAppPipelinesAggregationBucketsResponse = exports.CIAppPipelinesAggregateRequest = exports.CIAppPipelineEventStep = exports.CIAppPipelineEventStage = void 0;
+exports.DowntimeRelationshipsMonitor = exports.DowntimeRelationshipsCreatedByData = exports.DowntimeRelationshipsCreatedBy = exports.DowntimeRelationships = exports.DowntimeMonitorIncludedItem = exports.DowntimeMonitorIncludedAttributes = exports.DowntimeMonitorIdentifierTags = exports.DowntimeMonitorIdentifierId = exports.DowntimeMetaPage = exports.DowntimeMeta = exports.DowntimeCreateRequestData = exports.DowntimeCreateRequestAttributes = exports.DowntimeCreateRequest = exports.DetailedFindingAttributes = exports.DetailedFinding = exports.DataScalarColumn = exports.DashboardListUpdateItemsResponse = exports.DashboardListUpdateItemsRequest = exports.DashboardListItems = exports.DashboardListItemResponse = exports.DashboardListItemRequest = exports.DashboardListItem = exports.DashboardListDeleteItemsResponse = exports.DashboardListDeleteItemsRequest = exports.DashboardListAddItemsResponse = exports.DashboardListAddItemsRequest = exports.Creator = exports.CostByOrgResponse = exports.CostByOrgAttributes = exports.CostByOrg = exports.ConfluentResourcesResponse = exports.ConfluentResourceResponseData = exports.ConfluentResourceResponseAttributes = exports.ConfluentResourceResponse = exports.ConfluentResourceRequestData = exports.ConfluentResourceRequestAttributes = exports.ConfluentResourceRequest = exports.ConfluentAccountUpdateRequestData = exports.ConfluentAccountUpdateRequestAttributes = exports.ConfluentAccountUpdateRequest = exports.ConfluentAccountsResponse = exports.ConfluentAccountResponseData = exports.ConfluentAccountResponseAttributes = exports.ConfluentAccountResponse = exports.ConfluentAccountResourceAttributes = exports.ConfluentAccountCreateRequestData = exports.ConfluentAccountCreateRequestAttributes = exports.ConfluentAccountCreateRequest = exports.CloudWorkloadSecurityAgentRuleUpdateRequest = exports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = void 0;
+exports.FastlyServicesResponse = exports.FastlyServiceResponse = exports.FastlyServiceRequest = exports.FastlyServiceData = exports.FastlyServiceAttributes = exports.FastlyService = exports.FastlyAccountUpdateRequestData = exports.FastlyAccountUpdateRequestAttributes = exports.FastlyAccountUpdateRequest = exports.FastlyAccountsResponse = exports.FastlyAccountResponseData = exports.FastlyAccountResponse = exports.FastlyAccountCreateRequestData = exports.FastlyAccountCreateRequestAttributes = exports.FastlyAccountCreateRequest = exports.FastlyAccounResponseAttributes = exports.EventsWarning = exports.EventsTimeseriesQuery = exports.EventsSearch = exports.EventsScalarQuery = exports.EventsResponseMetadataPage = exports.EventsResponseMetadata = exports.EventsRequestPage = exports.EventsQueryOptions = exports.EventsQueryFilter = exports.EventsListResponseLinks = exports.EventsListResponse = exports.EventsListRequest = exports.EventsGroupBySort = exports.EventsGroupBy = exports.EventsCompute = exports.EventResponseAttributes = exports.EventResponse = exports.EventAttributes = exports.Event = exports.DowntimeUpdateRequestData = exports.DowntimeUpdateRequestAttributes = exports.DowntimeUpdateRequest = exports.DowntimeScheduleRecurrencesUpdateRequest = exports.DowntimeScheduleRecurrencesResponse = exports.DowntimeScheduleRecurrencesCreateRequest = exports.DowntimeScheduleRecurrenceResponse = exports.DowntimeScheduleRecurrenceCreateUpdateRequest = exports.DowntimeScheduleOneTimeResponse = exports.DowntimeScheduleOneTimeCreateUpdateRequest = exports.DowntimeScheduleCurrentDowntimeResponse = exports.DowntimeResponseData = exports.DowntimeResponseAttributes = exports.DowntimeResponse = exports.DowntimeRelationshipsMonitorData = void 0;
+exports.IncidentFieldAttributesMultipleValue = exports.IncidentCreateRequest = exports.IncidentCreateRelationships = exports.IncidentCreateData = exports.IncidentCreateAttributes = exports.IncidentAttachmentUpdateResponse = exports.IncidentAttachmentUpdateRequest = exports.IncidentAttachmentUpdateData = exports.IncidentAttachmentsResponse = exports.IncidentAttachmentsPostmortemAttributesAttachmentObject = exports.IncidentAttachmentRelationships = exports.IncidentAttachmentPostmortemAttributes = exports.IncidentAttachmentLinkAttributesAttachmentObject = exports.IncidentAttachmentLinkAttributes = exports.IncidentAttachmentData = exports.IdPMetadataFormData = exports.HTTPLogItem = exports.HTTPLogErrors = exports.HTTPLogError = exports.HTTPCIAppErrors = exports.HTTPCIAppError = exports.HourlyUsageResponse = exports.HourlyUsagePagination = exports.HourlyUsageMetadata = exports.HourlyUsageMeasurement = exports.HourlyUsageAttributes = exports.HourlyUsage = exports.GroupScalarColumn = exports.GetFindingResponse = exports.GCPSTSServiceAccountUpdateRequestData = exports.GCPSTSServiceAccountUpdateRequest = exports.GCPSTSServiceAccountsResponse = exports.GCPSTSServiceAccountResponse = exports.GCPSTSServiceAccountData = exports.GCPSTSServiceAccountCreateRequest = exports.GCPSTSServiceAccountAttributes = exports.GCPSTSServiceAccount = exports.GCPSTSDelegateAccountResponse = exports.GCPSTSDelegateAccountAttributes = exports.GCPSTSDelegateAccount = exports.GCPServiceAccountMeta = exports.FullApplicationKeyAttributes = exports.FullApplicationKey = exports.FullAPIKeyAttributes = exports.FullAPIKey = exports.FormulaLimit = exports.FindingRule = exports.FindingMute = exports.FindingAttributes = exports.Finding = void 0;
+exports.IncidentTeamUpdateRequest = exports.IncidentTeamUpdateData = exports.IncidentTeamUpdateAttributes = exports.IncidentTeamsResponse = exports.IncidentTeamResponseData = exports.IncidentTeamResponseAttributes = exports.IncidentTeamResponse = exports.IncidentTeamRelationships = exports.IncidentTeamCreateRequest = exports.IncidentTeamCreateData = exports.IncidentTeamCreateAttributes = exports.IncidentsResponse = exports.IncidentServiceUpdateRequest = exports.IncidentServiceUpdateData = exports.IncidentServiceUpdateAttributes = exports.IncidentServicesResponse = exports.IncidentServiceResponseData = exports.IncidentServiceResponseAttributes = exports.IncidentServiceResponse = exports.IncidentServiceRelationships = exports.IncidentServiceCreateRequest = exports.IncidentServiceCreateData = exports.IncidentServiceCreateAttributes = exports.IncidentSearchResponseUserFacetData = exports.IncidentSearchResponsePropertyFieldFacetData = exports.IncidentSearchResponseNumericFacetDataAggregates = exports.IncidentSearchResponseNumericFacetData = exports.IncidentSearchResponseMeta = exports.IncidentSearchResponseIncidentsData = exports.IncidentSearchResponseFieldFacetData = exports.IncidentSearchResponseFacetsData = exports.IncidentSearchResponseData = exports.IncidentSearchResponseAttributes = exports.IncidentSearchResponse = exports.IncidentResponseRelationships = exports.IncidentResponseMetaPagination = exports.IncidentResponseMeta = exports.IncidentResponseData = exports.IncidentResponseAttributes = exports.IncidentResponse = exports.IncidentNotificationHandle = exports.IncidentIntegrationMetadataResponseData = exports.IncidentIntegrationMetadataResponse = exports.IncidentIntegrationMetadataPatchRequest = exports.IncidentIntegrationMetadataPatchData = exports.IncidentIntegrationMetadataListResponse = exports.IncidentIntegrationMetadataCreateRequest = exports.IncidentIntegrationMetadataCreateData = exports.IncidentIntegrationMetadataAttributes = exports.IncidentFieldAttributesSingleValue = void 0;
+exports.LogsArchiveDestinationS3 = exports.LogsArchiveDestinationGCS = exports.LogsArchiveDestinationAzure = exports.LogsArchiveDefinition = exports.LogsArchiveCreateRequestDefinition = exports.LogsArchiveCreateRequestAttributes = exports.LogsArchiveCreateRequest = exports.LogsArchiveAttributes = exports.LogsArchive = exports.LogsAggregateSort = exports.LogsAggregateResponseData = exports.LogsAggregateResponse = exports.LogsAggregateRequestPage = exports.LogsAggregateRequest = exports.LogsAggregateBucketValueTimeseriesPoint = exports.LogsAggregateBucket = exports.LogAttributes = exports.Log = exports.ListFindingsResponse = exports.ListFindingsPage = exports.ListFindingsMeta = exports.ListDowntimesResponse = exports.ListApplicationKeysResponse = exports.JSONAPIErrorResponse = exports.JSONAPIErrorItem = exports.JiraIntegrationMetadataIssuesItem = exports.JiraIntegrationMetadata = exports.IPAllowlistUpdateRequest = exports.IPAllowlistResponse = exports.IPAllowlistEntryData = exports.IPAllowlistEntryAttributes = exports.IPAllowlistEntry = exports.IPAllowlistData = exports.IPAllowlistAttributes = exports.IntakePayloadAccepted = exports.IncidentUpdateRequest = exports.IncidentUpdateRelationships = exports.IncidentUpdateData = exports.IncidentUpdateAttributes = exports.IncidentTodoResponseData = exports.IncidentTodoResponse = exports.IncidentTodoPatchRequest = exports.IncidentTodoPatchData = exports.IncidentTodoListResponse = exports.IncidentTodoCreateRequest = exports.IncidentTodoCreateData = exports.IncidentTodoAttributes = exports.IncidentTodoAnonymousAssignee = exports.IncidentTimelineCellMarkdownCreateAttributesContent = exports.IncidentTimelineCellMarkdownCreateAttributes = void 0;
+exports.MetricCustomAggregation = exports.MetricBulkTagConfigStatusAttributes = exports.MetricBulkTagConfigStatus = exports.MetricBulkTagConfigResponse = exports.MetricBulkTagConfigDeleteRequest = exports.MetricBulkTagConfigDeleteAttributes = exports.MetricBulkTagConfigDelete = exports.MetricBulkTagConfigCreateRequest = exports.MetricBulkTagConfigCreateAttributes = exports.MetricBulkTagConfigCreate = exports.MetricAllTagsResponse = exports.MetricAllTagsAttributes = exports.MetricAllTags = exports.Metric = exports.LogsWarning = exports.LogsResponseMetadataPage = exports.LogsResponseMetadata = exports.LogsQueryOptions = exports.LogsQueryFilter = exports.LogsMetricUpdateRequest = exports.LogsMetricUpdateData = exports.LogsMetricUpdateCompute = exports.LogsMetricUpdateAttributes = exports.LogsMetricsResponse = exports.LogsMetricResponseGroupBy = exports.LogsMetricResponseFilter = exports.LogsMetricResponseData = exports.LogsMetricResponseCompute = exports.LogsMetricResponseAttributes = exports.LogsMetricResponse = exports.LogsMetricGroupBy = exports.LogsMetricFilter = exports.LogsMetricCreateRequest = exports.LogsMetricCreateData = exports.LogsMetricCreateAttributes = exports.LogsMetricCompute = exports.LogsListResponseLinks = exports.LogsListResponse = exports.LogsListRequestPage = exports.LogsListRequest = exports.LogsGroupByHistogram = exports.LogsGroupBy = exports.LogsCompute = exports.LogsArchives = exports.LogsArchiveOrderDefinition = exports.LogsArchiveOrderAttributes = exports.LogsArchiveOrder = exports.LogsArchiveIntegrationS3 = exports.LogsArchiveIntegrationGCS = exports.LogsArchiveIntegrationAzure = void 0;
+exports.MuteFindingResponse = exports.MuteFindingRequestProperties = exports.MuteFindingRequestData = exports.MuteFindingRequestAttributes = exports.MuteFindingRequest = exports.MonitorType = exports.MonitorDowntimeMatchResponseData = exports.MonitorDowntimeMatchResponseAttributes = exports.MonitorDowntimeMatchResponse = exports.MonitorConfigPolicyTagPolicyCreateRequest = exports.MonitorConfigPolicyTagPolicy = exports.MonitorConfigPolicyResponseData = exports.MonitorConfigPolicyResponse = exports.MonitorConfigPolicyListResponse = exports.MonitorConfigPolicyEditRequest = exports.MonitorConfigPolicyEditData = exports.MonitorConfigPolicyCreateRequest = exports.MonitorConfigPolicyCreateData = exports.MonitorConfigPolicyAttributeResponse = exports.MonitorConfigPolicyAttributeEditRequest = exports.MonitorConfigPolicyAttributeCreateRequest = exports.MetricVolumesResponse = exports.MetricTagConfigurationUpdateRequest = exports.MetricTagConfigurationUpdateData = exports.MetricTagConfigurationUpdateAttributes = exports.MetricTagConfigurationResponse = exports.MetricTagConfigurationCreateRequest = exports.MetricTagConfigurationCreateData = exports.MetricTagConfigurationCreateAttributes = exports.MetricTagConfigurationAttributes = exports.MetricTagConfiguration = exports.MetricSuggestedTagsAttributes = exports.MetricSuggestedTagsAndAggregationsResponse = exports.MetricSuggestedTagsAndAggregations = exports.MetricsTimeseriesQuery = exports.MetricsScalarQuery = exports.MetricSeries = exports.MetricsAndMetricTagConfigurationsResponse = exports.MetricResource = exports.MetricPoint = exports.MetricPayload = exports.MetricOrigin = exports.MetricMetadata = exports.MetricIngestedIndexedVolumeAttributes = exports.MetricIngestedIndexedVolume = exports.MetricEstimateResponse = exports.MetricEstimateAttributes = exports.MetricEstimate = exports.MetricDistinctVolumeAttributes = exports.MetricDistinctVolume = void 0;
+exports.RelationshipToRoles = exports.RelationshipToRoleData = exports.RelationshipToRole = exports.RelationshipToPermissions = exports.RelationshipToPermissionData = exports.RelationshipToPermission = exports.RelationshipToOrganizations = exports.RelationshipToOrganizationData = exports.RelationshipToOrganization = exports.RelationshipToIncidentPostmortemData = exports.RelationshipToIncidentPostmortem = exports.RelationshipToIncidentIntegrationMetadatas = exports.RelationshipToIncidentIntegrationMetadataData = exports.RelationshipToIncidentAttachmentData = exports.RelationshipToIncidentAttachment = exports.QueryFormula = exports.ProcessSummaryAttributes = exports.ProcessSummary = exports.ProcessSummariesResponse = exports.ProcessSummariesMetaPage = exports.ProcessSummariesMeta = exports.PermissionsResponse = exports.PermissionAttributes = exports.Permission = exports.PartialApplicationKeyResponse = exports.PartialApplicationKeyAttributes = exports.PartialApplicationKey = exports.PartialAPIKeyAttributes = exports.PartialAPIKey = exports.Pagination = exports.OrganizationAttributes = exports.Organization = exports.OpsgenieServiceUpdateRequest = exports.OpsgenieServiceUpdateData = exports.OpsgenieServiceUpdateAttributes = exports.OpsgenieServicesResponse = exports.OpsgenieServiceResponseData = exports.OpsgenieServiceResponseAttributes = exports.OpsgenieServiceResponse = exports.OpsgenieServiceCreateRequest = exports.OpsgenieServiceCreateData = exports.OpsgenieServiceCreateAttributes = exports.OnDemandConcurrencyCapResponse = exports.OnDemandConcurrencyCapAttributes = exports.OnDemandConcurrencyCap = exports.NullableRelationshipToUserData = exports.NullableRelationshipToUser = exports.MuteFindingResponseProperties = exports.MuteFindingResponseData = exports.MuteFindingResponseAttributes = void 0;
+exports.RUMApplicationsResponse = exports.RUMApplicationResponse = exports.RUMApplicationListAttributes = exports.RUMApplicationList = exports.RUMApplicationCreateRequest = exports.RUMApplicationCreateAttributes = exports.RUMApplicationCreate = exports.RUMApplicationAttributes = exports.RUMApplication = exports.RUMAnalyticsAggregateResponse = exports.RUMAggregationBucketsResponse = exports.RUMAggregateSort = exports.RUMAggregateRequest = exports.RUMAggregateBucketValueTimeseriesPoint = exports.RoleUpdateResponseData = exports.RoleUpdateResponse = exports.RoleUpdateRequest = exports.RoleUpdateData = exports.RoleUpdateAttributes = exports.RolesResponse = exports.RoleResponseRelationships = exports.RoleResponse = exports.RoleRelationships = exports.RoleCreateResponseData = exports.RoleCreateResponse = exports.RoleCreateRequest = exports.RoleCreateData = exports.RoleCreateAttributes = exports.RoleCloneRequest = exports.RoleCloneAttributes = exports.RoleClone = exports.RoleAttributes = exports.Role = exports.RestrictionPolicyUpdateRequest = exports.RestrictionPolicyResponse = exports.RestrictionPolicyBinding = exports.RestrictionPolicyAttributes = exports.RestrictionPolicy = exports.ResponseMetaAttributes = exports.RelationshipToUserTeamUserData = exports.RelationshipToUserTeamUser = exports.RelationshipToUserTeamPermissionData = exports.RelationshipToUserTeamPermission = exports.RelationshipToUsers = exports.RelationshipToUserData = exports.RelationshipToUser = exports.RelationshipToTeamLinks = exports.RelationshipToTeamLinkData = exports.RelationshipToSAMLAssertionAttributeData = exports.RelationshipToSAMLAssertionAttribute = void 0;
+exports.SecurityMonitoringSignalAssigneeUpdateAttributes = exports.SecurityMonitoringSignal = exports.SecurityMonitoringRuleUpdatePayload = exports.SecurityMonitoringRuleOptions = exports.SecurityMonitoringRuleNewValueOptions = exports.SecurityMonitoringRuleImpossibleTravelOptions = exports.SecurityMonitoringRuleCaseCreate = exports.SecurityMonitoringRuleCase = exports.SecurityMonitoringListRulesResponse = exports.SecurityMonitoringFilter = exports.SecurityFilterUpdateRequest = exports.SecurityFilterUpdateData = exports.SecurityFilterUpdateAttributes = exports.SecurityFiltersResponse = exports.SecurityFilterResponse = exports.SecurityFilterMeta = exports.SecurityFilterExclusionFilterResponse = exports.SecurityFilterExclusionFilter = exports.SecurityFilterCreateRequest = exports.SecurityFilterCreateData = exports.SecurityFilterCreateAttributes = exports.SecurityFilterAttributes = exports.SecurityFilter = exports.ScalarResponse = exports.ScalarMeta = exports.ScalarFormulaResponseAtrributes = exports.ScalarFormulaRequestAttributes = exports.ScalarFormulaRequest = exports.ScalarFormulaQueryResponse = exports.ScalarFormulaQueryRequest = exports.SAMLAssertionAttributeAttributes = exports.SAMLAssertionAttribute = exports.RUMWarning = exports.RUMSearchEventsRequest = exports.RUMResponsePage = exports.RUMResponseMetadata = exports.RUMResponseLinks = exports.RUMQueryPageOptions = exports.RUMQueryOptions = exports.RUMQueryFilter = exports.RUMGroupByHistogram = exports.RUMGroupBy = exports.RUMEventsResponse = exports.RUMEventAttributes = exports.RUMEvent = exports.RUMCompute = exports.RUMBucketResponse = exports.RUMApplicationUpdateRequest = exports.RUMApplicationUpdateAttributes = exports.RUMApplicationUpdate = void 0;
+exports.SensitiveDataScannerGroupUpdate = exports.SensitiveDataScannerGroupResponse = exports.SensitiveDataScannerGroupRelationships = exports.SensitiveDataScannerGroupList = exports.SensitiveDataScannerGroupItem = exports.SensitiveDataScannerGroupIncludedItem = exports.SensitiveDataScannerGroupDeleteResponse = exports.SensitiveDataScannerGroupDeleteRequest = exports.SensitiveDataScannerGroupData = exports.SensitiveDataScannerGroupCreateRequest = exports.SensitiveDataScannerGroupCreate = exports.SensitiveDataScannerGroupAttributes = exports.SensitiveDataScannerGroup = exports.SensitiveDataScannerGetConfigResponseData = exports.SensitiveDataScannerGetConfigResponse = exports.SensitiveDataScannerFilter = exports.SensitiveDataScannerCreateRuleResponse = exports.SensitiveDataScannerCreateGroupResponse = exports.SensitiveDataScannerConfigurationRelationships = exports.SensitiveDataScannerConfigurationData = exports.SensitiveDataScannerConfiguration = exports.SensitiveDataScannerConfigRequest = exports.SecurityMonitoringTriageUser = exports.SecurityMonitoringStandardRuleResponse = exports.SecurityMonitoringStandardRuleQuery = exports.SecurityMonitoringStandardRuleCreatePayload = exports.SecurityMonitoringSignalTriageUpdateResponse = exports.SecurityMonitoringSignalTriageUpdateData = exports.SecurityMonitoringSignalTriageAttributes = exports.SecurityMonitoringSignalStateUpdateRequest = exports.SecurityMonitoringSignalStateUpdateData = exports.SecurityMonitoringSignalStateUpdateAttributes = exports.SecurityMonitoringSignalsListResponseMetaPage = exports.SecurityMonitoringSignalsListResponseMeta = exports.SecurityMonitoringSignalsListResponseLinks = exports.SecurityMonitoringSignalsListResponse = exports.SecurityMonitoringSignalRuleResponseQuery = exports.SecurityMonitoringSignalRuleResponse = exports.SecurityMonitoringSignalRuleQuery = exports.SecurityMonitoringSignalRuleCreatePayload = exports.SecurityMonitoringSignalResponse = exports.SecurityMonitoringSignalListRequestPage = exports.SecurityMonitoringSignalListRequestFilter = exports.SecurityMonitoringSignalListRequest = exports.SecurityMonitoringSignalIncidentsUpdateRequest = exports.SecurityMonitoringSignalIncidentsUpdateData = exports.SecurityMonitoringSignalIncidentsUpdateAttributes = exports.SecurityMonitoringSignalAttributes = exports.SecurityMonitoringSignalAssigneeUpdateRequest = exports.SecurityMonitoringSignalAssigneeUpdateData = void 0;
+exports.ServiceDefinitionV2Dot1Pagerduty = exports.ServiceDefinitionV2Dot1Opsgenie = exports.ServiceDefinitionV2Dot1MSTeams = exports.ServiceDefinitionV2Dot1Link = exports.ServiceDefinitionV2Dot1Integrations = exports.ServiceDefinitionV2Dot1Email = exports.ServiceDefinitionV2Dot1 = exports.ServiceDefinitionV2Doc = exports.ServiceDefinitionV2 = exports.ServiceDefinitionV1Resource = exports.ServiceDefinitionV1Org = exports.ServiceDefinitionV1Integrations = exports.ServiceDefinitionV1Info = exports.ServiceDefinitionV1Contact = exports.ServiceDefinitionV1 = exports.ServiceDefinitionsListResponse = exports.ServiceDefinitionMetaWarnings = exports.ServiceDefinitionMeta = exports.ServiceDefinitionGetResponse = exports.ServiceDefinitionDataAttributes = exports.ServiceDefinitionData = exports.ServiceDefinitionCreateResponse = exports.ServiceAccountCreateRequest = exports.ServiceAccountCreateData = exports.ServiceAccountCreateAttributes = exports.SensitiveDataScannerTextReplacement = exports.SensitiveDataScannerStandardPatternsResponseItem = exports.SensitiveDataScannerStandardPatternsResponseData = exports.SensitiveDataScannerStandardPatternData = exports.SensitiveDataScannerStandardPatternAttributes = exports.SensitiveDataScannerStandardPattern = exports.SensitiveDataScannerRuleUpdateResponse = exports.SensitiveDataScannerRuleUpdateRequest = exports.SensitiveDataScannerRuleUpdate = exports.SensitiveDataScannerRuleResponse = exports.SensitiveDataScannerRuleRelationships = exports.SensitiveDataScannerRuleIncludedItem = exports.SensitiveDataScannerRuleDeleteResponse = exports.SensitiveDataScannerRuleDeleteRequest = exports.SensitiveDataScannerRuleData = exports.SensitiveDataScannerRuleCreateRequest = exports.SensitiveDataScannerRuleCreate = exports.SensitiveDataScannerRuleAttributes = exports.SensitiveDataScannerRule = exports.SensitiveDataScannerReorderGroupsResponse = exports.SensitiveDataScannerReorderConfig = exports.SensitiveDataScannerMetaVersionOnly = exports.SensitiveDataScannerMeta = exports.SensitiveDataScannerGroupUpdateResponse = exports.SensitiveDataScannerGroupUpdateRequest = void 0;
+exports.SpansQueryOptions = exports.SpansQueryFilter = exports.SpansMetricUpdateRequest = exports.SpansMetricUpdateData = exports.SpansMetricUpdateCompute = exports.SpansMetricUpdateAttributes = exports.SpansMetricsResponse = exports.SpansMetricResponseGroupBy = exports.SpansMetricResponseFilter = exports.SpansMetricResponseData = exports.SpansMetricResponseCompute = exports.SpansMetricResponseAttributes = exports.SpansMetricResponse = exports.SpansMetricGroupBy = exports.SpansMetricFilter = exports.SpansMetricCreateRequest = exports.SpansMetricCreateData = exports.SpansMetricCreateAttributes = exports.SpansMetricCompute = exports.SpansListResponseMetadata = exports.SpansListResponseLinks = exports.SpansListResponse = exports.SpansListRequestPage = exports.SpansListRequestData = exports.SpansListRequestAttributes = exports.SpansListRequest = exports.SpansGroupByHistogram = exports.SpansGroupBy = exports.SpansCompute = exports.SpansAttributes = exports.SpansAggregateSort = exports.SpansAggregateResponseMetadata = exports.SpansAggregateResponse = exports.SpansAggregateRequestAttributes = exports.SpansAggregateRequest = exports.SpansAggregateData = exports.SpansAggregateBucketValueTimeseriesPoint = exports.SpansAggregateBucketAttributes = exports.SpansAggregateBucket = exports.Span = exports.SlackIntegrationMetadataChannelItem = exports.SlackIntegrationMetadata = exports.ServiceDefinitionV2Slack = exports.ServiceDefinitionV2Repo = exports.ServiceDefinitionV2Opsgenie = exports.ServiceDefinitionV2MSTeams = exports.ServiceDefinitionV2Link = exports.ServiceDefinitionV2Integrations = exports.ServiceDefinitionV2Email = exports.ServiceDefinitionV2Dot1Slack = void 0;
+exports.UserCreateData = exports.UserCreateAttributes = exports.UserAttributes = exports.User = exports.UsageTimeSeriesObject = exports.UsageObservabilityPipelinesResponse = exports.UsageLambdaTracedInvocationsResponse = exports.UsageDataObject = exports.UsageAttributesObject = exports.UsageApplicationSecurityMonitoringResponse = exports.Unit = exports.TimeseriesResponseSeries = exports.TimeseriesResponseAttributes = exports.TimeseriesResponse = exports.TimeseriesFormulaRequestAttributes = exports.TimeseriesFormulaRequest = exports.TimeseriesFormulaQueryResponse = exports.TimeseriesFormulaQueryRequest = exports.TeamUpdateRequest = exports.TeamUpdateRelationships = exports.TeamUpdateAttributes = exports.TeamUpdate = exports.TeamsResponseMetaPagination = exports.TeamsResponseMeta = exports.TeamsResponseLinks = exports.TeamsResponse = exports.TeamResponse = exports.TeamRelationshipsLinks = exports.TeamRelationships = exports.TeamPermissionSettingUpdateRequest = exports.TeamPermissionSettingUpdateAttributes = exports.TeamPermissionSettingUpdate = exports.TeamPermissionSettingsResponse = exports.TeamPermissionSettingResponse = exports.TeamPermissionSettingAttributes = exports.TeamPermissionSetting = exports.TeamLinksResponse = exports.TeamLinkResponse = exports.TeamLinkCreateRequest = exports.TeamLinkCreate = exports.TeamLinkAttributes = exports.TeamLink = exports.TeamCreateRequest = exports.TeamCreateRelationships = exports.TeamCreateAttributes = exports.TeamCreate = exports.TeamAttributes = exports.Team = exports.SpansWarning = exports.SpansResponseMetadataPage = void 0;
+exports.ObjectSerializer = exports.UserUpdateRequest = exports.UserUpdateData = exports.UserUpdateAttributes = exports.UserTeamUpdateRequest = exports.UserTeamUpdate = exports.UserTeamsResponse = exports.UserTeamResponse = exports.UserTeamRequest = exports.UserTeamRelationships = exports.UserTeamPermissionAttributes = exports.UserTeamPermission = exports.UserTeamCreate = exports.UserTeamAttributes = exports.UserTeam = exports.UsersResponse = exports.UserResponseRelationships = exports.UserResponse = exports.UserRelationships = exports.UserInvitationsResponse = exports.UserInvitationsRequest = exports.UserInvitationResponseData = exports.UserInvitationResponse = exports.UserInvitationRelationships = exports.UserInvitationDataAttributes = exports.UserInvitationData = exports.UserCreateRequest = void 0;
+var AuditApi_1 = __webpack_require__(33496);
+Object.defineProperty(exports, "AuditApi", ({ enumerable: true, get: function () { return AuditApi_1.AuditApi; } }));
+var AuthNMappingsApi_1 = __webpack_require__(55996);
+Object.defineProperty(exports, "AuthNMappingsApi", ({ enumerable: true, get: function () { return AuthNMappingsApi_1.AuthNMappingsApi; } }));
+var CIVisibilityPipelinesApi_1 = __webpack_require__(5491);
+Object.defineProperty(exports, "CIVisibilityPipelinesApi", ({ enumerable: true, get: function () { return CIVisibilityPipelinesApi_1.CIVisibilityPipelinesApi; } }));
+var CIVisibilityTestsApi_1 = __webpack_require__(24725);
+Object.defineProperty(exports, "CIVisibilityTestsApi", ({ enumerable: true, get: function () { return CIVisibilityTestsApi_1.CIVisibilityTestsApi; } }));
+var CloudWorkloadSecurityApi_1 = __webpack_require__(19661);
+Object.defineProperty(exports, "CloudWorkloadSecurityApi", ({ enumerable: true, get: function () { return CloudWorkloadSecurityApi_1.CloudWorkloadSecurityApi; } }));
+var CloudflareIntegrationApi_1 = __webpack_require__(15019);
+Object.defineProperty(exports, "CloudflareIntegrationApi", ({ enumerable: true, get: function () { return CloudflareIntegrationApi_1.CloudflareIntegrationApi; } }));
+var ConfluentCloudApi_1 = __webpack_require__(15500);
+Object.defineProperty(exports, "ConfluentCloudApi", ({ enumerable: true, get: function () { return ConfluentCloudApi_1.ConfluentCloudApi; } }));
+var DashboardListsApi_1 = __webpack_require__(54322);
+Object.defineProperty(exports, "DashboardListsApi", ({ enumerable: true, get: function () { return DashboardListsApi_1.DashboardListsApi; } }));
+var DowntimesApi_1 = __webpack_require__(69097);
+Object.defineProperty(exports, "DowntimesApi", ({ enumerable: true, get: function () { return DowntimesApi_1.DowntimesApi; } }));
+var EventsApi_1 = __webpack_require__(60334);
+Object.defineProperty(exports, "EventsApi", ({ enumerable: true, get: function () { return EventsApi_1.EventsApi; } }));
+var FastlyIntegrationApi_1 = __webpack_require__(41584);
+Object.defineProperty(exports, "FastlyIntegrationApi", ({ enumerable: true, get: function () { return FastlyIntegrationApi_1.FastlyIntegrationApi; } }));
+var GCPIntegrationApi_1 = __webpack_require__(78955);
+Object.defineProperty(exports, "GCPIntegrationApi", ({ enumerable: true, get: function () { return GCPIntegrationApi_1.GCPIntegrationApi; } }));
+var IPAllowlistApi_1 = __webpack_require__(60678);
+Object.defineProperty(exports, "IPAllowlistApi", ({ enumerable: true, get: function () { return IPAllowlistApi_1.IPAllowlistApi; } }));
+var IncidentServicesApi_1 = __webpack_require__(50369);
+Object.defineProperty(exports, "IncidentServicesApi", ({ enumerable: true, get: function () { return IncidentServicesApi_1.IncidentServicesApi; } }));
+var IncidentTeamsApi_1 = __webpack_require__(34976);
+Object.defineProperty(exports, "IncidentTeamsApi", ({ enumerable: true, get: function () { return IncidentTeamsApi_1.IncidentTeamsApi; } }));
+var IncidentsApi_1 = __webpack_require__(42222);
+Object.defineProperty(exports, "IncidentsApi", ({ enumerable: true, get: function () { return IncidentsApi_1.IncidentsApi; } }));
+var KeyManagementApi_1 = __webpack_require__(58850);
+Object.defineProperty(exports, "KeyManagementApi", ({ enumerable: true, get: function () { return KeyManagementApi_1.KeyManagementApi; } }));
+var LogsApi_1 = __webpack_require__(38999);
+Object.defineProperty(exports, "LogsApi", ({ enumerable: true, get: function () { return LogsApi_1.LogsApi; } }));
+var LogsArchivesApi_1 = __webpack_require__(8352);
+Object.defineProperty(exports, "LogsArchivesApi", ({ enumerable: true, get: function () { return LogsArchivesApi_1.LogsArchivesApi; } }));
+var LogsMetricsApi_1 = __webpack_require__(52626);
+Object.defineProperty(exports, "LogsMetricsApi", ({ enumerable: true, get: function () { return LogsMetricsApi_1.LogsMetricsApi; } }));
+var MetricsApi_1 = __webpack_require__(24940);
+Object.defineProperty(exports, "MetricsApi", ({ enumerable: true, get: function () { return MetricsApi_1.MetricsApi; } }));
+var MonitorsApi_1 = __webpack_require__(74701);
+Object.defineProperty(exports, "MonitorsApi", ({ enumerable: true, get: function () { return MonitorsApi_1.MonitorsApi; } }));
+var OpsgenieIntegrationApi_1 = __webpack_require__(87602);
+Object.defineProperty(exports, "OpsgenieIntegrationApi", ({ enumerable: true, get: function () { return OpsgenieIntegrationApi_1.OpsgenieIntegrationApi; } }));
+var OrganizationsApi_1 = __webpack_require__(48349);
+Object.defineProperty(exports, "OrganizationsApi", ({ enumerable: true, get: function () { return OrganizationsApi_1.OrganizationsApi; } }));
+var ProcessesApi_1 = __webpack_require__(41146);
+Object.defineProperty(exports, "ProcessesApi", ({ enumerable: true, get: function () { return ProcessesApi_1.ProcessesApi; } }));
+var RUMApi_1 = __webpack_require__(80097);
+Object.defineProperty(exports, "RUMApi", ({ enumerable: true, get: function () { return RUMApi_1.RUMApi; } }));
+var RestrictionPoliciesApi_1 = __webpack_require__(17247);
+Object.defineProperty(exports, "RestrictionPoliciesApi", ({ enumerable: true, get: function () { return RestrictionPoliciesApi_1.RestrictionPoliciesApi; } }));
+var RolesApi_1 = __webpack_require__(19039);
+Object.defineProperty(exports, "RolesApi", ({ enumerable: true, get: function () { return RolesApi_1.RolesApi; } }));
+var SecurityMonitoringApi_1 = __webpack_require__(8781);
+Object.defineProperty(exports, "SecurityMonitoringApi", ({ enumerable: true, get: function () { return SecurityMonitoringApi_1.SecurityMonitoringApi; } }));
+var SensitiveDataScannerApi_1 = __webpack_require__(17714);
+Object.defineProperty(exports, "SensitiveDataScannerApi", ({ enumerable: true, get: function () { return SensitiveDataScannerApi_1.SensitiveDataScannerApi; } }));
+var ServiceAccountsApi_1 = __webpack_require__(76380);
+Object.defineProperty(exports, "ServiceAccountsApi", ({ enumerable: true, get: function () { return ServiceAccountsApi_1.ServiceAccountsApi; } }));
+var ServiceDefinitionApi_1 = __webpack_require__(21834);
+Object.defineProperty(exports, "ServiceDefinitionApi", ({ enumerable: true, get: function () { return ServiceDefinitionApi_1.ServiceDefinitionApi; } }));
+var SpansApi_1 = __webpack_require__(45291);
+Object.defineProperty(exports, "SpansApi", ({ enumerable: true, get: function () { return SpansApi_1.SpansApi; } }));
+var SpansMetricsApi_1 = __webpack_require__(75850);
+Object.defineProperty(exports, "SpansMetricsApi", ({ enumerable: true, get: function () { return SpansMetricsApi_1.SpansMetricsApi; } }));
+var SyntheticsApi_1 = __webpack_require__(44706);
+Object.defineProperty(exports, "SyntheticsApi", ({ enumerable: true, get: function () { return SyntheticsApi_1.SyntheticsApi; } }));
+var TeamsApi_1 = __webpack_require__(28174);
+Object.defineProperty(exports, "TeamsApi", ({ enumerable: true, get: function () { return TeamsApi_1.TeamsApi; } }));
+var UsageMeteringApi_1 = __webpack_require__(46980);
+Object.defineProperty(exports, "UsageMeteringApi", ({ enumerable: true, get: function () { return UsageMeteringApi_1.UsageMeteringApi; } }));
+var UsersApi_1 = __webpack_require__(57292);
+Object.defineProperty(exports, "UsersApi", ({ enumerable: true, get: function () { return UsersApi_1.UsersApi; } }));
+var APIErrorResponse_1 = __webpack_require__(15470);
+Object.defineProperty(exports, "APIErrorResponse", ({ enumerable: true, get: function () { return APIErrorResponse_1.APIErrorResponse; } }));
+var APIKeyCreateAttributes_1 = __webpack_require__(57428);
+Object.defineProperty(exports, "APIKeyCreateAttributes", ({ enumerable: true, get: function () { return APIKeyCreateAttributes_1.APIKeyCreateAttributes; } }));
+var APIKeyCreateData_1 = __webpack_require__(75515);
+Object.defineProperty(exports, "APIKeyCreateData", ({ enumerable: true, get: function () { return APIKeyCreateData_1.APIKeyCreateData; } }));
+var APIKeyCreateRequest_1 = __webpack_require__(34427);
+Object.defineProperty(exports, "APIKeyCreateRequest", ({ enumerable: true, get: function () { return APIKeyCreateRequest_1.APIKeyCreateRequest; } }));
+var APIKeyRelationships_1 = __webpack_require__(76728);
+Object.defineProperty(exports, "APIKeyRelationships", ({ enumerable: true, get: function () { return APIKeyRelationships_1.APIKeyRelationships; } }));
+var APIKeyResponse_1 = __webpack_require__(27678);
+Object.defineProperty(exports, "APIKeyResponse", ({ enumerable: true, get: function () { return APIKeyResponse_1.APIKeyResponse; } }));
+var APIKeysResponse_1 = __webpack_require__(84727);
+Object.defineProperty(exports, "APIKeysResponse", ({ enumerable: true, get: function () { return APIKeysResponse_1.APIKeysResponse; } }));
+var APIKeyUpdateAttributes_1 = __webpack_require__(93343);
+Object.defineProperty(exports, "APIKeyUpdateAttributes", ({ enumerable: true, get: function () { return APIKeyUpdateAttributes_1.APIKeyUpdateAttributes; } }));
+var APIKeyUpdateData_1 = __webpack_require__(58080);
+Object.defineProperty(exports, "APIKeyUpdateData", ({ enumerable: true, get: function () { return APIKeyUpdateData_1.APIKeyUpdateData; } }));
+var APIKeyUpdateRequest_1 = __webpack_require__(86803);
+Object.defineProperty(exports, "APIKeyUpdateRequest", ({ enumerable: true, get: function () { return APIKeyUpdateRequest_1.APIKeyUpdateRequest; } }));
+var ApplicationKeyCreateAttributes_1 = __webpack_require__(93761);
+Object.defineProperty(exports, "ApplicationKeyCreateAttributes", ({ enumerable: true, get: function () { return ApplicationKeyCreateAttributes_1.ApplicationKeyCreateAttributes; } }));
+var ApplicationKeyCreateData_1 = __webpack_require__(79474);
+Object.defineProperty(exports, "ApplicationKeyCreateData", ({ enumerable: true, get: function () { return ApplicationKeyCreateData_1.ApplicationKeyCreateData; } }));
+var ApplicationKeyCreateRequest_1 = __webpack_require__(97437);
+Object.defineProperty(exports, "ApplicationKeyCreateRequest", ({ enumerable: true, get: function () { return ApplicationKeyCreateRequest_1.ApplicationKeyCreateRequest; } }));
+var ApplicationKeyRelationships_1 = __webpack_require__(26425);
+Object.defineProperty(exports, "ApplicationKeyRelationships", ({ enumerable: true, get: function () { return ApplicationKeyRelationships_1.ApplicationKeyRelationships; } }));
+var ApplicationKeyResponse_1 = __webpack_require__(12266);
+Object.defineProperty(exports, "ApplicationKeyResponse", ({ enumerable: true, get: function () { return ApplicationKeyResponse_1.ApplicationKeyResponse; } }));
+var ApplicationKeyUpdateAttributes_1 = __webpack_require__(71834);
+Object.defineProperty(exports, "ApplicationKeyUpdateAttributes", ({ enumerable: true, get: function () { return ApplicationKeyUpdateAttributes_1.ApplicationKeyUpdateAttributes; } }));
+var ApplicationKeyUpdateData_1 = __webpack_require__(35529);
+Object.defineProperty(exports, "ApplicationKeyUpdateData", ({ enumerable: true, get: function () { return ApplicationKeyUpdateData_1.ApplicationKeyUpdateData; } }));
+var ApplicationKeyUpdateRequest_1 = __webpack_require__(20950);
+Object.defineProperty(exports, "ApplicationKeyUpdateRequest", ({ enumerable: true, get: function () { return ApplicationKeyUpdateRequest_1.ApplicationKeyUpdateRequest; } }));
+var AuditLogsEvent_1 = __webpack_require__(76548);
+Object.defineProperty(exports, "AuditLogsEvent", ({ enumerable: true, get: function () { return AuditLogsEvent_1.AuditLogsEvent; } }));
+var AuditLogsEventAttributes_1 = __webpack_require__(84537);
+Object.defineProperty(exports, "AuditLogsEventAttributes", ({ enumerable: true, get: function () { return AuditLogsEventAttributes_1.AuditLogsEventAttributes; } }));
+var AuditLogsEventsResponse_1 = __webpack_require__(65051);
+Object.defineProperty(exports, "AuditLogsEventsResponse", ({ enumerable: true, get: function () { return AuditLogsEventsResponse_1.AuditLogsEventsResponse; } }));
+var AuditLogsQueryFilter_1 = __webpack_require__(98263);
+Object.defineProperty(exports, "AuditLogsQueryFilter", ({ enumerable: true, get: function () { return AuditLogsQueryFilter_1.AuditLogsQueryFilter; } }));
+var AuditLogsQueryOptions_1 = __webpack_require__(73537);
+Object.defineProperty(exports, "AuditLogsQueryOptions", ({ enumerable: true, get: function () { return AuditLogsQueryOptions_1.AuditLogsQueryOptions; } }));
+var AuditLogsQueryPageOptions_1 = __webpack_require__(55633);
+Object.defineProperty(exports, "AuditLogsQueryPageOptions", ({ enumerable: true, get: function () { return AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions; } }));
+var AuditLogsResponseLinks_1 = __webpack_require__(67447);
+Object.defineProperty(exports, "AuditLogsResponseLinks", ({ enumerable: true, get: function () { return AuditLogsResponseLinks_1.AuditLogsResponseLinks; } }));
+var AuditLogsResponseMetadata_1 = __webpack_require__(35495);
+Object.defineProperty(exports, "AuditLogsResponseMetadata", ({ enumerable: true, get: function () { return AuditLogsResponseMetadata_1.AuditLogsResponseMetadata; } }));
+var AuditLogsResponsePage_1 = __webpack_require__(75629);
+Object.defineProperty(exports, "AuditLogsResponsePage", ({ enumerable: true, get: function () { return AuditLogsResponsePage_1.AuditLogsResponsePage; } }));
+var AuditLogsSearchEventsRequest_1 = __webpack_require__(87612);
+Object.defineProperty(exports, "AuditLogsSearchEventsRequest", ({ enumerable: true, get: function () { return AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest; } }));
+var AuditLogsWarning_1 = __webpack_require__(7214);
+Object.defineProperty(exports, "AuditLogsWarning", ({ enumerable: true, get: function () { return AuditLogsWarning_1.AuditLogsWarning; } }));
+var AuthNMapping_1 = __webpack_require__(14571);
+Object.defineProperty(exports, "AuthNMapping", ({ enumerable: true, get: function () { return AuthNMapping_1.AuthNMapping; } }));
+var AuthNMappingAttributes_1 = __webpack_require__(41148);
+Object.defineProperty(exports, "AuthNMappingAttributes", ({ enumerable: true, get: function () { return AuthNMappingAttributes_1.AuthNMappingAttributes; } }));
+var AuthNMappingCreateAttributes_1 = __webpack_require__(81545);
+Object.defineProperty(exports, "AuthNMappingCreateAttributes", ({ enumerable: true, get: function () { return AuthNMappingCreateAttributes_1.AuthNMappingCreateAttributes; } }));
+var AuthNMappingCreateData_1 = __webpack_require__(4578);
+Object.defineProperty(exports, "AuthNMappingCreateData", ({ enumerable: true, get: function () { return AuthNMappingCreateData_1.AuthNMappingCreateData; } }));
+var AuthNMappingCreateRelationships_1 = __webpack_require__(69064);
+Object.defineProperty(exports, "AuthNMappingCreateRelationships", ({ enumerable: true, get: function () { return AuthNMappingCreateRelationships_1.AuthNMappingCreateRelationships; } }));
+var AuthNMappingCreateRequest_1 = __webpack_require__(36135);
+Object.defineProperty(exports, "AuthNMappingCreateRequest", ({ enumerable: true, get: function () { return AuthNMappingCreateRequest_1.AuthNMappingCreateRequest; } }));
+var AuthNMappingRelationships_1 = __webpack_require__(41957);
+Object.defineProperty(exports, "AuthNMappingRelationships", ({ enumerable: true, get: function () { return AuthNMappingRelationships_1.AuthNMappingRelationships; } }));
+var AuthNMappingResponse_1 = __webpack_require__(3206);
+Object.defineProperty(exports, "AuthNMappingResponse", ({ enumerable: true, get: function () { return AuthNMappingResponse_1.AuthNMappingResponse; } }));
+var AuthNMappingsResponse_1 = __webpack_require__(14828);
+Object.defineProperty(exports, "AuthNMappingsResponse", ({ enumerable: true, get: function () { return AuthNMappingsResponse_1.AuthNMappingsResponse; } }));
+var AuthNMappingUpdateAttributes_1 = __webpack_require__(48624);
+Object.defineProperty(exports, "AuthNMappingUpdateAttributes", ({ enumerable: true, get: function () { return AuthNMappingUpdateAttributes_1.AuthNMappingUpdateAttributes; } }));
+var AuthNMappingUpdateData_1 = __webpack_require__(69936);
+Object.defineProperty(exports, "AuthNMappingUpdateData", ({ enumerable: true, get: function () { return AuthNMappingUpdateData_1.AuthNMappingUpdateData; } }));
+var AuthNMappingUpdateRelationships_1 = __webpack_require__(54982);
+Object.defineProperty(exports, "AuthNMappingUpdateRelationships", ({ enumerable: true, get: function () { return AuthNMappingUpdateRelationships_1.AuthNMappingUpdateRelationships; } }));
+var AuthNMappingUpdateRequest_1 = __webpack_require__(34564);
+Object.defineProperty(exports, "AuthNMappingUpdateRequest", ({ enumerable: true, get: function () { return AuthNMappingUpdateRequest_1.AuthNMappingUpdateRequest; } }));
+var ChargebackBreakdown_1 = __webpack_require__(77510);
+Object.defineProperty(exports, "ChargebackBreakdown", ({ enumerable: true, get: function () { return ChargebackBreakdown_1.ChargebackBreakdown; } }));
+var CIAppAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(77422);
+Object.defineProperty(exports, "CIAppAggregateBucketValueTimeseriesPoint", ({ enumerable: true, get: function () { return CIAppAggregateBucketValueTimeseriesPoint_1.CIAppAggregateBucketValueTimeseriesPoint; } }));
+var CIAppAggregateSort_1 = __webpack_require__(21472);
+Object.defineProperty(exports, "CIAppAggregateSort", ({ enumerable: true, get: function () { return CIAppAggregateSort_1.CIAppAggregateSort; } }));
+var CIAppCIError_1 = __webpack_require__(37528);
+Object.defineProperty(exports, "CIAppCIError", ({ enumerable: true, get: function () { return CIAppCIError_1.CIAppCIError; } }));
+var CIAppCompute_1 = __webpack_require__(62331);
+Object.defineProperty(exports, "CIAppCompute", ({ enumerable: true, get: function () { return CIAppCompute_1.CIAppCompute; } }));
+var CIAppCreatePipelineEventRequest_1 = __webpack_require__(17773);
+Object.defineProperty(exports, "CIAppCreatePipelineEventRequest", ({ enumerable: true, get: function () { return CIAppCreatePipelineEventRequest_1.CIAppCreatePipelineEventRequest; } }));
+var CIAppCreatePipelineEventRequestAttributes_1 = __webpack_require__(73892);
+Object.defineProperty(exports, "CIAppCreatePipelineEventRequestAttributes", ({ enumerable: true, get: function () { return CIAppCreatePipelineEventRequestAttributes_1.CIAppCreatePipelineEventRequestAttributes; } }));
+var CIAppCreatePipelineEventRequestData_1 = __webpack_require__(97619);
+Object.defineProperty(exports, "CIAppCreatePipelineEventRequestData", ({ enumerable: true, get: function () { return CIAppCreatePipelineEventRequestData_1.CIAppCreatePipelineEventRequestData; } }));
+var CIAppEventAttributes_1 = __webpack_require__(51009);
+Object.defineProperty(exports, "CIAppEventAttributes", ({ enumerable: true, get: function () { return CIAppEventAttributes_1.CIAppEventAttributes; } }));
+var CIAppGitInfo_1 = __webpack_require__(51287);
+Object.defineProperty(exports, "CIAppGitInfo", ({ enumerable: true, get: function () { return CIAppGitInfo_1.CIAppGitInfo; } }));
+var CIAppGroupByHistogram_1 = __webpack_require__(41595);
+Object.defineProperty(exports, "CIAppGroupByHistogram", ({ enumerable: true, get: function () { return CIAppGroupByHistogram_1.CIAppGroupByHistogram; } }));
+var CIAppHostInfo_1 = __webpack_require__(33203);
+Object.defineProperty(exports, "CIAppHostInfo", ({ enumerable: true, get: function () { return CIAppHostInfo_1.CIAppHostInfo; } }));
+var CIAppPipelineEvent_1 = __webpack_require__(75211);
+Object.defineProperty(exports, "CIAppPipelineEvent", ({ enumerable: true, get: function () { return CIAppPipelineEvent_1.CIAppPipelineEvent; } }));
+var CIAppPipelineEventAttributes_1 = __webpack_require__(64559);
+Object.defineProperty(exports, "CIAppPipelineEventAttributes", ({ enumerable: true, get: function () { return CIAppPipelineEventAttributes_1.CIAppPipelineEventAttributes; } }));
+var CIAppPipelineEventJob_1 = __webpack_require__(94194);
+Object.defineProperty(exports, "CIAppPipelineEventJob", ({ enumerable: true, get: function () { return CIAppPipelineEventJob_1.CIAppPipelineEventJob; } }));
+var CIAppPipelineEventParentPipeline_1 = __webpack_require__(78093);
+Object.defineProperty(exports, "CIAppPipelineEventParentPipeline", ({ enumerable: true, get: function () { return CIAppPipelineEventParentPipeline_1.CIAppPipelineEventParentPipeline; } }));
+var CIAppPipelineEventPipeline_1 = __webpack_require__(29598);
+Object.defineProperty(exports, "CIAppPipelineEventPipeline", ({ enumerable: true, get: function () { return CIAppPipelineEventPipeline_1.CIAppPipelineEventPipeline; } }));
+var CIAppPipelineEventPreviousPipeline_1 = __webpack_require__(9966);
+Object.defineProperty(exports, "CIAppPipelineEventPreviousPipeline", ({ enumerable: true, get: function () { return CIAppPipelineEventPreviousPipeline_1.CIAppPipelineEventPreviousPipeline; } }));
+var CIAppPipelineEventsRequest_1 = __webpack_require__(49384);
+Object.defineProperty(exports, "CIAppPipelineEventsRequest", ({ enumerable: true, get: function () { return CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest; } }));
+var CIAppPipelineEventsResponse_1 = __webpack_require__(9211);
+Object.defineProperty(exports, "CIAppPipelineEventsResponse", ({ enumerable: true, get: function () { return CIAppPipelineEventsResponse_1.CIAppPipelineEventsResponse; } }));
+var CIAppPipelineEventStage_1 = __webpack_require__(44961);
+Object.defineProperty(exports, "CIAppPipelineEventStage", ({ enumerable: true, get: function () { return CIAppPipelineEventStage_1.CIAppPipelineEventStage; } }));
+var CIAppPipelineEventStep_1 = __webpack_require__(32485);
+Object.defineProperty(exports, "CIAppPipelineEventStep", ({ enumerable: true, get: function () { return CIAppPipelineEventStep_1.CIAppPipelineEventStep; } }));
+var CIAppPipelinesAggregateRequest_1 = __webpack_require__(34100);
+Object.defineProperty(exports, "CIAppPipelinesAggregateRequest", ({ enumerable: true, get: function () { return CIAppPipelinesAggregateRequest_1.CIAppPipelinesAggregateRequest; } }));
+var CIAppPipelinesAggregationBucketsResponse_1 = __webpack_require__(39081);
+Object.defineProperty(exports, "CIAppPipelinesAggregationBucketsResponse", ({ enumerable: true, get: function () { return CIAppPipelinesAggregationBucketsResponse_1.CIAppPipelinesAggregationBucketsResponse; } }));
+var CIAppPipelinesAnalyticsAggregateResponse_1 = __webpack_require__(45629);
+Object.defineProperty(exports, "CIAppPipelinesAnalyticsAggregateResponse", ({ enumerable: true, get: function () { return CIAppPipelinesAnalyticsAggregateResponse_1.CIAppPipelinesAnalyticsAggregateResponse; } }));
+var CIAppPipelinesBucketResponse_1 = __webpack_require__(272);
+Object.defineProperty(exports, "CIAppPipelinesBucketResponse", ({ enumerable: true, get: function () { return CIAppPipelinesBucketResponse_1.CIAppPipelinesBucketResponse; } }));
+var CIAppPipelinesGroupBy_1 = __webpack_require__(40802);
+Object.defineProperty(exports, "CIAppPipelinesGroupBy", ({ enumerable: true, get: function () { return CIAppPipelinesGroupBy_1.CIAppPipelinesGroupBy; } }));
+var CIAppPipelinesQueryFilter_1 = __webpack_require__(35457);
+Object.defineProperty(exports, "CIAppPipelinesQueryFilter", ({ enumerable: true, get: function () { return CIAppPipelinesQueryFilter_1.CIAppPipelinesQueryFilter; } }));
+var CIAppQueryOptions_1 = __webpack_require__(15041);
+Object.defineProperty(exports, "CIAppQueryOptions", ({ enumerable: true, get: function () { return CIAppQueryOptions_1.CIAppQueryOptions; } }));
+var CIAppQueryPageOptions_1 = __webpack_require__(56458);
+Object.defineProperty(exports, "CIAppQueryPageOptions", ({ enumerable: true, get: function () { return CIAppQueryPageOptions_1.CIAppQueryPageOptions; } }));
+var CIAppResponseLinks_1 = __webpack_require__(38904);
+Object.defineProperty(exports, "CIAppResponseLinks", ({ enumerable: true, get: function () { return CIAppResponseLinks_1.CIAppResponseLinks; } }));
+var CIAppResponseMetadata_1 = __webpack_require__(28558);
+Object.defineProperty(exports, "CIAppResponseMetadata", ({ enumerable: true, get: function () { return CIAppResponseMetadata_1.CIAppResponseMetadata; } }));
+var CIAppResponseMetadataWithPagination_1 = __webpack_require__(7323);
+Object.defineProperty(exports, "CIAppResponseMetadataWithPagination", ({ enumerable: true, get: function () { return CIAppResponseMetadataWithPagination_1.CIAppResponseMetadataWithPagination; } }));
+var CIAppResponsePage_1 = __webpack_require__(93546);
+Object.defineProperty(exports, "CIAppResponsePage", ({ enumerable: true, get: function () { return CIAppResponsePage_1.CIAppResponsePage; } }));
+var CIAppTestEvent_1 = __webpack_require__(4657);
+Object.defineProperty(exports, "CIAppTestEvent", ({ enumerable: true, get: function () { return CIAppTestEvent_1.CIAppTestEvent; } }));
+var CIAppTestEventsRequest_1 = __webpack_require__(44728);
+Object.defineProperty(exports, "CIAppTestEventsRequest", ({ enumerable: true, get: function () { return CIAppTestEventsRequest_1.CIAppTestEventsRequest; } }));
+var CIAppTestEventsResponse_1 = __webpack_require__(98667);
+Object.defineProperty(exports, "CIAppTestEventsResponse", ({ enumerable: true, get: function () { return CIAppTestEventsResponse_1.CIAppTestEventsResponse; } }));
+var CIAppTestsAggregateRequest_1 = __webpack_require__(70915);
+Object.defineProperty(exports, "CIAppTestsAggregateRequest", ({ enumerable: true, get: function () { return CIAppTestsAggregateRequest_1.CIAppTestsAggregateRequest; } }));
+var CIAppTestsAggregationBucketsResponse_1 = __webpack_require__(9539);
+Object.defineProperty(exports, "CIAppTestsAggregationBucketsResponse", ({ enumerable: true, get: function () { return CIAppTestsAggregationBucketsResponse_1.CIAppTestsAggregationBucketsResponse; } }));
+var CIAppTestsAnalyticsAggregateResponse_1 = __webpack_require__(97182);
+Object.defineProperty(exports, "CIAppTestsAnalyticsAggregateResponse", ({ enumerable: true, get: function () { return CIAppTestsAnalyticsAggregateResponse_1.CIAppTestsAnalyticsAggregateResponse; } }));
+var CIAppTestsBucketResponse_1 = __webpack_require__(21345);
+Object.defineProperty(exports, "CIAppTestsBucketResponse", ({ enumerable: true, get: function () { return CIAppTestsBucketResponse_1.CIAppTestsBucketResponse; } }));
+var CIAppTestsGroupBy_1 = __webpack_require__(63751);
+Object.defineProperty(exports, "CIAppTestsGroupBy", ({ enumerable: true, get: function () { return CIAppTestsGroupBy_1.CIAppTestsGroupBy; } }));
+var CIAppTestsQueryFilter_1 = __webpack_require__(15703);
+Object.defineProperty(exports, "CIAppTestsQueryFilter", ({ enumerable: true, get: function () { return CIAppTestsQueryFilter_1.CIAppTestsQueryFilter; } }));
+var CIAppWarning_1 = __webpack_require__(66247);
+Object.defineProperty(exports, "CIAppWarning", ({ enumerable: true, get: function () { return CIAppWarning_1.CIAppWarning; } }));
+var CloudConfigurationComplianceRuleOptions_1 = __webpack_require__(92893);
+Object.defineProperty(exports, "CloudConfigurationComplianceRuleOptions", ({ enumerable: true, get: function () { return CloudConfigurationComplianceRuleOptions_1.CloudConfigurationComplianceRuleOptions; } }));
+var CloudConfigurationRegoRule_1 = __webpack_require__(56027);
+Object.defineProperty(exports, "CloudConfigurationRegoRule", ({ enumerable: true, get: function () { return CloudConfigurationRegoRule_1.CloudConfigurationRegoRule; } }));
+var CloudConfigurationRuleCaseCreate_1 = __webpack_require__(76759);
+Object.defineProperty(exports, "CloudConfigurationRuleCaseCreate", ({ enumerable: true, get: function () { return CloudConfigurationRuleCaseCreate_1.CloudConfigurationRuleCaseCreate; } }));
+var CloudConfigurationRuleComplianceSignalOptions_1 = __webpack_require__(69719);
+Object.defineProperty(exports, "CloudConfigurationRuleComplianceSignalOptions", ({ enumerable: true, get: function () { return CloudConfigurationRuleComplianceSignalOptions_1.CloudConfigurationRuleComplianceSignalOptions; } }));
+var CloudConfigurationRuleCreatePayload_1 = __webpack_require__(53788);
+Object.defineProperty(exports, "CloudConfigurationRuleCreatePayload", ({ enumerable: true, get: function () { return CloudConfigurationRuleCreatePayload_1.CloudConfigurationRuleCreatePayload; } }));
+var CloudConfigurationRuleOptions_1 = __webpack_require__(10675);
+Object.defineProperty(exports, "CloudConfigurationRuleOptions", ({ enumerable: true, get: function () { return CloudConfigurationRuleOptions_1.CloudConfigurationRuleOptions; } }));
+var CloudflareAccountCreateRequest_1 = __webpack_require__(47372);
+Object.defineProperty(exports, "CloudflareAccountCreateRequest", ({ enumerable: true, get: function () { return CloudflareAccountCreateRequest_1.CloudflareAccountCreateRequest; } }));
+var CloudflareAccountCreateRequestAttributes_1 = __webpack_require__(50120);
+Object.defineProperty(exports, "CloudflareAccountCreateRequestAttributes", ({ enumerable: true, get: function () { return CloudflareAccountCreateRequestAttributes_1.CloudflareAccountCreateRequestAttributes; } }));
+var CloudflareAccountCreateRequestData_1 = __webpack_require__(80445);
+Object.defineProperty(exports, "CloudflareAccountCreateRequestData", ({ enumerable: true, get: function () { return CloudflareAccountCreateRequestData_1.CloudflareAccountCreateRequestData; } }));
+var CloudflareAccountResponse_1 = __webpack_require__(30492);
+Object.defineProperty(exports, "CloudflareAccountResponse", ({ enumerable: true, get: function () { return CloudflareAccountResponse_1.CloudflareAccountResponse; } }));
+var CloudflareAccountResponseAttributes_1 = __webpack_require__(51338);
+Object.defineProperty(exports, "CloudflareAccountResponseAttributes", ({ enumerable: true, get: function () { return CloudflareAccountResponseAttributes_1.CloudflareAccountResponseAttributes; } }));
+var CloudflareAccountResponseData_1 = __webpack_require__(39153);
+Object.defineProperty(exports, "CloudflareAccountResponseData", ({ enumerable: true, get: function () { return CloudflareAccountResponseData_1.CloudflareAccountResponseData; } }));
+var CloudflareAccountsResponse_1 = __webpack_require__(75201);
+Object.defineProperty(exports, "CloudflareAccountsResponse", ({ enumerable: true, get: function () { return CloudflareAccountsResponse_1.CloudflareAccountsResponse; } }));
+var CloudflareAccountUpdateRequest_1 = __webpack_require__(35997);
+Object.defineProperty(exports, "CloudflareAccountUpdateRequest", ({ enumerable: true, get: function () { return CloudflareAccountUpdateRequest_1.CloudflareAccountUpdateRequest; } }));
+var CloudflareAccountUpdateRequestAttributes_1 = __webpack_require__(15260);
+Object.defineProperty(exports, "CloudflareAccountUpdateRequestAttributes", ({ enumerable: true, get: function () { return CloudflareAccountUpdateRequestAttributes_1.CloudflareAccountUpdateRequestAttributes; } }));
+var CloudflareAccountUpdateRequestData_1 = __webpack_require__(57325);
+Object.defineProperty(exports, "CloudflareAccountUpdateRequestData", ({ enumerable: true, get: function () { return CloudflareAccountUpdateRequestData_1.CloudflareAccountUpdateRequestData; } }));
+var CloudWorkloadSecurityAgentRuleAttributes_1 = __webpack_require__(10670);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleAttributes", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleAttributes_1.CloudWorkloadSecurityAgentRuleAttributes; } }));
+var CloudWorkloadSecurityAgentRuleCreateAttributes_1 = __webpack_require__(56409);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleCreateAttributes", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateAttributes_1.CloudWorkloadSecurityAgentRuleCreateAttributes; } }));
+var CloudWorkloadSecurityAgentRuleCreateData_1 = __webpack_require__(84544);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleCreateData", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateData_1.CloudWorkloadSecurityAgentRuleCreateData; } }));
+var CloudWorkloadSecurityAgentRuleCreateRequest_1 = __webpack_require__(74770);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleCreateRequest", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateRequest_1.CloudWorkloadSecurityAgentRuleCreateRequest; } }));
+var CloudWorkloadSecurityAgentRuleCreatorAttributes_1 = __webpack_require__(36687);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleCreatorAttributes", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreatorAttributes_1.CloudWorkloadSecurityAgentRuleCreatorAttributes; } }));
+var CloudWorkloadSecurityAgentRuleData_1 = __webpack_require__(15134);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleData", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleData_1.CloudWorkloadSecurityAgentRuleData; } }));
+var CloudWorkloadSecurityAgentRuleResponse_1 = __webpack_require__(21513);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleResponse", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleResponse_1.CloudWorkloadSecurityAgentRuleResponse; } }));
+var CloudWorkloadSecurityAgentRulesListResponse_1 = __webpack_require__(79890);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRulesListResponse", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRulesListResponse_1.CloudWorkloadSecurityAgentRulesListResponse; } }));
+var CloudWorkloadSecurityAgentRuleUpdateAttributes_1 = __webpack_require__(68095);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleUpdateAttributes", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateAttributes_1.CloudWorkloadSecurityAgentRuleUpdateAttributes; } }));
+var CloudWorkloadSecurityAgentRuleUpdateData_1 = __webpack_require__(57069);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleUpdateData", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateData_1.CloudWorkloadSecurityAgentRuleUpdateData; } }));
+var CloudWorkloadSecurityAgentRuleUpdaterAttributes_1 = __webpack_require__(38935);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleUpdaterAttributes", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdaterAttributes_1.CloudWorkloadSecurityAgentRuleUpdaterAttributes; } }));
+var CloudWorkloadSecurityAgentRuleUpdateRequest_1 = __webpack_require__(109);
+Object.defineProperty(exports, "CloudWorkloadSecurityAgentRuleUpdateRequest", ({ enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateRequest_1.CloudWorkloadSecurityAgentRuleUpdateRequest; } }));
+var ConfluentAccountCreateRequest_1 = __webpack_require__(37977);
+Object.defineProperty(exports, "ConfluentAccountCreateRequest", ({ enumerable: true, get: function () { return ConfluentAccountCreateRequest_1.ConfluentAccountCreateRequest; } }));
+var ConfluentAccountCreateRequestAttributes_1 = __webpack_require__(51346);
+Object.defineProperty(exports, "ConfluentAccountCreateRequestAttributes", ({ enumerable: true, get: function () { return ConfluentAccountCreateRequestAttributes_1.ConfluentAccountCreateRequestAttributes; } }));
+var ConfluentAccountCreateRequestData_1 = __webpack_require__(42838);
+Object.defineProperty(exports, "ConfluentAccountCreateRequestData", ({ enumerable: true, get: function () { return ConfluentAccountCreateRequestData_1.ConfluentAccountCreateRequestData; } }));
+var ConfluentAccountResourceAttributes_1 = __webpack_require__(11498);
+Object.defineProperty(exports, "ConfluentAccountResourceAttributes", ({ enumerable: true, get: function () { return ConfluentAccountResourceAttributes_1.ConfluentAccountResourceAttributes; } }));
+var ConfluentAccountResponse_1 = __webpack_require__(32597);
+Object.defineProperty(exports, "ConfluentAccountResponse", ({ enumerable: true, get: function () { return ConfluentAccountResponse_1.ConfluentAccountResponse; } }));
+var ConfluentAccountResponseAttributes_1 = __webpack_require__(48681);
+Object.defineProperty(exports, "ConfluentAccountResponseAttributes", ({ enumerable: true, get: function () { return ConfluentAccountResponseAttributes_1.ConfluentAccountResponseAttributes; } }));
+var ConfluentAccountResponseData_1 = __webpack_require__(1609);
+Object.defineProperty(exports, "ConfluentAccountResponseData", ({ enumerable: true, get: function () { return ConfluentAccountResponseData_1.ConfluentAccountResponseData; } }));
+var ConfluentAccountsResponse_1 = __webpack_require__(57414);
+Object.defineProperty(exports, "ConfluentAccountsResponse", ({ enumerable: true, get: function () { return ConfluentAccountsResponse_1.ConfluentAccountsResponse; } }));
+var ConfluentAccountUpdateRequest_1 = __webpack_require__(41538);
+Object.defineProperty(exports, "ConfluentAccountUpdateRequest", ({ enumerable: true, get: function () { return ConfluentAccountUpdateRequest_1.ConfluentAccountUpdateRequest; } }));
+var ConfluentAccountUpdateRequestAttributes_1 = __webpack_require__(31037);
+Object.defineProperty(exports, "ConfluentAccountUpdateRequestAttributes", ({ enumerable: true, get: function () { return ConfluentAccountUpdateRequestAttributes_1.ConfluentAccountUpdateRequestAttributes; } }));
+var ConfluentAccountUpdateRequestData_1 = __webpack_require__(34000);
+Object.defineProperty(exports, "ConfluentAccountUpdateRequestData", ({ enumerable: true, get: function () { return ConfluentAccountUpdateRequestData_1.ConfluentAccountUpdateRequestData; } }));
+var ConfluentResourceRequest_1 = __webpack_require__(45377);
+Object.defineProperty(exports, "ConfluentResourceRequest", ({ enumerable: true, get: function () { return ConfluentResourceRequest_1.ConfluentResourceRequest; } }));
+var ConfluentResourceRequestAttributes_1 = __webpack_require__(67609);
+Object.defineProperty(exports, "ConfluentResourceRequestAttributes", ({ enumerable: true, get: function () { return ConfluentResourceRequestAttributes_1.ConfluentResourceRequestAttributes; } }));
+var ConfluentResourceRequestData_1 = __webpack_require__(88859);
+Object.defineProperty(exports, "ConfluentResourceRequestData", ({ enumerable: true, get: function () { return ConfluentResourceRequestData_1.ConfluentResourceRequestData; } }));
+var ConfluentResourceResponse_1 = __webpack_require__(62073);
+Object.defineProperty(exports, "ConfluentResourceResponse", ({ enumerable: true, get: function () { return ConfluentResourceResponse_1.ConfluentResourceResponse; } }));
+var ConfluentResourceResponseAttributes_1 = __webpack_require__(83014);
+Object.defineProperty(exports, "ConfluentResourceResponseAttributes", ({ enumerable: true, get: function () { return ConfluentResourceResponseAttributes_1.ConfluentResourceResponseAttributes; } }));
+var ConfluentResourceResponseData_1 = __webpack_require__(36502);
+Object.defineProperty(exports, "ConfluentResourceResponseData", ({ enumerable: true, get: function () { return ConfluentResourceResponseData_1.ConfluentResourceResponseData; } }));
+var ConfluentResourcesResponse_1 = __webpack_require__(52184);
+Object.defineProperty(exports, "ConfluentResourcesResponse", ({ enumerable: true, get: function () { return ConfluentResourcesResponse_1.ConfluentResourcesResponse; } }));
+var CostByOrg_1 = __webpack_require__(95098);
+Object.defineProperty(exports, "CostByOrg", ({ enumerable: true, get: function () { return CostByOrg_1.CostByOrg; } }));
+var CostByOrgAttributes_1 = __webpack_require__(53784);
+Object.defineProperty(exports, "CostByOrgAttributes", ({ enumerable: true, get: function () { return CostByOrgAttributes_1.CostByOrgAttributes; } }));
+var CostByOrgResponse_1 = __webpack_require__(10179);
+Object.defineProperty(exports, "CostByOrgResponse", ({ enumerable: true, get: function () { return CostByOrgResponse_1.CostByOrgResponse; } }));
+var Creator_1 = __webpack_require__(50593);
+Object.defineProperty(exports, "Creator", ({ enumerable: true, get: function () { return Creator_1.Creator; } }));
+var DashboardListAddItemsRequest_1 = __webpack_require__(84295);
+Object.defineProperty(exports, "DashboardListAddItemsRequest", ({ enumerable: true, get: function () { return DashboardListAddItemsRequest_1.DashboardListAddItemsRequest; } }));
+var DashboardListAddItemsResponse_1 = __webpack_require__(21658);
+Object.defineProperty(exports, "DashboardListAddItemsResponse", ({ enumerable: true, get: function () { return DashboardListAddItemsResponse_1.DashboardListAddItemsResponse; } }));
+var DashboardListDeleteItemsRequest_1 = __webpack_require__(82847);
+Object.defineProperty(exports, "DashboardListDeleteItemsRequest", ({ enumerable: true, get: function () { return DashboardListDeleteItemsRequest_1.DashboardListDeleteItemsRequest; } }));
+var DashboardListDeleteItemsResponse_1 = __webpack_require__(17177);
+Object.defineProperty(exports, "DashboardListDeleteItemsResponse", ({ enumerable: true, get: function () { return DashboardListDeleteItemsResponse_1.DashboardListDeleteItemsResponse; } }));
+var DashboardListItem_1 = __webpack_require__(10361);
+Object.defineProperty(exports, "DashboardListItem", ({ enumerable: true, get: function () { return DashboardListItem_1.DashboardListItem; } }));
+var DashboardListItemRequest_1 = __webpack_require__(31713);
+Object.defineProperty(exports, "DashboardListItemRequest", ({ enumerable: true, get: function () { return DashboardListItemRequest_1.DashboardListItemRequest; } }));
+var DashboardListItemResponse_1 = __webpack_require__(80943);
+Object.defineProperty(exports, "DashboardListItemResponse", ({ enumerable: true, get: function () { return DashboardListItemResponse_1.DashboardListItemResponse; } }));
+var DashboardListItems_1 = __webpack_require__(49160);
+Object.defineProperty(exports, "DashboardListItems", ({ enumerable: true, get: function () { return DashboardListItems_1.DashboardListItems; } }));
+var DashboardListUpdateItemsRequest_1 = __webpack_require__(35029);
+Object.defineProperty(exports, "DashboardListUpdateItemsRequest", ({ enumerable: true, get: function () { return DashboardListUpdateItemsRequest_1.DashboardListUpdateItemsRequest; } }));
+var DashboardListUpdateItemsResponse_1 = __webpack_require__(40892);
+Object.defineProperty(exports, "DashboardListUpdateItemsResponse", ({ enumerable: true, get: function () { return DashboardListUpdateItemsResponse_1.DashboardListUpdateItemsResponse; } }));
+var DataScalarColumn_1 = __webpack_require__(76231);
+Object.defineProperty(exports, "DataScalarColumn", ({ enumerable: true, get: function () { return DataScalarColumn_1.DataScalarColumn; } }));
+var DetailedFinding_1 = __webpack_require__(52529);
+Object.defineProperty(exports, "DetailedFinding", ({ enumerable: true, get: function () { return DetailedFinding_1.DetailedFinding; } }));
+var DetailedFindingAttributes_1 = __webpack_require__(92287);
+Object.defineProperty(exports, "DetailedFindingAttributes", ({ enumerable: true, get: function () { return DetailedFindingAttributes_1.DetailedFindingAttributes; } }));
+var DowntimeCreateRequest_1 = __webpack_require__(27698);
+Object.defineProperty(exports, "DowntimeCreateRequest", ({ enumerable: true, get: function () { return DowntimeCreateRequest_1.DowntimeCreateRequest; } }));
+var DowntimeCreateRequestAttributes_1 = __webpack_require__(51623);
+Object.defineProperty(exports, "DowntimeCreateRequestAttributes", ({ enumerable: true, get: function () { return DowntimeCreateRequestAttributes_1.DowntimeCreateRequestAttributes; } }));
+var DowntimeCreateRequestData_1 = __webpack_require__(66203);
+Object.defineProperty(exports, "DowntimeCreateRequestData", ({ enumerable: true, get: function () { return DowntimeCreateRequestData_1.DowntimeCreateRequestData; } }));
+var DowntimeMeta_1 = __webpack_require__(45454);
+Object.defineProperty(exports, "DowntimeMeta", ({ enumerable: true, get: function () { return DowntimeMeta_1.DowntimeMeta; } }));
+var DowntimeMetaPage_1 = __webpack_require__(87179);
+Object.defineProperty(exports, "DowntimeMetaPage", ({ enumerable: true, get: function () { return DowntimeMetaPage_1.DowntimeMetaPage; } }));
+var DowntimeMonitorIdentifierId_1 = __webpack_require__(25438);
+Object.defineProperty(exports, "DowntimeMonitorIdentifierId", ({ enumerable: true, get: function () { return DowntimeMonitorIdentifierId_1.DowntimeMonitorIdentifierId; } }));
+var DowntimeMonitorIdentifierTags_1 = __webpack_require__(54533);
+Object.defineProperty(exports, "DowntimeMonitorIdentifierTags", ({ enumerable: true, get: function () { return DowntimeMonitorIdentifierTags_1.DowntimeMonitorIdentifierTags; } }));
+var DowntimeMonitorIncludedAttributes_1 = __webpack_require__(1451);
+Object.defineProperty(exports, "DowntimeMonitorIncludedAttributes", ({ enumerable: true, get: function () { return DowntimeMonitorIncludedAttributes_1.DowntimeMonitorIncludedAttributes; } }));
+var DowntimeMonitorIncludedItem_1 = __webpack_require__(89807);
+Object.defineProperty(exports, "DowntimeMonitorIncludedItem", ({ enumerable: true, get: function () { return DowntimeMonitorIncludedItem_1.DowntimeMonitorIncludedItem; } }));
+var DowntimeRelationships_1 = __webpack_require__(89858);
+Object.defineProperty(exports, "DowntimeRelationships", ({ enumerable: true, get: function () { return DowntimeRelationships_1.DowntimeRelationships; } }));
+var DowntimeRelationshipsCreatedBy_1 = __webpack_require__(1450);
+Object.defineProperty(exports, "DowntimeRelationshipsCreatedBy", ({ enumerable: true, get: function () { return DowntimeRelationshipsCreatedBy_1.DowntimeRelationshipsCreatedBy; } }));
+var DowntimeRelationshipsCreatedByData_1 = __webpack_require__(62037);
+Object.defineProperty(exports, "DowntimeRelationshipsCreatedByData", ({ enumerable: true, get: function () { return DowntimeRelationshipsCreatedByData_1.DowntimeRelationshipsCreatedByData; } }));
+var DowntimeRelationshipsMonitor_1 = __webpack_require__(75995);
+Object.defineProperty(exports, "DowntimeRelationshipsMonitor", ({ enumerable: true, get: function () { return DowntimeRelationshipsMonitor_1.DowntimeRelationshipsMonitor; } }));
+var DowntimeRelationshipsMonitorData_1 = __webpack_require__(78565);
+Object.defineProperty(exports, "DowntimeRelationshipsMonitorData", ({ enumerable: true, get: function () { return DowntimeRelationshipsMonitorData_1.DowntimeRelationshipsMonitorData; } }));
+var DowntimeResponse_1 = __webpack_require__(1385);
+Object.defineProperty(exports, "DowntimeResponse", ({ enumerable: true, get: function () { return DowntimeResponse_1.DowntimeResponse; } }));
+var DowntimeResponseAttributes_1 = __webpack_require__(47932);
+Object.defineProperty(exports, "DowntimeResponseAttributes", ({ enumerable: true, get: function () { return DowntimeResponseAttributes_1.DowntimeResponseAttributes; } }));
+var DowntimeResponseData_1 = __webpack_require__(58994);
+Object.defineProperty(exports, "DowntimeResponseData", ({ enumerable: true, get: function () { return DowntimeResponseData_1.DowntimeResponseData; } }));
+var DowntimeScheduleCurrentDowntimeResponse_1 = __webpack_require__(81192);
+Object.defineProperty(exports, "DowntimeScheduleCurrentDowntimeResponse", ({ enumerable: true, get: function () { return DowntimeScheduleCurrentDowntimeResponse_1.DowntimeScheduleCurrentDowntimeResponse; } }));
+var DowntimeScheduleOneTimeCreateUpdateRequest_1 = __webpack_require__(99458);
+Object.defineProperty(exports, "DowntimeScheduleOneTimeCreateUpdateRequest", ({ enumerable: true, get: function () { return DowntimeScheduleOneTimeCreateUpdateRequest_1.DowntimeScheduleOneTimeCreateUpdateRequest; } }));
+var DowntimeScheduleOneTimeResponse_1 = __webpack_require__(19100);
+Object.defineProperty(exports, "DowntimeScheduleOneTimeResponse", ({ enumerable: true, get: function () { return DowntimeScheduleOneTimeResponse_1.DowntimeScheduleOneTimeResponse; } }));
+var DowntimeScheduleRecurrenceCreateUpdateRequest_1 = __webpack_require__(79876);
+Object.defineProperty(exports, "DowntimeScheduleRecurrenceCreateUpdateRequest", ({ enumerable: true, get: function () { return DowntimeScheduleRecurrenceCreateUpdateRequest_1.DowntimeScheduleRecurrenceCreateUpdateRequest; } }));
+var DowntimeScheduleRecurrenceResponse_1 = __webpack_require__(47487);
+Object.defineProperty(exports, "DowntimeScheduleRecurrenceResponse", ({ enumerable: true, get: function () { return DowntimeScheduleRecurrenceResponse_1.DowntimeScheduleRecurrenceResponse; } }));
+var DowntimeScheduleRecurrencesCreateRequest_1 = __webpack_require__(77529);
+Object.defineProperty(exports, "DowntimeScheduleRecurrencesCreateRequest", ({ enumerable: true, get: function () { return DowntimeScheduleRecurrencesCreateRequest_1.DowntimeScheduleRecurrencesCreateRequest; } }));
+var DowntimeScheduleRecurrencesResponse_1 = __webpack_require__(46270);
+Object.defineProperty(exports, "DowntimeScheduleRecurrencesResponse", ({ enumerable: true, get: function () { return DowntimeScheduleRecurrencesResponse_1.DowntimeScheduleRecurrencesResponse; } }));
+var DowntimeScheduleRecurrencesUpdateRequest_1 = __webpack_require__(79665);
+Object.defineProperty(exports, "DowntimeScheduleRecurrencesUpdateRequest", ({ enumerable: true, get: function () { return DowntimeScheduleRecurrencesUpdateRequest_1.DowntimeScheduleRecurrencesUpdateRequest; } }));
+var DowntimeUpdateRequest_1 = __webpack_require__(4415);
+Object.defineProperty(exports, "DowntimeUpdateRequest", ({ enumerable: true, get: function () { return DowntimeUpdateRequest_1.DowntimeUpdateRequest; } }));
+var DowntimeUpdateRequestAttributes_1 = __webpack_require__(14953);
+Object.defineProperty(exports, "DowntimeUpdateRequestAttributes", ({ enumerable: true, get: function () { return DowntimeUpdateRequestAttributes_1.DowntimeUpdateRequestAttributes; } }));
+var DowntimeUpdateRequestData_1 = __webpack_require__(52026);
+Object.defineProperty(exports, "DowntimeUpdateRequestData", ({ enumerable: true, get: function () { return DowntimeUpdateRequestData_1.DowntimeUpdateRequestData; } }));
+var Event_1 = __webpack_require__(85329);
+Object.defineProperty(exports, "Event", ({ enumerable: true, get: function () { return Event_1.Event; } }));
+var EventAttributes_1 = __webpack_require__(59879);
+Object.defineProperty(exports, "EventAttributes", ({ enumerable: true, get: function () { return EventAttributes_1.EventAttributes; } }));
+var EventResponse_1 = __webpack_require__(45354);
+Object.defineProperty(exports, "EventResponse", ({ enumerable: true, get: function () { return EventResponse_1.EventResponse; } }));
+var EventResponseAttributes_1 = __webpack_require__(37263);
+Object.defineProperty(exports, "EventResponseAttributes", ({ enumerable: true, get: function () { return EventResponseAttributes_1.EventResponseAttributes; } }));
+var EventsCompute_1 = __webpack_require__(8423);
+Object.defineProperty(exports, "EventsCompute", ({ enumerable: true, get: function () { return EventsCompute_1.EventsCompute; } }));
+var EventsGroupBy_1 = __webpack_require__(94041);
+Object.defineProperty(exports, "EventsGroupBy", ({ enumerable: true, get: function () { return EventsGroupBy_1.EventsGroupBy; } }));
+var EventsGroupBySort_1 = __webpack_require__(46250);
+Object.defineProperty(exports, "EventsGroupBySort", ({ enumerable: true, get: function () { return EventsGroupBySort_1.EventsGroupBySort; } }));
+var EventsListRequest_1 = __webpack_require__(6746);
+Object.defineProperty(exports, "EventsListRequest", ({ enumerable: true, get: function () { return EventsListRequest_1.EventsListRequest; } }));
+var EventsListResponse_1 = __webpack_require__(68593);
+Object.defineProperty(exports, "EventsListResponse", ({ enumerable: true, get: function () { return EventsListResponse_1.EventsListResponse; } }));
+var EventsListResponseLinks_1 = __webpack_require__(99191);
+Object.defineProperty(exports, "EventsListResponseLinks", ({ enumerable: true, get: function () { return EventsListResponseLinks_1.EventsListResponseLinks; } }));
+var EventsQueryFilter_1 = __webpack_require__(15693);
+Object.defineProperty(exports, "EventsQueryFilter", ({ enumerable: true, get: function () { return EventsQueryFilter_1.EventsQueryFilter; } }));
+var EventsQueryOptions_1 = __webpack_require__(9698);
+Object.defineProperty(exports, "EventsQueryOptions", ({ enumerable: true, get: function () { return EventsQueryOptions_1.EventsQueryOptions; } }));
+var EventsRequestPage_1 = __webpack_require__(81222);
+Object.defineProperty(exports, "EventsRequestPage", ({ enumerable: true, get: function () { return EventsRequestPage_1.EventsRequestPage; } }));
+var EventsResponseMetadata_1 = __webpack_require__(26983);
+Object.defineProperty(exports, "EventsResponseMetadata", ({ enumerable: true, get: function () { return EventsResponseMetadata_1.EventsResponseMetadata; } }));
+var EventsResponseMetadataPage_1 = __webpack_require__(79298);
+Object.defineProperty(exports, "EventsResponseMetadataPage", ({ enumerable: true, get: function () { return EventsResponseMetadataPage_1.EventsResponseMetadataPage; } }));
+var EventsScalarQuery_1 = __webpack_require__(93544);
+Object.defineProperty(exports, "EventsScalarQuery", ({ enumerable: true, get: function () { return EventsScalarQuery_1.EventsScalarQuery; } }));
+var EventsSearch_1 = __webpack_require__(80259);
+Object.defineProperty(exports, "EventsSearch", ({ enumerable: true, get: function () { return EventsSearch_1.EventsSearch; } }));
+var EventsTimeseriesQuery_1 = __webpack_require__(71052);
+Object.defineProperty(exports, "EventsTimeseriesQuery", ({ enumerable: true, get: function () { return EventsTimeseriesQuery_1.EventsTimeseriesQuery; } }));
+var EventsWarning_1 = __webpack_require__(96650);
+Object.defineProperty(exports, "EventsWarning", ({ enumerable: true, get: function () { return EventsWarning_1.EventsWarning; } }));
+var FastlyAccounResponseAttributes_1 = __webpack_require__(12286);
+Object.defineProperty(exports, "FastlyAccounResponseAttributes", ({ enumerable: true, get: function () { return FastlyAccounResponseAttributes_1.FastlyAccounResponseAttributes; } }));
+var FastlyAccountCreateRequest_1 = __webpack_require__(91818);
+Object.defineProperty(exports, "FastlyAccountCreateRequest", ({ enumerable: true, get: function () { return FastlyAccountCreateRequest_1.FastlyAccountCreateRequest; } }));
+var FastlyAccountCreateRequestAttributes_1 = __webpack_require__(11182);
+Object.defineProperty(exports, "FastlyAccountCreateRequestAttributes", ({ enumerable: true, get: function () { return FastlyAccountCreateRequestAttributes_1.FastlyAccountCreateRequestAttributes; } }));
+var FastlyAccountCreateRequestData_1 = __webpack_require__(2677);
+Object.defineProperty(exports, "FastlyAccountCreateRequestData", ({ enumerable: true, get: function () { return FastlyAccountCreateRequestData_1.FastlyAccountCreateRequestData; } }));
+var FastlyAccountResponse_1 = __webpack_require__(48124);
+Object.defineProperty(exports, "FastlyAccountResponse", ({ enumerable: true, get: function () { return FastlyAccountResponse_1.FastlyAccountResponse; } }));
+var FastlyAccountResponseData_1 = __webpack_require__(9129);
+Object.defineProperty(exports, "FastlyAccountResponseData", ({ enumerable: true, get: function () { return FastlyAccountResponseData_1.FastlyAccountResponseData; } }));
+var FastlyAccountsResponse_1 = __webpack_require__(55175);
+Object.defineProperty(exports, "FastlyAccountsResponse", ({ enumerable: true, get: function () { return FastlyAccountsResponse_1.FastlyAccountsResponse; } }));
+var FastlyAccountUpdateRequest_1 = __webpack_require__(32249);
+Object.defineProperty(exports, "FastlyAccountUpdateRequest", ({ enumerable: true, get: function () { return FastlyAccountUpdateRequest_1.FastlyAccountUpdateRequest; } }));
+var FastlyAccountUpdateRequestAttributes_1 = __webpack_require__(46002);
+Object.defineProperty(exports, "FastlyAccountUpdateRequestAttributes", ({ enumerable: true, get: function () { return FastlyAccountUpdateRequestAttributes_1.FastlyAccountUpdateRequestAttributes; } }));
+var FastlyAccountUpdateRequestData_1 = __webpack_require__(84283);
+Object.defineProperty(exports, "FastlyAccountUpdateRequestData", ({ enumerable: true, get: function () { return FastlyAccountUpdateRequestData_1.FastlyAccountUpdateRequestData; } }));
+var FastlyService_1 = __webpack_require__(47291);
+Object.defineProperty(exports, "FastlyService", ({ enumerable: true, get: function () { return FastlyService_1.FastlyService; } }));
+var FastlyServiceAttributes_1 = __webpack_require__(96245);
+Object.defineProperty(exports, "FastlyServiceAttributes", ({ enumerable: true, get: function () { return FastlyServiceAttributes_1.FastlyServiceAttributes; } }));
+var FastlyServiceData_1 = __webpack_require__(6799);
+Object.defineProperty(exports, "FastlyServiceData", ({ enumerable: true, get: function () { return FastlyServiceData_1.FastlyServiceData; } }));
+var FastlyServiceRequest_1 = __webpack_require__(14432);
+Object.defineProperty(exports, "FastlyServiceRequest", ({ enumerable: true, get: function () { return FastlyServiceRequest_1.FastlyServiceRequest; } }));
+var FastlyServiceResponse_1 = __webpack_require__(53522);
+Object.defineProperty(exports, "FastlyServiceResponse", ({ enumerable: true, get: function () { return FastlyServiceResponse_1.FastlyServiceResponse; } }));
+var FastlyServicesResponse_1 = __webpack_require__(63984);
+Object.defineProperty(exports, "FastlyServicesResponse", ({ enumerable: true, get: function () { return FastlyServicesResponse_1.FastlyServicesResponse; } }));
+var Finding_1 = __webpack_require__(60265);
+Object.defineProperty(exports, "Finding", ({ enumerable: true, get: function () { return Finding_1.Finding; } }));
+var FindingAttributes_1 = __webpack_require__(70960);
+Object.defineProperty(exports, "FindingAttributes", ({ enumerable: true, get: function () { return FindingAttributes_1.FindingAttributes; } }));
+var FindingMute_1 = __webpack_require__(14498);
+Object.defineProperty(exports, "FindingMute", ({ enumerable: true, get: function () { return FindingMute_1.FindingMute; } }));
+var FindingRule_1 = __webpack_require__(5020);
+Object.defineProperty(exports, "FindingRule", ({ enumerable: true, get: function () { return FindingRule_1.FindingRule; } }));
+var FormulaLimit_1 = __webpack_require__(82360);
+Object.defineProperty(exports, "FormulaLimit", ({ enumerable: true, get: function () { return FormulaLimit_1.FormulaLimit; } }));
+var FullAPIKey_1 = __webpack_require__(64953);
+Object.defineProperty(exports, "FullAPIKey", ({ enumerable: true, get: function () { return FullAPIKey_1.FullAPIKey; } }));
+var FullAPIKeyAttributes_1 = __webpack_require__(64739);
+Object.defineProperty(exports, "FullAPIKeyAttributes", ({ enumerable: true, get: function () { return FullAPIKeyAttributes_1.FullAPIKeyAttributes; } }));
+var FullApplicationKey_1 = __webpack_require__(29620);
+Object.defineProperty(exports, "FullApplicationKey", ({ enumerable: true, get: function () { return FullApplicationKey_1.FullApplicationKey; } }));
+var FullApplicationKeyAttributes_1 = __webpack_require__(70763);
+Object.defineProperty(exports, "FullApplicationKeyAttributes", ({ enumerable: true, get: function () { return FullApplicationKeyAttributes_1.FullApplicationKeyAttributes; } }));
+var GCPServiceAccountMeta_1 = __webpack_require__(61487);
+Object.defineProperty(exports, "GCPServiceAccountMeta", ({ enumerable: true, get: function () { return GCPServiceAccountMeta_1.GCPServiceAccountMeta; } }));
+var GCPSTSDelegateAccount_1 = __webpack_require__(59526);
+Object.defineProperty(exports, "GCPSTSDelegateAccount", ({ enumerable: true, get: function () { return GCPSTSDelegateAccount_1.GCPSTSDelegateAccount; } }));
+var GCPSTSDelegateAccountAttributes_1 = __webpack_require__(59221);
+Object.defineProperty(exports, "GCPSTSDelegateAccountAttributes", ({ enumerable: true, get: function () { return GCPSTSDelegateAccountAttributes_1.GCPSTSDelegateAccountAttributes; } }));
+var GCPSTSDelegateAccountResponse_1 = __webpack_require__(69215);
+Object.defineProperty(exports, "GCPSTSDelegateAccountResponse", ({ enumerable: true, get: function () { return GCPSTSDelegateAccountResponse_1.GCPSTSDelegateAccountResponse; } }));
+var GCPSTSServiceAccount_1 = __webpack_require__(28441);
+Object.defineProperty(exports, "GCPSTSServiceAccount", ({ enumerable: true, get: function () { return GCPSTSServiceAccount_1.GCPSTSServiceAccount; } }));
+var GCPSTSServiceAccountAttributes_1 = __webpack_require__(77479);
+Object.defineProperty(exports, "GCPSTSServiceAccountAttributes", ({ enumerable: true, get: function () { return GCPSTSServiceAccountAttributes_1.GCPSTSServiceAccountAttributes; } }));
+var GCPSTSServiceAccountCreateRequest_1 = __webpack_require__(28275);
+Object.defineProperty(exports, "GCPSTSServiceAccountCreateRequest", ({ enumerable: true, get: function () { return GCPSTSServiceAccountCreateRequest_1.GCPSTSServiceAccountCreateRequest; } }));
+var GCPSTSServiceAccountData_1 = __webpack_require__(80004);
+Object.defineProperty(exports, "GCPSTSServiceAccountData", ({ enumerable: true, get: function () { return GCPSTSServiceAccountData_1.GCPSTSServiceAccountData; } }));
+var GCPSTSServiceAccountResponse_1 = __webpack_require__(47407);
+Object.defineProperty(exports, "GCPSTSServiceAccountResponse", ({ enumerable: true, get: function () { return GCPSTSServiceAccountResponse_1.GCPSTSServiceAccountResponse; } }));
+var GCPSTSServiceAccountsResponse_1 = __webpack_require__(45773);
+Object.defineProperty(exports, "GCPSTSServiceAccountsResponse", ({ enumerable: true, get: function () { return GCPSTSServiceAccountsResponse_1.GCPSTSServiceAccountsResponse; } }));
+var GCPSTSServiceAccountUpdateRequest_1 = __webpack_require__(1186);
+Object.defineProperty(exports, "GCPSTSServiceAccountUpdateRequest", ({ enumerable: true, get: function () { return GCPSTSServiceAccountUpdateRequest_1.GCPSTSServiceAccountUpdateRequest; } }));
+var GCPSTSServiceAccountUpdateRequestData_1 = __webpack_require__(20440);
+Object.defineProperty(exports, "GCPSTSServiceAccountUpdateRequestData", ({ enumerable: true, get: function () { return GCPSTSServiceAccountUpdateRequestData_1.GCPSTSServiceAccountUpdateRequestData; } }));
+var GetFindingResponse_1 = __webpack_require__(97482);
+Object.defineProperty(exports, "GetFindingResponse", ({ enumerable: true, get: function () { return GetFindingResponse_1.GetFindingResponse; } }));
+var GroupScalarColumn_1 = __webpack_require__(39553);
+Object.defineProperty(exports, "GroupScalarColumn", ({ enumerable: true, get: function () { return GroupScalarColumn_1.GroupScalarColumn; } }));
+var HourlyUsage_1 = __webpack_require__(44993);
+Object.defineProperty(exports, "HourlyUsage", ({ enumerable: true, get: function () { return HourlyUsage_1.HourlyUsage; } }));
+var HourlyUsageAttributes_1 = __webpack_require__(34589);
+Object.defineProperty(exports, "HourlyUsageAttributes", ({ enumerable: true, get: function () { return HourlyUsageAttributes_1.HourlyUsageAttributes; } }));
+var HourlyUsageMeasurement_1 = __webpack_require__(4073);
+Object.defineProperty(exports, "HourlyUsageMeasurement", ({ enumerable: true, get: function () { return HourlyUsageMeasurement_1.HourlyUsageMeasurement; } }));
+var HourlyUsageMetadata_1 = __webpack_require__(73896);
+Object.defineProperty(exports, "HourlyUsageMetadata", ({ enumerable: true, get: function () { return HourlyUsageMetadata_1.HourlyUsageMetadata; } }));
+var HourlyUsagePagination_1 = __webpack_require__(43220);
+Object.defineProperty(exports, "HourlyUsagePagination", ({ enumerable: true, get: function () { return HourlyUsagePagination_1.HourlyUsagePagination; } }));
+var HourlyUsageResponse_1 = __webpack_require__(91604);
+Object.defineProperty(exports, "HourlyUsageResponse", ({ enumerable: true, get: function () { return HourlyUsageResponse_1.HourlyUsageResponse; } }));
+var HTTPCIAppError_1 = __webpack_require__(81166);
+Object.defineProperty(exports, "HTTPCIAppError", ({ enumerable: true, get: function () { return HTTPCIAppError_1.HTTPCIAppError; } }));
+var HTTPCIAppErrors_1 = __webpack_require__(67414);
+Object.defineProperty(exports, "HTTPCIAppErrors", ({ enumerable: true, get: function () { return HTTPCIAppErrors_1.HTTPCIAppErrors; } }));
+var HTTPLogError_1 = __webpack_require__(35846);
+Object.defineProperty(exports, "HTTPLogError", ({ enumerable: true, get: function () { return HTTPLogError_1.HTTPLogError; } }));
+var HTTPLogErrors_1 = __webpack_require__(1563);
+Object.defineProperty(exports, "HTTPLogErrors", ({ enumerable: true, get: function () { return HTTPLogErrors_1.HTTPLogErrors; } }));
+var HTTPLogItem_1 = __webpack_require__(80158);
+Object.defineProperty(exports, "HTTPLogItem", ({ enumerable: true, get: function () { return HTTPLogItem_1.HTTPLogItem; } }));
+var IdPMetadataFormData_1 = __webpack_require__(4163);
+Object.defineProperty(exports, "IdPMetadataFormData", ({ enumerable: true, get: function () { return IdPMetadataFormData_1.IdPMetadataFormData; } }));
+var IncidentAttachmentData_1 = __webpack_require__(72703);
+Object.defineProperty(exports, "IncidentAttachmentData", ({ enumerable: true, get: function () { return IncidentAttachmentData_1.IncidentAttachmentData; } }));
+var IncidentAttachmentLinkAttributes_1 = __webpack_require__(85615);
+Object.defineProperty(exports, "IncidentAttachmentLinkAttributes", ({ enumerable: true, get: function () { return IncidentAttachmentLinkAttributes_1.IncidentAttachmentLinkAttributes; } }));
+var IncidentAttachmentLinkAttributesAttachmentObject_1 = __webpack_require__(2525);
+Object.defineProperty(exports, "IncidentAttachmentLinkAttributesAttachmentObject", ({ enumerable: true, get: function () { return IncidentAttachmentLinkAttributesAttachmentObject_1.IncidentAttachmentLinkAttributesAttachmentObject; } }));
+var IncidentAttachmentPostmortemAttributes_1 = __webpack_require__(89947);
+Object.defineProperty(exports, "IncidentAttachmentPostmortemAttributes", ({ enumerable: true, get: function () { return IncidentAttachmentPostmortemAttributes_1.IncidentAttachmentPostmortemAttributes; } }));
+var IncidentAttachmentRelationships_1 = __webpack_require__(99153);
+Object.defineProperty(exports, "IncidentAttachmentRelationships", ({ enumerable: true, get: function () { return IncidentAttachmentRelationships_1.IncidentAttachmentRelationships; } }));
+var IncidentAttachmentsPostmortemAttributesAttachmentObject_1 = __webpack_require__(44434);
+Object.defineProperty(exports, "IncidentAttachmentsPostmortemAttributesAttachmentObject", ({ enumerable: true, get: function () { return IncidentAttachmentsPostmortemAttributesAttachmentObject_1.IncidentAttachmentsPostmortemAttributesAttachmentObject; } }));
+var IncidentAttachmentsResponse_1 = __webpack_require__(8756);
+Object.defineProperty(exports, "IncidentAttachmentsResponse", ({ enumerable: true, get: function () { return IncidentAttachmentsResponse_1.IncidentAttachmentsResponse; } }));
+var IncidentAttachmentUpdateData_1 = __webpack_require__(83720);
+Object.defineProperty(exports, "IncidentAttachmentUpdateData", ({ enumerable: true, get: function () { return IncidentAttachmentUpdateData_1.IncidentAttachmentUpdateData; } }));
+var IncidentAttachmentUpdateRequest_1 = __webpack_require__(42170);
+Object.defineProperty(exports, "IncidentAttachmentUpdateRequest", ({ enumerable: true, get: function () { return IncidentAttachmentUpdateRequest_1.IncidentAttachmentUpdateRequest; } }));
+var IncidentAttachmentUpdateResponse_1 = __webpack_require__(21001);
+Object.defineProperty(exports, "IncidentAttachmentUpdateResponse", ({ enumerable: true, get: function () { return IncidentAttachmentUpdateResponse_1.IncidentAttachmentUpdateResponse; } }));
+var IncidentCreateAttributes_1 = __webpack_require__(66265);
+Object.defineProperty(exports, "IncidentCreateAttributes", ({ enumerable: true, get: function () { return IncidentCreateAttributes_1.IncidentCreateAttributes; } }));
+var IncidentCreateData_1 = __webpack_require__(85628);
+Object.defineProperty(exports, "IncidentCreateData", ({ enumerable: true, get: function () { return IncidentCreateData_1.IncidentCreateData; } }));
+var IncidentCreateRelationships_1 = __webpack_require__(16720);
+Object.defineProperty(exports, "IncidentCreateRelationships", ({ enumerable: true, get: function () { return IncidentCreateRelationships_1.IncidentCreateRelationships; } }));
+var IncidentCreateRequest_1 = __webpack_require__(62686);
+Object.defineProperty(exports, "IncidentCreateRequest", ({ enumerable: true, get: function () { return IncidentCreateRequest_1.IncidentCreateRequest; } }));
+var IncidentFieldAttributesMultipleValue_1 = __webpack_require__(93786);
+Object.defineProperty(exports, "IncidentFieldAttributesMultipleValue", ({ enumerable: true, get: function () { return IncidentFieldAttributesMultipleValue_1.IncidentFieldAttributesMultipleValue; } }));
+var IncidentFieldAttributesSingleValue_1 = __webpack_require__(53638);
+Object.defineProperty(exports, "IncidentFieldAttributesSingleValue", ({ enumerable: true, get: function () { return IncidentFieldAttributesSingleValue_1.IncidentFieldAttributesSingleValue; } }));
+var IncidentIntegrationMetadataAttributes_1 = __webpack_require__(97197);
+Object.defineProperty(exports, "IncidentIntegrationMetadataAttributes", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataAttributes_1.IncidentIntegrationMetadataAttributes; } }));
+var IncidentIntegrationMetadataCreateData_1 = __webpack_require__(47456);
+Object.defineProperty(exports, "IncidentIntegrationMetadataCreateData", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataCreateData_1.IncidentIntegrationMetadataCreateData; } }));
+var IncidentIntegrationMetadataCreateRequest_1 = __webpack_require__(13074);
+Object.defineProperty(exports, "IncidentIntegrationMetadataCreateRequest", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataCreateRequest_1.IncidentIntegrationMetadataCreateRequest; } }));
+var IncidentIntegrationMetadataListResponse_1 = __webpack_require__(59042);
+Object.defineProperty(exports, "IncidentIntegrationMetadataListResponse", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataListResponse_1.IncidentIntegrationMetadataListResponse; } }));
+var IncidentIntegrationMetadataPatchData_1 = __webpack_require__(33243);
+Object.defineProperty(exports, "IncidentIntegrationMetadataPatchData", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataPatchData_1.IncidentIntegrationMetadataPatchData; } }));
+var IncidentIntegrationMetadataPatchRequest_1 = __webpack_require__(57316);
+Object.defineProperty(exports, "IncidentIntegrationMetadataPatchRequest", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataPatchRequest_1.IncidentIntegrationMetadataPatchRequest; } }));
+var IncidentIntegrationMetadataResponse_1 = __webpack_require__(8115);
+Object.defineProperty(exports, "IncidentIntegrationMetadataResponse", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataResponse_1.IncidentIntegrationMetadataResponse; } }));
+var IncidentIntegrationMetadataResponseData_1 = __webpack_require__(81843);
+Object.defineProperty(exports, "IncidentIntegrationMetadataResponseData", ({ enumerable: true, get: function () { return IncidentIntegrationMetadataResponseData_1.IncidentIntegrationMetadataResponseData; } }));
+var IncidentNotificationHandle_1 = __webpack_require__(48009);
+Object.defineProperty(exports, "IncidentNotificationHandle", ({ enumerable: true, get: function () { return IncidentNotificationHandle_1.IncidentNotificationHandle; } }));
+var IncidentResponse_1 = __webpack_require__(64051);
+Object.defineProperty(exports, "IncidentResponse", ({ enumerable: true, get: function () { return IncidentResponse_1.IncidentResponse; } }));
+var IncidentResponseAttributes_1 = __webpack_require__(53022);
+Object.defineProperty(exports, "IncidentResponseAttributes", ({ enumerable: true, get: function () { return IncidentResponseAttributes_1.IncidentResponseAttributes; } }));
+var IncidentResponseData_1 = __webpack_require__(45469);
+Object.defineProperty(exports, "IncidentResponseData", ({ enumerable: true, get: function () { return IncidentResponseData_1.IncidentResponseData; } }));
+var IncidentResponseMeta_1 = __webpack_require__(97443);
+Object.defineProperty(exports, "IncidentResponseMeta", ({ enumerable: true, get: function () { return IncidentResponseMeta_1.IncidentResponseMeta; } }));
+var IncidentResponseMetaPagination_1 = __webpack_require__(17114);
+Object.defineProperty(exports, "IncidentResponseMetaPagination", ({ enumerable: true, get: function () { return IncidentResponseMetaPagination_1.IncidentResponseMetaPagination; } }));
+var IncidentResponseRelationships_1 = __webpack_require__(24771);
+Object.defineProperty(exports, "IncidentResponseRelationships", ({ enumerable: true, get: function () { return IncidentResponseRelationships_1.IncidentResponseRelationships; } }));
+var IncidentSearchResponse_1 = __webpack_require__(72231);
+Object.defineProperty(exports, "IncidentSearchResponse", ({ enumerable: true, get: function () { return IncidentSearchResponse_1.IncidentSearchResponse; } }));
+var IncidentSearchResponseAttributes_1 = __webpack_require__(29446);
+Object.defineProperty(exports, "IncidentSearchResponseAttributes", ({ enumerable: true, get: function () { return IncidentSearchResponseAttributes_1.IncidentSearchResponseAttributes; } }));
+var IncidentSearchResponseData_1 = __webpack_require__(26411);
+Object.defineProperty(exports, "IncidentSearchResponseData", ({ enumerable: true, get: function () { return IncidentSearchResponseData_1.IncidentSearchResponseData; } }));
+var IncidentSearchResponseFacetsData_1 = __webpack_require__(2973);
+Object.defineProperty(exports, "IncidentSearchResponseFacetsData", ({ enumerable: true, get: function () { return IncidentSearchResponseFacetsData_1.IncidentSearchResponseFacetsData; } }));
+var IncidentSearchResponseFieldFacetData_1 = __webpack_require__(21682);
+Object.defineProperty(exports, "IncidentSearchResponseFieldFacetData", ({ enumerable: true, get: function () { return IncidentSearchResponseFieldFacetData_1.IncidentSearchResponseFieldFacetData; } }));
+var IncidentSearchResponseIncidentsData_1 = __webpack_require__(61548);
+Object.defineProperty(exports, "IncidentSearchResponseIncidentsData", ({ enumerable: true, get: function () { return IncidentSearchResponseIncidentsData_1.IncidentSearchResponseIncidentsData; } }));
+var IncidentSearchResponseMeta_1 = __webpack_require__(16886);
+Object.defineProperty(exports, "IncidentSearchResponseMeta", ({ enumerable: true, get: function () { return IncidentSearchResponseMeta_1.IncidentSearchResponseMeta; } }));
+var IncidentSearchResponseNumericFacetData_1 = __webpack_require__(9475);
+Object.defineProperty(exports, "IncidentSearchResponseNumericFacetData", ({ enumerable: true, get: function () { return IncidentSearchResponseNumericFacetData_1.IncidentSearchResponseNumericFacetData; } }));
+var IncidentSearchResponseNumericFacetDataAggregates_1 = __webpack_require__(32185);
+Object.defineProperty(exports, "IncidentSearchResponseNumericFacetDataAggregates", ({ enumerable: true, get: function () { return IncidentSearchResponseNumericFacetDataAggregates_1.IncidentSearchResponseNumericFacetDataAggregates; } }));
+var IncidentSearchResponsePropertyFieldFacetData_1 = __webpack_require__(63060);
+Object.defineProperty(exports, "IncidentSearchResponsePropertyFieldFacetData", ({ enumerable: true, get: function () { return IncidentSearchResponsePropertyFieldFacetData_1.IncidentSearchResponsePropertyFieldFacetData; } }));
+var IncidentSearchResponseUserFacetData_1 = __webpack_require__(52706);
+Object.defineProperty(exports, "IncidentSearchResponseUserFacetData", ({ enumerable: true, get: function () { return IncidentSearchResponseUserFacetData_1.IncidentSearchResponseUserFacetData; } }));
+var IncidentServiceCreateAttributes_1 = __webpack_require__(6462);
+Object.defineProperty(exports, "IncidentServiceCreateAttributes", ({ enumerable: true, get: function () { return IncidentServiceCreateAttributes_1.IncidentServiceCreateAttributes; } }));
+var IncidentServiceCreateData_1 = __webpack_require__(66621);
+Object.defineProperty(exports, "IncidentServiceCreateData", ({ enumerable: true, get: function () { return IncidentServiceCreateData_1.IncidentServiceCreateData; } }));
+var IncidentServiceCreateRequest_1 = __webpack_require__(40355);
+Object.defineProperty(exports, "IncidentServiceCreateRequest", ({ enumerable: true, get: function () { return IncidentServiceCreateRequest_1.IncidentServiceCreateRequest; } }));
+var IncidentServiceRelationships_1 = __webpack_require__(87083);
+Object.defineProperty(exports, "IncidentServiceRelationships", ({ enumerable: true, get: function () { return IncidentServiceRelationships_1.IncidentServiceRelationships; } }));
+var IncidentServiceResponse_1 = __webpack_require__(95541);
+Object.defineProperty(exports, "IncidentServiceResponse", ({ enumerable: true, get: function () { return IncidentServiceResponse_1.IncidentServiceResponse; } }));
+var IncidentServiceResponseAttributes_1 = __webpack_require__(80298);
+Object.defineProperty(exports, "IncidentServiceResponseAttributes", ({ enumerable: true, get: function () { return IncidentServiceResponseAttributes_1.IncidentServiceResponseAttributes; } }));
+var IncidentServiceResponseData_1 = __webpack_require__(68471);
+Object.defineProperty(exports, "IncidentServiceResponseData", ({ enumerable: true, get: function () { return IncidentServiceResponseData_1.IncidentServiceResponseData; } }));
+var IncidentServicesResponse_1 = __webpack_require__(41099);
+Object.defineProperty(exports, "IncidentServicesResponse", ({ enumerable: true, get: function () { return IncidentServicesResponse_1.IncidentServicesResponse; } }));
+var IncidentServiceUpdateAttributes_1 = __webpack_require__(76403);
+Object.defineProperty(exports, "IncidentServiceUpdateAttributes", ({ enumerable: true, get: function () { return IncidentServiceUpdateAttributes_1.IncidentServiceUpdateAttributes; } }));
+var IncidentServiceUpdateData_1 = __webpack_require__(86480);
+Object.defineProperty(exports, "IncidentServiceUpdateData", ({ enumerable: true, get: function () { return IncidentServiceUpdateData_1.IncidentServiceUpdateData; } }));
+var IncidentServiceUpdateRequest_1 = __webpack_require__(82634);
+Object.defineProperty(exports, "IncidentServiceUpdateRequest", ({ enumerable: true, get: function () { return IncidentServiceUpdateRequest_1.IncidentServiceUpdateRequest; } }));
+var IncidentsResponse_1 = __webpack_require__(73601);
+Object.defineProperty(exports, "IncidentsResponse", ({ enumerable: true, get: function () { return IncidentsResponse_1.IncidentsResponse; } }));
+var IncidentTeamCreateAttributes_1 = __webpack_require__(88320);
+Object.defineProperty(exports, "IncidentTeamCreateAttributes", ({ enumerable: true, get: function () { return IncidentTeamCreateAttributes_1.IncidentTeamCreateAttributes; } }));
+var IncidentTeamCreateData_1 = __webpack_require__(90453);
+Object.defineProperty(exports, "IncidentTeamCreateData", ({ enumerable: true, get: function () { return IncidentTeamCreateData_1.IncidentTeamCreateData; } }));
+var IncidentTeamCreateRequest_1 = __webpack_require__(35992);
+Object.defineProperty(exports, "IncidentTeamCreateRequest", ({ enumerable: true, get: function () { return IncidentTeamCreateRequest_1.IncidentTeamCreateRequest; } }));
+var IncidentTeamRelationships_1 = __webpack_require__(11031);
+Object.defineProperty(exports, "IncidentTeamRelationships", ({ enumerable: true, get: function () { return IncidentTeamRelationships_1.IncidentTeamRelationships; } }));
+var IncidentTeamResponse_1 = __webpack_require__(512);
+Object.defineProperty(exports, "IncidentTeamResponse", ({ enumerable: true, get: function () { return IncidentTeamResponse_1.IncidentTeamResponse; } }));
+var IncidentTeamResponseAttributes_1 = __webpack_require__(59050);
+Object.defineProperty(exports, "IncidentTeamResponseAttributes", ({ enumerable: true, get: function () { return IncidentTeamResponseAttributes_1.IncidentTeamResponseAttributes; } }));
+var IncidentTeamResponseData_1 = __webpack_require__(58397);
+Object.defineProperty(exports, "IncidentTeamResponseData", ({ enumerable: true, get: function () { return IncidentTeamResponseData_1.IncidentTeamResponseData; } }));
+var IncidentTeamsResponse_1 = __webpack_require__(57338);
+Object.defineProperty(exports, "IncidentTeamsResponse", ({ enumerable: true, get: function () { return IncidentTeamsResponse_1.IncidentTeamsResponse; } }));
+var IncidentTeamUpdateAttributes_1 = __webpack_require__(98537);
+Object.defineProperty(exports, "IncidentTeamUpdateAttributes", ({ enumerable: true, get: function () { return IncidentTeamUpdateAttributes_1.IncidentTeamUpdateAttributes; } }));
+var IncidentTeamUpdateData_1 = __webpack_require__(9831);
+Object.defineProperty(exports, "IncidentTeamUpdateData", ({ enumerable: true, get: function () { return IncidentTeamUpdateData_1.IncidentTeamUpdateData; } }));
+var IncidentTeamUpdateRequest_1 = __webpack_require__(31335);
+Object.defineProperty(exports, "IncidentTeamUpdateRequest", ({ enumerable: true, get: function () { return IncidentTeamUpdateRequest_1.IncidentTeamUpdateRequest; } }));
+var IncidentTimelineCellMarkdownCreateAttributes_1 = __webpack_require__(48455);
+Object.defineProperty(exports, "IncidentTimelineCellMarkdownCreateAttributes", ({ enumerable: true, get: function () { return IncidentTimelineCellMarkdownCreateAttributes_1.IncidentTimelineCellMarkdownCreateAttributes; } }));
+var IncidentTimelineCellMarkdownCreateAttributesContent_1 = __webpack_require__(48181);
+Object.defineProperty(exports, "IncidentTimelineCellMarkdownCreateAttributesContent", ({ enumerable: true, get: function () { return IncidentTimelineCellMarkdownCreateAttributesContent_1.IncidentTimelineCellMarkdownCreateAttributesContent; } }));
+var IncidentTodoAnonymousAssignee_1 = __webpack_require__(86789);
+Object.defineProperty(exports, "IncidentTodoAnonymousAssignee", ({ enumerable: true, get: function () { return IncidentTodoAnonymousAssignee_1.IncidentTodoAnonymousAssignee; } }));
+var IncidentTodoAttributes_1 = __webpack_require__(5973);
+Object.defineProperty(exports, "IncidentTodoAttributes", ({ enumerable: true, get: function () { return IncidentTodoAttributes_1.IncidentTodoAttributes; } }));
+var IncidentTodoCreateData_1 = __webpack_require__(55011);
+Object.defineProperty(exports, "IncidentTodoCreateData", ({ enumerable: true, get: function () { return IncidentTodoCreateData_1.IncidentTodoCreateData; } }));
+var IncidentTodoCreateRequest_1 = __webpack_require__(71609);
+Object.defineProperty(exports, "IncidentTodoCreateRequest", ({ enumerable: true, get: function () { return IncidentTodoCreateRequest_1.IncidentTodoCreateRequest; } }));
+var IncidentTodoListResponse_1 = __webpack_require__(21582);
+Object.defineProperty(exports, "IncidentTodoListResponse", ({ enumerable: true, get: function () { return IncidentTodoListResponse_1.IncidentTodoListResponse; } }));
+var IncidentTodoPatchData_1 = __webpack_require__(29754);
+Object.defineProperty(exports, "IncidentTodoPatchData", ({ enumerable: true, get: function () { return IncidentTodoPatchData_1.IncidentTodoPatchData; } }));
+var IncidentTodoPatchRequest_1 = __webpack_require__(67365);
+Object.defineProperty(exports, "IncidentTodoPatchRequest", ({ enumerable: true, get: function () { return IncidentTodoPatchRequest_1.IncidentTodoPatchRequest; } }));
+var IncidentTodoResponse_1 = __webpack_require__(88374);
+Object.defineProperty(exports, "IncidentTodoResponse", ({ enumerable: true, get: function () { return IncidentTodoResponse_1.IncidentTodoResponse; } }));
+var IncidentTodoResponseData_1 = __webpack_require__(47835);
+Object.defineProperty(exports, "IncidentTodoResponseData", ({ enumerable: true, get: function () { return IncidentTodoResponseData_1.IncidentTodoResponseData; } }));
+var IncidentUpdateAttributes_1 = __webpack_require__(18527);
+Object.defineProperty(exports, "IncidentUpdateAttributes", ({ enumerable: true, get: function () { return IncidentUpdateAttributes_1.IncidentUpdateAttributes; } }));
+var IncidentUpdateData_1 = __webpack_require__(18395);
+Object.defineProperty(exports, "IncidentUpdateData", ({ enumerable: true, get: function () { return IncidentUpdateData_1.IncidentUpdateData; } }));
+var IncidentUpdateRelationships_1 = __webpack_require__(96208);
+Object.defineProperty(exports, "IncidentUpdateRelationships", ({ enumerable: true, get: function () { return IncidentUpdateRelationships_1.IncidentUpdateRelationships; } }));
+var IncidentUpdateRequest_1 = __webpack_require__(83383);
+Object.defineProperty(exports, "IncidentUpdateRequest", ({ enumerable: true, get: function () { return IncidentUpdateRequest_1.IncidentUpdateRequest; } }));
+var IntakePayloadAccepted_1 = __webpack_require__(34539);
+Object.defineProperty(exports, "IntakePayloadAccepted", ({ enumerable: true, get: function () { return IntakePayloadAccepted_1.IntakePayloadAccepted; } }));
+var IPAllowlistAttributes_1 = __webpack_require__(96993);
+Object.defineProperty(exports, "IPAllowlistAttributes", ({ enumerable: true, get: function () { return IPAllowlistAttributes_1.IPAllowlistAttributes; } }));
+var IPAllowlistData_1 = __webpack_require__(61559);
+Object.defineProperty(exports, "IPAllowlistData", ({ enumerable: true, get: function () { return IPAllowlistData_1.IPAllowlistData; } }));
+var IPAllowlistEntry_1 = __webpack_require__(43922);
+Object.defineProperty(exports, "IPAllowlistEntry", ({ enumerable: true, get: function () { return IPAllowlistEntry_1.IPAllowlistEntry; } }));
+var IPAllowlistEntryAttributes_1 = __webpack_require__(88201);
+Object.defineProperty(exports, "IPAllowlistEntryAttributes", ({ enumerable: true, get: function () { return IPAllowlistEntryAttributes_1.IPAllowlistEntryAttributes; } }));
+var IPAllowlistEntryData_1 = __webpack_require__(2295);
+Object.defineProperty(exports, "IPAllowlistEntryData", ({ enumerable: true, get: function () { return IPAllowlistEntryData_1.IPAllowlistEntryData; } }));
+var IPAllowlistResponse_1 = __webpack_require__(5428);
+Object.defineProperty(exports, "IPAllowlistResponse", ({ enumerable: true, get: function () { return IPAllowlistResponse_1.IPAllowlistResponse; } }));
+var IPAllowlistUpdateRequest_1 = __webpack_require__(71165);
+Object.defineProperty(exports, "IPAllowlistUpdateRequest", ({ enumerable: true, get: function () { return IPAllowlistUpdateRequest_1.IPAllowlistUpdateRequest; } }));
+var JiraIntegrationMetadata_1 = __webpack_require__(53579);
+Object.defineProperty(exports, "JiraIntegrationMetadata", ({ enumerable: true, get: function () { return JiraIntegrationMetadata_1.JiraIntegrationMetadata; } }));
+var JiraIntegrationMetadataIssuesItem_1 = __webpack_require__(50608);
+Object.defineProperty(exports, "JiraIntegrationMetadataIssuesItem", ({ enumerable: true, get: function () { return JiraIntegrationMetadataIssuesItem_1.JiraIntegrationMetadataIssuesItem; } }));
+var JSONAPIErrorItem_1 = __webpack_require__(12078);
+Object.defineProperty(exports, "JSONAPIErrorItem", ({ enumerable: true, get: function () { return JSONAPIErrorItem_1.JSONAPIErrorItem; } }));
+var JSONAPIErrorResponse_1 = __webpack_require__(66657);
+Object.defineProperty(exports, "JSONAPIErrorResponse", ({ enumerable: true, get: function () { return JSONAPIErrorResponse_1.JSONAPIErrorResponse; } }));
+var ListApplicationKeysResponse_1 = __webpack_require__(552);
+Object.defineProperty(exports, "ListApplicationKeysResponse", ({ enumerable: true, get: function () { return ListApplicationKeysResponse_1.ListApplicationKeysResponse; } }));
+var ListDowntimesResponse_1 = __webpack_require__(95574);
+Object.defineProperty(exports, "ListDowntimesResponse", ({ enumerable: true, get: function () { return ListDowntimesResponse_1.ListDowntimesResponse; } }));
+var ListFindingsMeta_1 = __webpack_require__(78425);
+Object.defineProperty(exports, "ListFindingsMeta", ({ enumerable: true, get: function () { return ListFindingsMeta_1.ListFindingsMeta; } }));
+var ListFindingsPage_1 = __webpack_require__(64745);
+Object.defineProperty(exports, "ListFindingsPage", ({ enumerable: true, get: function () { return ListFindingsPage_1.ListFindingsPage; } }));
+var ListFindingsResponse_1 = __webpack_require__(80065);
+Object.defineProperty(exports, "ListFindingsResponse", ({ enumerable: true, get: function () { return ListFindingsResponse_1.ListFindingsResponse; } }));
+var Log_1 = __webpack_require__(46393);
+Object.defineProperty(exports, "Log", ({ enumerable: true, get: function () { return Log_1.Log; } }));
+var LogAttributes_1 = __webpack_require__(7552);
+Object.defineProperty(exports, "LogAttributes", ({ enumerable: true, get: function () { return LogAttributes_1.LogAttributes; } }));
+var LogsAggregateBucket_1 = __webpack_require__(86308);
+Object.defineProperty(exports, "LogsAggregateBucket", ({ enumerable: true, get: function () { return LogsAggregateBucket_1.LogsAggregateBucket; } }));
+var LogsAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(13425);
+Object.defineProperty(exports, "LogsAggregateBucketValueTimeseriesPoint", ({ enumerable: true, get: function () { return LogsAggregateBucketValueTimeseriesPoint_1.LogsAggregateBucketValueTimeseriesPoint; } }));
+var LogsAggregateRequest_1 = __webpack_require__(47001);
+Object.defineProperty(exports, "LogsAggregateRequest", ({ enumerable: true, get: function () { return LogsAggregateRequest_1.LogsAggregateRequest; } }));
+var LogsAggregateRequestPage_1 = __webpack_require__(87757);
+Object.defineProperty(exports, "LogsAggregateRequestPage", ({ enumerable: true, get: function () { return LogsAggregateRequestPage_1.LogsAggregateRequestPage; } }));
+var LogsAggregateResponse_1 = __webpack_require__(98666);
+Object.defineProperty(exports, "LogsAggregateResponse", ({ enumerable: true, get: function () { return LogsAggregateResponse_1.LogsAggregateResponse; } }));
+var LogsAggregateResponseData_1 = __webpack_require__(67227);
+Object.defineProperty(exports, "LogsAggregateResponseData", ({ enumerable: true, get: function () { return LogsAggregateResponseData_1.LogsAggregateResponseData; } }));
+var LogsAggregateSort_1 = __webpack_require__(37532);
+Object.defineProperty(exports, "LogsAggregateSort", ({ enumerable: true, get: function () { return LogsAggregateSort_1.LogsAggregateSort; } }));
+var LogsArchive_1 = __webpack_require__(46014);
+Object.defineProperty(exports, "LogsArchive", ({ enumerable: true, get: function () { return LogsArchive_1.LogsArchive; } }));
+var LogsArchiveAttributes_1 = __webpack_require__(20872);
+Object.defineProperty(exports, "LogsArchiveAttributes", ({ enumerable: true, get: function () { return LogsArchiveAttributes_1.LogsArchiveAttributes; } }));
+var LogsArchiveCreateRequest_1 = __webpack_require__(77695);
+Object.defineProperty(exports, "LogsArchiveCreateRequest", ({ enumerable: true, get: function () { return LogsArchiveCreateRequest_1.LogsArchiveCreateRequest; } }));
+var LogsArchiveCreateRequestAttributes_1 = __webpack_require__(82598);
+Object.defineProperty(exports, "LogsArchiveCreateRequestAttributes", ({ enumerable: true, get: function () { return LogsArchiveCreateRequestAttributes_1.LogsArchiveCreateRequestAttributes; } }));
+var LogsArchiveCreateRequestDefinition_1 = __webpack_require__(69415);
+Object.defineProperty(exports, "LogsArchiveCreateRequestDefinition", ({ enumerable: true, get: function () { return LogsArchiveCreateRequestDefinition_1.LogsArchiveCreateRequestDefinition; } }));
+var LogsArchiveDefinition_1 = __webpack_require__(54195);
+Object.defineProperty(exports, "LogsArchiveDefinition", ({ enumerable: true, get: function () { return LogsArchiveDefinition_1.LogsArchiveDefinition; } }));
+var LogsArchiveDestinationAzure_1 = __webpack_require__(97475);
+Object.defineProperty(exports, "LogsArchiveDestinationAzure", ({ enumerable: true, get: function () { return LogsArchiveDestinationAzure_1.LogsArchiveDestinationAzure; } }));
+var LogsArchiveDestinationGCS_1 = __webpack_require__(41580);
+Object.defineProperty(exports, "LogsArchiveDestinationGCS", ({ enumerable: true, get: function () { return LogsArchiveDestinationGCS_1.LogsArchiveDestinationGCS; } }));
+var LogsArchiveDestinationS3_1 = __webpack_require__(16026);
+Object.defineProperty(exports, "LogsArchiveDestinationS3", ({ enumerable: true, get: function () { return LogsArchiveDestinationS3_1.LogsArchiveDestinationS3; } }));
+var LogsArchiveIntegrationAzure_1 = __webpack_require__(38038);
+Object.defineProperty(exports, "LogsArchiveIntegrationAzure", ({ enumerable: true, get: function () { return LogsArchiveIntegrationAzure_1.LogsArchiveIntegrationAzure; } }));
+var LogsArchiveIntegrationGCS_1 = __webpack_require__(5758);
+Object.defineProperty(exports, "LogsArchiveIntegrationGCS", ({ enumerable: true, get: function () { return LogsArchiveIntegrationGCS_1.LogsArchiveIntegrationGCS; } }));
+var LogsArchiveIntegrationS3_1 = __webpack_require__(29944);
+Object.defineProperty(exports, "LogsArchiveIntegrationS3", ({ enumerable: true, get: function () { return LogsArchiveIntegrationS3_1.LogsArchiveIntegrationS3; } }));
+var LogsArchiveOrder_1 = __webpack_require__(85822);
+Object.defineProperty(exports, "LogsArchiveOrder", ({ enumerable: true, get: function () { return LogsArchiveOrder_1.LogsArchiveOrder; } }));
+var LogsArchiveOrderAttributes_1 = __webpack_require__(4867);
+Object.defineProperty(exports, "LogsArchiveOrderAttributes", ({ enumerable: true, get: function () { return LogsArchiveOrderAttributes_1.LogsArchiveOrderAttributes; } }));
+var LogsArchiveOrderDefinition_1 = __webpack_require__(3766);
+Object.defineProperty(exports, "LogsArchiveOrderDefinition", ({ enumerable: true, get: function () { return LogsArchiveOrderDefinition_1.LogsArchiveOrderDefinition; } }));
+var LogsArchives_1 = __webpack_require__(22175);
+Object.defineProperty(exports, "LogsArchives", ({ enumerable: true, get: function () { return LogsArchives_1.LogsArchives; } }));
+var LogsCompute_1 = __webpack_require__(11424);
+Object.defineProperty(exports, "LogsCompute", ({ enumerable: true, get: function () { return LogsCompute_1.LogsCompute; } }));
+var LogsGroupBy_1 = __webpack_require__(39205);
+Object.defineProperty(exports, "LogsGroupBy", ({ enumerable: true, get: function () { return LogsGroupBy_1.LogsGroupBy; } }));
+var LogsGroupByHistogram_1 = __webpack_require__(12097);
+Object.defineProperty(exports, "LogsGroupByHistogram", ({ enumerable: true, get: function () { return LogsGroupByHistogram_1.LogsGroupByHistogram; } }));
+var LogsListRequest_1 = __webpack_require__(28381);
+Object.defineProperty(exports, "LogsListRequest", ({ enumerable: true, get: function () { return LogsListRequest_1.LogsListRequest; } }));
+var LogsListRequestPage_1 = __webpack_require__(49699);
+Object.defineProperty(exports, "LogsListRequestPage", ({ enumerable: true, get: function () { return LogsListRequestPage_1.LogsListRequestPage; } }));
+var LogsListResponse_1 = __webpack_require__(9491);
+Object.defineProperty(exports, "LogsListResponse", ({ enumerable: true, get: function () { return LogsListResponse_1.LogsListResponse; } }));
+var LogsListResponseLinks_1 = __webpack_require__(48922);
+Object.defineProperty(exports, "LogsListResponseLinks", ({ enumerable: true, get: function () { return LogsListResponseLinks_1.LogsListResponseLinks; } }));
+var LogsMetricCompute_1 = __webpack_require__(98941);
+Object.defineProperty(exports, "LogsMetricCompute", ({ enumerable: true, get: function () { return LogsMetricCompute_1.LogsMetricCompute; } }));
+var LogsMetricCreateAttributes_1 = __webpack_require__(99884);
+Object.defineProperty(exports, "LogsMetricCreateAttributes", ({ enumerable: true, get: function () { return LogsMetricCreateAttributes_1.LogsMetricCreateAttributes; } }));
+var LogsMetricCreateData_1 = __webpack_require__(37857);
+Object.defineProperty(exports, "LogsMetricCreateData", ({ enumerable: true, get: function () { return LogsMetricCreateData_1.LogsMetricCreateData; } }));
+var LogsMetricCreateRequest_1 = __webpack_require__(73901);
+Object.defineProperty(exports, "LogsMetricCreateRequest", ({ enumerable: true, get: function () { return LogsMetricCreateRequest_1.LogsMetricCreateRequest; } }));
+var LogsMetricFilter_1 = __webpack_require__(78108);
+Object.defineProperty(exports, "LogsMetricFilter", ({ enumerable: true, get: function () { return LogsMetricFilter_1.LogsMetricFilter; } }));
+var LogsMetricGroupBy_1 = __webpack_require__(13332);
+Object.defineProperty(exports, "LogsMetricGroupBy", ({ enumerable: true, get: function () { return LogsMetricGroupBy_1.LogsMetricGroupBy; } }));
+var LogsMetricResponse_1 = __webpack_require__(76466);
+Object.defineProperty(exports, "LogsMetricResponse", ({ enumerable: true, get: function () { return LogsMetricResponse_1.LogsMetricResponse; } }));
+var LogsMetricResponseAttributes_1 = __webpack_require__(81885);
+Object.defineProperty(exports, "LogsMetricResponseAttributes", ({ enumerable: true, get: function () { return LogsMetricResponseAttributes_1.LogsMetricResponseAttributes; } }));
+var LogsMetricResponseCompute_1 = __webpack_require__(1295);
+Object.defineProperty(exports, "LogsMetricResponseCompute", ({ enumerable: true, get: function () { return LogsMetricResponseCompute_1.LogsMetricResponseCompute; } }));
+var LogsMetricResponseData_1 = __webpack_require__(3701);
+Object.defineProperty(exports, "LogsMetricResponseData", ({ enumerable: true, get: function () { return LogsMetricResponseData_1.LogsMetricResponseData; } }));
+var LogsMetricResponseFilter_1 = __webpack_require__(2992);
+Object.defineProperty(exports, "LogsMetricResponseFilter", ({ enumerable: true, get: function () { return LogsMetricResponseFilter_1.LogsMetricResponseFilter; } }));
+var LogsMetricResponseGroupBy_1 = __webpack_require__(16329);
+Object.defineProperty(exports, "LogsMetricResponseGroupBy", ({ enumerable: true, get: function () { return LogsMetricResponseGroupBy_1.LogsMetricResponseGroupBy; } }));
+var LogsMetricsResponse_1 = __webpack_require__(8329);
+Object.defineProperty(exports, "LogsMetricsResponse", ({ enumerable: true, get: function () { return LogsMetricsResponse_1.LogsMetricsResponse; } }));
+var LogsMetricUpdateAttributes_1 = __webpack_require__(83446);
+Object.defineProperty(exports, "LogsMetricUpdateAttributes", ({ enumerable: true, get: function () { return LogsMetricUpdateAttributes_1.LogsMetricUpdateAttributes; } }));
+var LogsMetricUpdateCompute_1 = __webpack_require__(26471);
+Object.defineProperty(exports, "LogsMetricUpdateCompute", ({ enumerable: true, get: function () { return LogsMetricUpdateCompute_1.LogsMetricUpdateCompute; } }));
+var LogsMetricUpdateData_1 = __webpack_require__(75384);
+Object.defineProperty(exports, "LogsMetricUpdateData", ({ enumerable: true, get: function () { return LogsMetricUpdateData_1.LogsMetricUpdateData; } }));
+var LogsMetricUpdateRequest_1 = __webpack_require__(95942);
+Object.defineProperty(exports, "LogsMetricUpdateRequest", ({ enumerable: true, get: function () { return LogsMetricUpdateRequest_1.LogsMetricUpdateRequest; } }));
+var LogsQueryFilter_1 = __webpack_require__(96436);
+Object.defineProperty(exports, "LogsQueryFilter", ({ enumerable: true, get: function () { return LogsQueryFilter_1.LogsQueryFilter; } }));
+var LogsQueryOptions_1 = __webpack_require__(23413);
+Object.defineProperty(exports, "LogsQueryOptions", ({ enumerable: true, get: function () { return LogsQueryOptions_1.LogsQueryOptions; } }));
+var LogsResponseMetadata_1 = __webpack_require__(18298);
+Object.defineProperty(exports, "LogsResponseMetadata", ({ enumerable: true, get: function () { return LogsResponseMetadata_1.LogsResponseMetadata; } }));
+var LogsResponseMetadataPage_1 = __webpack_require__(51020);
+Object.defineProperty(exports, "LogsResponseMetadataPage", ({ enumerable: true, get: function () { return LogsResponseMetadataPage_1.LogsResponseMetadataPage; } }));
+var LogsWarning_1 = __webpack_require__(6539);
+Object.defineProperty(exports, "LogsWarning", ({ enumerable: true, get: function () { return LogsWarning_1.LogsWarning; } }));
+var Metric_1 = __webpack_require__(84952);
+Object.defineProperty(exports, "Metric", ({ enumerable: true, get: function () { return Metric_1.Metric; } }));
+var MetricAllTags_1 = __webpack_require__(45010);
+Object.defineProperty(exports, "MetricAllTags", ({ enumerable: true, get: function () { return MetricAllTags_1.MetricAllTags; } }));
+var MetricAllTagsAttributes_1 = __webpack_require__(3409);
+Object.defineProperty(exports, "MetricAllTagsAttributes", ({ enumerable: true, get: function () { return MetricAllTagsAttributes_1.MetricAllTagsAttributes; } }));
+var MetricAllTagsResponse_1 = __webpack_require__(32303);
+Object.defineProperty(exports, "MetricAllTagsResponse", ({ enumerable: true, get: function () { return MetricAllTagsResponse_1.MetricAllTagsResponse; } }));
+var MetricBulkTagConfigCreate_1 = __webpack_require__(23322);
+Object.defineProperty(exports, "MetricBulkTagConfigCreate", ({ enumerable: true, get: function () { return MetricBulkTagConfigCreate_1.MetricBulkTagConfigCreate; } }));
+var MetricBulkTagConfigCreateAttributes_1 = __webpack_require__(51970);
+Object.defineProperty(exports, "MetricBulkTagConfigCreateAttributes", ({ enumerable: true, get: function () { return MetricBulkTagConfigCreateAttributes_1.MetricBulkTagConfigCreateAttributes; } }));
+var MetricBulkTagConfigCreateRequest_1 = __webpack_require__(71969);
+Object.defineProperty(exports, "MetricBulkTagConfigCreateRequest", ({ enumerable: true, get: function () { return MetricBulkTagConfigCreateRequest_1.MetricBulkTagConfigCreateRequest; } }));
+var MetricBulkTagConfigDelete_1 = __webpack_require__(57731);
+Object.defineProperty(exports, "MetricBulkTagConfigDelete", ({ enumerable: true, get: function () { return MetricBulkTagConfigDelete_1.MetricBulkTagConfigDelete; } }));
+var MetricBulkTagConfigDeleteAttributes_1 = __webpack_require__(52753);
+Object.defineProperty(exports, "MetricBulkTagConfigDeleteAttributes", ({ enumerable: true, get: function () { return MetricBulkTagConfigDeleteAttributes_1.MetricBulkTagConfigDeleteAttributes; } }));
+var MetricBulkTagConfigDeleteRequest_1 = __webpack_require__(16938);
+Object.defineProperty(exports, "MetricBulkTagConfigDeleteRequest", ({ enumerable: true, get: function () { return MetricBulkTagConfigDeleteRequest_1.MetricBulkTagConfigDeleteRequest; } }));
+var MetricBulkTagConfigResponse_1 = __webpack_require__(70115);
+Object.defineProperty(exports, "MetricBulkTagConfigResponse", ({ enumerable: true, get: function () { return MetricBulkTagConfigResponse_1.MetricBulkTagConfigResponse; } }));
+var MetricBulkTagConfigStatus_1 = __webpack_require__(13694);
+Object.defineProperty(exports, "MetricBulkTagConfigStatus", ({ enumerable: true, get: function () { return MetricBulkTagConfigStatus_1.MetricBulkTagConfigStatus; } }));
+var MetricBulkTagConfigStatusAttributes_1 = __webpack_require__(92193);
+Object.defineProperty(exports, "MetricBulkTagConfigStatusAttributes", ({ enumerable: true, get: function () { return MetricBulkTagConfigStatusAttributes_1.MetricBulkTagConfigStatusAttributes; } }));
+var MetricCustomAggregation_1 = __webpack_require__(58987);
+Object.defineProperty(exports, "MetricCustomAggregation", ({ enumerable: true, get: function () { return MetricCustomAggregation_1.MetricCustomAggregation; } }));
+var MetricDistinctVolume_1 = __webpack_require__(87169);
+Object.defineProperty(exports, "MetricDistinctVolume", ({ enumerable: true, get: function () { return MetricDistinctVolume_1.MetricDistinctVolume; } }));
+var MetricDistinctVolumeAttributes_1 = __webpack_require__(76933);
+Object.defineProperty(exports, "MetricDistinctVolumeAttributes", ({ enumerable: true, get: function () { return MetricDistinctVolumeAttributes_1.MetricDistinctVolumeAttributes; } }));
+var MetricEstimate_1 = __webpack_require__(40359);
+Object.defineProperty(exports, "MetricEstimate", ({ enumerable: true, get: function () { return MetricEstimate_1.MetricEstimate; } }));
+var MetricEstimateAttributes_1 = __webpack_require__(84010);
+Object.defineProperty(exports, "MetricEstimateAttributes", ({ enumerable: true, get: function () { return MetricEstimateAttributes_1.MetricEstimateAttributes; } }));
+var MetricEstimateResponse_1 = __webpack_require__(48867);
+Object.defineProperty(exports, "MetricEstimateResponse", ({ enumerable: true, get: function () { return MetricEstimateResponse_1.MetricEstimateResponse; } }));
+var MetricIngestedIndexedVolume_1 = __webpack_require__(46888);
+Object.defineProperty(exports, "MetricIngestedIndexedVolume", ({ enumerable: true, get: function () { return MetricIngestedIndexedVolume_1.MetricIngestedIndexedVolume; } }));
+var MetricIngestedIndexedVolumeAttributes_1 = __webpack_require__(64001);
+Object.defineProperty(exports, "MetricIngestedIndexedVolumeAttributes", ({ enumerable: true, get: function () { return MetricIngestedIndexedVolumeAttributes_1.MetricIngestedIndexedVolumeAttributes; } }));
+var MetricMetadata_1 = __webpack_require__(34853);
+Object.defineProperty(exports, "MetricMetadata", ({ enumerable: true, get: function () { return MetricMetadata_1.MetricMetadata; } }));
+var MetricOrigin_1 = __webpack_require__(86261);
+Object.defineProperty(exports, "MetricOrigin", ({ enumerable: true, get: function () { return MetricOrigin_1.MetricOrigin; } }));
+var MetricPayload_1 = __webpack_require__(51766);
+Object.defineProperty(exports, "MetricPayload", ({ enumerable: true, get: function () { return MetricPayload_1.MetricPayload; } }));
+var MetricPoint_1 = __webpack_require__(16497);
+Object.defineProperty(exports, "MetricPoint", ({ enumerable: true, get: function () { return MetricPoint_1.MetricPoint; } }));
+var MetricResource_1 = __webpack_require__(32929);
+Object.defineProperty(exports, "MetricResource", ({ enumerable: true, get: function () { return MetricResource_1.MetricResource; } }));
+var MetricsAndMetricTagConfigurationsResponse_1 = __webpack_require__(51095);
+Object.defineProperty(exports, "MetricsAndMetricTagConfigurationsResponse", ({ enumerable: true, get: function () { return MetricsAndMetricTagConfigurationsResponse_1.MetricsAndMetricTagConfigurationsResponse; } }));
+var MetricSeries_1 = __webpack_require__(61417);
+Object.defineProperty(exports, "MetricSeries", ({ enumerable: true, get: function () { return MetricSeries_1.MetricSeries; } }));
+var MetricsScalarQuery_1 = __webpack_require__(85704);
+Object.defineProperty(exports, "MetricsScalarQuery", ({ enumerable: true, get: function () { return MetricsScalarQuery_1.MetricsScalarQuery; } }));
+var MetricsTimeseriesQuery_1 = __webpack_require__(65066);
+Object.defineProperty(exports, "MetricsTimeseriesQuery", ({ enumerable: true, get: function () { return MetricsTimeseriesQuery_1.MetricsTimeseriesQuery; } }));
+var MetricSuggestedTagsAndAggregations_1 = __webpack_require__(40266);
+Object.defineProperty(exports, "MetricSuggestedTagsAndAggregations", ({ enumerable: true, get: function () { return MetricSuggestedTagsAndAggregations_1.MetricSuggestedTagsAndAggregations; } }));
+var MetricSuggestedTagsAndAggregationsResponse_1 = __webpack_require__(64018);
+Object.defineProperty(exports, "MetricSuggestedTagsAndAggregationsResponse", ({ enumerable: true, get: function () { return MetricSuggestedTagsAndAggregationsResponse_1.MetricSuggestedTagsAndAggregationsResponse; } }));
+var MetricSuggestedTagsAttributes_1 = __webpack_require__(47764);
+Object.defineProperty(exports, "MetricSuggestedTagsAttributes", ({ enumerable: true, get: function () { return MetricSuggestedTagsAttributes_1.MetricSuggestedTagsAttributes; } }));
+var MetricTagConfiguration_1 = __webpack_require__(37168);
+Object.defineProperty(exports, "MetricTagConfiguration", ({ enumerable: true, get: function () { return MetricTagConfiguration_1.MetricTagConfiguration; } }));
+var MetricTagConfigurationAttributes_1 = __webpack_require__(35136);
+Object.defineProperty(exports, "MetricTagConfigurationAttributes", ({ enumerable: true, get: function () { return MetricTagConfigurationAttributes_1.MetricTagConfigurationAttributes; } }));
+var MetricTagConfigurationCreateAttributes_1 = __webpack_require__(40833);
+Object.defineProperty(exports, "MetricTagConfigurationCreateAttributes", ({ enumerable: true, get: function () { return MetricTagConfigurationCreateAttributes_1.MetricTagConfigurationCreateAttributes; } }));
+var MetricTagConfigurationCreateData_1 = __webpack_require__(9852);
+Object.defineProperty(exports, "MetricTagConfigurationCreateData", ({ enumerable: true, get: function () { return MetricTagConfigurationCreateData_1.MetricTagConfigurationCreateData; } }));
+var MetricTagConfigurationCreateRequest_1 = __webpack_require__(55357);
+Object.defineProperty(exports, "MetricTagConfigurationCreateRequest", ({ enumerable: true, get: function () { return MetricTagConfigurationCreateRequest_1.MetricTagConfigurationCreateRequest; } }));
+var MetricTagConfigurationResponse_1 = __webpack_require__(96922);
+Object.defineProperty(exports, "MetricTagConfigurationResponse", ({ enumerable: true, get: function () { return MetricTagConfigurationResponse_1.MetricTagConfigurationResponse; } }));
+var MetricTagConfigurationUpdateAttributes_1 = __webpack_require__(56963);
+Object.defineProperty(exports, "MetricTagConfigurationUpdateAttributes", ({ enumerable: true, get: function () { return MetricTagConfigurationUpdateAttributes_1.MetricTagConfigurationUpdateAttributes; } }));
+var MetricTagConfigurationUpdateData_1 = __webpack_require__(57085);
+Object.defineProperty(exports, "MetricTagConfigurationUpdateData", ({ enumerable: true, get: function () { return MetricTagConfigurationUpdateData_1.MetricTagConfigurationUpdateData; } }));
+var MetricTagConfigurationUpdateRequest_1 = __webpack_require__(64370);
+Object.defineProperty(exports, "MetricTagConfigurationUpdateRequest", ({ enumerable: true, get: function () { return MetricTagConfigurationUpdateRequest_1.MetricTagConfigurationUpdateRequest; } }));
+var MetricVolumesResponse_1 = __webpack_require__(63178);
+Object.defineProperty(exports, "MetricVolumesResponse", ({ enumerable: true, get: function () { return MetricVolumesResponse_1.MetricVolumesResponse; } }));
+var MonitorConfigPolicyAttributeCreateRequest_1 = __webpack_require__(18770);
+Object.defineProperty(exports, "MonitorConfigPolicyAttributeCreateRequest", ({ enumerable: true, get: function () { return MonitorConfigPolicyAttributeCreateRequest_1.MonitorConfigPolicyAttributeCreateRequest; } }));
+var MonitorConfigPolicyAttributeEditRequest_1 = __webpack_require__(50562);
+Object.defineProperty(exports, "MonitorConfigPolicyAttributeEditRequest", ({ enumerable: true, get: function () { return MonitorConfigPolicyAttributeEditRequest_1.MonitorConfigPolicyAttributeEditRequest; } }));
+var MonitorConfigPolicyAttributeResponse_1 = __webpack_require__(61140);
+Object.defineProperty(exports, "MonitorConfigPolicyAttributeResponse", ({ enumerable: true, get: function () { return MonitorConfigPolicyAttributeResponse_1.MonitorConfigPolicyAttributeResponse; } }));
+var MonitorConfigPolicyCreateData_1 = __webpack_require__(26969);
+Object.defineProperty(exports, "MonitorConfigPolicyCreateData", ({ enumerable: true, get: function () { return MonitorConfigPolicyCreateData_1.MonitorConfigPolicyCreateData; } }));
+var MonitorConfigPolicyCreateRequest_1 = __webpack_require__(47751);
+Object.defineProperty(exports, "MonitorConfigPolicyCreateRequest", ({ enumerable: true, get: function () { return MonitorConfigPolicyCreateRequest_1.MonitorConfigPolicyCreateRequest; } }));
+var MonitorConfigPolicyEditData_1 = __webpack_require__(79315);
+Object.defineProperty(exports, "MonitorConfigPolicyEditData", ({ enumerable: true, get: function () { return MonitorConfigPolicyEditData_1.MonitorConfigPolicyEditData; } }));
+var MonitorConfigPolicyEditRequest_1 = __webpack_require__(96257);
+Object.defineProperty(exports, "MonitorConfigPolicyEditRequest", ({ enumerable: true, get: function () { return MonitorConfigPolicyEditRequest_1.MonitorConfigPolicyEditRequest; } }));
+var MonitorConfigPolicyListResponse_1 = __webpack_require__(55293);
+Object.defineProperty(exports, "MonitorConfigPolicyListResponse", ({ enumerable: true, get: function () { return MonitorConfigPolicyListResponse_1.MonitorConfigPolicyListResponse; } }));
+var MonitorConfigPolicyResponse_1 = __webpack_require__(9074);
+Object.defineProperty(exports, "MonitorConfigPolicyResponse", ({ enumerable: true, get: function () { return MonitorConfigPolicyResponse_1.MonitorConfigPolicyResponse; } }));
+var MonitorConfigPolicyResponseData_1 = __webpack_require__(65387);
+Object.defineProperty(exports, "MonitorConfigPolicyResponseData", ({ enumerable: true, get: function () { return MonitorConfigPolicyResponseData_1.MonitorConfigPolicyResponseData; } }));
+var MonitorConfigPolicyTagPolicy_1 = __webpack_require__(29376);
+Object.defineProperty(exports, "MonitorConfigPolicyTagPolicy", ({ enumerable: true, get: function () { return MonitorConfigPolicyTagPolicy_1.MonitorConfigPolicyTagPolicy; } }));
+var MonitorConfigPolicyTagPolicyCreateRequest_1 = __webpack_require__(21363);
+Object.defineProperty(exports, "MonitorConfigPolicyTagPolicyCreateRequest", ({ enumerable: true, get: function () { return MonitorConfigPolicyTagPolicyCreateRequest_1.MonitorConfigPolicyTagPolicyCreateRequest; } }));
+var MonitorDowntimeMatchResponse_1 = __webpack_require__(85458);
+Object.defineProperty(exports, "MonitorDowntimeMatchResponse", ({ enumerable: true, get: function () { return MonitorDowntimeMatchResponse_1.MonitorDowntimeMatchResponse; } }));
+var MonitorDowntimeMatchResponseAttributes_1 = __webpack_require__(3781);
+Object.defineProperty(exports, "MonitorDowntimeMatchResponseAttributes", ({ enumerable: true, get: function () { return MonitorDowntimeMatchResponseAttributes_1.MonitorDowntimeMatchResponseAttributes; } }));
+var MonitorDowntimeMatchResponseData_1 = __webpack_require__(93462);
+Object.defineProperty(exports, "MonitorDowntimeMatchResponseData", ({ enumerable: true, get: function () { return MonitorDowntimeMatchResponseData_1.MonitorDowntimeMatchResponseData; } }));
+var MonitorType_1 = __webpack_require__(74936);
+Object.defineProperty(exports, "MonitorType", ({ enumerable: true, get: function () { return MonitorType_1.MonitorType; } }));
+var MuteFindingRequest_1 = __webpack_require__(41891);
+Object.defineProperty(exports, "MuteFindingRequest", ({ enumerable: true, get: function () { return MuteFindingRequest_1.MuteFindingRequest; } }));
+var MuteFindingRequestAttributes_1 = __webpack_require__(37731);
+Object.defineProperty(exports, "MuteFindingRequestAttributes", ({ enumerable: true, get: function () { return MuteFindingRequestAttributes_1.MuteFindingRequestAttributes; } }));
+var MuteFindingRequestData_1 = __webpack_require__(5064);
+Object.defineProperty(exports, "MuteFindingRequestData", ({ enumerable: true, get: function () { return MuteFindingRequestData_1.MuteFindingRequestData; } }));
+var MuteFindingRequestProperties_1 = __webpack_require__(47455);
+Object.defineProperty(exports, "MuteFindingRequestProperties", ({ enumerable: true, get: function () { return MuteFindingRequestProperties_1.MuteFindingRequestProperties; } }));
+var MuteFindingResponse_1 = __webpack_require__(56552);
+Object.defineProperty(exports, "MuteFindingResponse", ({ enumerable: true, get: function () { return MuteFindingResponse_1.MuteFindingResponse; } }));
+var MuteFindingResponseAttributes_1 = __webpack_require__(13529);
+Object.defineProperty(exports, "MuteFindingResponseAttributes", ({ enumerable: true, get: function () { return MuteFindingResponseAttributes_1.MuteFindingResponseAttributes; } }));
+var MuteFindingResponseData_1 = __webpack_require__(92148);
+Object.defineProperty(exports, "MuteFindingResponseData", ({ enumerable: true, get: function () { return MuteFindingResponseData_1.MuteFindingResponseData; } }));
+var MuteFindingResponseProperties_1 = __webpack_require__(25934);
+Object.defineProperty(exports, "MuteFindingResponseProperties", ({ enumerable: true, get: function () { return MuteFindingResponseProperties_1.MuteFindingResponseProperties; } }));
+var NullableRelationshipToUser_1 = __webpack_require__(86187);
+Object.defineProperty(exports, "NullableRelationshipToUser", ({ enumerable: true, get: function () { return NullableRelationshipToUser_1.NullableRelationshipToUser; } }));
+var NullableRelationshipToUserData_1 = __webpack_require__(12695);
+Object.defineProperty(exports, "NullableRelationshipToUserData", ({ enumerable: true, get: function () { return NullableRelationshipToUserData_1.NullableRelationshipToUserData; } }));
+var OnDemandConcurrencyCap_1 = __webpack_require__(49074);
+Object.defineProperty(exports, "OnDemandConcurrencyCap", ({ enumerable: true, get: function () { return OnDemandConcurrencyCap_1.OnDemandConcurrencyCap; } }));
+var OnDemandConcurrencyCapAttributes_1 = __webpack_require__(62818);
+Object.defineProperty(exports, "OnDemandConcurrencyCapAttributes", ({ enumerable: true, get: function () { return OnDemandConcurrencyCapAttributes_1.OnDemandConcurrencyCapAttributes; } }));
+var OnDemandConcurrencyCapResponse_1 = __webpack_require__(44409);
+Object.defineProperty(exports, "OnDemandConcurrencyCapResponse", ({ enumerable: true, get: function () { return OnDemandConcurrencyCapResponse_1.OnDemandConcurrencyCapResponse; } }));
+var OpsgenieServiceCreateAttributes_1 = __webpack_require__(42707);
+Object.defineProperty(exports, "OpsgenieServiceCreateAttributes", ({ enumerable: true, get: function () { return OpsgenieServiceCreateAttributes_1.OpsgenieServiceCreateAttributes; } }));
+var OpsgenieServiceCreateData_1 = __webpack_require__(98988);
+Object.defineProperty(exports, "OpsgenieServiceCreateData", ({ enumerable: true, get: function () { return OpsgenieServiceCreateData_1.OpsgenieServiceCreateData; } }));
+var OpsgenieServiceCreateRequest_1 = __webpack_require__(96060);
+Object.defineProperty(exports, "OpsgenieServiceCreateRequest", ({ enumerable: true, get: function () { return OpsgenieServiceCreateRequest_1.OpsgenieServiceCreateRequest; } }));
+var OpsgenieServiceResponse_1 = __webpack_require__(89367);
+Object.defineProperty(exports, "OpsgenieServiceResponse", ({ enumerable: true, get: function () { return OpsgenieServiceResponse_1.OpsgenieServiceResponse; } }));
+var OpsgenieServiceResponseAttributes_1 = __webpack_require__(96457);
+Object.defineProperty(exports, "OpsgenieServiceResponseAttributes", ({ enumerable: true, get: function () { return OpsgenieServiceResponseAttributes_1.OpsgenieServiceResponseAttributes; } }));
+var OpsgenieServiceResponseData_1 = __webpack_require__(8536);
+Object.defineProperty(exports, "OpsgenieServiceResponseData", ({ enumerable: true, get: function () { return OpsgenieServiceResponseData_1.OpsgenieServiceResponseData; } }));
+var OpsgenieServicesResponse_1 = __webpack_require__(57103);
+Object.defineProperty(exports, "OpsgenieServicesResponse", ({ enumerable: true, get: function () { return OpsgenieServicesResponse_1.OpsgenieServicesResponse; } }));
+var OpsgenieServiceUpdateAttributes_1 = __webpack_require__(47224);
+Object.defineProperty(exports, "OpsgenieServiceUpdateAttributes", ({ enumerable: true, get: function () { return OpsgenieServiceUpdateAttributes_1.OpsgenieServiceUpdateAttributes; } }));
+var OpsgenieServiceUpdateData_1 = __webpack_require__(49361);
+Object.defineProperty(exports, "OpsgenieServiceUpdateData", ({ enumerable: true, get: function () { return OpsgenieServiceUpdateData_1.OpsgenieServiceUpdateData; } }));
+var OpsgenieServiceUpdateRequest_1 = __webpack_require__(89306);
+Object.defineProperty(exports, "OpsgenieServiceUpdateRequest", ({ enumerable: true, get: function () { return OpsgenieServiceUpdateRequest_1.OpsgenieServiceUpdateRequest; } }));
+var Organization_1 = __webpack_require__(65574);
+Object.defineProperty(exports, "Organization", ({ enumerable: true, get: function () { return Organization_1.Organization; } }));
+var OrganizationAttributes_1 = __webpack_require__(80208);
+Object.defineProperty(exports, "OrganizationAttributes", ({ enumerable: true, get: function () { return OrganizationAttributes_1.OrganizationAttributes; } }));
+var Pagination_1 = __webpack_require__(83012);
+Object.defineProperty(exports, "Pagination", ({ enumerable: true, get: function () { return Pagination_1.Pagination; } }));
+var PartialAPIKey_1 = __webpack_require__(17607);
+Object.defineProperty(exports, "PartialAPIKey", ({ enumerable: true, get: function () { return PartialAPIKey_1.PartialAPIKey; } }));
+var PartialAPIKeyAttributes_1 = __webpack_require__(4778);
+Object.defineProperty(exports, "PartialAPIKeyAttributes", ({ enumerable: true, get: function () { return PartialAPIKeyAttributes_1.PartialAPIKeyAttributes; } }));
+var PartialApplicationKey_1 = __webpack_require__(9242);
+Object.defineProperty(exports, "PartialApplicationKey", ({ enumerable: true, get: function () { return PartialApplicationKey_1.PartialApplicationKey; } }));
+var PartialApplicationKeyAttributes_1 = __webpack_require__(58374);
+Object.defineProperty(exports, "PartialApplicationKeyAttributes", ({ enumerable: true, get: function () { return PartialApplicationKeyAttributes_1.PartialApplicationKeyAttributes; } }));
+var PartialApplicationKeyResponse_1 = __webpack_require__(38675);
+Object.defineProperty(exports, "PartialApplicationKeyResponse", ({ enumerable: true, get: function () { return PartialApplicationKeyResponse_1.PartialApplicationKeyResponse; } }));
+var Permission_1 = __webpack_require__(62112);
+Object.defineProperty(exports, "Permission", ({ enumerable: true, get: function () { return Permission_1.Permission; } }));
+var PermissionAttributes_1 = __webpack_require__(95692);
+Object.defineProperty(exports, "PermissionAttributes", ({ enumerable: true, get: function () { return PermissionAttributes_1.PermissionAttributes; } }));
+var PermissionsResponse_1 = __webpack_require__(67012);
+Object.defineProperty(exports, "PermissionsResponse", ({ enumerable: true, get: function () { return PermissionsResponse_1.PermissionsResponse; } }));
+var ProcessSummariesMeta_1 = __webpack_require__(24332);
+Object.defineProperty(exports, "ProcessSummariesMeta", ({ enumerable: true, get: function () { return ProcessSummariesMeta_1.ProcessSummariesMeta; } }));
+var ProcessSummariesMetaPage_1 = __webpack_require__(16793);
+Object.defineProperty(exports, "ProcessSummariesMetaPage", ({ enumerable: true, get: function () { return ProcessSummariesMetaPage_1.ProcessSummariesMetaPage; } }));
+var ProcessSummariesResponse_1 = __webpack_require__(83645);
+Object.defineProperty(exports, "ProcessSummariesResponse", ({ enumerable: true, get: function () { return ProcessSummariesResponse_1.ProcessSummariesResponse; } }));
+var ProcessSummary_1 = __webpack_require__(39882);
+Object.defineProperty(exports, "ProcessSummary", ({ enumerable: true, get: function () { return ProcessSummary_1.ProcessSummary; } }));
+var ProcessSummaryAttributes_1 = __webpack_require__(68442);
+Object.defineProperty(exports, "ProcessSummaryAttributes", ({ enumerable: true, get: function () { return ProcessSummaryAttributes_1.ProcessSummaryAttributes; } }));
+var QueryFormula_1 = __webpack_require__(16843);
+Object.defineProperty(exports, "QueryFormula", ({ enumerable: true, get: function () { return QueryFormula_1.QueryFormula; } }));
+var RelationshipToIncidentAttachment_1 = __webpack_require__(68393);
+Object.defineProperty(exports, "RelationshipToIncidentAttachment", ({ enumerable: true, get: function () { return RelationshipToIncidentAttachment_1.RelationshipToIncidentAttachment; } }));
+var RelationshipToIncidentAttachmentData_1 = __webpack_require__(26001);
+Object.defineProperty(exports, "RelationshipToIncidentAttachmentData", ({ enumerable: true, get: function () { return RelationshipToIncidentAttachmentData_1.RelationshipToIncidentAttachmentData; } }));
+var RelationshipToIncidentIntegrationMetadataData_1 = __webpack_require__(82162);
+Object.defineProperty(exports, "RelationshipToIncidentIntegrationMetadataData", ({ enumerable: true, get: function () { return RelationshipToIncidentIntegrationMetadataData_1.RelationshipToIncidentIntegrationMetadataData; } }));
+var RelationshipToIncidentIntegrationMetadatas_1 = __webpack_require__(1463);
+Object.defineProperty(exports, "RelationshipToIncidentIntegrationMetadatas", ({ enumerable: true, get: function () { return RelationshipToIncidentIntegrationMetadatas_1.RelationshipToIncidentIntegrationMetadatas; } }));
+var RelationshipToIncidentPostmortem_1 = __webpack_require__(83931);
+Object.defineProperty(exports, "RelationshipToIncidentPostmortem", ({ enumerable: true, get: function () { return RelationshipToIncidentPostmortem_1.RelationshipToIncidentPostmortem; } }));
+var RelationshipToIncidentPostmortemData_1 = __webpack_require__(12453);
+Object.defineProperty(exports, "RelationshipToIncidentPostmortemData", ({ enumerable: true, get: function () { return RelationshipToIncidentPostmortemData_1.RelationshipToIncidentPostmortemData; } }));
+var RelationshipToOrganization_1 = __webpack_require__(19974);
+Object.defineProperty(exports, "RelationshipToOrganization", ({ enumerable: true, get: function () { return RelationshipToOrganization_1.RelationshipToOrganization; } }));
+var RelationshipToOrganizationData_1 = __webpack_require__(57387);
+Object.defineProperty(exports, "RelationshipToOrganizationData", ({ enumerable: true, get: function () { return RelationshipToOrganizationData_1.RelationshipToOrganizationData; } }));
+var RelationshipToOrganizations_1 = __webpack_require__(29461);
+Object.defineProperty(exports, "RelationshipToOrganizations", ({ enumerable: true, get: function () { return RelationshipToOrganizations_1.RelationshipToOrganizations; } }));
+var RelationshipToPermission_1 = __webpack_require__(76482);
+Object.defineProperty(exports, "RelationshipToPermission", ({ enumerable: true, get: function () { return RelationshipToPermission_1.RelationshipToPermission; } }));
+var RelationshipToPermissionData_1 = __webpack_require__(5468);
+Object.defineProperty(exports, "RelationshipToPermissionData", ({ enumerable: true, get: function () { return RelationshipToPermissionData_1.RelationshipToPermissionData; } }));
+var RelationshipToPermissions_1 = __webpack_require__(63726);
+Object.defineProperty(exports, "RelationshipToPermissions", ({ enumerable: true, get: function () { return RelationshipToPermissions_1.RelationshipToPermissions; } }));
+var RelationshipToRole_1 = __webpack_require__(93263);
+Object.defineProperty(exports, "RelationshipToRole", ({ enumerable: true, get: function () { return RelationshipToRole_1.RelationshipToRole; } }));
+var RelationshipToRoleData_1 = __webpack_require__(27514);
+Object.defineProperty(exports, "RelationshipToRoleData", ({ enumerable: true, get: function () { return RelationshipToRoleData_1.RelationshipToRoleData; } }));
+var RelationshipToRoles_1 = __webpack_require__(97252);
+Object.defineProperty(exports, "RelationshipToRoles", ({ enumerable: true, get: function () { return RelationshipToRoles_1.RelationshipToRoles; } }));
+var RelationshipToSAMLAssertionAttribute_1 = __webpack_require__(15660);
+Object.defineProperty(exports, "RelationshipToSAMLAssertionAttribute", ({ enumerable: true, get: function () { return RelationshipToSAMLAssertionAttribute_1.RelationshipToSAMLAssertionAttribute; } }));
+var RelationshipToSAMLAssertionAttributeData_1 = __webpack_require__(91898);
+Object.defineProperty(exports, "RelationshipToSAMLAssertionAttributeData", ({ enumerable: true, get: function () { return RelationshipToSAMLAssertionAttributeData_1.RelationshipToSAMLAssertionAttributeData; } }));
+var RelationshipToTeamLinkData_1 = __webpack_require__(77649);
+Object.defineProperty(exports, "RelationshipToTeamLinkData", ({ enumerable: true, get: function () { return RelationshipToTeamLinkData_1.RelationshipToTeamLinkData; } }));
+var RelationshipToTeamLinks_1 = __webpack_require__(12483);
+Object.defineProperty(exports, "RelationshipToTeamLinks", ({ enumerable: true, get: function () { return RelationshipToTeamLinks_1.RelationshipToTeamLinks; } }));
+var RelationshipToUser_1 = __webpack_require__(18704);
+Object.defineProperty(exports, "RelationshipToUser", ({ enumerable: true, get: function () { return RelationshipToUser_1.RelationshipToUser; } }));
+var RelationshipToUserData_1 = __webpack_require__(57934);
+Object.defineProperty(exports, "RelationshipToUserData", ({ enumerable: true, get: function () { return RelationshipToUserData_1.RelationshipToUserData; } }));
+var RelationshipToUsers_1 = __webpack_require__(19717);
+Object.defineProperty(exports, "RelationshipToUsers", ({ enumerable: true, get: function () { return RelationshipToUsers_1.RelationshipToUsers; } }));
+var RelationshipToUserTeamPermission_1 = __webpack_require__(58517);
+Object.defineProperty(exports, "RelationshipToUserTeamPermission", ({ enumerable: true, get: function () { return RelationshipToUserTeamPermission_1.RelationshipToUserTeamPermission; } }));
+var RelationshipToUserTeamPermissionData_1 = __webpack_require__(72350);
+Object.defineProperty(exports, "RelationshipToUserTeamPermissionData", ({ enumerable: true, get: function () { return RelationshipToUserTeamPermissionData_1.RelationshipToUserTeamPermissionData; } }));
+var RelationshipToUserTeamUser_1 = __webpack_require__(60994);
+Object.defineProperty(exports, "RelationshipToUserTeamUser", ({ enumerable: true, get: function () { return RelationshipToUserTeamUser_1.RelationshipToUserTeamUser; } }));
+var RelationshipToUserTeamUserData_1 = __webpack_require__(39332);
+Object.defineProperty(exports, "RelationshipToUserTeamUserData", ({ enumerable: true, get: function () { return RelationshipToUserTeamUserData_1.RelationshipToUserTeamUserData; } }));
+var ResponseMetaAttributes_1 = __webpack_require__(71189);
+Object.defineProperty(exports, "ResponseMetaAttributes", ({ enumerable: true, get: function () { return ResponseMetaAttributes_1.ResponseMetaAttributes; } }));
+var RestrictionPolicy_1 = __webpack_require__(52302);
+Object.defineProperty(exports, "RestrictionPolicy", ({ enumerable: true, get: function () { return RestrictionPolicy_1.RestrictionPolicy; } }));
+var RestrictionPolicyAttributes_1 = __webpack_require__(58612);
+Object.defineProperty(exports, "RestrictionPolicyAttributes", ({ enumerable: true, get: function () { return RestrictionPolicyAttributes_1.RestrictionPolicyAttributes; } }));
+var RestrictionPolicyBinding_1 = __webpack_require__(59472);
+Object.defineProperty(exports, "RestrictionPolicyBinding", ({ enumerable: true, get: function () { return RestrictionPolicyBinding_1.RestrictionPolicyBinding; } }));
+var RestrictionPolicyResponse_1 = __webpack_require__(5958);
+Object.defineProperty(exports, "RestrictionPolicyResponse", ({ enumerable: true, get: function () { return RestrictionPolicyResponse_1.RestrictionPolicyResponse; } }));
+var RestrictionPolicyUpdateRequest_1 = __webpack_require__(61621);
+Object.defineProperty(exports, "RestrictionPolicyUpdateRequest", ({ enumerable: true, get: function () { return RestrictionPolicyUpdateRequest_1.RestrictionPolicyUpdateRequest; } }));
+var Role_1 = __webpack_require__(36755);
+Object.defineProperty(exports, "Role", ({ enumerable: true, get: function () { return Role_1.Role; } }));
+var RoleAttributes_1 = __webpack_require__(72234);
+Object.defineProperty(exports, "RoleAttributes", ({ enumerable: true, get: function () { return RoleAttributes_1.RoleAttributes; } }));
+var RoleClone_1 = __webpack_require__(11697);
+Object.defineProperty(exports, "RoleClone", ({ enumerable: true, get: function () { return RoleClone_1.RoleClone; } }));
+var RoleCloneAttributes_1 = __webpack_require__(23490);
+Object.defineProperty(exports, "RoleCloneAttributes", ({ enumerable: true, get: function () { return RoleCloneAttributes_1.RoleCloneAttributes; } }));
+var RoleCloneRequest_1 = __webpack_require__(14928);
+Object.defineProperty(exports, "RoleCloneRequest", ({ enumerable: true, get: function () { return RoleCloneRequest_1.RoleCloneRequest; } }));
+var RoleCreateAttributes_1 = __webpack_require__(29959);
+Object.defineProperty(exports, "RoleCreateAttributes", ({ enumerable: true, get: function () { return RoleCreateAttributes_1.RoleCreateAttributes; } }));
+var RoleCreateData_1 = __webpack_require__(90720);
+Object.defineProperty(exports, "RoleCreateData", ({ enumerable: true, get: function () { return RoleCreateData_1.RoleCreateData; } }));
+var RoleCreateRequest_1 = __webpack_require__(97058);
+Object.defineProperty(exports, "RoleCreateRequest", ({ enumerable: true, get: function () { return RoleCreateRequest_1.RoleCreateRequest; } }));
+var RoleCreateResponse_1 = __webpack_require__(21064);
+Object.defineProperty(exports, "RoleCreateResponse", ({ enumerable: true, get: function () { return RoleCreateResponse_1.RoleCreateResponse; } }));
+var RoleCreateResponseData_1 = __webpack_require__(3831);
+Object.defineProperty(exports, "RoleCreateResponseData", ({ enumerable: true, get: function () { return RoleCreateResponseData_1.RoleCreateResponseData; } }));
+var RoleRelationships_1 = __webpack_require__(1462);
+Object.defineProperty(exports, "RoleRelationships", ({ enumerable: true, get: function () { return RoleRelationships_1.RoleRelationships; } }));
+var RoleResponse_1 = __webpack_require__(1667);
+Object.defineProperty(exports, "RoleResponse", ({ enumerable: true, get: function () { return RoleResponse_1.RoleResponse; } }));
+var RoleResponseRelationships_1 = __webpack_require__(20863);
+Object.defineProperty(exports, "RoleResponseRelationships", ({ enumerable: true, get: function () { return RoleResponseRelationships_1.RoleResponseRelationships; } }));
+var RolesResponse_1 = __webpack_require__(16287);
+Object.defineProperty(exports, "RolesResponse", ({ enumerable: true, get: function () { return RolesResponse_1.RolesResponse; } }));
+var RoleUpdateAttributes_1 = __webpack_require__(61293);
+Object.defineProperty(exports, "RoleUpdateAttributes", ({ enumerable: true, get: function () { return RoleUpdateAttributes_1.RoleUpdateAttributes; } }));
+var RoleUpdateData_1 = __webpack_require__(43035);
+Object.defineProperty(exports, "RoleUpdateData", ({ enumerable: true, get: function () { return RoleUpdateData_1.RoleUpdateData; } }));
+var RoleUpdateRequest_1 = __webpack_require__(6460);
+Object.defineProperty(exports, "RoleUpdateRequest", ({ enumerable: true, get: function () { return RoleUpdateRequest_1.RoleUpdateRequest; } }));
+var RoleUpdateResponse_1 = __webpack_require__(43475);
+Object.defineProperty(exports, "RoleUpdateResponse", ({ enumerable: true, get: function () { return RoleUpdateResponse_1.RoleUpdateResponse; } }));
+var RoleUpdateResponseData_1 = __webpack_require__(53999);
+Object.defineProperty(exports, "RoleUpdateResponseData", ({ enumerable: true, get: function () { return RoleUpdateResponseData_1.RoleUpdateResponseData; } }));
+var RUMAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(21059);
+Object.defineProperty(exports, "RUMAggregateBucketValueTimeseriesPoint", ({ enumerable: true, get: function () { return RUMAggregateBucketValueTimeseriesPoint_1.RUMAggregateBucketValueTimeseriesPoint; } }));
+var RUMAggregateRequest_1 = __webpack_require__(93799);
+Object.defineProperty(exports, "RUMAggregateRequest", ({ enumerable: true, get: function () { return RUMAggregateRequest_1.RUMAggregateRequest; } }));
+var RUMAggregateSort_1 = __webpack_require__(39778);
+Object.defineProperty(exports, "RUMAggregateSort", ({ enumerable: true, get: function () { return RUMAggregateSort_1.RUMAggregateSort; } }));
+var RUMAggregationBucketsResponse_1 = __webpack_require__(50352);
+Object.defineProperty(exports, "RUMAggregationBucketsResponse", ({ enumerable: true, get: function () { return RUMAggregationBucketsResponse_1.RUMAggregationBucketsResponse; } }));
+var RUMAnalyticsAggregateResponse_1 = __webpack_require__(95814);
+Object.defineProperty(exports, "RUMAnalyticsAggregateResponse", ({ enumerable: true, get: function () { return RUMAnalyticsAggregateResponse_1.RUMAnalyticsAggregateResponse; } }));
+var RUMApplication_1 = __webpack_require__(6297);
+Object.defineProperty(exports, "RUMApplication", ({ enumerable: true, get: function () { return RUMApplication_1.RUMApplication; } }));
+var RUMApplicationAttributes_1 = __webpack_require__(42706);
+Object.defineProperty(exports, "RUMApplicationAttributes", ({ enumerable: true, get: function () { return RUMApplicationAttributes_1.RUMApplicationAttributes; } }));
+var RUMApplicationCreate_1 = __webpack_require__(77612);
+Object.defineProperty(exports, "RUMApplicationCreate", ({ enumerable: true, get: function () { return RUMApplicationCreate_1.RUMApplicationCreate; } }));
+var RUMApplicationCreateAttributes_1 = __webpack_require__(22922);
+Object.defineProperty(exports, "RUMApplicationCreateAttributes", ({ enumerable: true, get: function () { return RUMApplicationCreateAttributes_1.RUMApplicationCreateAttributes; } }));
+var RUMApplicationCreateRequest_1 = __webpack_require__(85662);
+Object.defineProperty(exports, "RUMApplicationCreateRequest", ({ enumerable: true, get: function () { return RUMApplicationCreateRequest_1.RUMApplicationCreateRequest; } }));
+var RUMApplicationList_1 = __webpack_require__(28804);
+Object.defineProperty(exports, "RUMApplicationList", ({ enumerable: true, get: function () { return RUMApplicationList_1.RUMApplicationList; } }));
+var RUMApplicationListAttributes_1 = __webpack_require__(95110);
+Object.defineProperty(exports, "RUMApplicationListAttributes", ({ enumerable: true, get: function () { return RUMApplicationListAttributes_1.RUMApplicationListAttributes; } }));
+var RUMApplicationResponse_1 = __webpack_require__(68134);
+Object.defineProperty(exports, "RUMApplicationResponse", ({ enumerable: true, get: function () { return RUMApplicationResponse_1.RUMApplicationResponse; } }));
+var RUMApplicationsResponse_1 = __webpack_require__(64222);
+Object.defineProperty(exports, "RUMApplicationsResponse", ({ enumerable: true, get: function () { return RUMApplicationsResponse_1.RUMApplicationsResponse; } }));
+var RUMApplicationUpdate_1 = __webpack_require__(43719);
+Object.defineProperty(exports, "RUMApplicationUpdate", ({ enumerable: true, get: function () { return RUMApplicationUpdate_1.RUMApplicationUpdate; } }));
+var RUMApplicationUpdateAttributes_1 = __webpack_require__(36700);
+Object.defineProperty(exports, "RUMApplicationUpdateAttributes", ({ enumerable: true, get: function () { return RUMApplicationUpdateAttributes_1.RUMApplicationUpdateAttributes; } }));
+var RUMApplicationUpdateRequest_1 = __webpack_require__(71226);
+Object.defineProperty(exports, "RUMApplicationUpdateRequest", ({ enumerable: true, get: function () { return RUMApplicationUpdateRequest_1.RUMApplicationUpdateRequest; } }));
+var RUMBucketResponse_1 = __webpack_require__(21229);
+Object.defineProperty(exports, "RUMBucketResponse", ({ enumerable: true, get: function () { return RUMBucketResponse_1.RUMBucketResponse; } }));
+var RUMCompute_1 = __webpack_require__(3281);
+Object.defineProperty(exports, "RUMCompute", ({ enumerable: true, get: function () { return RUMCompute_1.RUMCompute; } }));
+var RUMEvent_1 = __webpack_require__(30404);
+Object.defineProperty(exports, "RUMEvent", ({ enumerable: true, get: function () { return RUMEvent_1.RUMEvent; } }));
+var RUMEventAttributes_1 = __webpack_require__(66563);
+Object.defineProperty(exports, "RUMEventAttributes", ({ enumerable: true, get: function () { return RUMEventAttributes_1.RUMEventAttributes; } }));
+var RUMEventsResponse_1 = __webpack_require__(51628);
+Object.defineProperty(exports, "RUMEventsResponse", ({ enumerable: true, get: function () { return RUMEventsResponse_1.RUMEventsResponse; } }));
+var RUMGroupBy_1 = __webpack_require__(53303);
+Object.defineProperty(exports, "RUMGroupBy", ({ enumerable: true, get: function () { return RUMGroupBy_1.RUMGroupBy; } }));
+var RUMGroupByHistogram_1 = __webpack_require__(25417);
+Object.defineProperty(exports, "RUMGroupByHistogram", ({ enumerable: true, get: function () { return RUMGroupByHistogram_1.RUMGroupByHistogram; } }));
+var RUMQueryFilter_1 = __webpack_require__(93902);
+Object.defineProperty(exports, "RUMQueryFilter", ({ enumerable: true, get: function () { return RUMQueryFilter_1.RUMQueryFilter; } }));
+var RUMQueryOptions_1 = __webpack_require__(46379);
+Object.defineProperty(exports, "RUMQueryOptions", ({ enumerable: true, get: function () { return RUMQueryOptions_1.RUMQueryOptions; } }));
+var RUMQueryPageOptions_1 = __webpack_require__(98647);
+Object.defineProperty(exports, "RUMQueryPageOptions", ({ enumerable: true, get: function () { return RUMQueryPageOptions_1.RUMQueryPageOptions; } }));
+var RUMResponseLinks_1 = __webpack_require__(55504);
+Object.defineProperty(exports, "RUMResponseLinks", ({ enumerable: true, get: function () { return RUMResponseLinks_1.RUMResponseLinks; } }));
+var RUMResponseMetadata_1 = __webpack_require__(34753);
+Object.defineProperty(exports, "RUMResponseMetadata", ({ enumerable: true, get: function () { return RUMResponseMetadata_1.RUMResponseMetadata; } }));
+var RUMResponsePage_1 = __webpack_require__(31750);
+Object.defineProperty(exports, "RUMResponsePage", ({ enumerable: true, get: function () { return RUMResponsePage_1.RUMResponsePage; } }));
+var RUMSearchEventsRequest_1 = __webpack_require__(28839);
+Object.defineProperty(exports, "RUMSearchEventsRequest", ({ enumerable: true, get: function () { return RUMSearchEventsRequest_1.RUMSearchEventsRequest; } }));
+var RUMWarning_1 = __webpack_require__(81499);
+Object.defineProperty(exports, "RUMWarning", ({ enumerable: true, get: function () { return RUMWarning_1.RUMWarning; } }));
+var SAMLAssertionAttribute_1 = __webpack_require__(90269);
+Object.defineProperty(exports, "SAMLAssertionAttribute", ({ enumerable: true, get: function () { return SAMLAssertionAttribute_1.SAMLAssertionAttribute; } }));
+var SAMLAssertionAttributeAttributes_1 = __webpack_require__(24689);
+Object.defineProperty(exports, "SAMLAssertionAttributeAttributes", ({ enumerable: true, get: function () { return SAMLAssertionAttributeAttributes_1.SAMLAssertionAttributeAttributes; } }));
+var ScalarFormulaQueryRequest_1 = __webpack_require__(45958);
+Object.defineProperty(exports, "ScalarFormulaQueryRequest", ({ enumerable: true, get: function () { return ScalarFormulaQueryRequest_1.ScalarFormulaQueryRequest; } }));
+var ScalarFormulaQueryResponse_1 = __webpack_require__(24210);
+Object.defineProperty(exports, "ScalarFormulaQueryResponse", ({ enumerable: true, get: function () { return ScalarFormulaQueryResponse_1.ScalarFormulaQueryResponse; } }));
+var ScalarFormulaRequest_1 = __webpack_require__(26410);
+Object.defineProperty(exports, "ScalarFormulaRequest", ({ enumerable: true, get: function () { return ScalarFormulaRequest_1.ScalarFormulaRequest; } }));
+var ScalarFormulaRequestAttributes_1 = __webpack_require__(74689);
+Object.defineProperty(exports, "ScalarFormulaRequestAttributes", ({ enumerable: true, get: function () { return ScalarFormulaRequestAttributes_1.ScalarFormulaRequestAttributes; } }));
+var ScalarFormulaResponseAtrributes_1 = __webpack_require__(45821);
+Object.defineProperty(exports, "ScalarFormulaResponseAtrributes", ({ enumerable: true, get: function () { return ScalarFormulaResponseAtrributes_1.ScalarFormulaResponseAtrributes; } }));
+var ScalarMeta_1 = __webpack_require__(1795);
+Object.defineProperty(exports, "ScalarMeta", ({ enumerable: true, get: function () { return ScalarMeta_1.ScalarMeta; } }));
+var ScalarResponse_1 = __webpack_require__(17718);
+Object.defineProperty(exports, "ScalarResponse", ({ enumerable: true, get: function () { return ScalarResponse_1.ScalarResponse; } }));
+var SecurityFilter_1 = __webpack_require__(98136);
+Object.defineProperty(exports, "SecurityFilter", ({ enumerable: true, get: function () { return SecurityFilter_1.SecurityFilter; } }));
+var SecurityFilterAttributes_1 = __webpack_require__(48194);
+Object.defineProperty(exports, "SecurityFilterAttributes", ({ enumerable: true, get: function () { return SecurityFilterAttributes_1.SecurityFilterAttributes; } }));
+var SecurityFilterCreateAttributes_1 = __webpack_require__(41713);
+Object.defineProperty(exports, "SecurityFilterCreateAttributes", ({ enumerable: true, get: function () { return SecurityFilterCreateAttributes_1.SecurityFilterCreateAttributes; } }));
+var SecurityFilterCreateData_1 = __webpack_require__(81804);
+Object.defineProperty(exports, "SecurityFilterCreateData", ({ enumerable: true, get: function () { return SecurityFilterCreateData_1.SecurityFilterCreateData; } }));
+var SecurityFilterCreateRequest_1 = __webpack_require__(10474);
+Object.defineProperty(exports, "SecurityFilterCreateRequest", ({ enumerable: true, get: function () { return SecurityFilterCreateRequest_1.SecurityFilterCreateRequest; } }));
+var SecurityFilterExclusionFilter_1 = __webpack_require__(39677);
+Object.defineProperty(exports, "SecurityFilterExclusionFilter", ({ enumerable: true, get: function () { return SecurityFilterExclusionFilter_1.SecurityFilterExclusionFilter; } }));
+var SecurityFilterExclusionFilterResponse_1 = __webpack_require__(14492);
+Object.defineProperty(exports, "SecurityFilterExclusionFilterResponse", ({ enumerable: true, get: function () { return SecurityFilterExclusionFilterResponse_1.SecurityFilterExclusionFilterResponse; } }));
+var SecurityFilterMeta_1 = __webpack_require__(50958);
+Object.defineProperty(exports, "SecurityFilterMeta", ({ enumerable: true, get: function () { return SecurityFilterMeta_1.SecurityFilterMeta; } }));
+var SecurityFilterResponse_1 = __webpack_require__(72023);
+Object.defineProperty(exports, "SecurityFilterResponse", ({ enumerable: true, get: function () { return SecurityFilterResponse_1.SecurityFilterResponse; } }));
+var SecurityFiltersResponse_1 = __webpack_require__(8334);
+Object.defineProperty(exports, "SecurityFiltersResponse", ({ enumerable: true, get: function () { return SecurityFiltersResponse_1.SecurityFiltersResponse; } }));
+var SecurityFilterUpdateAttributes_1 = __webpack_require__(39876);
+Object.defineProperty(exports, "SecurityFilterUpdateAttributes", ({ enumerable: true, get: function () { return SecurityFilterUpdateAttributes_1.SecurityFilterUpdateAttributes; } }));
+var SecurityFilterUpdateData_1 = __webpack_require__(10333);
+Object.defineProperty(exports, "SecurityFilterUpdateData", ({ enumerable: true, get: function () { return SecurityFilterUpdateData_1.SecurityFilterUpdateData; } }));
+var SecurityFilterUpdateRequest_1 = __webpack_require__(84583);
+Object.defineProperty(exports, "SecurityFilterUpdateRequest", ({ enumerable: true, get: function () { return SecurityFilterUpdateRequest_1.SecurityFilterUpdateRequest; } }));
+var SecurityMonitoringFilter_1 = __webpack_require__(49382);
+Object.defineProperty(exports, "SecurityMonitoringFilter", ({ enumerable: true, get: function () { return SecurityMonitoringFilter_1.SecurityMonitoringFilter; } }));
+var SecurityMonitoringListRulesResponse_1 = __webpack_require__(42623);
+Object.defineProperty(exports, "SecurityMonitoringListRulesResponse", ({ enumerable: true, get: function () { return SecurityMonitoringListRulesResponse_1.SecurityMonitoringListRulesResponse; } }));
+var SecurityMonitoringRuleCase_1 = __webpack_require__(51268);
+Object.defineProperty(exports, "SecurityMonitoringRuleCase", ({ enumerable: true, get: function () { return SecurityMonitoringRuleCase_1.SecurityMonitoringRuleCase; } }));
+var SecurityMonitoringRuleCaseCreate_1 = __webpack_require__(47916);
+Object.defineProperty(exports, "SecurityMonitoringRuleCaseCreate", ({ enumerable: true, get: function () { return SecurityMonitoringRuleCaseCreate_1.SecurityMonitoringRuleCaseCreate; } }));
+var SecurityMonitoringRuleImpossibleTravelOptions_1 = __webpack_require__(27598);
+Object.defineProperty(exports, "SecurityMonitoringRuleImpossibleTravelOptions", ({ enumerable: true, get: function () { return SecurityMonitoringRuleImpossibleTravelOptions_1.SecurityMonitoringRuleImpossibleTravelOptions; } }));
+var SecurityMonitoringRuleNewValueOptions_1 = __webpack_require__(23671);
+Object.defineProperty(exports, "SecurityMonitoringRuleNewValueOptions", ({ enumerable: true, get: function () { return SecurityMonitoringRuleNewValueOptions_1.SecurityMonitoringRuleNewValueOptions; } }));
+var SecurityMonitoringRuleOptions_1 = __webpack_require__(102);
+Object.defineProperty(exports, "SecurityMonitoringRuleOptions", ({ enumerable: true, get: function () { return SecurityMonitoringRuleOptions_1.SecurityMonitoringRuleOptions; } }));
+var SecurityMonitoringRuleUpdatePayload_1 = __webpack_require__(9376);
+Object.defineProperty(exports, "SecurityMonitoringRuleUpdatePayload", ({ enumerable: true, get: function () { return SecurityMonitoringRuleUpdatePayload_1.SecurityMonitoringRuleUpdatePayload; } }));
+var SecurityMonitoringSignal_1 = __webpack_require__(1553);
+Object.defineProperty(exports, "SecurityMonitoringSignal", ({ enumerable: true, get: function () { return SecurityMonitoringSignal_1.SecurityMonitoringSignal; } }));
+var SecurityMonitoringSignalAssigneeUpdateAttributes_1 = __webpack_require__(45363);
+Object.defineProperty(exports, "SecurityMonitoringSignalAssigneeUpdateAttributes", ({ enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateAttributes_1.SecurityMonitoringSignalAssigneeUpdateAttributes; } }));
+var SecurityMonitoringSignalAssigneeUpdateData_1 = __webpack_require__(16920);
+Object.defineProperty(exports, "SecurityMonitoringSignalAssigneeUpdateData", ({ enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateData_1.SecurityMonitoringSignalAssigneeUpdateData; } }));
+var SecurityMonitoringSignalAssigneeUpdateRequest_1 = __webpack_require__(29710);
+Object.defineProperty(exports, "SecurityMonitoringSignalAssigneeUpdateRequest", ({ enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateRequest_1.SecurityMonitoringSignalAssigneeUpdateRequest; } }));
+var SecurityMonitoringSignalAttributes_1 = __webpack_require__(52655);
+Object.defineProperty(exports, "SecurityMonitoringSignalAttributes", ({ enumerable: true, get: function () { return SecurityMonitoringSignalAttributes_1.SecurityMonitoringSignalAttributes; } }));
+var SecurityMonitoringSignalIncidentsUpdateAttributes_1 = __webpack_require__(73864);
+Object.defineProperty(exports, "SecurityMonitoringSignalIncidentsUpdateAttributes", ({ enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateAttributes_1.SecurityMonitoringSignalIncidentsUpdateAttributes; } }));
+var SecurityMonitoringSignalIncidentsUpdateData_1 = __webpack_require__(4718);
+Object.defineProperty(exports, "SecurityMonitoringSignalIncidentsUpdateData", ({ enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateData_1.SecurityMonitoringSignalIncidentsUpdateData; } }));
+var SecurityMonitoringSignalIncidentsUpdateRequest_1 = __webpack_require__(55348);
+Object.defineProperty(exports, "SecurityMonitoringSignalIncidentsUpdateRequest", ({ enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateRequest_1.SecurityMonitoringSignalIncidentsUpdateRequest; } }));
+var SecurityMonitoringSignalListRequest_1 = __webpack_require__(10932);
+Object.defineProperty(exports, "SecurityMonitoringSignalListRequest", ({ enumerable: true, get: function () { return SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest; } }));
+var SecurityMonitoringSignalListRequestFilter_1 = __webpack_require__(65854);
+Object.defineProperty(exports, "SecurityMonitoringSignalListRequestFilter", ({ enumerable: true, get: function () { return SecurityMonitoringSignalListRequestFilter_1.SecurityMonitoringSignalListRequestFilter; } }));
+var SecurityMonitoringSignalListRequestPage_1 = __webpack_require__(90767);
+Object.defineProperty(exports, "SecurityMonitoringSignalListRequestPage", ({ enumerable: true, get: function () { return SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage; } }));
+var SecurityMonitoringSignalResponse_1 = __webpack_require__(17188);
+Object.defineProperty(exports, "SecurityMonitoringSignalResponse", ({ enumerable: true, get: function () { return SecurityMonitoringSignalResponse_1.SecurityMonitoringSignalResponse; } }));
+var SecurityMonitoringSignalRuleCreatePayload_1 = __webpack_require__(36371);
+Object.defineProperty(exports, "SecurityMonitoringSignalRuleCreatePayload", ({ enumerable: true, get: function () { return SecurityMonitoringSignalRuleCreatePayload_1.SecurityMonitoringSignalRuleCreatePayload; } }));
+var SecurityMonitoringSignalRuleQuery_1 = __webpack_require__(79272);
+Object.defineProperty(exports, "SecurityMonitoringSignalRuleQuery", ({ enumerable: true, get: function () { return SecurityMonitoringSignalRuleQuery_1.SecurityMonitoringSignalRuleQuery; } }));
+var SecurityMonitoringSignalRuleResponse_1 = __webpack_require__(7909);
+Object.defineProperty(exports, "SecurityMonitoringSignalRuleResponse", ({ enumerable: true, get: function () { return SecurityMonitoringSignalRuleResponse_1.SecurityMonitoringSignalRuleResponse; } }));
+var SecurityMonitoringSignalRuleResponseQuery_1 = __webpack_require__(58294);
+Object.defineProperty(exports, "SecurityMonitoringSignalRuleResponseQuery", ({ enumerable: true, get: function () { return SecurityMonitoringSignalRuleResponseQuery_1.SecurityMonitoringSignalRuleResponseQuery; } }));
+var SecurityMonitoringSignalsListResponse_1 = __webpack_require__(45578);
+Object.defineProperty(exports, "SecurityMonitoringSignalsListResponse", ({ enumerable: true, get: function () { return SecurityMonitoringSignalsListResponse_1.SecurityMonitoringSignalsListResponse; } }));
+var SecurityMonitoringSignalsListResponseLinks_1 = __webpack_require__(43590);
+Object.defineProperty(exports, "SecurityMonitoringSignalsListResponseLinks", ({ enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseLinks_1.SecurityMonitoringSignalsListResponseLinks; } }));
+var SecurityMonitoringSignalsListResponseMeta_1 = __webpack_require__(37270);
+Object.defineProperty(exports, "SecurityMonitoringSignalsListResponseMeta", ({ enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseMeta_1.SecurityMonitoringSignalsListResponseMeta; } }));
+var SecurityMonitoringSignalsListResponseMetaPage_1 = __webpack_require__(23662);
+Object.defineProperty(exports, "SecurityMonitoringSignalsListResponseMetaPage", ({ enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseMetaPage_1.SecurityMonitoringSignalsListResponseMetaPage; } }));
+var SecurityMonitoringSignalStateUpdateAttributes_1 = __webpack_require__(58197);
+Object.defineProperty(exports, "SecurityMonitoringSignalStateUpdateAttributes", ({ enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateAttributes_1.SecurityMonitoringSignalStateUpdateAttributes; } }));
+var SecurityMonitoringSignalStateUpdateData_1 = __webpack_require__(42749);
+Object.defineProperty(exports, "SecurityMonitoringSignalStateUpdateData", ({ enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateData_1.SecurityMonitoringSignalStateUpdateData; } }));
+var SecurityMonitoringSignalStateUpdateRequest_1 = __webpack_require__(23286);
+Object.defineProperty(exports, "SecurityMonitoringSignalStateUpdateRequest", ({ enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateRequest_1.SecurityMonitoringSignalStateUpdateRequest; } }));
+var SecurityMonitoringSignalTriageAttributes_1 = __webpack_require__(17580);
+Object.defineProperty(exports, "SecurityMonitoringSignalTriageAttributes", ({ enumerable: true, get: function () { return SecurityMonitoringSignalTriageAttributes_1.SecurityMonitoringSignalTriageAttributes; } }));
+var SecurityMonitoringSignalTriageUpdateData_1 = __webpack_require__(8148);
+Object.defineProperty(exports, "SecurityMonitoringSignalTriageUpdateData", ({ enumerable: true, get: function () { return SecurityMonitoringSignalTriageUpdateData_1.SecurityMonitoringSignalTriageUpdateData; } }));
+var SecurityMonitoringSignalTriageUpdateResponse_1 = __webpack_require__(85262);
+Object.defineProperty(exports, "SecurityMonitoringSignalTriageUpdateResponse", ({ enumerable: true, get: function () { return SecurityMonitoringSignalTriageUpdateResponse_1.SecurityMonitoringSignalTriageUpdateResponse; } }));
+var SecurityMonitoringStandardRuleCreatePayload_1 = __webpack_require__(89492);
+Object.defineProperty(exports, "SecurityMonitoringStandardRuleCreatePayload", ({ enumerable: true, get: function () { return SecurityMonitoringStandardRuleCreatePayload_1.SecurityMonitoringStandardRuleCreatePayload; } }));
+var SecurityMonitoringStandardRuleQuery_1 = __webpack_require__(1174);
+Object.defineProperty(exports, "SecurityMonitoringStandardRuleQuery", ({ enumerable: true, get: function () { return SecurityMonitoringStandardRuleQuery_1.SecurityMonitoringStandardRuleQuery; } }));
+var SecurityMonitoringStandardRuleResponse_1 = __webpack_require__(56338);
+Object.defineProperty(exports, "SecurityMonitoringStandardRuleResponse", ({ enumerable: true, get: function () { return SecurityMonitoringStandardRuleResponse_1.SecurityMonitoringStandardRuleResponse; } }));
+var SecurityMonitoringTriageUser_1 = __webpack_require__(26952);
+Object.defineProperty(exports, "SecurityMonitoringTriageUser", ({ enumerable: true, get: function () { return SecurityMonitoringTriageUser_1.SecurityMonitoringTriageUser; } }));
+var SensitiveDataScannerConfigRequest_1 = __webpack_require__(69411);
+Object.defineProperty(exports, "SensitiveDataScannerConfigRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerConfigRequest_1.SensitiveDataScannerConfigRequest; } }));
+var SensitiveDataScannerConfiguration_1 = __webpack_require__(35401);
+Object.defineProperty(exports, "SensitiveDataScannerConfiguration", ({ enumerable: true, get: function () { return SensitiveDataScannerConfiguration_1.SensitiveDataScannerConfiguration; } }));
+var SensitiveDataScannerConfigurationData_1 = __webpack_require__(74356);
+Object.defineProperty(exports, "SensitiveDataScannerConfigurationData", ({ enumerable: true, get: function () { return SensitiveDataScannerConfigurationData_1.SensitiveDataScannerConfigurationData; } }));
+var SensitiveDataScannerConfigurationRelationships_1 = __webpack_require__(39656);
+Object.defineProperty(exports, "SensitiveDataScannerConfigurationRelationships", ({ enumerable: true, get: function () { return SensitiveDataScannerConfigurationRelationships_1.SensitiveDataScannerConfigurationRelationships; } }));
+var SensitiveDataScannerCreateGroupResponse_1 = __webpack_require__(75690);
+Object.defineProperty(exports, "SensitiveDataScannerCreateGroupResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerCreateGroupResponse_1.SensitiveDataScannerCreateGroupResponse; } }));
+var SensitiveDataScannerCreateRuleResponse_1 = __webpack_require__(22101);
+Object.defineProperty(exports, "SensitiveDataScannerCreateRuleResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerCreateRuleResponse_1.SensitiveDataScannerCreateRuleResponse; } }));
+var SensitiveDataScannerFilter_1 = __webpack_require__(85260);
+Object.defineProperty(exports, "SensitiveDataScannerFilter", ({ enumerable: true, get: function () { return SensitiveDataScannerFilter_1.SensitiveDataScannerFilter; } }));
+var SensitiveDataScannerGetConfigResponse_1 = __webpack_require__(67581);
+Object.defineProperty(exports, "SensitiveDataScannerGetConfigResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerGetConfigResponse_1.SensitiveDataScannerGetConfigResponse; } }));
+var SensitiveDataScannerGetConfigResponseData_1 = __webpack_require__(64073);
+Object.defineProperty(exports, "SensitiveDataScannerGetConfigResponseData", ({ enumerable: true, get: function () { return SensitiveDataScannerGetConfigResponseData_1.SensitiveDataScannerGetConfigResponseData; } }));
+var SensitiveDataScannerGroup_1 = __webpack_require__(62426);
+Object.defineProperty(exports, "SensitiveDataScannerGroup", ({ enumerable: true, get: function () { return SensitiveDataScannerGroup_1.SensitiveDataScannerGroup; } }));
+var SensitiveDataScannerGroupAttributes_1 = __webpack_require__(9924);
+Object.defineProperty(exports, "SensitiveDataScannerGroupAttributes", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupAttributes_1.SensitiveDataScannerGroupAttributes; } }));
+var SensitiveDataScannerGroupCreate_1 = __webpack_require__(30602);
+Object.defineProperty(exports, "SensitiveDataScannerGroupCreate", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupCreate_1.SensitiveDataScannerGroupCreate; } }));
+var SensitiveDataScannerGroupCreateRequest_1 = __webpack_require__(51602);
+Object.defineProperty(exports, "SensitiveDataScannerGroupCreateRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupCreateRequest_1.SensitiveDataScannerGroupCreateRequest; } }));
+var SensitiveDataScannerGroupData_1 = __webpack_require__(7266);
+Object.defineProperty(exports, "SensitiveDataScannerGroupData", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupData_1.SensitiveDataScannerGroupData; } }));
+var SensitiveDataScannerGroupDeleteRequest_1 = __webpack_require__(31407);
+Object.defineProperty(exports, "SensitiveDataScannerGroupDeleteRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupDeleteRequest_1.SensitiveDataScannerGroupDeleteRequest; } }));
+var SensitiveDataScannerGroupDeleteResponse_1 = __webpack_require__(61104);
+Object.defineProperty(exports, "SensitiveDataScannerGroupDeleteResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupDeleteResponse_1.SensitiveDataScannerGroupDeleteResponse; } }));
+var SensitiveDataScannerGroupIncludedItem_1 = __webpack_require__(26041);
+Object.defineProperty(exports, "SensitiveDataScannerGroupIncludedItem", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupIncludedItem_1.SensitiveDataScannerGroupIncludedItem; } }));
+var SensitiveDataScannerGroupItem_1 = __webpack_require__(2146);
+Object.defineProperty(exports, "SensitiveDataScannerGroupItem", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupItem_1.SensitiveDataScannerGroupItem; } }));
+var SensitiveDataScannerGroupList_1 = __webpack_require__(59249);
+Object.defineProperty(exports, "SensitiveDataScannerGroupList", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupList_1.SensitiveDataScannerGroupList; } }));
+var SensitiveDataScannerGroupRelationships_1 = __webpack_require__(51790);
+Object.defineProperty(exports, "SensitiveDataScannerGroupRelationships", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupRelationships_1.SensitiveDataScannerGroupRelationships; } }));
+var SensitiveDataScannerGroupResponse_1 = __webpack_require__(65128);
+Object.defineProperty(exports, "SensitiveDataScannerGroupResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupResponse_1.SensitiveDataScannerGroupResponse; } }));
+var SensitiveDataScannerGroupUpdate_1 = __webpack_require__(52945);
+Object.defineProperty(exports, "SensitiveDataScannerGroupUpdate", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupUpdate_1.SensitiveDataScannerGroupUpdate; } }));
+var SensitiveDataScannerGroupUpdateRequest_1 = __webpack_require__(34142);
+Object.defineProperty(exports, "SensitiveDataScannerGroupUpdateRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupUpdateRequest_1.SensitiveDataScannerGroupUpdateRequest; } }));
+var SensitiveDataScannerGroupUpdateResponse_1 = __webpack_require__(13989);
+Object.defineProperty(exports, "SensitiveDataScannerGroupUpdateResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerGroupUpdateResponse_1.SensitiveDataScannerGroupUpdateResponse; } }));
+var SensitiveDataScannerMeta_1 = __webpack_require__(31910);
+Object.defineProperty(exports, "SensitiveDataScannerMeta", ({ enumerable: true, get: function () { return SensitiveDataScannerMeta_1.SensitiveDataScannerMeta; } }));
+var SensitiveDataScannerMetaVersionOnly_1 = __webpack_require__(88469);
+Object.defineProperty(exports, "SensitiveDataScannerMetaVersionOnly", ({ enumerable: true, get: function () { return SensitiveDataScannerMetaVersionOnly_1.SensitiveDataScannerMetaVersionOnly; } }));
+var SensitiveDataScannerReorderConfig_1 = __webpack_require__(8383);
+Object.defineProperty(exports, "SensitiveDataScannerReorderConfig", ({ enumerable: true, get: function () { return SensitiveDataScannerReorderConfig_1.SensitiveDataScannerReorderConfig; } }));
+var SensitiveDataScannerReorderGroupsResponse_1 = __webpack_require__(50821);
+Object.defineProperty(exports, "SensitiveDataScannerReorderGroupsResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerReorderGroupsResponse_1.SensitiveDataScannerReorderGroupsResponse; } }));
+var SensitiveDataScannerRule_1 = __webpack_require__(26568);
+Object.defineProperty(exports, "SensitiveDataScannerRule", ({ enumerable: true, get: function () { return SensitiveDataScannerRule_1.SensitiveDataScannerRule; } }));
+var SensitiveDataScannerRuleAttributes_1 = __webpack_require__(81304);
+Object.defineProperty(exports, "SensitiveDataScannerRuleAttributes", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleAttributes_1.SensitiveDataScannerRuleAttributes; } }));
+var SensitiveDataScannerRuleCreate_1 = __webpack_require__(44345);
+Object.defineProperty(exports, "SensitiveDataScannerRuleCreate", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleCreate_1.SensitiveDataScannerRuleCreate; } }));
+var SensitiveDataScannerRuleCreateRequest_1 = __webpack_require__(49279);
+Object.defineProperty(exports, "SensitiveDataScannerRuleCreateRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleCreateRequest_1.SensitiveDataScannerRuleCreateRequest; } }));
+var SensitiveDataScannerRuleData_1 = __webpack_require__(18714);
+Object.defineProperty(exports, "SensitiveDataScannerRuleData", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleData_1.SensitiveDataScannerRuleData; } }));
+var SensitiveDataScannerRuleDeleteRequest_1 = __webpack_require__(46228);
+Object.defineProperty(exports, "SensitiveDataScannerRuleDeleteRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleDeleteRequest_1.SensitiveDataScannerRuleDeleteRequest; } }));
+var SensitiveDataScannerRuleDeleteResponse_1 = __webpack_require__(95736);
+Object.defineProperty(exports, "SensitiveDataScannerRuleDeleteResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleDeleteResponse_1.SensitiveDataScannerRuleDeleteResponse; } }));
+var SensitiveDataScannerRuleIncludedItem_1 = __webpack_require__(55756);
+Object.defineProperty(exports, "SensitiveDataScannerRuleIncludedItem", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleIncludedItem_1.SensitiveDataScannerRuleIncludedItem; } }));
+var SensitiveDataScannerRuleRelationships_1 = __webpack_require__(66242);
+Object.defineProperty(exports, "SensitiveDataScannerRuleRelationships", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleRelationships_1.SensitiveDataScannerRuleRelationships; } }));
+var SensitiveDataScannerRuleResponse_1 = __webpack_require__(20401);
+Object.defineProperty(exports, "SensitiveDataScannerRuleResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleResponse_1.SensitiveDataScannerRuleResponse; } }));
+var SensitiveDataScannerRuleUpdate_1 = __webpack_require__(21545);
+Object.defineProperty(exports, "SensitiveDataScannerRuleUpdate", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleUpdate_1.SensitiveDataScannerRuleUpdate; } }));
+var SensitiveDataScannerRuleUpdateRequest_1 = __webpack_require__(67656);
+Object.defineProperty(exports, "SensitiveDataScannerRuleUpdateRequest", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleUpdateRequest_1.SensitiveDataScannerRuleUpdateRequest; } }));
+var SensitiveDataScannerRuleUpdateResponse_1 = __webpack_require__(94431);
+Object.defineProperty(exports, "SensitiveDataScannerRuleUpdateResponse", ({ enumerable: true, get: function () { return SensitiveDataScannerRuleUpdateResponse_1.SensitiveDataScannerRuleUpdateResponse; } }));
+var SensitiveDataScannerStandardPattern_1 = __webpack_require__(92452);
+Object.defineProperty(exports, "SensitiveDataScannerStandardPattern", ({ enumerable: true, get: function () { return SensitiveDataScannerStandardPattern_1.SensitiveDataScannerStandardPattern; } }));
+var SensitiveDataScannerStandardPatternAttributes_1 = __webpack_require__(97689);
+Object.defineProperty(exports, "SensitiveDataScannerStandardPatternAttributes", ({ enumerable: true, get: function () { return SensitiveDataScannerStandardPatternAttributes_1.SensitiveDataScannerStandardPatternAttributes; } }));
+var SensitiveDataScannerStandardPatternData_1 = __webpack_require__(95146);
+Object.defineProperty(exports, "SensitiveDataScannerStandardPatternData", ({ enumerable: true, get: function () { return SensitiveDataScannerStandardPatternData_1.SensitiveDataScannerStandardPatternData; } }));
+var SensitiveDataScannerStandardPatternsResponseData_1 = __webpack_require__(56087);
+Object.defineProperty(exports, "SensitiveDataScannerStandardPatternsResponseData", ({ enumerable: true, get: function () { return SensitiveDataScannerStandardPatternsResponseData_1.SensitiveDataScannerStandardPatternsResponseData; } }));
+var SensitiveDataScannerStandardPatternsResponseItem_1 = __webpack_require__(85949);
+Object.defineProperty(exports, "SensitiveDataScannerStandardPatternsResponseItem", ({ enumerable: true, get: function () { return SensitiveDataScannerStandardPatternsResponseItem_1.SensitiveDataScannerStandardPatternsResponseItem; } }));
+var SensitiveDataScannerTextReplacement_1 = __webpack_require__(21397);
+Object.defineProperty(exports, "SensitiveDataScannerTextReplacement", ({ enumerable: true, get: function () { return SensitiveDataScannerTextReplacement_1.SensitiveDataScannerTextReplacement; } }));
+var ServiceAccountCreateAttributes_1 = __webpack_require__(68937);
+Object.defineProperty(exports, "ServiceAccountCreateAttributes", ({ enumerable: true, get: function () { return ServiceAccountCreateAttributes_1.ServiceAccountCreateAttributes; } }));
+var ServiceAccountCreateData_1 = __webpack_require__(93848);
+Object.defineProperty(exports, "ServiceAccountCreateData", ({ enumerable: true, get: function () { return ServiceAccountCreateData_1.ServiceAccountCreateData; } }));
+var ServiceAccountCreateRequest_1 = __webpack_require__(61830);
+Object.defineProperty(exports, "ServiceAccountCreateRequest", ({ enumerable: true, get: function () { return ServiceAccountCreateRequest_1.ServiceAccountCreateRequest; } }));
+var ServiceDefinitionCreateResponse_1 = __webpack_require__(19264);
+Object.defineProperty(exports, "ServiceDefinitionCreateResponse", ({ enumerable: true, get: function () { return ServiceDefinitionCreateResponse_1.ServiceDefinitionCreateResponse; } }));
+var ServiceDefinitionData_1 = __webpack_require__(38925);
+Object.defineProperty(exports, "ServiceDefinitionData", ({ enumerable: true, get: function () { return ServiceDefinitionData_1.ServiceDefinitionData; } }));
+var ServiceDefinitionDataAttributes_1 = __webpack_require__(81922);
+Object.defineProperty(exports, "ServiceDefinitionDataAttributes", ({ enumerable: true, get: function () { return ServiceDefinitionDataAttributes_1.ServiceDefinitionDataAttributes; } }));
+var ServiceDefinitionGetResponse_1 = __webpack_require__(63472);
+Object.defineProperty(exports, "ServiceDefinitionGetResponse", ({ enumerable: true, get: function () { return ServiceDefinitionGetResponse_1.ServiceDefinitionGetResponse; } }));
+var ServiceDefinitionMeta_1 = __webpack_require__(87896);
+Object.defineProperty(exports, "ServiceDefinitionMeta", ({ enumerable: true, get: function () { return ServiceDefinitionMeta_1.ServiceDefinitionMeta; } }));
+var ServiceDefinitionMetaWarnings_1 = __webpack_require__(77112);
+Object.defineProperty(exports, "ServiceDefinitionMetaWarnings", ({ enumerable: true, get: function () { return ServiceDefinitionMetaWarnings_1.ServiceDefinitionMetaWarnings; } }));
+var ServiceDefinitionsListResponse_1 = __webpack_require__(19094);
+Object.defineProperty(exports, "ServiceDefinitionsListResponse", ({ enumerable: true, get: function () { return ServiceDefinitionsListResponse_1.ServiceDefinitionsListResponse; } }));
+var ServiceDefinitionV1_1 = __webpack_require__(90697);
+Object.defineProperty(exports, "ServiceDefinitionV1", ({ enumerable: true, get: function () { return ServiceDefinitionV1_1.ServiceDefinitionV1; } }));
+var ServiceDefinitionV1Contact_1 = __webpack_require__(15281);
+Object.defineProperty(exports, "ServiceDefinitionV1Contact", ({ enumerable: true, get: function () { return ServiceDefinitionV1Contact_1.ServiceDefinitionV1Contact; } }));
+var ServiceDefinitionV1Info_1 = __webpack_require__(15707);
+Object.defineProperty(exports, "ServiceDefinitionV1Info", ({ enumerable: true, get: function () { return ServiceDefinitionV1Info_1.ServiceDefinitionV1Info; } }));
+var ServiceDefinitionV1Integrations_1 = __webpack_require__(18115);
+Object.defineProperty(exports, "ServiceDefinitionV1Integrations", ({ enumerable: true, get: function () { return ServiceDefinitionV1Integrations_1.ServiceDefinitionV1Integrations; } }));
+var ServiceDefinitionV1Org_1 = __webpack_require__(9483);
+Object.defineProperty(exports, "ServiceDefinitionV1Org", ({ enumerable: true, get: function () { return ServiceDefinitionV1Org_1.ServiceDefinitionV1Org; } }));
+var ServiceDefinitionV1Resource_1 = __webpack_require__(49088);
+Object.defineProperty(exports, "ServiceDefinitionV1Resource", ({ enumerable: true, get: function () { return ServiceDefinitionV1Resource_1.ServiceDefinitionV1Resource; } }));
+var ServiceDefinitionV2_1 = __webpack_require__(68522);
+Object.defineProperty(exports, "ServiceDefinitionV2", ({ enumerable: true, get: function () { return ServiceDefinitionV2_1.ServiceDefinitionV2; } }));
+var ServiceDefinitionV2Doc_1 = __webpack_require__(9350);
+Object.defineProperty(exports, "ServiceDefinitionV2Doc", ({ enumerable: true, get: function () { return ServiceDefinitionV2Doc_1.ServiceDefinitionV2Doc; } }));
+var ServiceDefinitionV2Dot1_1 = __webpack_require__(26361);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1_1.ServiceDefinitionV2Dot1; } }));
+var ServiceDefinitionV2Dot1Email_1 = __webpack_require__(61547);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Email", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Email_1.ServiceDefinitionV2Dot1Email; } }));
+var ServiceDefinitionV2Dot1Integrations_1 = __webpack_require__(39637);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Integrations", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Integrations_1.ServiceDefinitionV2Dot1Integrations; } }));
+var ServiceDefinitionV2Dot1Link_1 = __webpack_require__(12346);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Link", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Link_1.ServiceDefinitionV2Dot1Link; } }));
+var ServiceDefinitionV2Dot1MSTeams_1 = __webpack_require__(52832);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1MSTeams", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1MSTeams_1.ServiceDefinitionV2Dot1MSTeams; } }));
+var ServiceDefinitionV2Dot1Opsgenie_1 = __webpack_require__(35847);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Opsgenie", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Opsgenie_1.ServiceDefinitionV2Dot1Opsgenie; } }));
+var ServiceDefinitionV2Dot1Pagerduty_1 = __webpack_require__(87649);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Pagerduty", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Pagerduty_1.ServiceDefinitionV2Dot1Pagerduty; } }));
+var ServiceDefinitionV2Dot1Slack_1 = __webpack_require__(64044);
+Object.defineProperty(exports, "ServiceDefinitionV2Dot1Slack", ({ enumerable: true, get: function () { return ServiceDefinitionV2Dot1Slack_1.ServiceDefinitionV2Dot1Slack; } }));
+var ServiceDefinitionV2Email_1 = __webpack_require__(21087);
+Object.defineProperty(exports, "ServiceDefinitionV2Email", ({ enumerable: true, get: function () { return ServiceDefinitionV2Email_1.ServiceDefinitionV2Email; } }));
+var ServiceDefinitionV2Integrations_1 = __webpack_require__(73259);
+Object.defineProperty(exports, "ServiceDefinitionV2Integrations", ({ enumerable: true, get: function () { return ServiceDefinitionV2Integrations_1.ServiceDefinitionV2Integrations; } }));
+var ServiceDefinitionV2Link_1 = __webpack_require__(34150);
+Object.defineProperty(exports, "ServiceDefinitionV2Link", ({ enumerable: true, get: function () { return ServiceDefinitionV2Link_1.ServiceDefinitionV2Link; } }));
+var ServiceDefinitionV2MSTeams_1 = __webpack_require__(92847);
+Object.defineProperty(exports, "ServiceDefinitionV2MSTeams", ({ enumerable: true, get: function () { return ServiceDefinitionV2MSTeams_1.ServiceDefinitionV2MSTeams; } }));
+var ServiceDefinitionV2Opsgenie_1 = __webpack_require__(66753);
+Object.defineProperty(exports, "ServiceDefinitionV2Opsgenie", ({ enumerable: true, get: function () { return ServiceDefinitionV2Opsgenie_1.ServiceDefinitionV2Opsgenie; } }));
+var ServiceDefinitionV2Repo_1 = __webpack_require__(86906);
+Object.defineProperty(exports, "ServiceDefinitionV2Repo", ({ enumerable: true, get: function () { return ServiceDefinitionV2Repo_1.ServiceDefinitionV2Repo; } }));
+var ServiceDefinitionV2Slack_1 = __webpack_require__(2083);
+Object.defineProperty(exports, "ServiceDefinitionV2Slack", ({ enumerable: true, get: function () { return ServiceDefinitionV2Slack_1.ServiceDefinitionV2Slack; } }));
+var SlackIntegrationMetadata_1 = __webpack_require__(31204);
+Object.defineProperty(exports, "SlackIntegrationMetadata", ({ enumerable: true, get: function () { return SlackIntegrationMetadata_1.SlackIntegrationMetadata; } }));
+var SlackIntegrationMetadataChannelItem_1 = __webpack_require__(17953);
+Object.defineProperty(exports, "SlackIntegrationMetadataChannelItem", ({ enumerable: true, get: function () { return SlackIntegrationMetadataChannelItem_1.SlackIntegrationMetadataChannelItem; } }));
+var Span_1 = __webpack_require__(65274);
+Object.defineProperty(exports, "Span", ({ enumerable: true, get: function () { return Span_1.Span; } }));
+var SpansAggregateBucket_1 = __webpack_require__(15741);
+Object.defineProperty(exports, "SpansAggregateBucket", ({ enumerable: true, get: function () { return SpansAggregateBucket_1.SpansAggregateBucket; } }));
+var SpansAggregateBucketAttributes_1 = __webpack_require__(10658);
+Object.defineProperty(exports, "SpansAggregateBucketAttributes", ({ enumerable: true, get: function () { return SpansAggregateBucketAttributes_1.SpansAggregateBucketAttributes; } }));
+var SpansAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(15773);
+Object.defineProperty(exports, "SpansAggregateBucketValueTimeseriesPoint", ({ enumerable: true, get: function () { return SpansAggregateBucketValueTimeseriesPoint_1.SpansAggregateBucketValueTimeseriesPoint; } }));
+var SpansAggregateData_1 = __webpack_require__(24329);
+Object.defineProperty(exports, "SpansAggregateData", ({ enumerable: true, get: function () { return SpansAggregateData_1.SpansAggregateData; } }));
+var SpansAggregateRequest_1 = __webpack_require__(44555);
+Object.defineProperty(exports, "SpansAggregateRequest", ({ enumerable: true, get: function () { return SpansAggregateRequest_1.SpansAggregateRequest; } }));
+var SpansAggregateRequestAttributes_1 = __webpack_require__(81926);
+Object.defineProperty(exports, "SpansAggregateRequestAttributes", ({ enumerable: true, get: function () { return SpansAggregateRequestAttributes_1.SpansAggregateRequestAttributes; } }));
+var SpansAggregateResponse_1 = __webpack_require__(19367);
+Object.defineProperty(exports, "SpansAggregateResponse", ({ enumerable: true, get: function () { return SpansAggregateResponse_1.SpansAggregateResponse; } }));
+var SpansAggregateResponseMetadata_1 = __webpack_require__(97347);
+Object.defineProperty(exports, "SpansAggregateResponseMetadata", ({ enumerable: true, get: function () { return SpansAggregateResponseMetadata_1.SpansAggregateResponseMetadata; } }));
+var SpansAggregateSort_1 = __webpack_require__(62931);
+Object.defineProperty(exports, "SpansAggregateSort", ({ enumerable: true, get: function () { return SpansAggregateSort_1.SpansAggregateSort; } }));
+var SpansAttributes_1 = __webpack_require__(91638);
+Object.defineProperty(exports, "SpansAttributes", ({ enumerable: true, get: function () { return SpansAttributes_1.SpansAttributes; } }));
+var SpansCompute_1 = __webpack_require__(74315);
+Object.defineProperty(exports, "SpansCompute", ({ enumerable: true, get: function () { return SpansCompute_1.SpansCompute; } }));
+var SpansGroupBy_1 = __webpack_require__(30532);
+Object.defineProperty(exports, "SpansGroupBy", ({ enumerable: true, get: function () { return SpansGroupBy_1.SpansGroupBy; } }));
+var SpansGroupByHistogram_1 = __webpack_require__(64616);
+Object.defineProperty(exports, "SpansGroupByHistogram", ({ enumerable: true, get: function () { return SpansGroupByHistogram_1.SpansGroupByHistogram; } }));
+var SpansListRequest_1 = __webpack_require__(50701);
+Object.defineProperty(exports, "SpansListRequest", ({ enumerable: true, get: function () { return SpansListRequest_1.SpansListRequest; } }));
+var SpansListRequestAttributes_1 = __webpack_require__(67861);
+Object.defineProperty(exports, "SpansListRequestAttributes", ({ enumerable: true, get: function () { return SpansListRequestAttributes_1.SpansListRequestAttributes; } }));
+var SpansListRequestData_1 = __webpack_require__(45722);
+Object.defineProperty(exports, "SpansListRequestData", ({ enumerable: true, get: function () { return SpansListRequestData_1.SpansListRequestData; } }));
+var SpansListRequestPage_1 = __webpack_require__(63987);
+Object.defineProperty(exports, "SpansListRequestPage", ({ enumerable: true, get: function () { return SpansListRequestPage_1.SpansListRequestPage; } }));
+var SpansListResponse_1 = __webpack_require__(92654);
+Object.defineProperty(exports, "SpansListResponse", ({ enumerable: true, get: function () { return SpansListResponse_1.SpansListResponse; } }));
+var SpansListResponseLinks_1 = __webpack_require__(61700);
+Object.defineProperty(exports, "SpansListResponseLinks", ({ enumerable: true, get: function () { return SpansListResponseLinks_1.SpansListResponseLinks; } }));
+var SpansListResponseMetadata_1 = __webpack_require__(19155);
+Object.defineProperty(exports, "SpansListResponseMetadata", ({ enumerable: true, get: function () { return SpansListResponseMetadata_1.SpansListResponseMetadata; } }));
+var SpansMetricCompute_1 = __webpack_require__(37882);
+Object.defineProperty(exports, "SpansMetricCompute", ({ enumerable: true, get: function () { return SpansMetricCompute_1.SpansMetricCompute; } }));
+var SpansMetricCreateAttributes_1 = __webpack_require__(66858);
+Object.defineProperty(exports, "SpansMetricCreateAttributes", ({ enumerable: true, get: function () { return SpansMetricCreateAttributes_1.SpansMetricCreateAttributes; } }));
+var SpansMetricCreateData_1 = __webpack_require__(98053);
+Object.defineProperty(exports, "SpansMetricCreateData", ({ enumerable: true, get: function () { return SpansMetricCreateData_1.SpansMetricCreateData; } }));
+var SpansMetricCreateRequest_1 = __webpack_require__(33486);
+Object.defineProperty(exports, "SpansMetricCreateRequest", ({ enumerable: true, get: function () { return SpansMetricCreateRequest_1.SpansMetricCreateRequest; } }));
+var SpansMetricFilter_1 = __webpack_require__(53650);
+Object.defineProperty(exports, "SpansMetricFilter", ({ enumerable: true, get: function () { return SpansMetricFilter_1.SpansMetricFilter; } }));
+var SpansMetricGroupBy_1 = __webpack_require__(95310);
+Object.defineProperty(exports, "SpansMetricGroupBy", ({ enumerable: true, get: function () { return SpansMetricGroupBy_1.SpansMetricGroupBy; } }));
+var SpansMetricResponse_1 = __webpack_require__(18481);
+Object.defineProperty(exports, "SpansMetricResponse", ({ enumerable: true, get: function () { return SpansMetricResponse_1.SpansMetricResponse; } }));
+var SpansMetricResponseAttributes_1 = __webpack_require__(82864);
+Object.defineProperty(exports, "SpansMetricResponseAttributes", ({ enumerable: true, get: function () { return SpansMetricResponseAttributes_1.SpansMetricResponseAttributes; } }));
+var SpansMetricResponseCompute_1 = __webpack_require__(65910);
+Object.defineProperty(exports, "SpansMetricResponseCompute", ({ enumerable: true, get: function () { return SpansMetricResponseCompute_1.SpansMetricResponseCompute; } }));
+var SpansMetricResponseData_1 = __webpack_require__(37531);
+Object.defineProperty(exports, "SpansMetricResponseData", ({ enumerable: true, get: function () { return SpansMetricResponseData_1.SpansMetricResponseData; } }));
+var SpansMetricResponseFilter_1 = __webpack_require__(86624);
+Object.defineProperty(exports, "SpansMetricResponseFilter", ({ enumerable: true, get: function () { return SpansMetricResponseFilter_1.SpansMetricResponseFilter; } }));
+var SpansMetricResponseGroupBy_1 = __webpack_require__(51733);
+Object.defineProperty(exports, "SpansMetricResponseGroupBy", ({ enumerable: true, get: function () { return SpansMetricResponseGroupBy_1.SpansMetricResponseGroupBy; } }));
+var SpansMetricsResponse_1 = __webpack_require__(88816);
+Object.defineProperty(exports, "SpansMetricsResponse", ({ enumerable: true, get: function () { return SpansMetricsResponse_1.SpansMetricsResponse; } }));
+var SpansMetricUpdateAttributes_1 = __webpack_require__(32078);
+Object.defineProperty(exports, "SpansMetricUpdateAttributes", ({ enumerable: true, get: function () { return SpansMetricUpdateAttributes_1.SpansMetricUpdateAttributes; } }));
+var SpansMetricUpdateCompute_1 = __webpack_require__(25083);
+Object.defineProperty(exports, "SpansMetricUpdateCompute", ({ enumerable: true, get: function () { return SpansMetricUpdateCompute_1.SpansMetricUpdateCompute; } }));
+var SpansMetricUpdateData_1 = __webpack_require__(10621);
+Object.defineProperty(exports, "SpansMetricUpdateData", ({ enumerable: true, get: function () { return SpansMetricUpdateData_1.SpansMetricUpdateData; } }));
+var SpansMetricUpdateRequest_1 = __webpack_require__(20790);
+Object.defineProperty(exports, "SpansMetricUpdateRequest", ({ enumerable: true, get: function () { return SpansMetricUpdateRequest_1.SpansMetricUpdateRequest; } }));
+var SpansQueryFilter_1 = __webpack_require__(73888);
+Object.defineProperty(exports, "SpansQueryFilter", ({ enumerable: true, get: function () { return SpansQueryFilter_1.SpansQueryFilter; } }));
+var SpansQueryOptions_1 = __webpack_require__(67964);
+Object.defineProperty(exports, "SpansQueryOptions", ({ enumerable: true, get: function () { return SpansQueryOptions_1.SpansQueryOptions; } }));
+var SpansResponseMetadataPage_1 = __webpack_require__(75198);
+Object.defineProperty(exports, "SpansResponseMetadataPage", ({ enumerable: true, get: function () { return SpansResponseMetadataPage_1.SpansResponseMetadataPage; } }));
+var SpansWarning_1 = __webpack_require__(43117);
+Object.defineProperty(exports, "SpansWarning", ({ enumerable: true, get: function () { return SpansWarning_1.SpansWarning; } }));
+var Team_1 = __webpack_require__(99535);
+Object.defineProperty(exports, "Team", ({ enumerable: true, get: function () { return Team_1.Team; } }));
+var TeamAttributes_1 = __webpack_require__(11276);
+Object.defineProperty(exports, "TeamAttributes", ({ enumerable: true, get: function () { return TeamAttributes_1.TeamAttributes; } }));
+var TeamCreate_1 = __webpack_require__(72722);
+Object.defineProperty(exports, "TeamCreate", ({ enumerable: true, get: function () { return TeamCreate_1.TeamCreate; } }));
+var TeamCreateAttributes_1 = __webpack_require__(75341);
+Object.defineProperty(exports, "TeamCreateAttributes", ({ enumerable: true, get: function () { return TeamCreateAttributes_1.TeamCreateAttributes; } }));
+var TeamCreateRelationships_1 = __webpack_require__(66425);
+Object.defineProperty(exports, "TeamCreateRelationships", ({ enumerable: true, get: function () { return TeamCreateRelationships_1.TeamCreateRelationships; } }));
+var TeamCreateRequest_1 = __webpack_require__(59989);
+Object.defineProperty(exports, "TeamCreateRequest", ({ enumerable: true, get: function () { return TeamCreateRequest_1.TeamCreateRequest; } }));
+var TeamLink_1 = __webpack_require__(1064);
+Object.defineProperty(exports, "TeamLink", ({ enumerable: true, get: function () { return TeamLink_1.TeamLink; } }));
+var TeamLinkAttributes_1 = __webpack_require__(8789);
+Object.defineProperty(exports, "TeamLinkAttributes", ({ enumerable: true, get: function () { return TeamLinkAttributes_1.TeamLinkAttributes; } }));
+var TeamLinkCreate_1 = __webpack_require__(49109);
+Object.defineProperty(exports, "TeamLinkCreate", ({ enumerable: true, get: function () { return TeamLinkCreate_1.TeamLinkCreate; } }));
+var TeamLinkCreateRequest_1 = __webpack_require__(17915);
+Object.defineProperty(exports, "TeamLinkCreateRequest", ({ enumerable: true, get: function () { return TeamLinkCreateRequest_1.TeamLinkCreateRequest; } }));
+var TeamLinkResponse_1 = __webpack_require__(83956);
+Object.defineProperty(exports, "TeamLinkResponse", ({ enumerable: true, get: function () { return TeamLinkResponse_1.TeamLinkResponse; } }));
+var TeamLinksResponse_1 = __webpack_require__(85078);
+Object.defineProperty(exports, "TeamLinksResponse", ({ enumerable: true, get: function () { return TeamLinksResponse_1.TeamLinksResponse; } }));
+var TeamPermissionSetting_1 = __webpack_require__(95677);
+Object.defineProperty(exports, "TeamPermissionSetting", ({ enumerable: true, get: function () { return TeamPermissionSetting_1.TeamPermissionSetting; } }));
+var TeamPermissionSettingAttributes_1 = __webpack_require__(30951);
+Object.defineProperty(exports, "TeamPermissionSettingAttributes", ({ enumerable: true, get: function () { return TeamPermissionSettingAttributes_1.TeamPermissionSettingAttributes; } }));
+var TeamPermissionSettingResponse_1 = __webpack_require__(31604);
+Object.defineProperty(exports, "TeamPermissionSettingResponse", ({ enumerable: true, get: function () { return TeamPermissionSettingResponse_1.TeamPermissionSettingResponse; } }));
+var TeamPermissionSettingsResponse_1 = __webpack_require__(60640);
+Object.defineProperty(exports, "TeamPermissionSettingsResponse", ({ enumerable: true, get: function () { return TeamPermissionSettingsResponse_1.TeamPermissionSettingsResponse; } }));
+var TeamPermissionSettingUpdate_1 = __webpack_require__(5767);
+Object.defineProperty(exports, "TeamPermissionSettingUpdate", ({ enumerable: true, get: function () { return TeamPermissionSettingUpdate_1.TeamPermissionSettingUpdate; } }));
+var TeamPermissionSettingUpdateAttributes_1 = __webpack_require__(10893);
+Object.defineProperty(exports, "TeamPermissionSettingUpdateAttributes", ({ enumerable: true, get: function () { return TeamPermissionSettingUpdateAttributes_1.TeamPermissionSettingUpdateAttributes; } }));
+var TeamPermissionSettingUpdateRequest_1 = __webpack_require__(85589);
+Object.defineProperty(exports, "TeamPermissionSettingUpdateRequest", ({ enumerable: true, get: function () { return TeamPermissionSettingUpdateRequest_1.TeamPermissionSettingUpdateRequest; } }));
+var TeamRelationships_1 = __webpack_require__(76003);
+Object.defineProperty(exports, "TeamRelationships", ({ enumerable: true, get: function () { return TeamRelationships_1.TeamRelationships; } }));
+var TeamRelationshipsLinks_1 = __webpack_require__(71250);
+Object.defineProperty(exports, "TeamRelationshipsLinks", ({ enumerable: true, get: function () { return TeamRelationshipsLinks_1.TeamRelationshipsLinks; } }));
+var TeamResponse_1 = __webpack_require__(85600);
+Object.defineProperty(exports, "TeamResponse", ({ enumerable: true, get: function () { return TeamResponse_1.TeamResponse; } }));
+var TeamsResponse_1 = __webpack_require__(65699);
+Object.defineProperty(exports, "TeamsResponse", ({ enumerable: true, get: function () { return TeamsResponse_1.TeamsResponse; } }));
+var TeamsResponseLinks_1 = __webpack_require__(48154);
+Object.defineProperty(exports, "TeamsResponseLinks", ({ enumerable: true, get: function () { return TeamsResponseLinks_1.TeamsResponseLinks; } }));
+var TeamsResponseMeta_1 = __webpack_require__(3608);
+Object.defineProperty(exports, "TeamsResponseMeta", ({ enumerable: true, get: function () { return TeamsResponseMeta_1.TeamsResponseMeta; } }));
+var TeamsResponseMetaPagination_1 = __webpack_require__(5396);
+Object.defineProperty(exports, "TeamsResponseMetaPagination", ({ enumerable: true, get: function () { return TeamsResponseMetaPagination_1.TeamsResponseMetaPagination; } }));
+var TeamUpdate_1 = __webpack_require__(97929);
+Object.defineProperty(exports, "TeamUpdate", ({ enumerable: true, get: function () { return TeamUpdate_1.TeamUpdate; } }));
+var TeamUpdateAttributes_1 = __webpack_require__(5327);
+Object.defineProperty(exports, "TeamUpdateAttributes", ({ enumerable: true, get: function () { return TeamUpdateAttributes_1.TeamUpdateAttributes; } }));
+var TeamUpdateRelationships_1 = __webpack_require__(44475);
+Object.defineProperty(exports, "TeamUpdateRelationships", ({ enumerable: true, get: function () { return TeamUpdateRelationships_1.TeamUpdateRelationships; } }));
+var TeamUpdateRequest_1 = __webpack_require__(55945);
+Object.defineProperty(exports, "TeamUpdateRequest", ({ enumerable: true, get: function () { return TeamUpdateRequest_1.TeamUpdateRequest; } }));
+var TimeseriesFormulaQueryRequest_1 = __webpack_require__(94956);
+Object.defineProperty(exports, "TimeseriesFormulaQueryRequest", ({ enumerable: true, get: function () { return TimeseriesFormulaQueryRequest_1.TimeseriesFormulaQueryRequest; } }));
+var TimeseriesFormulaQueryResponse_1 = __webpack_require__(82642);
+Object.defineProperty(exports, "TimeseriesFormulaQueryResponse", ({ enumerable: true, get: function () { return TimeseriesFormulaQueryResponse_1.TimeseriesFormulaQueryResponse; } }));
+var TimeseriesFormulaRequest_1 = __webpack_require__(38109);
+Object.defineProperty(exports, "TimeseriesFormulaRequest", ({ enumerable: true, get: function () { return TimeseriesFormulaRequest_1.TimeseriesFormulaRequest; } }));
+var TimeseriesFormulaRequestAttributes_1 = __webpack_require__(73903);
+Object.defineProperty(exports, "TimeseriesFormulaRequestAttributes", ({ enumerable: true, get: function () { return TimeseriesFormulaRequestAttributes_1.TimeseriesFormulaRequestAttributes; } }));
+var TimeseriesResponse_1 = __webpack_require__(57540);
+Object.defineProperty(exports, "TimeseriesResponse", ({ enumerable: true, get: function () { return TimeseriesResponse_1.TimeseriesResponse; } }));
+var TimeseriesResponseAttributes_1 = __webpack_require__(57516);
+Object.defineProperty(exports, "TimeseriesResponseAttributes", ({ enumerable: true, get: function () { return TimeseriesResponseAttributes_1.TimeseriesResponseAttributes; } }));
+var TimeseriesResponseSeries_1 = __webpack_require__(39671);
+Object.defineProperty(exports, "TimeseriesResponseSeries", ({ enumerable: true, get: function () { return TimeseriesResponseSeries_1.TimeseriesResponseSeries; } }));
+var Unit_1 = __webpack_require__(92053);
+Object.defineProperty(exports, "Unit", ({ enumerable: true, get: function () { return Unit_1.Unit; } }));
+var UsageApplicationSecurityMonitoringResponse_1 = __webpack_require__(22622);
+Object.defineProperty(exports, "UsageApplicationSecurityMonitoringResponse", ({ enumerable: true, get: function () { return UsageApplicationSecurityMonitoringResponse_1.UsageApplicationSecurityMonitoringResponse; } }));
+var UsageAttributesObject_1 = __webpack_require__(97465);
+Object.defineProperty(exports, "UsageAttributesObject", ({ enumerable: true, get: function () { return UsageAttributesObject_1.UsageAttributesObject; } }));
+var UsageDataObject_1 = __webpack_require__(19788);
+Object.defineProperty(exports, "UsageDataObject", ({ enumerable: true, get: function () { return UsageDataObject_1.UsageDataObject; } }));
+var UsageLambdaTracedInvocationsResponse_1 = __webpack_require__(6453);
+Object.defineProperty(exports, "UsageLambdaTracedInvocationsResponse", ({ enumerable: true, get: function () { return UsageLambdaTracedInvocationsResponse_1.UsageLambdaTracedInvocationsResponse; } }));
+var UsageObservabilityPipelinesResponse_1 = __webpack_require__(37667);
+Object.defineProperty(exports, "UsageObservabilityPipelinesResponse", ({ enumerable: true, get: function () { return UsageObservabilityPipelinesResponse_1.UsageObservabilityPipelinesResponse; } }));
+var UsageTimeSeriesObject_1 = __webpack_require__(8338);
+Object.defineProperty(exports, "UsageTimeSeriesObject", ({ enumerable: true, get: function () { return UsageTimeSeriesObject_1.UsageTimeSeriesObject; } }));
+var User_1 = __webpack_require__(1728);
+Object.defineProperty(exports, "User", ({ enumerable: true, get: function () { return User_1.User; } }));
+var UserAttributes_1 = __webpack_require__(69074);
+Object.defineProperty(exports, "UserAttributes", ({ enumerable: true, get: function () { return UserAttributes_1.UserAttributes; } }));
+var UserCreateAttributes_1 = __webpack_require__(91847);
+Object.defineProperty(exports, "UserCreateAttributes", ({ enumerable: true, get: function () { return UserCreateAttributes_1.UserCreateAttributes; } }));
+var UserCreateData_1 = __webpack_require__(50128);
+Object.defineProperty(exports, "UserCreateData", ({ enumerable: true, get: function () { return UserCreateData_1.UserCreateData; } }));
+var UserCreateRequest_1 = __webpack_require__(36476);
+Object.defineProperty(exports, "UserCreateRequest", ({ enumerable: true, get: function () { return UserCreateRequest_1.UserCreateRequest; } }));
+var UserInvitationData_1 = __webpack_require__(11302);
+Object.defineProperty(exports, "UserInvitationData", ({ enumerable: true, get: function () { return UserInvitationData_1.UserInvitationData; } }));
+var UserInvitationDataAttributes_1 = __webpack_require__(18728);
+Object.defineProperty(exports, "UserInvitationDataAttributes", ({ enumerable: true, get: function () { return UserInvitationDataAttributes_1.UserInvitationDataAttributes; } }));
+var UserInvitationRelationships_1 = __webpack_require__(98340);
+Object.defineProperty(exports, "UserInvitationRelationships", ({ enumerable: true, get: function () { return UserInvitationRelationships_1.UserInvitationRelationships; } }));
+var UserInvitationResponse_1 = __webpack_require__(36330);
+Object.defineProperty(exports, "UserInvitationResponse", ({ enumerable: true, get: function () { return UserInvitationResponse_1.UserInvitationResponse; } }));
+var UserInvitationResponseData_1 = __webpack_require__(82241);
+Object.defineProperty(exports, "UserInvitationResponseData", ({ enumerable: true, get: function () { return UserInvitationResponseData_1.UserInvitationResponseData; } }));
+var UserInvitationsRequest_1 = __webpack_require__(41005);
+Object.defineProperty(exports, "UserInvitationsRequest", ({ enumerable: true, get: function () { return UserInvitationsRequest_1.UserInvitationsRequest; } }));
+var UserInvitationsResponse_1 = __webpack_require__(53893);
+Object.defineProperty(exports, "UserInvitationsResponse", ({ enumerable: true, get: function () { return UserInvitationsResponse_1.UserInvitationsResponse; } }));
+var UserRelationships_1 = __webpack_require__(67510);
+Object.defineProperty(exports, "UserRelationships", ({ enumerable: true, get: function () { return UserRelationships_1.UserRelationships; } }));
+var UserResponse_1 = __webpack_require__(82709);
+Object.defineProperty(exports, "UserResponse", ({ enumerable: true, get: function () { return UserResponse_1.UserResponse; } }));
+var UserResponseRelationships_1 = __webpack_require__(25159);
+Object.defineProperty(exports, "UserResponseRelationships", ({ enumerable: true, get: function () { return UserResponseRelationships_1.UserResponseRelationships; } }));
+var UsersResponse_1 = __webpack_require__(11836);
+Object.defineProperty(exports, "UsersResponse", ({ enumerable: true, get: function () { return UsersResponse_1.UsersResponse; } }));
+var UserTeam_1 = __webpack_require__(62838);
+Object.defineProperty(exports, "UserTeam", ({ enumerable: true, get: function () { return UserTeam_1.UserTeam; } }));
+var UserTeamAttributes_1 = __webpack_require__(25620);
+Object.defineProperty(exports, "UserTeamAttributes", ({ enumerable: true, get: function () { return UserTeamAttributes_1.UserTeamAttributes; } }));
+var UserTeamCreate_1 = __webpack_require__(24683);
+Object.defineProperty(exports, "UserTeamCreate", ({ enumerable: true, get: function () { return UserTeamCreate_1.UserTeamCreate; } }));
+var UserTeamPermission_1 = __webpack_require__(99296);
+Object.defineProperty(exports, "UserTeamPermission", ({ enumerable: true, get: function () { return UserTeamPermission_1.UserTeamPermission; } }));
+var UserTeamPermissionAttributes_1 = __webpack_require__(27272);
+Object.defineProperty(exports, "UserTeamPermissionAttributes", ({ enumerable: true, get: function () { return UserTeamPermissionAttributes_1.UserTeamPermissionAttributes; } }));
+var UserTeamRelationships_1 = __webpack_require__(96420);
+Object.defineProperty(exports, "UserTeamRelationships", ({ enumerable: true, get: function () { return UserTeamRelationships_1.UserTeamRelationships; } }));
+var UserTeamRequest_1 = __webpack_require__(16989);
+Object.defineProperty(exports, "UserTeamRequest", ({ enumerable: true, get: function () { return UserTeamRequest_1.UserTeamRequest; } }));
+var UserTeamResponse_1 = __webpack_require__(19185);
+Object.defineProperty(exports, "UserTeamResponse", ({ enumerable: true, get: function () { return UserTeamResponse_1.UserTeamResponse; } }));
+var UserTeamsResponse_1 = __webpack_require__(32202);
+Object.defineProperty(exports, "UserTeamsResponse", ({ enumerable: true, get: function () { return UserTeamsResponse_1.UserTeamsResponse; } }));
+var UserTeamUpdate_1 = __webpack_require__(25223);
+Object.defineProperty(exports, "UserTeamUpdate", ({ enumerable: true, get: function () { return UserTeamUpdate_1.UserTeamUpdate; } }));
+var UserTeamUpdateRequest_1 = __webpack_require__(12059);
+Object.defineProperty(exports, "UserTeamUpdateRequest", ({ enumerable: true, get: function () { return UserTeamUpdateRequest_1.UserTeamUpdateRequest; } }));
+var UserUpdateAttributes_1 = __webpack_require__(51105);
+Object.defineProperty(exports, "UserUpdateAttributes", ({ enumerable: true, get: function () { return UserUpdateAttributes_1.UserUpdateAttributes; } }));
+var UserUpdateData_1 = __webpack_require__(51985);
+Object.defineProperty(exports, "UserUpdateData", ({ enumerable: true, get: function () { return UserUpdateData_1.UserUpdateData; } }));
+var UserUpdateRequest_1 = __webpack_require__(95122);
+Object.defineProperty(exports, "UserUpdateRequest", ({ enumerable: true, get: function () { return UserUpdateRequest_1.UserUpdateRequest; } }));
+var ObjectSerializer_1 = __webpack_require__(54700);
+Object.defineProperty(exports, "ObjectSerializer", ({ enumerable: true, get: function () { return ObjectSerializer_1.ObjectSerializer; } }));
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 15470:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIErrorResponse = void 0;
+/**
+ * API error response.
+ */
+class APIErrorResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIErrorResponse.attributeTypeMap;
+    }
+}
+exports.APIErrorResponse = APIErrorResponse;
+/**
+ * @ignore
+ */
+APIErrorResponse.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIErrorResponse.js.map
+
+/***/ }),
+
+/***/ 57428:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyCreateAttributes = void 0;
+/**
+ * Attributes used to create an API Key.
+ */
+class APIKeyCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyCreateAttributes.attributeTypeMap;
+    }
+}
+exports.APIKeyCreateAttributes = APIKeyCreateAttributes;
+/**
+ * @ignore
+ */
+APIKeyCreateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 75515:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyCreateData = void 0;
+/**
+ * Object used to create an API key.
+ */
+class APIKeyCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyCreateData.attributeTypeMap;
+    }
+}
+exports.APIKeyCreateData = APIKeyCreateData;
+/**
+ * @ignore
+ */
+APIKeyCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "APIKeyCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "APIKeysType",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyCreateData.js.map
+
+/***/ }),
+
+/***/ 34427:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyCreateRequest = void 0;
+/**
+ * Request used to create an API key.
+ */
+class APIKeyCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyCreateRequest.attributeTypeMap;
+    }
+}
+exports.APIKeyCreateRequest = APIKeyCreateRequest;
+/**
+ * @ignore
+ */
+APIKeyCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "APIKeyCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyCreateRequest.js.map
+
+/***/ }),
+
+/***/ 76728:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyRelationships = void 0;
+/**
+ * Resources related to the API key.
+ */
+class APIKeyRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyRelationships.attributeTypeMap;
+    }
+}
+exports.APIKeyRelationships = APIKeyRelationships;
+/**
+ * @ignore
+ */
+APIKeyRelationships.attributeTypeMap = {
+    createdBy: {
+        baseName: "created_by",
+        type: "RelationshipToUser",
+    },
+    modifiedBy: {
+        baseName: "modified_by",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=APIKeyRelationships.js.map
+
+/***/ }),
+
+/***/ 27678:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyResponse = void 0;
+/**
+ * Response for retrieving an API key.
+ */
+class APIKeyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyResponse.attributeTypeMap;
+    }
+}
+exports.APIKeyResponse = APIKeyResponse;
+/**
+ * @ignore
+ */
+APIKeyResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FullAPIKey",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=APIKeyResponse.js.map
+
+/***/ }),
+
+/***/ 93343:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyUpdateAttributes = void 0;
+/**
+ * Attributes used to update an API Key.
+ */
+class APIKeyUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.APIKeyUpdateAttributes = APIKeyUpdateAttributes;
+/**
+ * @ignore
+ */
+APIKeyUpdateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 58080:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyUpdateData = void 0;
+/**
+ * Object used to update an API key.
+ */
+class APIKeyUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyUpdateData.attributeTypeMap;
+    }
+}
+exports.APIKeyUpdateData = APIKeyUpdateData;
+/**
+ * @ignore
+ */
+APIKeyUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "APIKeyUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "APIKeysType",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyUpdateData.js.map
+
+/***/ }),
+
+/***/ 86803:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeyUpdateRequest = void 0;
+/**
+ * Request used to update an API key.
+ */
+class APIKeyUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeyUpdateRequest.attributeTypeMap;
+    }
+}
+exports.APIKeyUpdateRequest = APIKeyUpdateRequest;
+/**
+ * @ignore
+ */
+APIKeyUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "APIKeyUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=APIKeyUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 84727:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.APIKeysResponse = void 0;
+/**
+ * Response for a list of API keys.
+ */
+class APIKeysResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return APIKeysResponse.attributeTypeMap;
+    }
+}
+exports.APIKeysResponse = APIKeysResponse;
+/**
+ * @ignore
+ */
+APIKeysResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=APIKeysResponse.js.map
+
+/***/ }),
+
+/***/ 93761:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyCreateAttributes = void 0;
+/**
+ * Attributes used to create an application Key.
+ */
+class ApplicationKeyCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyCreateAttributes.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyCreateAttributes = ApplicationKeyCreateAttributes;
+/**
+ * @ignore
+ */
+ApplicationKeyCreateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    scopes: {
+        baseName: "scopes",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ApplicationKeyCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 79474:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyCreateData = void 0;
+/**
+ * Object used to create an application key.
+ */
+class ApplicationKeyCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyCreateData.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyCreateData = ApplicationKeyCreateData;
+/**
+ * @ignore
+ */
+ApplicationKeyCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ApplicationKeyCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ApplicationKeysType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ApplicationKeyCreateData.js.map
+
+/***/ }),
+
+/***/ 97437:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyCreateRequest = void 0;
+/**
+ * Request used to create an application key.
+ */
+class ApplicationKeyCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyCreateRequest.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyCreateRequest = ApplicationKeyCreateRequest;
+/**
+ * @ignore
+ */
+ApplicationKeyCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ApplicationKeyCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ApplicationKeyCreateRequest.js.map
+
+/***/ }),
+
+/***/ 26425:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyRelationships = void 0;
+/**
+ * Resources related to the application key.
+ */
+class ApplicationKeyRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyRelationships.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyRelationships = ApplicationKeyRelationships;
+/**
+ * @ignore
+ */
+ApplicationKeyRelationships.attributeTypeMap = {
+    ownedBy: {
+        baseName: "owned_by",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=ApplicationKeyRelationships.js.map
+
+/***/ }),
+
+/***/ 12266:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyResponse = void 0;
+/**
+ * Response for retrieving an application key.
+ */
+class ApplicationKeyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyResponse.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyResponse = ApplicationKeyResponse;
+/**
+ * @ignore
+ */
+ApplicationKeyResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FullApplicationKey",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ApplicationKeyResponse.js.map
+
+/***/ }),
+
+/***/ 71834:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyUpdateAttributes = void 0;
+/**
+ * Attributes used to update an application Key.
+ */
+class ApplicationKeyUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyUpdateAttributes = ApplicationKeyUpdateAttributes;
+/**
+ * @ignore
+ */
+ApplicationKeyUpdateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    scopes: {
+        baseName: "scopes",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ApplicationKeyUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 35529:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyUpdateData = void 0;
+/**
+ * Object used to update an application key.
+ */
+class ApplicationKeyUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyUpdateData.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyUpdateData = ApplicationKeyUpdateData;
+/**
+ * @ignore
+ */
+ApplicationKeyUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ApplicationKeyUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ApplicationKeysType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ApplicationKeyUpdateData.js.map
+
+/***/ }),
+
+/***/ 20950:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ApplicationKeyUpdateRequest = void 0;
+/**
+ * Request used to update an application key.
+ */
+class ApplicationKeyUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ApplicationKeyUpdateRequest.attributeTypeMap;
+    }
+}
+exports.ApplicationKeyUpdateRequest = ApplicationKeyUpdateRequest;
+/**
+ * @ignore
+ */
+ApplicationKeyUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ApplicationKeyUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ApplicationKeyUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 76548:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsEvent = void 0;
+/**
+ * Object description of an Audit Logs event after it is processed and stored by Datadog.
+ */
+class AuditLogsEvent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsEvent.attributeTypeMap;
+    }
+}
+exports.AuditLogsEvent = AuditLogsEvent;
+/**
+ * @ignore
+ */
+AuditLogsEvent.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "AuditLogsEventAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "AuditLogsEventType",
+    },
+};
+//# sourceMappingURL=AuditLogsEvent.js.map
+
+/***/ }),
+
+/***/ 84537:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsEventAttributes = void 0;
+/**
+ * JSON object containing all event attributes and their associated values.
+ */
+class AuditLogsEventAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsEventAttributes.attributeTypeMap;
+    }
+}
+exports.AuditLogsEventAttributes = AuditLogsEventAttributes;
+/**
+ * @ignore
+ */
+AuditLogsEventAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=AuditLogsEventAttributes.js.map
+
+/***/ }),
+
+/***/ 65051:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsEventsResponse = void 0;
+/**
+ * Response object with all events matching the request and pagination information.
+ */
+class AuditLogsEventsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsEventsResponse.attributeTypeMap;
+    }
+}
+exports.AuditLogsEventsResponse = AuditLogsEventsResponse;
+/**
+ * @ignore
+ */
+AuditLogsEventsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "AuditLogsResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "AuditLogsResponseMetadata",
+    },
+};
+//# sourceMappingURL=AuditLogsEventsResponse.js.map
+
+/***/ }),
+
+/***/ 98263:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsQueryFilter = void 0;
+/**
+ * Search and filter query settings.
+ */
+class AuditLogsQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsQueryFilter.attributeTypeMap;
+    }
+}
+exports.AuditLogsQueryFilter = AuditLogsQueryFilter;
+/**
+ * @ignore
+ */
+AuditLogsQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuditLogsQueryFilter.js.map
+
+/***/ }),
+
+/***/ 73537:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsQueryOptions = void 0;
+/**
+ * Global query options that are used during the query.
+ * Note: Specify either timezone or time offset, not both. Otherwise, the query fails.
+ */
+class AuditLogsQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsQueryOptions.attributeTypeMap;
+    }
+}
+exports.AuditLogsQueryOptions = AuditLogsQueryOptions;
+/**
+ * @ignore
+ */
+AuditLogsQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "time_offset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuditLogsQueryOptions.js.map
+
+/***/ }),
+
+/***/ 55633:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsQueryPageOptions = void 0;
+/**
+ * Paging attributes for listing events.
+ */
+class AuditLogsQueryPageOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsQueryPageOptions.attributeTypeMap;
+    }
+}
+exports.AuditLogsQueryPageOptions = AuditLogsQueryPageOptions;
+/**
+ * @ignore
+ */
+AuditLogsQueryPageOptions.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=AuditLogsQueryPageOptions.js.map
+
+/***/ }),
+
+/***/ 67447:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class AuditLogsResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsResponseLinks.attributeTypeMap;
+    }
+}
+exports.AuditLogsResponseLinks = AuditLogsResponseLinks;
+/**
+ * @ignore
+ */
+AuditLogsResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuditLogsResponseLinks.js.map
+
+/***/ }),
+
+/***/ 35495:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class AuditLogsResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsResponseMetadata.attributeTypeMap;
+    }
+}
+exports.AuditLogsResponseMetadata = AuditLogsResponseMetadata;
+/**
+ * @ignore
+ */
+AuditLogsResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "AuditLogsResponsePage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "AuditLogsResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=AuditLogsResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 75629:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsResponsePage = void 0;
+/**
+ * Paging attributes.
+ */
+class AuditLogsResponsePage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsResponsePage.attributeTypeMap;
+    }
+}
+exports.AuditLogsResponsePage = AuditLogsResponsePage;
+/**
+ * @ignore
+ */
+AuditLogsResponsePage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuditLogsResponsePage.js.map
+
+/***/ }),
+
+/***/ 87612:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsSearchEventsRequest = void 0;
+/**
+ * The request for a Audit Logs events list.
+ */
+class AuditLogsSearchEventsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsSearchEventsRequest.attributeTypeMap;
+    }
+}
+exports.AuditLogsSearchEventsRequest = AuditLogsSearchEventsRequest;
+/**
+ * @ignore
+ */
+AuditLogsSearchEventsRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "AuditLogsQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "AuditLogsQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "AuditLogsQueryPageOptions",
+    },
+    sort: {
+        baseName: "sort",
+        type: "AuditLogsSort",
+    },
+};
+//# sourceMappingURL=AuditLogsSearchEventsRequest.js.map
+
+/***/ }),
+
+/***/ 7214:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuditLogsWarning = void 0;
+/**
+ * Warning message indicating something that went wrong with the query.
+ */
+class AuditLogsWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuditLogsWarning.attributeTypeMap;
+    }
+}
+exports.AuditLogsWarning = AuditLogsWarning;
+/**
+ * @ignore
+ */
+AuditLogsWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuditLogsWarning.js.map
+
+/***/ }),
+
+/***/ 14571:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMapping = void 0;
+/**
+ * The AuthN Mapping object returned by API.
+ */
+class AuthNMapping {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMapping.attributeTypeMap;
+    }
+}
+exports.AuthNMapping = AuthNMapping;
+/**
+ * @ignore
+ */
+AuthNMapping.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "AuthNMappingAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "AuthNMappingRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "AuthNMappingsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=AuthNMapping.js.map
+
+/***/ }),
+
+/***/ 41148:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingAttributes = void 0;
+/**
+ * Attributes of AuthN Mapping.
+ */
+class AuthNMappingAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingAttributes.attributeTypeMap;
+    }
+}
+exports.AuthNMappingAttributes = AuthNMappingAttributes;
+/**
+ * @ignore
+ */
+AuthNMappingAttributes.attributeTypeMap = {
+    attributeKey: {
+        baseName: "attribute_key",
+        type: "string",
+    },
+    attributeValue: {
+        baseName: "attribute_value",
+        type: "string",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    samlAssertionAttributeId: {
+        baseName: "saml_assertion_attribute_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuthNMappingAttributes.js.map
+
+/***/ }),
+
+/***/ 81545:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingCreateAttributes = void 0;
+/**
+ * Key/Value pair of attributes used for create request.
+ */
+class AuthNMappingCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingCreateAttributes.attributeTypeMap;
+    }
+}
+exports.AuthNMappingCreateAttributes = AuthNMappingCreateAttributes;
+/**
+ * @ignore
+ */
+AuthNMappingCreateAttributes.attributeTypeMap = {
+    attributeKey: {
+        baseName: "attribute_key",
+        type: "string",
+    },
+    attributeValue: {
+        baseName: "attribute_value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuthNMappingCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 4578:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingCreateData = void 0;
+/**
+ * Data for creating an AuthN Mapping.
+ */
+class AuthNMappingCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingCreateData.attributeTypeMap;
+    }
+}
+exports.AuthNMappingCreateData = AuthNMappingCreateData;
+/**
+ * @ignore
+ */
+AuthNMappingCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "AuthNMappingCreateAttributes",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "AuthNMappingCreateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "AuthNMappingsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=AuthNMappingCreateData.js.map
+
+/***/ }),
+
+/***/ 69064:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingCreateRelationships = void 0;
+/**
+ * Relationship of AuthN Mapping create object to Role.
+ */
+class AuthNMappingCreateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingCreateRelationships.attributeTypeMap;
+    }
+}
+exports.AuthNMappingCreateRelationships = AuthNMappingCreateRelationships;
+/**
+ * @ignore
+ */
+AuthNMappingCreateRelationships.attributeTypeMap = {
+    role: {
+        baseName: "role",
+        type: "RelationshipToRole",
+    },
+};
+//# sourceMappingURL=AuthNMappingCreateRelationships.js.map
+
+/***/ }),
+
+/***/ 36135:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingCreateRequest = void 0;
+/**
+ * Request for creating an AuthN Mapping.
+ */
+class AuthNMappingCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingCreateRequest.attributeTypeMap;
+    }
+}
+exports.AuthNMappingCreateRequest = AuthNMappingCreateRequest;
+/**
+ * @ignore
+ */
+AuthNMappingCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "AuthNMappingCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=AuthNMappingCreateRequest.js.map
+
+/***/ }),
+
+/***/ 41957:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingRelationships = void 0;
+/**
+ * All relationships associated with AuthN Mapping.
+ */
+class AuthNMappingRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingRelationships.attributeTypeMap;
+    }
+}
+exports.AuthNMappingRelationships = AuthNMappingRelationships;
+/**
+ * @ignore
+ */
+AuthNMappingRelationships.attributeTypeMap = {
+    role: {
+        baseName: "role",
+        type: "RelationshipToRole",
+    },
+    samlAssertionAttribute: {
+        baseName: "saml_assertion_attribute",
+        type: "RelationshipToSAMLAssertionAttribute",
+    },
+};
+//# sourceMappingURL=AuthNMappingRelationships.js.map
+
+/***/ }),
+
+/***/ 3206:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingResponse = void 0;
+/**
+ * AuthN Mapping response from the API.
+ */
+class AuthNMappingResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingResponse.attributeTypeMap;
+    }
+}
+exports.AuthNMappingResponse = AuthNMappingResponse;
+/**
+ * @ignore
+ */
+AuthNMappingResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "AuthNMapping",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=AuthNMappingResponse.js.map
+
+/***/ }),
+
+/***/ 48624:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingUpdateAttributes = void 0;
+/**
+ * Key/Value pair of attributes used for update request.
+ */
+class AuthNMappingUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.AuthNMappingUpdateAttributes = AuthNMappingUpdateAttributes;
+/**
+ * @ignore
+ */
+AuthNMappingUpdateAttributes.attributeTypeMap = {
+    attributeKey: {
+        baseName: "attribute_key",
+        type: "string",
+    },
+    attributeValue: {
+        baseName: "attribute_value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=AuthNMappingUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 69936:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingUpdateData = void 0;
+/**
+ * Data for updating an AuthN Mapping.
+ */
+class AuthNMappingUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingUpdateData.attributeTypeMap;
+    }
+}
+exports.AuthNMappingUpdateData = AuthNMappingUpdateData;
+/**
+ * @ignore
+ */
+AuthNMappingUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "AuthNMappingUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "AuthNMappingUpdateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "AuthNMappingsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=AuthNMappingUpdateData.js.map
+
+/***/ }),
+
+/***/ 54982:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingUpdateRelationships = void 0;
+/**
+ * Relationship of AuthN Mapping update object to Role.
+ */
+class AuthNMappingUpdateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingUpdateRelationships.attributeTypeMap;
+    }
+}
+exports.AuthNMappingUpdateRelationships = AuthNMappingUpdateRelationships;
+/**
+ * @ignore
+ */
+AuthNMappingUpdateRelationships.attributeTypeMap = {
+    role: {
+        baseName: "role",
+        type: "RelationshipToRole",
+    },
+};
+//# sourceMappingURL=AuthNMappingUpdateRelationships.js.map
+
+/***/ }),
+
+/***/ 34564:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingUpdateRequest = void 0;
+/**
+ * Request to update an AuthN Mapping.
+ */
+class AuthNMappingUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingUpdateRequest.attributeTypeMap;
+    }
+}
+exports.AuthNMappingUpdateRequest = AuthNMappingUpdateRequest;
+/**
+ * @ignore
+ */
+AuthNMappingUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "AuthNMappingUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=AuthNMappingUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 14828:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AuthNMappingsResponse = void 0;
+/**
+ * Array of AuthN Mappings response.
+ */
+class AuthNMappingsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return AuthNMappingsResponse.attributeTypeMap;
+    }
+}
+exports.AuthNMappingsResponse = AuthNMappingsResponse;
+/**
+ * @ignore
+ */
+AuthNMappingsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ResponseMetaAttributes",
+    },
+};
+//# sourceMappingURL=AuthNMappingsResponse.js.map
+
+/***/ }),
+
+/***/ 77422:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppAggregateBucketValueTimeseriesPoint = void 0;
+/**
+ * A timeseries point.
+ */
+class CIAppAggregateBucketValueTimeseriesPoint {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppAggregateBucketValueTimeseriesPoint.attributeTypeMap;
+    }
+}
+exports.CIAppAggregateBucketValueTimeseriesPoint = CIAppAggregateBucketValueTimeseriesPoint;
+/**
+ * @ignore
+ */
+CIAppAggregateBucketValueTimeseriesPoint.attributeTypeMap = {
+    time: {
+        baseName: "time",
+        type: "Date",
+        format: "date-time",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=CIAppAggregateBucketValueTimeseriesPoint.js.map
+
+/***/ }),
+
+/***/ 21472:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppAggregateSort = void 0;
+/**
+ * A sort rule.
+ */
+class CIAppAggregateSort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppAggregateSort.attributeTypeMap;
+    }
+}
+exports.CIAppAggregateSort = CIAppAggregateSort;
+/**
+ * @ignore
+ */
+CIAppAggregateSort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "CIAppAggregationFunction",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "CIAppSortOrder",
+    },
+    type: {
+        baseName: "type",
+        type: "CIAppAggregateSortType",
+    },
+};
+//# sourceMappingURL=CIAppAggregateSort.js.map
+
+/***/ }),
+
+/***/ 37528:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppCIError = void 0;
+/**
+ * Contains information of the CI error.
+ */
+class CIAppCIError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppCIError.attributeTypeMap;
+    }
+}
+exports.CIAppCIError = CIAppCIError;
+/**
+ * @ignore
+ */
+CIAppCIError.attributeTypeMap = {
+    domain: {
+        baseName: "domain",
+        type: "CIAppCIErrorDomain",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    stack: {
+        baseName: "stack",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppCIError.js.map
+
+/***/ }),
+
+/***/ 62331:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppCompute = void 0;
+/**
+ * A compute rule to compute metrics or timeseries.
+ */
+class CIAppCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppCompute.attributeTypeMap;
+    }
+}
+exports.CIAppCompute = CIAppCompute;
+/**
+ * @ignore
+ */
+CIAppCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "CIAppAggregationFunction",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CIAppComputeType",
+    },
+};
+//# sourceMappingURL=CIAppCompute.js.map
+
+/***/ }),
+
+/***/ 17773:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppCreatePipelineEventRequest = void 0;
+/**
+ * Request object.
+ */
+class CIAppCreatePipelineEventRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppCreatePipelineEventRequest.attributeTypeMap;
+    }
+}
+exports.CIAppCreatePipelineEventRequest = CIAppCreatePipelineEventRequest;
+/**
+ * @ignore
+ */
+CIAppCreatePipelineEventRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CIAppCreatePipelineEventRequestData",
+    },
+};
+//# sourceMappingURL=CIAppCreatePipelineEventRequest.js.map
+
+/***/ }),
+
+/***/ 73892:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppCreatePipelineEventRequestAttributes = void 0;
+/**
+ * Attributes of the pipeline event to create.
+ */
+class CIAppCreatePipelineEventRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppCreatePipelineEventRequestAttributes.attributeTypeMap;
+    }
+}
+exports.CIAppCreatePipelineEventRequestAttributes = CIAppCreatePipelineEventRequestAttributes;
+/**
+ * @ignore
+ */
+CIAppCreatePipelineEventRequestAttributes.attributeTypeMap = {
+    env: {
+        baseName: "env",
+        type: "string",
+    },
+    resource: {
+        baseName: "resource",
+        type: "CIAppCreatePipelineEventRequestAttributesResource",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppCreatePipelineEventRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 97619:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppCreatePipelineEventRequestData = void 0;
+/**
+ * Data of the pipeline event to create.
+ */
+class CIAppCreatePipelineEventRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppCreatePipelineEventRequestData.attributeTypeMap;
+    }
+}
+exports.CIAppCreatePipelineEventRequestData = CIAppCreatePipelineEventRequestData;
+/**
+ * @ignore
+ */
+CIAppCreatePipelineEventRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CIAppCreatePipelineEventRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "CIAppCreatePipelineEventRequestDataType",
+    },
+};
+//# sourceMappingURL=CIAppCreatePipelineEventRequestData.js.map
+
+/***/ }),
+
+/***/ 51009:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppEventAttributes = void 0;
+/**
+ * JSON object containing all event attributes and their associated values.
+ */
+class CIAppEventAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppEventAttributes.attributeTypeMap;
+    }
+}
+exports.CIAppEventAttributes = CIAppEventAttributes;
+/**
+ * @ignore
+ */
+CIAppEventAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    testLevel: {
+        baseName: "test_level",
+        type: "CIAppTestLevel",
+    },
+};
+//# sourceMappingURL=CIAppEventAttributes.js.map
+
+/***/ }),
+
+/***/ 51287:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppGitInfo = void 0;
+/**
+ * If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.
+ * Note that either `tag` or `branch` has to be provided, but not both.
+ */
+class CIAppGitInfo {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppGitInfo.attributeTypeMap;
+    }
+}
+exports.CIAppGitInfo = CIAppGitInfo;
+/**
+ * @ignore
+ */
+CIAppGitInfo.attributeTypeMap = {
+    authorEmail: {
+        baseName: "author_email",
+        type: "string",
+        required: true,
+        format: "email",
+    },
+    authorName: {
+        baseName: "author_name",
+        type: "string",
+    },
+    authorTime: {
+        baseName: "author_time",
+        type: "string",
+    },
+    branch: {
+        baseName: "branch",
+        type: "string",
+    },
+    commitTime: {
+        baseName: "commit_time",
+        type: "string",
+    },
+    committerEmail: {
+        baseName: "committer_email",
+        type: "string",
+        format: "email",
+    },
+    committerName: {
+        baseName: "committer_name",
+        type: "string",
+    },
+    defaultBranch: {
+        baseName: "default_branch",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    repositoryUrl: {
+        baseName: "repository_url",
+        type: "string",
+        required: true,
+    },
+    sha: {
+        baseName: "sha",
+        type: "string",
+        required: true,
+    },
+    tag: {
+        baseName: "tag",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppGitInfo.js.map
+
+/***/ }),
+
+/***/ 41595:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppGroupByHistogram = void 0;
+/**
+ * Used to perform a histogram computation (only for measure facets).
+ * At most, 100 buckets are allowed, the number of buckets is `(max - min)/interval`.
+ */
+class CIAppGroupByHistogram {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppGroupByHistogram.attributeTypeMap;
+    }
+}
+exports.CIAppGroupByHistogram = CIAppGroupByHistogram;
+/**
+ * @ignore
+ */
+CIAppGroupByHistogram.attributeTypeMap = {
+    interval: {
+        baseName: "interval",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    max: {
+        baseName: "max",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    min: {
+        baseName: "min",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=CIAppGroupByHistogram.js.map
+
+/***/ }),
+
+/***/ 33203:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppHostInfo = void 0;
+/**
+ * Contains information of the host running the pipeline, stage, job, or step.
+ */
+class CIAppHostInfo {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppHostInfo.attributeTypeMap;
+    }
+}
+exports.CIAppHostInfo = CIAppHostInfo;
+/**
+ * @ignore
+ */
+CIAppHostInfo.attributeTypeMap = {
+    hostname: {
+        baseName: "hostname",
+        type: "string",
+    },
+    labels: {
+        baseName: "labels",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    workspace: {
+        baseName: "workspace",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppHostInfo.js.map
+
+/***/ }),
+
+/***/ 75211:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEvent = void 0;
+/**
+ * Object description of a pipeline event after being processed and stored by Datadog.
+ */
+class CIAppPipelineEvent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEvent.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEvent = CIAppPipelineEvent;
+/**
+ * @ignore
+ */
+CIAppPipelineEvent.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CIAppPipelineEventAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CIAppPipelineEventTypeName",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEvent.js.map
+
+/***/ }),
+
+/***/ 64559:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventAttributes = void 0;
+/**
+ * JSON object containing all event attributes and their associated values.
+ */
+class CIAppPipelineEventAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventAttributes.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventAttributes = CIAppPipelineEventAttributes;
+/**
+ * @ignore
+ */
+CIAppPipelineEventAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    ciLevel: {
+        baseName: "ci_level",
+        type: "CIAppPipelineLevel",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventAttributes.js.map
+
+/***/ }),
+
+/***/ 94194:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventJob = void 0;
+/**
+ * Details of a CI job.
+ */
+class CIAppPipelineEventJob {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventJob.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventJob = CIAppPipelineEventJob;
+/**
+ * @ignore
+ */
+CIAppPipelineEventJob.attributeTypeMap = {
+    dependencies: {
+        baseName: "dependencies",
+        type: "Array",
+    },
+    end: {
+        baseName: "end",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    error: {
+        baseName: "error",
+        type: "CIAppCIError",
+    },
+    git: {
+        baseName: "git",
+        type: "CIAppGitInfo",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    level: {
+        baseName: "level",
+        type: "CIAppPipelineEventJobLevel",
+        required: true,
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    node: {
+        baseName: "node",
+        type: "CIAppHostInfo",
+    },
+    parameters: {
+        baseName: "parameters",
+        type: "{ [key: string]: string; }",
+    },
+    pipelineName: {
+        baseName: "pipeline_name",
+        type: "string",
+        required: true,
+    },
+    pipelineUniqueId: {
+        baseName: "pipeline_unique_id",
+        type: "string",
+        required: true,
+    },
+    queueTime: {
+        baseName: "queue_time",
+        type: "number",
+        format: "int64",
+    },
+    stageId: {
+        baseName: "stage_id",
+        type: "string",
+    },
+    stageName: {
+        baseName: "stage_name",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppPipelineEventJobStatus",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventJob.js.map
+
+/***/ }),
+
+/***/ 78093:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventParentPipeline = void 0;
+/**
+ * If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.
+ */
+class CIAppPipelineEventParentPipeline {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventParentPipeline.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventParentPipeline = CIAppPipelineEventParentPipeline;
+/**
+ * @ignore
+ */
+CIAppPipelineEventParentPipeline.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventParentPipeline.js.map
+
+/***/ }),
+
+/***/ 29598:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventPipeline = void 0;
+/**
+ * Details of the top level pipeline, build, or workflow of your CI.
+ */
+class CIAppPipelineEventPipeline {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventPipeline.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventPipeline = CIAppPipelineEventPipeline;
+/**
+ * @ignore
+ */
+CIAppPipelineEventPipeline.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    error: {
+        baseName: "error",
+        type: "CIAppCIError",
+    },
+    git: {
+        baseName: "git",
+        type: "CIAppGitInfo",
+        required: true,
+    },
+    isManual: {
+        baseName: "is_manual",
+        type: "boolean",
+    },
+    isResumed: {
+        baseName: "is_resumed",
+        type: "boolean",
+    },
+    level: {
+        baseName: "level",
+        type: "CIAppPipelineEventPipelineLevel",
+        required: true,
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    node: {
+        baseName: "node",
+        type: "CIAppHostInfo",
+    },
+    parameters: {
+        baseName: "parameters",
+        type: "{ [key: string]: string; }",
+    },
+    parentPipeline: {
+        baseName: "parent_pipeline",
+        type: "CIAppPipelineEventParentPipeline",
+    },
+    partialRetry: {
+        baseName: "partial_retry",
+        type: "boolean",
+        required: true,
+    },
+    pipelineId: {
+        baseName: "pipeline_id",
+        type: "string",
+    },
+    previousAttempt: {
+        baseName: "previous_attempt",
+        type: "CIAppPipelineEventPreviousPipeline",
+    },
+    queueTime: {
+        baseName: "queue_time",
+        type: "number",
+        format: "int64",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppPipelineEventPipelineStatus",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    uniqueId: {
+        baseName: "unique_id",
+        type: "string",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventPipeline.js.map
+
+/***/ }),
+
+/***/ 9966:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventPreviousPipeline = void 0;
+/**
+ * If the pipeline is a retry, this should contain the details of the previous attempt.
+ */
+class CIAppPipelineEventPreviousPipeline {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventPreviousPipeline.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventPreviousPipeline = CIAppPipelineEventPreviousPipeline;
+/**
+ * @ignore
+ */
+CIAppPipelineEventPreviousPipeline.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventPreviousPipeline.js.map
+
+/***/ }),
+
+/***/ 44961:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventStage = void 0;
+/**
+ * Details of a CI stage.
+ */
+class CIAppPipelineEventStage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventStage.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventStage = CIAppPipelineEventStage;
+/**
+ * @ignore
+ */
+CIAppPipelineEventStage.attributeTypeMap = {
+    dependencies: {
+        baseName: "dependencies",
+        type: "Array",
+    },
+    end: {
+        baseName: "end",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    error: {
+        baseName: "error",
+        type: "CIAppCIError",
+    },
+    git: {
+        baseName: "git",
+        type: "CIAppGitInfo",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    level: {
+        baseName: "level",
+        type: "CIAppPipelineEventStageLevel",
+        required: true,
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    node: {
+        baseName: "node",
+        type: "CIAppHostInfo",
+    },
+    parameters: {
+        baseName: "parameters",
+        type: "{ [key: string]: string; }",
+    },
+    pipelineName: {
+        baseName: "pipeline_name",
+        type: "string",
+        required: true,
+    },
+    pipelineUniqueId: {
+        baseName: "pipeline_unique_id",
+        type: "string",
+        required: true,
+    },
+    queueTime: {
+        baseName: "queue_time",
+        type: "number",
+        format: "int64",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppPipelineEventStageStatus",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventStage.js.map
+
+/***/ }),
+
+/***/ 32485:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventStep = void 0;
+/**
+ * Details of a CI step.
+ */
+class CIAppPipelineEventStep {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventStep.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventStep = CIAppPipelineEventStep;
+/**
+ * @ignore
+ */
+CIAppPipelineEventStep.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    error: {
+        baseName: "error",
+        type: "CIAppCIError",
+    },
+    git: {
+        baseName: "git",
+        type: "CIAppGitInfo",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    jobId: {
+        baseName: "job_id",
+        type: "string",
+    },
+    jobName: {
+        baseName: "job_name",
+        type: "string",
+    },
+    level: {
+        baseName: "level",
+        type: "CIAppPipelineEventStepLevel",
+        required: true,
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    node: {
+        baseName: "node",
+        type: "CIAppHostInfo",
+    },
+    parameters: {
+        baseName: "parameters",
+        type: "{ [key: string]: string; }",
+    },
+    pipelineName: {
+        baseName: "pipeline_name",
+        type: "string",
+        required: true,
+    },
+    pipelineUniqueId: {
+        baseName: "pipeline_unique_id",
+        type: "string",
+        required: true,
+    },
+    stageId: {
+        baseName: "stage_id",
+        type: "string",
+    },
+    stageName: {
+        baseName: "stage_name",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppPipelineEventStepStatus",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventStep.js.map
+
+/***/ }),
+
+/***/ 49384:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventsRequest = void 0;
+/**
+ * The request for a pipelines search.
+ */
+class CIAppPipelineEventsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventsRequest.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventsRequest = CIAppPipelineEventsRequest;
+/**
+ * @ignore
+ */
+CIAppPipelineEventsRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "CIAppPipelinesQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "CIAppQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "CIAppQueryPageOptions",
+    },
+    sort: {
+        baseName: "sort",
+        type: "CIAppSort",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventsRequest.js.map
+
+/***/ }),
+
+/***/ 9211:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelineEventsResponse = void 0;
+/**
+ * Response object with all pipeline events matching the request and pagination information.
+ */
+class CIAppPipelineEventsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelineEventsResponse.attributeTypeMap;
+    }
+}
+exports.CIAppPipelineEventsResponse = CIAppPipelineEventsResponse;
+/**
+ * @ignore
+ */
+CIAppPipelineEventsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "CIAppResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "CIAppResponseMetadataWithPagination",
+    },
+};
+//# sourceMappingURL=CIAppPipelineEventsResponse.js.map
+
+/***/ }),
+
+/***/ 34100:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesAggregateRequest = void 0;
+/**
+ * The object sent with the request to retrieve aggregation buckets of pipeline events from your organization.
+ */
+class CIAppPipelinesAggregateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesAggregateRequest.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesAggregateRequest = CIAppPipelinesAggregateRequest;
+/**
+ * @ignore
+ */
+CIAppPipelinesAggregateRequest.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "CIAppPipelinesQueryFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    options: {
+        baseName: "options",
+        type: "CIAppQueryOptions",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesAggregateRequest.js.map
+
+/***/ }),
+
+/***/ 39081:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesAggregationBucketsResponse = void 0;
+/**
+ * The query results.
+ */
+class CIAppPipelinesAggregationBucketsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesAggregationBucketsResponse.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesAggregationBucketsResponse = CIAppPipelinesAggregationBucketsResponse;
+/**
+ * @ignore
+ */
+CIAppPipelinesAggregationBucketsResponse.attributeTypeMap = {
+    buckets: {
+        baseName: "buckets",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesAggregationBucketsResponse.js.map
+
+/***/ }),
+
+/***/ 45629:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesAnalyticsAggregateResponse = void 0;
+/**
+ * The response object for the pipeline events aggregate API endpoint.
+ */
+class CIAppPipelinesAnalyticsAggregateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesAnalyticsAggregateResponse.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesAnalyticsAggregateResponse = CIAppPipelinesAnalyticsAggregateResponse;
+/**
+ * @ignore
+ */
+CIAppPipelinesAnalyticsAggregateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CIAppPipelinesAggregationBucketsResponse",
+    },
+    links: {
+        baseName: "links",
+        type: "CIAppResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "CIAppResponseMetadata",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesAnalyticsAggregateResponse.js.map
+
+/***/ }),
+
+/***/ 272:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesBucketResponse = void 0;
+/**
+ * Bucket values.
+ */
+class CIAppPipelinesBucketResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesBucketResponse.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesBucketResponse = CIAppPipelinesBucketResponse;
+/**
+ * @ignore
+ */
+CIAppPipelinesBucketResponse.attributeTypeMap = {
+    by: {
+        baseName: "by",
+        type: "{ [key: string]: any; }",
+    },
+    computes: {
+        baseName: "computes",
+        type: "{ [key: string]: CIAppAggregateBucketValue; }",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesBucketResponse.js.map
+
+/***/ }),
+
+/***/ 40802:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesGroupBy = void 0;
+/**
+ * A group-by rule.
+ */
+class CIAppPipelinesGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesGroupBy.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesGroupBy = CIAppPipelinesGroupBy;
+/**
+ * @ignore
+ */
+CIAppPipelinesGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    histogram: {
+        baseName: "histogram",
+        type: "CIAppGroupByHistogram",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    missing: {
+        baseName: "missing",
+        type: "CIAppGroupByMissing",
+    },
+    sort: {
+        baseName: "sort",
+        type: "CIAppAggregateSort",
+    },
+    total: {
+        baseName: "total",
+        type: "CIAppGroupByTotal",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesGroupBy.js.map
+
+/***/ }),
+
+/***/ 35457:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppPipelinesQueryFilter = void 0;
+/**
+ * The search and filter query settings.
+ */
+class CIAppPipelinesQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppPipelinesQueryFilter.attributeTypeMap;
+    }
+}
+exports.CIAppPipelinesQueryFilter = CIAppPipelinesQueryFilter;
+/**
+ * @ignore
+ */
+CIAppPipelinesQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppPipelinesQueryFilter.js.map
+
+/***/ }),
+
+/***/ 15041:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppQueryOptions = void 0;
+/**
+ * Global query options that are used during the query.
+ * Only supply timezone or time offset, not both. Otherwise, the query fails.
+ */
+class CIAppQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppQueryOptions.attributeTypeMap;
+    }
+}
+exports.CIAppQueryOptions = CIAppQueryOptions;
+/**
+ * @ignore
+ */
+CIAppQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "time_offset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppQueryOptions.js.map
+
+/***/ }),
+
+/***/ 56458:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppQueryPageOptions = void 0;
+/**
+ * Paging attributes for listing events.
+ */
+class CIAppQueryPageOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppQueryPageOptions.attributeTypeMap;
+    }
+}
+exports.CIAppQueryPageOptions = CIAppQueryPageOptions;
+/**
+ * @ignore
+ */
+CIAppQueryPageOptions.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=CIAppQueryPageOptions.js.map
+
+/***/ }),
+
+/***/ 38904:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class CIAppResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppResponseLinks.attributeTypeMap;
+    }
+}
+exports.CIAppResponseLinks = CIAppResponseLinks;
+/**
+ * @ignore
+ */
+CIAppResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppResponseLinks.js.map
+
+/***/ }),
+
+/***/ 28558:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class CIAppResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppResponseMetadata.attributeTypeMap;
+    }
+}
+exports.CIAppResponseMetadata = CIAppResponseMetadata;
+/**
+ * @ignore
+ */
+CIAppResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 7323:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppResponseMetadataWithPagination = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class CIAppResponseMetadataWithPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppResponseMetadataWithPagination.attributeTypeMap;
+    }
+}
+exports.CIAppResponseMetadataWithPagination = CIAppResponseMetadataWithPagination;
+/**
+ * @ignore
+ */
+CIAppResponseMetadataWithPagination.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "CIAppResponsePage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "CIAppResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppResponseMetadataWithPagination.js.map
+
+/***/ }),
+
+/***/ 93546:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppResponsePage = void 0;
+/**
+ * Paging attributes.
+ */
+class CIAppResponsePage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppResponsePage.attributeTypeMap;
+    }
+}
+exports.CIAppResponsePage = CIAppResponsePage;
+/**
+ * @ignore
+ */
+CIAppResponsePage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppResponsePage.js.map
+
+/***/ }),
+
+/***/ 4657:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestEvent = void 0;
+/**
+ * Object description of test event after being processed and stored by Datadog.
+ */
+class CIAppTestEvent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestEvent.attributeTypeMap;
+    }
+}
+exports.CIAppTestEvent = CIAppTestEvent;
+/**
+ * @ignore
+ */
+CIAppTestEvent.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CIAppEventAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CIAppTestEventTypeName",
+    },
+};
+//# sourceMappingURL=CIAppTestEvent.js.map
+
+/***/ }),
+
+/***/ 44728:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestEventsRequest = void 0;
+/**
+ * The request for a tests search.
+ */
+class CIAppTestEventsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestEventsRequest.attributeTypeMap;
+    }
+}
+exports.CIAppTestEventsRequest = CIAppTestEventsRequest;
+/**
+ * @ignore
+ */
+CIAppTestEventsRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "CIAppTestsQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "CIAppQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "CIAppQueryPageOptions",
+    },
+    sort: {
+        baseName: "sort",
+        type: "CIAppSort",
+    },
+};
+//# sourceMappingURL=CIAppTestEventsRequest.js.map
+
+/***/ }),
+
+/***/ 98667:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestEventsResponse = void 0;
+/**
+ * Response object with all test events matching the request and pagination information.
+ */
+class CIAppTestEventsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestEventsResponse.attributeTypeMap;
+    }
+}
+exports.CIAppTestEventsResponse = CIAppTestEventsResponse;
+/**
+ * @ignore
+ */
+CIAppTestEventsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "CIAppResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "CIAppResponseMetadataWithPagination",
+    },
+};
+//# sourceMappingURL=CIAppTestEventsResponse.js.map
+
+/***/ }),
+
+/***/ 70915:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsAggregateRequest = void 0;
+/**
+ * The object sent with the request to retrieve aggregation buckets of test events from your organization.
+ */
+class CIAppTestsAggregateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsAggregateRequest.attributeTypeMap;
+    }
+}
+exports.CIAppTestsAggregateRequest = CIAppTestsAggregateRequest;
+/**
+ * @ignore
+ */
+CIAppTestsAggregateRequest.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "CIAppTestsQueryFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    options: {
+        baseName: "options",
+        type: "CIAppQueryOptions",
+    },
+};
+//# sourceMappingURL=CIAppTestsAggregateRequest.js.map
+
+/***/ }),
+
+/***/ 9539:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsAggregationBucketsResponse = void 0;
+/**
+ * The query results.
+ */
+class CIAppTestsAggregationBucketsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsAggregationBucketsResponse.attributeTypeMap;
+    }
+}
+exports.CIAppTestsAggregationBucketsResponse = CIAppTestsAggregationBucketsResponse;
+/**
+ * @ignore
+ */
+CIAppTestsAggregationBucketsResponse.attributeTypeMap = {
+    buckets: {
+        baseName: "buckets",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CIAppTestsAggregationBucketsResponse.js.map
+
+/***/ }),
+
+/***/ 97182:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsAnalyticsAggregateResponse = void 0;
+/**
+ * The response object for the test events aggregate API endpoint.
+ */
+class CIAppTestsAnalyticsAggregateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsAnalyticsAggregateResponse.attributeTypeMap;
+    }
+}
+exports.CIAppTestsAnalyticsAggregateResponse = CIAppTestsAnalyticsAggregateResponse;
+/**
+ * @ignore
+ */
+CIAppTestsAnalyticsAggregateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CIAppTestsAggregationBucketsResponse",
+    },
+    links: {
+        baseName: "links",
+        type: "CIAppResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "CIAppResponseMetadataWithPagination",
+    },
+};
+//# sourceMappingURL=CIAppTestsAnalyticsAggregateResponse.js.map
+
+/***/ }),
+
+/***/ 21345:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsBucketResponse = void 0;
+/**
+ * Bucket values.
+ */
+class CIAppTestsBucketResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsBucketResponse.attributeTypeMap;
+    }
+}
+exports.CIAppTestsBucketResponse = CIAppTestsBucketResponse;
+/**
+ * @ignore
+ */
+CIAppTestsBucketResponse.attributeTypeMap = {
+    by: {
+        baseName: "by",
+        type: "{ [key: string]: any; }",
+    },
+    computes: {
+        baseName: "computes",
+        type: "{ [key: string]: CIAppAggregateBucketValue; }",
+    },
+};
+//# sourceMappingURL=CIAppTestsBucketResponse.js.map
+
+/***/ }),
+
+/***/ 63751:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsGroupBy = void 0;
+/**
+ * A group-by rule.
+ */
+class CIAppTestsGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsGroupBy.attributeTypeMap;
+    }
+}
+exports.CIAppTestsGroupBy = CIAppTestsGroupBy;
+/**
+ * @ignore
+ */
+CIAppTestsGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    histogram: {
+        baseName: "histogram",
+        type: "CIAppGroupByHistogram",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    missing: {
+        baseName: "missing",
+        type: "CIAppGroupByMissing",
+    },
+    sort: {
+        baseName: "sort",
+        type: "CIAppAggregateSort",
+    },
+    total: {
+        baseName: "total",
+        type: "CIAppGroupByTotal",
+    },
+};
+//# sourceMappingURL=CIAppTestsGroupBy.js.map
+
+/***/ }),
+
+/***/ 15703:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppTestsQueryFilter = void 0;
+/**
+ * The search and filter query settings.
+ */
+class CIAppTestsQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppTestsQueryFilter.attributeTypeMap;
+    }
+}
+exports.CIAppTestsQueryFilter = CIAppTestsQueryFilter;
+/**
+ * @ignore
+ */
+CIAppTestsQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppTestsQueryFilter.js.map
+
+/***/ }),
+
+/***/ 66247:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CIAppWarning = void 0;
+/**
+ * A warning message indicating something that went wrong with the query.
+ */
+class CIAppWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CIAppWarning.attributeTypeMap;
+    }
+}
+exports.CIAppWarning = CIAppWarning;
+/**
+ * @ignore
+ */
+CIAppWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CIAppWarning.js.map
+
+/***/ }),
+
+/***/ 77510:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ChargebackBreakdown = void 0;
+/**
+ * Charges breakdown.
+ */
+class ChargebackBreakdown {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ChargebackBreakdown.attributeTypeMap;
+    }
+}
+exports.ChargebackBreakdown = ChargebackBreakdown;
+/**
+ * @ignore
+ */
+ChargebackBreakdown.attributeTypeMap = {
+    chargeType: {
+        baseName: "charge_type",
+        type: "string",
+    },
+    cost: {
+        baseName: "cost",
+        type: "number",
+        format: "double",
+    },
+    productName: {
+        baseName: "product_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ChargebackBreakdown.js.map
+
+/***/ }),
+
+/***/ 92893:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationComplianceRuleOptions = void 0;
+/**
+ * Options for cloud_configuration rules.
+ * Fields `resourceType` and `regoRule` are mandatory when managing custom `cloud_configuration` rules.
+ */
+class CloudConfigurationComplianceRuleOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationComplianceRuleOptions.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationComplianceRuleOptions = CloudConfigurationComplianceRuleOptions;
+/**
+ * @ignore
+ */
+CloudConfigurationComplianceRuleOptions.attributeTypeMap = {
+    complexRule: {
+        baseName: "complexRule",
+        type: "boolean",
+    },
+    regoRule: {
+        baseName: "regoRule",
+        type: "CloudConfigurationRegoRule",
+    },
+    resourceType: {
+        baseName: "resourceType",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CloudConfigurationComplianceRuleOptions.js.map
+
+/***/ }),
+
+/***/ 56027:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationRegoRule = void 0;
+/**
+ * Rule details.
+ */
+class CloudConfigurationRegoRule {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationRegoRule.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationRegoRule = CloudConfigurationRegoRule;
+/**
+ * @ignore
+ */
+CloudConfigurationRegoRule.attributeTypeMap = {
+    policy: {
+        baseName: "policy",
+        type: "string",
+        required: true,
+    },
+    resourceTypes: {
+        baseName: "resourceTypes",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudConfigurationRegoRule.js.map
+
+/***/ }),
+
+/***/ 76759:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationRuleCaseCreate = void 0;
+/**
+ * Description of signals.
+ */
+class CloudConfigurationRuleCaseCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationRuleCaseCreate.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationRuleCaseCreate = CloudConfigurationRuleCaseCreate;
+/**
+ * @ignore
+ */
+CloudConfigurationRuleCaseCreate.attributeTypeMap = {
+    notifications: {
+        baseName: "notifications",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "SecurityMonitoringRuleSeverity",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudConfigurationRuleCaseCreate.js.map
+
+/***/ }),
+
+/***/ 69719:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationRuleComplianceSignalOptions = void 0;
+/**
+ * How to generate compliance signals. Useful for cloud_configuration rules only.
+ */
+class CloudConfigurationRuleComplianceSignalOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationRuleComplianceSignalOptions.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationRuleComplianceSignalOptions = CloudConfigurationRuleComplianceSignalOptions;
+/**
+ * @ignore
+ */
+CloudConfigurationRuleComplianceSignalOptions.attributeTypeMap = {
+    defaultActivationStatus: {
+        baseName: "defaultActivationStatus",
+        type: "boolean",
+    },
+    defaultGroupByFields: {
+        baseName: "defaultGroupByFields",
+        type: "Array",
+    },
+    userActivationStatus: {
+        baseName: "userActivationStatus",
+        type: "boolean",
+    },
+    userGroupByFields: {
+        baseName: "userGroupByFields",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CloudConfigurationRuleComplianceSignalOptions.js.map
+
+/***/ }),
+
+/***/ 53788:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationRuleCreatePayload = void 0;
+/**
+ * Create a new cloud configuration rule.
+ */
+class CloudConfigurationRuleCreatePayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationRuleCreatePayload.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationRuleCreatePayload = CloudConfigurationRuleCreatePayload;
+/**
+ * @ignore
+ */
+CloudConfigurationRuleCreatePayload.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+        required: true,
+    },
+    complianceSignalOptions: {
+        baseName: "complianceSignalOptions",
+        type: "CloudConfigurationRuleComplianceSignalOptions",
+        required: true,
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    options: {
+        baseName: "options",
+        type: "CloudConfigurationRuleOptions",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "CloudConfigurationRuleType",
+    },
+};
+//# sourceMappingURL=CloudConfigurationRuleCreatePayload.js.map
+
+/***/ }),
+
+/***/ 10675:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudConfigurationRuleOptions = void 0;
+/**
+ * Options on cloud configuration rules.
+ */
+class CloudConfigurationRuleOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudConfigurationRuleOptions.attributeTypeMap;
+    }
+}
+exports.CloudConfigurationRuleOptions = CloudConfigurationRuleOptions;
+/**
+ * @ignore
+ */
+CloudConfigurationRuleOptions.attributeTypeMap = {
+    complianceRuleOptions: {
+        baseName: "complianceRuleOptions",
+        type: "CloudConfigurationComplianceRuleOptions",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudConfigurationRuleOptions.js.map
+
+/***/ }),
+
+/***/ 10670:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleAttributes = void 0;
+/**
+ * A Cloud Workload Security Agent rule returned by the API.
+ */
+class CloudWorkloadSecurityAgentRuleAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleAttributes.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleAttributes = CloudWorkloadSecurityAgentRuleAttributes;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleAttributes.attributeTypeMap = {
+    agentConstraint: {
+        baseName: "agentConstraint",
+        type: "string",
+    },
+    category: {
+        baseName: "category",
+        type: "string",
+    },
+    creationAuthorUuId: {
+        baseName: "creationAuthorUuId",
+        type: "string",
+    },
+    creationDate: {
+        baseName: "creationDate",
+        type: "number",
+        format: "int64",
+    },
+    creator: {
+        baseName: "creator",
+        type: "CloudWorkloadSecurityAgentRuleCreatorAttributes",
+    },
+    defaultRule: {
+        baseName: "defaultRule",
+        type: "boolean",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    updateAuthorUuId: {
+        baseName: "updateAuthorUuId",
+        type: "string",
+    },
+    updateDate: {
+        baseName: "updateDate",
+        type: "number",
+        format: "int64",
+    },
+    updatedAt: {
+        baseName: "updatedAt",
+        type: "number",
+        format: "int64",
+    },
+    updater: {
+        baseName: "updater",
+        type: "CloudWorkloadSecurityAgentRuleUpdaterAttributes",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleAttributes.js.map
+
+/***/ }),
+
+/***/ 56409:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleCreateAttributes = void 0;
+/**
+ * Create a new Cloud Workload Security Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleCreateAttributes.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleCreateAttributes = CloudWorkloadSecurityAgentRuleCreateAttributes;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleCreateAttributes.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 84544:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleCreateData = void 0;
+/**
+ * Object for a single Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleCreateData.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleCreateData = CloudWorkloadSecurityAgentRuleCreateData;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudWorkloadSecurityAgentRuleCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "CloudWorkloadSecurityAgentRuleType",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateData.js.map
+
+/***/ }),
+
+/***/ 74770:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleCreateRequest = void 0;
+/**
+ * Request object that includes the Agent rule to create.
+ */
+class CloudWorkloadSecurityAgentRuleCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleCreateRequest.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleCreateRequest = CloudWorkloadSecurityAgentRuleCreateRequest;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudWorkloadSecurityAgentRuleCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateRequest.js.map
+
+/***/ }),
+
+/***/ 36687:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleCreatorAttributes = void 0;
+/**
+ * The attributes of the user who created the Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleCreatorAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleCreatorAttributes.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleCreatorAttributes = CloudWorkloadSecurityAgentRuleCreatorAttributes;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleCreatorAttributes.attributeTypeMap = {
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreatorAttributes.js.map
+
+/***/ }),
+
+/***/ 15134:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleData = void 0;
+/**
+ * Object for a single Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleData.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleData = CloudWorkloadSecurityAgentRuleData;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudWorkloadSecurityAgentRuleAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CloudWorkloadSecurityAgentRuleType",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleData.js.map
+
+/***/ }),
+
+/***/ 21513:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleResponse = void 0;
+/**
+ * Response object that includes an Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleResponse.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleResponse = CloudWorkloadSecurityAgentRuleResponse;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudWorkloadSecurityAgentRuleData",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleResponse.js.map
+
+/***/ }),
+
+/***/ 68095:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleUpdateAttributes = void 0;
+/**
+ * Update an existing Cloud Workload Security Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleUpdateAttributes = CloudWorkloadSecurityAgentRuleUpdateAttributes;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleUpdateAttributes.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+    expression: {
+        baseName: "expression",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 57069:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleUpdateData = void 0;
+/**
+ * Object for a single Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleUpdateData.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleUpdateData = CloudWorkloadSecurityAgentRuleUpdateData;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudWorkloadSecurityAgentRuleUpdateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "CloudWorkloadSecurityAgentRuleType",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateData.js.map
+
+/***/ }),
+
+/***/ 109:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleUpdateRequest = void 0;
+/**
+ * Request object that includes the Agent rule with the attributes to update.
+ */
+class CloudWorkloadSecurityAgentRuleUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleUpdateRequest.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleUpdateRequest = CloudWorkloadSecurityAgentRuleUpdateRequest;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudWorkloadSecurityAgentRuleUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 38935:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = void 0;
+/**
+ * The attributes of the user who last updated the Agent rule.
+ */
+class CloudWorkloadSecurityAgentRuleUpdaterAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRuleUpdaterAttributes.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = CloudWorkloadSecurityAgentRuleUpdaterAttributes;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRuleUpdaterAttributes.attributeTypeMap = {
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdaterAttributes.js.map
+
+/***/ }),
+
+/***/ 79890:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudWorkloadSecurityAgentRulesListResponse = void 0;
+/**
+ * Response object that includes a list of Agent rule.
+ */
+class CloudWorkloadSecurityAgentRulesListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudWorkloadSecurityAgentRulesListResponse.attributeTypeMap;
+    }
+}
+exports.CloudWorkloadSecurityAgentRulesListResponse = CloudWorkloadSecurityAgentRulesListResponse;
+/**
+ * @ignore
+ */
+CloudWorkloadSecurityAgentRulesListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CloudWorkloadSecurityAgentRulesListResponse.js.map
+
+/***/ }),
+
+/***/ 47372:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountCreateRequest = void 0;
+/**
+ * Payload schema when adding a Cloudflare account.
+ */
+class CloudflareAccountCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountCreateRequest.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountCreateRequest = CloudflareAccountCreateRequest;
+/**
+ * @ignore
+ */
+CloudflareAccountCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudflareAccountCreateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountCreateRequest.js.map
+
+/***/ }),
+
+/***/ 50120:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountCreateRequestAttributes = void 0;
+/**
+ * Attributes object for creating a Cloudflare account.
+ */
+class CloudflareAccountCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountCreateRequestAttributes = CloudflareAccountCreateRequestAttributes;
+/**
+ * @ignore
+ */
+CloudflareAccountCreateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 80445:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountCreateRequestData = void 0;
+/**
+ * Data object for creating a Cloudflare account.
+ */
+class CloudflareAccountCreateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountCreateRequestData.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountCreateRequestData = CloudflareAccountCreateRequestData;
+/**
+ * @ignore
+ */
+CloudflareAccountCreateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudflareAccountCreateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "CloudflareAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountCreateRequestData.js.map
+
+/***/ }),
+
+/***/ 30492:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountResponse = void 0;
+/**
+ * The expected response schema when getting a Cloudflare account.
+ */
+class CloudflareAccountResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountResponse.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountResponse = CloudflareAccountResponse;
+/**
+ * @ignore
+ */
+CloudflareAccountResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudflareAccountResponseData",
+    },
+};
+//# sourceMappingURL=CloudflareAccountResponse.js.map
+
+/***/ }),
+
+/***/ 51338:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountResponseAttributes = void 0;
+/**
+ * Attributes object of a Cloudflare account.
+ */
+class CloudflareAccountResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountResponseAttributes.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountResponseAttributes = CloudflareAccountResponseAttributes;
+/**
+ * @ignore
+ */
+CloudflareAccountResponseAttributes.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 39153:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountResponseData = void 0;
+/**
+ * Data object of a Cloudflare account.
+ */
+class CloudflareAccountResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountResponseData.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountResponseData = CloudflareAccountResponseData;
+/**
+ * @ignore
+ */
+CloudflareAccountResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudflareAccountResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "CloudflareAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountResponseData.js.map
+
+/***/ }),
+
+/***/ 35997:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountUpdateRequest = void 0;
+/**
+ * Payload schema when updating a Cloudflare account.
+ */
+class CloudflareAccountUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountUpdateRequest.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountUpdateRequest = CloudflareAccountUpdateRequest;
+/**
+ * @ignore
+ */
+CloudflareAccountUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "CloudflareAccountUpdateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=CloudflareAccountUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 15260:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountUpdateRequestAttributes = void 0;
+/**
+ * Attributes object for updating a Cloudflare account.
+ */
+class CloudflareAccountUpdateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountUpdateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountUpdateRequestAttributes = CloudflareAccountUpdateRequestAttributes;
+/**
+ * @ignore
+ */
+CloudflareAccountUpdateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+};
+//# sourceMappingURL=CloudflareAccountUpdateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 57325:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountUpdateRequestData = void 0;
+/**
+ * Data object for updating a Cloudflare account.
+ */
+class CloudflareAccountUpdateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountUpdateRequestData.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountUpdateRequestData = CloudflareAccountUpdateRequestData;
+/**
+ * @ignore
+ */
+CloudflareAccountUpdateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CloudflareAccountUpdateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "CloudflareAccountType",
+    },
+};
+//# sourceMappingURL=CloudflareAccountUpdateRequestData.js.map
+
+/***/ }),
+
+/***/ 75201:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudflareAccountsResponse = void 0;
+/**
+ * The expected response schema when getting Cloudflare accounts.
+ */
+class CloudflareAccountsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CloudflareAccountsResponse.attributeTypeMap;
+    }
+}
+exports.CloudflareAccountsResponse = CloudflareAccountsResponse;
+/**
+ * @ignore
+ */
+CloudflareAccountsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CloudflareAccountsResponse.js.map
+
+/***/ }),
+
+/***/ 37977:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountCreateRequest = void 0;
+/**
+ * Payload schema when adding a Confluent account.
+ */
+class ConfluentAccountCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountCreateRequest.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountCreateRequest = ConfluentAccountCreateRequest;
+/**
+ * @ignore
+ */
+ConfluentAccountCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ConfluentAccountCreateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentAccountCreateRequest.js.map
+
+/***/ }),
+
+/***/ 51346:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountCreateRequestAttributes = void 0;
+/**
+ * Attributes associated with the account creation request.
+ */
+class ConfluentAccountCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountCreateRequestAttributes = ConfluentAccountCreateRequestAttributes;
+/**
+ * @ignore
+ */
+ConfluentAccountCreateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    apiSecret: {
+        baseName: "api_secret",
+        type: "string",
+        required: true,
+    },
+    resources: {
+        baseName: "resources",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentAccountCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 42838:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountCreateRequestData = void 0;
+/**
+ * The data body for adding a Confluent account.
+ */
+class ConfluentAccountCreateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountCreateRequestData.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountCreateRequestData = ConfluentAccountCreateRequestData;
+/**
+ * @ignore
+ */
+ConfluentAccountCreateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ConfluentAccountCreateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ConfluentAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentAccountCreateRequestData.js.map
+
+/***/ }),
+
+/***/ 11498:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountResourceAttributes = void 0;
+/**
+ * Attributes object for updating a Confluent resource.
+ */
+class ConfluentAccountResourceAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountResourceAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountResourceAttributes = ConfluentAccountResourceAttributes;
+/**
+ * @ignore
+ */
+ConfluentAccountResourceAttributes.attributeTypeMap = {
+    enableCustomMetrics: {
+        baseName: "enable_custom_metrics",
+        type: "boolean",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentAccountResourceAttributes.js.map
+
+/***/ }),
+
+/***/ 32597:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountResponse = void 0;
+/**
+ * The expected response schema when getting a Confluent account.
+ */
+class ConfluentAccountResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountResponse.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountResponse = ConfluentAccountResponse;
+/**
+ * @ignore
+ */
+ConfluentAccountResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ConfluentAccountResponseData",
+    },
+};
+//# sourceMappingURL=ConfluentAccountResponse.js.map
+
+/***/ }),
+
+/***/ 48681:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountResponseAttributes = void 0;
+/**
+ * The attributes of a Confluent account.
+ */
+class ConfluentAccountResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountResponseAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountResponseAttributes = ConfluentAccountResponseAttributes;
+/**
+ * @ignore
+ */
+ConfluentAccountResponseAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    resources: {
+        baseName: "resources",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentAccountResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 1609:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountResponseData = void 0;
+/**
+ * An API key and API secret pair that represents a Confluent account.
+ */
+class ConfluentAccountResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountResponseData.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountResponseData = ConfluentAccountResponseData;
+/**
+ * @ignore
+ */
+ConfluentAccountResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ConfluentAccountResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ConfluentAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentAccountResponseData.js.map
+
+/***/ }),
+
+/***/ 41538:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountUpdateRequest = void 0;
+/**
+ * The JSON:API request for updating a Confluent account.
+ */
+class ConfluentAccountUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountUpdateRequest.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountUpdateRequest = ConfluentAccountUpdateRequest;
+/**
+ * @ignore
+ */
+ConfluentAccountUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ConfluentAccountUpdateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentAccountUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 31037:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountUpdateRequestAttributes = void 0;
+/**
+ * Attributes object for updating a Confluent account.
+ */
+class ConfluentAccountUpdateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountUpdateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountUpdateRequestAttributes = ConfluentAccountUpdateRequestAttributes;
+/**
+ * @ignore
+ */
+ConfluentAccountUpdateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    apiSecret: {
+        baseName: "api_secret",
+        type: "string",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentAccountUpdateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 34000:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountUpdateRequestData = void 0;
+/**
+ * Data object for updating a Confluent account.
+ */
+class ConfluentAccountUpdateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountUpdateRequestData.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountUpdateRequestData = ConfluentAccountUpdateRequestData;
+/**
+ * @ignore
+ */
+ConfluentAccountUpdateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ConfluentAccountUpdateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ConfluentAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentAccountUpdateRequestData.js.map
+
+/***/ }),
+
+/***/ 57414:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentAccountsResponse = void 0;
+/**
+ * Confluent account returned by the API.
+ */
+class ConfluentAccountsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentAccountsResponse.attributeTypeMap;
+    }
+}
+exports.ConfluentAccountsResponse = ConfluentAccountsResponse;
+/**
+ * @ignore
+ */
+ConfluentAccountsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentAccountsResponse.js.map
+
+/***/ }),
+
+/***/ 45377:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceRequest = void 0;
+/**
+ * The JSON:API request for updating a Confluent resource.
+ */
+class ConfluentResourceRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceRequest.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceRequest = ConfluentResourceRequest;
+/**
+ * @ignore
+ */
+ConfluentResourceRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ConfluentResourceRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentResourceRequest.js.map
+
+/***/ }),
+
+/***/ 67609:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceRequestAttributes = void 0;
+/**
+ * Attributes object for updating a Confluent resource.
+ */
+class ConfluentResourceRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceRequestAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceRequestAttributes = ConfluentResourceRequestAttributes;
+/**
+ * @ignore
+ */
+ConfluentResourceRequestAttributes.attributeTypeMap = {
+    enableCustomMetrics: {
+        baseName: "enable_custom_metrics",
+        type: "boolean",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentResourceRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 88859:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceRequestData = void 0;
+/**
+ * JSON:API request for updating a Confluent resource.
+ */
+class ConfluentResourceRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceRequestData.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceRequestData = ConfluentResourceRequestData;
+/**
+ * @ignore
+ */
+ConfluentResourceRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ConfluentResourceRequestAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ConfluentResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentResourceRequestData.js.map
+
+/***/ }),
+
+/***/ 62073:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceResponse = void 0;
+/**
+ * Response schema when interacting with a Confluent resource.
+ */
+class ConfluentResourceResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceResponse.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceResponse = ConfluentResourceResponse;
+/**
+ * @ignore
+ */
+ConfluentResourceResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ConfluentResourceResponseData",
+    },
+};
+//# sourceMappingURL=ConfluentResourceResponse.js.map
+
+/***/ }),
+
+/***/ 83014:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceResponseAttributes = void 0;
+/**
+ * Model representation of a Confluent Cloud resource.
+ */
+class ConfluentResourceResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceResponseAttributes.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceResponseAttributes = ConfluentResourceResponseAttributes;
+/**
+ * @ignore
+ */
+ConfluentResourceResponseAttributes.attributeTypeMap = {
+    enableCustomMetrics: {
+        baseName: "enable_custom_metrics",
+        type: "boolean",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentResourceResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 36502:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourceResponseData = void 0;
+/**
+ * Confluent Cloud resource data.
+ */
+class ConfluentResourceResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourceResponseData.attributeTypeMap;
+    }
+}
+exports.ConfluentResourceResponseData = ConfluentResourceResponseData;
+/**
+ * @ignore
+ */
+ConfluentResourceResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ConfluentResourceResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ConfluentResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ConfluentResourceResponseData.js.map
+
+/***/ }),
+
+/***/ 52184:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ConfluentResourcesResponse = void 0;
+/**
+ * Response schema when interacting with a list of Confluent resources.
+ */
+class ConfluentResourcesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ConfluentResourcesResponse.attributeTypeMap;
+    }
+}
+exports.ConfluentResourcesResponse = ConfluentResourcesResponse;
+/**
+ * @ignore
+ */
+ConfluentResourcesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ConfluentResourcesResponse.js.map
+
+/***/ }),
+
+/***/ 95098:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CostByOrg = void 0;
+/**
+ * Cost data.
+ */
+class CostByOrg {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CostByOrg.attributeTypeMap;
+    }
+}
+exports.CostByOrg = CostByOrg;
+/**
+ * @ignore
+ */
+CostByOrg.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "CostByOrgAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "CostByOrgType",
+    },
+};
+//# sourceMappingURL=CostByOrg.js.map
+
+/***/ }),
+
+/***/ 53784:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CostByOrgAttributes = void 0;
+/**
+ * Cost attributes data.
+ */
+class CostByOrgAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CostByOrgAttributes.attributeTypeMap;
+    }
+}
+exports.CostByOrgAttributes = CostByOrgAttributes;
+/**
+ * @ignore
+ */
+CostByOrgAttributes.attributeTypeMap = {
+    charges: {
+        baseName: "charges",
+        type: "Array",
+    },
+    date: {
+        baseName: "date",
+        type: "Date",
+        format: "date-time",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    totalCost: {
+        baseName: "total_cost",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=CostByOrgAttributes.js.map
+
+/***/ }),
+
+/***/ 10179:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CostByOrgResponse = void 0;
+/**
+ * Chargeback Summary response.
+ */
+class CostByOrgResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return CostByOrgResponse.attributeTypeMap;
+    }
+}
+exports.CostByOrgResponse = CostByOrgResponse;
+/**
+ * @ignore
+ */
+CostByOrgResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=CostByOrgResponse.js.map
+
+/***/ }),
+
+/***/ 50593:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Creator = void 0;
+/**
+ * Creator of the object.
+ */
+class Creator {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Creator.attributeTypeMap;
+    }
+}
+exports.Creator = Creator;
+/**
+ * @ignore
+ */
+Creator.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Creator.js.map
+
+/***/ }),
+
+/***/ 84295:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListAddItemsRequest = void 0;
+/**
+ * Request containing a list of dashboards to add.
+ */
+class DashboardListAddItemsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListAddItemsRequest.attributeTypeMap;
+    }
+}
+exports.DashboardListAddItemsRequest = DashboardListAddItemsRequest;
+/**
+ * @ignore
+ */
+DashboardListAddItemsRequest.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListAddItemsRequest.js.map
+
+/***/ }),
+
+/***/ 21658:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListAddItemsResponse = void 0;
+/**
+ * Response containing a list of added dashboards.
+ */
+class DashboardListAddItemsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListAddItemsResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListAddItemsResponse = DashboardListAddItemsResponse;
+/**
+ * @ignore
+ */
+DashboardListAddItemsResponse.attributeTypeMap = {
+    addedDashboardsToList: {
+        baseName: "added_dashboards_to_list",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListAddItemsResponse.js.map
+
+/***/ }),
+
+/***/ 82847:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListDeleteItemsRequest = void 0;
+/**
+ * Request containing a list of dashboards to delete.
+ */
+class DashboardListDeleteItemsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListDeleteItemsRequest.attributeTypeMap;
+    }
+}
+exports.DashboardListDeleteItemsRequest = DashboardListDeleteItemsRequest;
+/**
+ * @ignore
+ */
+DashboardListDeleteItemsRequest.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListDeleteItemsRequest.js.map
+
+/***/ }),
+
+/***/ 17177:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListDeleteItemsResponse = void 0;
+/**
+ * Response containing a list of deleted dashboards.
+ */
+class DashboardListDeleteItemsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListDeleteItemsResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListDeleteItemsResponse = DashboardListDeleteItemsResponse;
+/**
+ * @ignore
+ */
+DashboardListDeleteItemsResponse.attributeTypeMap = {
+    deletedDashboardsFromList: {
+        baseName: "deleted_dashboards_from_list",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListDeleteItemsResponse.js.map
+
+/***/ }),
+
+/***/ 10361:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListItem = void 0;
+/**
+ * A dashboard within a list.
+ */
+class DashboardListItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListItem.attributeTypeMap;
+    }
+}
+exports.DashboardListItem = DashboardListItem;
+/**
+ * @ignore
+ */
+DashboardListItem.attributeTypeMap = {
+    author: {
+        baseName: "author",
+        type: "Creator",
+    },
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    icon: {
+        baseName: "icon",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    integrationId: {
+        baseName: "integration_id",
+        type: "string",
+    },
+    isFavorite: {
+        baseName: "is_favorite",
+        type: "boolean",
+    },
+    isReadOnly: {
+        baseName: "is_read_only",
+        type: "boolean",
+    },
+    isShared: {
+        baseName: "is_shared",
+        type: "boolean",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    popularity: {
+        baseName: "popularity",
+        type: "number",
+        format: "int32",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "DashboardType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DashboardListItem.js.map
+
+/***/ }),
+
+/***/ 31713:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListItemRequest = void 0;
+/**
+ * A dashboard within a list.
+ */
+class DashboardListItemRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListItemRequest.attributeTypeMap;
+    }
+}
+exports.DashboardListItemRequest = DashboardListItemRequest;
+/**
+ * @ignore
+ */
+DashboardListItemRequest.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DashboardType",
+        required: true,
+    },
+};
+//# sourceMappingURL=DashboardListItemRequest.js.map
+
+/***/ }),
+
+/***/ 80943:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListItemResponse = void 0;
+/**
+ * A dashboard within a list.
+ */
+class DashboardListItemResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListItemResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListItemResponse = DashboardListItemResponse;
+/**
+ * @ignore
+ */
+DashboardListItemResponse.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DashboardType",
+        required: true,
+    },
+};
+//# sourceMappingURL=DashboardListItemResponse.js.map
+
+/***/ }),
+
+/***/ 49160:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListItems = void 0;
+/**
+ * Dashboards within a list.
+ */
+class DashboardListItems {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListItems.attributeTypeMap;
+    }
+}
+exports.DashboardListItems = DashboardListItems;
+/**
+ * @ignore
+ */
+DashboardListItems.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+        required: true,
+    },
+    total: {
+        baseName: "total",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=DashboardListItems.js.map
+
+/***/ }),
+
+/***/ 35029:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListUpdateItemsRequest = void 0;
+/**
+ * Request containing the list of dashboards to update to.
+ */
+class DashboardListUpdateItemsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListUpdateItemsRequest.attributeTypeMap;
+    }
+}
+exports.DashboardListUpdateItemsRequest = DashboardListUpdateItemsRequest;
+/**
+ * @ignore
+ */
+DashboardListUpdateItemsRequest.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListUpdateItemsRequest.js.map
+
+/***/ }),
+
+/***/ 40892:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DashboardListUpdateItemsResponse = void 0;
+/**
+ * Response containing a list of updated dashboards.
+ */
+class DashboardListUpdateItemsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DashboardListUpdateItemsResponse.attributeTypeMap;
+    }
+}
+exports.DashboardListUpdateItemsResponse = DashboardListUpdateItemsResponse;
+/**
+ * @ignore
+ */
+DashboardListUpdateItemsResponse.attributeTypeMap = {
+    dashboards: {
+        baseName: "dashboards",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DashboardListUpdateItemsResponse.js.map
+
+/***/ }),
+
+/***/ 76231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DataScalarColumn = void 0;
+/**
+ * A column containing the numerical results for a formula or query.
+ */
+class DataScalarColumn {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DataScalarColumn.attributeTypeMap;
+    }
+}
+exports.DataScalarColumn = DataScalarColumn;
+/**
+ * @ignore
+ */
+DataScalarColumn.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "ScalarMeta",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+    values: {
+        baseName: "values",
+        type: "Array",
+        format: "double",
+    },
+};
+//# sourceMappingURL=DataScalarColumn.js.map
+
+/***/ }),
+
+/***/ 52529:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DetailedFinding = void 0;
+/**
+ * A single finding with with message and resource configuration.
+ */
+class DetailedFinding {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DetailedFinding.attributeTypeMap;
+    }
+}
+exports.DetailedFinding = DetailedFinding;
+/**
+ * @ignore
+ */
+DetailedFinding.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "DetailedFindingAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "DetailedFindingType",
+    },
+};
+//# sourceMappingURL=DetailedFinding.js.map
+
+/***/ }),
+
+/***/ 92287:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DetailedFindingAttributes = void 0;
+/**
+ * The JSON:API attributes of the detailed finding.
+ */
+class DetailedFindingAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DetailedFindingAttributes.attributeTypeMap;
+    }
+}
+exports.DetailedFindingAttributes = DetailedFindingAttributes;
+/**
+ * @ignore
+ */
+DetailedFindingAttributes.attributeTypeMap = {
+    evaluation: {
+        baseName: "evaluation",
+        type: "FindingEvaluation",
+    },
+    evaluationChangedAt: {
+        baseName: "evaluation_changed_at",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    mute: {
+        baseName: "mute",
+        type: "FindingMute",
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    resourceConfiguration: {
+        baseName: "resource_configuration",
+        type: "any",
+    },
+    resourceDiscoveryDate: {
+        baseName: "resource_discovery_date",
+        type: "number",
+        format: "int64",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+    },
+    rule: {
+        baseName: "rule",
+        type: "FindingRule",
+    },
+    status: {
+        baseName: "status",
+        type: "FindingStatus",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DetailedFindingAttributes.js.map
+
+/***/ }),
+
+/***/ 27698:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeCreateRequest = void 0;
+/**
+ * Request for creating a downtime.
+ */
+class DowntimeCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeCreateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeCreateRequest = DowntimeCreateRequest;
+/**
+ * @ignore
+ */
+DowntimeCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DowntimeCreateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeCreateRequest.js.map
+
+/***/ }),
+
+/***/ 51623:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeCreateRequestAttributes = void 0;
+/**
+ * Downtime details.
+ */
+class DowntimeCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.DowntimeCreateRequestAttributes = DowntimeCreateRequestAttributes;
+/**
+ * @ignore
+ */
+DowntimeCreateRequestAttributes.attributeTypeMap = {
+    displayTimezone: {
+        baseName: "display_timezone",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    monitorIdentifier: {
+        baseName: "monitor_identifier",
+        type: "DowntimeMonitorIdentifier",
+        required: true,
+    },
+    muteFirstRecoveryNotification: {
+        baseName: "mute_first_recovery_notification",
+        type: "boolean",
+    },
+    notifyEndStates: {
+        baseName: "notify_end_states",
+        type: "Array",
+    },
+    notifyEndTypes: {
+        baseName: "notify_end_types",
+        type: "Array",
+    },
+    schedule: {
+        baseName: "schedule",
+        type: "DowntimeScheduleCreateRequest",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 66203:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeCreateRequestData = void 0;
+/**
+ * Object to create a downtime.
+ */
+class DowntimeCreateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeCreateRequestData.attributeTypeMap;
+    }
+}
+exports.DowntimeCreateRequestData = DowntimeCreateRequestData;
+/**
+ * @ignore
+ */
+DowntimeCreateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "DowntimeCreateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DowntimeResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeCreateRequestData.js.map
+
+/***/ }),
+
+/***/ 45454:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMeta = void 0;
+/**
+ * Pagination metadata returned by the API.
+ */
+class DowntimeMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMeta.attributeTypeMap;
+    }
+}
+exports.DowntimeMeta = DowntimeMeta;
+/**
+ * @ignore
+ */
+DowntimeMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "DowntimeMetaPage",
+    },
+};
+//# sourceMappingURL=DowntimeMeta.js.map
+
+/***/ }),
+
+/***/ 87179:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMetaPage = void 0;
+/**
+ * Object containing the total filtered count.
+ */
+class DowntimeMetaPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMetaPage.attributeTypeMap;
+    }
+}
+exports.DowntimeMetaPage = DowntimeMetaPage;
+/**
+ * @ignore
+ */
+DowntimeMetaPage.attributeTypeMap = {
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=DowntimeMetaPage.js.map
+
+/***/ }),
+
+/***/ 25438:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMonitorIdentifierId = void 0;
+/**
+ * Object of the monitor identifier.
+ */
+class DowntimeMonitorIdentifierId {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMonitorIdentifierId.attributeTypeMap;
+    }
+}
+exports.DowntimeMonitorIdentifierId = DowntimeMonitorIdentifierId;
+/**
+ * @ignore
+ */
+DowntimeMonitorIdentifierId.attributeTypeMap = {
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+};
+//# sourceMappingURL=DowntimeMonitorIdentifierId.js.map
+
+/***/ }),
+
+/***/ 54533:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMonitorIdentifierTags = void 0;
+/**
+ * Object of the monitor tags.
+ */
+class DowntimeMonitorIdentifierTags {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMonitorIdentifierTags.attributeTypeMap;
+    }
+}
+exports.DowntimeMonitorIdentifierTags = DowntimeMonitorIdentifierTags;
+/**
+ * @ignore
+ */
+DowntimeMonitorIdentifierTags.attributeTypeMap = {
+    monitorTags: {
+        baseName: "monitor_tags",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeMonitorIdentifierTags.js.map
+
+/***/ }),
+
+/***/ 1451:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMonitorIncludedAttributes = void 0;
+/**
+ * Attributes of the monitor identified by the downtime.
+ */
+class DowntimeMonitorIncludedAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMonitorIncludedAttributes.attributeTypeMap;
+    }
+}
+exports.DowntimeMonitorIncludedAttributes = DowntimeMonitorIncludedAttributes;
+/**
+ * @ignore
+ */
+DowntimeMonitorIncludedAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeMonitorIncludedAttributes.js.map
+
+/***/ }),
+
+/***/ 89807:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeMonitorIncludedItem = void 0;
+/**
+ * Information about the monitor identified by the downtime.
+ */
+class DowntimeMonitorIncludedItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeMonitorIncludedItem.attributeTypeMap;
+    }
+}
+exports.DowntimeMonitorIncludedItem = DowntimeMonitorIncludedItem;
+/**
+ * @ignore
+ */
+DowntimeMonitorIncludedItem.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "DowntimeMonitorIncludedAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "DowntimeIncludedMonitorType",
+    },
+};
+//# sourceMappingURL=DowntimeMonitorIncludedItem.js.map
+
+/***/ }),
+
+/***/ 89858:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRelationships = void 0;
+/**
+ * All relationships associated with downtime.
+ */
+class DowntimeRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRelationships.attributeTypeMap;
+    }
+}
+exports.DowntimeRelationships = DowntimeRelationships;
+/**
+ * @ignore
+ */
+DowntimeRelationships.attributeTypeMap = {
+    createdBy: {
+        baseName: "created_by",
+        type: "DowntimeRelationshipsCreatedBy",
+    },
+    monitor: {
+        baseName: "monitor",
+        type: "DowntimeRelationshipsMonitor",
+    },
+};
+//# sourceMappingURL=DowntimeRelationships.js.map
+
+/***/ }),
+
+/***/ 1450:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRelationshipsCreatedBy = void 0;
+/**
+ * The user who created the downtime.
+ */
+class DowntimeRelationshipsCreatedBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRelationshipsCreatedBy.attributeTypeMap;
+    }
+}
+exports.DowntimeRelationshipsCreatedBy = DowntimeRelationshipsCreatedBy;
+/**
+ * @ignore
+ */
+DowntimeRelationshipsCreatedBy.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DowntimeRelationshipsCreatedByData",
+    },
+};
+//# sourceMappingURL=DowntimeRelationshipsCreatedBy.js.map
+
+/***/ }),
+
+/***/ 62037:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRelationshipsCreatedByData = void 0;
+/**
+ * Data for the user who created the downtime.
+ */
+class DowntimeRelationshipsCreatedByData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRelationshipsCreatedByData.attributeTypeMap;
+    }
+}
+exports.DowntimeRelationshipsCreatedByData = DowntimeRelationshipsCreatedByData;
+/**
+ * @ignore
+ */
+DowntimeRelationshipsCreatedByData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+    },
+};
+//# sourceMappingURL=DowntimeRelationshipsCreatedByData.js.map
+
+/***/ }),
+
+/***/ 75995:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRelationshipsMonitor = void 0;
+/**
+ * The monitor identified by the downtime.
+ */
+class DowntimeRelationshipsMonitor {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRelationshipsMonitor.attributeTypeMap;
+    }
+}
+exports.DowntimeRelationshipsMonitor = DowntimeRelationshipsMonitor;
+/**
+ * @ignore
+ */
+DowntimeRelationshipsMonitor.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DowntimeRelationshipsMonitorData",
+    },
+};
+//# sourceMappingURL=DowntimeRelationshipsMonitor.js.map
+
+/***/ }),
+
+/***/ 78565:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeRelationshipsMonitorData = void 0;
+/**
+ * Data for the monitor.
+ */
+class DowntimeRelationshipsMonitorData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeRelationshipsMonitorData.attributeTypeMap;
+    }
+}
+exports.DowntimeRelationshipsMonitorData = DowntimeRelationshipsMonitorData;
+/**
+ * @ignore
+ */
+DowntimeRelationshipsMonitorData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "DowntimeIncludedMonitorType",
+    },
+};
+//# sourceMappingURL=DowntimeRelationshipsMonitorData.js.map
+
+/***/ }),
+
+/***/ 1385:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeResponse = void 0;
+/**
+ * Downtiming gives you greater control over monitor notifications by
+ * allowing you to globally exclude scopes from alerting.
+ * Downtime settings, which can be scheduled with start and end times,
+ * prevent all alerting related to specified Datadog tags.
+ */
+class DowntimeResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeResponse.attributeTypeMap;
+    }
+}
+exports.DowntimeResponse = DowntimeResponse;
+/**
+ * @ignore
+ */
+DowntimeResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DowntimeResponseData",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=DowntimeResponse.js.map
+
+/***/ }),
+
+/***/ 47932:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeResponseAttributes = void 0;
+/**
+ * Downtime details.
+ */
+class DowntimeResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeResponseAttributes.attributeTypeMap;
+    }
+}
+exports.DowntimeResponseAttributes = DowntimeResponseAttributes;
+/**
+ * @ignore
+ */
+DowntimeResponseAttributes.attributeTypeMap = {
+    canceled: {
+        baseName: "canceled",
+        type: "Date",
+        format: "date-time",
+    },
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    displayTimezone: {
+        baseName: "display_timezone",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    monitorIdentifier: {
+        baseName: "monitor_identifier",
+        type: "DowntimeMonitorIdentifier",
+    },
+    muteFirstRecoveryNotification: {
+        baseName: "mute_first_recovery_notification",
+        type: "boolean",
+    },
+    notifyEndStates: {
+        baseName: "notify_end_states",
+        type: "Array",
+    },
+    notifyEndTypes: {
+        baseName: "notify_end_types",
+        type: "Array",
+    },
+    schedule: {
+        baseName: "schedule",
+        type: "DowntimeScheduleResponse",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "DowntimeStatus",
+    },
+};
+//# sourceMappingURL=DowntimeResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 58994:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeResponseData = void 0;
+/**
+ * Downtime data.
+ */
+class DowntimeResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeResponseData.attributeTypeMap;
+    }
+}
+exports.DowntimeResponseData = DowntimeResponseData;
+/**
+ * @ignore
+ */
+DowntimeResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "DowntimeResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "DowntimeRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "DowntimeResourceType",
+    },
+};
+//# sourceMappingURL=DowntimeResponseData.js.map
+
+/***/ }),
+
+/***/ 81192:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleCurrentDowntimeResponse = void 0;
+/**
+ * The most recent actual start and end dates for a recurring downtime. For a canceled downtime,
+ * this is the previously occurring downtime. For active downtimes, this is the ongoing downtime, and for scheduled
+ * downtimes it is the upcoming downtime.
+ */
+class DowntimeScheduleCurrentDowntimeResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleCurrentDowntimeResponse.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleCurrentDowntimeResponse = DowntimeScheduleCurrentDowntimeResponse;
+/**
+ * @ignore
+ */
+DowntimeScheduleCurrentDowntimeResponse.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        format: "date-time",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleCurrentDowntimeResponse.js.map
+
+/***/ }),
+
+/***/ 99458:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleOneTimeCreateUpdateRequest = void 0;
+/**
+ * A one-time downtime definition.
+ */
+class DowntimeScheduleOneTimeCreateUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleOneTimeCreateUpdateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleOneTimeCreateUpdateRequest = DowntimeScheduleOneTimeCreateUpdateRequest;
+/**
+ * @ignore
+ */
+DowntimeScheduleOneTimeCreateUpdateRequest.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        format: "date-time",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleOneTimeCreateUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 19100:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleOneTimeResponse = void 0;
+/**
+ * A one-time downtime definition.
+ */
+class DowntimeScheduleOneTimeResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleOneTimeResponse.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleOneTimeResponse = DowntimeScheduleOneTimeResponse;
+/**
+ * @ignore
+ */
+DowntimeScheduleOneTimeResponse.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        format: "date-time",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        required: true,
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleOneTimeResponse.js.map
+
+/***/ }),
+
+/***/ 79876:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleRecurrenceCreateUpdateRequest = void 0;
+/**
+ * An object defining the recurrence of the downtime.
+ */
+class DowntimeScheduleRecurrenceCreateUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleRecurrenceCreateUpdateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleRecurrenceCreateUpdateRequest = DowntimeScheduleRecurrenceCreateUpdateRequest;
+/**
+ * @ignore
+ */
+DowntimeScheduleRecurrenceCreateUpdateRequest.attributeTypeMap = {
+    duration: {
+        baseName: "duration",
+        type: "string",
+        required: true,
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+        required: true,
+    },
+    start: {
+        baseName: "start",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleRecurrenceCreateUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 47487:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleRecurrenceResponse = void 0;
+/**
+ * An RRULE-based recurring downtime.
+ */
+class DowntimeScheduleRecurrenceResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleRecurrenceResponse.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleRecurrenceResponse = DowntimeScheduleRecurrenceResponse;
+/**
+ * @ignore
+ */
+DowntimeScheduleRecurrenceResponse.attributeTypeMap = {
+    duration: {
+        baseName: "duration",
+        type: "string",
+    },
+    rrule: {
+        baseName: "rrule",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleRecurrenceResponse.js.map
+
+/***/ }),
+
+/***/ 77529:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleRecurrencesCreateRequest = void 0;
+/**
+ * A recurring downtime schedule definition.
+ */
+class DowntimeScheduleRecurrencesCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleRecurrencesCreateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleRecurrencesCreateRequest = DowntimeScheduleRecurrencesCreateRequest;
+/**
+ * @ignore
+ */
+DowntimeScheduleRecurrencesCreateRequest.attributeTypeMap = {
+    recurrences: {
+        baseName: "recurrences",
+        type: "Array",
+        required: true,
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleRecurrencesCreateRequest.js.map
+
+/***/ }),
+
+/***/ 46270:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleRecurrencesResponse = void 0;
+/**
+ * A recurring downtime schedule definition.
+ */
+class DowntimeScheduleRecurrencesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleRecurrencesResponse.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleRecurrencesResponse = DowntimeScheduleRecurrencesResponse;
+/**
+ * @ignore
+ */
+DowntimeScheduleRecurrencesResponse.attributeTypeMap = {
+    currentDowntime: {
+        baseName: "current_downtime",
+        type: "DowntimeScheduleCurrentDowntimeResponse",
+    },
+    recurrences: {
+        baseName: "recurrences",
+        type: "Array",
+        required: true,
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleRecurrencesResponse.js.map
+
+/***/ }),
+
+/***/ 79665:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeScheduleRecurrencesUpdateRequest = void 0;
+/**
+ * A recurring downtime schedule definition.
+ */
+class DowntimeScheduleRecurrencesUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeScheduleRecurrencesUpdateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeScheduleRecurrencesUpdateRequest = DowntimeScheduleRecurrencesUpdateRequest;
+/**
+ * @ignore
+ */
+DowntimeScheduleRecurrencesUpdateRequest.attributeTypeMap = {
+    recurrences: {
+        baseName: "recurrences",
+        type: "Array",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeScheduleRecurrencesUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 4415:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeUpdateRequest = void 0;
+/**
+ * Request for editing a downtime.
+ */
+class DowntimeUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeUpdateRequest.attributeTypeMap;
+    }
+}
+exports.DowntimeUpdateRequest = DowntimeUpdateRequest;
+/**
+ * @ignore
+ */
+DowntimeUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DowntimeUpdateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 14953:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeUpdateRequestAttributes = void 0;
+/**
+ * Attributes of the downtime to update.
+ */
+class DowntimeUpdateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeUpdateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.DowntimeUpdateRequestAttributes = DowntimeUpdateRequestAttributes;
+/**
+ * @ignore
+ */
+DowntimeUpdateRequestAttributes.attributeTypeMap = {
+    displayTimezone: {
+        baseName: "display_timezone",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    monitorIdentifier: {
+        baseName: "monitor_identifier",
+        type: "DowntimeMonitorIdentifier",
+    },
+    muteFirstRecoveryNotification: {
+        baseName: "mute_first_recovery_notification",
+        type: "boolean",
+    },
+    notifyEndStates: {
+        baseName: "notify_end_states",
+        type: "Array",
+    },
+    notifyEndTypes: {
+        baseName: "notify_end_types",
+        type: "Array",
+    },
+    schedule: {
+        baseName: "schedule",
+        type: "DowntimeScheduleUpdateRequest",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+};
+//# sourceMappingURL=DowntimeUpdateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 52026:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DowntimeUpdateRequestData = void 0;
+/**
+ * Object to update a downtime.
+ */
+class DowntimeUpdateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return DowntimeUpdateRequestData.attributeTypeMap;
+    }
+}
+exports.DowntimeUpdateRequestData = DowntimeUpdateRequestData;
+/**
+ * @ignore
+ */
+DowntimeUpdateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "DowntimeUpdateRequestAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "DowntimeResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=DowntimeUpdateRequestData.js.map
+
+/***/ }),
+
+/***/ 85329:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Event = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class Event {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Event.attributeTypeMap;
+    }
+}
+exports.Event = Event;
+/**
+ * @ignore
+ */
+Event.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    sourceId: {
+        baseName: "source_id",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Event.js.map
+
+/***/ }),
+
+/***/ 59879:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventAttributes = void 0;
+/**
+ * Object description of attributes from your event.
+ */
+class EventAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventAttributes.attributeTypeMap;
+    }
+}
+exports.EventAttributes = EventAttributes;
+/**
+ * @ignore
+ */
+EventAttributes.attributeTypeMap = {
+    aggregationKey: {
+        baseName: "aggregation_key",
+        type: "string",
+    },
+    dateHappened: {
+        baseName: "date_happened",
+        type: "number",
+        format: "int64",
+    },
+    deviceName: {
+        baseName: "device_name",
+        type: "string",
+    },
+    duration: {
+        baseName: "duration",
+        type: "number",
+        format: "int64",
+    },
+    eventObject: {
+        baseName: "event_object",
+        type: "string",
+    },
+    evt: {
+        baseName: "evt",
+        type: "Event",
+    },
+    hostname: {
+        baseName: "hostname",
+        type: "string",
+    },
+    monitor: {
+        baseName: "monitor",
+        type: "MonitorType",
+    },
+    monitorGroups: {
+        baseName: "monitor_groups",
+        type: "Array",
+    },
+    monitorId: {
+        baseName: "monitor_id",
+        type: "number",
+        format: "int64",
+    },
+    priority: {
+        baseName: "priority",
+        type: "EventPriority",
+    },
+    relatedEventId: {
+        baseName: "related_event_id",
+        type: "number",
+        format: "int64",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    sourceTypeName: {
+        baseName: "source_type_name",
+        type: "string",
+    },
+    sourcecategory: {
+        baseName: "sourcecategory",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "EventStatusType",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "number",
+        format: "int64",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventAttributes.js.map
+
+/***/ }),
+
+/***/ 45354:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventResponse = void 0;
+/**
+ * The object description of an event after being processed and stored by Datadog.
+ */
+class EventResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventResponse.attributeTypeMap;
+    }
+}
+exports.EventResponse = EventResponse;
+/**
+ * @ignore
+ */
+EventResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "EventResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "EventType",
+    },
+};
+//# sourceMappingURL=EventResponse.js.map
+
+/***/ }),
+
+/***/ 37263:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventResponseAttributes = void 0;
+/**
+ * The object description of an event response attribute.
+ */
+class EventResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventResponseAttributes.attributeTypeMap;
+    }
+}
+exports.EventResponseAttributes = EventResponseAttributes;
+/**
+ * @ignore
+ */
+EventResponseAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "EventAttributes",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=EventResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 8423:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsCompute = void 0;
+/**
+ * The instructions for what to compute for this query.
+ */
+class EventsCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsCompute.attributeTypeMap;
+    }
+}
+exports.EventsCompute = EventsCompute;
+/**
+ * @ignore
+ */
+EventsCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "EventsAggregation",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsCompute.js.map
+
+/***/ }),
+
+/***/ 94041:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsGroupBy = void 0;
+/**
+ * A dimension on which to split a query's results.
+ */
+class EventsGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsGroupBy.attributeTypeMap;
+    }
+}
+exports.EventsGroupBy = EventsGroupBy;
+/**
+ * @ignore
+ */
+EventsGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+    sort: {
+        baseName: "sort",
+        type: "EventsGroupBySort",
+    },
+};
+//# sourceMappingURL=EventsGroupBy.js.map
+
+/***/ }),
+
+/***/ 46250:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsGroupBySort = void 0;
+/**
+ * The dimension by which to sort a query's results.
+ */
+class EventsGroupBySort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsGroupBySort.attributeTypeMap;
+    }
+}
+exports.EventsGroupBySort = EventsGroupBySort;
+/**
+ * @ignore
+ */
+EventsGroupBySort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "EventsAggregation",
+        required: true,
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "QuerySortOrder",
+    },
+    type: {
+        baseName: "type",
+        type: "EventsSortType",
+    },
+};
+//# sourceMappingURL=EventsGroupBySort.js.map
+
+/***/ }),
+
+/***/ 6746:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsListRequest = void 0;
+/**
+ * The object sent with the request to retrieve a list of events from your organization.
+ */
+class EventsListRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsListRequest.attributeTypeMap;
+    }
+}
+exports.EventsListRequest = EventsListRequest;
+/**
+ * @ignore
+ */
+EventsListRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "EventsQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "EventsQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "EventsRequestPage",
+    },
+    sort: {
+        baseName: "sort",
+        type: "EventsSort",
+    },
+};
+//# sourceMappingURL=EventsListRequest.js.map
+
+/***/ }),
+
+/***/ 68593:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsListResponse = void 0;
+/**
+ * The response object with all events matching the request and pagination information.
+ */
+class EventsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsListResponse.attributeTypeMap;
+    }
+}
+exports.EventsListResponse = EventsListResponse;
+/**
+ * @ignore
+ */
+EventsListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "EventsListResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "EventsResponseMetadata",
+    },
+};
+//# sourceMappingURL=EventsListResponse.js.map
+
+/***/ }),
+
+/***/ 99191:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsListResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class EventsListResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsListResponseLinks.attributeTypeMap;
+    }
+}
+exports.EventsListResponseLinks = EventsListResponseLinks;
+/**
+ * @ignore
+ */
+EventsListResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsListResponseLinks.js.map
+
+/***/ }),
+
+/***/ 15693:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsQueryFilter = void 0;
+/**
+ * The search and filter query settings.
+ */
+class EventsQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsQueryFilter.attributeTypeMap;
+    }
+}
+exports.EventsQueryFilter = EventsQueryFilter;
+/**
+ * @ignore
+ */
+EventsQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsQueryFilter.js.map
+
+/***/ }),
+
+/***/ 9698:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsQueryOptions = void 0;
+/**
+ * The global query options that are used. Either provide a timezone or a time offset but not both,
+ * otherwise the query fails.
+ */
+class EventsQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsQueryOptions.attributeTypeMap;
+    }
+}
+exports.EventsQueryOptions = EventsQueryOptions;
+/**
+ * @ignore
+ */
+EventsQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "timeOffset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsQueryOptions.js.map
+
+/***/ }),
+
+/***/ 81222:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsRequestPage = void 0;
+/**
+ * Pagination settings.
+ */
+class EventsRequestPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsRequestPage.attributeTypeMap;
+    }
+}
+exports.EventsRequestPage = EventsRequestPage;
+/**
+ * @ignore
+ */
+EventsRequestPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=EventsRequestPage.js.map
+
+/***/ }),
+
+/***/ 26983:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class EventsResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsResponseMetadata.attributeTypeMap;
+    }
+}
+exports.EventsResponseMetadata = EventsResponseMetadata;
+/**
+ * @ignore
+ */
+EventsResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "EventsResponseMetadataPage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=EventsResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 79298:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsResponseMetadataPage = void 0;
+/**
+ * Pagination attributes.
+ */
+class EventsResponseMetadataPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsResponseMetadataPage.attributeTypeMap;
+    }
+}
+exports.EventsResponseMetadataPage = EventsResponseMetadataPage;
+/**
+ * @ignore
+ */
+EventsResponseMetadataPage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsResponseMetadataPage.js.map
+
+/***/ }),
+
+/***/ 93544:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsScalarQuery = void 0;
+/**
+ * An individual scalar events query.
+ */
+class EventsScalarQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsScalarQuery.attributeTypeMap;
+    }
+}
+exports.EventsScalarQuery = EventsScalarQuery;
+/**
+ * @ignore
+ */
+EventsScalarQuery.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "EventsCompute",
+        required: true,
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "EventsDataSource",
+        required: true,
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    search: {
+        baseName: "search",
+        type: "EventsSearch",
+    },
+};
+//# sourceMappingURL=EventsScalarQuery.js.map
+
+/***/ }),
+
+/***/ 80259:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsSearch = void 0;
+/**
+ * Configuration of the search/filter for an events query.
+ */
+class EventsSearch {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsSearch.attributeTypeMap;
+    }
+}
+exports.EventsSearch = EventsSearch;
+/**
+ * @ignore
+ */
+EventsSearch.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsSearch.js.map
+
+/***/ }),
+
+/***/ 71052:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsTimeseriesQuery = void 0;
+/**
+ * An individual timeseries events query.
+ */
+class EventsTimeseriesQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsTimeseriesQuery.attributeTypeMap;
+    }
+}
+exports.EventsTimeseriesQuery = EventsTimeseriesQuery;
+/**
+ * @ignore
+ */
+EventsTimeseriesQuery.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "EventsCompute",
+        required: true,
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "EventsDataSource",
+        required: true,
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    search: {
+        baseName: "search",
+        type: "EventsSearch",
+    },
+};
+//# sourceMappingURL=EventsTimeseriesQuery.js.map
+
+/***/ }),
+
+/***/ 96650:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EventsWarning = void 0;
+/**
+ * A warning message indicating something is wrong with the query.
+ */
+class EventsWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return EventsWarning.attributeTypeMap;
+    }
+}
+exports.EventsWarning = EventsWarning;
+/**
+ * @ignore
+ */
+EventsWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=EventsWarning.js.map
+
+/***/ }),
+
+/***/ 12286:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccounResponseAttributes = void 0;
+/**
+ * Attributes object of a Fastly account.
+ */
+class FastlyAccounResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccounResponseAttributes.attributeTypeMap;
+    }
+}
+exports.FastlyAccounResponseAttributes = FastlyAccounResponseAttributes;
+/**
+ * @ignore
+ */
+FastlyAccounResponseAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    services: {
+        baseName: "services",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyAccounResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 91818:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountCreateRequest = void 0;
+/**
+ * Payload schema when adding a Fastly account.
+ */
+class FastlyAccountCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountCreateRequest.attributeTypeMap;
+    }
+}
+exports.FastlyAccountCreateRequest = FastlyAccountCreateRequest;
+/**
+ * @ignore
+ */
+FastlyAccountCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FastlyAccountCreateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyAccountCreateRequest.js.map
+
+/***/ }),
+
+/***/ 11182:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountCreateRequestAttributes = void 0;
+/**
+ * Attributes object for creating a Fastly account.
+ */
+class FastlyAccountCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.FastlyAccountCreateRequestAttributes = FastlyAccountCreateRequestAttributes;
+/**
+ * @ignore
+ */
+FastlyAccountCreateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    services: {
+        baseName: "services",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyAccountCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 2677:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountCreateRequestData = void 0;
+/**
+ * Data object for creating a Fastly account.
+ */
+class FastlyAccountCreateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountCreateRequestData.attributeTypeMap;
+    }
+}
+exports.FastlyAccountCreateRequestData = FastlyAccountCreateRequestData;
+/**
+ * @ignore
+ */
+FastlyAccountCreateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FastlyAccountCreateRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "FastlyAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyAccountCreateRequestData.js.map
+
+/***/ }),
+
+/***/ 48124:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountResponse = void 0;
+/**
+ * The expected response schema when getting a Fastly account.
+ */
+class FastlyAccountResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountResponse.attributeTypeMap;
+    }
+}
+exports.FastlyAccountResponse = FastlyAccountResponse;
+/**
+ * @ignore
+ */
+FastlyAccountResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FastlyAccountResponseData",
+    },
+};
+//# sourceMappingURL=FastlyAccountResponse.js.map
+
+/***/ }),
+
+/***/ 9129:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountResponseData = void 0;
+/**
+ * Data object of a Fastly account.
+ */
+class FastlyAccountResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountResponseData.attributeTypeMap;
+    }
+}
+exports.FastlyAccountResponseData = FastlyAccountResponseData;
+/**
+ * @ignore
+ */
+FastlyAccountResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FastlyAccounResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "FastlyAccountType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyAccountResponseData.js.map
+
+/***/ }),
+
+/***/ 32249:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountUpdateRequest = void 0;
+/**
+ * Payload schema when updating a Fastly account.
+ */
+class FastlyAccountUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountUpdateRequest.attributeTypeMap;
+    }
+}
+exports.FastlyAccountUpdateRequest = FastlyAccountUpdateRequest;
+/**
+ * @ignore
+ */
+FastlyAccountUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FastlyAccountUpdateRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyAccountUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 46002:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountUpdateRequestAttributes = void 0;
+/**
+ * Attributes object for updating a Fastly account.
+ */
+class FastlyAccountUpdateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountUpdateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.FastlyAccountUpdateRequestAttributes = FastlyAccountUpdateRequestAttributes;
+/**
+ * @ignore
+ */
+FastlyAccountUpdateRequestAttributes.attributeTypeMap = {
+    apiKey: {
+        baseName: "api_key",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FastlyAccountUpdateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 84283:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountUpdateRequestData = void 0;
+/**
+ * Data object for updating a Fastly account.
+ */
+class FastlyAccountUpdateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountUpdateRequestData.attributeTypeMap;
+    }
+}
+exports.FastlyAccountUpdateRequestData = FastlyAccountUpdateRequestData;
+/**
+ * @ignore
+ */
+FastlyAccountUpdateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FastlyAccountUpdateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "FastlyAccountType",
+    },
+};
+//# sourceMappingURL=FastlyAccountUpdateRequestData.js.map
+
+/***/ }),
+
+/***/ 55175:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyAccountsResponse = void 0;
+/**
+ * The expected response schema when getting Fastly accounts.
+ */
+class FastlyAccountsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyAccountsResponse.attributeTypeMap;
+    }
+}
+exports.FastlyAccountsResponse = FastlyAccountsResponse;
+/**
+ * @ignore
+ */
+FastlyAccountsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyAccountsResponse.js.map
+
+/***/ }),
+
+/***/ 47291:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyService = void 0;
+/**
+ * The schema representation of a Fastly service.
+ */
+class FastlyService {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyService.attributeTypeMap;
+    }
+}
+exports.FastlyService = FastlyService;
+/**
+ * @ignore
+ */
+FastlyService.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyService.js.map
+
+/***/ }),
+
+/***/ 96245:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyServiceAttributes = void 0;
+/**
+ * Attributes object for Fastly service requests.
+ */
+class FastlyServiceAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyServiceAttributes.attributeTypeMap;
+    }
+}
+exports.FastlyServiceAttributes = FastlyServiceAttributes;
+/**
+ * @ignore
+ */
+FastlyServiceAttributes.attributeTypeMap = {
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyServiceAttributes.js.map
+
+/***/ }),
+
+/***/ 6799:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyServiceData = void 0;
+/**
+ * Data object for Fastly service requests.
+ */
+class FastlyServiceData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyServiceData.attributeTypeMap;
+    }
+}
+exports.FastlyServiceData = FastlyServiceData;
+/**
+ * @ignore
+ */
+FastlyServiceData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FastlyServiceAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "FastlyServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyServiceData.js.map
+
+/***/ }),
+
+/***/ 14432:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyServiceRequest = void 0;
+/**
+ * Payload schema for Fastly service requests.
+ */
+class FastlyServiceRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyServiceRequest.attributeTypeMap;
+    }
+}
+exports.FastlyServiceRequest = FastlyServiceRequest;
+/**
+ * @ignore
+ */
+FastlyServiceRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FastlyServiceData",
+        required: true,
+    },
+};
+//# sourceMappingURL=FastlyServiceRequest.js.map
+
+/***/ }),
+
+/***/ 53522:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyServiceResponse = void 0;
+/**
+ * The expected response schema when getting a Fastly service.
+ */
+class FastlyServiceResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyServiceResponse.attributeTypeMap;
+    }
+}
+exports.FastlyServiceResponse = FastlyServiceResponse;
+/**
+ * @ignore
+ */
+FastlyServiceResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "FastlyServiceData",
+    },
+};
+//# sourceMappingURL=FastlyServiceResponse.js.map
+
+/***/ }),
+
+/***/ 63984:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FastlyServicesResponse = void 0;
+/**
+ * The expected response schema when getting Fastly services.
+ */
+class FastlyServicesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FastlyServicesResponse.attributeTypeMap;
+    }
+}
+exports.FastlyServicesResponse = FastlyServicesResponse;
+/**
+ * @ignore
+ */
+FastlyServicesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FastlyServicesResponse.js.map
+
+/***/ }),
+
+/***/ 60265:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Finding = void 0;
+/**
+ * A single finding without the message and resource configuration.
+ */
+class Finding {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Finding.attributeTypeMap;
+    }
+}
+exports.Finding = Finding;
+/**
+ * @ignore
+ */
+Finding.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FindingAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "FindingType",
+    },
+};
+//# sourceMappingURL=Finding.js.map
+
+/***/ }),
+
+/***/ 70960:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FindingAttributes = void 0;
+/**
+ * The JSON:API attributes of the finding.
+ */
+class FindingAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FindingAttributes.attributeTypeMap;
+    }
+}
+exports.FindingAttributes = FindingAttributes;
+/**
+ * @ignore
+ */
+FindingAttributes.attributeTypeMap = {
+    evaluation: {
+        baseName: "evaluation",
+        type: "FindingEvaluation",
+    },
+    evaluationChangedAt: {
+        baseName: "evaluation_changed_at",
+        type: "number",
+        format: "int64",
+    },
+    mute: {
+        baseName: "mute",
+        type: "FindingMute",
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    resourceDiscoveryDate: {
+        baseName: "resource_discovery_date",
+        type: "number",
+        format: "int64",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+    },
+    rule: {
+        baseName: "rule",
+        type: "FindingRule",
+    },
+    status: {
+        baseName: "status",
+        type: "FindingStatus",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FindingAttributes.js.map
+
+/***/ }),
+
+/***/ 14498:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FindingMute = void 0;
+/**
+ * Information about the mute status of this finding.
+ */
+class FindingMute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FindingMute.attributeTypeMap;
+    }
+}
+exports.FindingMute = FindingMute;
+/**
+ * @ignore
+ */
+FindingMute.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    expirationDate: {
+        baseName: "expiration_date",
+        type: "number",
+        format: "int64",
+    },
+    muted: {
+        baseName: "muted",
+        type: "boolean",
+    },
+    reason: {
+        baseName: "reason",
+        type: "FindingMuteReason",
+    },
+    startDate: {
+        baseName: "start_date",
+        type: "number",
+        format: "int64",
+    },
+    uuid: {
+        baseName: "uuid",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FindingMute.js.map
+
+/***/ }),
+
+/***/ 5020:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FindingRule = void 0;
+/**
+ * The rule that triggered this finding.
+ */
+class FindingRule {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FindingRule.attributeTypeMap;
+    }
+}
+exports.FindingRule = FindingRule;
+/**
+ * @ignore
+ */
+FindingRule.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FindingRule.js.map
+
+/***/ }),
+
+/***/ 82360:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FormulaLimit = void 0;
+/**
+ * Message for specifying limits to the number of values returned by a query.
+ * This limit is only for scalar queries and has no effect on timeseries queries.
+ */
+class FormulaLimit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FormulaLimit.attributeTypeMap;
+    }
+}
+exports.FormulaLimit = FormulaLimit;
+/**
+ * @ignore
+ */
+FormulaLimit.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int32",
+    },
+    order: {
+        baseName: "order",
+        type: "QuerySortOrder",
+    },
+};
+//# sourceMappingURL=FormulaLimit.js.map
+
+/***/ }),
+
+/***/ 64953:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FullAPIKey = void 0;
+/**
+ * Datadog API key.
+ */
+class FullAPIKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FullAPIKey.attributeTypeMap;
+    }
+}
+exports.FullAPIKey = FullAPIKey;
+/**
+ * @ignore
+ */
+FullAPIKey.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FullAPIKeyAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "APIKeyRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "APIKeysType",
+    },
+};
+//# sourceMappingURL=FullAPIKey.js.map
+
+/***/ }),
+
+/***/ 64739:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FullAPIKeyAttributes = void 0;
+/**
+ * Attributes of a full API key.
+ */
+class FullAPIKeyAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FullAPIKeyAttributes.attributeTypeMap;
+    }
+}
+exports.FullAPIKeyAttributes = FullAPIKeyAttributes;
+/**
+ * @ignore
+ */
+FullAPIKeyAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "string",
+    },
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+    last4: {
+        baseName: "last4",
+        type: "string",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=FullAPIKeyAttributes.js.map
+
+/***/ }),
+
+/***/ 29620:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FullApplicationKey = void 0;
+/**
+ * Datadog application key.
+ */
+class FullApplicationKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FullApplicationKey.attributeTypeMap;
+    }
+}
+exports.FullApplicationKey = FullApplicationKey;
+/**
+ * @ignore
+ */
+FullApplicationKey.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "FullApplicationKeyAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "ApplicationKeyRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "ApplicationKeysType",
+    },
+};
+//# sourceMappingURL=FullApplicationKey.js.map
+
+/***/ }),
+
+/***/ 70763:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.FullApplicationKeyAttributes = void 0;
+/**
+ * Attributes of a full application key.
+ */
+class FullApplicationKeyAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return FullApplicationKeyAttributes.attributeTypeMap;
+    }
+}
+exports.FullApplicationKeyAttributes = FullApplicationKeyAttributes;
+/**
+ * @ignore
+ */
+FullApplicationKeyAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "string",
+    },
+    key: {
+        baseName: "key",
+        type: "string",
+    },
+    last4: {
+        baseName: "last4",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    scopes: {
+        baseName: "scopes",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=FullApplicationKeyAttributes.js.map
+
+/***/ }),
+
+/***/ 59526:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSDelegateAccount = void 0;
+/**
+ * Datadog principal service account info.
+ */
+class GCPSTSDelegateAccount {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSDelegateAccount.attributeTypeMap;
+    }
+}
+exports.GCPSTSDelegateAccount = GCPSTSDelegateAccount;
+/**
+ * @ignore
+ */
+GCPSTSDelegateAccount.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "GCPSTSDelegateAccountAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "GCPSTSDelegateAccountType",
+    },
+};
+//# sourceMappingURL=GCPSTSDelegateAccount.js.map
+
+/***/ }),
+
+/***/ 59221:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSDelegateAccountAttributes = void 0;
+/**
+ * Your delegate account attributes.
+ */
+class GCPSTSDelegateAccountAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSDelegateAccountAttributes.attributeTypeMap;
+    }
+}
+exports.GCPSTSDelegateAccountAttributes = GCPSTSDelegateAccountAttributes;
+/**
+ * @ignore
+ */
+GCPSTSDelegateAccountAttributes.attributeTypeMap = {
+    delegateAccountEmail: {
+        baseName: "delegate_account_email",
+        type: "string",
+    },
+};
+//# sourceMappingURL=GCPSTSDelegateAccountAttributes.js.map
+
+/***/ }),
+
+/***/ 69215:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSDelegateAccountResponse = void 0;
+/**
+ * Your delegate service account response data.
+ */
+class GCPSTSDelegateAccountResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSDelegateAccountResponse.attributeTypeMap;
+    }
+}
+exports.GCPSTSDelegateAccountResponse = GCPSTSDelegateAccountResponse;
+/**
+ * @ignore
+ */
+GCPSTSDelegateAccountResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "GCPSTSDelegateAccount",
+    },
+};
+//# sourceMappingURL=GCPSTSDelegateAccountResponse.js.map
+
+/***/ }),
+
+/***/ 28441:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccount = void 0;
+/**
+ * Info on your service account.
+ */
+class GCPSTSServiceAccount {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccount.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccount = GCPSTSServiceAccount;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccount.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "GCPSTSServiceAccountAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    meta: {
+        baseName: "meta",
+        type: "GCPServiceAccountMeta",
+    },
+    type: {
+        baseName: "type",
+        type: "GCPServiceAccountType",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccount.js.map
+
+/***/ }),
+
+/***/ 77479:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountAttributes = void 0;
+/**
+ * Attributes associated with your service account.
+ */
+class GCPSTSServiceAccountAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountAttributes.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountAttributes = GCPSTSServiceAccountAttributes;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountAttributes.attributeTypeMap = {
+    automute: {
+        baseName: "automute",
+        type: "boolean",
+    },
+    clientEmail: {
+        baseName: "client_email",
+        type: "string",
+    },
+    hostFilters: {
+        baseName: "host_filters",
+        type: "Array",
+    },
+    isCspmEnabled: {
+        baseName: "is_cspm_enabled",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountAttributes.js.map
+
+/***/ }),
+
+/***/ 28275:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountCreateRequest = void 0;
+/**
+ * Data on your newly generated service account.
+ */
+class GCPSTSServiceAccountCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountCreateRequest.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountCreateRequest = GCPSTSServiceAccountCreateRequest;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "GCPSTSServiceAccountData",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountCreateRequest.js.map
+
+/***/ }),
+
+/***/ 80004:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountData = void 0;
+/**
+ * Additional metadata on your generated service account.
+ */
+class GCPSTSServiceAccountData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountData.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountData = GCPSTSServiceAccountData;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "GCPSTSServiceAccountAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "GCPServiceAccountType",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountData.js.map
+
+/***/ }),
+
+/***/ 47407:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountResponse = void 0;
+/**
+ * The account creation response.
+ */
+class GCPSTSServiceAccountResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountResponse.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountResponse = GCPSTSServiceAccountResponse;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "GCPSTSServiceAccount",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountResponse.js.map
+
+/***/ }),
+
+/***/ 1186:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountUpdateRequest = void 0;
+/**
+ * Service account info.
+ */
+class GCPSTSServiceAccountUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountUpdateRequest.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountUpdateRequest = GCPSTSServiceAccountUpdateRequest;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "GCPSTSServiceAccountUpdateRequestData",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 20440:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountUpdateRequestData = void 0;
+/**
+ * Data on your service account.
+ */
+class GCPSTSServiceAccountUpdateRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountUpdateRequestData.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountUpdateRequestData = GCPSTSServiceAccountUpdateRequestData;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountUpdateRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "GCPSTSServiceAccountAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "GCPServiceAccountType",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountUpdateRequestData.js.map
+
+/***/ }),
+
+/***/ 45773:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPSTSServiceAccountsResponse = void 0;
+/**
+ * Object containing all your STS enabled accounts.
+ */
+class GCPSTSServiceAccountsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPSTSServiceAccountsResponse.attributeTypeMap;
+    }
+}
+exports.GCPSTSServiceAccountsResponse = GCPSTSServiceAccountsResponse;
+/**
+ * @ignore
+ */
+GCPSTSServiceAccountsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=GCPSTSServiceAccountsResponse.js.map
+
+/***/ }),
+
+/***/ 61487:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GCPServiceAccountMeta = void 0;
+/**
+ * Additional information related to your service account.
+ */
+class GCPServiceAccountMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GCPServiceAccountMeta.attributeTypeMap;
+    }
+}
+exports.GCPServiceAccountMeta = GCPServiceAccountMeta;
+/**
+ * @ignore
+ */
+GCPServiceAccountMeta.attributeTypeMap = {
+    accessibleProjects: {
+        baseName: "accessible_projects",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=GCPServiceAccountMeta.js.map
+
+/***/ }),
+
+/***/ 97482:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GetFindingResponse = void 0;
+/**
+ * The expected response schema when getting a finding.
+ */
+class GetFindingResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GetFindingResponse.attributeTypeMap;
+    }
+}
+exports.GetFindingResponse = GetFindingResponse;
+/**
+ * @ignore
+ */
+GetFindingResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "DetailedFinding",
+        required: true,
+    },
+};
+//# sourceMappingURL=GetFindingResponse.js.map
+
+/***/ }),
+
+/***/ 39553:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GroupScalarColumn = void 0;
+/**
+ * A column containing the tag keys and values in a group.
+ */
+class GroupScalarColumn {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return GroupScalarColumn.attributeTypeMap;
+    }
+}
+exports.GroupScalarColumn = GroupScalarColumn;
+/**
+ * @ignore
+ */
+GroupScalarColumn.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+    values: {
+        baseName: "values",
+        type: "Array>",
+    },
+};
+//# sourceMappingURL=GroupScalarColumn.js.map
+
+/***/ }),
+
+/***/ 81166:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPCIAppError = void 0;
+/**
+ * List of errors.
+ */
+class HTTPCIAppError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPCIAppError.attributeTypeMap;
+    }
+}
+exports.HTTPCIAppError = HTTPCIAppError;
+/**
+ * @ignore
+ */
+HTTPCIAppError.attributeTypeMap = {
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HTTPCIAppError.js.map
+
+/***/ }),
+
+/***/ 67414:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPCIAppErrors = void 0;
+/**
+ * Errors occurred.
+ */
+class HTTPCIAppErrors {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPCIAppErrors.attributeTypeMap;
+    }
+}
+exports.HTTPCIAppErrors = HTTPCIAppErrors;
+/**
+ * @ignore
+ */
+HTTPCIAppErrors.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=HTTPCIAppErrors.js.map
+
+/***/ }),
+
+/***/ 35846:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPLogError = void 0;
+/**
+ * List of errors.
+ */
+class HTTPLogError {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPLogError.attributeTypeMap;
+    }
+}
+exports.HTTPLogError = HTTPLogError;
+/**
+ * @ignore
+ */
+HTTPLogError.attributeTypeMap = {
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HTTPLogError.js.map
+
+/***/ }),
+
+/***/ 1563:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPLogErrors = void 0;
+/**
+ * Invalid query performed.
+ */
+class HTTPLogErrors {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPLogErrors.attributeTypeMap;
+    }
+}
+exports.HTTPLogErrors = HTTPLogErrors;
+/**
+ * @ignore
+ */
+HTTPLogErrors.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=HTTPLogErrors.js.map
+
+/***/ }),
+
+/***/ 80158:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HTTPLogItem = void 0;
+/**
+ * Logs that are sent over HTTP.
+ */
+class HTTPLogItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HTTPLogItem.attributeTypeMap;
+    }
+}
+exports.HTTPLogItem = HTTPLogItem;
+/**
+ * @ignore
+ */
+HTTPLogItem.attributeTypeMap = {
+    ddsource: {
+        baseName: "ddsource",
+        type: "string",
+    },
+    ddtags: {
+        baseName: "ddtags",
+        type: "string",
+    },
+    hostname: {
+        baseName: "hostname",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    additionalProperties: {
+        baseName: "additionalProperties",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HTTPLogItem.js.map
+
+/***/ }),
+
+/***/ 44993:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsage = void 0;
+/**
+ * Hourly usage for a product family for an org.
+ */
+class HourlyUsage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsage.attributeTypeMap;
+    }
+}
+exports.HourlyUsage = HourlyUsage;
+/**
+ * @ignore
+ */
+HourlyUsage.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "HourlyUsageAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "UsageTimeSeriesType",
+    },
+};
+//# sourceMappingURL=HourlyUsage.js.map
+
+/***/ }),
+
+/***/ 34589:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageAttributes = void 0;
+/**
+ * Attributes of hourly usage for a product family for an org for a time period.
+ */
+class HourlyUsageAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageAttributes.attributeTypeMap;
+    }
+}
+exports.HourlyUsageAttributes = HourlyUsageAttributes;
+/**
+ * @ignore
+ */
+HourlyUsageAttributes.attributeTypeMap = {
+    measurements: {
+        baseName: "measurements",
+        type: "Array",
+    },
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    productFamily: {
+        baseName: "product_family",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=HourlyUsageAttributes.js.map
+
+/***/ }),
+
+/***/ 4073:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageMeasurement = void 0;
+/**
+ * Usage amount for a given usage type.
+ */
+class HourlyUsageMeasurement {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageMeasurement.attributeTypeMap;
+    }
+}
+exports.HourlyUsageMeasurement = HourlyUsageMeasurement;
+/**
+ * @ignore
+ */
+HourlyUsageMeasurement.attributeTypeMap = {
+    usageType: {
+        baseName: "usage_type",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=HourlyUsageMeasurement.js.map
+
+/***/ }),
+
+/***/ 73896:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageMetadata = void 0;
+/**
+ * The object containing document metadata.
+ */
+class HourlyUsageMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageMetadata.attributeTypeMap;
+    }
+}
+exports.HourlyUsageMetadata = HourlyUsageMetadata;
+/**
+ * @ignore
+ */
+HourlyUsageMetadata.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "HourlyUsagePagination",
+    },
+};
+//# sourceMappingURL=HourlyUsageMetadata.js.map
+
+/***/ }),
+
+/***/ 43220:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsagePagination = void 0;
+/**
+ * The metadata for the current pagination.
+ */
+class HourlyUsagePagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsagePagination.attributeTypeMap;
+    }
+}
+exports.HourlyUsagePagination = HourlyUsagePagination;
+/**
+ * @ignore
+ */
+HourlyUsagePagination.attributeTypeMap = {
+    nextRecordId: {
+        baseName: "next_record_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=HourlyUsagePagination.js.map
+
+/***/ }),
+
+/***/ 91604:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HourlyUsageResponse = void 0;
+/**
+ * Hourly usage response.
+ */
+class HourlyUsageResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return HourlyUsageResponse.attributeTypeMap;
+    }
+}
+exports.HourlyUsageResponse = HourlyUsageResponse;
+/**
+ * @ignore
+ */
+HourlyUsageResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "HourlyUsageMetadata",
+    },
+};
+//# sourceMappingURL=HourlyUsageResponse.js.map
+
+/***/ }),
+
+/***/ 96993:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistAttributes = void 0;
+/**
+ * Attributes of the IP allowlist.
+ */
+class IPAllowlistAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistAttributes.attributeTypeMap;
+    }
+}
+exports.IPAllowlistAttributes = IPAllowlistAttributes;
+/**
+ * @ignore
+ */
+IPAllowlistAttributes.attributeTypeMap = {
+    enabled: {
+        baseName: "enabled",
+        type: "boolean",
+    },
+    entries: {
+        baseName: "entries",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IPAllowlistAttributes.js.map
+
+/***/ }),
+
+/***/ 61559:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistData = void 0;
+/**
+ * IP allowlist data.
+ */
+class IPAllowlistData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistData.attributeTypeMap;
+    }
+}
+exports.IPAllowlistData = IPAllowlistData;
+/**
+ * @ignore
+ */
+IPAllowlistData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IPAllowlistAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "IPAllowlistType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IPAllowlistData.js.map
+
+/***/ }),
+
+/***/ 43922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistEntry = void 0;
+/**
+ * IP allowlist entry object.
+ */
+class IPAllowlistEntry {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistEntry.attributeTypeMap;
+    }
+}
+exports.IPAllowlistEntry = IPAllowlistEntry;
+/**
+ * @ignore
+ */
+IPAllowlistEntry.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IPAllowlistEntryData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IPAllowlistEntry.js.map
+
+/***/ }),
+
+/***/ 88201:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistEntryAttributes = void 0;
+/**
+ * Attributes of the IP allowlist entry.
+ */
+class IPAllowlistEntryAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistEntryAttributes.attributeTypeMap;
+    }
+}
+exports.IPAllowlistEntryAttributes = IPAllowlistEntryAttributes;
+/**
+ * @ignore
+ */
+IPAllowlistEntryAttributes.attributeTypeMap = {
+    cidrBlock: {
+        baseName: "cidr_block",
+        type: "string",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    note: {
+        baseName: "note",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IPAllowlistEntryAttributes.js.map
+
+/***/ }),
+
+/***/ 2295:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistEntryData = void 0;
+/**
+ * Data of the IP allowlist entry object.
+ */
+class IPAllowlistEntryData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistEntryData.attributeTypeMap;
+    }
+}
+exports.IPAllowlistEntryData = IPAllowlistEntryData;
+/**
+ * @ignore
+ */
+IPAllowlistEntryData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IPAllowlistEntryAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "IPAllowlistEntryType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IPAllowlistEntryData.js.map
+
+/***/ }),
+
+/***/ 5428:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistResponse = void 0;
+/**
+ * Response containing information about the IP allowlist.
+ */
+class IPAllowlistResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistResponse.attributeTypeMap;
+    }
+}
+exports.IPAllowlistResponse = IPAllowlistResponse;
+/**
+ * @ignore
+ */
+IPAllowlistResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IPAllowlistData",
+    },
+};
+//# sourceMappingURL=IPAllowlistResponse.js.map
+
+/***/ }),
+
+/***/ 71165:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IPAllowlistUpdateRequest = void 0;
+/**
+ * Update the IP allowlist.
+ */
+class IPAllowlistUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IPAllowlistUpdateRequest.attributeTypeMap;
+    }
+}
+exports.IPAllowlistUpdateRequest = IPAllowlistUpdateRequest;
+/**
+ * @ignore
+ */
+IPAllowlistUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IPAllowlistData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IPAllowlistUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 4163:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IdPMetadataFormData = void 0;
+/**
+ * The form data submitted to upload IdP metadata
+ */
+class IdPMetadataFormData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IdPMetadataFormData.attributeTypeMap;
+    }
+}
+exports.IdPMetadataFormData = IdPMetadataFormData;
+/**
+ * @ignore
+ */
+IdPMetadataFormData.attributeTypeMap = {
+    idpFile: {
+        baseName: "idp_file",
+        type: "HttpFile",
+        format: "binary",
+    },
+};
+//# sourceMappingURL=IdPMetadataFormData.js.map
+
+/***/ }),
+
+/***/ 72703:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentData = void 0;
+/**
+ * A single incident attachment.
+ */
+class IncidentAttachmentData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentData.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentData = IncidentAttachmentData;
+/**
+ * @ignore
+ */
+IncidentAttachmentData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentAttachmentAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentAttachmentRelationships",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentAttachmentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentData.js.map
+
+/***/ }),
+
+/***/ 85615:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentLinkAttributes = void 0;
+/**
+ * The attributes object for a link attachment.
+ */
+class IncidentAttachmentLinkAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentLinkAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentLinkAttributes = IncidentAttachmentLinkAttributes;
+/**
+ * @ignore
+ */
+IncidentAttachmentLinkAttributes.attributeTypeMap = {
+    attachment: {
+        baseName: "attachment",
+        type: "IncidentAttachmentLinkAttributesAttachmentObject",
+        required: true,
+    },
+    attachmentType: {
+        baseName: "attachment_type",
+        type: "IncidentAttachmentLinkAttachmentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentLinkAttributes.js.map
+
+/***/ }),
+
+/***/ 2525:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentLinkAttributesAttachmentObject = void 0;
+/**
+ * The link attachment.
+ */
+class IncidentAttachmentLinkAttributesAttachmentObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentLinkAttributesAttachmentObject.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentLinkAttributesAttachmentObject = IncidentAttachmentLinkAttributesAttachmentObject;
+/**
+ * @ignore
+ */
+IncidentAttachmentLinkAttributesAttachmentObject.attributeTypeMap = {
+    documentUrl: {
+        baseName: "documentUrl",
+        type: "string",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentLinkAttributesAttachmentObject.js.map
+
+/***/ }),
+
+/***/ 89947:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentPostmortemAttributes = void 0;
+/**
+ * The attributes object for a postmortem attachment.
+ */
+class IncidentAttachmentPostmortemAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentPostmortemAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentPostmortemAttributes = IncidentAttachmentPostmortemAttributes;
+/**
+ * @ignore
+ */
+IncidentAttachmentPostmortemAttributes.attributeTypeMap = {
+    attachment: {
+        baseName: "attachment",
+        type: "IncidentAttachmentsPostmortemAttributesAttachmentObject",
+        required: true,
+    },
+    attachmentType: {
+        baseName: "attachment_type",
+        type: "IncidentAttachmentPostmortemAttachmentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentPostmortemAttributes.js.map
+
+/***/ }),
+
+/***/ 99153:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentRelationships = void 0;
+/**
+ * The incident attachment's relationships.
+ */
+class IncidentAttachmentRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentRelationships = IncidentAttachmentRelationships;
+/**
+ * @ignore
+ */
+IncidentAttachmentRelationships.attributeTypeMap = {
+    lastModifiedByUser: {
+        baseName: "last_modified_by_user",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=IncidentAttachmentRelationships.js.map
+
+/***/ }),
+
+/***/ 83720:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentUpdateData = void 0;
+/**
+ * A single incident attachment.
+ */
+class IncidentAttachmentUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentUpdateData.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentUpdateData = IncidentAttachmentUpdateData;
+/**
+ * @ignore
+ */
+IncidentAttachmentUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentAttachmentUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentAttachmentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentUpdateData.js.map
+
+/***/ }),
+
+/***/ 42170:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentUpdateRequest = void 0;
+/**
+ * The update request for an incident's attachments.
+ */
+class IncidentAttachmentUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentUpdateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentUpdateRequest = IncidentAttachmentUpdateRequest;
+/**
+ * @ignore
+ */
+IncidentAttachmentUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 21001:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentUpdateResponse = void 0;
+/**
+ * The response object containing the created or updated incident attachments.
+ */
+class IncidentAttachmentUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentUpdateResponse.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentUpdateResponse = IncidentAttachmentUpdateResponse;
+/**
+ * @ignore
+ */
+IncidentAttachmentUpdateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentAttachmentUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 44434:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentsPostmortemAttributesAttachmentObject = void 0;
+/**
+ * The postmortem attachment.
+ */
+class IncidentAttachmentsPostmortemAttributesAttachmentObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentsPostmortemAttributesAttachmentObject.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentsPostmortemAttributesAttachmentObject = IncidentAttachmentsPostmortemAttributesAttachmentObject;
+/**
+ * @ignore
+ */
+IncidentAttachmentsPostmortemAttributesAttachmentObject.attributeTypeMap = {
+    documentUrl: {
+        baseName: "documentUrl",
+        type: "string",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentAttachmentsPostmortemAttributesAttachmentObject.js.map
+
+/***/ }),
+
+/***/ 8756:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentAttachmentsResponse = void 0;
+/**
+ * The response object containing an incident's attachments.
+ */
+class IncidentAttachmentsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentAttachmentsResponse.attributeTypeMap;
+    }
+}
+exports.IncidentAttachmentsResponse = IncidentAttachmentsResponse;
+/**
+ * @ignore
+ */
+IncidentAttachmentsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentAttachmentsResponse.js.map
+
+/***/ }),
+
+/***/ 66265:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentCreateAttributes = void 0;
+/**
+ * The incident's attributes for a create request.
+ */
+class IncidentCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentCreateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentCreateAttributes = IncidentCreateAttributes;
+/**
+ * @ignore
+ */
+IncidentCreateAttributes.attributeTypeMap = {
+    customerImpactScope: {
+        baseName: "customer_impact_scope",
+        type: "string",
+    },
+    customerImpacted: {
+        baseName: "customer_impacted",
+        type: "boolean",
+        required: true,
+    },
+    fields: {
+        baseName: "fields",
+        type: "{ [key: string]: IncidentFieldAttributes; }",
+    },
+    initialCells: {
+        baseName: "initial_cells",
+        type: "Array",
+    },
+    notificationHandles: {
+        baseName: "notification_handles",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 85628:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentCreateData = void 0;
+/**
+ * Incident data for a create request.
+ */
+class IncidentCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentCreateData.attributeTypeMap;
+    }
+}
+exports.IncidentCreateData = IncidentCreateData;
+/**
+ * @ignore
+ */
+IncidentCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentCreateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentCreateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentCreateData.js.map
+
+/***/ }),
+
+/***/ 16720:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentCreateRelationships = void 0;
+/**
+ * The relationships the incident will have with other resources once created.
+ */
+class IncidentCreateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentCreateRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentCreateRelationships = IncidentCreateRelationships;
+/**
+ * @ignore
+ */
+IncidentCreateRelationships.attributeTypeMap = {
+    commanderUser: {
+        baseName: "commander_user",
+        type: "NullableRelationshipToUser",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentCreateRelationships.js.map
+
+/***/ }),
+
+/***/ 62686:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentCreateRequest = void 0;
+/**
+ * Create request for an incident.
+ */
+class IncidentCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentCreateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentCreateRequest = IncidentCreateRequest;
+/**
+ * @ignore
+ */
+IncidentCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentCreateRequest.js.map
+
+/***/ }),
+
+/***/ 93786:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentFieldAttributesMultipleValue = void 0;
+/**
+ * A field with potentially multiple values selected.
+ */
+class IncidentFieldAttributesMultipleValue {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentFieldAttributesMultipleValue.attributeTypeMap;
+    }
+}
+exports.IncidentFieldAttributesMultipleValue = IncidentFieldAttributesMultipleValue;
+/**
+ * @ignore
+ */
+IncidentFieldAttributesMultipleValue.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "IncidentFieldAttributesValueType",
+    },
+    value: {
+        baseName: "value",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentFieldAttributesMultipleValue.js.map
+
+/***/ }),
+
+/***/ 53638:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentFieldAttributesSingleValue = void 0;
+/**
+ * A field with a single value selected.
+ */
+class IncidentFieldAttributesSingleValue {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentFieldAttributesSingleValue.attributeTypeMap;
+    }
+}
+exports.IncidentFieldAttributesSingleValue = IncidentFieldAttributesSingleValue;
+/**
+ * @ignore
+ */
+IncidentFieldAttributesSingleValue.attributeTypeMap = {
+    type: {
+        baseName: "type",
+        type: "IncidentFieldAttributesSingleValueType",
+    },
+    value: {
+        baseName: "value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentFieldAttributesSingleValue.js.map
+
+/***/ }),
+
+/***/ 97197:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataAttributes = void 0;
+/**
+ * Incident integration metadata's attributes for a create request.
+ */
+class IncidentIntegrationMetadataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataAttributes = IncidentIntegrationMetadataAttributes;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataAttributes.attributeTypeMap = {
+    incidentId: {
+        baseName: "incident_id",
+        type: "string",
+    },
+    integrationType: {
+        baseName: "integration_type",
+        type: "number",
+        required: true,
+        format: "int32",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "IncidentIntegrationMetadataMetadata",
+        required: true,
+    },
+    status: {
+        baseName: "status",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataAttributes.js.map
+
+/***/ }),
+
+/***/ 47456:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataCreateData = void 0;
+/**
+ * Incident integration metadata data for a create request.
+ */
+class IncidentIntegrationMetadataCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataCreateData.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataCreateData = IncidentIntegrationMetadataCreateData;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentIntegrationMetadataAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentIntegrationMetadataType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataCreateData.js.map
+
+/***/ }),
+
+/***/ 13074:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataCreateRequest = void 0;
+/**
+ * Create request for an incident integration metadata.
+ */
+class IncidentIntegrationMetadataCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataCreateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataCreateRequest = IncidentIntegrationMetadataCreateRequest;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentIntegrationMetadataCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataCreateRequest.js.map
+
+/***/ }),
+
+/***/ 59042:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataListResponse = void 0;
+/**
+ * Response with a list of incident integration metadata.
+ */
+class IncidentIntegrationMetadataListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataListResponse.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataListResponse = IncidentIntegrationMetadataListResponse;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataListResponse.js.map
+
+/***/ }),
+
+/***/ 33243:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataPatchData = void 0;
+/**
+ * Incident integration metadata data for a patch request.
+ */
+class IncidentIntegrationMetadataPatchData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataPatchData.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataPatchData = IncidentIntegrationMetadataPatchData;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataPatchData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentIntegrationMetadataAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentIntegrationMetadataType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataPatchData.js.map
+
+/***/ }),
+
+/***/ 57316:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataPatchRequest = void 0;
+/**
+ * Patch request for an incident integration metadata.
+ */
+class IncidentIntegrationMetadataPatchRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataPatchRequest.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataPatchRequest = IncidentIntegrationMetadataPatchRequest;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataPatchRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentIntegrationMetadataPatchData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataPatchRequest.js.map
+
+/***/ }),
+
+/***/ 8115:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataResponse = void 0;
+/**
+ * Response with an incident integration metadata.
+ */
+class IncidentIntegrationMetadataResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataResponse.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataResponse = IncidentIntegrationMetadataResponse;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentIntegrationMetadataResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataResponse.js.map
+
+/***/ }),
+
+/***/ 81843:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentIntegrationMetadataResponseData = void 0;
+/**
+ * Incident integration metadata from a response.
+ */
+class IncidentIntegrationMetadataResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentIntegrationMetadataResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentIntegrationMetadataResponseData = IncidentIntegrationMetadataResponseData;
+/**
+ * @ignore
+ */
+IncidentIntegrationMetadataResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentIntegrationMetadataAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentIntegrationMetadataType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentIntegrationMetadataResponseData.js.map
+
+/***/ }),
+
+/***/ 48009:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentNotificationHandle = void 0;
+/**
+ * A notification handle that will be notified at incident creation.
+ */
+class IncidentNotificationHandle {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentNotificationHandle.attributeTypeMap;
+    }
+}
+exports.IncidentNotificationHandle = IncidentNotificationHandle;
+/**
+ * @ignore
+ */
+IncidentNotificationHandle.attributeTypeMap = {
+    displayName: {
+        baseName: "display_name",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentNotificationHandle.js.map
+
+/***/ }),
+
+/***/ 64051:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponse = void 0;
+/**
+ * Response with an incident.
+ */
+class IncidentResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponse.attributeTypeMap;
+    }
+}
+exports.IncidentResponse = IncidentResponse;
+/**
+ * @ignore
+ */
+IncidentResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentResponse.js.map
+
+/***/ }),
+
+/***/ 53022:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponseAttributes = void 0;
+/**
+ * The incident's attributes from a response.
+ */
+class IncidentResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponseAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentResponseAttributes = IncidentResponseAttributes;
+/**
+ * @ignore
+ */
+IncidentResponseAttributes.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    customerImpactDuration: {
+        baseName: "customer_impact_duration",
+        type: "number",
+        format: "int64",
+    },
+    customerImpactEnd: {
+        baseName: "customer_impact_end",
+        type: "Date",
+        format: "date-time",
+    },
+    customerImpactScope: {
+        baseName: "customer_impact_scope",
+        type: "string",
+    },
+    customerImpactStart: {
+        baseName: "customer_impact_start",
+        type: "Date",
+        format: "date-time",
+    },
+    customerImpacted: {
+        baseName: "customer_impacted",
+        type: "boolean",
+    },
+    detected: {
+        baseName: "detected",
+        type: "Date",
+        format: "date-time",
+    },
+    fields: {
+        baseName: "fields",
+        type: "{ [key: string]: IncidentFieldAttributes; }",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    notificationHandles: {
+        baseName: "notification_handles",
+        type: "Array",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "number",
+        format: "int64",
+    },
+    resolved: {
+        baseName: "resolved",
+        type: "Date",
+        format: "date-time",
+    },
+    timeToDetect: {
+        baseName: "time_to_detect",
+        type: "number",
+        format: "int64",
+    },
+    timeToInternalResponse: {
+        baseName: "time_to_internal_response",
+        type: "number",
+        format: "int64",
+    },
+    timeToRepair: {
+        baseName: "time_to_repair",
+        type: "number",
+        format: "int64",
+    },
+    timeToResolve: {
+        baseName: "time_to_resolve",
+        type: "number",
+        format: "int64",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 45469:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponseData = void 0;
+/**
+ * Incident data from a response.
+ */
+class IncidentResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentResponseData = IncidentResponseData;
+/**
+ * @ignore
+ */
+IncidentResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentResponseRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentResponseData.js.map
+
+/***/ }),
+
+/***/ 97443:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponseMeta = void 0;
+/**
+ * The metadata object containing pagination metadata.
+ */
+class IncidentResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponseMeta.attributeTypeMap;
+    }
+}
+exports.IncidentResponseMeta = IncidentResponseMeta;
+/**
+ * @ignore
+ */
+IncidentResponseMeta.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "IncidentResponseMetaPagination",
+    },
+};
+//# sourceMappingURL=IncidentResponseMeta.js.map
+
+/***/ }),
+
+/***/ 17114:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponseMetaPagination = void 0;
+/**
+ * Pagination properties.
+ */
+class IncidentResponseMetaPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponseMetaPagination.attributeTypeMap;
+    }
+}
+exports.IncidentResponseMetaPagination = IncidentResponseMetaPagination;
+/**
+ * @ignore
+ */
+IncidentResponseMetaPagination.attributeTypeMap = {
+    nextOffset: {
+        baseName: "next_offset",
+        type: "number",
+        format: "int64",
+    },
+    offset: {
+        baseName: "offset",
+        type: "number",
+        format: "int64",
+    },
+    size: {
+        baseName: "size",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=IncidentResponseMetaPagination.js.map
+
+/***/ }),
+
+/***/ 24771:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentResponseRelationships = void 0;
+/**
+ * The incident's relationships from a response.
+ */
+class IncidentResponseRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentResponseRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentResponseRelationships = IncidentResponseRelationships;
+/**
+ * @ignore
+ */
+IncidentResponseRelationships.attributeTypeMap = {
+    attachments: {
+        baseName: "attachments",
+        type: "RelationshipToIncidentAttachment",
+    },
+    commanderUser: {
+        baseName: "commander_user",
+        type: "NullableRelationshipToUser",
+    },
+    createdByUser: {
+        baseName: "created_by_user",
+        type: "RelationshipToUser",
+    },
+    integrations: {
+        baseName: "integrations",
+        type: "RelationshipToIncidentIntegrationMetadatas",
+    },
+    lastModifiedByUser: {
+        baseName: "last_modified_by_user",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=IncidentResponseRelationships.js.map
+
+/***/ }),
+
+/***/ 72231:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponse = void 0;
+/**
+ * Response with incidents and facets.
+ */
+class IncidentSearchResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponse.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponse = IncidentSearchResponse;
+/**
+ * @ignore
+ */
+IncidentSearchResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentSearchResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentSearchResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponse.js.map
+
+/***/ }),
+
+/***/ 29446:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseAttributes = void 0;
+/**
+ * Attributes returned by an incident search.
+ */
+class IncidentSearchResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseAttributes = IncidentSearchResponseAttributes;
+/**
+ * @ignore
+ */
+IncidentSearchResponseAttributes.attributeTypeMap = {
+    facets: {
+        baseName: "facets",
+        type: "IncidentSearchResponseFacetsData",
+        required: true,
+    },
+    incidents: {
+        baseName: "incidents",
+        type: "Array",
+        required: true,
+    },
+    total: {
+        baseName: "total",
+        type: "number",
+        required: true,
+        format: "int32",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 26411:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseData = void 0;
+/**
+ * Data returned by an incident search.
+ */
+class IncidentSearchResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseData = IncidentSearchResponseData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentSearchResponseAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentSearchResultsType",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseData.js.map
+
+/***/ }),
+
+/***/ 2973:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseFacetsData = void 0;
+/**
+ * Facet data for incidents returned by a search query.
+ */
+class IncidentSearchResponseFacetsData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseFacetsData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseFacetsData = IncidentSearchResponseFacetsData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseFacetsData.attributeTypeMap = {
+    commander: {
+        baseName: "commander",
+        type: "Array",
+    },
+    createdBy: {
+        baseName: "created_by",
+        type: "Array",
+    },
+    fields: {
+        baseName: "fields",
+        type: "Array",
+    },
+    impact: {
+        baseName: "impact",
+        type: "Array",
+    },
+    lastModifiedBy: {
+        baseName: "last_modified_by",
+        type: "Array",
+    },
+    postmortem: {
+        baseName: "postmortem",
+        type: "Array",
+    },
+    responder: {
+        baseName: "responder",
+        type: "Array",
+    },
+    severity: {
+        baseName: "severity",
+        type: "Array",
+    },
+    state: {
+        baseName: "state",
+        type: "Array",
+    },
+    timeToRepair: {
+        baseName: "time_to_repair",
+        type: "Array",
+    },
+    timeToResolve: {
+        baseName: "time_to_resolve",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseFacetsData.js.map
+
+/***/ }),
+
+/***/ 21682:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseFieldFacetData = void 0;
+/**
+ * Facet value and number of occurrences for a property field of an incident.
+ */
+class IncidentSearchResponseFieldFacetData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseFieldFacetData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseFieldFacetData = IncidentSearchResponseFieldFacetData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseFieldFacetData.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int32",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseFieldFacetData.js.map
+
+/***/ }),
+
+/***/ 61548:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseIncidentsData = void 0;
+/**
+ * Incident returned by the search.
+ */
+class IncidentSearchResponseIncidentsData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseIncidentsData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseIncidentsData = IncidentSearchResponseIncidentsData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseIncidentsData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentResponseData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseIncidentsData.js.map
+
+/***/ }),
+
+/***/ 16886:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseMeta = void 0;
+/**
+ * The metadata object containing pagination metadata.
+ */
+class IncidentSearchResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseMeta.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseMeta = IncidentSearchResponseMeta;
+/**
+ * @ignore
+ */
+IncidentSearchResponseMeta.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "IncidentResponseMetaPagination",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseMeta.js.map
+
+/***/ }),
+
+/***/ 9475:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseNumericFacetData = void 0;
+/**
+ * Facet data numeric attributes of an incident.
+ */
+class IncidentSearchResponseNumericFacetData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseNumericFacetData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseNumericFacetData = IncidentSearchResponseNumericFacetData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseNumericFacetData.attributeTypeMap = {
+    aggregates: {
+        baseName: "aggregates",
+        type: "IncidentSearchResponseNumericFacetDataAggregates",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseNumericFacetData.js.map
+
+/***/ }),
+
+/***/ 32185:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseNumericFacetDataAggregates = void 0;
+/**
+ * Aggregate information for numeric incident data.
+ */
+class IncidentSearchResponseNumericFacetDataAggregates {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseNumericFacetDataAggregates.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseNumericFacetDataAggregates = IncidentSearchResponseNumericFacetDataAggregates;
+/**
+ * @ignore
+ */
+IncidentSearchResponseNumericFacetDataAggregates.attributeTypeMap = {
+    max: {
+        baseName: "max",
+        type: "number",
+        format: "double",
+    },
+    min: {
+        baseName: "min",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseNumericFacetDataAggregates.js.map
+
+/***/ }),
+
+/***/ 63060:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponsePropertyFieldFacetData = void 0;
+/**
+ * Facet data for the incident property fields.
+ */
+class IncidentSearchResponsePropertyFieldFacetData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponsePropertyFieldFacetData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponsePropertyFieldFacetData = IncidentSearchResponsePropertyFieldFacetData;
+/**
+ * @ignore
+ */
+IncidentSearchResponsePropertyFieldFacetData.attributeTypeMap = {
+    aggregates: {
+        baseName: "aggregates",
+        type: "IncidentSearchResponseNumericFacetDataAggregates",
+    },
+    facets: {
+        baseName: "facets",
+        type: "Array",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentSearchResponsePropertyFieldFacetData.js.map
+
+/***/ }),
+
+/***/ 52706:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentSearchResponseUserFacetData = void 0;
+/**
+ * Facet data for user attributes of an incident.
+ */
+class IncidentSearchResponseUserFacetData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentSearchResponseUserFacetData.attributeTypeMap;
+    }
+}
+exports.IncidentSearchResponseUserFacetData = IncidentSearchResponseUserFacetData;
+/**
+ * @ignore
+ */
+IncidentSearchResponseUserFacetData.attributeTypeMap = {
+    count: {
+        baseName: "count",
+        type: "number",
+        format: "int32",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    uuid: {
+        baseName: "uuid",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentSearchResponseUserFacetData.js.map
+
+/***/ }),
+
+/***/ 6462:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceCreateAttributes = void 0;
+/**
+ * The incident service's attributes for a create request.
+ */
+class IncidentServiceCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceCreateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentServiceCreateAttributes = IncidentServiceCreateAttributes;
+/**
+ * @ignore
+ */
+IncidentServiceCreateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 66621:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceCreateData = void 0;
+/**
+ * Incident Service payload for create requests.
+ */
+class IncidentServiceCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceCreateData.attributeTypeMap;
+    }
+}
+exports.IncidentServiceCreateData = IncidentServiceCreateData;
+/**
+ * @ignore
+ */
+IncidentServiceCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentServiceCreateAttributes",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentServiceRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceCreateData.js.map
+
+/***/ }),
+
+/***/ 40355:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceCreateRequest = void 0;
+/**
+ * Create request with an incident service payload.
+ */
+class IncidentServiceCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceCreateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentServiceCreateRequest = IncidentServiceCreateRequest;
+/**
+ * @ignore
+ */
+IncidentServiceCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentServiceCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceCreateRequest.js.map
+
+/***/ }),
+
+/***/ 87083:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceRelationships = void 0;
+/**
+ * The incident service's relationships.
+ */
+class IncidentServiceRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentServiceRelationships = IncidentServiceRelationships;
+/**
+ * @ignore
+ */
+IncidentServiceRelationships.attributeTypeMap = {
+    createdBy: {
+        baseName: "created_by",
+        type: "RelationshipToUser",
+    },
+    lastModifiedBy: {
+        baseName: "last_modified_by",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=IncidentServiceRelationships.js.map
+
+/***/ }),
+
+/***/ 95541:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceResponse = void 0;
+/**
+ * Response with an incident service payload.
+ */
+class IncidentServiceResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceResponse.attributeTypeMap;
+    }
+}
+exports.IncidentServiceResponse = IncidentServiceResponse;
+/**
+ * @ignore
+ */
+IncidentServiceResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentServiceResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentServiceResponse.js.map
+
+/***/ }),
+
+/***/ 80298:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceResponseAttributes = void 0;
+/**
+ * The incident service's attributes from a response.
+ */
+class IncidentServiceResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceResponseAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentServiceResponseAttributes = IncidentServiceResponseAttributes;
+/**
+ * @ignore
+ */
+IncidentServiceResponseAttributes.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentServiceResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 68471:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceResponseData = void 0;
+/**
+ * Incident Service data from responses.
+ */
+class IncidentServiceResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentServiceResponseData = IncidentServiceResponseData;
+/**
+ * @ignore
+ */
+IncidentServiceResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentServiceResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentServiceRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceResponseData.js.map
+
+/***/ }),
+
+/***/ 76403:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceUpdateAttributes = void 0;
+/**
+ * The incident service's attributes for an update request.
+ */
+class IncidentServiceUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentServiceUpdateAttributes = IncidentServiceUpdateAttributes;
+/**
+ * @ignore
+ */
+IncidentServiceUpdateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 86480:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceUpdateData = void 0;
+/**
+ * Incident Service payload for update requests.
+ */
+class IncidentServiceUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceUpdateData.attributeTypeMap;
+    }
+}
+exports.IncidentServiceUpdateData = IncidentServiceUpdateData;
+/**
+ * @ignore
+ */
+IncidentServiceUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentServiceUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentServiceRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceUpdateData.js.map
+
+/***/ }),
+
+/***/ 82634:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServiceUpdateRequest = void 0;
+/**
+ * Update request with an incident service payload.
+ */
+class IncidentServiceUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServiceUpdateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentServiceUpdateRequest = IncidentServiceUpdateRequest;
+/**
+ * @ignore
+ */
+IncidentServiceUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentServiceUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentServiceUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 41099:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentServicesResponse = void 0;
+/**
+ * Response with a list of incident service payloads.
+ */
+class IncidentServicesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentServicesResponse.attributeTypeMap;
+    }
+}
+exports.IncidentServicesResponse = IncidentServicesResponse;
+/**
+ * @ignore
+ */
+IncidentServicesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentServicesResponse.js.map
+
+/***/ }),
+
+/***/ 88320:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamCreateAttributes = void 0;
+/**
+ * The incident team's attributes for a create request.
+ */
+class IncidentTeamCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamCreateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentTeamCreateAttributes = IncidentTeamCreateAttributes;
+/**
+ * @ignore
+ */
+IncidentTeamCreateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 90453:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamCreateData = void 0;
+/**
+ * Incident Team data for a create request.
+ */
+class IncidentTeamCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamCreateData.attributeTypeMap;
+    }
+}
+exports.IncidentTeamCreateData = IncidentTeamCreateData;
+/**
+ * @ignore
+ */
+IncidentTeamCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTeamCreateAttributes",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentTeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamCreateData.js.map
+
+/***/ }),
+
+/***/ 35992:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamCreateRequest = void 0;
+/**
+ * Create request with an incident team payload.
+ */
+class IncidentTeamCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamCreateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentTeamCreateRequest = IncidentTeamCreateRequest;
+/**
+ * @ignore
+ */
+IncidentTeamCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTeamCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamCreateRequest.js.map
+
+/***/ }),
+
+/***/ 11031:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamRelationships = void 0;
+/**
+ * The incident team's relationships.
+ */
+class IncidentTeamRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentTeamRelationships = IncidentTeamRelationships;
+/**
+ * @ignore
+ */
+IncidentTeamRelationships.attributeTypeMap = {
+    createdBy: {
+        baseName: "created_by",
+        type: "RelationshipToUser",
+    },
+    lastModifiedBy: {
+        baseName: "last_modified_by",
+        type: "RelationshipToUser",
+    },
+};
+//# sourceMappingURL=IncidentTeamRelationships.js.map
+
+/***/ }),
+
+/***/ 512:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamResponse = void 0;
+/**
+ * Response with an incident team payload.
+ */
+class IncidentTeamResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamResponse.attributeTypeMap;
+    }
+}
+exports.IncidentTeamResponse = IncidentTeamResponse;
+/**
+ * @ignore
+ */
+IncidentTeamResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTeamResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentTeamResponse.js.map
+
+/***/ }),
+
+/***/ 59050:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamResponseAttributes = void 0;
+/**
+ * The incident team's attributes from a response.
+ */
+class IncidentTeamResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamResponseAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentTeamResponseAttributes = IncidentTeamResponseAttributes;
+/**
+ * @ignore
+ */
+IncidentTeamResponseAttributes.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    modified: {
+        baseName: "modified",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentTeamResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 58397:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamResponseData = void 0;
+/**
+ * Incident Team data from a response.
+ */
+class IncidentTeamResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentTeamResponseData = IncidentTeamResponseData;
+/**
+ * @ignore
+ */
+IncidentTeamResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTeamResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentTeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTeamType",
+    },
+};
+//# sourceMappingURL=IncidentTeamResponseData.js.map
+
+/***/ }),
+
+/***/ 98537:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamUpdateAttributes = void 0;
+/**
+ * The incident team's attributes for an update request.
+ */
+class IncidentTeamUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentTeamUpdateAttributes = IncidentTeamUpdateAttributes;
+/**
+ * @ignore
+ */
+IncidentTeamUpdateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 9831:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamUpdateData = void 0;
+/**
+ * Incident Team data for an update request.
+ */
+class IncidentTeamUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamUpdateData.attributeTypeMap;
+    }
+}
+exports.IncidentTeamUpdateData = IncidentTeamUpdateData;
+/**
+ * @ignore
+ */
+IncidentTeamUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTeamUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentTeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamUpdateData.js.map
+
+/***/ }),
+
+/***/ 31335:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamUpdateRequest = void 0;
+/**
+ * Update request with an incident team payload.
+ */
+class IncidentTeamUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamUpdateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentTeamUpdateRequest = IncidentTeamUpdateRequest;
+/**
+ * @ignore
+ */
+IncidentTeamUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTeamUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTeamUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 57338:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTeamsResponse = void 0;
+/**
+ * Response with a list of incident team payloads.
+ */
+class IncidentTeamsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTeamsResponse.attributeTypeMap;
+    }
+}
+exports.IncidentTeamsResponse = IncidentTeamsResponse;
+/**
+ * @ignore
+ */
+IncidentTeamsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentTeamsResponse.js.map
+
+/***/ }),
+
+/***/ 48455:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTimelineCellMarkdownCreateAttributes = void 0;
+/**
+ * Timeline cell data for Markdown timeline cells for a create request.
+ */
+class IncidentTimelineCellMarkdownCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTimelineCellMarkdownCreateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentTimelineCellMarkdownCreateAttributes = IncidentTimelineCellMarkdownCreateAttributes;
+/**
+ * @ignore
+ */
+IncidentTimelineCellMarkdownCreateAttributes.attributeTypeMap = {
+    cellType: {
+        baseName: "cell_type",
+        type: "IncidentTimelineCellMarkdownContentType",
+        required: true,
+    },
+    content: {
+        baseName: "content",
+        type: "IncidentTimelineCellMarkdownCreateAttributesContent",
+        required: true,
+    },
+    important: {
+        baseName: "important",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=IncidentTimelineCellMarkdownCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 48181:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTimelineCellMarkdownCreateAttributesContent = void 0;
+/**
+ * The Markdown timeline cell contents.
+ */
+class IncidentTimelineCellMarkdownCreateAttributesContent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTimelineCellMarkdownCreateAttributesContent.attributeTypeMap;
+    }
+}
+exports.IncidentTimelineCellMarkdownCreateAttributesContent = IncidentTimelineCellMarkdownCreateAttributesContent;
+/**
+ * @ignore
+ */
+IncidentTimelineCellMarkdownCreateAttributesContent.attributeTypeMap = {
+    content: {
+        baseName: "content",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentTimelineCellMarkdownCreateAttributesContent.js.map
+
+/***/ }),
+
+/***/ 86789:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoAnonymousAssignee = void 0;
+/**
+ * Anonymous assignee entity.
+ */
+class IncidentTodoAnonymousAssignee {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoAnonymousAssignee.attributeTypeMap;
+    }
+}
+exports.IncidentTodoAnonymousAssignee = IncidentTodoAnonymousAssignee;
+/**
+ * @ignore
+ */
+IncidentTodoAnonymousAssignee.attributeTypeMap = {
+    icon: {
+        baseName: "icon",
+        type: "string",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    source: {
+        baseName: "source",
+        type: "IncidentTodoAnonymousAssigneeSource",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoAnonymousAssignee.js.map
+
+/***/ }),
+
+/***/ 5973:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoAttributes = void 0;
+/**
+ * Incident todo's attributes.
+ */
+class IncidentTodoAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentTodoAttributes = IncidentTodoAttributes;
+/**
+ * @ignore
+ */
+IncidentTodoAttributes.attributeTypeMap = {
+    assignees: {
+        baseName: "assignees",
+        type: "Array",
+        required: true,
+    },
+    completed: {
+        baseName: "completed",
+        type: "string",
+    },
+    content: {
+        baseName: "content",
+        type: "string",
+        required: true,
+    },
+    dueDate: {
+        baseName: "due_date",
+        type: "string",
+    },
+    incidentId: {
+        baseName: "incident_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentTodoAttributes.js.map
+
+/***/ }),
+
+/***/ 55011:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoCreateData = void 0;
+/**
+ * Incident todo data for a create request.
+ */
+class IncidentTodoCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoCreateData.attributeTypeMap;
+    }
+}
+exports.IncidentTodoCreateData = IncidentTodoCreateData;
+/**
+ * @ignore
+ */
+IncidentTodoCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTodoAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTodoType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoCreateData.js.map
+
+/***/ }),
+
+/***/ 71609:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoCreateRequest = void 0;
+/**
+ * Create request for an incident todo.
+ */
+class IncidentTodoCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoCreateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentTodoCreateRequest = IncidentTodoCreateRequest;
+/**
+ * @ignore
+ */
+IncidentTodoCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTodoCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoCreateRequest.js.map
+
+/***/ }),
+
+/***/ 21582:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoListResponse = void 0;
+/**
+ * Response with a list of incident todos.
+ */
+class IncidentTodoListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoListResponse.attributeTypeMap;
+    }
+}
+exports.IncidentTodoListResponse = IncidentTodoListResponse;
+/**
+ * @ignore
+ */
+IncidentTodoListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentTodoListResponse.js.map
+
+/***/ }),
+
+/***/ 29754:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoPatchData = void 0;
+/**
+ * Incident todo data for a patch request.
+ */
+class IncidentTodoPatchData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoPatchData.attributeTypeMap;
+    }
+}
+exports.IncidentTodoPatchData = IncidentTodoPatchData;
+/**
+ * @ignore
+ */
+IncidentTodoPatchData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTodoAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTodoType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoPatchData.js.map
+
+/***/ }),
+
+/***/ 67365:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoPatchRequest = void 0;
+/**
+ * Patch request for an incident todo.
+ */
+class IncidentTodoPatchRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoPatchRequest.attributeTypeMap;
+    }
+}
+exports.IncidentTodoPatchRequest = IncidentTodoPatchRequest;
+/**
+ * @ignore
+ */
+IncidentTodoPatchRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTodoPatchData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoPatchRequest.js.map
+
+/***/ }),
+
+/***/ 88374:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoResponse = void 0;
+/**
+ * Response with an incident todo.
+ */
+class IncidentTodoResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoResponse.attributeTypeMap;
+    }
+}
+exports.IncidentTodoResponse = IncidentTodoResponse;
+/**
+ * @ignore
+ */
+IncidentTodoResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentTodoResponseData",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IncidentTodoResponse.js.map
+
+/***/ }),
+
+/***/ 47835:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentTodoResponseData = void 0;
+/**
+ * Incident todo response data.
+ */
+class IncidentTodoResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentTodoResponseData.attributeTypeMap;
+    }
+}
+exports.IncidentTodoResponseData = IncidentTodoResponseData;
+/**
+ * @ignore
+ */
+IncidentTodoResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentTodoAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentTodoType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentTodoResponseData.js.map
+
+/***/ }),
+
+/***/ 18527:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentUpdateAttributes = void 0;
+/**
+ * The incident's attributes for an update request.
+ */
+class IncidentUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.IncidentUpdateAttributes = IncidentUpdateAttributes;
+/**
+ * @ignore
+ */
+IncidentUpdateAttributes.attributeTypeMap = {
+    customerImpactEnd: {
+        baseName: "customer_impact_end",
+        type: "Date",
+        format: "date-time",
+    },
+    customerImpactScope: {
+        baseName: "customer_impact_scope",
+        type: "string",
+    },
+    customerImpactStart: {
+        baseName: "customer_impact_start",
+        type: "Date",
+        format: "date-time",
+    },
+    customerImpacted: {
+        baseName: "customer_impacted",
+        type: "boolean",
+    },
+    detected: {
+        baseName: "detected",
+        type: "Date",
+        format: "date-time",
+    },
+    fields: {
+        baseName: "fields",
+        type: "{ [key: string]: IncidentFieldAttributes; }",
+    },
+    notificationHandles: {
+        baseName: "notification_handles",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=IncidentUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 18395:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentUpdateData = void 0;
+/**
+ * Incident data for an update request.
+ */
+class IncidentUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentUpdateData.attributeTypeMap;
+    }
+}
+exports.IncidentUpdateData = IncidentUpdateData;
+/**
+ * @ignore
+ */
+IncidentUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "IncidentUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "IncidentUpdateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentUpdateData.js.map
+
+/***/ }),
+
+/***/ 96208:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentUpdateRelationships = void 0;
+/**
+ * The incident's relationships for an update request.
+ */
+class IncidentUpdateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentUpdateRelationships.attributeTypeMap;
+    }
+}
+exports.IncidentUpdateRelationships = IncidentUpdateRelationships;
+/**
+ * @ignore
+ */
+IncidentUpdateRelationships.attributeTypeMap = {
+    commanderUser: {
+        baseName: "commander_user",
+        type: "NullableRelationshipToUser",
+    },
+    integrations: {
+        baseName: "integrations",
+        type: "RelationshipToIncidentIntegrationMetadatas",
+    },
+    postmortem: {
+        baseName: "postmortem",
+        type: "RelationshipToIncidentPostmortem",
+    },
+};
+//# sourceMappingURL=IncidentUpdateRelationships.js.map
+
+/***/ }),
+
+/***/ 83383:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentUpdateRequest = void 0;
+/**
+ * Update request for an incident.
+ */
+class IncidentUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentUpdateRequest.attributeTypeMap;
+    }
+}
+exports.IncidentUpdateRequest = IncidentUpdateRequest;
+/**
+ * @ignore
+ */
+IncidentUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "IncidentUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=IncidentUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 73601:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IncidentsResponse = void 0;
+/**
+ * Response with a list of incidents.
+ */
+class IncidentsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IncidentsResponse.attributeTypeMap;
+    }
+}
+exports.IncidentsResponse = IncidentsResponse;
+/**
+ * @ignore
+ */
+IncidentsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "IncidentResponseMeta",
+    },
+};
+//# sourceMappingURL=IncidentsResponse.js.map
+
+/***/ }),
+
+/***/ 34539:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.IntakePayloadAccepted = void 0;
+/**
+ * The payload accepted for intake.
+ */
+class IntakePayloadAccepted {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return IntakePayloadAccepted.attributeTypeMap;
+    }
+}
+exports.IntakePayloadAccepted = IntakePayloadAccepted;
+/**
+ * @ignore
+ */
+IntakePayloadAccepted.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=IntakePayloadAccepted.js.map
+
+/***/ }),
+
+/***/ 12078:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.JSONAPIErrorItem = void 0;
+/**
+ * API error response body
+ */
+class JSONAPIErrorItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return JSONAPIErrorItem.attributeTypeMap;
+    }
+}
+exports.JSONAPIErrorItem = JSONAPIErrorItem;
+/**
+ * @ignore
+ */
+JSONAPIErrorItem.attributeTypeMap = {
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=JSONAPIErrorItem.js.map
+
+/***/ }),
+
+/***/ 66657:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.JSONAPIErrorResponse = void 0;
+/**
+ * API error response.
+ */
+class JSONAPIErrorResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return JSONAPIErrorResponse.attributeTypeMap;
+    }
+}
+exports.JSONAPIErrorResponse = JSONAPIErrorResponse;
+/**
+ * @ignore
+ */
+JSONAPIErrorResponse.attributeTypeMap = {
+    errors: {
+        baseName: "errors",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=JSONAPIErrorResponse.js.map
+
+/***/ }),
+
+/***/ 53579:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.JiraIntegrationMetadata = void 0;
+/**
+ * Incident integration metadata for the Jira integration.
+ */
+class JiraIntegrationMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return JiraIntegrationMetadata.attributeTypeMap;
+    }
+}
+exports.JiraIntegrationMetadata = JiraIntegrationMetadata;
+/**
+ * @ignore
+ */
+JiraIntegrationMetadata.attributeTypeMap = {
+    issues: {
+        baseName: "issues",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=JiraIntegrationMetadata.js.map
+
+/***/ }),
+
+/***/ 50608:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.JiraIntegrationMetadataIssuesItem = void 0;
+/**
+ * Item in the Jira integration metadata issue array.
+ */
+class JiraIntegrationMetadataIssuesItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return JiraIntegrationMetadataIssuesItem.attributeTypeMap;
+    }
+}
+exports.JiraIntegrationMetadataIssuesItem = JiraIntegrationMetadataIssuesItem;
+/**
+ * @ignore
+ */
+JiraIntegrationMetadataIssuesItem.attributeTypeMap = {
+    account: {
+        baseName: "account",
+        type: "string",
+        required: true,
+    },
+    issueKey: {
+        baseName: "issue_key",
+        type: "string",
+    },
+    issuetypeId: {
+        baseName: "issuetype_id",
+        type: "string",
+    },
+    projectKey: {
+        baseName: "project_key",
+        type: "string",
+        required: true,
+    },
+    redirectUrl: {
+        baseName: "redirect_url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=JiraIntegrationMetadataIssuesItem.js.map
+
+/***/ }),
+
+/***/ 552:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListApplicationKeysResponse = void 0;
+/**
+ * Response for a list of application keys.
+ */
+class ListApplicationKeysResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListApplicationKeysResponse.attributeTypeMap;
+    }
+}
+exports.ListApplicationKeysResponse = ListApplicationKeysResponse;
+/**
+ * @ignore
+ */
+ListApplicationKeysResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ListApplicationKeysResponse.js.map
+
+/***/ }),
+
+/***/ 95574:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListDowntimesResponse = void 0;
+/**
+ * Response for retrieving all downtimes.
+ */
+class ListDowntimesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListDowntimesResponse.attributeTypeMap;
+    }
+}
+exports.ListDowntimesResponse = ListDowntimesResponse;
+/**
+ * @ignore
+ */
+ListDowntimesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "DowntimeMeta",
+    },
+};
+//# sourceMappingURL=ListDowntimesResponse.js.map
+
+/***/ }),
+
+/***/ 78425:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListFindingsMeta = void 0;
+/**
+ * Metadata for pagination.
+ */
+class ListFindingsMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListFindingsMeta.attributeTypeMap;
+    }
+}
+exports.ListFindingsMeta = ListFindingsMeta;
+/**
+ * @ignore
+ */
+ListFindingsMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "ListFindingsPage",
+    },
+    snapshotTimestamp: {
+        baseName: "snapshot_timestamp",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=ListFindingsMeta.js.map
+
+/***/ }),
+
+/***/ 64745:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListFindingsPage = void 0;
+/**
+ * Pagination and findings count information.
+ */
+class ListFindingsPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListFindingsPage.attributeTypeMap;
+    }
+}
+exports.ListFindingsPage = ListFindingsPage;
+/**
+ * @ignore
+ */
+ListFindingsPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=ListFindingsPage.js.map
+
+/***/ }),
+
+/***/ 80065:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ListFindingsResponse = void 0;
+/**
+ * The expected response schema when listing findings.
+ */
+class ListFindingsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ListFindingsResponse.attributeTypeMap;
+    }
+}
+exports.ListFindingsResponse = ListFindingsResponse;
+/**
+ * @ignore
+ */
+ListFindingsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "ListFindingsMeta",
+        required: true,
+    },
+};
+//# sourceMappingURL=ListFindingsResponse.js.map
+
+/***/ }),
+
+/***/ 46393:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Log = void 0;
+/**
+ * Object description of a log after being processed and stored by Datadog.
+ */
+class Log {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Log.attributeTypeMap;
+    }
+}
+exports.Log = Log;
+/**
+ * @ignore
+ */
+Log.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogType",
+    },
+};
+//# sourceMappingURL=Log.js.map
+
+/***/ }),
+
+/***/ 7552:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogAttributes = void 0;
+/**
+ * JSON object containing all log attributes and their associated values.
+ */
+class LogAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogAttributes.attributeTypeMap;
+    }
+}
+exports.LogAttributes = LogAttributes;
+/**
+ * @ignore
+ */
+LogAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=LogAttributes.js.map
+
+/***/ }),
+
+/***/ 86308:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateBucket = void 0;
+/**
+ * A bucket values
+ */
+class LogsAggregateBucket {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateBucket.attributeTypeMap;
+    }
+}
+exports.LogsAggregateBucket = LogsAggregateBucket;
+/**
+ * @ignore
+ */
+LogsAggregateBucket.attributeTypeMap = {
+    by: {
+        baseName: "by",
+        type: "{ [key: string]: any; }",
+    },
+    computes: {
+        baseName: "computes",
+        type: "{ [key: string]: LogsAggregateBucketValue; }",
+    },
+};
+//# sourceMappingURL=LogsAggregateBucket.js.map
+
+/***/ }),
+
+/***/ 13425:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateBucketValueTimeseriesPoint = void 0;
+/**
+ * A timeseries point
+ */
+class LogsAggregateBucketValueTimeseriesPoint {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateBucketValueTimeseriesPoint.attributeTypeMap;
+    }
+}
+exports.LogsAggregateBucketValueTimeseriesPoint = LogsAggregateBucketValueTimeseriesPoint;
+/**
+ * @ignore
+ */
+LogsAggregateBucketValueTimeseriesPoint.attributeTypeMap = {
+    time: {
+        baseName: "time",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=LogsAggregateBucketValueTimeseriesPoint.js.map
+
+/***/ }),
+
+/***/ 47001:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateRequest = void 0;
+/**
+ * The object sent with the request to retrieve a list of logs from your organization.
+ */
+class LogsAggregateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateRequest.attributeTypeMap;
+    }
+}
+exports.LogsAggregateRequest = LogsAggregateRequest;
+/**
+ * @ignore
+ */
+LogsAggregateRequest.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsQueryFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    options: {
+        baseName: "options",
+        type: "LogsQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "LogsAggregateRequestPage",
+    },
+};
+//# sourceMappingURL=LogsAggregateRequest.js.map
+
+/***/ }),
+
+/***/ 87757:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateRequestPage = void 0;
+/**
+ * Paging settings
+ */
+class LogsAggregateRequestPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateRequestPage.attributeTypeMap;
+    }
+}
+exports.LogsAggregateRequestPage = LogsAggregateRequestPage;
+/**
+ * @ignore
+ */
+LogsAggregateRequestPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsAggregateRequestPage.js.map
+
+/***/ }),
+
+/***/ 98666:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateResponse = void 0;
+/**
+ * The response object for the logs aggregate API endpoint
+ */
+class LogsAggregateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateResponse.attributeTypeMap;
+    }
+}
+exports.LogsAggregateResponse = LogsAggregateResponse;
+/**
+ * @ignore
+ */
+LogsAggregateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsAggregateResponseData",
+    },
+    meta: {
+        baseName: "meta",
+        type: "LogsResponseMetadata",
+    },
+};
+//# sourceMappingURL=LogsAggregateResponse.js.map
+
+/***/ }),
+
+/***/ 67227:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateResponseData = void 0;
+/**
+ * The query results
+ */
+class LogsAggregateResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateResponseData.attributeTypeMap;
+    }
+}
+exports.LogsAggregateResponseData = LogsAggregateResponseData;
+/**
+ * @ignore
+ */
+LogsAggregateResponseData.attributeTypeMap = {
+    buckets: {
+        baseName: "buckets",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsAggregateResponseData.js.map
+
+/***/ }),
+
+/***/ 37532:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsAggregateSort = void 0;
+/**
+ * A sort rule
+ */
+class LogsAggregateSort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsAggregateSort.attributeTypeMap;
+    }
+}
+exports.LogsAggregateSort = LogsAggregateSort;
+/**
+ * @ignore
+ */
+LogsAggregateSort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "LogsAggregationFunction",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "LogsSortOrder",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsAggregateSortType",
+    },
+};
+//# sourceMappingURL=LogsAggregateSort.js.map
+
+/***/ }),
+
+/***/ 46014:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchive = void 0;
+/**
+ * The logs archive.
+ */
+class LogsArchive {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchive.attributeTypeMap;
+    }
+}
+exports.LogsArchive = LogsArchive;
+/**
+ * @ignore
+ */
+LogsArchive.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsArchiveDefinition",
+    },
+};
+//# sourceMappingURL=LogsArchive.js.map
+
+/***/ }),
+
+/***/ 20872:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveAttributes = void 0;
+/**
+ * The attributes associated with the archive.
+ */
+class LogsArchiveAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveAttributes.attributeTypeMap;
+    }
+}
+exports.LogsArchiveAttributes = LogsArchiveAttributes;
+/**
+ * @ignore
+ */
+LogsArchiveAttributes.attributeTypeMap = {
+    destination: {
+        baseName: "destination",
+        type: "LogsArchiveDestination",
+        required: true,
+    },
+    includeTags: {
+        baseName: "include_tags",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    rehydrationMaxScanSizeInGb: {
+        baseName: "rehydration_max_scan_size_in_gb",
+        type: "number",
+        format: "int64",
+    },
+    rehydrationTags: {
+        baseName: "rehydration_tags",
+        type: "Array",
+    },
+    state: {
+        baseName: "state",
+        type: "LogsArchiveState",
+    },
+};
+//# sourceMappingURL=LogsArchiveAttributes.js.map
+
+/***/ }),
+
+/***/ 77695:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveCreateRequest = void 0;
+/**
+ * The logs archive.
+ */
+class LogsArchiveCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveCreateRequest.attributeTypeMap;
+    }
+}
+exports.LogsArchiveCreateRequest = LogsArchiveCreateRequest;
+/**
+ * @ignore
+ */
+LogsArchiveCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsArchiveCreateRequestDefinition",
+    },
+};
+//# sourceMappingURL=LogsArchiveCreateRequest.js.map
+
+/***/ }),
+
+/***/ 82598:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveCreateRequestAttributes = void 0;
+/**
+ * The attributes associated with the archive.
+ */
+class LogsArchiveCreateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveCreateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.LogsArchiveCreateRequestAttributes = LogsArchiveCreateRequestAttributes;
+/**
+ * @ignore
+ */
+LogsArchiveCreateRequestAttributes.attributeTypeMap = {
+    destination: {
+        baseName: "destination",
+        type: "LogsArchiveCreateRequestDestination",
+        required: true,
+    },
+    includeTags: {
+        baseName: "include_tags",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+    rehydrationMaxScanSizeInGb: {
+        baseName: "rehydration_max_scan_size_in_gb",
+        type: "number",
+        format: "int64",
+    },
+    rehydrationTags: {
+        baseName: "rehydration_tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsArchiveCreateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 69415:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveCreateRequestDefinition = void 0;
+/**
+ * The definition of an archive.
+ */
+class LogsArchiveCreateRequestDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveCreateRequestDefinition.attributeTypeMap;
+    }
+}
+exports.LogsArchiveCreateRequestDefinition = LogsArchiveCreateRequestDefinition;
+/**
+ * @ignore
+ */
+LogsArchiveCreateRequestDefinition.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsArchiveCreateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveCreateRequestDefinition.js.map
+
+/***/ }),
+
+/***/ 54195:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveDefinition = void 0;
+/**
+ * The definition of an archive.
+ */
+class LogsArchiveDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveDefinition.attributeTypeMap;
+    }
+}
+exports.LogsArchiveDefinition = LogsArchiveDefinition;
+/**
+ * @ignore
+ */
+LogsArchiveDefinition.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsArchiveAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveDefinition.js.map
+
+/***/ }),
+
+/***/ 97475:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveDestinationAzure = void 0;
+/**
+ * The Azure archive destination.
+ */
+class LogsArchiveDestinationAzure {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveDestinationAzure.attributeTypeMap;
+    }
+}
+exports.LogsArchiveDestinationAzure = LogsArchiveDestinationAzure;
+/**
+ * @ignore
+ */
+LogsArchiveDestinationAzure.attributeTypeMap = {
+    container: {
+        baseName: "container",
+        type: "string",
+        required: true,
+    },
+    integration: {
+        baseName: "integration",
+        type: "LogsArchiveIntegrationAzure",
+        required: true,
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    storageAccount: {
+        baseName: "storage_account",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsArchiveDestinationAzureType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveDestinationAzure.js.map
+
+/***/ }),
+
+/***/ 41580:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveDestinationGCS = void 0;
+/**
+ * The GCS archive destination.
+ */
+class LogsArchiveDestinationGCS {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveDestinationGCS.attributeTypeMap;
+    }
+}
+exports.LogsArchiveDestinationGCS = LogsArchiveDestinationGCS;
+/**
+ * @ignore
+ */
+LogsArchiveDestinationGCS.attributeTypeMap = {
+    bucket: {
+        baseName: "bucket",
+        type: "string",
+        required: true,
+    },
+    integration: {
+        baseName: "integration",
+        type: "LogsArchiveIntegrationGCS",
+        required: true,
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsArchiveDestinationGCSType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveDestinationGCS.js.map
+
+/***/ }),
+
+/***/ 16026:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveDestinationS3 = void 0;
+/**
+ * The S3 archive destination.
+ */
+class LogsArchiveDestinationS3 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveDestinationS3.attributeTypeMap;
+    }
+}
+exports.LogsArchiveDestinationS3 = LogsArchiveDestinationS3;
+/**
+ * @ignore
+ */
+LogsArchiveDestinationS3.attributeTypeMap = {
+    bucket: {
+        baseName: "bucket",
+        type: "string",
+        required: true,
+    },
+    integration: {
+        baseName: "integration",
+        type: "LogsArchiveIntegrationS3",
+        required: true,
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsArchiveDestinationS3Type",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveDestinationS3.js.map
+
+/***/ }),
+
+/***/ 38038:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveIntegrationAzure = void 0;
+/**
+ * The Azure archive's integration destination.
+ */
+class LogsArchiveIntegrationAzure {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveIntegrationAzure.attributeTypeMap;
+    }
+}
+exports.LogsArchiveIntegrationAzure = LogsArchiveIntegrationAzure;
+/**
+ * @ignore
+ */
+LogsArchiveIntegrationAzure.attributeTypeMap = {
+    clientId: {
+        baseName: "client_id",
+        type: "string",
+        required: true,
+    },
+    tenantId: {
+        baseName: "tenant_id",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveIntegrationAzure.js.map
+
+/***/ }),
+
+/***/ 5758:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveIntegrationGCS = void 0;
+/**
+ * The GCS archive's integration destination.
+ */
+class LogsArchiveIntegrationGCS {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveIntegrationGCS.attributeTypeMap;
+    }
+}
+exports.LogsArchiveIntegrationGCS = LogsArchiveIntegrationGCS;
+/**
+ * @ignore
+ */
+LogsArchiveIntegrationGCS.attributeTypeMap = {
+    clientEmail: {
+        baseName: "client_email",
+        type: "string",
+        required: true,
+    },
+    projectId: {
+        baseName: "project_id",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveIntegrationGCS.js.map
+
+/***/ }),
+
+/***/ 29944:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveIntegrationS3 = void 0;
+/**
+ * The S3 Archive's integration destination.
+ */
+class LogsArchiveIntegrationS3 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveIntegrationS3.attributeTypeMap;
+    }
+}
+exports.LogsArchiveIntegrationS3 = LogsArchiveIntegrationS3;
+/**
+ * @ignore
+ */
+LogsArchiveIntegrationS3.attributeTypeMap = {
+    accountId: {
+        baseName: "account_id",
+        type: "string",
+        required: true,
+    },
+    roleName: {
+        baseName: "role_name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveIntegrationS3.js.map
+
+/***/ }),
+
+/***/ 85822:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveOrder = void 0;
+/**
+ * A ordered list of archive IDs.
+ */
+class LogsArchiveOrder {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveOrder.attributeTypeMap;
+    }
+}
+exports.LogsArchiveOrder = LogsArchiveOrder;
+/**
+ * @ignore
+ */
+LogsArchiveOrder.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsArchiveOrderDefinition",
+    },
+};
+//# sourceMappingURL=LogsArchiveOrder.js.map
+
+/***/ }),
+
+/***/ 4867:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveOrderAttributes = void 0;
+/**
+ * The attributes associated with the archive order.
+ */
+class LogsArchiveOrderAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveOrderAttributes.attributeTypeMap;
+    }
+}
+exports.LogsArchiveOrderAttributes = LogsArchiveOrderAttributes;
+/**
+ * @ignore
+ */
+LogsArchiveOrderAttributes.attributeTypeMap = {
+    archiveIds: {
+        baseName: "archive_ids",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveOrderAttributes.js.map
+
+/***/ }),
+
+/***/ 3766:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchiveOrderDefinition = void 0;
+/**
+ * The definition of an archive order.
+ */
+class LogsArchiveOrderDefinition {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchiveOrderDefinition.attributeTypeMap;
+    }
+}
+exports.LogsArchiveOrderDefinition = LogsArchiveOrderDefinition;
+/**
+ * @ignore
+ */
+LogsArchiveOrderDefinition.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsArchiveOrderAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsArchiveOrderDefinitionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsArchiveOrderDefinition.js.map
+
+/***/ }),
+
+/***/ 22175:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsArchives = void 0;
+/**
+ * The available archives.
+ */
+class LogsArchives {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsArchives.attributeTypeMap;
+    }
+}
+exports.LogsArchives = LogsArchives;
+/**
+ * @ignore
+ */
+LogsArchives.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsArchives.js.map
+
+/***/ }),
+
+/***/ 11424:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsCompute = void 0;
+/**
+ * A compute rule to compute metrics or timeseries
+ */
+class LogsCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsCompute.attributeTypeMap;
+    }
+}
+exports.LogsCompute = LogsCompute;
+/**
+ * @ignore
+ */
+LogsCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "LogsAggregationFunction",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsComputeType",
+    },
+};
+//# sourceMappingURL=LogsCompute.js.map
+
+/***/ }),
+
+/***/ 39205:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsGroupBy = void 0;
+/**
+ * A group by rule
+ */
+class LogsGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsGroupBy.attributeTypeMap;
+    }
+}
+exports.LogsGroupBy = LogsGroupBy;
+/**
+ * @ignore
+ */
+LogsGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    histogram: {
+        baseName: "histogram",
+        type: "LogsGroupByHistogram",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    missing: {
+        baseName: "missing",
+        type: "LogsGroupByMissing",
+    },
+    sort: {
+        baseName: "sort",
+        type: "LogsAggregateSort",
+    },
+    total: {
+        baseName: "total",
+        type: "LogsGroupByTotal",
+    },
+};
+//# sourceMappingURL=LogsGroupBy.js.map
+
+/***/ }),
+
+/***/ 12097:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsGroupByHistogram = void 0;
+/**
+ * Used to perform a histogram computation (only for measure facets).
+ * Note: at most 100 buckets are allowed, the number of buckets is (max - min)/interval.
+ */
+class LogsGroupByHistogram {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsGroupByHistogram.attributeTypeMap;
+    }
+}
+exports.LogsGroupByHistogram = LogsGroupByHistogram;
+/**
+ * @ignore
+ */
+LogsGroupByHistogram.attributeTypeMap = {
+    interval: {
+        baseName: "interval",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    max: {
+        baseName: "max",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    min: {
+        baseName: "min",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=LogsGroupByHistogram.js.map
+
+/***/ }),
+
+/***/ 28381:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListRequest = void 0;
+/**
+ * The request for a logs list.
+ */
+class LogsListRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListRequest.attributeTypeMap;
+    }
+}
+exports.LogsListRequest = LogsListRequest;
+/**
+ * @ignore
+ */
+LogsListRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "LogsQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "LogsQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "LogsListRequestPage",
+    },
+    sort: {
+        baseName: "sort",
+        type: "LogsSort",
+    },
+};
+//# sourceMappingURL=LogsListRequest.js.map
+
+/***/ }),
+
+/***/ 49699:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListRequestPage = void 0;
+/**
+ * Paging attributes for listing logs.
+ */
+class LogsListRequestPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListRequestPage.attributeTypeMap;
+    }
+}
+exports.LogsListRequestPage = LogsListRequestPage;
+/**
+ * @ignore
+ */
+LogsListRequestPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=LogsListRequestPage.js.map
+
+/***/ }),
+
+/***/ 9491:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListResponse = void 0;
+/**
+ * Response object with all logs matching the request and pagination information.
+ */
+class LogsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListResponse.attributeTypeMap;
+    }
+}
+exports.LogsListResponse = LogsListResponse;
+/**
+ * @ignore
+ */
+LogsListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "LogsListResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "LogsResponseMetadata",
+    },
+};
+//# sourceMappingURL=LogsListResponse.js.map
+
+/***/ }),
+
+/***/ 48922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsListResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class LogsListResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsListResponseLinks.attributeTypeMap;
+    }
+}
+exports.LogsListResponseLinks = LogsListResponseLinks;
+/**
+ * @ignore
+ */
+LogsListResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsListResponseLinks.js.map
+
+/***/ }),
+
+/***/ 98941:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricCompute = void 0;
+/**
+ * The compute rule to compute the log-based metric.
+ */
+class LogsMetricCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricCompute.attributeTypeMap;
+    }
+}
+exports.LogsMetricCompute = LogsMetricCompute;
+/**
+ * @ignore
+ */
+LogsMetricCompute.attributeTypeMap = {
+    aggregationType: {
+        baseName: "aggregation_type",
+        type: "LogsMetricComputeAggregationType",
+        required: true,
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricCompute.js.map
+
+/***/ }),
+
+/***/ 99884:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricCreateAttributes = void 0;
+/**
+ * The object describing the Datadog log-based metric to create.
+ */
+class LogsMetricCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricCreateAttributes.attributeTypeMap;
+    }
+}
+exports.LogsMetricCreateAttributes = LogsMetricCreateAttributes;
+/**
+ * @ignore
+ */
+LogsMetricCreateAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "LogsMetricCompute",
+        required: true,
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsMetricFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsMetricCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 37857:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricCreateData = void 0;
+/**
+ * The new log-based metric properties.
+ */
+class LogsMetricCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricCreateData.attributeTypeMap;
+    }
+}
+exports.LogsMetricCreateData = LogsMetricCreateData;
+/**
+ * @ignore
+ */
+LogsMetricCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsMetricCreateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsMetricType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsMetricCreateData.js.map
+
+/***/ }),
+
+/***/ 73901:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricCreateRequest = void 0;
+/**
+ * The new log-based metric body.
+ */
+class LogsMetricCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricCreateRequest.attributeTypeMap;
+    }
+}
+exports.LogsMetricCreateRequest = LogsMetricCreateRequest;
+/**
+ * @ignore
+ */
+LogsMetricCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsMetricCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsMetricCreateRequest.js.map
+
+/***/ }),
+
+/***/ 78108:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricFilter = void 0;
+/**
+ * The log-based metric filter. Logs matching this filter will be aggregated in this metric.
+ */
+class LogsMetricFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricFilter.attributeTypeMap;
+    }
+}
+exports.LogsMetricFilter = LogsMetricFilter;
+/**
+ * @ignore
+ */
+LogsMetricFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricFilter.js.map
+
+/***/ }),
+
+/***/ 13332:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricGroupBy = void 0;
+/**
+ * A group by rule.
+ */
+class LogsMetricGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricGroupBy.attributeTypeMap;
+    }
+}
+exports.LogsMetricGroupBy = LogsMetricGroupBy;
+/**
+ * @ignore
+ */
+LogsMetricGroupBy.attributeTypeMap = {
+    path: {
+        baseName: "path",
+        type: "string",
+        required: true,
+    },
+    tagName: {
+        baseName: "tag_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricGroupBy.js.map
+
+/***/ }),
+
+/***/ 76466:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponse = void 0;
+/**
+ * The log-based metric object.
+ */
+class LogsMetricResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponse.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponse = LogsMetricResponse;
+/**
+ * @ignore
+ */
+LogsMetricResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsMetricResponseData",
+    },
+};
+//# sourceMappingURL=LogsMetricResponse.js.map
+
+/***/ }),
+
+/***/ 81885:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponseAttributes = void 0;
+/**
+ * The object describing a Datadog log-based metric.
+ */
+class LogsMetricResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponseAttributes.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponseAttributes = LogsMetricResponseAttributes;
+/**
+ * @ignore
+ */
+LogsMetricResponseAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "LogsMetricResponseCompute",
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsMetricResponseFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsMetricResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 1295:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponseCompute = void 0;
+/**
+ * The compute rule to compute the log-based metric.
+ */
+class LogsMetricResponseCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponseCompute.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponseCompute = LogsMetricResponseCompute;
+/**
+ * @ignore
+ */
+LogsMetricResponseCompute.attributeTypeMap = {
+    aggregationType: {
+        baseName: "aggregation_type",
+        type: "LogsMetricResponseComputeAggregationType",
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricResponseCompute.js.map
+
+/***/ }),
+
+/***/ 3701:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponseData = void 0;
+/**
+ * The log-based metric properties.
+ */
+class LogsMetricResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponseData.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponseData = LogsMetricResponseData;
+/**
+ * @ignore
+ */
+LogsMetricResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsMetricResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "LogsMetricType",
+    },
+};
+//# sourceMappingURL=LogsMetricResponseData.js.map
+
+/***/ }),
+
+/***/ 2992:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponseFilter = void 0;
+/**
+ * The log-based metric filter. Logs matching this filter will be aggregated in this metric.
+ */
+class LogsMetricResponseFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponseFilter.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponseFilter = LogsMetricResponseFilter;
+/**
+ * @ignore
+ */
+LogsMetricResponseFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricResponseFilter.js.map
+
+/***/ }),
+
+/***/ 16329:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricResponseGroupBy = void 0;
+/**
+ * A group by rule.
+ */
+class LogsMetricResponseGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricResponseGroupBy.attributeTypeMap;
+    }
+}
+exports.LogsMetricResponseGroupBy = LogsMetricResponseGroupBy;
+/**
+ * @ignore
+ */
+LogsMetricResponseGroupBy.attributeTypeMap = {
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+    tagName: {
+        baseName: "tag_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsMetricResponseGroupBy.js.map
+
+/***/ }),
+
+/***/ 83446:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricUpdateAttributes = void 0;
+/**
+ * The log-based metric properties that will be updated.
+ */
+class LogsMetricUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.LogsMetricUpdateAttributes = LogsMetricUpdateAttributes;
+/**
+ * @ignore
+ */
+LogsMetricUpdateAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "LogsMetricUpdateCompute",
+    },
+    filter: {
+        baseName: "filter",
+        type: "LogsMetricFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsMetricUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 26471:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricUpdateCompute = void 0;
+/**
+ * The compute rule to compute the log-based metric.
+ */
+class LogsMetricUpdateCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricUpdateCompute.attributeTypeMap;
+    }
+}
+exports.LogsMetricUpdateCompute = LogsMetricUpdateCompute;
+/**
+ * @ignore
+ */
+LogsMetricUpdateCompute.attributeTypeMap = {
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=LogsMetricUpdateCompute.js.map
+
+/***/ }),
+
+/***/ 75384:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricUpdateData = void 0;
+/**
+ * The new log-based metric properties.
+ */
+class LogsMetricUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricUpdateData.attributeTypeMap;
+    }
+}
+exports.LogsMetricUpdateData = LogsMetricUpdateData;
+/**
+ * @ignore
+ */
+LogsMetricUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "LogsMetricUpdateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "LogsMetricType",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsMetricUpdateData.js.map
+
+/***/ }),
+
+/***/ 95942:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricUpdateRequest = void 0;
+/**
+ * The new log-based metric body.
+ */
+class LogsMetricUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricUpdateRequest.attributeTypeMap;
+    }
+}
+exports.LogsMetricUpdateRequest = LogsMetricUpdateRequest;
+/**
+ * @ignore
+ */
+LogsMetricUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "LogsMetricUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=LogsMetricUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 8329:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsMetricsResponse = void 0;
+/**
+ * All the available log-based metric objects.
+ */
+class LogsMetricsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsMetricsResponse.attributeTypeMap;
+    }
+}
+exports.LogsMetricsResponse = LogsMetricsResponse;
+/**
+ * @ignore
+ */
+LogsMetricsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsMetricsResponse.js.map
+
+/***/ }),
+
+/***/ 96436:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsQueryFilter = void 0;
+/**
+ * The search and filter query settings
+ */
+class LogsQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsQueryFilter.attributeTypeMap;
+    }
+}
+exports.LogsQueryFilter = LogsQueryFilter;
+/**
+ * @ignore
+ */
+LogsQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    indexes: {
+        baseName: "indexes",
+        type: "Array",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    storageTier: {
+        baseName: "storage_tier",
+        type: "LogsStorageTier",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsQueryFilter.js.map
+
+/***/ }),
+
+/***/ 23413:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsQueryOptions = void 0;
+/**
+ * Global query options that are used during the query.
+ * Note: you should supply either timezone or time offset, but not both. Otherwise, the query will fail.
+ */
+class LogsQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsQueryOptions.attributeTypeMap;
+    }
+}
+exports.LogsQueryOptions = LogsQueryOptions;
+/**
+ * @ignore
+ */
+LogsQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "timeOffset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsQueryOptions.js.map
+
+/***/ }),
+
+/***/ 18298:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsResponseMetadata = void 0;
+/**
+ * The metadata associated with a request
+ */
+class LogsResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsResponseMetadata.attributeTypeMap;
+    }
+}
+exports.LogsResponseMetadata = LogsResponseMetadata;
+/**
+ * @ignore
+ */
+LogsResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "LogsResponseMetadataPage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "LogsAggregateResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=LogsResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 51020:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsResponseMetadataPage = void 0;
+/**
+ * Paging attributes.
+ */
+class LogsResponseMetadataPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsResponseMetadataPage.attributeTypeMap;
+    }
+}
+exports.LogsResponseMetadataPage = LogsResponseMetadataPage;
+/**
+ * @ignore
+ */
+LogsResponseMetadataPage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsResponseMetadataPage.js.map
+
+/***/ }),
+
+/***/ 6539:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LogsWarning = void 0;
+/**
+ * A warning message indicating something that went wrong with the query
+ */
+class LogsWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return LogsWarning.attributeTypeMap;
+    }
+}
+exports.LogsWarning = LogsWarning;
+/**
+ * @ignore
+ */
+LogsWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=LogsWarning.js.map
+
+/***/ }),
+
+/***/ 84952:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Metric = void 0;
+/**
+ * Object for a single metric tag configuration.
+ */
+class Metric {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Metric.attributeTypeMap;
+    }
+}
+exports.Metric = Metric;
+/**
+ * @ignore
+ */
+Metric.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricType",
+    },
+};
+//# sourceMappingURL=Metric.js.map
+
+/***/ }),
+
+/***/ 45010:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricAllTags = void 0;
+/**
+ * Object for a single metric's indexed tags.
+ */
+class MetricAllTags {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricAllTags.attributeTypeMap;
+    }
+}
+exports.MetricAllTags = MetricAllTags;
+/**
+ * @ignore
+ */
+MetricAllTags.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricAllTagsAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricType",
+    },
+};
+//# sourceMappingURL=MetricAllTags.js.map
+
+/***/ }),
+
+/***/ 3409:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricAllTagsAttributes = void 0;
+/**
+ * Object containing the definition of a metric's tags.
+ */
+class MetricAllTagsAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricAllTagsAttributes.attributeTypeMap;
+    }
+}
+exports.MetricAllTagsAttributes = MetricAllTagsAttributes;
+/**
+ * @ignore
+ */
+MetricAllTagsAttributes.attributeTypeMap = {
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricAllTagsAttributes.js.map
+
+/***/ }),
+
+/***/ 32303:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricAllTagsResponse = void 0;
+/**
+ * Response object that includes a single metric's indexed tags.
+ */
+class MetricAllTagsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricAllTagsResponse.attributeTypeMap;
+    }
+}
+exports.MetricAllTagsResponse = MetricAllTagsResponse;
+/**
+ * @ignore
+ */
+MetricAllTagsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricAllTags",
+    },
+};
+//# sourceMappingURL=MetricAllTagsResponse.js.map
+
+/***/ }),
+
+/***/ 23322:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigCreate = void 0;
+/**
+ * Request object to bulk configure tags for metrics matching the given prefix.
+ */
+class MetricBulkTagConfigCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigCreate.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigCreate = MetricBulkTagConfigCreate;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricBulkTagConfigCreateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MetricBulkConfigureTagsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigCreate.js.map
+
+/***/ }),
+
+/***/ 51970:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigCreateAttributes = void 0;
+/**
+ * Optional parameters for bulk creating metric tag configurations.
+ */
+class MetricBulkTagConfigCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigCreateAttributes.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigCreateAttributes = MetricBulkTagConfigCreateAttributes;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigCreateAttributes.attributeTypeMap = {
+    emails: {
+        baseName: "emails",
+        type: "Array",
+        format: "email",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 71969:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigCreateRequest = void 0;
+/**
+ * Wrapper object for a single bulk tag configuration request.
+ */
+class MetricBulkTagConfigCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigCreateRequest.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigCreateRequest = MetricBulkTagConfigCreateRequest;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricBulkTagConfigCreate",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigCreateRequest.js.map
+
+/***/ }),
+
+/***/ 57731:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigDelete = void 0;
+/**
+ * Request object to bulk delete all tag configurations for metrics matching the given prefix.
+ */
+class MetricBulkTagConfigDelete {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigDelete.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigDelete = MetricBulkTagConfigDelete;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigDelete.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricBulkTagConfigDeleteAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MetricBulkConfigureTagsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigDelete.js.map
+
+/***/ }),
+
+/***/ 52753:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigDeleteAttributes = void 0;
+/**
+ * Optional parameters for bulk deleting metric tag configurations.
+ */
+class MetricBulkTagConfigDeleteAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigDeleteAttributes.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigDeleteAttributes = MetricBulkTagConfigDeleteAttributes;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigDeleteAttributes.attributeTypeMap = {
+    emails: {
+        baseName: "emails",
+        type: "Array",
+        format: "email",
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigDeleteAttributes.js.map
+
+/***/ }),
+
+/***/ 16938:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigDeleteRequest = void 0;
+/**
+ * Wrapper object for a single bulk tag deletion request.
+ */
+class MetricBulkTagConfigDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigDeleteRequest.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigDeleteRequest = MetricBulkTagConfigDeleteRequest;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigDeleteRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricBulkTagConfigDelete",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 70115:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigResponse = void 0;
+/**
+ * Wrapper for a single bulk tag configuration status response.
+ */
+class MetricBulkTagConfigResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigResponse.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigResponse = MetricBulkTagConfigResponse;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricBulkTagConfigStatus",
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigResponse.js.map
+
+/***/ }),
+
+/***/ 13694:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigStatus = void 0;
+/**
+ * The status of a request to bulk configure metric tags.
+ * It contains the fields from the original request for reference.
+ */
+class MetricBulkTagConfigStatus {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigStatus.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigStatus = MetricBulkTagConfigStatus;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigStatus.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricBulkTagConfigStatusAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MetricBulkConfigureTagsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigStatus.js.map
+
+/***/ }),
+
+/***/ 92193:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricBulkTagConfigStatusAttributes = void 0;
+/**
+ * Optional attributes for the status of a bulk tag configuration request.
+ */
+class MetricBulkTagConfigStatusAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricBulkTagConfigStatusAttributes.attributeTypeMap;
+    }
+}
+exports.MetricBulkTagConfigStatusAttributes = MetricBulkTagConfigStatusAttributes;
+/**
+ * @ignore
+ */
+MetricBulkTagConfigStatusAttributes.attributeTypeMap = {
+    emails: {
+        baseName: "emails",
+        type: "Array",
+        format: "email",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricBulkTagConfigStatusAttributes.js.map
+
+/***/ }),
+
+/***/ 58987:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricCustomAggregation = void 0;
+/**
+ * A time and space aggregation combination for use in query.
+ */
+class MetricCustomAggregation {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricCustomAggregation.attributeTypeMap;
+    }
+}
+exports.MetricCustomAggregation = MetricCustomAggregation;
+/**
+ * @ignore
+ */
+MetricCustomAggregation.attributeTypeMap = {
+    space: {
+        baseName: "space",
+        type: "MetricCustomSpaceAggregation",
+        required: true,
+    },
+    time: {
+        baseName: "time",
+        type: "MetricCustomTimeAggregation",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricCustomAggregation.js.map
+
+/***/ }),
+
+/***/ 87169:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricDistinctVolume = void 0;
+/**
+ * Object for a single metric's distinct volume.
+ */
+class MetricDistinctVolume {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricDistinctVolume.attributeTypeMap;
+    }
+}
+exports.MetricDistinctVolume = MetricDistinctVolume;
+/**
+ * @ignore
+ */
+MetricDistinctVolume.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricDistinctVolumeAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricDistinctVolumeType",
+    },
+};
+//# sourceMappingURL=MetricDistinctVolume.js.map
+
+/***/ }),
+
+/***/ 76933:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricDistinctVolumeAttributes = void 0;
+/**
+ * Object containing the definition of a metric's distinct volume.
+ */
+class MetricDistinctVolumeAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricDistinctVolumeAttributes.attributeTypeMap;
+    }
+}
+exports.MetricDistinctVolumeAttributes = MetricDistinctVolumeAttributes;
+/**
+ * @ignore
+ */
+MetricDistinctVolumeAttributes.attributeTypeMap = {
+    distinctVolume: {
+        baseName: "distinct_volume",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MetricDistinctVolumeAttributes.js.map
+
+/***/ }),
+
+/***/ 40359:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricEstimate = void 0;
+/**
+ * Object for a metric cardinality estimate.
+ */
+class MetricEstimate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricEstimate.attributeTypeMap;
+    }
+}
+exports.MetricEstimate = MetricEstimate;
+/**
+ * @ignore
+ */
+MetricEstimate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricEstimateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricEstimateResourceType",
+    },
+};
+//# sourceMappingURL=MetricEstimate.js.map
+
+/***/ }),
+
+/***/ 84010:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricEstimateAttributes = void 0;
+/**
+ * Object containing the definition of a metric estimate attribute.
+ */
+class MetricEstimateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricEstimateAttributes.attributeTypeMap;
+    }
+}
+exports.MetricEstimateAttributes = MetricEstimateAttributes;
+/**
+ * @ignore
+ */
+MetricEstimateAttributes.attributeTypeMap = {
+    estimateType: {
+        baseName: "estimate_type",
+        type: "MetricEstimateType",
+    },
+    estimatedAt: {
+        baseName: "estimated_at",
+        type: "Date",
+        format: "date-time",
+    },
+    estimatedOutputSeries: {
+        baseName: "estimated_output_series",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MetricEstimateAttributes.js.map
+
+/***/ }),
+
+/***/ 48867:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricEstimateResponse = void 0;
+/**
+ * Response object that includes metric cardinality estimates.
+ */
+class MetricEstimateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricEstimateResponse.attributeTypeMap;
+    }
+}
+exports.MetricEstimateResponse = MetricEstimateResponse;
+/**
+ * @ignore
+ */
+MetricEstimateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricEstimate",
+    },
+};
+//# sourceMappingURL=MetricEstimateResponse.js.map
+
+/***/ }),
+
+/***/ 46888:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricIngestedIndexedVolume = void 0;
+/**
+ * Object for a single metric's ingested and indexed volume.
+ */
+class MetricIngestedIndexedVolume {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricIngestedIndexedVolume.attributeTypeMap;
+    }
+}
+exports.MetricIngestedIndexedVolume = MetricIngestedIndexedVolume;
+/**
+ * @ignore
+ */
+MetricIngestedIndexedVolume.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricIngestedIndexedVolumeAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricIngestedIndexedVolumeType",
+    },
+};
+//# sourceMappingURL=MetricIngestedIndexedVolume.js.map
+
+/***/ }),
+
+/***/ 64001:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricIngestedIndexedVolumeAttributes = void 0;
+/**
+ * Object containing the definition of a metric's ingested and indexed volume.
+ */
+class MetricIngestedIndexedVolumeAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricIngestedIndexedVolumeAttributes.attributeTypeMap;
+    }
+}
+exports.MetricIngestedIndexedVolumeAttributes = MetricIngestedIndexedVolumeAttributes;
+/**
+ * @ignore
+ */
+MetricIngestedIndexedVolumeAttributes.attributeTypeMap = {
+    indexedVolume: {
+        baseName: "indexed_volume",
+        type: "number",
+        format: "int64",
+    },
+    ingestedVolume: {
+        baseName: "ingested_volume",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=MetricIngestedIndexedVolumeAttributes.js.map
+
+/***/ }),
+
+/***/ 34853:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricMetadata = void 0;
+/**
+ * Metadata for the metric.
+ */
+class MetricMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricMetadata.attributeTypeMap;
+    }
+}
+exports.MetricMetadata = MetricMetadata;
+/**
+ * @ignore
+ */
+MetricMetadata.attributeTypeMap = {
+    origin: {
+        baseName: "origin",
+        type: "MetricOrigin",
+    },
+};
+//# sourceMappingURL=MetricMetadata.js.map
+
+/***/ }),
+
+/***/ 86261:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricOrigin = void 0;
+/**
+ * Metric origin information.
+ */
+class MetricOrigin {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricOrigin.attributeTypeMap;
+    }
+}
+exports.MetricOrigin = MetricOrigin;
+/**
+ * @ignore
+ */
+MetricOrigin.attributeTypeMap = {
+    metricType: {
+        baseName: "metric_type",
+        type: "number",
+        format: "int32",
+    },
+    product: {
+        baseName: "product",
+        type: "number",
+        format: "int32",
+    },
+    service: {
+        baseName: "service",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=MetricOrigin.js.map
+
+/***/ }),
+
+/***/ 51766:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricPayload = void 0;
+/**
+ * The metrics' payload.
+ */
+class MetricPayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricPayload.attributeTypeMap;
+    }
+}
+exports.MetricPayload = MetricPayload;
+/**
+ * @ignore
+ */
+MetricPayload.attributeTypeMap = {
+    series: {
+        baseName: "series",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricPayload.js.map
+
+/***/ }),
+
+/***/ 16497:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricPoint = void 0;
+/**
+ * A point object is of the form `{POSIX_timestamp, numeric_value}`.
+ */
+class MetricPoint {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricPoint.attributeTypeMap;
+    }
+}
+exports.MetricPoint = MetricPoint;
+/**
+ * @ignore
+ */
+MetricPoint.attributeTypeMap = {
+    timestamp: {
+        baseName: "timestamp",
+        type: "number",
+        format: "int64",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=MetricPoint.js.map
+
+/***/ }),
+
+/***/ 32929:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricResource = void 0;
+/**
+ * Metric resource.
+ */
+class MetricResource {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricResource.attributeTypeMap;
+    }
+}
+exports.MetricResource = MetricResource;
+/**
+ * @ignore
+ */
+MetricResource.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MetricResource.js.map
+
+/***/ }),
+
+/***/ 61417:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSeries = void 0;
+/**
+ * A metric to submit to Datadog.
+ * See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties).
+ */
+class MetricSeries {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSeries.attributeTypeMap;
+    }
+}
+exports.MetricSeries = MetricSeries;
+/**
+ * @ignore
+ */
+MetricSeries.attributeTypeMap = {
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    metadata: {
+        baseName: "metadata",
+        type: "MetricMetadata",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+        required: true,
+    },
+    points: {
+        baseName: "points",
+        type: "Array",
+        required: true,
+    },
+    resources: {
+        baseName: "resources",
+        type: "Array",
+    },
+    sourceTypeName: {
+        baseName: "source_type_name",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricIntakeType",
+        format: "int32",
+    },
+    unit: {
+        baseName: "unit",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MetricSeries.js.map
+
+/***/ }),
+
+/***/ 40266:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSuggestedTagsAndAggregations = void 0;
+/**
+ * Object for a single metric's actively queried tags and aggregations.
+ */
+class MetricSuggestedTagsAndAggregations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSuggestedTagsAndAggregations.attributeTypeMap;
+    }
+}
+exports.MetricSuggestedTagsAndAggregations = MetricSuggestedTagsAndAggregations;
+/**
+ * @ignore
+ */
+MetricSuggestedTagsAndAggregations.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricSuggestedTagsAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricActiveConfigurationType",
+    },
+};
+//# sourceMappingURL=MetricSuggestedTagsAndAggregations.js.map
+
+/***/ }),
+
+/***/ 64018:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSuggestedTagsAndAggregationsResponse = void 0;
+/**
+ * Response object that includes a single metric's actively queried tags and aggregations.
+ */
+class MetricSuggestedTagsAndAggregationsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSuggestedTagsAndAggregationsResponse.attributeTypeMap;
+    }
+}
+exports.MetricSuggestedTagsAndAggregationsResponse = MetricSuggestedTagsAndAggregationsResponse;
+/**
+ * @ignore
+ */
+MetricSuggestedTagsAndAggregationsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricSuggestedTagsAndAggregations",
+    },
+};
+//# sourceMappingURL=MetricSuggestedTagsAndAggregationsResponse.js.map
+
+/***/ }),
+
+/***/ 47764:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricSuggestedTagsAttributes = void 0;
+/**
+ * Object containing the definition of a metric's actively queried tags and aggregations.
+ */
+class MetricSuggestedTagsAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricSuggestedTagsAttributes.attributeTypeMap;
+    }
+}
+exports.MetricSuggestedTagsAttributes = MetricSuggestedTagsAttributes;
+/**
+ * @ignore
+ */
+MetricSuggestedTagsAttributes.attributeTypeMap = {
+    activeAggregations: {
+        baseName: "active_aggregations",
+        type: "Array",
+    },
+    activeTags: {
+        baseName: "active_tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricSuggestedTagsAttributes.js.map
+
+/***/ }),
+
+/***/ 37168:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfiguration = void 0;
+/**
+ * Object for a single metric tag configuration.
+ */
+class MetricTagConfiguration {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfiguration.attributeTypeMap;
+    }
+}
+exports.MetricTagConfiguration = MetricTagConfiguration;
+/**
+ * @ignore
+ */
+MetricTagConfiguration.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricTagConfigurationAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MetricTagConfigurationType",
+    },
+};
+//# sourceMappingURL=MetricTagConfiguration.js.map
+
+/***/ }),
+
+/***/ 35136:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationAttributes = void 0;
+/**
+ * Object containing the definition of a metric tag configuration attributes.
+ */
+class MetricTagConfigurationAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationAttributes.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationAttributes = MetricTagConfigurationAttributes;
+/**
+ * @ignore
+ */
+MetricTagConfigurationAttributes.attributeTypeMap = {
+    aggregations: {
+        baseName: "aggregations",
+        type: "Array",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    metricType: {
+        baseName: "metric_type",
+        type: "MetricTagConfigurationMetricTypes",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationAttributes.js.map
+
+/***/ }),
+
+/***/ 40833:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationCreateAttributes = void 0;
+/**
+ * Object containing the definition of a metric tag configuration to be created.
+ */
+class MetricTagConfigurationCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationCreateAttributes.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationCreateAttributes = MetricTagConfigurationCreateAttributes;
+/**
+ * @ignore
+ */
+MetricTagConfigurationCreateAttributes.attributeTypeMap = {
+    aggregations: {
+        baseName: "aggregations",
+        type: "Array",
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    metricType: {
+        baseName: "metric_type",
+        type: "MetricTagConfigurationMetricTypes",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 9852:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationCreateData = void 0;
+/**
+ * Object for a single metric to be configure tags on.
+ */
+class MetricTagConfigurationCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationCreateData.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationCreateData = MetricTagConfigurationCreateData;
+/**
+ * @ignore
+ */
+MetricTagConfigurationCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricTagConfigurationCreateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MetricTagConfigurationType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationCreateData.js.map
+
+/***/ }),
+
+/***/ 55357:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationCreateRequest = void 0;
+/**
+ * Request object that includes the metric that you would like to configure tags for.
+ */
+class MetricTagConfigurationCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationCreateRequest.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationCreateRequest = MetricTagConfigurationCreateRequest;
+/**
+ * @ignore
+ */
+MetricTagConfigurationCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricTagConfigurationCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationCreateRequest.js.map
+
+/***/ }),
+
+/***/ 96922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationResponse = void 0;
+/**
+ * Response object which includes a single metric's tag configuration.
+ */
+class MetricTagConfigurationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationResponse.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationResponse = MetricTagConfigurationResponse;
+/**
+ * @ignore
+ */
+MetricTagConfigurationResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricTagConfiguration",
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationResponse.js.map
+
+/***/ }),
+
+/***/ 56963:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationUpdateAttributes = void 0;
+/**
+ * Object containing the definition of a metric tag configuration to be updated.
+ */
+class MetricTagConfigurationUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationUpdateAttributes = MetricTagConfigurationUpdateAttributes;
+/**
+ * @ignore
+ */
+MetricTagConfigurationUpdateAttributes.attributeTypeMap = {
+    aggregations: {
+        baseName: "aggregations",
+        type: "Array",
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 57085:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationUpdateData = void 0;
+/**
+ * Object for a single tag configuration to be edited.
+ */
+class MetricTagConfigurationUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationUpdateData.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationUpdateData = MetricTagConfigurationUpdateData;
+/**
+ * @ignore
+ */
+MetricTagConfigurationUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MetricTagConfigurationUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MetricTagConfigurationType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationUpdateData.js.map
+
+/***/ }),
+
+/***/ 64370:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricTagConfigurationUpdateRequest = void 0;
+/**
+ * Request object that includes the metric that you would like to edit the tag configuration on.
+ */
+class MetricTagConfigurationUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricTagConfigurationUpdateRequest.attributeTypeMap;
+    }
+}
+exports.MetricTagConfigurationUpdateRequest = MetricTagConfigurationUpdateRequest;
+/**
+ * @ignore
+ */
+MetricTagConfigurationUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricTagConfigurationUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricTagConfigurationUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 63178:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricVolumesResponse = void 0;
+/**
+ * Response object which includes a single metric's volume.
+ */
+class MetricVolumesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricVolumesResponse.attributeTypeMap;
+    }
+}
+exports.MetricVolumesResponse = MetricVolumesResponse;
+/**
+ * @ignore
+ */
+MetricVolumesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MetricVolumes",
+    },
+};
+//# sourceMappingURL=MetricVolumesResponse.js.map
+
+/***/ }),
+
+/***/ 51095:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsAndMetricTagConfigurationsResponse = void 0;
+/**
+ * Response object that includes metrics and metric tag configurations.
+ */
+class MetricsAndMetricTagConfigurationsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsAndMetricTagConfigurationsResponse.attributeTypeMap;
+    }
+}
+exports.MetricsAndMetricTagConfigurationsResponse = MetricsAndMetricTagConfigurationsResponse;
+/**
+ * @ignore
+ */
+MetricsAndMetricTagConfigurationsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MetricsAndMetricTagConfigurationsResponse.js.map
+
+/***/ }),
+
+/***/ 85704:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsScalarQuery = void 0;
+/**
+ * An individual scalar metrics query.
+ */
+class MetricsScalarQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsScalarQuery.attributeTypeMap;
+    }
+}
+exports.MetricsScalarQuery = MetricsScalarQuery;
+/**
+ * @ignore
+ */
+MetricsScalarQuery.attributeTypeMap = {
+    aggregator: {
+        baseName: "aggregator",
+        type: "MetricsAggregator",
+        required: true,
+    },
+    dataSource: {
+        baseName: "data_source",
+        type: "MetricsDataSource",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricsScalarQuery.js.map
+
+/***/ }),
+
+/***/ 65066:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MetricsTimeseriesQuery = void 0;
+/**
+ * An individual timeseries metrics query.
+ */
+class MetricsTimeseriesQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MetricsTimeseriesQuery.attributeTypeMap;
+    }
+}
+exports.MetricsTimeseriesQuery = MetricsTimeseriesQuery;
+/**
+ * @ignore
+ */
+MetricsTimeseriesQuery.attributeTypeMap = {
+    dataSource: {
+        baseName: "data_source",
+        type: "MetricsDataSource",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=MetricsTimeseriesQuery.js.map
+
+/***/ }),
+
+/***/ 18770:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyAttributeCreateRequest = void 0;
+/**
+ * Policy and policy type for a monitor configuration policy.
+ */
+class MonitorConfigPolicyAttributeCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyAttributeCreateRequest.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyAttributeCreateRequest = MonitorConfigPolicyAttributeCreateRequest;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyAttributeCreateRequest.attributeTypeMap = {
+    policy: {
+        baseName: "policy",
+        type: "MonitorConfigPolicyPolicyCreateRequest",
+        required: true,
+    },
+    policyType: {
+        baseName: "policy_type",
+        type: "MonitorConfigPolicyType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyAttributeCreateRequest.js.map
+
+/***/ }),
+
+/***/ 50562:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyAttributeEditRequest = void 0;
+/**
+ * Policy and policy type for a monitor configuration policy.
+ */
+class MonitorConfigPolicyAttributeEditRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyAttributeEditRequest.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyAttributeEditRequest = MonitorConfigPolicyAttributeEditRequest;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyAttributeEditRequest.attributeTypeMap = {
+    policy: {
+        baseName: "policy",
+        type: "MonitorConfigPolicyPolicy",
+        required: true,
+    },
+    policyType: {
+        baseName: "policy_type",
+        type: "MonitorConfigPolicyType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyAttributeEditRequest.js.map
+
+/***/ }),
+
+/***/ 61140:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyAttributeResponse = void 0;
+/**
+ * Policy and policy type for a monitor configuration policy.
+ */
+class MonitorConfigPolicyAttributeResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyAttributeResponse.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyAttributeResponse = MonitorConfigPolicyAttributeResponse;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyAttributeResponse.attributeTypeMap = {
+    policy: {
+        baseName: "policy",
+        type: "MonitorConfigPolicyPolicy",
+    },
+    policyType: {
+        baseName: "policy_type",
+        type: "MonitorConfigPolicyType",
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyAttributeResponse.js.map
+
+/***/ }),
+
+/***/ 26969:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyCreateData = void 0;
+/**
+ * A monitor configuration policy data.
+ */
+class MonitorConfigPolicyCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyCreateData.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyCreateData = MonitorConfigPolicyCreateData;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MonitorConfigPolicyAttributeCreateRequest",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorConfigPolicyResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyCreateData.js.map
+
+/***/ }),
+
+/***/ 47751:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyCreateRequest = void 0;
+/**
+ * Request for creating a monitor configuration policy.
+ */
+class MonitorConfigPolicyCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyCreateRequest.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyCreateRequest = MonitorConfigPolicyCreateRequest;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MonitorConfigPolicyCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyCreateRequest.js.map
+
+/***/ }),
+
+/***/ 79315:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyEditData = void 0;
+/**
+ * A monitor configuration policy data.
+ */
+class MonitorConfigPolicyEditData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyEditData.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyEditData = MonitorConfigPolicyEditData;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyEditData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MonitorConfigPolicyAttributeEditRequest",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorConfigPolicyResourceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyEditData.js.map
+
+/***/ }),
+
+/***/ 96257:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyEditRequest = void 0;
+/**
+ * Request for editing a monitor configuration policy.
+ */
+class MonitorConfigPolicyEditRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyEditRequest.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyEditRequest = MonitorConfigPolicyEditRequest;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyEditRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MonitorConfigPolicyEditData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyEditRequest.js.map
+
+/***/ }),
+
+/***/ 55293:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyListResponse = void 0;
+/**
+ * Response for retrieving all monitor configuration policies.
+ */
+class MonitorConfigPolicyListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyListResponse.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyListResponse = MonitorConfigPolicyListResponse;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyListResponse.js.map
+
+/***/ }),
+
+/***/ 9074:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyResponse = void 0;
+/**
+ * Response for retrieving a monitor configuration policy.
+ */
+class MonitorConfigPolicyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyResponse.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyResponse = MonitorConfigPolicyResponse;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MonitorConfigPolicyResponseData",
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyResponse.js.map
+
+/***/ }),
+
+/***/ 65387:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyResponseData = void 0;
+/**
+ * A monitor configuration policy data.
+ */
+class MonitorConfigPolicyResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyResponseData.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyResponseData = MonitorConfigPolicyResponseData;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MonitorConfigPolicyAttributeResponse",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorConfigPolicyResourceType",
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyResponseData.js.map
+
+/***/ }),
+
+/***/ 29376:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyTagPolicy = void 0;
+/**
+ * Tag attributes of a monitor configuration policy.
+ */
+class MonitorConfigPolicyTagPolicy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyTagPolicy.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyTagPolicy = MonitorConfigPolicyTagPolicy;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyTagPolicy.attributeTypeMap = {
+    tagKey: {
+        baseName: "tag_key",
+        type: "string",
+    },
+    tagKeyRequired: {
+        baseName: "tag_key_required",
+        type: "boolean",
+    },
+    validTagValues: {
+        baseName: "valid_tag_values",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyTagPolicy.js.map
+
+/***/ }),
+
+/***/ 21363:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorConfigPolicyTagPolicyCreateRequest = void 0;
+/**
+ * Tag attributes of a monitor configuration policy.
+ */
+class MonitorConfigPolicyTagPolicyCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorConfigPolicyTagPolicyCreateRequest.attributeTypeMap;
+    }
+}
+exports.MonitorConfigPolicyTagPolicyCreateRequest = MonitorConfigPolicyTagPolicyCreateRequest;
+/**
+ * @ignore
+ */
+MonitorConfigPolicyTagPolicyCreateRequest.attributeTypeMap = {
+    tagKey: {
+        baseName: "tag_key",
+        type: "string",
+        required: true,
+    },
+    tagKeyRequired: {
+        baseName: "tag_key_required",
+        type: "boolean",
+        required: true,
+    },
+    validTagValues: {
+        baseName: "valid_tag_values",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=MonitorConfigPolicyTagPolicyCreateRequest.js.map
+
+/***/ }),
+
+/***/ 85458:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorDowntimeMatchResponse = void 0;
+/**
+ * Response for retrieving all downtime matches for a monitor.
+ */
+class MonitorDowntimeMatchResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorDowntimeMatchResponse.attributeTypeMap;
+    }
+}
+exports.MonitorDowntimeMatchResponse = MonitorDowntimeMatchResponse;
+/**
+ * @ignore
+ */
+MonitorDowntimeMatchResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "DowntimeMeta",
+    },
+};
+//# sourceMappingURL=MonitorDowntimeMatchResponse.js.map
+
+/***/ }),
+
+/***/ 3781:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorDowntimeMatchResponseAttributes = void 0;
+/**
+ * Downtime match details.
+ */
+class MonitorDowntimeMatchResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorDowntimeMatchResponseAttributes.attributeTypeMap;
+    }
+}
+exports.MonitorDowntimeMatchResponseAttributes = MonitorDowntimeMatchResponseAttributes;
+/**
+ * @ignore
+ */
+MonitorDowntimeMatchResponseAttributes.attributeTypeMap = {
+    end: {
+        baseName: "end",
+        type: "Date",
+        format: "date-time",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    scope: {
+        baseName: "scope",
+        type: "string",
+    },
+    start: {
+        baseName: "start",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=MonitorDowntimeMatchResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 93462:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorDowntimeMatchResponseData = void 0;
+/**
+ * A downtime match.
+ */
+class MonitorDowntimeMatchResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorDowntimeMatchResponseData.attributeTypeMap;
+    }
+}
+exports.MonitorDowntimeMatchResponseData = MonitorDowntimeMatchResponseData;
+/**
+ * @ignore
+ */
+MonitorDowntimeMatchResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MonitorDowntimeMatchResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "MonitorDowntimeMatchResourceType",
+    },
+};
+//# sourceMappingURL=MonitorDowntimeMatchResponseData.js.map
+
+/***/ }),
+
+/***/ 74936:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MonitorType = void 0;
+/**
+ * Attributes from the monitor that triggered the event.
+ */
+class MonitorType {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MonitorType.attributeTypeMap;
+    }
+}
+exports.MonitorType = MonitorType;
+/**
+ * @ignore
+ */
+MonitorType.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        format: "int64",
+    },
+    groupStatus: {
+        baseName: "group_status",
+        type: "number",
+        format: "int32",
+    },
+    groups: {
+        baseName: "groups",
+        type: "Array",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    modified: {
+        baseName: "modified",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    templatedName: {
+        baseName: "templated_name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=MonitorType.js.map
+
+/***/ }),
+
+/***/ 41891:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingRequest = void 0;
+/**
+ * The new mute finding request.
+ */
+class MuteFindingRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingRequest.attributeTypeMap;
+    }
+}
+exports.MuteFindingRequest = MuteFindingRequest;
+/**
+ * @ignore
+ */
+MuteFindingRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MuteFindingRequestData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MuteFindingRequest.js.map
+
+/***/ }),
+
+/***/ 37731:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingRequestAttributes = void 0;
+/**
+ * The mute properties to be updated.
+ */
+class MuteFindingRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingRequestAttributes.attributeTypeMap;
+    }
+}
+exports.MuteFindingRequestAttributes = MuteFindingRequestAttributes;
+/**
+ * @ignore
+ */
+MuteFindingRequestAttributes.attributeTypeMap = {
+    mute: {
+        baseName: "mute",
+        type: "MuteFindingRequestProperties",
+        required: true,
+    },
+};
+//# sourceMappingURL=MuteFindingRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 5064:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingRequestData = void 0;
+/**
+ * Data object containing the new mute properties of the finding.
+ */
+class MuteFindingRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingRequestData.attributeTypeMap;
+    }
+}
+exports.MuteFindingRequestData = MuteFindingRequestData;
+/**
+ * @ignore
+ */
+MuteFindingRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MuteFindingRequestAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "FindingType",
+        required: true,
+    },
+};
+//# sourceMappingURL=MuteFindingRequestData.js.map
+
+/***/ }),
+
+/***/ 47455:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingRequestProperties = void 0;
+/**
+ * Object containing the new mute properties of the finding.
+ */
+class MuteFindingRequestProperties {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingRequestProperties.attributeTypeMap;
+    }
+}
+exports.MuteFindingRequestProperties = MuteFindingRequestProperties;
+/**
+ * @ignore
+ */
+MuteFindingRequestProperties.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    expirationDate: {
+        baseName: "expiration_date",
+        type: "number",
+        format: "int64",
+    },
+    muted: {
+        baseName: "muted",
+        type: "boolean",
+        required: true,
+    },
+    reason: {
+        baseName: "reason",
+        type: "FindingMuteReason",
+        required: true,
+    },
+};
+//# sourceMappingURL=MuteFindingRequestProperties.js.map
+
+/***/ }),
+
+/***/ 56552:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingResponse = void 0;
+/**
+ * The expected response schema.
+ */
+class MuteFindingResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingResponse.attributeTypeMap;
+    }
+}
+exports.MuteFindingResponse = MuteFindingResponse;
+/**
+ * @ignore
+ */
+MuteFindingResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "MuteFindingResponseData",
+        required: true,
+    },
+};
+//# sourceMappingURL=MuteFindingResponse.js.map
+
+/***/ }),
+
+/***/ 13529:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingResponseAttributes = void 0;
+/**
+ * The JSON:API attributes of the finding.
+ */
+class MuteFindingResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingResponseAttributes.attributeTypeMap;
+    }
+}
+exports.MuteFindingResponseAttributes = MuteFindingResponseAttributes;
+/**
+ * @ignore
+ */
+MuteFindingResponseAttributes.attributeTypeMap = {
+    evaluation: {
+        baseName: "evaluation",
+        type: "FindingEvaluation",
+    },
+    evaluationChangedAt: {
+        baseName: "evaluation_changed_at",
+        type: "number",
+        format: "int64",
+    },
+    mute: {
+        baseName: "mute",
+        type: "MuteFindingResponseProperties",
+    },
+    resource: {
+        baseName: "resource",
+        type: "string",
+    },
+    resourceDiscoveryDate: {
+        baseName: "resource_discovery_date",
+        type: "number",
+        format: "int64",
+    },
+    resourceType: {
+        baseName: "resource_type",
+        type: "string",
+    },
+    rule: {
+        baseName: "rule",
+        type: "FindingRule",
+    },
+    status: {
+        baseName: "status",
+        type: "FindingStatus",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=MuteFindingResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 92148:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingResponseData = void 0;
+/**
+ * Data object containing the updated finding.
+ */
+class MuteFindingResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingResponseData.attributeTypeMap;
+    }
+}
+exports.MuteFindingResponseData = MuteFindingResponseData;
+/**
+ * @ignore
+ */
+MuteFindingResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "MuteFindingResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "FindingType",
+    },
+};
+//# sourceMappingURL=MuteFindingResponseData.js.map
+
+/***/ }),
+
+/***/ 25934:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.MuteFindingResponseProperties = void 0;
+/**
+ * Information about the mute status of this finding.
+ */
+class MuteFindingResponseProperties {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return MuteFindingResponseProperties.attributeTypeMap;
+    }
+}
+exports.MuteFindingResponseProperties = MuteFindingResponseProperties;
+/**
+ * @ignore
+ */
+MuteFindingResponseProperties.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    expirationDate: {
+        baseName: "expiration_date",
+        type: "number",
+        format: "int64",
+    },
+    muted: {
+        baseName: "muted",
+        type: "boolean",
+    },
+    reason: {
+        baseName: "reason",
+        type: "FindingMuteReason",
+    },
+};
+//# sourceMappingURL=MuteFindingResponseProperties.js.map
+
+/***/ }),
+
+/***/ 86187:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NullableRelationshipToUser = void 0;
+/**
+ * Relationship to user.
+ */
+class NullableRelationshipToUser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NullableRelationshipToUser.attributeTypeMap;
+    }
+}
+exports.NullableRelationshipToUser = NullableRelationshipToUser;
+/**
+ * @ignore
+ */
+NullableRelationshipToUser.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "NullableRelationshipToUserData",
+        required: true,
+    },
+};
+//# sourceMappingURL=NullableRelationshipToUser.js.map
+
+/***/ }),
+
+/***/ 12695:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.NullableRelationshipToUserData = void 0;
+/**
+ * Relationship to user object.
+ */
+class NullableRelationshipToUserData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return NullableRelationshipToUserData.attributeTypeMap;
+    }
+}
+exports.NullableRelationshipToUserData = NullableRelationshipToUserData;
+/**
+ * @ignore
+ */
+NullableRelationshipToUserData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+        required: true,
+    },
+};
+//# sourceMappingURL=NullableRelationshipToUserData.js.map
+
+/***/ }),
+
+/***/ 54700:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ObjectSerializer = void 0;
+const APIErrorResponse_1 = __webpack_require__(15470);
+const APIKeyCreateAttributes_1 = __webpack_require__(57428);
+const APIKeyCreateData_1 = __webpack_require__(75515);
+const APIKeyCreateRequest_1 = __webpack_require__(34427);
+const APIKeyRelationships_1 = __webpack_require__(76728);
+const APIKeyResponse_1 = __webpack_require__(27678);
+const APIKeyUpdateAttributes_1 = __webpack_require__(93343);
+const APIKeyUpdateData_1 = __webpack_require__(58080);
+const APIKeyUpdateRequest_1 = __webpack_require__(86803);
+const APIKeysResponse_1 = __webpack_require__(84727);
+const ApplicationKeyCreateAttributes_1 = __webpack_require__(93761);
+const ApplicationKeyCreateData_1 = __webpack_require__(79474);
+const ApplicationKeyCreateRequest_1 = __webpack_require__(97437);
+const ApplicationKeyRelationships_1 = __webpack_require__(26425);
+const ApplicationKeyResponse_1 = __webpack_require__(12266);
+const ApplicationKeyUpdateAttributes_1 = __webpack_require__(71834);
+const ApplicationKeyUpdateData_1 = __webpack_require__(35529);
+const ApplicationKeyUpdateRequest_1 = __webpack_require__(20950);
+const AuditLogsEvent_1 = __webpack_require__(76548);
+const AuditLogsEventAttributes_1 = __webpack_require__(84537);
+const AuditLogsEventsResponse_1 = __webpack_require__(65051);
+const AuditLogsQueryFilter_1 = __webpack_require__(98263);
+const AuditLogsQueryOptions_1 = __webpack_require__(73537);
+const AuditLogsQueryPageOptions_1 = __webpack_require__(55633);
+const AuditLogsResponseLinks_1 = __webpack_require__(67447);
+const AuditLogsResponseMetadata_1 = __webpack_require__(35495);
+const AuditLogsResponsePage_1 = __webpack_require__(75629);
+const AuditLogsSearchEventsRequest_1 = __webpack_require__(87612);
+const AuditLogsWarning_1 = __webpack_require__(7214);
+const AuthNMapping_1 = __webpack_require__(14571);
+const AuthNMappingAttributes_1 = __webpack_require__(41148);
+const AuthNMappingCreateAttributes_1 = __webpack_require__(81545);
+const AuthNMappingCreateData_1 = __webpack_require__(4578);
+const AuthNMappingCreateRelationships_1 = __webpack_require__(69064);
+const AuthNMappingCreateRequest_1 = __webpack_require__(36135);
+const AuthNMappingRelationships_1 = __webpack_require__(41957);
+const AuthNMappingResponse_1 = __webpack_require__(3206);
+const AuthNMappingUpdateAttributes_1 = __webpack_require__(48624);
+const AuthNMappingUpdateData_1 = __webpack_require__(69936);
+const AuthNMappingUpdateRelationships_1 = __webpack_require__(54982);
+const AuthNMappingUpdateRequest_1 = __webpack_require__(34564);
+const AuthNMappingsResponse_1 = __webpack_require__(14828);
+const CIAppAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(77422);
+const CIAppAggregateSort_1 = __webpack_require__(21472);
+const CIAppCIError_1 = __webpack_require__(37528);
+const CIAppCompute_1 = __webpack_require__(62331);
+const CIAppCreatePipelineEventRequest_1 = __webpack_require__(17773);
+const CIAppCreatePipelineEventRequestAttributes_1 = __webpack_require__(73892);
+const CIAppCreatePipelineEventRequestData_1 = __webpack_require__(97619);
+const CIAppEventAttributes_1 = __webpack_require__(51009);
+const CIAppGitInfo_1 = __webpack_require__(51287);
+const CIAppGroupByHistogram_1 = __webpack_require__(41595);
+const CIAppHostInfo_1 = __webpack_require__(33203);
+const CIAppPipelineEvent_1 = __webpack_require__(75211);
+const CIAppPipelineEventAttributes_1 = __webpack_require__(64559);
+const CIAppPipelineEventJob_1 = __webpack_require__(94194);
+const CIAppPipelineEventParentPipeline_1 = __webpack_require__(78093);
+const CIAppPipelineEventPipeline_1 = __webpack_require__(29598);
+const CIAppPipelineEventPreviousPipeline_1 = __webpack_require__(9966);
+const CIAppPipelineEventStage_1 = __webpack_require__(44961);
+const CIAppPipelineEventStep_1 = __webpack_require__(32485);
+const CIAppPipelineEventsRequest_1 = __webpack_require__(49384);
+const CIAppPipelineEventsResponse_1 = __webpack_require__(9211);
+const CIAppPipelinesAggregateRequest_1 = __webpack_require__(34100);
+const CIAppPipelinesAggregationBucketsResponse_1 = __webpack_require__(39081);
+const CIAppPipelinesAnalyticsAggregateResponse_1 = __webpack_require__(45629);
+const CIAppPipelinesBucketResponse_1 = __webpack_require__(272);
+const CIAppPipelinesGroupBy_1 = __webpack_require__(40802);
+const CIAppPipelinesQueryFilter_1 = __webpack_require__(35457);
+const CIAppQueryOptions_1 = __webpack_require__(15041);
+const CIAppQueryPageOptions_1 = __webpack_require__(56458);
+const CIAppResponseLinks_1 = __webpack_require__(38904);
+const CIAppResponseMetadata_1 = __webpack_require__(28558);
+const CIAppResponseMetadataWithPagination_1 = __webpack_require__(7323);
+const CIAppResponsePage_1 = __webpack_require__(93546);
+const CIAppTestEvent_1 = __webpack_require__(4657);
+const CIAppTestEventsRequest_1 = __webpack_require__(44728);
+const CIAppTestEventsResponse_1 = __webpack_require__(98667);
+const CIAppTestsAggregateRequest_1 = __webpack_require__(70915);
+const CIAppTestsAggregationBucketsResponse_1 = __webpack_require__(9539);
+const CIAppTestsAnalyticsAggregateResponse_1 = __webpack_require__(97182);
+const CIAppTestsBucketResponse_1 = __webpack_require__(21345);
+const CIAppTestsGroupBy_1 = __webpack_require__(63751);
+const CIAppTestsQueryFilter_1 = __webpack_require__(15703);
+const CIAppWarning_1 = __webpack_require__(66247);
+const ChargebackBreakdown_1 = __webpack_require__(77510);
+const CloudConfigurationComplianceRuleOptions_1 = __webpack_require__(92893);
+const CloudConfigurationRegoRule_1 = __webpack_require__(56027);
+const CloudConfigurationRuleCaseCreate_1 = __webpack_require__(76759);
+const CloudConfigurationRuleComplianceSignalOptions_1 = __webpack_require__(69719);
+const CloudConfigurationRuleCreatePayload_1 = __webpack_require__(53788);
+const CloudConfigurationRuleOptions_1 = __webpack_require__(10675);
+const CloudWorkloadSecurityAgentRuleAttributes_1 = __webpack_require__(10670);
+const CloudWorkloadSecurityAgentRuleCreateAttributes_1 = __webpack_require__(56409);
+const CloudWorkloadSecurityAgentRuleCreateData_1 = __webpack_require__(84544);
+const CloudWorkloadSecurityAgentRuleCreateRequest_1 = __webpack_require__(74770);
+const CloudWorkloadSecurityAgentRuleCreatorAttributes_1 = __webpack_require__(36687);
+const CloudWorkloadSecurityAgentRuleData_1 = __webpack_require__(15134);
+const CloudWorkloadSecurityAgentRuleResponse_1 = __webpack_require__(21513);
+const CloudWorkloadSecurityAgentRuleUpdateAttributes_1 = __webpack_require__(68095);
+const CloudWorkloadSecurityAgentRuleUpdateData_1 = __webpack_require__(57069);
+const CloudWorkloadSecurityAgentRuleUpdateRequest_1 = __webpack_require__(109);
+const CloudWorkloadSecurityAgentRuleUpdaterAttributes_1 = __webpack_require__(38935);
+const CloudWorkloadSecurityAgentRulesListResponse_1 = __webpack_require__(79890);
+const CloudflareAccountCreateRequest_1 = __webpack_require__(47372);
+const CloudflareAccountCreateRequestAttributes_1 = __webpack_require__(50120);
+const CloudflareAccountCreateRequestData_1 = __webpack_require__(80445);
+const CloudflareAccountResponse_1 = __webpack_require__(30492);
+const CloudflareAccountResponseAttributes_1 = __webpack_require__(51338);
+const CloudflareAccountResponseData_1 = __webpack_require__(39153);
+const CloudflareAccountUpdateRequest_1 = __webpack_require__(35997);
+const CloudflareAccountUpdateRequestAttributes_1 = __webpack_require__(15260);
+const CloudflareAccountUpdateRequestData_1 = __webpack_require__(57325);
+const CloudflareAccountsResponse_1 = __webpack_require__(75201);
+const ConfluentAccountCreateRequest_1 = __webpack_require__(37977);
+const ConfluentAccountCreateRequestAttributes_1 = __webpack_require__(51346);
+const ConfluentAccountCreateRequestData_1 = __webpack_require__(42838);
+const ConfluentAccountResourceAttributes_1 = __webpack_require__(11498);
+const ConfluentAccountResponse_1 = __webpack_require__(32597);
+const ConfluentAccountResponseAttributes_1 = __webpack_require__(48681);
+const ConfluentAccountResponseData_1 = __webpack_require__(1609);
+const ConfluentAccountUpdateRequest_1 = __webpack_require__(41538);
+const ConfluentAccountUpdateRequestAttributes_1 = __webpack_require__(31037);
+const ConfluentAccountUpdateRequestData_1 = __webpack_require__(34000);
+const ConfluentAccountsResponse_1 = __webpack_require__(57414);
+const ConfluentResourceRequest_1 = __webpack_require__(45377);
+const ConfluentResourceRequestAttributes_1 = __webpack_require__(67609);
+const ConfluentResourceRequestData_1 = __webpack_require__(88859);
+const ConfluentResourceResponse_1 = __webpack_require__(62073);
+const ConfluentResourceResponseAttributes_1 = __webpack_require__(83014);
+const ConfluentResourceResponseData_1 = __webpack_require__(36502);
+const ConfluentResourcesResponse_1 = __webpack_require__(52184);
+const CostByOrg_1 = __webpack_require__(95098);
+const CostByOrgAttributes_1 = __webpack_require__(53784);
+const CostByOrgResponse_1 = __webpack_require__(10179);
+const Creator_1 = __webpack_require__(50593);
+const DashboardListAddItemsRequest_1 = __webpack_require__(84295);
+const DashboardListAddItemsResponse_1 = __webpack_require__(21658);
+const DashboardListDeleteItemsRequest_1 = __webpack_require__(82847);
+const DashboardListDeleteItemsResponse_1 = __webpack_require__(17177);
+const DashboardListItem_1 = __webpack_require__(10361);
+const DashboardListItemRequest_1 = __webpack_require__(31713);
+const DashboardListItemResponse_1 = __webpack_require__(80943);
+const DashboardListItems_1 = __webpack_require__(49160);
+const DashboardListUpdateItemsRequest_1 = __webpack_require__(35029);
+const DashboardListUpdateItemsResponse_1 = __webpack_require__(40892);
+const DataScalarColumn_1 = __webpack_require__(76231);
+const DetailedFinding_1 = __webpack_require__(52529);
+const DetailedFindingAttributes_1 = __webpack_require__(92287);
+const DowntimeCreateRequest_1 = __webpack_require__(27698);
+const DowntimeCreateRequestAttributes_1 = __webpack_require__(51623);
+const DowntimeCreateRequestData_1 = __webpack_require__(66203);
+const DowntimeMeta_1 = __webpack_require__(45454);
+const DowntimeMetaPage_1 = __webpack_require__(87179);
+const DowntimeMonitorIdentifierId_1 = __webpack_require__(25438);
+const DowntimeMonitorIdentifierTags_1 = __webpack_require__(54533);
+const DowntimeMonitorIncludedAttributes_1 = __webpack_require__(1451);
+const DowntimeMonitorIncludedItem_1 = __webpack_require__(89807);
+const DowntimeRelationships_1 = __webpack_require__(89858);
+const DowntimeRelationshipsCreatedBy_1 = __webpack_require__(1450);
+const DowntimeRelationshipsCreatedByData_1 = __webpack_require__(62037);
+const DowntimeRelationshipsMonitor_1 = __webpack_require__(75995);
+const DowntimeRelationshipsMonitorData_1 = __webpack_require__(78565);
+const DowntimeResponse_1 = __webpack_require__(1385);
+const DowntimeResponseAttributes_1 = __webpack_require__(47932);
+const DowntimeResponseData_1 = __webpack_require__(58994);
+const DowntimeScheduleCurrentDowntimeResponse_1 = __webpack_require__(81192);
+const DowntimeScheduleOneTimeCreateUpdateRequest_1 = __webpack_require__(99458);
+const DowntimeScheduleOneTimeResponse_1 = __webpack_require__(19100);
+const DowntimeScheduleRecurrenceCreateUpdateRequest_1 = __webpack_require__(79876);
+const DowntimeScheduleRecurrenceResponse_1 = __webpack_require__(47487);
+const DowntimeScheduleRecurrencesCreateRequest_1 = __webpack_require__(77529);
+const DowntimeScheduleRecurrencesResponse_1 = __webpack_require__(46270);
+const DowntimeScheduleRecurrencesUpdateRequest_1 = __webpack_require__(79665);
+const DowntimeUpdateRequest_1 = __webpack_require__(4415);
+const DowntimeUpdateRequestAttributes_1 = __webpack_require__(14953);
+const DowntimeUpdateRequestData_1 = __webpack_require__(52026);
+const Event_1 = __webpack_require__(85329);
+const EventAttributes_1 = __webpack_require__(59879);
+const EventResponse_1 = __webpack_require__(45354);
+const EventResponseAttributes_1 = __webpack_require__(37263);
+const EventsCompute_1 = __webpack_require__(8423);
+const EventsGroupBy_1 = __webpack_require__(94041);
+const EventsGroupBySort_1 = __webpack_require__(46250);
+const EventsListRequest_1 = __webpack_require__(6746);
+const EventsListResponse_1 = __webpack_require__(68593);
+const EventsListResponseLinks_1 = __webpack_require__(99191);
+const EventsQueryFilter_1 = __webpack_require__(15693);
+const EventsQueryOptions_1 = __webpack_require__(9698);
+const EventsRequestPage_1 = __webpack_require__(81222);
+const EventsResponseMetadata_1 = __webpack_require__(26983);
+const EventsResponseMetadataPage_1 = __webpack_require__(79298);
+const EventsScalarQuery_1 = __webpack_require__(93544);
+const EventsSearch_1 = __webpack_require__(80259);
+const EventsTimeseriesQuery_1 = __webpack_require__(71052);
+const EventsWarning_1 = __webpack_require__(96650);
+const FastlyAccounResponseAttributes_1 = __webpack_require__(12286);
+const FastlyAccountCreateRequest_1 = __webpack_require__(91818);
+const FastlyAccountCreateRequestAttributes_1 = __webpack_require__(11182);
+const FastlyAccountCreateRequestData_1 = __webpack_require__(2677);
+const FastlyAccountResponse_1 = __webpack_require__(48124);
+const FastlyAccountResponseData_1 = __webpack_require__(9129);
+const FastlyAccountUpdateRequest_1 = __webpack_require__(32249);
+const FastlyAccountUpdateRequestAttributes_1 = __webpack_require__(46002);
+const FastlyAccountUpdateRequestData_1 = __webpack_require__(84283);
+const FastlyAccountsResponse_1 = __webpack_require__(55175);
+const FastlyService_1 = __webpack_require__(47291);
+const FastlyServiceAttributes_1 = __webpack_require__(96245);
+const FastlyServiceData_1 = __webpack_require__(6799);
+const FastlyServiceRequest_1 = __webpack_require__(14432);
+const FastlyServiceResponse_1 = __webpack_require__(53522);
+const FastlyServicesResponse_1 = __webpack_require__(63984);
+const Finding_1 = __webpack_require__(60265);
+const FindingAttributes_1 = __webpack_require__(70960);
+const FindingMute_1 = __webpack_require__(14498);
+const FindingRule_1 = __webpack_require__(5020);
+const FormulaLimit_1 = __webpack_require__(82360);
+const FullAPIKey_1 = __webpack_require__(64953);
+const FullAPIKeyAttributes_1 = __webpack_require__(64739);
+const FullApplicationKey_1 = __webpack_require__(29620);
+const FullApplicationKeyAttributes_1 = __webpack_require__(70763);
+const GCPSTSDelegateAccount_1 = __webpack_require__(59526);
+const GCPSTSDelegateAccountAttributes_1 = __webpack_require__(59221);
+const GCPSTSDelegateAccountResponse_1 = __webpack_require__(69215);
+const GCPSTSServiceAccount_1 = __webpack_require__(28441);
+const GCPSTSServiceAccountAttributes_1 = __webpack_require__(77479);
+const GCPSTSServiceAccountCreateRequest_1 = __webpack_require__(28275);
+const GCPSTSServiceAccountData_1 = __webpack_require__(80004);
+const GCPSTSServiceAccountResponse_1 = __webpack_require__(47407);
+const GCPSTSServiceAccountUpdateRequest_1 = __webpack_require__(1186);
+const GCPSTSServiceAccountUpdateRequestData_1 = __webpack_require__(20440);
+const GCPSTSServiceAccountsResponse_1 = __webpack_require__(45773);
+const GCPServiceAccountMeta_1 = __webpack_require__(61487);
+const GetFindingResponse_1 = __webpack_require__(97482);
+const GroupScalarColumn_1 = __webpack_require__(39553);
+const HTTPCIAppError_1 = __webpack_require__(81166);
+const HTTPCIAppErrors_1 = __webpack_require__(67414);
+const HTTPLogError_1 = __webpack_require__(35846);
+const HTTPLogErrors_1 = __webpack_require__(1563);
+const HTTPLogItem_1 = __webpack_require__(80158);
+const HourlyUsage_1 = __webpack_require__(44993);
+const HourlyUsageAttributes_1 = __webpack_require__(34589);
+const HourlyUsageMeasurement_1 = __webpack_require__(4073);
+const HourlyUsageMetadata_1 = __webpack_require__(73896);
+const HourlyUsagePagination_1 = __webpack_require__(43220);
+const HourlyUsageResponse_1 = __webpack_require__(91604);
+const IPAllowlistAttributes_1 = __webpack_require__(96993);
+const IPAllowlistData_1 = __webpack_require__(61559);
+const IPAllowlistEntry_1 = __webpack_require__(43922);
+const IPAllowlistEntryAttributes_1 = __webpack_require__(88201);
+const IPAllowlistEntryData_1 = __webpack_require__(2295);
+const IPAllowlistResponse_1 = __webpack_require__(5428);
+const IPAllowlistUpdateRequest_1 = __webpack_require__(71165);
+const IdPMetadataFormData_1 = __webpack_require__(4163);
+const IncidentAttachmentData_1 = __webpack_require__(72703);
+const IncidentAttachmentLinkAttributes_1 = __webpack_require__(85615);
+const IncidentAttachmentLinkAttributesAttachmentObject_1 = __webpack_require__(2525);
+const IncidentAttachmentPostmortemAttributes_1 = __webpack_require__(89947);
+const IncidentAttachmentRelationships_1 = __webpack_require__(99153);
+const IncidentAttachmentUpdateData_1 = __webpack_require__(83720);
+const IncidentAttachmentUpdateRequest_1 = __webpack_require__(42170);
+const IncidentAttachmentUpdateResponse_1 = __webpack_require__(21001);
+const IncidentAttachmentsPostmortemAttributesAttachmentObject_1 = __webpack_require__(44434);
+const IncidentAttachmentsResponse_1 = __webpack_require__(8756);
+const IncidentCreateAttributes_1 = __webpack_require__(66265);
+const IncidentCreateData_1 = __webpack_require__(85628);
+const IncidentCreateRelationships_1 = __webpack_require__(16720);
+const IncidentCreateRequest_1 = __webpack_require__(62686);
+const IncidentFieldAttributesMultipleValue_1 = __webpack_require__(93786);
+const IncidentFieldAttributesSingleValue_1 = __webpack_require__(53638);
+const IncidentIntegrationMetadataAttributes_1 = __webpack_require__(97197);
+const IncidentIntegrationMetadataCreateData_1 = __webpack_require__(47456);
+const IncidentIntegrationMetadataCreateRequest_1 = __webpack_require__(13074);
+const IncidentIntegrationMetadataListResponse_1 = __webpack_require__(59042);
+const IncidentIntegrationMetadataPatchData_1 = __webpack_require__(33243);
+const IncidentIntegrationMetadataPatchRequest_1 = __webpack_require__(57316);
+const IncidentIntegrationMetadataResponse_1 = __webpack_require__(8115);
+const IncidentIntegrationMetadataResponseData_1 = __webpack_require__(81843);
+const IncidentNotificationHandle_1 = __webpack_require__(48009);
+const IncidentResponse_1 = __webpack_require__(64051);
+const IncidentResponseAttributes_1 = __webpack_require__(53022);
+const IncidentResponseData_1 = __webpack_require__(45469);
+const IncidentResponseMeta_1 = __webpack_require__(97443);
+const IncidentResponseMetaPagination_1 = __webpack_require__(17114);
+const IncidentResponseRelationships_1 = __webpack_require__(24771);
+const IncidentSearchResponse_1 = __webpack_require__(72231);
+const IncidentSearchResponseAttributes_1 = __webpack_require__(29446);
+const IncidentSearchResponseData_1 = __webpack_require__(26411);
+const IncidentSearchResponseFacetsData_1 = __webpack_require__(2973);
+const IncidentSearchResponseFieldFacetData_1 = __webpack_require__(21682);
+const IncidentSearchResponseIncidentsData_1 = __webpack_require__(61548);
+const IncidentSearchResponseMeta_1 = __webpack_require__(16886);
+const IncidentSearchResponseNumericFacetData_1 = __webpack_require__(9475);
+const IncidentSearchResponseNumericFacetDataAggregates_1 = __webpack_require__(32185);
+const IncidentSearchResponsePropertyFieldFacetData_1 = __webpack_require__(63060);
+const IncidentSearchResponseUserFacetData_1 = __webpack_require__(52706);
+const IncidentServiceCreateAttributes_1 = __webpack_require__(6462);
+const IncidentServiceCreateData_1 = __webpack_require__(66621);
+const IncidentServiceCreateRequest_1 = __webpack_require__(40355);
+const IncidentServiceRelationships_1 = __webpack_require__(87083);
+const IncidentServiceResponse_1 = __webpack_require__(95541);
+const IncidentServiceResponseAttributes_1 = __webpack_require__(80298);
+const IncidentServiceResponseData_1 = __webpack_require__(68471);
+const IncidentServiceUpdateAttributes_1 = __webpack_require__(76403);
+const IncidentServiceUpdateData_1 = __webpack_require__(86480);
+const IncidentServiceUpdateRequest_1 = __webpack_require__(82634);
+const IncidentServicesResponse_1 = __webpack_require__(41099);
+const IncidentTeamCreateAttributes_1 = __webpack_require__(88320);
+const IncidentTeamCreateData_1 = __webpack_require__(90453);
+const IncidentTeamCreateRequest_1 = __webpack_require__(35992);
+const IncidentTeamRelationships_1 = __webpack_require__(11031);
+const IncidentTeamResponse_1 = __webpack_require__(512);
+const IncidentTeamResponseAttributes_1 = __webpack_require__(59050);
+const IncidentTeamResponseData_1 = __webpack_require__(58397);
+const IncidentTeamUpdateAttributes_1 = __webpack_require__(98537);
+const IncidentTeamUpdateData_1 = __webpack_require__(9831);
+const IncidentTeamUpdateRequest_1 = __webpack_require__(31335);
+const IncidentTeamsResponse_1 = __webpack_require__(57338);
+const IncidentTimelineCellMarkdownCreateAttributes_1 = __webpack_require__(48455);
+const IncidentTimelineCellMarkdownCreateAttributesContent_1 = __webpack_require__(48181);
+const IncidentTodoAnonymousAssignee_1 = __webpack_require__(86789);
+const IncidentTodoAttributes_1 = __webpack_require__(5973);
+const IncidentTodoCreateData_1 = __webpack_require__(55011);
+const IncidentTodoCreateRequest_1 = __webpack_require__(71609);
+const IncidentTodoListResponse_1 = __webpack_require__(21582);
+const IncidentTodoPatchData_1 = __webpack_require__(29754);
+const IncidentTodoPatchRequest_1 = __webpack_require__(67365);
+const IncidentTodoResponse_1 = __webpack_require__(88374);
+const IncidentTodoResponseData_1 = __webpack_require__(47835);
+const IncidentUpdateAttributes_1 = __webpack_require__(18527);
+const IncidentUpdateData_1 = __webpack_require__(18395);
+const IncidentUpdateRelationships_1 = __webpack_require__(96208);
+const IncidentUpdateRequest_1 = __webpack_require__(83383);
+const IncidentsResponse_1 = __webpack_require__(73601);
+const IntakePayloadAccepted_1 = __webpack_require__(34539);
+const JSONAPIErrorItem_1 = __webpack_require__(12078);
+const JSONAPIErrorResponse_1 = __webpack_require__(66657);
+const JiraIntegrationMetadata_1 = __webpack_require__(53579);
+const JiraIntegrationMetadataIssuesItem_1 = __webpack_require__(50608);
+const ListApplicationKeysResponse_1 = __webpack_require__(552);
+const ListDowntimesResponse_1 = __webpack_require__(95574);
+const ListFindingsMeta_1 = __webpack_require__(78425);
+const ListFindingsPage_1 = __webpack_require__(64745);
+const ListFindingsResponse_1 = __webpack_require__(80065);
+const Log_1 = __webpack_require__(46393);
+const LogAttributes_1 = __webpack_require__(7552);
+const LogsAggregateBucket_1 = __webpack_require__(86308);
+const LogsAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(13425);
+const LogsAggregateRequest_1 = __webpack_require__(47001);
+const LogsAggregateRequestPage_1 = __webpack_require__(87757);
+const LogsAggregateResponse_1 = __webpack_require__(98666);
+const LogsAggregateResponseData_1 = __webpack_require__(67227);
+const LogsAggregateSort_1 = __webpack_require__(37532);
+const LogsArchive_1 = __webpack_require__(46014);
+const LogsArchiveAttributes_1 = __webpack_require__(20872);
+const LogsArchiveCreateRequest_1 = __webpack_require__(77695);
+const LogsArchiveCreateRequestAttributes_1 = __webpack_require__(82598);
+const LogsArchiveCreateRequestDefinition_1 = __webpack_require__(69415);
+const LogsArchiveDefinition_1 = __webpack_require__(54195);
+const LogsArchiveDestinationAzure_1 = __webpack_require__(97475);
+const LogsArchiveDestinationGCS_1 = __webpack_require__(41580);
+const LogsArchiveDestinationS3_1 = __webpack_require__(16026);
+const LogsArchiveIntegrationAzure_1 = __webpack_require__(38038);
+const LogsArchiveIntegrationGCS_1 = __webpack_require__(5758);
+const LogsArchiveIntegrationS3_1 = __webpack_require__(29944);
+const LogsArchiveOrder_1 = __webpack_require__(85822);
+const LogsArchiveOrderAttributes_1 = __webpack_require__(4867);
+const LogsArchiveOrderDefinition_1 = __webpack_require__(3766);
+const LogsArchives_1 = __webpack_require__(22175);
+const LogsCompute_1 = __webpack_require__(11424);
+const LogsGroupBy_1 = __webpack_require__(39205);
+const LogsGroupByHistogram_1 = __webpack_require__(12097);
+const LogsListRequest_1 = __webpack_require__(28381);
+const LogsListRequestPage_1 = __webpack_require__(49699);
+const LogsListResponse_1 = __webpack_require__(9491);
+const LogsListResponseLinks_1 = __webpack_require__(48922);
+const LogsMetricCompute_1 = __webpack_require__(98941);
+const LogsMetricCreateAttributes_1 = __webpack_require__(99884);
+const LogsMetricCreateData_1 = __webpack_require__(37857);
+const LogsMetricCreateRequest_1 = __webpack_require__(73901);
+const LogsMetricFilter_1 = __webpack_require__(78108);
+const LogsMetricGroupBy_1 = __webpack_require__(13332);
+const LogsMetricResponse_1 = __webpack_require__(76466);
+const LogsMetricResponseAttributes_1 = __webpack_require__(81885);
+const LogsMetricResponseCompute_1 = __webpack_require__(1295);
+const LogsMetricResponseData_1 = __webpack_require__(3701);
+const LogsMetricResponseFilter_1 = __webpack_require__(2992);
+const LogsMetricResponseGroupBy_1 = __webpack_require__(16329);
+const LogsMetricUpdateAttributes_1 = __webpack_require__(83446);
+const LogsMetricUpdateCompute_1 = __webpack_require__(26471);
+const LogsMetricUpdateData_1 = __webpack_require__(75384);
+const LogsMetricUpdateRequest_1 = __webpack_require__(95942);
+const LogsMetricsResponse_1 = __webpack_require__(8329);
+const LogsQueryFilter_1 = __webpack_require__(96436);
+const LogsQueryOptions_1 = __webpack_require__(23413);
+const LogsResponseMetadata_1 = __webpack_require__(18298);
+const LogsResponseMetadataPage_1 = __webpack_require__(51020);
+const LogsWarning_1 = __webpack_require__(6539);
+const Metric_1 = __webpack_require__(84952);
+const MetricAllTags_1 = __webpack_require__(45010);
+const MetricAllTagsAttributes_1 = __webpack_require__(3409);
+const MetricAllTagsResponse_1 = __webpack_require__(32303);
+const MetricBulkTagConfigCreate_1 = __webpack_require__(23322);
+const MetricBulkTagConfigCreateAttributes_1 = __webpack_require__(51970);
+const MetricBulkTagConfigCreateRequest_1 = __webpack_require__(71969);
+const MetricBulkTagConfigDelete_1 = __webpack_require__(57731);
+const MetricBulkTagConfigDeleteAttributes_1 = __webpack_require__(52753);
+const MetricBulkTagConfigDeleteRequest_1 = __webpack_require__(16938);
+const MetricBulkTagConfigResponse_1 = __webpack_require__(70115);
+const MetricBulkTagConfigStatus_1 = __webpack_require__(13694);
+const MetricBulkTagConfigStatusAttributes_1 = __webpack_require__(92193);
+const MetricCustomAggregation_1 = __webpack_require__(58987);
+const MetricDistinctVolume_1 = __webpack_require__(87169);
+const MetricDistinctVolumeAttributes_1 = __webpack_require__(76933);
+const MetricEstimate_1 = __webpack_require__(40359);
+const MetricEstimateAttributes_1 = __webpack_require__(84010);
+const MetricEstimateResponse_1 = __webpack_require__(48867);
+const MetricIngestedIndexedVolume_1 = __webpack_require__(46888);
+const MetricIngestedIndexedVolumeAttributes_1 = __webpack_require__(64001);
+const MetricMetadata_1 = __webpack_require__(34853);
+const MetricOrigin_1 = __webpack_require__(86261);
+const MetricPayload_1 = __webpack_require__(51766);
+const MetricPoint_1 = __webpack_require__(16497);
+const MetricResource_1 = __webpack_require__(32929);
+const MetricSeries_1 = __webpack_require__(61417);
+const MetricSuggestedTagsAndAggregations_1 = __webpack_require__(40266);
+const MetricSuggestedTagsAndAggregationsResponse_1 = __webpack_require__(64018);
+const MetricSuggestedTagsAttributes_1 = __webpack_require__(47764);
+const MetricTagConfiguration_1 = __webpack_require__(37168);
+const MetricTagConfigurationAttributes_1 = __webpack_require__(35136);
+const MetricTagConfigurationCreateAttributes_1 = __webpack_require__(40833);
+const MetricTagConfigurationCreateData_1 = __webpack_require__(9852);
+const MetricTagConfigurationCreateRequest_1 = __webpack_require__(55357);
+const MetricTagConfigurationResponse_1 = __webpack_require__(96922);
+const MetricTagConfigurationUpdateAttributes_1 = __webpack_require__(56963);
+const MetricTagConfigurationUpdateData_1 = __webpack_require__(57085);
+const MetricTagConfigurationUpdateRequest_1 = __webpack_require__(64370);
+const MetricVolumesResponse_1 = __webpack_require__(63178);
+const MetricsAndMetricTagConfigurationsResponse_1 = __webpack_require__(51095);
+const MetricsScalarQuery_1 = __webpack_require__(85704);
+const MetricsTimeseriesQuery_1 = __webpack_require__(65066);
+const MonitorConfigPolicyAttributeCreateRequest_1 = __webpack_require__(18770);
+const MonitorConfigPolicyAttributeEditRequest_1 = __webpack_require__(50562);
+const MonitorConfigPolicyAttributeResponse_1 = __webpack_require__(61140);
+const MonitorConfigPolicyCreateData_1 = __webpack_require__(26969);
+const MonitorConfigPolicyCreateRequest_1 = __webpack_require__(47751);
+const MonitorConfigPolicyEditData_1 = __webpack_require__(79315);
+const MonitorConfigPolicyEditRequest_1 = __webpack_require__(96257);
+const MonitorConfigPolicyListResponse_1 = __webpack_require__(55293);
+const MonitorConfigPolicyResponse_1 = __webpack_require__(9074);
+const MonitorConfigPolicyResponseData_1 = __webpack_require__(65387);
+const MonitorConfigPolicyTagPolicy_1 = __webpack_require__(29376);
+const MonitorConfigPolicyTagPolicyCreateRequest_1 = __webpack_require__(21363);
+const MonitorDowntimeMatchResponse_1 = __webpack_require__(85458);
+const MonitorDowntimeMatchResponseAttributes_1 = __webpack_require__(3781);
+const MonitorDowntimeMatchResponseData_1 = __webpack_require__(93462);
+const MonitorType_1 = __webpack_require__(74936);
+const MuteFindingRequest_1 = __webpack_require__(41891);
+const MuteFindingRequestAttributes_1 = __webpack_require__(37731);
+const MuteFindingRequestData_1 = __webpack_require__(5064);
+const MuteFindingRequestProperties_1 = __webpack_require__(47455);
+const MuteFindingResponse_1 = __webpack_require__(56552);
+const MuteFindingResponseAttributes_1 = __webpack_require__(13529);
+const MuteFindingResponseData_1 = __webpack_require__(92148);
+const MuteFindingResponseProperties_1 = __webpack_require__(25934);
+const NullableRelationshipToUser_1 = __webpack_require__(86187);
+const NullableRelationshipToUserData_1 = __webpack_require__(12695);
+const OnDemandConcurrencyCap_1 = __webpack_require__(49074);
+const OnDemandConcurrencyCapAttributes_1 = __webpack_require__(62818);
+const OnDemandConcurrencyCapResponse_1 = __webpack_require__(44409);
+const OpsgenieServiceCreateAttributes_1 = __webpack_require__(42707);
+const OpsgenieServiceCreateData_1 = __webpack_require__(98988);
+const OpsgenieServiceCreateRequest_1 = __webpack_require__(96060);
+const OpsgenieServiceResponse_1 = __webpack_require__(89367);
+const OpsgenieServiceResponseAttributes_1 = __webpack_require__(96457);
+const OpsgenieServiceResponseData_1 = __webpack_require__(8536);
+const OpsgenieServiceUpdateAttributes_1 = __webpack_require__(47224);
+const OpsgenieServiceUpdateData_1 = __webpack_require__(49361);
+const OpsgenieServiceUpdateRequest_1 = __webpack_require__(89306);
+const OpsgenieServicesResponse_1 = __webpack_require__(57103);
+const Organization_1 = __webpack_require__(65574);
+const OrganizationAttributes_1 = __webpack_require__(80208);
+const Pagination_1 = __webpack_require__(83012);
+const PartialAPIKey_1 = __webpack_require__(17607);
+const PartialAPIKeyAttributes_1 = __webpack_require__(4778);
+const PartialApplicationKey_1 = __webpack_require__(9242);
+const PartialApplicationKeyAttributes_1 = __webpack_require__(58374);
+const PartialApplicationKeyResponse_1 = __webpack_require__(38675);
+const Permission_1 = __webpack_require__(62112);
+const PermissionAttributes_1 = __webpack_require__(95692);
+const PermissionsResponse_1 = __webpack_require__(67012);
+const ProcessSummariesMeta_1 = __webpack_require__(24332);
+const ProcessSummariesMetaPage_1 = __webpack_require__(16793);
+const ProcessSummariesResponse_1 = __webpack_require__(83645);
+const ProcessSummary_1 = __webpack_require__(39882);
+const ProcessSummaryAttributes_1 = __webpack_require__(68442);
+const QueryFormula_1 = __webpack_require__(16843);
+const RUMAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(21059);
+const RUMAggregateRequest_1 = __webpack_require__(93799);
+const RUMAggregateSort_1 = __webpack_require__(39778);
+const RUMAggregationBucketsResponse_1 = __webpack_require__(50352);
+const RUMAnalyticsAggregateResponse_1 = __webpack_require__(95814);
+const RUMApplication_1 = __webpack_require__(6297);
+const RUMApplicationAttributes_1 = __webpack_require__(42706);
+const RUMApplicationCreate_1 = __webpack_require__(77612);
+const RUMApplicationCreateAttributes_1 = __webpack_require__(22922);
+const RUMApplicationCreateRequest_1 = __webpack_require__(85662);
+const RUMApplicationList_1 = __webpack_require__(28804);
+const RUMApplicationListAttributes_1 = __webpack_require__(95110);
+const RUMApplicationResponse_1 = __webpack_require__(68134);
+const RUMApplicationUpdate_1 = __webpack_require__(43719);
+const RUMApplicationUpdateAttributes_1 = __webpack_require__(36700);
+const RUMApplicationUpdateRequest_1 = __webpack_require__(71226);
+const RUMApplicationsResponse_1 = __webpack_require__(64222);
+const RUMBucketResponse_1 = __webpack_require__(21229);
+const RUMCompute_1 = __webpack_require__(3281);
+const RUMEvent_1 = __webpack_require__(30404);
+const RUMEventAttributes_1 = __webpack_require__(66563);
+const RUMEventsResponse_1 = __webpack_require__(51628);
+const RUMGroupBy_1 = __webpack_require__(53303);
+const RUMGroupByHistogram_1 = __webpack_require__(25417);
+const RUMQueryFilter_1 = __webpack_require__(93902);
+const RUMQueryOptions_1 = __webpack_require__(46379);
+const RUMQueryPageOptions_1 = __webpack_require__(98647);
+const RUMResponseLinks_1 = __webpack_require__(55504);
+const RUMResponseMetadata_1 = __webpack_require__(34753);
+const RUMResponsePage_1 = __webpack_require__(31750);
+const RUMSearchEventsRequest_1 = __webpack_require__(28839);
+const RUMWarning_1 = __webpack_require__(81499);
+const RelationshipToIncidentAttachment_1 = __webpack_require__(68393);
+const RelationshipToIncidentAttachmentData_1 = __webpack_require__(26001);
+const RelationshipToIncidentIntegrationMetadataData_1 = __webpack_require__(82162);
+const RelationshipToIncidentIntegrationMetadatas_1 = __webpack_require__(1463);
+const RelationshipToIncidentPostmortem_1 = __webpack_require__(83931);
+const RelationshipToIncidentPostmortemData_1 = __webpack_require__(12453);
+const RelationshipToOrganization_1 = __webpack_require__(19974);
+const RelationshipToOrganizationData_1 = __webpack_require__(57387);
+const RelationshipToOrganizations_1 = __webpack_require__(29461);
+const RelationshipToPermission_1 = __webpack_require__(76482);
+const RelationshipToPermissionData_1 = __webpack_require__(5468);
+const RelationshipToPermissions_1 = __webpack_require__(63726);
+const RelationshipToRole_1 = __webpack_require__(93263);
+const RelationshipToRoleData_1 = __webpack_require__(27514);
+const RelationshipToRoles_1 = __webpack_require__(97252);
+const RelationshipToSAMLAssertionAttribute_1 = __webpack_require__(15660);
+const RelationshipToSAMLAssertionAttributeData_1 = __webpack_require__(91898);
+const RelationshipToTeamLinkData_1 = __webpack_require__(77649);
+const RelationshipToTeamLinks_1 = __webpack_require__(12483);
+const RelationshipToUser_1 = __webpack_require__(18704);
+const RelationshipToUserData_1 = __webpack_require__(57934);
+const RelationshipToUserTeamPermission_1 = __webpack_require__(58517);
+const RelationshipToUserTeamPermissionData_1 = __webpack_require__(72350);
+const RelationshipToUserTeamUser_1 = __webpack_require__(60994);
+const RelationshipToUserTeamUserData_1 = __webpack_require__(39332);
+const RelationshipToUsers_1 = __webpack_require__(19717);
+const ResponseMetaAttributes_1 = __webpack_require__(71189);
+const RestrictionPolicy_1 = __webpack_require__(52302);
+const RestrictionPolicyAttributes_1 = __webpack_require__(58612);
+const RestrictionPolicyBinding_1 = __webpack_require__(59472);
+const RestrictionPolicyResponse_1 = __webpack_require__(5958);
+const RestrictionPolicyUpdateRequest_1 = __webpack_require__(61621);
+const Role_1 = __webpack_require__(36755);
+const RoleAttributes_1 = __webpack_require__(72234);
+const RoleClone_1 = __webpack_require__(11697);
+const RoleCloneAttributes_1 = __webpack_require__(23490);
+const RoleCloneRequest_1 = __webpack_require__(14928);
+const RoleCreateAttributes_1 = __webpack_require__(29959);
+const RoleCreateData_1 = __webpack_require__(90720);
+const RoleCreateRequest_1 = __webpack_require__(97058);
+const RoleCreateResponse_1 = __webpack_require__(21064);
+const RoleCreateResponseData_1 = __webpack_require__(3831);
+const RoleRelationships_1 = __webpack_require__(1462);
+const RoleResponse_1 = __webpack_require__(1667);
+const RoleResponseRelationships_1 = __webpack_require__(20863);
+const RoleUpdateAttributes_1 = __webpack_require__(61293);
+const RoleUpdateData_1 = __webpack_require__(43035);
+const RoleUpdateRequest_1 = __webpack_require__(6460);
+const RoleUpdateResponse_1 = __webpack_require__(43475);
+const RoleUpdateResponseData_1 = __webpack_require__(53999);
+const RolesResponse_1 = __webpack_require__(16287);
+const SAMLAssertionAttribute_1 = __webpack_require__(90269);
+const SAMLAssertionAttributeAttributes_1 = __webpack_require__(24689);
+const ScalarFormulaQueryRequest_1 = __webpack_require__(45958);
+const ScalarFormulaQueryResponse_1 = __webpack_require__(24210);
+const ScalarFormulaRequest_1 = __webpack_require__(26410);
+const ScalarFormulaRequestAttributes_1 = __webpack_require__(74689);
+const ScalarFormulaResponseAtrributes_1 = __webpack_require__(45821);
+const ScalarMeta_1 = __webpack_require__(1795);
+const ScalarResponse_1 = __webpack_require__(17718);
+const SecurityFilter_1 = __webpack_require__(98136);
+const SecurityFilterAttributes_1 = __webpack_require__(48194);
+const SecurityFilterCreateAttributes_1 = __webpack_require__(41713);
+const SecurityFilterCreateData_1 = __webpack_require__(81804);
+const SecurityFilterCreateRequest_1 = __webpack_require__(10474);
+const SecurityFilterExclusionFilter_1 = __webpack_require__(39677);
+const SecurityFilterExclusionFilterResponse_1 = __webpack_require__(14492);
+const SecurityFilterMeta_1 = __webpack_require__(50958);
+const SecurityFilterResponse_1 = __webpack_require__(72023);
+const SecurityFilterUpdateAttributes_1 = __webpack_require__(39876);
+const SecurityFilterUpdateData_1 = __webpack_require__(10333);
+const SecurityFilterUpdateRequest_1 = __webpack_require__(84583);
+const SecurityFiltersResponse_1 = __webpack_require__(8334);
+const SecurityMonitoringFilter_1 = __webpack_require__(49382);
+const SecurityMonitoringListRulesResponse_1 = __webpack_require__(42623);
+const SecurityMonitoringRuleCase_1 = __webpack_require__(51268);
+const SecurityMonitoringRuleCaseCreate_1 = __webpack_require__(47916);
+const SecurityMonitoringRuleImpossibleTravelOptions_1 = __webpack_require__(27598);
+const SecurityMonitoringRuleNewValueOptions_1 = __webpack_require__(23671);
+const SecurityMonitoringRuleOptions_1 = __webpack_require__(102);
+const SecurityMonitoringRuleUpdatePayload_1 = __webpack_require__(9376);
+const SecurityMonitoringSignal_1 = __webpack_require__(1553);
+const SecurityMonitoringSignalAssigneeUpdateAttributes_1 = __webpack_require__(45363);
+const SecurityMonitoringSignalAssigneeUpdateData_1 = __webpack_require__(16920);
+const SecurityMonitoringSignalAssigneeUpdateRequest_1 = __webpack_require__(29710);
+const SecurityMonitoringSignalAttributes_1 = __webpack_require__(52655);
+const SecurityMonitoringSignalIncidentsUpdateAttributes_1 = __webpack_require__(73864);
+const SecurityMonitoringSignalIncidentsUpdateData_1 = __webpack_require__(4718);
+const SecurityMonitoringSignalIncidentsUpdateRequest_1 = __webpack_require__(55348);
+const SecurityMonitoringSignalListRequest_1 = __webpack_require__(10932);
+const SecurityMonitoringSignalListRequestFilter_1 = __webpack_require__(65854);
+const SecurityMonitoringSignalListRequestPage_1 = __webpack_require__(90767);
+const SecurityMonitoringSignalResponse_1 = __webpack_require__(17188);
+const SecurityMonitoringSignalRuleCreatePayload_1 = __webpack_require__(36371);
+const SecurityMonitoringSignalRuleQuery_1 = __webpack_require__(79272);
+const SecurityMonitoringSignalRuleResponse_1 = __webpack_require__(7909);
+const SecurityMonitoringSignalRuleResponseQuery_1 = __webpack_require__(58294);
+const SecurityMonitoringSignalStateUpdateAttributes_1 = __webpack_require__(58197);
+const SecurityMonitoringSignalStateUpdateData_1 = __webpack_require__(42749);
+const SecurityMonitoringSignalStateUpdateRequest_1 = __webpack_require__(23286);
+const SecurityMonitoringSignalTriageAttributes_1 = __webpack_require__(17580);
+const SecurityMonitoringSignalTriageUpdateData_1 = __webpack_require__(8148);
+const SecurityMonitoringSignalTriageUpdateResponse_1 = __webpack_require__(85262);
+const SecurityMonitoringSignalsListResponse_1 = __webpack_require__(45578);
+const SecurityMonitoringSignalsListResponseLinks_1 = __webpack_require__(43590);
+const SecurityMonitoringSignalsListResponseMeta_1 = __webpack_require__(37270);
+const SecurityMonitoringSignalsListResponseMetaPage_1 = __webpack_require__(23662);
+const SecurityMonitoringStandardRuleCreatePayload_1 = __webpack_require__(89492);
+const SecurityMonitoringStandardRuleQuery_1 = __webpack_require__(1174);
+const SecurityMonitoringStandardRuleResponse_1 = __webpack_require__(56338);
+const SecurityMonitoringTriageUser_1 = __webpack_require__(26952);
+const SensitiveDataScannerConfigRequest_1 = __webpack_require__(69411);
+const SensitiveDataScannerConfiguration_1 = __webpack_require__(35401);
+const SensitiveDataScannerConfigurationData_1 = __webpack_require__(74356);
+const SensitiveDataScannerConfigurationRelationships_1 = __webpack_require__(39656);
+const SensitiveDataScannerCreateGroupResponse_1 = __webpack_require__(75690);
+const SensitiveDataScannerCreateRuleResponse_1 = __webpack_require__(22101);
+const SensitiveDataScannerFilter_1 = __webpack_require__(85260);
+const SensitiveDataScannerGetConfigResponse_1 = __webpack_require__(67581);
+const SensitiveDataScannerGetConfigResponseData_1 = __webpack_require__(64073);
+const SensitiveDataScannerGroup_1 = __webpack_require__(62426);
+const SensitiveDataScannerGroupAttributes_1 = __webpack_require__(9924);
+const SensitiveDataScannerGroupCreate_1 = __webpack_require__(30602);
+const SensitiveDataScannerGroupCreateRequest_1 = __webpack_require__(51602);
+const SensitiveDataScannerGroupData_1 = __webpack_require__(7266);
+const SensitiveDataScannerGroupDeleteRequest_1 = __webpack_require__(31407);
+const SensitiveDataScannerGroupDeleteResponse_1 = __webpack_require__(61104);
+const SensitiveDataScannerGroupIncludedItem_1 = __webpack_require__(26041);
+const SensitiveDataScannerGroupItem_1 = __webpack_require__(2146);
+const SensitiveDataScannerGroupList_1 = __webpack_require__(59249);
+const SensitiveDataScannerGroupRelationships_1 = __webpack_require__(51790);
+const SensitiveDataScannerGroupResponse_1 = __webpack_require__(65128);
+const SensitiveDataScannerGroupUpdate_1 = __webpack_require__(52945);
+const SensitiveDataScannerGroupUpdateRequest_1 = __webpack_require__(34142);
+const SensitiveDataScannerGroupUpdateResponse_1 = __webpack_require__(13989);
+const SensitiveDataScannerMeta_1 = __webpack_require__(31910);
+const SensitiveDataScannerMetaVersionOnly_1 = __webpack_require__(88469);
+const SensitiveDataScannerReorderConfig_1 = __webpack_require__(8383);
+const SensitiveDataScannerReorderGroupsResponse_1 = __webpack_require__(50821);
+const SensitiveDataScannerRule_1 = __webpack_require__(26568);
+const SensitiveDataScannerRuleAttributes_1 = __webpack_require__(81304);
+const SensitiveDataScannerRuleCreate_1 = __webpack_require__(44345);
+const SensitiveDataScannerRuleCreateRequest_1 = __webpack_require__(49279);
+const SensitiveDataScannerRuleData_1 = __webpack_require__(18714);
+const SensitiveDataScannerRuleDeleteRequest_1 = __webpack_require__(46228);
+const SensitiveDataScannerRuleDeleteResponse_1 = __webpack_require__(95736);
+const SensitiveDataScannerRuleIncludedItem_1 = __webpack_require__(55756);
+const SensitiveDataScannerRuleRelationships_1 = __webpack_require__(66242);
+const SensitiveDataScannerRuleResponse_1 = __webpack_require__(20401);
+const SensitiveDataScannerRuleUpdate_1 = __webpack_require__(21545);
+const SensitiveDataScannerRuleUpdateRequest_1 = __webpack_require__(67656);
+const SensitiveDataScannerRuleUpdateResponse_1 = __webpack_require__(94431);
+const SensitiveDataScannerStandardPattern_1 = __webpack_require__(92452);
+const SensitiveDataScannerStandardPatternAttributes_1 = __webpack_require__(97689);
+const SensitiveDataScannerStandardPatternData_1 = __webpack_require__(95146);
+const SensitiveDataScannerStandardPatternsResponseData_1 = __webpack_require__(56087);
+const SensitiveDataScannerStandardPatternsResponseItem_1 = __webpack_require__(85949);
+const SensitiveDataScannerTextReplacement_1 = __webpack_require__(21397);
+const ServiceAccountCreateAttributes_1 = __webpack_require__(68937);
+const ServiceAccountCreateData_1 = __webpack_require__(93848);
+const ServiceAccountCreateRequest_1 = __webpack_require__(61830);
+const ServiceDefinitionCreateResponse_1 = __webpack_require__(19264);
+const ServiceDefinitionData_1 = __webpack_require__(38925);
+const ServiceDefinitionDataAttributes_1 = __webpack_require__(81922);
+const ServiceDefinitionGetResponse_1 = __webpack_require__(63472);
+const ServiceDefinitionMeta_1 = __webpack_require__(87896);
+const ServiceDefinitionMetaWarnings_1 = __webpack_require__(77112);
+const ServiceDefinitionV1_1 = __webpack_require__(90697);
+const ServiceDefinitionV1Contact_1 = __webpack_require__(15281);
+const ServiceDefinitionV1Info_1 = __webpack_require__(15707);
+const ServiceDefinitionV1Integrations_1 = __webpack_require__(18115);
+const ServiceDefinitionV1Org_1 = __webpack_require__(9483);
+const ServiceDefinitionV1Resource_1 = __webpack_require__(49088);
+const ServiceDefinitionV2_1 = __webpack_require__(68522);
+const ServiceDefinitionV2Doc_1 = __webpack_require__(9350);
+const ServiceDefinitionV2Dot1_1 = __webpack_require__(26361);
+const ServiceDefinitionV2Dot1Email_1 = __webpack_require__(61547);
+const ServiceDefinitionV2Dot1Integrations_1 = __webpack_require__(39637);
+const ServiceDefinitionV2Dot1Link_1 = __webpack_require__(12346);
+const ServiceDefinitionV2Dot1MSTeams_1 = __webpack_require__(52832);
+const ServiceDefinitionV2Dot1Opsgenie_1 = __webpack_require__(35847);
+const ServiceDefinitionV2Dot1Pagerduty_1 = __webpack_require__(87649);
+const ServiceDefinitionV2Dot1Slack_1 = __webpack_require__(64044);
+const ServiceDefinitionV2Email_1 = __webpack_require__(21087);
+const ServiceDefinitionV2Integrations_1 = __webpack_require__(73259);
+const ServiceDefinitionV2Link_1 = __webpack_require__(34150);
+const ServiceDefinitionV2MSTeams_1 = __webpack_require__(92847);
+const ServiceDefinitionV2Opsgenie_1 = __webpack_require__(66753);
+const ServiceDefinitionV2Repo_1 = __webpack_require__(86906);
+const ServiceDefinitionV2Slack_1 = __webpack_require__(2083);
+const ServiceDefinitionsListResponse_1 = __webpack_require__(19094);
+const SlackIntegrationMetadata_1 = __webpack_require__(31204);
+const SlackIntegrationMetadataChannelItem_1 = __webpack_require__(17953);
+const Span_1 = __webpack_require__(65274);
+const SpansAggregateBucket_1 = __webpack_require__(15741);
+const SpansAggregateBucketAttributes_1 = __webpack_require__(10658);
+const SpansAggregateBucketValueTimeseriesPoint_1 = __webpack_require__(15773);
+const SpansAggregateData_1 = __webpack_require__(24329);
+const SpansAggregateRequest_1 = __webpack_require__(44555);
+const SpansAggregateRequestAttributes_1 = __webpack_require__(81926);
+const SpansAggregateResponse_1 = __webpack_require__(19367);
+const SpansAggregateResponseMetadata_1 = __webpack_require__(97347);
+const SpansAggregateSort_1 = __webpack_require__(62931);
+const SpansAttributes_1 = __webpack_require__(91638);
+const SpansCompute_1 = __webpack_require__(74315);
+const SpansGroupBy_1 = __webpack_require__(30532);
+const SpansGroupByHistogram_1 = __webpack_require__(64616);
+const SpansListRequest_1 = __webpack_require__(50701);
+const SpansListRequestAttributes_1 = __webpack_require__(67861);
+const SpansListRequestData_1 = __webpack_require__(45722);
+const SpansListRequestPage_1 = __webpack_require__(63987);
+const SpansListResponse_1 = __webpack_require__(92654);
+const SpansListResponseLinks_1 = __webpack_require__(61700);
+const SpansListResponseMetadata_1 = __webpack_require__(19155);
+const SpansMetricCompute_1 = __webpack_require__(37882);
+const SpansMetricCreateAttributes_1 = __webpack_require__(66858);
+const SpansMetricCreateData_1 = __webpack_require__(98053);
+const SpansMetricCreateRequest_1 = __webpack_require__(33486);
+const SpansMetricFilter_1 = __webpack_require__(53650);
+const SpansMetricGroupBy_1 = __webpack_require__(95310);
+const SpansMetricResponse_1 = __webpack_require__(18481);
+const SpansMetricResponseAttributes_1 = __webpack_require__(82864);
+const SpansMetricResponseCompute_1 = __webpack_require__(65910);
+const SpansMetricResponseData_1 = __webpack_require__(37531);
+const SpansMetricResponseFilter_1 = __webpack_require__(86624);
+const SpansMetricResponseGroupBy_1 = __webpack_require__(51733);
+const SpansMetricUpdateAttributes_1 = __webpack_require__(32078);
+const SpansMetricUpdateCompute_1 = __webpack_require__(25083);
+const SpansMetricUpdateData_1 = __webpack_require__(10621);
+const SpansMetricUpdateRequest_1 = __webpack_require__(20790);
+const SpansMetricsResponse_1 = __webpack_require__(88816);
+const SpansQueryFilter_1 = __webpack_require__(73888);
+const SpansQueryOptions_1 = __webpack_require__(67964);
+const SpansResponseMetadataPage_1 = __webpack_require__(75198);
+const SpansWarning_1 = __webpack_require__(43117);
+const Team_1 = __webpack_require__(99535);
+const TeamAttributes_1 = __webpack_require__(11276);
+const TeamCreate_1 = __webpack_require__(72722);
+const TeamCreateAttributes_1 = __webpack_require__(75341);
+const TeamCreateRelationships_1 = __webpack_require__(66425);
+const TeamCreateRequest_1 = __webpack_require__(59989);
+const TeamLink_1 = __webpack_require__(1064);
+const TeamLinkAttributes_1 = __webpack_require__(8789);
+const TeamLinkCreate_1 = __webpack_require__(49109);
+const TeamLinkCreateRequest_1 = __webpack_require__(17915);
+const TeamLinkResponse_1 = __webpack_require__(83956);
+const TeamLinksResponse_1 = __webpack_require__(85078);
+const TeamPermissionSetting_1 = __webpack_require__(95677);
+const TeamPermissionSettingAttributes_1 = __webpack_require__(30951);
+const TeamPermissionSettingResponse_1 = __webpack_require__(31604);
+const TeamPermissionSettingUpdate_1 = __webpack_require__(5767);
+const TeamPermissionSettingUpdateAttributes_1 = __webpack_require__(10893);
+const TeamPermissionSettingUpdateRequest_1 = __webpack_require__(85589);
+const TeamPermissionSettingsResponse_1 = __webpack_require__(60640);
+const TeamRelationships_1 = __webpack_require__(76003);
+const TeamRelationshipsLinks_1 = __webpack_require__(71250);
+const TeamResponse_1 = __webpack_require__(85600);
+const TeamUpdate_1 = __webpack_require__(97929);
+const TeamUpdateAttributes_1 = __webpack_require__(5327);
+const TeamUpdateRelationships_1 = __webpack_require__(44475);
+const TeamUpdateRequest_1 = __webpack_require__(55945);
+const TeamsResponse_1 = __webpack_require__(65699);
+const TeamsResponseLinks_1 = __webpack_require__(48154);
+const TeamsResponseMeta_1 = __webpack_require__(3608);
+const TeamsResponseMetaPagination_1 = __webpack_require__(5396);
+const TimeseriesFormulaQueryRequest_1 = __webpack_require__(94956);
+const TimeseriesFormulaQueryResponse_1 = __webpack_require__(82642);
+const TimeseriesFormulaRequest_1 = __webpack_require__(38109);
+const TimeseriesFormulaRequestAttributes_1 = __webpack_require__(73903);
+const TimeseriesResponse_1 = __webpack_require__(57540);
+const TimeseriesResponseAttributes_1 = __webpack_require__(57516);
+const TimeseriesResponseSeries_1 = __webpack_require__(39671);
+const Unit_1 = __webpack_require__(92053);
+const UsageApplicationSecurityMonitoringResponse_1 = __webpack_require__(22622);
+const UsageAttributesObject_1 = __webpack_require__(97465);
+const UsageDataObject_1 = __webpack_require__(19788);
+const UsageLambdaTracedInvocationsResponse_1 = __webpack_require__(6453);
+const UsageObservabilityPipelinesResponse_1 = __webpack_require__(37667);
+const UsageTimeSeriesObject_1 = __webpack_require__(8338);
+const User_1 = __webpack_require__(1728);
+const UserAttributes_1 = __webpack_require__(69074);
+const UserCreateAttributes_1 = __webpack_require__(91847);
+const UserCreateData_1 = __webpack_require__(50128);
+const UserCreateRequest_1 = __webpack_require__(36476);
+const UserInvitationData_1 = __webpack_require__(11302);
+const UserInvitationDataAttributes_1 = __webpack_require__(18728);
+const UserInvitationRelationships_1 = __webpack_require__(98340);
+const UserInvitationResponse_1 = __webpack_require__(36330);
+const UserInvitationResponseData_1 = __webpack_require__(82241);
+const UserInvitationsRequest_1 = __webpack_require__(41005);
+const UserInvitationsResponse_1 = __webpack_require__(53893);
+const UserRelationships_1 = __webpack_require__(67510);
+const UserResponse_1 = __webpack_require__(82709);
+const UserResponseRelationships_1 = __webpack_require__(25159);
+const UserTeam_1 = __webpack_require__(62838);
+const UserTeamAttributes_1 = __webpack_require__(25620);
+const UserTeamCreate_1 = __webpack_require__(24683);
+const UserTeamPermission_1 = __webpack_require__(99296);
+const UserTeamPermissionAttributes_1 = __webpack_require__(27272);
+const UserTeamRelationships_1 = __webpack_require__(96420);
+const UserTeamRequest_1 = __webpack_require__(16989);
+const UserTeamResponse_1 = __webpack_require__(19185);
+const UserTeamUpdate_1 = __webpack_require__(25223);
+const UserTeamUpdateRequest_1 = __webpack_require__(12059);
+const UserTeamsResponse_1 = __webpack_require__(32202);
+const UserUpdateAttributes_1 = __webpack_require__(51105);
+const UserUpdateData_1 = __webpack_require__(51985);
+const UserUpdateRequest_1 = __webpack_require__(95122);
+const UsersResponse_1 = __webpack_require__(11836);
+const util_1 = __webpack_require__(4691);
+const logger_1 = __webpack_require__(50487);
+const primitives = [
+    "string",
+    "boolean",
+    "double",
+    "integer",
+    "long",
+    "float",
+    "number",
+];
+const ARRAY_PREFIX = "Array<";
+const MAP_PREFIX = "{ [key: string]: ";
+const TUPLE_PREFIX = "[";
+const supportedMediaTypes = {
+    "application/json": Infinity,
+    "text/json": 100,
+    "application/octet-stream": 0,
+};
+const enumsMap = {
+    APIKeysSort: [
+        "created_at",
+        "-created_at",
+        "last4",
+        "-last4",
+        "modified_at",
+        "-modified_at",
+        "name",
+        "-name",
+    ],
+    APIKeysType: ["api_keys"],
+    ApplicationKeysSort: [
+        "created_at",
+        "-created_at",
+        "last4",
+        "-last4",
+        "name",
+        "-name",
+    ],
+    ApplicationKeysType: ["application_keys"],
+    AuditLogsEventType: ["audit"],
+    AuditLogsResponseStatus: ["done", "timeout"],
+    AuditLogsSort: ["timestamp", "-timestamp"],
+    AuthNMappingsSort: [
+        "created_at",
+        "-created_at",
+        "role_id",
+        "-role_id",
+        "saml_assertion_attribute_id",
+        "-saml_assertion_attribute_id",
+        "role.name",
+        "-role.name",
+        "saml_assertion_attribute.attribute_key",
+        "-saml_assertion_attribute.attribute_key",
+        "saml_assertion_attribute.attribute_value",
+        "-saml_assertion_attribute.attribute_value",
+    ],
+    AuthNMappingsType: ["authn_mappings"],
+    CIAppAggregateSortType: ["alphabetical", "measure"],
+    CIAppAggregationFunction: [
+        "count",
+        "cardinality",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+        "median",
+        "latest",
+        "earliest",
+        "most_frequent",
+        "delta",
+    ],
+    CIAppCIErrorDomain: ["provider", "user", "unknown"],
+    CIAppComputeType: ["timeseries", "total"],
+    CIAppCreatePipelineEventRequestDataType: ["cipipeline_resource_request"],
+    CIAppPipelineEventJobLevel: ["job"],
+    CIAppPipelineEventJobStatus: ["success", "error", "canceled", "skipped"],
+    CIAppPipelineEventPipelineLevel: ["pipeline"],
+    CIAppPipelineEventPipelineStatus: [
+        "success",
+        "error",
+        "canceled",
+        "skipped",
+        "blocked",
+    ],
+    CIAppPipelineEventStageLevel: ["stage"],
+    CIAppPipelineEventStageStatus: ["success", "error", "canceled", "skipped"],
+    CIAppPipelineEventStepLevel: ["step"],
+    CIAppPipelineEventStepStatus: ["success", "error"],
+    CIAppPipelineEventTypeName: ["cipipeline"],
+    CIAppPipelineLevel: ["pipeline", "stage", "job", "step", "custom"],
+    CIAppResponseStatus: ["done", "timeout"],
+    CIAppSort: ["timestamp", "-timestamp"],
+    CIAppSortOrder: ["asc", "desc"],
+    CIAppTestEventTypeName: ["citest"],
+    CIAppTestLevel: ["session", "module", "suite", "test"],
+    CloudConfigurationRuleType: ["cloud_configuration"],
+    CloudWorkloadSecurityAgentRuleType: ["agent_rule"],
+    CloudflareAccountType: ["cloudflare-accounts"],
+    ConfluentAccountType: ["confluent-cloud-accounts"],
+    ConfluentResourceType: ["confluent-cloud-resources"],
+    ContentEncoding: ["identity", "gzip", "deflate"],
+    CostByOrgType: ["cost_by_org"],
+    DashboardType: [
+        "custom_timeboard",
+        "custom_screenboard",
+        "integration_screenboard",
+        "integration_timeboard",
+        "host_timeboard",
+    ],
+    DetailedFindingType: ["detailed_finding"],
+    DowntimeIncludedMonitorType: ["monitors"],
+    DowntimeNotifyEndStateActions: ["canceled", "expired"],
+    DowntimeNotifyEndStateTypes: ["alert", "no data", "warn"],
+    DowntimeResourceType: ["downtime"],
+    DowntimeStatus: ["active", "canceled", "ended", "scheduled"],
+    EventPriority: ["normal", "low"],
+    EventStatusType: [
+        "failure",
+        "error",
+        "warning",
+        "info",
+        "success",
+        "user_update",
+        "recommendation",
+        "snapshot",
+    ],
+    EventType: ["event"],
+    EventsAggregation: [
+        "count",
+        "cardinality",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+    ],
+    EventsDataSource: ["logs", "rum"],
+    EventsSort: ["timestamp", "-timestamp"],
+    EventsSortType: ["alphabetical", "measure"],
+    FastlyAccountType: ["fastly-accounts"],
+    FastlyServiceType: ["fastly-services"],
+    FindingEvaluation: ["pass", "fail"],
+    FindingMuteReason: [
+        "PENDING_FIX",
+        "FALSE_POSITIVE",
+        "ACCEPTED_RISK",
+        "NO_PENDING_FIX",
+        "HUMAN_ERROR",
+        "NO_LONGER_ACCEPTED_RISK",
+        "OTHER",
+    ],
+    FindingStatus: ["critical", "high", "medium", "low", "info"],
+    FindingType: ["finding"],
+    GCPSTSDelegateAccountType: ["gcp_sts_delegate"],
+    GCPServiceAccountType: ["gcp_service_account"],
+    GetTeamMembershipsSort: [
+        "manager_name",
+        "-manager_name",
+        "name",
+        "-name",
+        "handle",
+        "-handle",
+        "email",
+        "-email",
+    ],
+    HourlyUsageType: [
+        "app_sec_host_count",
+        "observability_pipelines_bytes_processed",
+        "lambda_traced_invocations_count",
+    ],
+    IPAllowlistEntryType: ["ip_allowlist_entry"],
+    IPAllowlistType: ["ip_allowlist"],
+    IncidentAttachmentAttachmentType: ["link", "postmortem"],
+    IncidentAttachmentLinkAttachmentType: ["link"],
+    IncidentAttachmentPostmortemAttachmentType: ["postmortem"],
+    IncidentAttachmentRelatedObject: ["users"],
+    IncidentAttachmentType: ["incident_attachments"],
+    IncidentFieldAttributesSingleValueType: ["dropdown", "textbox"],
+    IncidentFieldAttributesValueType: [
+        "multiselect",
+        "textarray",
+        "metrictag",
+        "autocomplete",
+    ],
+    IncidentIntegrationMetadataType: ["incident_integrations"],
+    IncidentPostmortemType: ["incident_postmortems"],
+    IncidentRelatedObject: ["users", "attachments"],
+    IncidentSearchResultsType: ["incidents_search_results"],
+    IncidentSearchSortOrder: ["created", "-created"],
+    IncidentServiceType: ["services"],
+    IncidentTeamType: ["teams"],
+    IncidentTimelineCellMarkdownContentType: ["markdown"],
+    IncidentTodoAnonymousAssigneeSource: ["slack", "microsoft_teams"],
+    IncidentTodoType: ["incident_todos"],
+    IncidentType: ["incidents"],
+    ListTeamsInclude: ["team_links", "user_team_permissions"],
+    ListTeamsSort: ["name", "-name", "user_count", "-user_count"],
+    LogType: ["log"],
+    LogsAggregateResponseStatus: ["done", "timeout"],
+    LogsAggregateSortType: ["alphabetical", "measure"],
+    LogsAggregationFunction: [
+        "count",
+        "cardinality",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+        "median",
+    ],
+    LogsArchiveDestinationAzureType: ["azure"],
+    LogsArchiveDestinationGCSType: ["gcs"],
+    LogsArchiveDestinationS3Type: ["s3"],
+    LogsArchiveOrderDefinitionType: ["archive_order"],
+    LogsArchiveState: ["UNKNOWN", "WORKING", "FAILING", "WORKING_AUTH_LEGACY"],
+    LogsComputeType: ["timeseries", "total"],
+    LogsMetricComputeAggregationType: ["count", "distribution"],
+    LogsMetricResponseComputeAggregationType: ["count", "distribution"],
+    LogsMetricType: ["logs_metrics"],
+    LogsSort: ["timestamp", "-timestamp"],
+    LogsSortOrder: ["asc", "desc"],
+    LogsStorageTier: ["indexes", "online-archives"],
+    MetricActiveConfigurationType: ["actively_queried_configurations"],
+    MetricBulkConfigureTagsType: ["metric_bulk_configure_tags"],
+    MetricContentEncoding: ["deflate", "zstd1", "gzip"],
+    MetricCustomSpaceAggregation: ["avg", "max", "min", "sum"],
+    MetricCustomTimeAggregation: ["avg", "count", "max", "min", "sum"],
+    MetricDistinctVolumeType: ["distinct_metric_volumes"],
+    MetricEstimateResourceType: ["metric_cardinality_estimate"],
+    MetricEstimateType: ["count_or_gauge", "distribution", "percentile"],
+    MetricIngestedIndexedVolumeType: ["metric_volumes"],
+    MetricIntakeType: [0, 1, 2, 3],
+    MetricTagConfigurationMetricTypes: ["gauge", "count", "rate", "distribution"],
+    MetricTagConfigurationType: ["manage_tags"],
+    MetricType: ["metrics"],
+    MetricsAggregator: [
+        "avg",
+        "min",
+        "max",
+        "sum",
+        "last",
+        "percentile",
+        "mean",
+        "l2norm",
+        "area",
+    ],
+    MetricsDataSource: ["metrics", "cloud_cost"],
+    MonitorConfigPolicyResourceType: ["monitor-config-policy"],
+    MonitorConfigPolicyType: ["tag"],
+    MonitorDowntimeMatchResourceType: ["downtime_match"],
+    OnDemandConcurrencyCapType: ["on_demand_concurrency_cap"],
+    OpsgenieServiceRegionType: ["us", "eu", "custom"],
+    OpsgenieServiceType: ["opsgenie-service"],
+    OrganizationsType: ["orgs"],
+    PermissionsType: ["permissions"],
+    ProcessSummaryType: ["process"],
+    QuerySortOrder: ["asc", "desc"],
+    RUMAggregateSortType: ["alphabetical", "measure"],
+    RUMAggregationFunction: [
+        "count",
+        "cardinality",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+        "median",
+    ],
+    RUMApplicationCreateType: ["rum_application_create"],
+    RUMApplicationListType: ["rum_application"],
+    RUMApplicationType: ["rum_application"],
+    RUMApplicationUpdateType: ["rum_application_update"],
+    RUMComputeType: ["timeseries", "total"],
+    RUMEventType: ["rum"],
+    RUMResponseStatus: ["done", "timeout"],
+    RUMSort: ["timestamp", "-timestamp"],
+    RUMSortOrder: ["asc", "desc"],
+    RestrictionPolicyType: ["restriction_policy"],
+    RolesSort: [
+        "name",
+        "-name",
+        "modified_at",
+        "-modified_at",
+        "user_count",
+        "-user_count",
+    ],
+    RolesType: ["roles"],
+    SAMLAssertionAttributesType: ["saml_assertion_attributes"],
+    ScalarFormulaRequestType: ["scalar_request"],
+    ScalarFormulaResponseType: ["scalar_response"],
+    SecurityFilterFilteredDataType: ["logs"],
+    SecurityFilterType: ["security_filters"],
+    SecurityMonitoringFilterAction: ["require", "suppress"],
+    SecurityMonitoringRuleDetectionMethod: [
+        "threshold",
+        "new_value",
+        "anomaly_detection",
+        "impossible_travel",
+        "hardcoded",
+        "third_party",
+    ],
+    SecurityMonitoringRuleEvaluationWindow: [
+        0, 60, 300, 600, 900, 1800, 3600, 7200,
+    ],
+    SecurityMonitoringRuleHardcodedEvaluatorType: ["log4shell"],
+    SecurityMonitoringRuleKeepAlive: [
+        0, 60, 300, 600, 900, 1800, 3600, 7200, 10800, 21600,
+    ],
+    SecurityMonitoringRuleMaxSignalDuration: [
+        0, 60, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400,
+    ],
+    SecurityMonitoringRuleNewValueOptionsForgetAfter: [1, 2, 7, 14, 21, 28],
+    SecurityMonitoringRuleNewValueOptionsLearningDuration: [0, 1, 7],
+    SecurityMonitoringRuleNewValueOptionsLearningMethod: [
+        "duration",
+        "threshold",
+    ],
+    SecurityMonitoringRuleNewValueOptionsLearningThreshold: [0, 1],
+    SecurityMonitoringRuleQueryAggregation: [
+        "count",
+        "cardinality",
+        "sum",
+        "max",
+        "new_value",
+        "geo_data",
+        "event_count",
+        "none",
+    ],
+    SecurityMonitoringRuleSeverity: ["info", "low", "medium", "high", "critical"],
+    SecurityMonitoringRuleTypeCreate: ["log_detection", "workload_security"],
+    SecurityMonitoringRuleTypeRead: [
+        "log_detection",
+        "infrastructure_configuration",
+        "workload_security",
+        "cloud_configuration",
+        "application_security",
+    ],
+    SecurityMonitoringSignalArchiveReason: [
+        "none",
+        "false_positive",
+        "testing_or_maintenance",
+        "investigated_case_opened",
+        "other",
+    ],
+    SecurityMonitoringSignalMetadataType: ["signal_metadata"],
+    SecurityMonitoringSignalRuleType: ["signal_correlation"],
+    SecurityMonitoringSignalState: ["open", "archived", "under_review"],
+    SecurityMonitoringSignalType: ["signal"],
+    SecurityMonitoringSignalsSort: ["timestamp", "-timestamp"],
+    SensitiveDataScannerConfigurationType: [
+        "sensitive_data_scanner_configuration",
+    ],
+    SensitiveDataScannerGroupType: ["sensitive_data_scanner_group"],
+    SensitiveDataScannerProduct: ["logs", "rum", "events", "apm"],
+    SensitiveDataScannerRuleType: ["sensitive_data_scanner_rule"],
+    SensitiveDataScannerStandardPatternType: [
+        "sensitive_data_scanner_standard_pattern",
+    ],
+    SensitiveDataScannerTextReplacementType: [
+        "none",
+        "hash",
+        "replacement_string",
+        "partial_replacement_from_beginning",
+        "partial_replacement_from_end",
+    ],
+    ServiceDefinitionSchemaVersions: ["v1", "v2", "v2.1"],
+    ServiceDefinitionV1ResourceType: [
+        "doc",
+        "wiki",
+        "runbook",
+        "url",
+        "repo",
+        "dashboard",
+        "oncall",
+        "code",
+        "link",
+    ],
+    ServiceDefinitionV1Version: ["v1"],
+    ServiceDefinitionV2Dot1EmailType: ["email"],
+    ServiceDefinitionV2Dot1LinkType: [
+        "doc",
+        "repo",
+        "runbook",
+        "dashboard",
+        "other",
+    ],
+    ServiceDefinitionV2Dot1MSTeamsType: ["microsoft-teams"],
+    ServiceDefinitionV2Dot1OpsgenieRegion: ["US", "EU"],
+    ServiceDefinitionV2Dot1SlackType: ["slack"],
+    ServiceDefinitionV2Dot1Version: ["v2.1"],
+    ServiceDefinitionV2EmailType: ["email"],
+    ServiceDefinitionV2LinkType: [
+        "doc",
+        "wiki",
+        "runbook",
+        "url",
+        "repo",
+        "dashboard",
+        "oncall",
+        "code",
+        "link",
+    ],
+    ServiceDefinitionV2MSTeamsType: ["microsoft-teams"],
+    ServiceDefinitionV2OpsgenieRegion: ["US", "EU"],
+    ServiceDefinitionV2SlackType: ["slack"],
+    ServiceDefinitionV2Version: ["v2"],
+    SpansAggregateBucketType: ["bucket"],
+    SpansAggregateRequestType: ["aggregate_request"],
+    SpansAggregateResponseStatus: ["done", "timeout"],
+    SpansAggregateSortType: ["alphabetical", "measure"],
+    SpansAggregationFunction: [
+        "count",
+        "cardinality",
+        "pc75",
+        "pc90",
+        "pc95",
+        "pc98",
+        "pc99",
+        "sum",
+        "min",
+        "max",
+        "avg",
+        "median",
+    ],
+    SpansComputeType: ["timeseries", "total"],
+    SpansListRequestType: ["search_request"],
+    SpansMetricComputeAggregationType: ["count", "distribution"],
+    SpansMetricType: ["spans_metrics"],
+    SpansSort: ["timestamp", "-timestamp"],
+    SpansSortOrder: ["asc", "desc"],
+    SpansType: ["spans"],
+    TeamLinkType: ["team_links"],
+    TeamPermissionSettingSerializerAction: ["manage_membership", "edit"],
+    TeamPermissionSettingType: ["team_permission_settings"],
+    TeamPermissionSettingValue: [
+        "admins",
+        "members",
+        "organization",
+        "user_access_manage",
+        "teams_manage",
+    ],
+    TeamType: ["team"],
+    TimeseriesFormulaRequestType: ["timeseries_request"],
+    TimeseriesFormulaResponseType: ["timeseries_response"],
+    UsageTimeSeriesType: ["usage_timeseries"],
+    UserInvitationsType: ["user_invitations"],
+    UserTeamPermissionType: ["user_team_permissions"],
+    UserTeamRole: ["admin"],
+    UserTeamType: ["team_memberships"],
+    UserTeamUserType: ["users"],
+    UsersType: ["users"],
+};
+const typeMap = {
+    APIErrorResponse: APIErrorResponse_1.APIErrorResponse,
+    APIKeyCreateAttributes: APIKeyCreateAttributes_1.APIKeyCreateAttributes,
+    APIKeyCreateData: APIKeyCreateData_1.APIKeyCreateData,
+    APIKeyCreateRequest: APIKeyCreateRequest_1.APIKeyCreateRequest,
+    APIKeyRelationships: APIKeyRelationships_1.APIKeyRelationships,
+    APIKeyResponse: APIKeyResponse_1.APIKeyResponse,
+    APIKeyUpdateAttributes: APIKeyUpdateAttributes_1.APIKeyUpdateAttributes,
+    APIKeyUpdateData: APIKeyUpdateData_1.APIKeyUpdateData,
+    APIKeyUpdateRequest: APIKeyUpdateRequest_1.APIKeyUpdateRequest,
+    APIKeysResponse: APIKeysResponse_1.APIKeysResponse,
+    ApplicationKeyCreateAttributes: ApplicationKeyCreateAttributes_1.ApplicationKeyCreateAttributes,
+    ApplicationKeyCreateData: ApplicationKeyCreateData_1.ApplicationKeyCreateData,
+    ApplicationKeyCreateRequest: ApplicationKeyCreateRequest_1.ApplicationKeyCreateRequest,
+    ApplicationKeyRelationships: ApplicationKeyRelationships_1.ApplicationKeyRelationships,
+    ApplicationKeyResponse: ApplicationKeyResponse_1.ApplicationKeyResponse,
+    ApplicationKeyUpdateAttributes: ApplicationKeyUpdateAttributes_1.ApplicationKeyUpdateAttributes,
+    ApplicationKeyUpdateData: ApplicationKeyUpdateData_1.ApplicationKeyUpdateData,
+    ApplicationKeyUpdateRequest: ApplicationKeyUpdateRequest_1.ApplicationKeyUpdateRequest,
+    AuditLogsEvent: AuditLogsEvent_1.AuditLogsEvent,
+    AuditLogsEventAttributes: AuditLogsEventAttributes_1.AuditLogsEventAttributes,
+    AuditLogsEventsResponse: AuditLogsEventsResponse_1.AuditLogsEventsResponse,
+    AuditLogsQueryFilter: AuditLogsQueryFilter_1.AuditLogsQueryFilter,
+    AuditLogsQueryOptions: AuditLogsQueryOptions_1.AuditLogsQueryOptions,
+    AuditLogsQueryPageOptions: AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions,
+    AuditLogsResponseLinks: AuditLogsResponseLinks_1.AuditLogsResponseLinks,
+    AuditLogsResponseMetadata: AuditLogsResponseMetadata_1.AuditLogsResponseMetadata,
+    AuditLogsResponsePage: AuditLogsResponsePage_1.AuditLogsResponsePage,
+    AuditLogsSearchEventsRequest: AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest,
+    AuditLogsWarning: AuditLogsWarning_1.AuditLogsWarning,
+    AuthNMapping: AuthNMapping_1.AuthNMapping,
+    AuthNMappingAttributes: AuthNMappingAttributes_1.AuthNMappingAttributes,
+    AuthNMappingCreateAttributes: AuthNMappingCreateAttributes_1.AuthNMappingCreateAttributes,
+    AuthNMappingCreateData: AuthNMappingCreateData_1.AuthNMappingCreateData,
+    AuthNMappingCreateRelationships: AuthNMappingCreateRelationships_1.AuthNMappingCreateRelationships,
+    AuthNMappingCreateRequest: AuthNMappingCreateRequest_1.AuthNMappingCreateRequest,
+    AuthNMappingRelationships: AuthNMappingRelationships_1.AuthNMappingRelationships,
+    AuthNMappingResponse: AuthNMappingResponse_1.AuthNMappingResponse,
+    AuthNMappingUpdateAttributes: AuthNMappingUpdateAttributes_1.AuthNMappingUpdateAttributes,
+    AuthNMappingUpdateData: AuthNMappingUpdateData_1.AuthNMappingUpdateData,
+    AuthNMappingUpdateRelationships: AuthNMappingUpdateRelationships_1.AuthNMappingUpdateRelationships,
+    AuthNMappingUpdateRequest: AuthNMappingUpdateRequest_1.AuthNMappingUpdateRequest,
+    AuthNMappingsResponse: AuthNMappingsResponse_1.AuthNMappingsResponse,
+    CIAppAggregateBucketValueTimeseriesPoint: CIAppAggregateBucketValueTimeseriesPoint_1.CIAppAggregateBucketValueTimeseriesPoint,
+    CIAppAggregateSort: CIAppAggregateSort_1.CIAppAggregateSort,
+    CIAppCIError: CIAppCIError_1.CIAppCIError,
+    CIAppCompute: CIAppCompute_1.CIAppCompute,
+    CIAppCreatePipelineEventRequest: CIAppCreatePipelineEventRequest_1.CIAppCreatePipelineEventRequest,
+    CIAppCreatePipelineEventRequestAttributes: CIAppCreatePipelineEventRequestAttributes_1.CIAppCreatePipelineEventRequestAttributes,
+    CIAppCreatePipelineEventRequestData: CIAppCreatePipelineEventRequestData_1.CIAppCreatePipelineEventRequestData,
+    CIAppEventAttributes: CIAppEventAttributes_1.CIAppEventAttributes,
+    CIAppGitInfo: CIAppGitInfo_1.CIAppGitInfo,
+    CIAppGroupByHistogram: CIAppGroupByHistogram_1.CIAppGroupByHistogram,
+    CIAppHostInfo: CIAppHostInfo_1.CIAppHostInfo,
+    CIAppPipelineEvent: CIAppPipelineEvent_1.CIAppPipelineEvent,
+    CIAppPipelineEventAttributes: CIAppPipelineEventAttributes_1.CIAppPipelineEventAttributes,
+    CIAppPipelineEventJob: CIAppPipelineEventJob_1.CIAppPipelineEventJob,
+    CIAppPipelineEventParentPipeline: CIAppPipelineEventParentPipeline_1.CIAppPipelineEventParentPipeline,
+    CIAppPipelineEventPipeline: CIAppPipelineEventPipeline_1.CIAppPipelineEventPipeline,
+    CIAppPipelineEventPreviousPipeline: CIAppPipelineEventPreviousPipeline_1.CIAppPipelineEventPreviousPipeline,
+    CIAppPipelineEventStage: CIAppPipelineEventStage_1.CIAppPipelineEventStage,
+    CIAppPipelineEventStep: CIAppPipelineEventStep_1.CIAppPipelineEventStep,
+    CIAppPipelineEventsRequest: CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest,
+    CIAppPipelineEventsResponse: CIAppPipelineEventsResponse_1.CIAppPipelineEventsResponse,
+    CIAppPipelinesAggregateRequest: CIAppPipelinesAggregateRequest_1.CIAppPipelinesAggregateRequest,
+    CIAppPipelinesAggregationBucketsResponse: CIAppPipelinesAggregationBucketsResponse_1.CIAppPipelinesAggregationBucketsResponse,
+    CIAppPipelinesAnalyticsAggregateResponse: CIAppPipelinesAnalyticsAggregateResponse_1.CIAppPipelinesAnalyticsAggregateResponse,
+    CIAppPipelinesBucketResponse: CIAppPipelinesBucketResponse_1.CIAppPipelinesBucketResponse,
+    CIAppPipelinesGroupBy: CIAppPipelinesGroupBy_1.CIAppPipelinesGroupBy,
+    CIAppPipelinesQueryFilter: CIAppPipelinesQueryFilter_1.CIAppPipelinesQueryFilter,
+    CIAppQueryOptions: CIAppQueryOptions_1.CIAppQueryOptions,
+    CIAppQueryPageOptions: CIAppQueryPageOptions_1.CIAppQueryPageOptions,
+    CIAppResponseLinks: CIAppResponseLinks_1.CIAppResponseLinks,
+    CIAppResponseMetadata: CIAppResponseMetadata_1.CIAppResponseMetadata,
+    CIAppResponseMetadataWithPagination: CIAppResponseMetadataWithPagination_1.CIAppResponseMetadataWithPagination,
+    CIAppResponsePage: CIAppResponsePage_1.CIAppResponsePage,
+    CIAppTestEvent: CIAppTestEvent_1.CIAppTestEvent,
+    CIAppTestEventsRequest: CIAppTestEventsRequest_1.CIAppTestEventsRequest,
+    CIAppTestEventsResponse: CIAppTestEventsResponse_1.CIAppTestEventsResponse,
+    CIAppTestsAggregateRequest: CIAppTestsAggregateRequest_1.CIAppTestsAggregateRequest,
+    CIAppTestsAggregationBucketsResponse: CIAppTestsAggregationBucketsResponse_1.CIAppTestsAggregationBucketsResponse,
+    CIAppTestsAnalyticsAggregateResponse: CIAppTestsAnalyticsAggregateResponse_1.CIAppTestsAnalyticsAggregateResponse,
+    CIAppTestsBucketResponse: CIAppTestsBucketResponse_1.CIAppTestsBucketResponse,
+    CIAppTestsGroupBy: CIAppTestsGroupBy_1.CIAppTestsGroupBy,
+    CIAppTestsQueryFilter: CIAppTestsQueryFilter_1.CIAppTestsQueryFilter,
+    CIAppWarning: CIAppWarning_1.CIAppWarning,
+    ChargebackBreakdown: ChargebackBreakdown_1.ChargebackBreakdown,
+    CloudConfigurationComplianceRuleOptions: CloudConfigurationComplianceRuleOptions_1.CloudConfigurationComplianceRuleOptions,
+    CloudConfigurationRegoRule: CloudConfigurationRegoRule_1.CloudConfigurationRegoRule,
+    CloudConfigurationRuleCaseCreate: CloudConfigurationRuleCaseCreate_1.CloudConfigurationRuleCaseCreate,
+    CloudConfigurationRuleComplianceSignalOptions: CloudConfigurationRuleComplianceSignalOptions_1.CloudConfigurationRuleComplianceSignalOptions,
+    CloudConfigurationRuleCreatePayload: CloudConfigurationRuleCreatePayload_1.CloudConfigurationRuleCreatePayload,
+    CloudConfigurationRuleOptions: CloudConfigurationRuleOptions_1.CloudConfigurationRuleOptions,
+    CloudWorkloadSecurityAgentRuleAttributes: CloudWorkloadSecurityAgentRuleAttributes_1.CloudWorkloadSecurityAgentRuleAttributes,
+    CloudWorkloadSecurityAgentRuleCreateAttributes: CloudWorkloadSecurityAgentRuleCreateAttributes_1.CloudWorkloadSecurityAgentRuleCreateAttributes,
+    CloudWorkloadSecurityAgentRuleCreateData: CloudWorkloadSecurityAgentRuleCreateData_1.CloudWorkloadSecurityAgentRuleCreateData,
+    CloudWorkloadSecurityAgentRuleCreateRequest: CloudWorkloadSecurityAgentRuleCreateRequest_1.CloudWorkloadSecurityAgentRuleCreateRequest,
+    CloudWorkloadSecurityAgentRuleCreatorAttributes: CloudWorkloadSecurityAgentRuleCreatorAttributes_1.CloudWorkloadSecurityAgentRuleCreatorAttributes,
+    CloudWorkloadSecurityAgentRuleData: CloudWorkloadSecurityAgentRuleData_1.CloudWorkloadSecurityAgentRuleData,
+    CloudWorkloadSecurityAgentRuleResponse: CloudWorkloadSecurityAgentRuleResponse_1.CloudWorkloadSecurityAgentRuleResponse,
+    CloudWorkloadSecurityAgentRuleUpdateAttributes: CloudWorkloadSecurityAgentRuleUpdateAttributes_1.CloudWorkloadSecurityAgentRuleUpdateAttributes,
+    CloudWorkloadSecurityAgentRuleUpdateData: CloudWorkloadSecurityAgentRuleUpdateData_1.CloudWorkloadSecurityAgentRuleUpdateData,
+    CloudWorkloadSecurityAgentRuleUpdateRequest: CloudWorkloadSecurityAgentRuleUpdateRequest_1.CloudWorkloadSecurityAgentRuleUpdateRequest,
+    CloudWorkloadSecurityAgentRuleUpdaterAttributes: CloudWorkloadSecurityAgentRuleUpdaterAttributes_1.CloudWorkloadSecurityAgentRuleUpdaterAttributes,
+    CloudWorkloadSecurityAgentRulesListResponse: CloudWorkloadSecurityAgentRulesListResponse_1.CloudWorkloadSecurityAgentRulesListResponse,
+    CloudflareAccountCreateRequest: CloudflareAccountCreateRequest_1.CloudflareAccountCreateRequest,
+    CloudflareAccountCreateRequestAttributes: CloudflareAccountCreateRequestAttributes_1.CloudflareAccountCreateRequestAttributes,
+    CloudflareAccountCreateRequestData: CloudflareAccountCreateRequestData_1.CloudflareAccountCreateRequestData,
+    CloudflareAccountResponse: CloudflareAccountResponse_1.CloudflareAccountResponse,
+    CloudflareAccountResponseAttributes: CloudflareAccountResponseAttributes_1.CloudflareAccountResponseAttributes,
+    CloudflareAccountResponseData: CloudflareAccountResponseData_1.CloudflareAccountResponseData,
+    CloudflareAccountUpdateRequest: CloudflareAccountUpdateRequest_1.CloudflareAccountUpdateRequest,
+    CloudflareAccountUpdateRequestAttributes: CloudflareAccountUpdateRequestAttributes_1.CloudflareAccountUpdateRequestAttributes,
+    CloudflareAccountUpdateRequestData: CloudflareAccountUpdateRequestData_1.CloudflareAccountUpdateRequestData,
+    CloudflareAccountsResponse: CloudflareAccountsResponse_1.CloudflareAccountsResponse,
+    ConfluentAccountCreateRequest: ConfluentAccountCreateRequest_1.ConfluentAccountCreateRequest,
+    ConfluentAccountCreateRequestAttributes: ConfluentAccountCreateRequestAttributes_1.ConfluentAccountCreateRequestAttributes,
+    ConfluentAccountCreateRequestData: ConfluentAccountCreateRequestData_1.ConfluentAccountCreateRequestData,
+    ConfluentAccountResourceAttributes: ConfluentAccountResourceAttributes_1.ConfluentAccountResourceAttributes,
+    ConfluentAccountResponse: ConfluentAccountResponse_1.ConfluentAccountResponse,
+    ConfluentAccountResponseAttributes: ConfluentAccountResponseAttributes_1.ConfluentAccountResponseAttributes,
+    ConfluentAccountResponseData: ConfluentAccountResponseData_1.ConfluentAccountResponseData,
+    ConfluentAccountUpdateRequest: ConfluentAccountUpdateRequest_1.ConfluentAccountUpdateRequest,
+    ConfluentAccountUpdateRequestAttributes: ConfluentAccountUpdateRequestAttributes_1.ConfluentAccountUpdateRequestAttributes,
+    ConfluentAccountUpdateRequestData: ConfluentAccountUpdateRequestData_1.ConfluentAccountUpdateRequestData,
+    ConfluentAccountsResponse: ConfluentAccountsResponse_1.ConfluentAccountsResponse,
+    ConfluentResourceRequest: ConfluentResourceRequest_1.ConfluentResourceRequest,
+    ConfluentResourceRequestAttributes: ConfluentResourceRequestAttributes_1.ConfluentResourceRequestAttributes,
+    ConfluentResourceRequestData: ConfluentResourceRequestData_1.ConfluentResourceRequestData,
+    ConfluentResourceResponse: ConfluentResourceResponse_1.ConfluentResourceResponse,
+    ConfluentResourceResponseAttributes: ConfluentResourceResponseAttributes_1.ConfluentResourceResponseAttributes,
+    ConfluentResourceResponseData: ConfluentResourceResponseData_1.ConfluentResourceResponseData,
+    ConfluentResourcesResponse: ConfluentResourcesResponse_1.ConfluentResourcesResponse,
+    CostByOrg: CostByOrg_1.CostByOrg,
+    CostByOrgAttributes: CostByOrgAttributes_1.CostByOrgAttributes,
+    CostByOrgResponse: CostByOrgResponse_1.CostByOrgResponse,
+    Creator: Creator_1.Creator,
+    DashboardListAddItemsRequest: DashboardListAddItemsRequest_1.DashboardListAddItemsRequest,
+    DashboardListAddItemsResponse: DashboardListAddItemsResponse_1.DashboardListAddItemsResponse,
+    DashboardListDeleteItemsRequest: DashboardListDeleteItemsRequest_1.DashboardListDeleteItemsRequest,
+    DashboardListDeleteItemsResponse: DashboardListDeleteItemsResponse_1.DashboardListDeleteItemsResponse,
+    DashboardListItem: DashboardListItem_1.DashboardListItem,
+    DashboardListItemRequest: DashboardListItemRequest_1.DashboardListItemRequest,
+    DashboardListItemResponse: DashboardListItemResponse_1.DashboardListItemResponse,
+    DashboardListItems: DashboardListItems_1.DashboardListItems,
+    DashboardListUpdateItemsRequest: DashboardListUpdateItemsRequest_1.DashboardListUpdateItemsRequest,
+    DashboardListUpdateItemsResponse: DashboardListUpdateItemsResponse_1.DashboardListUpdateItemsResponse,
+    DataScalarColumn: DataScalarColumn_1.DataScalarColumn,
+    DetailedFinding: DetailedFinding_1.DetailedFinding,
+    DetailedFindingAttributes: DetailedFindingAttributes_1.DetailedFindingAttributes,
+    DowntimeCreateRequest: DowntimeCreateRequest_1.DowntimeCreateRequest,
+    DowntimeCreateRequestAttributes: DowntimeCreateRequestAttributes_1.DowntimeCreateRequestAttributes,
+    DowntimeCreateRequestData: DowntimeCreateRequestData_1.DowntimeCreateRequestData,
+    DowntimeMeta: DowntimeMeta_1.DowntimeMeta,
+    DowntimeMetaPage: DowntimeMetaPage_1.DowntimeMetaPage,
+    DowntimeMonitorIdentifierId: DowntimeMonitorIdentifierId_1.DowntimeMonitorIdentifierId,
+    DowntimeMonitorIdentifierTags: DowntimeMonitorIdentifierTags_1.DowntimeMonitorIdentifierTags,
+    DowntimeMonitorIncludedAttributes: DowntimeMonitorIncludedAttributes_1.DowntimeMonitorIncludedAttributes,
+    DowntimeMonitorIncludedItem: DowntimeMonitorIncludedItem_1.DowntimeMonitorIncludedItem,
+    DowntimeRelationships: DowntimeRelationships_1.DowntimeRelationships,
+    DowntimeRelationshipsCreatedBy: DowntimeRelationshipsCreatedBy_1.DowntimeRelationshipsCreatedBy,
+    DowntimeRelationshipsCreatedByData: DowntimeRelationshipsCreatedByData_1.DowntimeRelationshipsCreatedByData,
+    DowntimeRelationshipsMonitor: DowntimeRelationshipsMonitor_1.DowntimeRelationshipsMonitor,
+    DowntimeRelationshipsMonitorData: DowntimeRelationshipsMonitorData_1.DowntimeRelationshipsMonitorData,
+    DowntimeResponse: DowntimeResponse_1.DowntimeResponse,
+    DowntimeResponseAttributes: DowntimeResponseAttributes_1.DowntimeResponseAttributes,
+    DowntimeResponseData: DowntimeResponseData_1.DowntimeResponseData,
+    DowntimeScheduleCurrentDowntimeResponse: DowntimeScheduleCurrentDowntimeResponse_1.DowntimeScheduleCurrentDowntimeResponse,
+    DowntimeScheduleOneTimeCreateUpdateRequest: DowntimeScheduleOneTimeCreateUpdateRequest_1.DowntimeScheduleOneTimeCreateUpdateRequest,
+    DowntimeScheduleOneTimeResponse: DowntimeScheduleOneTimeResponse_1.DowntimeScheduleOneTimeResponse,
+    DowntimeScheduleRecurrenceCreateUpdateRequest: DowntimeScheduleRecurrenceCreateUpdateRequest_1.DowntimeScheduleRecurrenceCreateUpdateRequest,
+    DowntimeScheduleRecurrenceResponse: DowntimeScheduleRecurrenceResponse_1.DowntimeScheduleRecurrenceResponse,
+    DowntimeScheduleRecurrencesCreateRequest: DowntimeScheduleRecurrencesCreateRequest_1.DowntimeScheduleRecurrencesCreateRequest,
+    DowntimeScheduleRecurrencesResponse: DowntimeScheduleRecurrencesResponse_1.DowntimeScheduleRecurrencesResponse,
+    DowntimeScheduleRecurrencesUpdateRequest: DowntimeScheduleRecurrencesUpdateRequest_1.DowntimeScheduleRecurrencesUpdateRequest,
+    DowntimeUpdateRequest: DowntimeUpdateRequest_1.DowntimeUpdateRequest,
+    DowntimeUpdateRequestAttributes: DowntimeUpdateRequestAttributes_1.DowntimeUpdateRequestAttributes,
+    DowntimeUpdateRequestData: DowntimeUpdateRequestData_1.DowntimeUpdateRequestData,
+    Event: Event_1.Event,
+    EventAttributes: EventAttributes_1.EventAttributes,
+    EventResponse: EventResponse_1.EventResponse,
+    EventResponseAttributes: EventResponseAttributes_1.EventResponseAttributes,
+    EventsCompute: EventsCompute_1.EventsCompute,
+    EventsGroupBy: EventsGroupBy_1.EventsGroupBy,
+    EventsGroupBySort: EventsGroupBySort_1.EventsGroupBySort,
+    EventsListRequest: EventsListRequest_1.EventsListRequest,
+    EventsListResponse: EventsListResponse_1.EventsListResponse,
+    EventsListResponseLinks: EventsListResponseLinks_1.EventsListResponseLinks,
+    EventsQueryFilter: EventsQueryFilter_1.EventsQueryFilter,
+    EventsQueryOptions: EventsQueryOptions_1.EventsQueryOptions,
+    EventsRequestPage: EventsRequestPage_1.EventsRequestPage,
+    EventsResponseMetadata: EventsResponseMetadata_1.EventsResponseMetadata,
+    EventsResponseMetadataPage: EventsResponseMetadataPage_1.EventsResponseMetadataPage,
+    EventsScalarQuery: EventsScalarQuery_1.EventsScalarQuery,
+    EventsSearch: EventsSearch_1.EventsSearch,
+    EventsTimeseriesQuery: EventsTimeseriesQuery_1.EventsTimeseriesQuery,
+    EventsWarning: EventsWarning_1.EventsWarning,
+    FastlyAccounResponseAttributes: FastlyAccounResponseAttributes_1.FastlyAccounResponseAttributes,
+    FastlyAccountCreateRequest: FastlyAccountCreateRequest_1.FastlyAccountCreateRequest,
+    FastlyAccountCreateRequestAttributes: FastlyAccountCreateRequestAttributes_1.FastlyAccountCreateRequestAttributes,
+    FastlyAccountCreateRequestData: FastlyAccountCreateRequestData_1.FastlyAccountCreateRequestData,
+    FastlyAccountResponse: FastlyAccountResponse_1.FastlyAccountResponse,
+    FastlyAccountResponseData: FastlyAccountResponseData_1.FastlyAccountResponseData,
+    FastlyAccountUpdateRequest: FastlyAccountUpdateRequest_1.FastlyAccountUpdateRequest,
+    FastlyAccountUpdateRequestAttributes: FastlyAccountUpdateRequestAttributes_1.FastlyAccountUpdateRequestAttributes,
+    FastlyAccountUpdateRequestData: FastlyAccountUpdateRequestData_1.FastlyAccountUpdateRequestData,
+    FastlyAccountsResponse: FastlyAccountsResponse_1.FastlyAccountsResponse,
+    FastlyService: FastlyService_1.FastlyService,
+    FastlyServiceAttributes: FastlyServiceAttributes_1.FastlyServiceAttributes,
+    FastlyServiceData: FastlyServiceData_1.FastlyServiceData,
+    FastlyServiceRequest: FastlyServiceRequest_1.FastlyServiceRequest,
+    FastlyServiceResponse: FastlyServiceResponse_1.FastlyServiceResponse,
+    FastlyServicesResponse: FastlyServicesResponse_1.FastlyServicesResponse,
+    Finding: Finding_1.Finding,
+    FindingAttributes: FindingAttributes_1.FindingAttributes,
+    FindingMute: FindingMute_1.FindingMute,
+    FindingRule: FindingRule_1.FindingRule,
+    FormulaLimit: FormulaLimit_1.FormulaLimit,
+    FullAPIKey: FullAPIKey_1.FullAPIKey,
+    FullAPIKeyAttributes: FullAPIKeyAttributes_1.FullAPIKeyAttributes,
+    FullApplicationKey: FullApplicationKey_1.FullApplicationKey,
+    FullApplicationKeyAttributes: FullApplicationKeyAttributes_1.FullApplicationKeyAttributes,
+    GCPSTSDelegateAccount: GCPSTSDelegateAccount_1.GCPSTSDelegateAccount,
+    GCPSTSDelegateAccountAttributes: GCPSTSDelegateAccountAttributes_1.GCPSTSDelegateAccountAttributes,
+    GCPSTSDelegateAccountResponse: GCPSTSDelegateAccountResponse_1.GCPSTSDelegateAccountResponse,
+    GCPSTSServiceAccount: GCPSTSServiceAccount_1.GCPSTSServiceAccount,
+    GCPSTSServiceAccountAttributes: GCPSTSServiceAccountAttributes_1.GCPSTSServiceAccountAttributes,
+    GCPSTSServiceAccountCreateRequest: GCPSTSServiceAccountCreateRequest_1.GCPSTSServiceAccountCreateRequest,
+    GCPSTSServiceAccountData: GCPSTSServiceAccountData_1.GCPSTSServiceAccountData,
+    GCPSTSServiceAccountResponse: GCPSTSServiceAccountResponse_1.GCPSTSServiceAccountResponse,
+    GCPSTSServiceAccountUpdateRequest: GCPSTSServiceAccountUpdateRequest_1.GCPSTSServiceAccountUpdateRequest,
+    GCPSTSServiceAccountUpdateRequestData: GCPSTSServiceAccountUpdateRequestData_1.GCPSTSServiceAccountUpdateRequestData,
+    GCPSTSServiceAccountsResponse: GCPSTSServiceAccountsResponse_1.GCPSTSServiceAccountsResponse,
+    GCPServiceAccountMeta: GCPServiceAccountMeta_1.GCPServiceAccountMeta,
+    GetFindingResponse: GetFindingResponse_1.GetFindingResponse,
+    GroupScalarColumn: GroupScalarColumn_1.GroupScalarColumn,
+    HTTPCIAppError: HTTPCIAppError_1.HTTPCIAppError,
+    HTTPCIAppErrors: HTTPCIAppErrors_1.HTTPCIAppErrors,
+    HTTPLogError: HTTPLogError_1.HTTPLogError,
+    HTTPLogErrors: HTTPLogErrors_1.HTTPLogErrors,
+    HTTPLogItem: HTTPLogItem_1.HTTPLogItem,
+    HourlyUsage: HourlyUsage_1.HourlyUsage,
+    HourlyUsageAttributes: HourlyUsageAttributes_1.HourlyUsageAttributes,
+    HourlyUsageMeasurement: HourlyUsageMeasurement_1.HourlyUsageMeasurement,
+    HourlyUsageMetadata: HourlyUsageMetadata_1.HourlyUsageMetadata,
+    HourlyUsagePagination: HourlyUsagePagination_1.HourlyUsagePagination,
+    HourlyUsageResponse: HourlyUsageResponse_1.HourlyUsageResponse,
+    IPAllowlistAttributes: IPAllowlistAttributes_1.IPAllowlistAttributes,
+    IPAllowlistData: IPAllowlistData_1.IPAllowlistData,
+    IPAllowlistEntry: IPAllowlistEntry_1.IPAllowlistEntry,
+    IPAllowlistEntryAttributes: IPAllowlistEntryAttributes_1.IPAllowlistEntryAttributes,
+    IPAllowlistEntryData: IPAllowlistEntryData_1.IPAllowlistEntryData,
+    IPAllowlistResponse: IPAllowlistResponse_1.IPAllowlistResponse,
+    IPAllowlistUpdateRequest: IPAllowlistUpdateRequest_1.IPAllowlistUpdateRequest,
+    IdPMetadataFormData: IdPMetadataFormData_1.IdPMetadataFormData,
+    IncidentAttachmentData: IncidentAttachmentData_1.IncidentAttachmentData,
+    IncidentAttachmentLinkAttributes: IncidentAttachmentLinkAttributes_1.IncidentAttachmentLinkAttributes,
+    IncidentAttachmentLinkAttributesAttachmentObject: IncidentAttachmentLinkAttributesAttachmentObject_1.IncidentAttachmentLinkAttributesAttachmentObject,
+    IncidentAttachmentPostmortemAttributes: IncidentAttachmentPostmortemAttributes_1.IncidentAttachmentPostmortemAttributes,
+    IncidentAttachmentRelationships: IncidentAttachmentRelationships_1.IncidentAttachmentRelationships,
+    IncidentAttachmentUpdateData: IncidentAttachmentUpdateData_1.IncidentAttachmentUpdateData,
+    IncidentAttachmentUpdateRequest: IncidentAttachmentUpdateRequest_1.IncidentAttachmentUpdateRequest,
+    IncidentAttachmentUpdateResponse: IncidentAttachmentUpdateResponse_1.IncidentAttachmentUpdateResponse,
+    IncidentAttachmentsPostmortemAttributesAttachmentObject: IncidentAttachmentsPostmortemAttributesAttachmentObject_1.IncidentAttachmentsPostmortemAttributesAttachmentObject,
+    IncidentAttachmentsResponse: IncidentAttachmentsResponse_1.IncidentAttachmentsResponse,
+    IncidentCreateAttributes: IncidentCreateAttributes_1.IncidentCreateAttributes,
+    IncidentCreateData: IncidentCreateData_1.IncidentCreateData,
+    IncidentCreateRelationships: IncidentCreateRelationships_1.IncidentCreateRelationships,
+    IncidentCreateRequest: IncidentCreateRequest_1.IncidentCreateRequest,
+    IncidentFieldAttributesMultipleValue: IncidentFieldAttributesMultipleValue_1.IncidentFieldAttributesMultipleValue,
+    IncidentFieldAttributesSingleValue: IncidentFieldAttributesSingleValue_1.IncidentFieldAttributesSingleValue,
+    IncidentIntegrationMetadataAttributes: IncidentIntegrationMetadataAttributes_1.IncidentIntegrationMetadataAttributes,
+    IncidentIntegrationMetadataCreateData: IncidentIntegrationMetadataCreateData_1.IncidentIntegrationMetadataCreateData,
+    IncidentIntegrationMetadataCreateRequest: IncidentIntegrationMetadataCreateRequest_1.IncidentIntegrationMetadataCreateRequest,
+    IncidentIntegrationMetadataListResponse: IncidentIntegrationMetadataListResponse_1.IncidentIntegrationMetadataListResponse,
+    IncidentIntegrationMetadataPatchData: IncidentIntegrationMetadataPatchData_1.IncidentIntegrationMetadataPatchData,
+    IncidentIntegrationMetadataPatchRequest: IncidentIntegrationMetadataPatchRequest_1.IncidentIntegrationMetadataPatchRequest,
+    IncidentIntegrationMetadataResponse: IncidentIntegrationMetadataResponse_1.IncidentIntegrationMetadataResponse,
+    IncidentIntegrationMetadataResponseData: IncidentIntegrationMetadataResponseData_1.IncidentIntegrationMetadataResponseData,
+    IncidentNotificationHandle: IncidentNotificationHandle_1.IncidentNotificationHandle,
+    IncidentResponse: IncidentResponse_1.IncidentResponse,
+    IncidentResponseAttributes: IncidentResponseAttributes_1.IncidentResponseAttributes,
+    IncidentResponseData: IncidentResponseData_1.IncidentResponseData,
+    IncidentResponseMeta: IncidentResponseMeta_1.IncidentResponseMeta,
+    IncidentResponseMetaPagination: IncidentResponseMetaPagination_1.IncidentResponseMetaPagination,
+    IncidentResponseRelationships: IncidentResponseRelationships_1.IncidentResponseRelationships,
+    IncidentSearchResponse: IncidentSearchResponse_1.IncidentSearchResponse,
+    IncidentSearchResponseAttributes: IncidentSearchResponseAttributes_1.IncidentSearchResponseAttributes,
+    IncidentSearchResponseData: IncidentSearchResponseData_1.IncidentSearchResponseData,
+    IncidentSearchResponseFacetsData: IncidentSearchResponseFacetsData_1.IncidentSearchResponseFacetsData,
+    IncidentSearchResponseFieldFacetData: IncidentSearchResponseFieldFacetData_1.IncidentSearchResponseFieldFacetData,
+    IncidentSearchResponseIncidentsData: IncidentSearchResponseIncidentsData_1.IncidentSearchResponseIncidentsData,
+    IncidentSearchResponseMeta: IncidentSearchResponseMeta_1.IncidentSearchResponseMeta,
+    IncidentSearchResponseNumericFacetData: IncidentSearchResponseNumericFacetData_1.IncidentSearchResponseNumericFacetData,
+    IncidentSearchResponseNumericFacetDataAggregates: IncidentSearchResponseNumericFacetDataAggregates_1.IncidentSearchResponseNumericFacetDataAggregates,
+    IncidentSearchResponsePropertyFieldFacetData: IncidentSearchResponsePropertyFieldFacetData_1.IncidentSearchResponsePropertyFieldFacetData,
+    IncidentSearchResponseUserFacetData: IncidentSearchResponseUserFacetData_1.IncidentSearchResponseUserFacetData,
+    IncidentServiceCreateAttributes: IncidentServiceCreateAttributes_1.IncidentServiceCreateAttributes,
+    IncidentServiceCreateData: IncidentServiceCreateData_1.IncidentServiceCreateData,
+    IncidentServiceCreateRequest: IncidentServiceCreateRequest_1.IncidentServiceCreateRequest,
+    IncidentServiceRelationships: IncidentServiceRelationships_1.IncidentServiceRelationships,
+    IncidentServiceResponse: IncidentServiceResponse_1.IncidentServiceResponse,
+    IncidentServiceResponseAttributes: IncidentServiceResponseAttributes_1.IncidentServiceResponseAttributes,
+    IncidentServiceResponseData: IncidentServiceResponseData_1.IncidentServiceResponseData,
+    IncidentServiceUpdateAttributes: IncidentServiceUpdateAttributes_1.IncidentServiceUpdateAttributes,
+    IncidentServiceUpdateData: IncidentServiceUpdateData_1.IncidentServiceUpdateData,
+    IncidentServiceUpdateRequest: IncidentServiceUpdateRequest_1.IncidentServiceUpdateRequest,
+    IncidentServicesResponse: IncidentServicesResponse_1.IncidentServicesResponse,
+    IncidentTeamCreateAttributes: IncidentTeamCreateAttributes_1.IncidentTeamCreateAttributes,
+    IncidentTeamCreateData: IncidentTeamCreateData_1.IncidentTeamCreateData,
+    IncidentTeamCreateRequest: IncidentTeamCreateRequest_1.IncidentTeamCreateRequest,
+    IncidentTeamRelationships: IncidentTeamRelationships_1.IncidentTeamRelationships,
+    IncidentTeamResponse: IncidentTeamResponse_1.IncidentTeamResponse,
+    IncidentTeamResponseAttributes: IncidentTeamResponseAttributes_1.IncidentTeamResponseAttributes,
+    IncidentTeamResponseData: IncidentTeamResponseData_1.IncidentTeamResponseData,
+    IncidentTeamUpdateAttributes: IncidentTeamUpdateAttributes_1.IncidentTeamUpdateAttributes,
+    IncidentTeamUpdateData: IncidentTeamUpdateData_1.IncidentTeamUpdateData,
+    IncidentTeamUpdateRequest: IncidentTeamUpdateRequest_1.IncidentTeamUpdateRequest,
+    IncidentTeamsResponse: IncidentTeamsResponse_1.IncidentTeamsResponse,
+    IncidentTimelineCellMarkdownCreateAttributes: IncidentTimelineCellMarkdownCreateAttributes_1.IncidentTimelineCellMarkdownCreateAttributes,
+    IncidentTimelineCellMarkdownCreateAttributesContent: IncidentTimelineCellMarkdownCreateAttributesContent_1.IncidentTimelineCellMarkdownCreateAttributesContent,
+    IncidentTodoAnonymousAssignee: IncidentTodoAnonymousAssignee_1.IncidentTodoAnonymousAssignee,
+    IncidentTodoAttributes: IncidentTodoAttributes_1.IncidentTodoAttributes,
+    IncidentTodoCreateData: IncidentTodoCreateData_1.IncidentTodoCreateData,
+    IncidentTodoCreateRequest: IncidentTodoCreateRequest_1.IncidentTodoCreateRequest,
+    IncidentTodoListResponse: IncidentTodoListResponse_1.IncidentTodoListResponse,
+    IncidentTodoPatchData: IncidentTodoPatchData_1.IncidentTodoPatchData,
+    IncidentTodoPatchRequest: IncidentTodoPatchRequest_1.IncidentTodoPatchRequest,
+    IncidentTodoResponse: IncidentTodoResponse_1.IncidentTodoResponse,
+    IncidentTodoResponseData: IncidentTodoResponseData_1.IncidentTodoResponseData,
+    IncidentUpdateAttributes: IncidentUpdateAttributes_1.IncidentUpdateAttributes,
+    IncidentUpdateData: IncidentUpdateData_1.IncidentUpdateData,
+    IncidentUpdateRelationships: IncidentUpdateRelationships_1.IncidentUpdateRelationships,
+    IncidentUpdateRequest: IncidentUpdateRequest_1.IncidentUpdateRequest,
+    IncidentsResponse: IncidentsResponse_1.IncidentsResponse,
+    IntakePayloadAccepted: IntakePayloadAccepted_1.IntakePayloadAccepted,
+    JSONAPIErrorItem: JSONAPIErrorItem_1.JSONAPIErrorItem,
+    JSONAPIErrorResponse: JSONAPIErrorResponse_1.JSONAPIErrorResponse,
+    JiraIntegrationMetadata: JiraIntegrationMetadata_1.JiraIntegrationMetadata,
+    JiraIntegrationMetadataIssuesItem: JiraIntegrationMetadataIssuesItem_1.JiraIntegrationMetadataIssuesItem,
+    ListApplicationKeysResponse: ListApplicationKeysResponse_1.ListApplicationKeysResponse,
+    ListDowntimesResponse: ListDowntimesResponse_1.ListDowntimesResponse,
+    ListFindingsMeta: ListFindingsMeta_1.ListFindingsMeta,
+    ListFindingsPage: ListFindingsPage_1.ListFindingsPage,
+    ListFindingsResponse: ListFindingsResponse_1.ListFindingsResponse,
+    Log: Log_1.Log,
+    LogAttributes: LogAttributes_1.LogAttributes,
+    LogsAggregateBucket: LogsAggregateBucket_1.LogsAggregateBucket,
+    LogsAggregateBucketValueTimeseriesPoint: LogsAggregateBucketValueTimeseriesPoint_1.LogsAggregateBucketValueTimeseriesPoint,
+    LogsAggregateRequest: LogsAggregateRequest_1.LogsAggregateRequest,
+    LogsAggregateRequestPage: LogsAggregateRequestPage_1.LogsAggregateRequestPage,
+    LogsAggregateResponse: LogsAggregateResponse_1.LogsAggregateResponse,
+    LogsAggregateResponseData: LogsAggregateResponseData_1.LogsAggregateResponseData,
+    LogsAggregateSort: LogsAggregateSort_1.LogsAggregateSort,
+    LogsArchive: LogsArchive_1.LogsArchive,
+    LogsArchiveAttributes: LogsArchiveAttributes_1.LogsArchiveAttributes,
+    LogsArchiveCreateRequest: LogsArchiveCreateRequest_1.LogsArchiveCreateRequest,
+    LogsArchiveCreateRequestAttributes: LogsArchiveCreateRequestAttributes_1.LogsArchiveCreateRequestAttributes,
+    LogsArchiveCreateRequestDefinition: LogsArchiveCreateRequestDefinition_1.LogsArchiveCreateRequestDefinition,
+    LogsArchiveDefinition: LogsArchiveDefinition_1.LogsArchiveDefinition,
+    LogsArchiveDestinationAzure: LogsArchiveDestinationAzure_1.LogsArchiveDestinationAzure,
+    LogsArchiveDestinationGCS: LogsArchiveDestinationGCS_1.LogsArchiveDestinationGCS,
+    LogsArchiveDestinationS3: LogsArchiveDestinationS3_1.LogsArchiveDestinationS3,
+    LogsArchiveIntegrationAzure: LogsArchiveIntegrationAzure_1.LogsArchiveIntegrationAzure,
+    LogsArchiveIntegrationGCS: LogsArchiveIntegrationGCS_1.LogsArchiveIntegrationGCS,
+    LogsArchiveIntegrationS3: LogsArchiveIntegrationS3_1.LogsArchiveIntegrationS3,
+    LogsArchiveOrder: LogsArchiveOrder_1.LogsArchiveOrder,
+    LogsArchiveOrderAttributes: LogsArchiveOrderAttributes_1.LogsArchiveOrderAttributes,
+    LogsArchiveOrderDefinition: LogsArchiveOrderDefinition_1.LogsArchiveOrderDefinition,
+    LogsArchives: LogsArchives_1.LogsArchives,
+    LogsCompute: LogsCompute_1.LogsCompute,
+    LogsGroupBy: LogsGroupBy_1.LogsGroupBy,
+    LogsGroupByHistogram: LogsGroupByHistogram_1.LogsGroupByHistogram,
+    LogsListRequest: LogsListRequest_1.LogsListRequest,
+    LogsListRequestPage: LogsListRequestPage_1.LogsListRequestPage,
+    LogsListResponse: LogsListResponse_1.LogsListResponse,
+    LogsListResponseLinks: LogsListResponseLinks_1.LogsListResponseLinks,
+    LogsMetricCompute: LogsMetricCompute_1.LogsMetricCompute,
+    LogsMetricCreateAttributes: LogsMetricCreateAttributes_1.LogsMetricCreateAttributes,
+    LogsMetricCreateData: LogsMetricCreateData_1.LogsMetricCreateData,
+    LogsMetricCreateRequest: LogsMetricCreateRequest_1.LogsMetricCreateRequest,
+    LogsMetricFilter: LogsMetricFilter_1.LogsMetricFilter,
+    LogsMetricGroupBy: LogsMetricGroupBy_1.LogsMetricGroupBy,
+    LogsMetricResponse: LogsMetricResponse_1.LogsMetricResponse,
+    LogsMetricResponseAttributes: LogsMetricResponseAttributes_1.LogsMetricResponseAttributes,
+    LogsMetricResponseCompute: LogsMetricResponseCompute_1.LogsMetricResponseCompute,
+    LogsMetricResponseData: LogsMetricResponseData_1.LogsMetricResponseData,
+    LogsMetricResponseFilter: LogsMetricResponseFilter_1.LogsMetricResponseFilter,
+    LogsMetricResponseGroupBy: LogsMetricResponseGroupBy_1.LogsMetricResponseGroupBy,
+    LogsMetricUpdateAttributes: LogsMetricUpdateAttributes_1.LogsMetricUpdateAttributes,
+    LogsMetricUpdateCompute: LogsMetricUpdateCompute_1.LogsMetricUpdateCompute,
+    LogsMetricUpdateData: LogsMetricUpdateData_1.LogsMetricUpdateData,
+    LogsMetricUpdateRequest: LogsMetricUpdateRequest_1.LogsMetricUpdateRequest,
+    LogsMetricsResponse: LogsMetricsResponse_1.LogsMetricsResponse,
+    LogsQueryFilter: LogsQueryFilter_1.LogsQueryFilter,
+    LogsQueryOptions: LogsQueryOptions_1.LogsQueryOptions,
+    LogsResponseMetadata: LogsResponseMetadata_1.LogsResponseMetadata,
+    LogsResponseMetadataPage: LogsResponseMetadataPage_1.LogsResponseMetadataPage,
+    LogsWarning: LogsWarning_1.LogsWarning,
+    Metric: Metric_1.Metric,
+    MetricAllTags: MetricAllTags_1.MetricAllTags,
+    MetricAllTagsAttributes: MetricAllTagsAttributes_1.MetricAllTagsAttributes,
+    MetricAllTagsResponse: MetricAllTagsResponse_1.MetricAllTagsResponse,
+    MetricBulkTagConfigCreate: MetricBulkTagConfigCreate_1.MetricBulkTagConfigCreate,
+    MetricBulkTagConfigCreateAttributes: MetricBulkTagConfigCreateAttributes_1.MetricBulkTagConfigCreateAttributes,
+    MetricBulkTagConfigCreateRequest: MetricBulkTagConfigCreateRequest_1.MetricBulkTagConfigCreateRequest,
+    MetricBulkTagConfigDelete: MetricBulkTagConfigDelete_1.MetricBulkTagConfigDelete,
+    MetricBulkTagConfigDeleteAttributes: MetricBulkTagConfigDeleteAttributes_1.MetricBulkTagConfigDeleteAttributes,
+    MetricBulkTagConfigDeleteRequest: MetricBulkTagConfigDeleteRequest_1.MetricBulkTagConfigDeleteRequest,
+    MetricBulkTagConfigResponse: MetricBulkTagConfigResponse_1.MetricBulkTagConfigResponse,
+    MetricBulkTagConfigStatus: MetricBulkTagConfigStatus_1.MetricBulkTagConfigStatus,
+    MetricBulkTagConfigStatusAttributes: MetricBulkTagConfigStatusAttributes_1.MetricBulkTagConfigStatusAttributes,
+    MetricCustomAggregation: MetricCustomAggregation_1.MetricCustomAggregation,
+    MetricDistinctVolume: MetricDistinctVolume_1.MetricDistinctVolume,
+    MetricDistinctVolumeAttributes: MetricDistinctVolumeAttributes_1.MetricDistinctVolumeAttributes,
+    MetricEstimate: MetricEstimate_1.MetricEstimate,
+    MetricEstimateAttributes: MetricEstimateAttributes_1.MetricEstimateAttributes,
+    MetricEstimateResponse: MetricEstimateResponse_1.MetricEstimateResponse,
+    MetricIngestedIndexedVolume: MetricIngestedIndexedVolume_1.MetricIngestedIndexedVolume,
+    MetricIngestedIndexedVolumeAttributes: MetricIngestedIndexedVolumeAttributes_1.MetricIngestedIndexedVolumeAttributes,
+    MetricMetadata: MetricMetadata_1.MetricMetadata,
+    MetricOrigin: MetricOrigin_1.MetricOrigin,
+    MetricPayload: MetricPayload_1.MetricPayload,
+    MetricPoint: MetricPoint_1.MetricPoint,
+    MetricResource: MetricResource_1.MetricResource,
+    MetricSeries: MetricSeries_1.MetricSeries,
+    MetricSuggestedTagsAndAggregations: MetricSuggestedTagsAndAggregations_1.MetricSuggestedTagsAndAggregations,
+    MetricSuggestedTagsAndAggregationsResponse: MetricSuggestedTagsAndAggregationsResponse_1.MetricSuggestedTagsAndAggregationsResponse,
+    MetricSuggestedTagsAttributes: MetricSuggestedTagsAttributes_1.MetricSuggestedTagsAttributes,
+    MetricTagConfiguration: MetricTagConfiguration_1.MetricTagConfiguration,
+    MetricTagConfigurationAttributes: MetricTagConfigurationAttributes_1.MetricTagConfigurationAttributes,
+    MetricTagConfigurationCreateAttributes: MetricTagConfigurationCreateAttributes_1.MetricTagConfigurationCreateAttributes,
+    MetricTagConfigurationCreateData: MetricTagConfigurationCreateData_1.MetricTagConfigurationCreateData,
+    MetricTagConfigurationCreateRequest: MetricTagConfigurationCreateRequest_1.MetricTagConfigurationCreateRequest,
+    MetricTagConfigurationResponse: MetricTagConfigurationResponse_1.MetricTagConfigurationResponse,
+    MetricTagConfigurationUpdateAttributes: MetricTagConfigurationUpdateAttributes_1.MetricTagConfigurationUpdateAttributes,
+    MetricTagConfigurationUpdateData: MetricTagConfigurationUpdateData_1.MetricTagConfigurationUpdateData,
+    MetricTagConfigurationUpdateRequest: MetricTagConfigurationUpdateRequest_1.MetricTagConfigurationUpdateRequest,
+    MetricVolumesResponse: MetricVolumesResponse_1.MetricVolumesResponse,
+    MetricsAndMetricTagConfigurationsResponse: MetricsAndMetricTagConfigurationsResponse_1.MetricsAndMetricTagConfigurationsResponse,
+    MetricsScalarQuery: MetricsScalarQuery_1.MetricsScalarQuery,
+    MetricsTimeseriesQuery: MetricsTimeseriesQuery_1.MetricsTimeseriesQuery,
+    MonitorConfigPolicyAttributeCreateRequest: MonitorConfigPolicyAttributeCreateRequest_1.MonitorConfigPolicyAttributeCreateRequest,
+    MonitorConfigPolicyAttributeEditRequest: MonitorConfigPolicyAttributeEditRequest_1.MonitorConfigPolicyAttributeEditRequest,
+    MonitorConfigPolicyAttributeResponse: MonitorConfigPolicyAttributeResponse_1.MonitorConfigPolicyAttributeResponse,
+    MonitorConfigPolicyCreateData: MonitorConfigPolicyCreateData_1.MonitorConfigPolicyCreateData,
+    MonitorConfigPolicyCreateRequest: MonitorConfigPolicyCreateRequest_1.MonitorConfigPolicyCreateRequest,
+    MonitorConfigPolicyEditData: MonitorConfigPolicyEditData_1.MonitorConfigPolicyEditData,
+    MonitorConfigPolicyEditRequest: MonitorConfigPolicyEditRequest_1.MonitorConfigPolicyEditRequest,
+    MonitorConfigPolicyListResponse: MonitorConfigPolicyListResponse_1.MonitorConfigPolicyListResponse,
+    MonitorConfigPolicyResponse: MonitorConfigPolicyResponse_1.MonitorConfigPolicyResponse,
+    MonitorConfigPolicyResponseData: MonitorConfigPolicyResponseData_1.MonitorConfigPolicyResponseData,
+    MonitorConfigPolicyTagPolicy: MonitorConfigPolicyTagPolicy_1.MonitorConfigPolicyTagPolicy,
+    MonitorConfigPolicyTagPolicyCreateRequest: MonitorConfigPolicyTagPolicyCreateRequest_1.MonitorConfigPolicyTagPolicyCreateRequest,
+    MonitorDowntimeMatchResponse: MonitorDowntimeMatchResponse_1.MonitorDowntimeMatchResponse,
+    MonitorDowntimeMatchResponseAttributes: MonitorDowntimeMatchResponseAttributes_1.MonitorDowntimeMatchResponseAttributes,
+    MonitorDowntimeMatchResponseData: MonitorDowntimeMatchResponseData_1.MonitorDowntimeMatchResponseData,
+    MonitorType: MonitorType_1.MonitorType,
+    MuteFindingRequest: MuteFindingRequest_1.MuteFindingRequest,
+    MuteFindingRequestAttributes: MuteFindingRequestAttributes_1.MuteFindingRequestAttributes,
+    MuteFindingRequestData: MuteFindingRequestData_1.MuteFindingRequestData,
+    MuteFindingRequestProperties: MuteFindingRequestProperties_1.MuteFindingRequestProperties,
+    MuteFindingResponse: MuteFindingResponse_1.MuteFindingResponse,
+    MuteFindingResponseAttributes: MuteFindingResponseAttributes_1.MuteFindingResponseAttributes,
+    MuteFindingResponseData: MuteFindingResponseData_1.MuteFindingResponseData,
+    MuteFindingResponseProperties: MuteFindingResponseProperties_1.MuteFindingResponseProperties,
+    NullableRelationshipToUser: NullableRelationshipToUser_1.NullableRelationshipToUser,
+    NullableRelationshipToUserData: NullableRelationshipToUserData_1.NullableRelationshipToUserData,
+    OnDemandConcurrencyCap: OnDemandConcurrencyCap_1.OnDemandConcurrencyCap,
+    OnDemandConcurrencyCapAttributes: OnDemandConcurrencyCapAttributes_1.OnDemandConcurrencyCapAttributes,
+    OnDemandConcurrencyCapResponse: OnDemandConcurrencyCapResponse_1.OnDemandConcurrencyCapResponse,
+    OpsgenieServiceCreateAttributes: OpsgenieServiceCreateAttributes_1.OpsgenieServiceCreateAttributes,
+    OpsgenieServiceCreateData: OpsgenieServiceCreateData_1.OpsgenieServiceCreateData,
+    OpsgenieServiceCreateRequest: OpsgenieServiceCreateRequest_1.OpsgenieServiceCreateRequest,
+    OpsgenieServiceResponse: OpsgenieServiceResponse_1.OpsgenieServiceResponse,
+    OpsgenieServiceResponseAttributes: OpsgenieServiceResponseAttributes_1.OpsgenieServiceResponseAttributes,
+    OpsgenieServiceResponseData: OpsgenieServiceResponseData_1.OpsgenieServiceResponseData,
+    OpsgenieServiceUpdateAttributes: OpsgenieServiceUpdateAttributes_1.OpsgenieServiceUpdateAttributes,
+    OpsgenieServiceUpdateData: OpsgenieServiceUpdateData_1.OpsgenieServiceUpdateData,
+    OpsgenieServiceUpdateRequest: OpsgenieServiceUpdateRequest_1.OpsgenieServiceUpdateRequest,
+    OpsgenieServicesResponse: OpsgenieServicesResponse_1.OpsgenieServicesResponse,
+    Organization: Organization_1.Organization,
+    OrganizationAttributes: OrganizationAttributes_1.OrganizationAttributes,
+    Pagination: Pagination_1.Pagination,
+    PartialAPIKey: PartialAPIKey_1.PartialAPIKey,
+    PartialAPIKeyAttributes: PartialAPIKeyAttributes_1.PartialAPIKeyAttributes,
+    PartialApplicationKey: PartialApplicationKey_1.PartialApplicationKey,
+    PartialApplicationKeyAttributes: PartialApplicationKeyAttributes_1.PartialApplicationKeyAttributes,
+    PartialApplicationKeyResponse: PartialApplicationKeyResponse_1.PartialApplicationKeyResponse,
+    Permission: Permission_1.Permission,
+    PermissionAttributes: PermissionAttributes_1.PermissionAttributes,
+    PermissionsResponse: PermissionsResponse_1.PermissionsResponse,
+    ProcessSummariesMeta: ProcessSummariesMeta_1.ProcessSummariesMeta,
+    ProcessSummariesMetaPage: ProcessSummariesMetaPage_1.ProcessSummariesMetaPage,
+    ProcessSummariesResponse: ProcessSummariesResponse_1.ProcessSummariesResponse,
+    ProcessSummary: ProcessSummary_1.ProcessSummary,
+    ProcessSummaryAttributes: ProcessSummaryAttributes_1.ProcessSummaryAttributes,
+    QueryFormula: QueryFormula_1.QueryFormula,
+    RUMAggregateBucketValueTimeseriesPoint: RUMAggregateBucketValueTimeseriesPoint_1.RUMAggregateBucketValueTimeseriesPoint,
+    RUMAggregateRequest: RUMAggregateRequest_1.RUMAggregateRequest,
+    RUMAggregateSort: RUMAggregateSort_1.RUMAggregateSort,
+    RUMAggregationBucketsResponse: RUMAggregationBucketsResponse_1.RUMAggregationBucketsResponse,
+    RUMAnalyticsAggregateResponse: RUMAnalyticsAggregateResponse_1.RUMAnalyticsAggregateResponse,
+    RUMApplication: RUMApplication_1.RUMApplication,
+    RUMApplicationAttributes: RUMApplicationAttributes_1.RUMApplicationAttributes,
+    RUMApplicationCreate: RUMApplicationCreate_1.RUMApplicationCreate,
+    RUMApplicationCreateAttributes: RUMApplicationCreateAttributes_1.RUMApplicationCreateAttributes,
+    RUMApplicationCreateRequest: RUMApplicationCreateRequest_1.RUMApplicationCreateRequest,
+    RUMApplicationList: RUMApplicationList_1.RUMApplicationList,
+    RUMApplicationListAttributes: RUMApplicationListAttributes_1.RUMApplicationListAttributes,
+    RUMApplicationResponse: RUMApplicationResponse_1.RUMApplicationResponse,
+    RUMApplicationUpdate: RUMApplicationUpdate_1.RUMApplicationUpdate,
+    RUMApplicationUpdateAttributes: RUMApplicationUpdateAttributes_1.RUMApplicationUpdateAttributes,
+    RUMApplicationUpdateRequest: RUMApplicationUpdateRequest_1.RUMApplicationUpdateRequest,
+    RUMApplicationsResponse: RUMApplicationsResponse_1.RUMApplicationsResponse,
+    RUMBucketResponse: RUMBucketResponse_1.RUMBucketResponse,
+    RUMCompute: RUMCompute_1.RUMCompute,
+    RUMEvent: RUMEvent_1.RUMEvent,
+    RUMEventAttributes: RUMEventAttributes_1.RUMEventAttributes,
+    RUMEventsResponse: RUMEventsResponse_1.RUMEventsResponse,
+    RUMGroupBy: RUMGroupBy_1.RUMGroupBy,
+    RUMGroupByHistogram: RUMGroupByHistogram_1.RUMGroupByHistogram,
+    RUMQueryFilter: RUMQueryFilter_1.RUMQueryFilter,
+    RUMQueryOptions: RUMQueryOptions_1.RUMQueryOptions,
+    RUMQueryPageOptions: RUMQueryPageOptions_1.RUMQueryPageOptions,
+    RUMResponseLinks: RUMResponseLinks_1.RUMResponseLinks,
+    RUMResponseMetadata: RUMResponseMetadata_1.RUMResponseMetadata,
+    RUMResponsePage: RUMResponsePage_1.RUMResponsePage,
+    RUMSearchEventsRequest: RUMSearchEventsRequest_1.RUMSearchEventsRequest,
+    RUMWarning: RUMWarning_1.RUMWarning,
+    RelationshipToIncidentAttachment: RelationshipToIncidentAttachment_1.RelationshipToIncidentAttachment,
+    RelationshipToIncidentAttachmentData: RelationshipToIncidentAttachmentData_1.RelationshipToIncidentAttachmentData,
+    RelationshipToIncidentIntegrationMetadataData: RelationshipToIncidentIntegrationMetadataData_1.RelationshipToIncidentIntegrationMetadataData,
+    RelationshipToIncidentIntegrationMetadatas: RelationshipToIncidentIntegrationMetadatas_1.RelationshipToIncidentIntegrationMetadatas,
+    RelationshipToIncidentPostmortem: RelationshipToIncidentPostmortem_1.RelationshipToIncidentPostmortem,
+    RelationshipToIncidentPostmortemData: RelationshipToIncidentPostmortemData_1.RelationshipToIncidentPostmortemData,
+    RelationshipToOrganization: RelationshipToOrganization_1.RelationshipToOrganization,
+    RelationshipToOrganizationData: RelationshipToOrganizationData_1.RelationshipToOrganizationData,
+    RelationshipToOrganizations: RelationshipToOrganizations_1.RelationshipToOrganizations,
+    RelationshipToPermission: RelationshipToPermission_1.RelationshipToPermission,
+    RelationshipToPermissionData: RelationshipToPermissionData_1.RelationshipToPermissionData,
+    RelationshipToPermissions: RelationshipToPermissions_1.RelationshipToPermissions,
+    RelationshipToRole: RelationshipToRole_1.RelationshipToRole,
+    RelationshipToRoleData: RelationshipToRoleData_1.RelationshipToRoleData,
+    RelationshipToRoles: RelationshipToRoles_1.RelationshipToRoles,
+    RelationshipToSAMLAssertionAttribute: RelationshipToSAMLAssertionAttribute_1.RelationshipToSAMLAssertionAttribute,
+    RelationshipToSAMLAssertionAttributeData: RelationshipToSAMLAssertionAttributeData_1.RelationshipToSAMLAssertionAttributeData,
+    RelationshipToTeamLinkData: RelationshipToTeamLinkData_1.RelationshipToTeamLinkData,
+    RelationshipToTeamLinks: RelationshipToTeamLinks_1.RelationshipToTeamLinks,
+    RelationshipToUser: RelationshipToUser_1.RelationshipToUser,
+    RelationshipToUserData: RelationshipToUserData_1.RelationshipToUserData,
+    RelationshipToUserTeamPermission: RelationshipToUserTeamPermission_1.RelationshipToUserTeamPermission,
+    RelationshipToUserTeamPermissionData: RelationshipToUserTeamPermissionData_1.RelationshipToUserTeamPermissionData,
+    RelationshipToUserTeamUser: RelationshipToUserTeamUser_1.RelationshipToUserTeamUser,
+    RelationshipToUserTeamUserData: RelationshipToUserTeamUserData_1.RelationshipToUserTeamUserData,
+    RelationshipToUsers: RelationshipToUsers_1.RelationshipToUsers,
+    ResponseMetaAttributes: ResponseMetaAttributes_1.ResponseMetaAttributes,
+    RestrictionPolicy: RestrictionPolicy_1.RestrictionPolicy,
+    RestrictionPolicyAttributes: RestrictionPolicyAttributes_1.RestrictionPolicyAttributes,
+    RestrictionPolicyBinding: RestrictionPolicyBinding_1.RestrictionPolicyBinding,
+    RestrictionPolicyResponse: RestrictionPolicyResponse_1.RestrictionPolicyResponse,
+    RestrictionPolicyUpdateRequest: RestrictionPolicyUpdateRequest_1.RestrictionPolicyUpdateRequest,
+    Role: Role_1.Role,
+    RoleAttributes: RoleAttributes_1.RoleAttributes,
+    RoleClone: RoleClone_1.RoleClone,
+    RoleCloneAttributes: RoleCloneAttributes_1.RoleCloneAttributes,
+    RoleCloneRequest: RoleCloneRequest_1.RoleCloneRequest,
+    RoleCreateAttributes: RoleCreateAttributes_1.RoleCreateAttributes,
+    RoleCreateData: RoleCreateData_1.RoleCreateData,
+    RoleCreateRequest: RoleCreateRequest_1.RoleCreateRequest,
+    RoleCreateResponse: RoleCreateResponse_1.RoleCreateResponse,
+    RoleCreateResponseData: RoleCreateResponseData_1.RoleCreateResponseData,
+    RoleRelationships: RoleRelationships_1.RoleRelationships,
+    RoleResponse: RoleResponse_1.RoleResponse,
+    RoleResponseRelationships: RoleResponseRelationships_1.RoleResponseRelationships,
+    RoleUpdateAttributes: RoleUpdateAttributes_1.RoleUpdateAttributes,
+    RoleUpdateData: RoleUpdateData_1.RoleUpdateData,
+    RoleUpdateRequest: RoleUpdateRequest_1.RoleUpdateRequest,
+    RoleUpdateResponse: RoleUpdateResponse_1.RoleUpdateResponse,
+    RoleUpdateResponseData: RoleUpdateResponseData_1.RoleUpdateResponseData,
+    RolesResponse: RolesResponse_1.RolesResponse,
+    SAMLAssertionAttribute: SAMLAssertionAttribute_1.SAMLAssertionAttribute,
+    SAMLAssertionAttributeAttributes: SAMLAssertionAttributeAttributes_1.SAMLAssertionAttributeAttributes,
+    ScalarFormulaQueryRequest: ScalarFormulaQueryRequest_1.ScalarFormulaQueryRequest,
+    ScalarFormulaQueryResponse: ScalarFormulaQueryResponse_1.ScalarFormulaQueryResponse,
+    ScalarFormulaRequest: ScalarFormulaRequest_1.ScalarFormulaRequest,
+    ScalarFormulaRequestAttributes: ScalarFormulaRequestAttributes_1.ScalarFormulaRequestAttributes,
+    ScalarFormulaResponseAtrributes: ScalarFormulaResponseAtrributes_1.ScalarFormulaResponseAtrributes,
+    ScalarMeta: ScalarMeta_1.ScalarMeta,
+    ScalarResponse: ScalarResponse_1.ScalarResponse,
+    SecurityFilter: SecurityFilter_1.SecurityFilter,
+    SecurityFilterAttributes: SecurityFilterAttributes_1.SecurityFilterAttributes,
+    SecurityFilterCreateAttributes: SecurityFilterCreateAttributes_1.SecurityFilterCreateAttributes,
+    SecurityFilterCreateData: SecurityFilterCreateData_1.SecurityFilterCreateData,
+    SecurityFilterCreateRequest: SecurityFilterCreateRequest_1.SecurityFilterCreateRequest,
+    SecurityFilterExclusionFilter: SecurityFilterExclusionFilter_1.SecurityFilterExclusionFilter,
+    SecurityFilterExclusionFilterResponse: SecurityFilterExclusionFilterResponse_1.SecurityFilterExclusionFilterResponse,
+    SecurityFilterMeta: SecurityFilterMeta_1.SecurityFilterMeta,
+    SecurityFilterResponse: SecurityFilterResponse_1.SecurityFilterResponse,
+    SecurityFilterUpdateAttributes: SecurityFilterUpdateAttributes_1.SecurityFilterUpdateAttributes,
+    SecurityFilterUpdateData: SecurityFilterUpdateData_1.SecurityFilterUpdateData,
+    SecurityFilterUpdateRequest: SecurityFilterUpdateRequest_1.SecurityFilterUpdateRequest,
+    SecurityFiltersResponse: SecurityFiltersResponse_1.SecurityFiltersResponse,
+    SecurityMonitoringFilter: SecurityMonitoringFilter_1.SecurityMonitoringFilter,
+    SecurityMonitoringListRulesResponse: SecurityMonitoringListRulesResponse_1.SecurityMonitoringListRulesResponse,
+    SecurityMonitoringRuleCase: SecurityMonitoringRuleCase_1.SecurityMonitoringRuleCase,
+    SecurityMonitoringRuleCaseCreate: SecurityMonitoringRuleCaseCreate_1.SecurityMonitoringRuleCaseCreate,
+    SecurityMonitoringRuleImpossibleTravelOptions: SecurityMonitoringRuleImpossibleTravelOptions_1.SecurityMonitoringRuleImpossibleTravelOptions,
+    SecurityMonitoringRuleNewValueOptions: SecurityMonitoringRuleNewValueOptions_1.SecurityMonitoringRuleNewValueOptions,
+    SecurityMonitoringRuleOptions: SecurityMonitoringRuleOptions_1.SecurityMonitoringRuleOptions,
+    SecurityMonitoringRuleUpdatePayload: SecurityMonitoringRuleUpdatePayload_1.SecurityMonitoringRuleUpdatePayload,
+    SecurityMonitoringSignal: SecurityMonitoringSignal_1.SecurityMonitoringSignal,
+    SecurityMonitoringSignalAssigneeUpdateAttributes: SecurityMonitoringSignalAssigneeUpdateAttributes_1.SecurityMonitoringSignalAssigneeUpdateAttributes,
+    SecurityMonitoringSignalAssigneeUpdateData: SecurityMonitoringSignalAssigneeUpdateData_1.SecurityMonitoringSignalAssigneeUpdateData,
+    SecurityMonitoringSignalAssigneeUpdateRequest: SecurityMonitoringSignalAssigneeUpdateRequest_1.SecurityMonitoringSignalAssigneeUpdateRequest,
+    SecurityMonitoringSignalAttributes: SecurityMonitoringSignalAttributes_1.SecurityMonitoringSignalAttributes,
+    SecurityMonitoringSignalIncidentsUpdateAttributes: SecurityMonitoringSignalIncidentsUpdateAttributes_1.SecurityMonitoringSignalIncidentsUpdateAttributes,
+    SecurityMonitoringSignalIncidentsUpdateData: SecurityMonitoringSignalIncidentsUpdateData_1.SecurityMonitoringSignalIncidentsUpdateData,
+    SecurityMonitoringSignalIncidentsUpdateRequest: SecurityMonitoringSignalIncidentsUpdateRequest_1.SecurityMonitoringSignalIncidentsUpdateRequest,
+    SecurityMonitoringSignalListRequest: SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest,
+    SecurityMonitoringSignalListRequestFilter: SecurityMonitoringSignalListRequestFilter_1.SecurityMonitoringSignalListRequestFilter,
+    SecurityMonitoringSignalListRequestPage: SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage,
+    SecurityMonitoringSignalResponse: SecurityMonitoringSignalResponse_1.SecurityMonitoringSignalResponse,
+    SecurityMonitoringSignalRuleCreatePayload: SecurityMonitoringSignalRuleCreatePayload_1.SecurityMonitoringSignalRuleCreatePayload,
+    SecurityMonitoringSignalRuleQuery: SecurityMonitoringSignalRuleQuery_1.SecurityMonitoringSignalRuleQuery,
+    SecurityMonitoringSignalRuleResponse: SecurityMonitoringSignalRuleResponse_1.SecurityMonitoringSignalRuleResponse,
+    SecurityMonitoringSignalRuleResponseQuery: SecurityMonitoringSignalRuleResponseQuery_1.SecurityMonitoringSignalRuleResponseQuery,
+    SecurityMonitoringSignalStateUpdateAttributes: SecurityMonitoringSignalStateUpdateAttributes_1.SecurityMonitoringSignalStateUpdateAttributes,
+    SecurityMonitoringSignalStateUpdateData: SecurityMonitoringSignalStateUpdateData_1.SecurityMonitoringSignalStateUpdateData,
+    SecurityMonitoringSignalStateUpdateRequest: SecurityMonitoringSignalStateUpdateRequest_1.SecurityMonitoringSignalStateUpdateRequest,
+    SecurityMonitoringSignalTriageAttributes: SecurityMonitoringSignalTriageAttributes_1.SecurityMonitoringSignalTriageAttributes,
+    SecurityMonitoringSignalTriageUpdateData: SecurityMonitoringSignalTriageUpdateData_1.SecurityMonitoringSignalTriageUpdateData,
+    SecurityMonitoringSignalTriageUpdateResponse: SecurityMonitoringSignalTriageUpdateResponse_1.SecurityMonitoringSignalTriageUpdateResponse,
+    SecurityMonitoringSignalsListResponse: SecurityMonitoringSignalsListResponse_1.SecurityMonitoringSignalsListResponse,
+    SecurityMonitoringSignalsListResponseLinks: SecurityMonitoringSignalsListResponseLinks_1.SecurityMonitoringSignalsListResponseLinks,
+    SecurityMonitoringSignalsListResponseMeta: SecurityMonitoringSignalsListResponseMeta_1.SecurityMonitoringSignalsListResponseMeta,
+    SecurityMonitoringSignalsListResponseMetaPage: SecurityMonitoringSignalsListResponseMetaPage_1.SecurityMonitoringSignalsListResponseMetaPage,
+    SecurityMonitoringStandardRuleCreatePayload: SecurityMonitoringStandardRuleCreatePayload_1.SecurityMonitoringStandardRuleCreatePayload,
+    SecurityMonitoringStandardRuleQuery: SecurityMonitoringStandardRuleQuery_1.SecurityMonitoringStandardRuleQuery,
+    SecurityMonitoringStandardRuleResponse: SecurityMonitoringStandardRuleResponse_1.SecurityMonitoringStandardRuleResponse,
+    SecurityMonitoringTriageUser: SecurityMonitoringTriageUser_1.SecurityMonitoringTriageUser,
+    SensitiveDataScannerConfigRequest: SensitiveDataScannerConfigRequest_1.SensitiveDataScannerConfigRequest,
+    SensitiveDataScannerConfiguration: SensitiveDataScannerConfiguration_1.SensitiveDataScannerConfiguration,
+    SensitiveDataScannerConfigurationData: SensitiveDataScannerConfigurationData_1.SensitiveDataScannerConfigurationData,
+    SensitiveDataScannerConfigurationRelationships: SensitiveDataScannerConfigurationRelationships_1.SensitiveDataScannerConfigurationRelationships,
+    SensitiveDataScannerCreateGroupResponse: SensitiveDataScannerCreateGroupResponse_1.SensitiveDataScannerCreateGroupResponse,
+    SensitiveDataScannerCreateRuleResponse: SensitiveDataScannerCreateRuleResponse_1.SensitiveDataScannerCreateRuleResponse,
+    SensitiveDataScannerFilter: SensitiveDataScannerFilter_1.SensitiveDataScannerFilter,
+    SensitiveDataScannerGetConfigResponse: SensitiveDataScannerGetConfigResponse_1.SensitiveDataScannerGetConfigResponse,
+    SensitiveDataScannerGetConfigResponseData: SensitiveDataScannerGetConfigResponseData_1.SensitiveDataScannerGetConfigResponseData,
+    SensitiveDataScannerGroup: SensitiveDataScannerGroup_1.SensitiveDataScannerGroup,
+    SensitiveDataScannerGroupAttributes: SensitiveDataScannerGroupAttributes_1.SensitiveDataScannerGroupAttributes,
+    SensitiveDataScannerGroupCreate: SensitiveDataScannerGroupCreate_1.SensitiveDataScannerGroupCreate,
+    SensitiveDataScannerGroupCreateRequest: SensitiveDataScannerGroupCreateRequest_1.SensitiveDataScannerGroupCreateRequest,
+    SensitiveDataScannerGroupData: SensitiveDataScannerGroupData_1.SensitiveDataScannerGroupData,
+    SensitiveDataScannerGroupDeleteRequest: SensitiveDataScannerGroupDeleteRequest_1.SensitiveDataScannerGroupDeleteRequest,
+    SensitiveDataScannerGroupDeleteResponse: SensitiveDataScannerGroupDeleteResponse_1.SensitiveDataScannerGroupDeleteResponse,
+    SensitiveDataScannerGroupIncludedItem: SensitiveDataScannerGroupIncludedItem_1.SensitiveDataScannerGroupIncludedItem,
+    SensitiveDataScannerGroupItem: SensitiveDataScannerGroupItem_1.SensitiveDataScannerGroupItem,
+    SensitiveDataScannerGroupList: SensitiveDataScannerGroupList_1.SensitiveDataScannerGroupList,
+    SensitiveDataScannerGroupRelationships: SensitiveDataScannerGroupRelationships_1.SensitiveDataScannerGroupRelationships,
+    SensitiveDataScannerGroupResponse: SensitiveDataScannerGroupResponse_1.SensitiveDataScannerGroupResponse,
+    SensitiveDataScannerGroupUpdate: SensitiveDataScannerGroupUpdate_1.SensitiveDataScannerGroupUpdate,
+    SensitiveDataScannerGroupUpdateRequest: SensitiveDataScannerGroupUpdateRequest_1.SensitiveDataScannerGroupUpdateRequest,
+    SensitiveDataScannerGroupUpdateResponse: SensitiveDataScannerGroupUpdateResponse_1.SensitiveDataScannerGroupUpdateResponse,
+    SensitiveDataScannerMeta: SensitiveDataScannerMeta_1.SensitiveDataScannerMeta,
+    SensitiveDataScannerMetaVersionOnly: SensitiveDataScannerMetaVersionOnly_1.SensitiveDataScannerMetaVersionOnly,
+    SensitiveDataScannerReorderConfig: SensitiveDataScannerReorderConfig_1.SensitiveDataScannerReorderConfig,
+    SensitiveDataScannerReorderGroupsResponse: SensitiveDataScannerReorderGroupsResponse_1.SensitiveDataScannerReorderGroupsResponse,
+    SensitiveDataScannerRule: SensitiveDataScannerRule_1.SensitiveDataScannerRule,
+    SensitiveDataScannerRuleAttributes: SensitiveDataScannerRuleAttributes_1.SensitiveDataScannerRuleAttributes,
+    SensitiveDataScannerRuleCreate: SensitiveDataScannerRuleCreate_1.SensitiveDataScannerRuleCreate,
+    SensitiveDataScannerRuleCreateRequest: SensitiveDataScannerRuleCreateRequest_1.SensitiveDataScannerRuleCreateRequest,
+    SensitiveDataScannerRuleData: SensitiveDataScannerRuleData_1.SensitiveDataScannerRuleData,
+    SensitiveDataScannerRuleDeleteRequest: SensitiveDataScannerRuleDeleteRequest_1.SensitiveDataScannerRuleDeleteRequest,
+    SensitiveDataScannerRuleDeleteResponse: SensitiveDataScannerRuleDeleteResponse_1.SensitiveDataScannerRuleDeleteResponse,
+    SensitiveDataScannerRuleIncludedItem: SensitiveDataScannerRuleIncludedItem_1.SensitiveDataScannerRuleIncludedItem,
+    SensitiveDataScannerRuleRelationships: SensitiveDataScannerRuleRelationships_1.SensitiveDataScannerRuleRelationships,
+    SensitiveDataScannerRuleResponse: SensitiveDataScannerRuleResponse_1.SensitiveDataScannerRuleResponse,
+    SensitiveDataScannerRuleUpdate: SensitiveDataScannerRuleUpdate_1.SensitiveDataScannerRuleUpdate,
+    SensitiveDataScannerRuleUpdateRequest: SensitiveDataScannerRuleUpdateRequest_1.SensitiveDataScannerRuleUpdateRequest,
+    SensitiveDataScannerRuleUpdateResponse: SensitiveDataScannerRuleUpdateResponse_1.SensitiveDataScannerRuleUpdateResponse,
+    SensitiveDataScannerStandardPattern: SensitiveDataScannerStandardPattern_1.SensitiveDataScannerStandardPattern,
+    SensitiveDataScannerStandardPatternAttributes: SensitiveDataScannerStandardPatternAttributes_1.SensitiveDataScannerStandardPatternAttributes,
+    SensitiveDataScannerStandardPatternData: SensitiveDataScannerStandardPatternData_1.SensitiveDataScannerStandardPatternData,
+    SensitiveDataScannerStandardPatternsResponseData: SensitiveDataScannerStandardPatternsResponseData_1.SensitiveDataScannerStandardPatternsResponseData,
+    SensitiveDataScannerStandardPatternsResponseItem: SensitiveDataScannerStandardPatternsResponseItem_1.SensitiveDataScannerStandardPatternsResponseItem,
+    SensitiveDataScannerTextReplacement: SensitiveDataScannerTextReplacement_1.SensitiveDataScannerTextReplacement,
+    ServiceAccountCreateAttributes: ServiceAccountCreateAttributes_1.ServiceAccountCreateAttributes,
+    ServiceAccountCreateData: ServiceAccountCreateData_1.ServiceAccountCreateData,
+    ServiceAccountCreateRequest: ServiceAccountCreateRequest_1.ServiceAccountCreateRequest,
+    ServiceDefinitionCreateResponse: ServiceDefinitionCreateResponse_1.ServiceDefinitionCreateResponse,
+    ServiceDefinitionData: ServiceDefinitionData_1.ServiceDefinitionData,
+    ServiceDefinitionDataAttributes: ServiceDefinitionDataAttributes_1.ServiceDefinitionDataAttributes,
+    ServiceDefinitionGetResponse: ServiceDefinitionGetResponse_1.ServiceDefinitionGetResponse,
+    ServiceDefinitionMeta: ServiceDefinitionMeta_1.ServiceDefinitionMeta,
+    ServiceDefinitionMetaWarnings: ServiceDefinitionMetaWarnings_1.ServiceDefinitionMetaWarnings,
+    ServiceDefinitionV1: ServiceDefinitionV1_1.ServiceDefinitionV1,
+    ServiceDefinitionV1Contact: ServiceDefinitionV1Contact_1.ServiceDefinitionV1Contact,
+    ServiceDefinitionV1Info: ServiceDefinitionV1Info_1.ServiceDefinitionV1Info,
+    ServiceDefinitionV1Integrations: ServiceDefinitionV1Integrations_1.ServiceDefinitionV1Integrations,
+    ServiceDefinitionV1Org: ServiceDefinitionV1Org_1.ServiceDefinitionV1Org,
+    ServiceDefinitionV1Resource: ServiceDefinitionV1Resource_1.ServiceDefinitionV1Resource,
+    ServiceDefinitionV2: ServiceDefinitionV2_1.ServiceDefinitionV2,
+    ServiceDefinitionV2Doc: ServiceDefinitionV2Doc_1.ServiceDefinitionV2Doc,
+    ServiceDefinitionV2Dot1: ServiceDefinitionV2Dot1_1.ServiceDefinitionV2Dot1,
+    ServiceDefinitionV2Dot1Email: ServiceDefinitionV2Dot1Email_1.ServiceDefinitionV2Dot1Email,
+    ServiceDefinitionV2Dot1Integrations: ServiceDefinitionV2Dot1Integrations_1.ServiceDefinitionV2Dot1Integrations,
+    ServiceDefinitionV2Dot1Link: ServiceDefinitionV2Dot1Link_1.ServiceDefinitionV2Dot1Link,
+    ServiceDefinitionV2Dot1MSTeams: ServiceDefinitionV2Dot1MSTeams_1.ServiceDefinitionV2Dot1MSTeams,
+    ServiceDefinitionV2Dot1Opsgenie: ServiceDefinitionV2Dot1Opsgenie_1.ServiceDefinitionV2Dot1Opsgenie,
+    ServiceDefinitionV2Dot1Pagerduty: ServiceDefinitionV2Dot1Pagerduty_1.ServiceDefinitionV2Dot1Pagerduty,
+    ServiceDefinitionV2Dot1Slack: ServiceDefinitionV2Dot1Slack_1.ServiceDefinitionV2Dot1Slack,
+    ServiceDefinitionV2Email: ServiceDefinitionV2Email_1.ServiceDefinitionV2Email,
+    ServiceDefinitionV2Integrations: ServiceDefinitionV2Integrations_1.ServiceDefinitionV2Integrations,
+    ServiceDefinitionV2Link: ServiceDefinitionV2Link_1.ServiceDefinitionV2Link,
+    ServiceDefinitionV2MSTeams: ServiceDefinitionV2MSTeams_1.ServiceDefinitionV2MSTeams,
+    ServiceDefinitionV2Opsgenie: ServiceDefinitionV2Opsgenie_1.ServiceDefinitionV2Opsgenie,
+    ServiceDefinitionV2Repo: ServiceDefinitionV2Repo_1.ServiceDefinitionV2Repo,
+    ServiceDefinitionV2Slack: ServiceDefinitionV2Slack_1.ServiceDefinitionV2Slack,
+    ServiceDefinitionsListResponse: ServiceDefinitionsListResponse_1.ServiceDefinitionsListResponse,
+    SlackIntegrationMetadata: SlackIntegrationMetadata_1.SlackIntegrationMetadata,
+    SlackIntegrationMetadataChannelItem: SlackIntegrationMetadataChannelItem_1.SlackIntegrationMetadataChannelItem,
+    Span: Span_1.Span,
+    SpansAggregateBucket: SpansAggregateBucket_1.SpansAggregateBucket,
+    SpansAggregateBucketAttributes: SpansAggregateBucketAttributes_1.SpansAggregateBucketAttributes,
+    SpansAggregateBucketValueTimeseriesPoint: SpansAggregateBucketValueTimeseriesPoint_1.SpansAggregateBucketValueTimeseriesPoint,
+    SpansAggregateData: SpansAggregateData_1.SpansAggregateData,
+    SpansAggregateRequest: SpansAggregateRequest_1.SpansAggregateRequest,
+    SpansAggregateRequestAttributes: SpansAggregateRequestAttributes_1.SpansAggregateRequestAttributes,
+    SpansAggregateResponse: SpansAggregateResponse_1.SpansAggregateResponse,
+    SpansAggregateResponseMetadata: SpansAggregateResponseMetadata_1.SpansAggregateResponseMetadata,
+    SpansAggregateSort: SpansAggregateSort_1.SpansAggregateSort,
+    SpansAttributes: SpansAttributes_1.SpansAttributes,
+    SpansCompute: SpansCompute_1.SpansCompute,
+    SpansGroupBy: SpansGroupBy_1.SpansGroupBy,
+    SpansGroupByHistogram: SpansGroupByHistogram_1.SpansGroupByHistogram,
+    SpansListRequest: SpansListRequest_1.SpansListRequest,
+    SpansListRequestAttributes: SpansListRequestAttributes_1.SpansListRequestAttributes,
+    SpansListRequestData: SpansListRequestData_1.SpansListRequestData,
+    SpansListRequestPage: SpansListRequestPage_1.SpansListRequestPage,
+    SpansListResponse: SpansListResponse_1.SpansListResponse,
+    SpansListResponseLinks: SpansListResponseLinks_1.SpansListResponseLinks,
+    SpansListResponseMetadata: SpansListResponseMetadata_1.SpansListResponseMetadata,
+    SpansMetricCompute: SpansMetricCompute_1.SpansMetricCompute,
+    SpansMetricCreateAttributes: SpansMetricCreateAttributes_1.SpansMetricCreateAttributes,
+    SpansMetricCreateData: SpansMetricCreateData_1.SpansMetricCreateData,
+    SpansMetricCreateRequest: SpansMetricCreateRequest_1.SpansMetricCreateRequest,
+    SpansMetricFilter: SpansMetricFilter_1.SpansMetricFilter,
+    SpansMetricGroupBy: SpansMetricGroupBy_1.SpansMetricGroupBy,
+    SpansMetricResponse: SpansMetricResponse_1.SpansMetricResponse,
+    SpansMetricResponseAttributes: SpansMetricResponseAttributes_1.SpansMetricResponseAttributes,
+    SpansMetricResponseCompute: SpansMetricResponseCompute_1.SpansMetricResponseCompute,
+    SpansMetricResponseData: SpansMetricResponseData_1.SpansMetricResponseData,
+    SpansMetricResponseFilter: SpansMetricResponseFilter_1.SpansMetricResponseFilter,
+    SpansMetricResponseGroupBy: SpansMetricResponseGroupBy_1.SpansMetricResponseGroupBy,
+    SpansMetricUpdateAttributes: SpansMetricUpdateAttributes_1.SpansMetricUpdateAttributes,
+    SpansMetricUpdateCompute: SpansMetricUpdateCompute_1.SpansMetricUpdateCompute,
+    SpansMetricUpdateData: SpansMetricUpdateData_1.SpansMetricUpdateData,
+    SpansMetricUpdateRequest: SpansMetricUpdateRequest_1.SpansMetricUpdateRequest,
+    SpansMetricsResponse: SpansMetricsResponse_1.SpansMetricsResponse,
+    SpansQueryFilter: SpansQueryFilter_1.SpansQueryFilter,
+    SpansQueryOptions: SpansQueryOptions_1.SpansQueryOptions,
+    SpansResponseMetadataPage: SpansResponseMetadataPage_1.SpansResponseMetadataPage,
+    SpansWarning: SpansWarning_1.SpansWarning,
+    Team: Team_1.Team,
+    TeamAttributes: TeamAttributes_1.TeamAttributes,
+    TeamCreate: TeamCreate_1.TeamCreate,
+    TeamCreateAttributes: TeamCreateAttributes_1.TeamCreateAttributes,
+    TeamCreateRelationships: TeamCreateRelationships_1.TeamCreateRelationships,
+    TeamCreateRequest: TeamCreateRequest_1.TeamCreateRequest,
+    TeamLink: TeamLink_1.TeamLink,
+    TeamLinkAttributes: TeamLinkAttributes_1.TeamLinkAttributes,
+    TeamLinkCreate: TeamLinkCreate_1.TeamLinkCreate,
+    TeamLinkCreateRequest: TeamLinkCreateRequest_1.TeamLinkCreateRequest,
+    TeamLinkResponse: TeamLinkResponse_1.TeamLinkResponse,
+    TeamLinksResponse: TeamLinksResponse_1.TeamLinksResponse,
+    TeamPermissionSetting: TeamPermissionSetting_1.TeamPermissionSetting,
+    TeamPermissionSettingAttributes: TeamPermissionSettingAttributes_1.TeamPermissionSettingAttributes,
+    TeamPermissionSettingResponse: TeamPermissionSettingResponse_1.TeamPermissionSettingResponse,
+    TeamPermissionSettingUpdate: TeamPermissionSettingUpdate_1.TeamPermissionSettingUpdate,
+    TeamPermissionSettingUpdateAttributes: TeamPermissionSettingUpdateAttributes_1.TeamPermissionSettingUpdateAttributes,
+    TeamPermissionSettingUpdateRequest: TeamPermissionSettingUpdateRequest_1.TeamPermissionSettingUpdateRequest,
+    TeamPermissionSettingsResponse: TeamPermissionSettingsResponse_1.TeamPermissionSettingsResponse,
+    TeamRelationships: TeamRelationships_1.TeamRelationships,
+    TeamRelationshipsLinks: TeamRelationshipsLinks_1.TeamRelationshipsLinks,
+    TeamResponse: TeamResponse_1.TeamResponse,
+    TeamUpdate: TeamUpdate_1.TeamUpdate,
+    TeamUpdateAttributes: TeamUpdateAttributes_1.TeamUpdateAttributes,
+    TeamUpdateRelationships: TeamUpdateRelationships_1.TeamUpdateRelationships,
+    TeamUpdateRequest: TeamUpdateRequest_1.TeamUpdateRequest,
+    TeamsResponse: TeamsResponse_1.TeamsResponse,
+    TeamsResponseLinks: TeamsResponseLinks_1.TeamsResponseLinks,
+    TeamsResponseMeta: TeamsResponseMeta_1.TeamsResponseMeta,
+    TeamsResponseMetaPagination: TeamsResponseMetaPagination_1.TeamsResponseMetaPagination,
+    TimeseriesFormulaQueryRequest: TimeseriesFormulaQueryRequest_1.TimeseriesFormulaQueryRequest,
+    TimeseriesFormulaQueryResponse: TimeseriesFormulaQueryResponse_1.TimeseriesFormulaQueryResponse,
+    TimeseriesFormulaRequest: TimeseriesFormulaRequest_1.TimeseriesFormulaRequest,
+    TimeseriesFormulaRequestAttributes: TimeseriesFormulaRequestAttributes_1.TimeseriesFormulaRequestAttributes,
+    TimeseriesResponse: TimeseriesResponse_1.TimeseriesResponse,
+    TimeseriesResponseAttributes: TimeseriesResponseAttributes_1.TimeseriesResponseAttributes,
+    TimeseriesResponseSeries: TimeseriesResponseSeries_1.TimeseriesResponseSeries,
+    Unit: Unit_1.Unit,
+    UsageApplicationSecurityMonitoringResponse: UsageApplicationSecurityMonitoringResponse_1.UsageApplicationSecurityMonitoringResponse,
+    UsageAttributesObject: UsageAttributesObject_1.UsageAttributesObject,
+    UsageDataObject: UsageDataObject_1.UsageDataObject,
+    UsageLambdaTracedInvocationsResponse: UsageLambdaTracedInvocationsResponse_1.UsageLambdaTracedInvocationsResponse,
+    UsageObservabilityPipelinesResponse: UsageObservabilityPipelinesResponse_1.UsageObservabilityPipelinesResponse,
+    UsageTimeSeriesObject: UsageTimeSeriesObject_1.UsageTimeSeriesObject,
+    User: User_1.User,
+    UserAttributes: UserAttributes_1.UserAttributes,
+    UserCreateAttributes: UserCreateAttributes_1.UserCreateAttributes,
+    UserCreateData: UserCreateData_1.UserCreateData,
+    UserCreateRequest: UserCreateRequest_1.UserCreateRequest,
+    UserInvitationData: UserInvitationData_1.UserInvitationData,
+    UserInvitationDataAttributes: UserInvitationDataAttributes_1.UserInvitationDataAttributes,
+    UserInvitationRelationships: UserInvitationRelationships_1.UserInvitationRelationships,
+    UserInvitationResponse: UserInvitationResponse_1.UserInvitationResponse,
+    UserInvitationResponseData: UserInvitationResponseData_1.UserInvitationResponseData,
+    UserInvitationsRequest: UserInvitationsRequest_1.UserInvitationsRequest,
+    UserInvitationsResponse: UserInvitationsResponse_1.UserInvitationsResponse,
+    UserRelationships: UserRelationships_1.UserRelationships,
+    UserResponse: UserResponse_1.UserResponse,
+    UserResponseRelationships: UserResponseRelationships_1.UserResponseRelationships,
+    UserTeam: UserTeam_1.UserTeam,
+    UserTeamAttributes: UserTeamAttributes_1.UserTeamAttributes,
+    UserTeamCreate: UserTeamCreate_1.UserTeamCreate,
+    UserTeamPermission: UserTeamPermission_1.UserTeamPermission,
+    UserTeamPermissionAttributes: UserTeamPermissionAttributes_1.UserTeamPermissionAttributes,
+    UserTeamRelationships: UserTeamRelationships_1.UserTeamRelationships,
+    UserTeamRequest: UserTeamRequest_1.UserTeamRequest,
+    UserTeamResponse: UserTeamResponse_1.UserTeamResponse,
+    UserTeamUpdate: UserTeamUpdate_1.UserTeamUpdate,
+    UserTeamUpdateRequest: UserTeamUpdateRequest_1.UserTeamUpdateRequest,
+    UserTeamsResponse: UserTeamsResponse_1.UserTeamsResponse,
+    UserUpdateAttributes: UserUpdateAttributes_1.UserUpdateAttributes,
+    UserUpdateData: UserUpdateData_1.UserUpdateData,
+    UserUpdateRequest: UserUpdateRequest_1.UserUpdateRequest,
+    UsersResponse: UsersResponse_1.UsersResponse,
+};
+const oneOfMap = {
+    APIKeyResponseIncludedItem: ["User"],
+    ApplicationKeyResponseIncludedItem: ["User", "Role"],
+    AuthNMappingIncluded: ["SAMLAssertionAttribute", "Role"],
+    CIAppAggregateBucketValue: [
+        "string",
+        "number",
+        "Array",
+    ],
+    CIAppCreatePipelineEventRequestAttributesResource: [
+        "CIAppPipelineEventPipeline",
+        "CIAppPipelineEventStage",
+        "CIAppPipelineEventJob",
+        "CIAppPipelineEventStep",
+    ],
+    CIAppGroupByMissing: ["string", "number"],
+    CIAppGroupByTotal: ["boolean", "string", "number"],
+    DowntimeMonitorIdentifier: [
+        "DowntimeMonitorIdentifierId",
+        "DowntimeMonitorIdentifierTags",
+    ],
+    DowntimeResponseIncludedItem: ["User", "DowntimeMonitorIncludedItem"],
+    DowntimeScheduleCreateRequest: [
+        "DowntimeScheduleRecurrencesCreateRequest",
+        "DowntimeScheduleOneTimeCreateUpdateRequest",
+    ],
+    DowntimeScheduleResponse: [
+        "DowntimeScheduleRecurrencesResponse",
+        "DowntimeScheduleOneTimeResponse",
+    ],
+    DowntimeScheduleUpdateRequest: [
+        "DowntimeScheduleRecurrencesUpdateRequest",
+        "DowntimeScheduleOneTimeCreateUpdateRequest",
+    ],
+    IncidentAttachmentAttributes: [
+        "IncidentAttachmentPostmortemAttributes",
+        "IncidentAttachmentLinkAttributes",
+    ],
+    IncidentAttachmentUpdateAttributes: [
+        "IncidentAttachmentPostmortemAttributes",
+        "IncidentAttachmentLinkAttributes",
+    ],
+    IncidentAttachmentsResponseIncludedItem: ["User"],
+    IncidentFieldAttributes: [
+        "IncidentFieldAttributesSingleValue",
+        "IncidentFieldAttributesMultipleValue",
+    ],
+    IncidentIntegrationMetadataMetadata: [
+        "SlackIntegrationMetadata",
+        "JiraIntegrationMetadata",
+    ],
+    IncidentIntegrationMetadataResponseIncludedItem: ["User"],
+    IncidentResponseIncludedItem: ["User", "IncidentAttachmentData"],
+    IncidentServiceIncludedItems: ["User"],
+    IncidentTeamIncludedItems: ["User"],
+    IncidentTimelineCellCreateAttributes: [
+        "IncidentTimelineCellMarkdownCreateAttributes",
+    ],
+    IncidentTodoAssignee: ["string", "IncidentTodoAnonymousAssignee"],
+    IncidentTodoResponseIncludedItem: ["User"],
+    LogsAggregateBucketValue: [
+        "string",
+        "number",
+        "Array",
+    ],
+    LogsArchiveCreateRequestDestination: [
+        "LogsArchiveDestinationAzure",
+        "LogsArchiveDestinationGCS",
+        "LogsArchiveDestinationS3",
+    ],
+    LogsArchiveDestination: [
+        "LogsArchiveDestinationAzure",
+        "LogsArchiveDestinationGCS",
+        "LogsArchiveDestinationS3",
+    ],
+    LogsGroupByMissing: ["string", "number"],
+    LogsGroupByTotal: ["boolean", "string", "number"],
+    MetricVolumes: ["MetricDistinctVolume", "MetricIngestedIndexedVolume"],
+    MetricsAndMetricTagConfigurations: ["Metric", "MetricTagConfiguration"],
+    MonitorConfigPolicyPolicy: ["MonitorConfigPolicyTagPolicy"],
+    MonitorConfigPolicyPolicyCreateRequest: [
+        "MonitorConfigPolicyTagPolicyCreateRequest",
+    ],
+    RUMAggregateBucketValue: [
+        "string",
+        "number",
+        "Array",
+    ],
+    RUMGroupByMissing: ["string", "number"],
+    RUMGroupByTotal: ["boolean", "string", "number"],
+    ScalarColumn: ["GroupScalarColumn", "DataScalarColumn"],
+    ScalarQuery: ["MetricsScalarQuery", "EventsScalarQuery"],
+    SecurityMonitoringRuleCreatePayload: [
+        "SecurityMonitoringStandardRuleCreatePayload",
+        "SecurityMonitoringSignalRuleCreatePayload",
+        "CloudConfigurationRuleCreatePayload",
+    ],
+    SecurityMonitoringRuleQuery: [
+        "SecurityMonitoringStandardRuleQuery",
+        "SecurityMonitoringSignalRuleQuery",
+    ],
+    SecurityMonitoringRuleResponse: [
+        "SecurityMonitoringStandardRuleResponse",
+        "SecurityMonitoringSignalRuleResponse",
+    ],
+    SensitiveDataScannerGetConfigIncludedItem: [
+        "SensitiveDataScannerRuleIncludedItem",
+        "SensitiveDataScannerGroupIncludedItem",
+    ],
+    ServiceDefinitionSchema: [
+        "ServiceDefinitionV1",
+        "ServiceDefinitionV2",
+        "ServiceDefinitionV2Dot1",
+    ],
+    ServiceDefinitionV2Contact: [
+        "ServiceDefinitionV2Email",
+        "ServiceDefinitionV2Slack",
+        "ServiceDefinitionV2MSTeams",
+    ],
+    ServiceDefinitionV2Dot1Contact: [
+        "ServiceDefinitionV2Dot1Email",
+        "ServiceDefinitionV2Dot1Slack",
+        "ServiceDefinitionV2Dot1MSTeams",
+    ],
+    ServiceDefinitionsCreateRequest: [
+        "ServiceDefinitionV2Dot1",
+        "ServiceDefinitionV2",
+        "string",
+    ],
+    SpansAggregateBucketValue: [
+        "string",
+        "number",
+        "Array",
+    ],
+    SpansGroupByMissing: ["string", "number"],
+    SpansGroupByTotal: ["boolean", "string", "number"],
+    TeamIncluded: ["User", "TeamLink", "UserTeamPermission"],
+    TimeseriesQuery: ["MetricsTimeseriesQuery", "EventsTimeseriesQuery"],
+    UserResponseIncludedItem: ["Organization", "Permission", "Role"],
+};
+class ObjectSerializer {
+    static serialize(data, type, format) {
+        if (data == undefined || type == "any") {
+            return data;
+        }
+        else if (data instanceof util_1.UnparsedObject) {
+            return data._data;
+        }
+        else if (primitives.includes(type.toLowerCase()) &&
+            typeof data == type.toLowerCase()) {
+            return data;
+        }
+        else if (type.startsWith(ARRAY_PREFIX)) {
+            if (!Array.isArray(data)) {
+                throw new TypeError(`mismatch types '${data}' and '${type}'`);
+            }
+            // Array => Type
+            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.serialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(TUPLE_PREFIX)) {
+            // We only support homegeneus tuples
+            const subType = type
+                .substring(TUPLE_PREFIX.length, type.length - 1)
+                .split(", ")[0];
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.serialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(MAP_PREFIX)) {
+            // { [key: string]: Type; } => Type
+            const subType = type.substring(MAP_PREFIX.length, type.length - 3);
+            const transformedData = {};
+            for (const key in data) {
+                transformedData[key] = ObjectSerializer.serialize(data[key], subType, format);
+            }
+            return transformedData;
+        }
+        else if (type === "Date") {
+            if ("string" == typeof data) {
+                return data;
+            }
+            if (format == "date" || format == "date-time") {
+                return (0, util_1.dateToRFC3339String)(data);
+            }
+            else {
+                return data.toISOString();
+            }
+        }
+        else {
+            if (enumsMap[type]) {
+                if (enumsMap[type].includes(data)) {
+                    return data;
+                }
+                throw new TypeError(`unknown enum value '${data}'`);
+            }
+            if (oneOfMap[type]) {
+                const oneOfs = [];
+                for (const oneOf of oneOfMap[type]) {
+                    try {
+                        oneOfs.push(ObjectSerializer.serialize(data, oneOf, format));
+                    }
+                    catch (e) {
+                        logger_1.logger.debug(`could not serialize ${oneOf} (${e})`);
+                    }
+                }
+                if (oneOfs.length > 1) {
+                    throw new TypeError(`${data} matches multiple types from ${oneOfMap[type]} ${oneOfs}`);
+                }
+                if (oneOfs.length == 0) {
+                    throw new TypeError(`${data} doesn't match any type from ${oneOfMap[type]} ${oneOfs}`);
+                }
+                return oneOfs[0];
+            }
+            if (!typeMap[type]) {
+                // dont know the type
+                throw new TypeError(`unknown type '${type}'`);
+            }
+            // get the map for the correct type.
+            const attributesMap = typeMap[type].getAttributeTypeMap();
+            const instance = {};
+            for (const attributeName in attributesMap) {
+                const attributeObj = attributesMap[attributeName];
+                if (attributeName == "additionalProperties") {
+                    if (data.additionalProperties) {
+                        for (const key in data.additionalProperties) {
+                            instance[key] = ObjectSerializer.serialize(data.additionalProperties[key], attributeObj.type, attributeObj.format);
+                        }
+                    }
+                    continue;
+                }
+                instance[attributeObj.baseName] = ObjectSerializer.serialize(data[attributeName], attributeObj.type, attributeObj.format);
+                // check for required properties
+                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) &&
+                    instance[attributeObj.baseName] === undefined) {
+                    throw new Error(`missing required property '${attributeObj.baseName}'`);
+                }
+            }
+            return instance;
+        }
+    }
+    static deserialize(data, type, format = "") {
+        var _a;
+        if (data == undefined || type == "any") {
+            return data;
+        }
+        else if (primitives.includes(type.toLowerCase()) &&
+            typeof data == type.toLowerCase()) {
+            return data;
+        }
+        else if (type.startsWith(ARRAY_PREFIX)) {
+            // Assert the passed data is Array type
+            if (!Array.isArray(data)) {
+                throw new TypeError(`mismatch types '${data}' and '${type}'`);
+            }
+            // Array => Type
+            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.deserialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(TUPLE_PREFIX)) {
+            // [Type,...] => Type
+            const subType = type
+                .substring(TUPLE_PREFIX.length, type.length - 1)
+                .split(", ")[0];
+            const transformedData = [];
+            for (const element of data) {
+                transformedData.push(ObjectSerializer.deserialize(element, subType, format));
+            }
+            return transformedData;
+        }
+        else if (type.startsWith(MAP_PREFIX)) {
+            // { [key: string]: Type; } => Type
+            const subType = type.substring(MAP_PREFIX.length, type.length - 3);
+            const transformedData = {};
+            for (const key in data) {
+                transformedData[key] = ObjectSerializer.deserialize(data[key], subType, format);
+            }
+            return transformedData;
+        }
+        else if (type === "Date") {
+            try {
+                return (0, util_1.dateFromRFC3339String)(data);
+            }
+            catch (_b) {
+                return new Date(data);
+            }
+        }
+        else {
+            if (enumsMap[type]) {
+                if (enumsMap[type].includes(data)) {
+                    return data;
+                }
+                return new util_1.UnparsedObject(data);
+            }
+            if (oneOfMap[type]) {
+                const oneOfs = [];
+                for (const oneOf of oneOfMap[type]) {
+                    try {
+                        const d = ObjectSerializer.deserialize(data, oneOf, format);
+                        if (!(d === null || d === void 0 ? void 0 : d._unparsed)) {
+                            oneOfs.push(d);
+                        }
+                    }
+                    catch (e) {
+                        logger_1.logger.debug(`could not deserialize ${oneOf} (${e})`);
+                    }
+                }
+                if (oneOfs.length != 1) {
+                    return new util_1.UnparsedObject(data);
+                }
+                return oneOfs[0];
+            }
+            if (!typeMap[type]) {
+                // dont know the type
+                throw new TypeError(`unknown type '${type}'`);
+            }
+            const instance = new typeMap[type]();
+            const attributesMap = typeMap[type].getAttributeTypeMap();
+            let extraAttributes = [];
+            if ("additionalProperties" in attributesMap) {
+                const attributesBaseNames = Object.keys(attributesMap).reduce((o, key) => Object.assign(o, { [attributesMap[key].baseName]: "" }), {});
+                extraAttributes = Object.keys(data).filter((key) => !Object.prototype.hasOwnProperty.call(attributesBaseNames, key));
+            }
+            for (const attributeName in attributesMap) {
+                const attributeObj = attributesMap[attributeName];
+                if (attributeName == "additionalProperties") {
+                    if (extraAttributes.length > 0) {
+                        if (!instance.additionalProperties) {
+                            instance.additionalProperties = {};
+                        }
+                        for (const key in extraAttributes) {
+                            instance.additionalProperties[extraAttributes[key]] =
+                                ObjectSerializer.deserialize(data[extraAttributes[key]], attributeObj.type, attributeObj.format);
+                        }
+                    }
+                    continue;
+                }
+                instance[attributeName] = ObjectSerializer.deserialize(data[attributeObj.baseName], attributeObj.type, attributeObj.format);
+                // check for required properties
+                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) && instance[attributeName] === undefined) {
+                    throw new Error(`missing required property '${attributeName}'`);
+                }
+                if (instance[attributeName] instanceof util_1.UnparsedObject ||
+                    ((_a = instance[attributeName]) === null || _a === void 0 ? void 0 : _a._unparsed)) {
+                    instance._unparsed = true;
+                }
+                if (Array.isArray(instance[attributeName])) {
+                    for (const d of instance[attributeName]) {
+                        if (d instanceof util_1.UnparsedObject || (d === null || d === void 0 ? void 0 : d._unparsed)) {
+                            instance._unparsed = true;
+                            break;
+                        }
+                    }
+                }
+            }
+            return instance;
+        }
+    }
+    /**
+     * Normalize media type
+     *
+     * We currently do not handle any media types attributes, i.e. anything
+     * after a semicolon. All content is assumed to be UTF-8 compatible.
+     */
+    static normalizeMediaType(mediaType) {
+        if (mediaType === undefined) {
+            return undefined;
+        }
+        return mediaType.split(";")[0].trim().toLowerCase();
+    }
+    /**
+     * From a list of possible media types, choose the one we can handle best.
+     *
+     * The order of the given media types does not have any impact on the choice
+     * made.
+     */
+    static getPreferredMediaType(mediaTypes) {
+        /** According to OAS 3 we should default to json */
+        if (!mediaTypes) {
+            return "application/json";
+        }
+        const normalMediaTypes = mediaTypes.map(this.normalizeMediaType);
+        let selectedMediaType = undefined;
+        let selectedRank = -Infinity;
+        for (const mediaType of normalMediaTypes) {
+            if (mediaType === undefined) {
+                continue;
+            }
+            const supported = supportedMediaTypes[mediaType];
+            if (supported !== undefined && supported > selectedRank) {
+                selectedMediaType = mediaType;
+                selectedRank = supported;
+            }
+        }
+        if (selectedMediaType === undefined) {
+            throw new Error("None of the given media types are supported: " + mediaTypes.join(", "));
+        }
+        return selectedMediaType;
+    }
+    /**
+     * Convert data to a string according the given media type
+     */
+    static stringify(data, mediaType) {
+        if (mediaType === "application/json" || mediaType === "text/json") {
+            return JSON.stringify(data);
+        }
+        throw new Error("The mediaType " +
+            mediaType +
+            " is not supported by ObjectSerializer.stringify.");
+    }
+    /**
+     * Parse data from a string according to the given media type
+     */
+    static parse(rawData, mediaType) {
+        try {
+            return JSON.parse(rawData);
+        }
+        catch (error) {
+            logger_1.logger.debug(`could not parse ${mediaType}: ${error}`);
+            return rawData;
+        }
+    }
+}
+exports.ObjectSerializer = ObjectSerializer;
+//# sourceMappingURL=ObjectSerializer.js.map
+
+/***/ }),
+
+/***/ 49074:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OnDemandConcurrencyCap = void 0;
+/**
+ * On-demand concurrency cap.
+ */
+class OnDemandConcurrencyCap {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OnDemandConcurrencyCap.attributeTypeMap;
+    }
+}
+exports.OnDemandConcurrencyCap = OnDemandConcurrencyCap;
+/**
+ * @ignore
+ */
+OnDemandConcurrencyCap.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "OnDemandConcurrencyCapAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "OnDemandConcurrencyCapType",
+    },
+};
+//# sourceMappingURL=OnDemandConcurrencyCap.js.map
+
+/***/ }),
+
+/***/ 62818:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OnDemandConcurrencyCapAttributes = void 0;
+/**
+ * On-demand concurrency cap attributes.
+ */
+class OnDemandConcurrencyCapAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OnDemandConcurrencyCapAttributes.attributeTypeMap;
+    }
+}
+exports.OnDemandConcurrencyCapAttributes = OnDemandConcurrencyCapAttributes;
+/**
+ * @ignore
+ */
+OnDemandConcurrencyCapAttributes.attributeTypeMap = {
+    onDemandConcurrencyCap: {
+        baseName: "on_demand_concurrency_cap",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=OnDemandConcurrencyCapAttributes.js.map
+
+/***/ }),
+
+/***/ 44409:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OnDemandConcurrencyCapResponse = void 0;
+/**
+ * On-demand concurrency cap response.
+ */
+class OnDemandConcurrencyCapResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OnDemandConcurrencyCapResponse.attributeTypeMap;
+    }
+}
+exports.OnDemandConcurrencyCapResponse = OnDemandConcurrencyCapResponse;
+/**
+ * @ignore
+ */
+OnDemandConcurrencyCapResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "OnDemandConcurrencyCap",
+    },
+};
+//# sourceMappingURL=OnDemandConcurrencyCapResponse.js.map
+
+/***/ }),
+
+/***/ 42707:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceCreateAttributes = void 0;
+/**
+ * The Opsgenie service attributes for a create request.
+ */
+class OpsgenieServiceCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceCreateAttributes.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceCreateAttributes = OpsgenieServiceCreateAttributes;
+/**
+ * @ignore
+ */
+OpsgenieServiceCreateAttributes.attributeTypeMap = {
+    customUrl: {
+        baseName: "custom_url",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    opsgenieApiKey: {
+        baseName: "opsgenie_api_key",
+        type: "string",
+        required: true,
+    },
+    region: {
+        baseName: "region",
+        type: "OpsgenieServiceRegionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 98988:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceCreateData = void 0;
+/**
+ * Opsgenie service data for a create request.
+ */
+class OpsgenieServiceCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceCreateData.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceCreateData = OpsgenieServiceCreateData;
+/**
+ * @ignore
+ */
+OpsgenieServiceCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "OpsgenieServiceCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "OpsgenieServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceCreateData.js.map
+
+/***/ }),
+
+/***/ 96060:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceCreateRequest = void 0;
+/**
+ * Create request for an Opsgenie service.
+ */
+class OpsgenieServiceCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceCreateRequest.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceCreateRequest = OpsgenieServiceCreateRequest;
+/**
+ * @ignore
+ */
+OpsgenieServiceCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "OpsgenieServiceCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceCreateRequest.js.map
+
+/***/ }),
+
+/***/ 89367:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceResponse = void 0;
+/**
+ * Response of an Opsgenie service.
+ */
+class OpsgenieServiceResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceResponse.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceResponse = OpsgenieServiceResponse;
+/**
+ * @ignore
+ */
+OpsgenieServiceResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "OpsgenieServiceResponseData",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceResponse.js.map
+
+/***/ }),
+
+/***/ 96457:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceResponseAttributes = void 0;
+/**
+ * The attributes from an Opsgenie service response.
+ */
+class OpsgenieServiceResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceResponseAttributes.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceResponseAttributes = OpsgenieServiceResponseAttributes;
+/**
+ * @ignore
+ */
+OpsgenieServiceResponseAttributes.attributeTypeMap = {
+    customUrl: {
+        baseName: "custom_url",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "OpsgenieServiceRegionType",
+    },
+};
+//# sourceMappingURL=OpsgenieServiceResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 8536:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceResponseData = void 0;
+/**
+ * Opsgenie service data from a response.
+ */
+class OpsgenieServiceResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceResponseData.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceResponseData = OpsgenieServiceResponseData;
+/**
+ * @ignore
+ */
+OpsgenieServiceResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "OpsgenieServiceResponseAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "OpsgenieServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceResponseData.js.map
+
+/***/ }),
+
+/***/ 47224:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceUpdateAttributes = void 0;
+/**
+ * The Opsgenie service attributes for an update request.
+ */
+class OpsgenieServiceUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceUpdateAttributes = OpsgenieServiceUpdateAttributes;
+/**
+ * @ignore
+ */
+OpsgenieServiceUpdateAttributes.attributeTypeMap = {
+    customUrl: {
+        baseName: "custom_url",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    opsgenieApiKey: {
+        baseName: "opsgenie_api_key",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "OpsgenieServiceRegionType",
+    },
+};
+//# sourceMappingURL=OpsgenieServiceUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 49361:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceUpdateData = void 0;
+/**
+ * Opsgenie service for an update request.
+ */
+class OpsgenieServiceUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceUpdateData.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceUpdateData = OpsgenieServiceUpdateData;
+/**
+ * @ignore
+ */
+OpsgenieServiceUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "OpsgenieServiceUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "OpsgenieServiceType",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceUpdateData.js.map
+
+/***/ }),
+
+/***/ 89306:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServiceUpdateRequest = void 0;
+/**
+ * Update request for an Opsgenie service.
+ */
+class OpsgenieServiceUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServiceUpdateRequest.attributeTypeMap;
+    }
+}
+exports.OpsgenieServiceUpdateRequest = OpsgenieServiceUpdateRequest;
+/**
+ * @ignore
+ */
+OpsgenieServiceUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "OpsgenieServiceUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServiceUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 57103:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OpsgenieServicesResponse = void 0;
+/**
+ * Response with a list of Opsgenie services.
+ */
+class OpsgenieServicesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OpsgenieServicesResponse.attributeTypeMap;
+    }
+}
+exports.OpsgenieServicesResponse = OpsgenieServicesResponse;
+/**
+ * @ignore
+ */
+OpsgenieServicesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=OpsgenieServicesResponse.js.map
+
+/***/ }),
+
+/***/ 65574:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Organization = void 0;
+/**
+ * Organization object.
+ */
+class Organization {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Organization.attributeTypeMap;
+    }
+}
+exports.Organization = Organization;
+/**
+ * @ignore
+ */
+Organization.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "OrganizationAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "OrganizationsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=Organization.js.map
+
+/***/ }),
+
+/***/ 80208:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OrganizationAttributes = void 0;
+/**
+ * Attributes of the organization.
+ */
+class OrganizationAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return OrganizationAttributes.attributeTypeMap;
+    }
+}
+exports.OrganizationAttributes = OrganizationAttributes;
+/**
+ * @ignore
+ */
+OrganizationAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    sharing: {
+        baseName: "sharing",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=OrganizationAttributes.js.map
+
+/***/ }),
+
+/***/ 83012:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Pagination = void 0;
+/**
+ * Pagination object.
+ */
+class Pagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Pagination.attributeTypeMap;
+    }
+}
+exports.Pagination = Pagination;
+/**
+ * @ignore
+ */
+Pagination.attributeTypeMap = {
+    totalCount: {
+        baseName: "total_count",
+        type: "number",
+        format: "int64",
+    },
+    totalFilteredCount: {
+        baseName: "total_filtered_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=Pagination.js.map
+
+/***/ }),
+
+/***/ 17607:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PartialAPIKey = void 0;
+/**
+ * Partial Datadog API key.
+ */
+class PartialAPIKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PartialAPIKey.attributeTypeMap;
+    }
+}
+exports.PartialAPIKey = PartialAPIKey;
+/**
+ * @ignore
+ */
+PartialAPIKey.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "PartialAPIKeyAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "APIKeyRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "APIKeysType",
+    },
+};
+//# sourceMappingURL=PartialAPIKey.js.map
+
+/***/ }),
+
+/***/ 4778:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PartialAPIKeyAttributes = void 0;
+/**
+ * Attributes of a partial API key.
+ */
+class PartialAPIKeyAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PartialAPIKeyAttributes.attributeTypeMap;
+    }
+}
+exports.PartialAPIKeyAttributes = PartialAPIKeyAttributes;
+/**
+ * @ignore
+ */
+PartialAPIKeyAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "string",
+    },
+    last4: {
+        baseName: "last4",
+        type: "string",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=PartialAPIKeyAttributes.js.map
+
+/***/ }),
+
+/***/ 9242:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PartialApplicationKey = void 0;
+/**
+ * Partial Datadog application key.
+ */
+class PartialApplicationKey {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PartialApplicationKey.attributeTypeMap;
+    }
+}
+exports.PartialApplicationKey = PartialApplicationKey;
+/**
+ * @ignore
+ */
+PartialApplicationKey.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "PartialApplicationKeyAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "ApplicationKeyRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "ApplicationKeysType",
+    },
+};
+//# sourceMappingURL=PartialApplicationKey.js.map
+
+/***/ }),
+
+/***/ 58374:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PartialApplicationKeyAttributes = void 0;
+/**
+ * Attributes of a partial application key.
+ */
+class PartialApplicationKeyAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PartialApplicationKeyAttributes.attributeTypeMap;
+    }
+}
+exports.PartialApplicationKeyAttributes = PartialApplicationKeyAttributes;
+/**
+ * @ignore
+ */
+PartialApplicationKeyAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "string",
+    },
+    last4: {
+        baseName: "last4",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    scopes: {
+        baseName: "scopes",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=PartialApplicationKeyAttributes.js.map
+
+/***/ }),
+
+/***/ 38675:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PartialApplicationKeyResponse = void 0;
+/**
+ * Response for retrieving a partial application key.
+ */
+class PartialApplicationKeyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PartialApplicationKeyResponse.attributeTypeMap;
+    }
+}
+exports.PartialApplicationKeyResponse = PartialApplicationKeyResponse;
+/**
+ * @ignore
+ */
+PartialApplicationKeyResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "PartialApplicationKey",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=PartialApplicationKeyResponse.js.map
+
+/***/ }),
+
+/***/ 62112:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Permission = void 0;
+/**
+ * Permission object.
+ */
+class Permission {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Permission.attributeTypeMap;
+    }
+}
+exports.Permission = Permission;
+/**
+ * @ignore
+ */
+Permission.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "PermissionAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "PermissionsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=Permission.js.map
+
+/***/ }),
+
+/***/ 95692:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PermissionAttributes = void 0;
+/**
+ * Attributes of a permission.
+ */
+class PermissionAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PermissionAttributes.attributeTypeMap;
+    }
+}
+exports.PermissionAttributes = PermissionAttributes;
+/**
+ * @ignore
+ */
+PermissionAttributes.attributeTypeMap = {
+    created: {
+        baseName: "created",
+        type: "Date",
+        format: "date-time",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    displayName: {
+        baseName: "display_name",
+        type: "string",
+    },
+    displayType: {
+        baseName: "display_type",
+        type: "string",
+    },
+    groupName: {
+        baseName: "group_name",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    restricted: {
+        baseName: "restricted",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=PermissionAttributes.js.map
+
+/***/ }),
+
+/***/ 67012:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PermissionsResponse = void 0;
+/**
+ * Payload with API-returned permissions.
+ */
+class PermissionsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return PermissionsResponse.attributeTypeMap;
+    }
+}
+exports.PermissionsResponse = PermissionsResponse;
+/**
+ * @ignore
+ */
+PermissionsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=PermissionsResponse.js.map
+
+/***/ }),
+
+/***/ 24332:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessSummariesMeta = void 0;
+/**
+ * Response metadata object.
+ */
+class ProcessSummariesMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessSummariesMeta.attributeTypeMap;
+    }
+}
+exports.ProcessSummariesMeta = ProcessSummariesMeta;
+/**
+ * @ignore
+ */
+ProcessSummariesMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "ProcessSummariesMetaPage",
+    },
+};
+//# sourceMappingURL=ProcessSummariesMeta.js.map
+
+/***/ }),
+
+/***/ 16793:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessSummariesMetaPage = void 0;
+/**
+ * Paging attributes.
+ */
+class ProcessSummariesMetaPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessSummariesMetaPage.attributeTypeMap;
+    }
+}
+exports.ProcessSummariesMetaPage = ProcessSummariesMetaPage;
+/**
+ * @ignore
+ */
+ProcessSummariesMetaPage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+    size: {
+        baseName: "size",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=ProcessSummariesMetaPage.js.map
+
+/***/ }),
+
+/***/ 83645:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessSummariesResponse = void 0;
+/**
+ * List of process summaries.
+ */
+class ProcessSummariesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessSummariesResponse.attributeTypeMap;
+    }
+}
+exports.ProcessSummariesResponse = ProcessSummariesResponse;
+/**
+ * @ignore
+ */
+ProcessSummariesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ProcessSummariesMeta",
+    },
+};
+//# sourceMappingURL=ProcessSummariesResponse.js.map
+
+/***/ }),
+
+/***/ 39882:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessSummary = void 0;
+/**
+ * Process summary object.
+ */
+class ProcessSummary {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessSummary.attributeTypeMap;
+    }
+}
+exports.ProcessSummary = ProcessSummary;
+/**
+ * @ignore
+ */
+ProcessSummary.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ProcessSummaryAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ProcessSummaryType",
+    },
+};
+//# sourceMappingURL=ProcessSummary.js.map
+
+/***/ }),
+
+/***/ 68442:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ProcessSummaryAttributes = void 0;
+/**
+ * Attributes for a process summary.
+ */
+class ProcessSummaryAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ProcessSummaryAttributes.attributeTypeMap;
+    }
+}
+exports.ProcessSummaryAttributes = ProcessSummaryAttributes;
+/**
+ * @ignore
+ */
+ProcessSummaryAttributes.attributeTypeMap = {
+    cmdline: {
+        baseName: "cmdline",
+        type: "string",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    pid: {
+        baseName: "pid",
+        type: "number",
+        format: "int64",
+    },
+    ppid: {
+        baseName: "ppid",
+        type: "number",
+        format: "int64",
+    },
+    start: {
+        baseName: "start",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "string",
+    },
+    user: {
+        baseName: "user",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ProcessSummaryAttributes.js.map
+
+/***/ }),
+
+/***/ 16843:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.QueryFormula = void 0;
+/**
+ * A formula for calculation based on one or more queries.
+ */
+class QueryFormula {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return QueryFormula.attributeTypeMap;
+    }
+}
+exports.QueryFormula = QueryFormula;
+/**
+ * @ignore
+ */
+QueryFormula.attributeTypeMap = {
+    formula: {
+        baseName: "formula",
+        type: "string",
+        required: true,
+    },
+    limit: {
+        baseName: "limit",
+        type: "FormulaLimit",
+    },
+};
+//# sourceMappingURL=QueryFormula.js.map
+
+/***/ }),
+
+/***/ 21059:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMAggregateBucketValueTimeseriesPoint = void 0;
+/**
+ * A timeseries point.
+ */
+class RUMAggregateBucketValueTimeseriesPoint {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMAggregateBucketValueTimeseriesPoint.attributeTypeMap;
+    }
+}
+exports.RUMAggregateBucketValueTimeseriesPoint = RUMAggregateBucketValueTimeseriesPoint;
+/**
+ * @ignore
+ */
+RUMAggregateBucketValueTimeseriesPoint.attributeTypeMap = {
+    time: {
+        baseName: "time",
+        type: "Date",
+        format: "date-time",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=RUMAggregateBucketValueTimeseriesPoint.js.map
+
+/***/ }),
+
+/***/ 93799:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMAggregateRequest = void 0;
+/**
+ * The object sent with the request to retrieve aggregation buckets of RUM events from your organization.
+ */
+class RUMAggregateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMAggregateRequest.attributeTypeMap;
+    }
+}
+exports.RUMAggregateRequest = RUMAggregateRequest;
+/**
+ * @ignore
+ */
+RUMAggregateRequest.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "RUMQueryFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    options: {
+        baseName: "options",
+        type: "RUMQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "RUMQueryPageOptions",
+    },
+};
+//# sourceMappingURL=RUMAggregateRequest.js.map
+
+/***/ }),
+
+/***/ 39778:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMAggregateSort = void 0;
+/**
+ * A sort rule.
+ */
+class RUMAggregateSort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMAggregateSort.attributeTypeMap;
+    }
+}
+exports.RUMAggregateSort = RUMAggregateSort;
+/**
+ * @ignore
+ */
+RUMAggregateSort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "RUMAggregationFunction",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "RUMSortOrder",
+    },
+    type: {
+        baseName: "type",
+        type: "RUMAggregateSortType",
+    },
+};
+//# sourceMappingURL=RUMAggregateSort.js.map
+
+/***/ }),
+
+/***/ 50352:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMAggregationBucketsResponse = void 0;
+/**
+ * The query results.
+ */
+class RUMAggregationBucketsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMAggregationBucketsResponse.attributeTypeMap;
+    }
+}
+exports.RUMAggregationBucketsResponse = RUMAggregationBucketsResponse;
+/**
+ * @ignore
+ */
+RUMAggregationBucketsResponse.attributeTypeMap = {
+    buckets: {
+        baseName: "buckets",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=RUMAggregationBucketsResponse.js.map
+
+/***/ }),
+
+/***/ 95814:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMAnalyticsAggregateResponse = void 0;
+/**
+ * The response object for the RUM events aggregate API endpoint.
+ */
+class RUMAnalyticsAggregateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMAnalyticsAggregateResponse.attributeTypeMap;
+    }
+}
+exports.RUMAnalyticsAggregateResponse = RUMAnalyticsAggregateResponse;
+/**
+ * @ignore
+ */
+RUMAnalyticsAggregateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RUMAggregationBucketsResponse",
+    },
+    links: {
+        baseName: "links",
+        type: "RUMResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "RUMResponseMetadata",
+    },
+};
+//# sourceMappingURL=RUMAnalyticsAggregateResponse.js.map
+
+/***/ }),
+
+/***/ 6297:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplication = void 0;
+/**
+ * RUM application.
+ */
+class RUMApplication {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplication.attributeTypeMap;
+    }
+}
+exports.RUMApplication = RUMApplication;
+/**
+ * @ignore
+ */
+RUMApplication.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RUMApplicationAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "RUMApplicationType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplication.js.map
+
+/***/ }),
+
+/***/ 42706:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationAttributes = void 0;
+/**
+ * RUM application attributes.
+ */
+class RUMApplicationAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationAttributes.attributeTypeMap;
+    }
+}
+exports.RUMApplicationAttributes = RUMApplicationAttributes;
+/**
+ * @ignore
+ */
+RUMApplicationAttributes.attributeTypeMap = {
+    applicationId: {
+        baseName: "application_id",
+        type: "string",
+        required: true,
+    },
+    clientToken: {
+        baseName: "client_token",
+        type: "string",
+        required: true,
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    createdByHandle: {
+        baseName: "created_by_handle",
+        type: "string",
+        required: true,
+    },
+    hash: {
+        baseName: "hash",
+        type: "string",
+    },
+    isActive: {
+        baseName: "is_active",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    orgId: {
+        baseName: "org_id",
+        type: "number",
+        required: true,
+        format: "int32",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+        required: true,
+    },
+    updatedAt: {
+        baseName: "updated_at",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    updatedByHandle: {
+        baseName: "updated_by_handle",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationAttributes.js.map
+
+/***/ }),
+
+/***/ 77612:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationCreate = void 0;
+/**
+ * RUM application creation.
+ */
+class RUMApplicationCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationCreate.attributeTypeMap;
+    }
+}
+exports.RUMApplicationCreate = RUMApplicationCreate;
+/**
+ * @ignore
+ */
+RUMApplicationCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RUMApplicationCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "RUMApplicationCreateType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationCreate.js.map
+
+/***/ }),
+
+/***/ 22922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationCreateAttributes = void 0;
+/**
+ * RUM application creation attributes.
+ */
+class RUMApplicationCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationCreateAttributes.attributeTypeMap;
+    }
+}
+exports.RUMApplicationCreateAttributes = RUMApplicationCreateAttributes;
+/**
+ * @ignore
+ */
+RUMApplicationCreateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMApplicationCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 85662:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationCreateRequest = void 0;
+/**
+ * RUM application creation request attributes.
+ */
+class RUMApplicationCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationCreateRequest.attributeTypeMap;
+    }
+}
+exports.RUMApplicationCreateRequest = RUMApplicationCreateRequest;
+/**
+ * @ignore
+ */
+RUMApplicationCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RUMApplicationCreate",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationCreateRequest.js.map
+
+/***/ }),
+
+/***/ 28804:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationList = void 0;
+/**
+ * RUM application list.
+ */
+class RUMApplicationList {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationList.attributeTypeMap;
+    }
+}
+exports.RUMApplicationList = RUMApplicationList;
+/**
+ * @ignore
+ */
+RUMApplicationList.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RUMApplicationListAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "RUMApplicationListType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationList.js.map
+
+/***/ }),
+
+/***/ 95110:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationListAttributes = void 0;
+/**
+ * RUM application list attributes.
+ */
+class RUMApplicationListAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationListAttributes.attributeTypeMap;
+    }
+}
+exports.RUMApplicationListAttributes = RUMApplicationListAttributes;
+/**
+ * @ignore
+ */
+RUMApplicationListAttributes.attributeTypeMap = {
+    applicationId: {
+        baseName: "application_id",
+        type: "string",
+        required: true,
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    createdByHandle: {
+        baseName: "created_by_handle",
+        type: "string",
+        required: true,
+    },
+    hash: {
+        baseName: "hash",
+        type: "string",
+    },
+    isActive: {
+        baseName: "is_active",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    orgId: {
+        baseName: "org_id",
+        type: "number",
+        required: true,
+        format: "int32",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+        required: true,
+    },
+    updatedAt: {
+        baseName: "updated_at",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    updatedByHandle: {
+        baseName: "updated_by_handle",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationListAttributes.js.map
+
+/***/ }),
+
+/***/ 68134:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationResponse = void 0;
+/**
+ * RUM application response.
+ */
+class RUMApplicationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationResponse.attributeTypeMap;
+    }
+}
+exports.RUMApplicationResponse = RUMApplicationResponse;
+/**
+ * @ignore
+ */
+RUMApplicationResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RUMApplication",
+    },
+};
+//# sourceMappingURL=RUMApplicationResponse.js.map
+
+/***/ }),
+
+/***/ 43719:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationUpdate = void 0;
+/**
+ * RUM application update.
+ */
+class RUMApplicationUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationUpdate.attributeTypeMap;
+    }
+}
+exports.RUMApplicationUpdate = RUMApplicationUpdate;
+/**
+ * @ignore
+ */
+RUMApplicationUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RUMApplicationUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "RUMApplicationUpdateType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationUpdate.js.map
+
+/***/ }),
+
+/***/ 36700:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationUpdateAttributes = void 0;
+/**
+ * RUM application update attributes.
+ */
+class RUMApplicationUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.RUMApplicationUpdateAttributes = RUMApplicationUpdateAttributes;
+/**
+ * @ignore
+ */
+RUMApplicationUpdateAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMApplicationUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 71226:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationUpdateRequest = void 0;
+/**
+ * RUM application update request.
+ */
+class RUMApplicationUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationUpdateRequest.attributeTypeMap;
+    }
+}
+exports.RUMApplicationUpdateRequest = RUMApplicationUpdateRequest;
+/**
+ * @ignore
+ */
+RUMApplicationUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RUMApplicationUpdate",
+        required: true,
+    },
+};
+//# sourceMappingURL=RUMApplicationUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 64222:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMApplicationsResponse = void 0;
+/**
+ * RUM applications response.
+ */
+class RUMApplicationsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMApplicationsResponse.attributeTypeMap;
+    }
+}
+exports.RUMApplicationsResponse = RUMApplicationsResponse;
+/**
+ * @ignore
+ */
+RUMApplicationsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=RUMApplicationsResponse.js.map
+
+/***/ }),
+
+/***/ 21229:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMBucketResponse = void 0;
+/**
+ * Bucket values.
+ */
+class RUMBucketResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMBucketResponse.attributeTypeMap;
+    }
+}
+exports.RUMBucketResponse = RUMBucketResponse;
+/**
+ * @ignore
+ */
+RUMBucketResponse.attributeTypeMap = {
+    by: {
+        baseName: "by",
+        type: "{ [key: string]: string; }",
+    },
+    computes: {
+        baseName: "computes",
+        type: "{ [key: string]: RUMAggregateBucketValue; }",
+    },
+};
+//# sourceMappingURL=RUMBucketResponse.js.map
+
+/***/ }),
+
+/***/ 3281:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMCompute = void 0;
+/**
+ * A compute rule to compute metrics or timeseries.
+ */
+class RUMCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMCompute.attributeTypeMap;
+    }
+}
+exports.RUMCompute = RUMCompute;
+/**
+ * @ignore
+ */
+RUMCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "RUMAggregationFunction",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "RUMComputeType",
+    },
+};
+//# sourceMappingURL=RUMCompute.js.map
+
+/***/ }),
+
+/***/ 30404:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMEvent = void 0;
+/**
+ * Object description of a RUM event after being processed and stored by Datadog.
+ */
+class RUMEvent {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMEvent.attributeTypeMap;
+    }
+}
+exports.RUMEvent = RUMEvent;
+/**
+ * @ignore
+ */
+RUMEvent.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RUMEventAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "RUMEventType",
+    },
+};
+//# sourceMappingURL=RUMEvent.js.map
+
+/***/ }),
+
+/***/ 66563:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMEventAttributes = void 0;
+/**
+ * JSON object containing all event attributes and their associated values.
+ */
+class RUMEventAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMEventAttributes.attributeTypeMap;
+    }
+}
+exports.RUMEventAttributes = RUMEventAttributes;
+/**
+ * @ignore
+ */
+RUMEventAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=RUMEventAttributes.js.map
+
+/***/ }),
+
+/***/ 51628:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMEventsResponse = void 0;
+/**
+ * Response object with all events matching the request and pagination information.
+ */
+class RUMEventsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMEventsResponse.attributeTypeMap;
+    }
+}
+exports.RUMEventsResponse = RUMEventsResponse;
+/**
+ * @ignore
+ */
+RUMEventsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "RUMResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "RUMResponseMetadata",
+    },
+};
+//# sourceMappingURL=RUMEventsResponse.js.map
+
+/***/ }),
+
+/***/ 53303:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMGroupBy = void 0;
+/**
+ * A group-by rule.
+ */
+class RUMGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMGroupBy.attributeTypeMap;
+    }
+}
+exports.RUMGroupBy = RUMGroupBy;
+/**
+ * @ignore
+ */
+RUMGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    histogram: {
+        baseName: "histogram",
+        type: "RUMGroupByHistogram",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    missing: {
+        baseName: "missing",
+        type: "RUMGroupByMissing",
+    },
+    sort: {
+        baseName: "sort",
+        type: "RUMAggregateSort",
+    },
+    total: {
+        baseName: "total",
+        type: "RUMGroupByTotal",
+    },
+};
+//# sourceMappingURL=RUMGroupBy.js.map
+
+/***/ }),
+
+/***/ 25417:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMGroupByHistogram = void 0;
+/**
+ * Used to perform a histogram computation (only for measure facets).
+ * Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval.
+ */
+class RUMGroupByHistogram {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMGroupByHistogram.attributeTypeMap;
+    }
+}
+exports.RUMGroupByHistogram = RUMGroupByHistogram;
+/**
+ * @ignore
+ */
+RUMGroupByHistogram.attributeTypeMap = {
+    interval: {
+        baseName: "interval",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    max: {
+        baseName: "max",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    min: {
+        baseName: "min",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=RUMGroupByHistogram.js.map
+
+/***/ }),
+
+/***/ 93902:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMQueryFilter = void 0;
+/**
+ * The search and filter query settings.
+ */
+class RUMQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMQueryFilter.attributeTypeMap;
+    }
+}
+exports.RUMQueryFilter = RUMQueryFilter;
+/**
+ * @ignore
+ */
+RUMQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMQueryFilter.js.map
+
+/***/ }),
+
+/***/ 46379:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMQueryOptions = void 0;
+/**
+ * Global query options that are used during the query.
+ * Note: Only supply timezone or time offset, not both. Otherwise, the query fails.
+ */
+class RUMQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMQueryOptions.attributeTypeMap;
+    }
+}
+exports.RUMQueryOptions = RUMQueryOptions;
+/**
+ * @ignore
+ */
+RUMQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "time_offset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMQueryOptions.js.map
+
+/***/ }),
+
+/***/ 98647:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMQueryPageOptions = void 0;
+/**
+ * Paging attributes for listing events.
+ */
+class RUMQueryPageOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMQueryPageOptions.attributeTypeMap;
+    }
+}
+exports.RUMQueryPageOptions = RUMQueryPageOptions;
+/**
+ * @ignore
+ */
+RUMQueryPageOptions.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=RUMQueryPageOptions.js.map
+
+/***/ }),
+
+/***/ 55504:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class RUMResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMResponseLinks.attributeTypeMap;
+    }
+}
+exports.RUMResponseLinks = RUMResponseLinks;
+/**
+ * @ignore
+ */
+RUMResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMResponseLinks.js.map
+
+/***/ }),
+
+/***/ 34753:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class RUMResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMResponseMetadata.attributeTypeMap;
+    }
+}
+exports.RUMResponseMetadata = RUMResponseMetadata;
+/**
+ * @ignore
+ */
+RUMResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "RUMResponsePage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "RUMResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=RUMResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 31750:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMResponsePage = void 0;
+/**
+ * Paging attributes.
+ */
+class RUMResponsePage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMResponsePage.attributeTypeMap;
+    }
+}
+exports.RUMResponsePage = RUMResponsePage;
+/**
+ * @ignore
+ */
+RUMResponsePage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMResponsePage.js.map
+
+/***/ }),
+
+/***/ 28839:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMSearchEventsRequest = void 0;
+/**
+ * The request for a RUM events list.
+ */
+class RUMSearchEventsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMSearchEventsRequest.attributeTypeMap;
+    }
+}
+exports.RUMSearchEventsRequest = RUMSearchEventsRequest;
+/**
+ * @ignore
+ */
+RUMSearchEventsRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "RUMQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "RUMQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "RUMQueryPageOptions",
+    },
+    sort: {
+        baseName: "sort",
+        type: "RUMSort",
+    },
+};
+//# sourceMappingURL=RUMSearchEventsRequest.js.map
+
+/***/ }),
+
+/***/ 81499:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RUMWarning = void 0;
+/**
+ * A warning message indicating something that went wrong with the query.
+ */
+class RUMWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RUMWarning.attributeTypeMap;
+    }
+}
+exports.RUMWarning = RUMWarning;
+/**
+ * @ignore
+ */
+RUMWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RUMWarning.js.map
+
+/***/ }),
+
+/***/ 68393:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentAttachment = void 0;
+/**
+ * A relationship reference for attachments.
+ */
+class RelationshipToIncidentAttachment {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentAttachment.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentAttachment = RelationshipToIncidentAttachment;
+/**
+ * @ignore
+ */
+RelationshipToIncidentAttachment.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentAttachment.js.map
+
+/***/ }),
+
+/***/ 26001:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentAttachmentData = void 0;
+/**
+ * The attachment relationship data.
+ */
+class RelationshipToIncidentAttachmentData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentAttachmentData.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentAttachmentData = RelationshipToIncidentAttachmentData;
+/**
+ * @ignore
+ */
+RelationshipToIncidentAttachmentData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentAttachmentType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentAttachmentData.js.map
+
+/***/ }),
+
+/***/ 82162:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentIntegrationMetadataData = void 0;
+/**
+ * A relationship reference for an integration metadata object.
+ */
+class RelationshipToIncidentIntegrationMetadataData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentIntegrationMetadataData.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentIntegrationMetadataData = RelationshipToIncidentIntegrationMetadataData;
+/**
+ * @ignore
+ */
+RelationshipToIncidentIntegrationMetadataData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentIntegrationMetadataType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentIntegrationMetadataData.js.map
+
+/***/ }),
+
+/***/ 1463:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentIntegrationMetadatas = void 0;
+/**
+ * A relationship reference for multiple integration metadata objects.
+ */
+class RelationshipToIncidentIntegrationMetadatas {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentIntegrationMetadatas.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentIntegrationMetadatas = RelationshipToIncidentIntegrationMetadatas;
+/**
+ * @ignore
+ */
+RelationshipToIncidentIntegrationMetadatas.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentIntegrationMetadatas.js.map
+
+/***/ }),
+
+/***/ 83931:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentPostmortem = void 0;
+/**
+ * A relationship reference for postmortems.
+ */
+class RelationshipToIncidentPostmortem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentPostmortem.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentPostmortem = RelationshipToIncidentPostmortem;
+/**
+ * @ignore
+ */
+RelationshipToIncidentPostmortem.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToIncidentPostmortemData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentPostmortem.js.map
+
+/***/ }),
+
+/***/ 12453:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToIncidentPostmortemData = void 0;
+/**
+ * The postmortem relationship data.
+ */
+class RelationshipToIncidentPostmortemData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToIncidentPostmortemData.attributeTypeMap;
+    }
+}
+exports.RelationshipToIncidentPostmortemData = RelationshipToIncidentPostmortemData;
+/**
+ * @ignore
+ */
+RelationshipToIncidentPostmortemData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "IncidentPostmortemType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToIncidentPostmortemData.js.map
+
+/***/ }),
+
+/***/ 19974:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToOrganization = void 0;
+/**
+ * Relationship to an organization.
+ */
+class RelationshipToOrganization {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToOrganization.attributeTypeMap;
+    }
+}
+exports.RelationshipToOrganization = RelationshipToOrganization;
+/**
+ * @ignore
+ */
+RelationshipToOrganization.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToOrganizationData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToOrganization.js.map
+
+/***/ }),
+
+/***/ 57387:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToOrganizationData = void 0;
+/**
+ * Relationship to organization object.
+ */
+class RelationshipToOrganizationData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToOrganizationData.attributeTypeMap;
+    }
+}
+exports.RelationshipToOrganizationData = RelationshipToOrganizationData;
+/**
+ * @ignore
+ */
+RelationshipToOrganizationData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "OrganizationsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToOrganizationData.js.map
+
+/***/ }),
+
+/***/ 29461:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToOrganizations = void 0;
+/**
+ * Relationship to organizations.
+ */
+class RelationshipToOrganizations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToOrganizations.attributeTypeMap;
+    }
+}
+exports.RelationshipToOrganizations = RelationshipToOrganizations;
+/**
+ * @ignore
+ */
+RelationshipToOrganizations.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToOrganizations.js.map
+
+/***/ }),
+
+/***/ 76482:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToPermission = void 0;
+/**
+ * Relationship to a permissions object.
+ */
+class RelationshipToPermission {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToPermission.attributeTypeMap;
+    }
+}
+exports.RelationshipToPermission = RelationshipToPermission;
+/**
+ * @ignore
+ */
+RelationshipToPermission.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToPermissionData",
+    },
+};
+//# sourceMappingURL=RelationshipToPermission.js.map
+
+/***/ }),
+
+/***/ 5468:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToPermissionData = void 0;
+/**
+ * Relationship to permission object.
+ */
+class RelationshipToPermissionData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToPermissionData.attributeTypeMap;
+    }
+}
+exports.RelationshipToPermissionData = RelationshipToPermissionData;
+/**
+ * @ignore
+ */
+RelationshipToPermissionData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "PermissionsType",
+    },
+};
+//# sourceMappingURL=RelationshipToPermissionData.js.map
+
+/***/ }),
+
+/***/ 63726:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToPermissions = void 0;
+/**
+ * Relationship to multiple permissions objects.
+ */
+class RelationshipToPermissions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToPermissions.attributeTypeMap;
+    }
+}
+exports.RelationshipToPermissions = RelationshipToPermissions;
+/**
+ * @ignore
+ */
+RelationshipToPermissions.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=RelationshipToPermissions.js.map
+
+/***/ }),
+
+/***/ 93263:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToRole = void 0;
+/**
+ * Relationship to role.
+ */
+class RelationshipToRole {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToRole.attributeTypeMap;
+    }
+}
+exports.RelationshipToRole = RelationshipToRole;
+/**
+ * @ignore
+ */
+RelationshipToRole.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToRoleData",
+    },
+};
+//# sourceMappingURL=RelationshipToRole.js.map
+
+/***/ }),
+
+/***/ 27514:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToRoleData = void 0;
+/**
+ * Relationship to role object.
+ */
+class RelationshipToRoleData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToRoleData.attributeTypeMap;
+    }
+}
+exports.RelationshipToRoleData = RelationshipToRoleData;
+/**
+ * @ignore
+ */
+RelationshipToRoleData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+    },
+};
+//# sourceMappingURL=RelationshipToRoleData.js.map
+
+/***/ }),
+
+/***/ 97252:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToRoles = void 0;
+/**
+ * Relationship to roles.
+ */
+class RelationshipToRoles {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToRoles.attributeTypeMap;
+    }
+}
+exports.RelationshipToRoles = RelationshipToRoles;
+/**
+ * @ignore
+ */
+RelationshipToRoles.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=RelationshipToRoles.js.map
+
+/***/ }),
+
+/***/ 15660:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToSAMLAssertionAttribute = void 0;
+/**
+ * AuthN Mapping relationship to SAML Assertion Attribute.
+ */
+class RelationshipToSAMLAssertionAttribute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToSAMLAssertionAttribute.attributeTypeMap;
+    }
+}
+exports.RelationshipToSAMLAssertionAttribute = RelationshipToSAMLAssertionAttribute;
+/**
+ * @ignore
+ */
+RelationshipToSAMLAssertionAttribute.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToSAMLAssertionAttributeData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToSAMLAssertionAttribute.js.map
+
+/***/ }),
+
+/***/ 91898:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToSAMLAssertionAttributeData = void 0;
+/**
+ * Data of AuthN Mapping relationship to SAML Assertion Attribute.
+ */
+class RelationshipToSAMLAssertionAttributeData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToSAMLAssertionAttributeData.attributeTypeMap;
+    }
+}
+exports.RelationshipToSAMLAssertionAttributeData = RelationshipToSAMLAssertionAttributeData;
+/**
+ * @ignore
+ */
+RelationshipToSAMLAssertionAttributeData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SAMLAssertionAttributesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToSAMLAssertionAttributeData.js.map
+
+/***/ }),
+
+/***/ 77649:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToTeamLinkData = void 0;
+/**
+ * Relationship between a link and a team
+ */
+class RelationshipToTeamLinkData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToTeamLinkData.attributeTypeMap;
+    }
+}
+exports.RelationshipToTeamLinkData = RelationshipToTeamLinkData;
+/**
+ * @ignore
+ */
+RelationshipToTeamLinkData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "TeamLinkType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToTeamLinkData.js.map
+
+/***/ }),
+
+/***/ 12483:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToTeamLinks = void 0;
+/**
+ * Relationship between a team and a team link
+ */
+class RelationshipToTeamLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToTeamLinks.attributeTypeMap;
+    }
+}
+exports.RelationshipToTeamLinks = RelationshipToTeamLinks;
+/**
+ * @ignore
+ */
+RelationshipToTeamLinks.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "TeamRelationshipsLinks",
+    },
+};
+//# sourceMappingURL=RelationshipToTeamLinks.js.map
+
+/***/ }),
+
+/***/ 18704:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUser = void 0;
+/**
+ * Relationship to user.
+ */
+class RelationshipToUser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUser.attributeTypeMap;
+    }
+}
+exports.RelationshipToUser = RelationshipToUser;
+/**
+ * @ignore
+ */
+RelationshipToUser.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToUserData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUser.js.map
+
+/***/ }),
+
+/***/ 57934:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUserData = void 0;
+/**
+ * Relationship to user object.
+ */
+class RelationshipToUserData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUserData.attributeTypeMap;
+    }
+}
+exports.RelationshipToUserData = RelationshipToUserData;
+/**
+ * @ignore
+ */
+RelationshipToUserData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUserData.js.map
+
+/***/ }),
+
+/***/ 58517:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUserTeamPermission = void 0;
+/**
+ * Relationship between a user team permission and a team
+ */
+class RelationshipToUserTeamPermission {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUserTeamPermission.attributeTypeMap;
+    }
+}
+exports.RelationshipToUserTeamPermission = RelationshipToUserTeamPermission;
+/**
+ * @ignore
+ */
+RelationshipToUserTeamPermission.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToUserTeamPermissionData",
+    },
+    links: {
+        baseName: "links",
+        type: "TeamRelationshipsLinks",
+    },
+};
+//# sourceMappingURL=RelationshipToUserTeamPermission.js.map
+
+/***/ }),
+
+/***/ 72350:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUserTeamPermissionData = void 0;
+/**
+ * Related user team permission data
+ */
+class RelationshipToUserTeamPermissionData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUserTeamPermissionData.attributeTypeMap;
+    }
+}
+exports.RelationshipToUserTeamPermissionData = RelationshipToUserTeamPermissionData;
+/**
+ * @ignore
+ */
+RelationshipToUserTeamPermissionData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamPermissionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUserTeamPermissionData.js.map
+
+/***/ }),
+
+/***/ 60994:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUserTeamUser = void 0;
+/**
+ * Relationship between team membership and user
+ */
+class RelationshipToUserTeamUser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUserTeamUser.attributeTypeMap;
+    }
+}
+exports.RelationshipToUserTeamUser = RelationshipToUserTeamUser;
+/**
+ * @ignore
+ */
+RelationshipToUserTeamUser.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RelationshipToUserTeamUserData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUserTeamUser.js.map
+
+/***/ }),
+
+/***/ 39332:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUserTeamUserData = void 0;
+/**
+ * A user's relationship with a team
+ */
+class RelationshipToUserTeamUserData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUserTeamUserData.attributeTypeMap;
+    }
+}
+exports.RelationshipToUserTeamUserData = RelationshipToUserTeamUserData;
+/**
+ * @ignore
+ */
+RelationshipToUserTeamUserData.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamUserType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUserTeamUserData.js.map
+
+/***/ }),
+
+/***/ 19717:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RelationshipToUsers = void 0;
+/**
+ * Relationship to users.
+ */
+class RelationshipToUsers {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RelationshipToUsers.attributeTypeMap;
+    }
+}
+exports.RelationshipToUsers = RelationshipToUsers;
+/**
+ * @ignore
+ */
+RelationshipToUsers.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=RelationshipToUsers.js.map
+
+/***/ }),
+
+/***/ 71189:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ResponseMetaAttributes = void 0;
+/**
+ * Object describing meta attributes of response.
+ */
+class ResponseMetaAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ResponseMetaAttributes.attributeTypeMap;
+    }
+}
+exports.ResponseMetaAttributes = ResponseMetaAttributes;
+/**
+ * @ignore
+ */
+ResponseMetaAttributes.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "Pagination",
+    },
+};
+//# sourceMappingURL=ResponseMetaAttributes.js.map
+
+/***/ }),
+
+/***/ 52302:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPolicy = void 0;
+/**
+ * Restriction policy object.
+ */
+class RestrictionPolicy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RestrictionPolicy.attributeTypeMap;
+    }
+}
+exports.RestrictionPolicy = RestrictionPolicy;
+/**
+ * @ignore
+ */
+RestrictionPolicy.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RestrictionPolicyAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "RestrictionPolicyType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RestrictionPolicy.js.map
+
+/***/ }),
+
+/***/ 58612:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPolicyAttributes = void 0;
+/**
+ * Restriction policy attributes.
+ */
+class RestrictionPolicyAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RestrictionPolicyAttributes.attributeTypeMap;
+    }
+}
+exports.RestrictionPolicyAttributes = RestrictionPolicyAttributes;
+/**
+ * @ignore
+ */
+RestrictionPolicyAttributes.attributeTypeMap = {
+    bindings: {
+        baseName: "bindings",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=RestrictionPolicyAttributes.js.map
+
+/***/ }),
+
+/***/ 59472:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPolicyBinding = void 0;
+/**
+ * Specifies which principals are associated with a relation.
+ */
+class RestrictionPolicyBinding {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RestrictionPolicyBinding.attributeTypeMap;
+    }
+}
+exports.RestrictionPolicyBinding = RestrictionPolicyBinding;
+/**
+ * @ignore
+ */
+RestrictionPolicyBinding.attributeTypeMap = {
+    principals: {
+        baseName: "principals",
+        type: "Array",
+        required: true,
+    },
+    relation: {
+        baseName: "relation",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RestrictionPolicyBinding.js.map
+
+/***/ }),
+
+/***/ 5958:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPolicyResponse = void 0;
+/**
+ * Response containing information about a single restriction policy.
+ */
+class RestrictionPolicyResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RestrictionPolicyResponse.attributeTypeMap;
+    }
+}
+exports.RestrictionPolicyResponse = RestrictionPolicyResponse;
+/**
+ * @ignore
+ */
+RestrictionPolicyResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RestrictionPolicy",
+        required: true,
+    },
+};
+//# sourceMappingURL=RestrictionPolicyResponse.js.map
+
+/***/ }),
+
+/***/ 61621:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RestrictionPolicyUpdateRequest = void 0;
+/**
+ * Update request for a restriction policy.
+ */
+class RestrictionPolicyUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RestrictionPolicyUpdateRequest.attributeTypeMap;
+    }
+}
+exports.RestrictionPolicyUpdateRequest = RestrictionPolicyUpdateRequest;
+/**
+ * @ignore
+ */
+RestrictionPolicyUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RestrictionPolicy",
+        required: true,
+    },
+};
+//# sourceMappingURL=RestrictionPolicyUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 36755:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Role = void 0;
+/**
+ * Role object returned by the API.
+ */
+class Role {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Role.attributeTypeMap;
+    }
+}
+exports.Role = Role;
+/**
+ * @ignore
+ */
+Role.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "RoleResponseRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=Role.js.map
+
+/***/ }),
+
+/***/ 72234:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleAttributes = void 0;
+/**
+ * Attributes of the role.
+ */
+class RoleAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleAttributes.attributeTypeMap;
+    }
+}
+exports.RoleAttributes = RoleAttributes;
+/**
+ * @ignore
+ */
+RoleAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    userCount: {
+        baseName: "user_count",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=RoleAttributes.js.map
+
+/***/ }),
+
+/***/ 11697:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleClone = void 0;
+/**
+ * Data for the clone role request.
+ */
+class RoleClone {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleClone.attributeTypeMap;
+    }
+}
+exports.RoleClone = RoleClone;
+/**
+ * @ignore
+ */
+RoleClone.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleCloneAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleClone.js.map
+
+/***/ }),
+
+/***/ 23490:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCloneAttributes = void 0;
+/**
+ * Attributes required to create a new role by cloning an existing one.
+ */
+class RoleCloneAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCloneAttributes.attributeTypeMap;
+    }
+}
+exports.RoleCloneAttributes = RoleCloneAttributes;
+/**
+ * @ignore
+ */
+RoleCloneAttributes.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleCloneAttributes.js.map
+
+/***/ }),
+
+/***/ 14928:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCloneRequest = void 0;
+/**
+ * Request to create a role by cloning an existing role.
+ */
+class RoleCloneRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCloneRequest.attributeTypeMap;
+    }
+}
+exports.RoleCloneRequest = RoleCloneRequest;
+/**
+ * @ignore
+ */
+RoleCloneRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RoleClone",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleCloneRequest.js.map
+
+/***/ }),
+
+/***/ 29959:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCreateAttributes = void 0;
+/**
+ * Attributes of the created role.
+ */
+class RoleCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCreateAttributes.attributeTypeMap;
+    }
+}
+exports.RoleCreateAttributes = RoleCreateAttributes;
+/**
+ * @ignore
+ */
+RoleCreateAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 90720:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCreateData = void 0;
+/**
+ * Data related to the creation of a role.
+ */
+class RoleCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCreateData.attributeTypeMap;
+    }
+}
+exports.RoleCreateData = RoleCreateData;
+/**
+ * @ignore
+ */
+RoleCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleCreateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "RoleRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+    },
+};
+//# sourceMappingURL=RoleCreateData.js.map
+
+/***/ }),
+
+/***/ 97058:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCreateRequest = void 0;
+/**
+ * Create a role.
+ */
+class RoleCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCreateRequest.attributeTypeMap;
+    }
+}
+exports.RoleCreateRequest = RoleCreateRequest;
+/**
+ * @ignore
+ */
+RoleCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RoleCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleCreateRequest.js.map
+
+/***/ }),
+
+/***/ 21064:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCreateResponse = void 0;
+/**
+ * Response containing information about a created role.
+ */
+class RoleCreateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCreateResponse.attributeTypeMap;
+    }
+}
+exports.RoleCreateResponse = RoleCreateResponse;
+/**
+ * @ignore
+ */
+RoleCreateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RoleCreateResponseData",
+    },
+};
+//# sourceMappingURL=RoleCreateResponse.js.map
+
+/***/ }),
+
+/***/ 3831:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleCreateResponseData = void 0;
+/**
+ * Role object returned by the API.
+ */
+class RoleCreateResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleCreateResponseData.attributeTypeMap;
+    }
+}
+exports.RoleCreateResponseData = RoleCreateResponseData;
+/**
+ * @ignore
+ */
+RoleCreateResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleCreateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "RoleResponseRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleCreateResponseData.js.map
+
+/***/ }),
+
+/***/ 1462:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleRelationships = void 0;
+/**
+ * Relationships of the role object.
+ */
+class RoleRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleRelationships.attributeTypeMap;
+    }
+}
+exports.RoleRelationships = RoleRelationships;
+/**
+ * @ignore
+ */
+RoleRelationships.attributeTypeMap = {
+    permissions: {
+        baseName: "permissions",
+        type: "RelationshipToPermissions",
+    },
+    users: {
+        baseName: "users",
+        type: "RelationshipToUsers",
+    },
+};
+//# sourceMappingURL=RoleRelationships.js.map
+
+/***/ }),
+
+/***/ 1667:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleResponse = void 0;
+/**
+ * Response containing information about a single role.
+ */
+class RoleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleResponse.attributeTypeMap;
+    }
+}
+exports.RoleResponse = RoleResponse;
+/**
+ * @ignore
+ */
+RoleResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Role",
+    },
+};
+//# sourceMappingURL=RoleResponse.js.map
+
+/***/ }),
+
+/***/ 20863:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleResponseRelationships = void 0;
+/**
+ * Relationships of the role object returned by the API.
+ */
+class RoleResponseRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleResponseRelationships.attributeTypeMap;
+    }
+}
+exports.RoleResponseRelationships = RoleResponseRelationships;
+/**
+ * @ignore
+ */
+RoleResponseRelationships.attributeTypeMap = {
+    permissions: {
+        baseName: "permissions",
+        type: "RelationshipToPermissions",
+    },
+};
+//# sourceMappingURL=RoleResponseRelationships.js.map
+
+/***/ }),
+
+/***/ 61293:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleUpdateAttributes = void 0;
+/**
+ * Attributes of the role.
+ */
+class RoleUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.RoleUpdateAttributes = RoleUpdateAttributes;
+/**
+ * @ignore
+ */
+RoleUpdateAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=RoleUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 43035:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleUpdateData = void 0;
+/**
+ * Data related to the update of a role.
+ */
+class RoleUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleUpdateData.attributeTypeMap;
+    }
+}
+exports.RoleUpdateData = RoleUpdateData;
+/**
+ * @ignore
+ */
+RoleUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "RoleRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleUpdateData.js.map
+
+/***/ }),
+
+/***/ 6460:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleUpdateRequest = void 0;
+/**
+ * Update a role.
+ */
+class RoleUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleUpdateRequest.attributeTypeMap;
+    }
+}
+exports.RoleUpdateRequest = RoleUpdateRequest;
+/**
+ * @ignore
+ */
+RoleUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RoleUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 43475:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleUpdateResponse = void 0;
+/**
+ * Response containing information about an updated role.
+ */
+class RoleUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleUpdateResponse.attributeTypeMap;
+    }
+}
+exports.RoleUpdateResponse = RoleUpdateResponse;
+/**
+ * @ignore
+ */
+RoleUpdateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "RoleUpdateResponseData",
+    },
+};
+//# sourceMappingURL=RoleUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 53999:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RoleUpdateResponseData = void 0;
+/**
+ * Role object returned by the API.
+ */
+class RoleUpdateResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RoleUpdateResponseData.attributeTypeMap;
+    }
+}
+exports.RoleUpdateResponseData = RoleUpdateResponseData;
+/**
+ * @ignore
+ */
+RoleUpdateResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "RoleUpdateAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "RoleResponseRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "RolesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=RoleUpdateResponseData.js.map
+
+/***/ }),
+
+/***/ 16287:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RolesResponse = void 0;
+/**
+ * Response containing information about multiple roles.
+ */
+class RolesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return RolesResponse.attributeTypeMap;
+    }
+}
+exports.RolesResponse = RolesResponse;
+/**
+ * @ignore
+ */
+RolesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ResponseMetaAttributes",
+    },
+};
+//# sourceMappingURL=RolesResponse.js.map
+
+/***/ }),
+
+/***/ 90269:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SAMLAssertionAttribute = void 0;
+/**
+ * SAML assertion attribute.
+ */
+class SAMLAssertionAttribute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SAMLAssertionAttribute.attributeTypeMap;
+    }
+}
+exports.SAMLAssertionAttribute = SAMLAssertionAttribute;
+/**
+ * @ignore
+ */
+SAMLAssertionAttribute.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SAMLAssertionAttributeAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SAMLAssertionAttributesType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SAMLAssertionAttribute.js.map
+
+/***/ }),
+
+/***/ 24689:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SAMLAssertionAttributeAttributes = void 0;
+/**
+ * Key/Value pair of attributes used in SAML assertion attributes.
+ */
+class SAMLAssertionAttributeAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SAMLAssertionAttributeAttributes.attributeTypeMap;
+    }
+}
+exports.SAMLAssertionAttributeAttributes = SAMLAssertionAttributeAttributes;
+/**
+ * @ignore
+ */
+SAMLAssertionAttributeAttributes.attributeTypeMap = {
+    attributeKey: {
+        baseName: "attribute_key",
+        type: "string",
+    },
+    attributeValue: {
+        baseName: "attribute_value",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SAMLAssertionAttributeAttributes.js.map
+
+/***/ }),
+
+/***/ 45958:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarFormulaQueryRequest = void 0;
+/**
+ * A wrapper request around one scalar query to be executed.
+ */
+class ScalarFormulaQueryRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarFormulaQueryRequest.attributeTypeMap;
+    }
+}
+exports.ScalarFormulaQueryRequest = ScalarFormulaQueryRequest;
+/**
+ * @ignore
+ */
+ScalarFormulaQueryRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ScalarFormulaRequest",
+        required: true,
+    },
+};
+//# sourceMappingURL=ScalarFormulaQueryRequest.js.map
+
+/***/ }),
+
+/***/ 24210:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarFormulaQueryResponse = void 0;
+/**
+ * A message containing one or more responses to scalar queries.
+ */
+class ScalarFormulaQueryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarFormulaQueryResponse.attributeTypeMap;
+    }
+}
+exports.ScalarFormulaQueryResponse = ScalarFormulaQueryResponse;
+/**
+ * @ignore
+ */
+ScalarFormulaQueryResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ScalarResponse",
+    },
+    errors: {
+        baseName: "errors",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ScalarFormulaQueryResponse.js.map
+
+/***/ }),
+
+/***/ 26410:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarFormulaRequest = void 0;
+/**
+ * A single scalar query to be executed.
+ */
+class ScalarFormulaRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarFormulaRequest.attributeTypeMap;
+    }
+}
+exports.ScalarFormulaRequest = ScalarFormulaRequest;
+/**
+ * @ignore
+ */
+ScalarFormulaRequest.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ScalarFormulaRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ScalarFormulaRequestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ScalarFormulaRequest.js.map
+
+/***/ }),
+
+/***/ 74689:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarFormulaRequestAttributes = void 0;
+/**
+ * The object describing a scalar formula request.
+ */
+class ScalarFormulaRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarFormulaRequestAttributes.attributeTypeMap;
+    }
+}
+exports.ScalarFormulaRequestAttributes = ScalarFormulaRequestAttributes;
+/**
+ * @ignore
+ */
+ScalarFormulaRequestAttributes.attributeTypeMap = {
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    from: {
+        baseName: "from",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+        required: true,
+    },
+    to: {
+        baseName: "to",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+};
+//# sourceMappingURL=ScalarFormulaRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 45821:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarFormulaResponseAtrributes = void 0;
+/**
+ * The object describing a scalar response.
+ */
+class ScalarFormulaResponseAtrributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarFormulaResponseAtrributes.attributeTypeMap;
+    }
+}
+exports.ScalarFormulaResponseAtrributes = ScalarFormulaResponseAtrributes;
+/**
+ * @ignore
+ */
+ScalarFormulaResponseAtrributes.attributeTypeMap = {
+    columns: {
+        baseName: "columns",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ScalarFormulaResponseAtrributes.js.map
+
+/***/ }),
+
+/***/ 1795:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarMeta = void 0;
+/**
+ * Metadata for the resulting numerical values.
+ */
+class ScalarMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarMeta.attributeTypeMap;
+    }
+}
+exports.ScalarMeta = ScalarMeta;
+/**
+ * @ignore
+ */
+ScalarMeta.attributeTypeMap = {
+    unit: {
+        baseName: "unit",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ScalarMeta.js.map
+
+/***/ }),
+
+/***/ 17718:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ScalarResponse = void 0;
+/**
+ * A message containing the response to a scalar query.
+ */
+class ScalarResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ScalarResponse.attributeTypeMap;
+    }
+}
+exports.ScalarResponse = ScalarResponse;
+/**
+ * @ignore
+ */
+ScalarResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ScalarFormulaResponseAtrributes",
+    },
+    type: {
+        baseName: "type",
+        type: "ScalarFormulaResponseType",
+    },
+};
+//# sourceMappingURL=ScalarResponse.js.map
+
+/***/ }),
+
+/***/ 98136:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilter = void 0;
+/**
+ * The security filter's properties.
+ */
+class SecurityFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilter.attributeTypeMap;
+    }
+}
+exports.SecurityFilter = SecurityFilter;
+/**
+ * @ignore
+ */
+SecurityFilter.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityFilterAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityFilterType",
+    },
+};
+//# sourceMappingURL=SecurityFilter.js.map
+
+/***/ }),
+
+/***/ 48194:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterAttributes = void 0;
+/**
+ * The object describing a security filter.
+ */
+class SecurityFilterAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityFilterAttributes = SecurityFilterAttributes;
+/**
+ * @ignore
+ */
+SecurityFilterAttributes.attributeTypeMap = {
+    exclusionFilters: {
+        baseName: "exclusion_filters",
+        type: "Array",
+    },
+    filteredDataType: {
+        baseName: "filtered_data_type",
+        type: "SecurityFilterFilteredDataType",
+    },
+    isBuiltin: {
+        baseName: "is_builtin",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SecurityFilterAttributes.js.map
+
+/***/ }),
+
+/***/ 41713:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterCreateAttributes = void 0;
+/**
+ * Object containing the attributes of the security filter to be created.
+ */
+class SecurityFilterCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterCreateAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityFilterCreateAttributes = SecurityFilterCreateAttributes;
+/**
+ * @ignore
+ */
+SecurityFilterCreateAttributes.attributeTypeMap = {
+    exclusionFilters: {
+        baseName: "exclusion_filters",
+        type: "Array",
+        required: true,
+    },
+    filteredDataType: {
+        baseName: "filtered_data_type",
+        type: "SecurityFilterFilteredDataType",
+        required: true,
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 81804:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterCreateData = void 0;
+/**
+ * Object for a single security filter.
+ */
+class SecurityFilterCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterCreateData.attributeTypeMap;
+    }
+}
+exports.SecurityFilterCreateData = SecurityFilterCreateData;
+/**
+ * @ignore
+ */
+SecurityFilterCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityFilterCreateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityFilterType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterCreateData.js.map
+
+/***/ }),
+
+/***/ 10474:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterCreateRequest = void 0;
+/**
+ * Request object that includes the security filter that you would like to create.
+ */
+class SecurityFilterCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterCreateRequest.attributeTypeMap;
+    }
+}
+exports.SecurityFilterCreateRequest = SecurityFilterCreateRequest;
+/**
+ * @ignore
+ */
+SecurityFilterCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityFilterCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterCreateRequest.js.map
+
+/***/ }),
+
+/***/ 39677:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterExclusionFilter = void 0;
+/**
+ * Exclusion filter for the security filter.
+ */
+class SecurityFilterExclusionFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterExclusionFilter.attributeTypeMap;
+    }
+}
+exports.SecurityFilterExclusionFilter = SecurityFilterExclusionFilter;
+/**
+ * @ignore
+ */
+SecurityFilterExclusionFilter.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterExclusionFilter.js.map
+
+/***/ }),
+
+/***/ 14492:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterExclusionFilterResponse = void 0;
+/**
+ * A single exclusion filter.
+ */
+class SecurityFilterExclusionFilterResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterExclusionFilterResponse.attributeTypeMap;
+    }
+}
+exports.SecurityFilterExclusionFilterResponse = SecurityFilterExclusionFilterResponse;
+/**
+ * @ignore
+ */
+SecurityFilterExclusionFilterResponse.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityFilterExclusionFilterResponse.js.map
+
+/***/ }),
+
+/***/ 50958:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterMeta = void 0;
+/**
+ * Optional metadata associated to the response.
+ */
+class SecurityFilterMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterMeta.attributeTypeMap;
+    }
+}
+exports.SecurityFilterMeta = SecurityFilterMeta;
+/**
+ * @ignore
+ */
+SecurityFilterMeta.attributeTypeMap = {
+    warning: {
+        baseName: "warning",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityFilterMeta.js.map
+
+/***/ }),
+
+/***/ 72023:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterResponse = void 0;
+/**
+ * Response object which includes a single security filter.
+ */
+class SecurityFilterResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterResponse.attributeTypeMap;
+    }
+}
+exports.SecurityFilterResponse = SecurityFilterResponse;
+/**
+ * @ignore
+ */
+SecurityFilterResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityFilter",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SecurityFilterMeta",
+    },
+};
+//# sourceMappingURL=SecurityFilterResponse.js.map
+
+/***/ }),
+
+/***/ 39876:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterUpdateAttributes = void 0;
+/**
+ * The security filters properties to be updated.
+ */
+class SecurityFilterUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityFilterUpdateAttributes = SecurityFilterUpdateAttributes;
+/**
+ * @ignore
+ */
+SecurityFilterUpdateAttributes.attributeTypeMap = {
+    exclusionFilters: {
+        baseName: "exclusion_filters",
+        type: "Array",
+    },
+    filteredDataType: {
+        baseName: "filtered_data_type",
+        type: "SecurityFilterFilteredDataType",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SecurityFilterUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 10333:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterUpdateData = void 0;
+/**
+ * The new security filter properties.
+ */
+class SecurityFilterUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterUpdateData.attributeTypeMap;
+    }
+}
+exports.SecurityFilterUpdateData = SecurityFilterUpdateData;
+/**
+ * @ignore
+ */
+SecurityFilterUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityFilterUpdateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityFilterType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterUpdateData.js.map
+
+/***/ }),
+
+/***/ 84583:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFilterUpdateRequest = void 0;
+/**
+ * The new security filter body.
+ */
+class SecurityFilterUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFilterUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SecurityFilterUpdateRequest = SecurityFilterUpdateRequest;
+/**
+ * @ignore
+ */
+SecurityFilterUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityFilterUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityFilterUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 8334:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityFiltersResponse = void 0;
+/**
+ * All the available security filters objects.
+ */
+class SecurityFiltersResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityFiltersResponse.attributeTypeMap;
+    }
+}
+exports.SecurityFiltersResponse = SecurityFiltersResponse;
+/**
+ * @ignore
+ */
+SecurityFiltersResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SecurityFilterMeta",
+    },
+};
+//# sourceMappingURL=SecurityFiltersResponse.js.map
+
+/***/ }),
+
+/***/ 49382:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringFilter = void 0;
+/**
+ * The rule's suppression filter.
+ */
+class SecurityMonitoringFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringFilter.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringFilter = SecurityMonitoringFilter;
+/**
+ * @ignore
+ */
+SecurityMonitoringFilter.attributeTypeMap = {
+    action: {
+        baseName: "action",
+        type: "SecurityMonitoringFilterAction",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringFilter.js.map
+
+/***/ }),
+
+/***/ 42623:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringListRulesResponse = void 0;
+/**
+ * List of rules.
+ */
+class SecurityMonitoringListRulesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringListRulesResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringListRulesResponse = SecurityMonitoringListRulesResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringListRulesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ResponseMetaAttributes",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringListRulesResponse.js.map
+
+/***/ }),
+
+/***/ 51268:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleCase = void 0;
+/**
+ * Case when signal is generated.
+ */
+class SecurityMonitoringRuleCase {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleCase.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleCase = SecurityMonitoringRuleCase;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleCase.attributeTypeMap = {
+    condition: {
+        baseName: "condition",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    notifications: {
+        baseName: "notifications",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "SecurityMonitoringRuleSeverity",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleCase.js.map
+
+/***/ }),
+
+/***/ 47916:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleCaseCreate = void 0;
+/**
+ * Case when signal is generated.
+ */
+class SecurityMonitoringRuleCaseCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleCaseCreate.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleCaseCreate = SecurityMonitoringRuleCaseCreate;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleCaseCreate.attributeTypeMap = {
+    condition: {
+        baseName: "condition",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    notifications: {
+        baseName: "notifications",
+        type: "Array",
+    },
+    status: {
+        baseName: "status",
+        type: "SecurityMonitoringRuleSeverity",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleCaseCreate.js.map
+
+/***/ }),
+
+/***/ 27598:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleImpossibleTravelOptions = void 0;
+/**
+ * Options on impossible travel rules.
+ */
+class SecurityMonitoringRuleImpossibleTravelOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleImpossibleTravelOptions.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleImpossibleTravelOptions = SecurityMonitoringRuleImpossibleTravelOptions;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleImpossibleTravelOptions.attributeTypeMap = {
+    baselineUserLocations: {
+        baseName: "baselineUserLocations",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleImpossibleTravelOptions.js.map
+
+/***/ }),
+
+/***/ 23671:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleNewValueOptions = void 0;
+/**
+ * Options on new value rules.
+ */
+class SecurityMonitoringRuleNewValueOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleNewValueOptions.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleNewValueOptions = SecurityMonitoringRuleNewValueOptions;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleNewValueOptions.attributeTypeMap = {
+    forgetAfter: {
+        baseName: "forgetAfter",
+        type: "SecurityMonitoringRuleNewValueOptionsForgetAfter",
+        format: "int32",
+    },
+    learningDuration: {
+        baseName: "learningDuration",
+        type: "SecurityMonitoringRuleNewValueOptionsLearningDuration",
+        format: "int32",
+    },
+    learningMethod: {
+        baseName: "learningMethod",
+        type: "SecurityMonitoringRuleNewValueOptionsLearningMethod",
+    },
+    learningThreshold: {
+        baseName: "learningThreshold",
+        type: "SecurityMonitoringRuleNewValueOptionsLearningThreshold",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleNewValueOptions.js.map
+
+/***/ }),
+
+/***/ 102:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleOptions = void 0;
+/**
+ * Options on rules.
+ */
+class SecurityMonitoringRuleOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleOptions.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleOptions = SecurityMonitoringRuleOptions;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleOptions.attributeTypeMap = {
+    complianceRuleOptions: {
+        baseName: "complianceRuleOptions",
+        type: "CloudConfigurationComplianceRuleOptions",
+    },
+    decreaseCriticalityBasedOnEnv: {
+        baseName: "decreaseCriticalityBasedOnEnv",
+        type: "boolean",
+    },
+    detectionMethod: {
+        baseName: "detectionMethod",
+        type: "SecurityMonitoringRuleDetectionMethod",
+    },
+    evaluationWindow: {
+        baseName: "evaluationWindow",
+        type: "SecurityMonitoringRuleEvaluationWindow",
+        format: "int32",
+    },
+    hardcodedEvaluatorType: {
+        baseName: "hardcodedEvaluatorType",
+        type: "SecurityMonitoringRuleHardcodedEvaluatorType",
+    },
+    impossibleTravelOptions: {
+        baseName: "impossibleTravelOptions",
+        type: "SecurityMonitoringRuleImpossibleTravelOptions",
+    },
+    keepAlive: {
+        baseName: "keepAlive",
+        type: "SecurityMonitoringRuleKeepAlive",
+        format: "int32",
+    },
+    maxSignalDuration: {
+        baseName: "maxSignalDuration",
+        type: "SecurityMonitoringRuleMaxSignalDuration",
+        format: "int32",
+    },
+    newValueOptions: {
+        baseName: "newValueOptions",
+        type: "SecurityMonitoringRuleNewValueOptions",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleOptions.js.map
+
+/***/ }),
+
+/***/ 9376:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringRuleUpdatePayload = void 0;
+/**
+ * Update an existing rule.
+ */
+class SecurityMonitoringRuleUpdatePayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringRuleUpdatePayload.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringRuleUpdatePayload = SecurityMonitoringRuleUpdatePayload;
+/**
+ * @ignore
+ */
+SecurityMonitoringRuleUpdatePayload.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+    },
+    complianceSignalOptions: {
+        baseName: "complianceSignalOptions",
+        type: "CloudConfigurationRuleComplianceSignalOptions",
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    hasExtendedTitle: {
+        baseName: "hasExtendedTitle",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "SecurityMonitoringRuleOptions",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringRuleUpdatePayload.js.map
+
+/***/ }),
+
+/***/ 1553:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignal = void 0;
+/**
+ * Object description of a security signal.
+ */
+class SecurityMonitoringSignal {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignal.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignal = SecurityMonitoringSignal;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignal.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityMonitoringSignalAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringSignalType",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignal.js.map
+
+/***/ }),
+
+/***/ 45363:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalAssigneeUpdateAttributes = void 0;
+/**
+ * Attributes describing the new assignee of a security signal.
+ */
+class SecurityMonitoringSignalAssigneeUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalAssigneeUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalAssigneeUpdateAttributes = SecurityMonitoringSignalAssigneeUpdateAttributes;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalAssigneeUpdateAttributes.attributeTypeMap = {
+    assignee: {
+        baseName: "assignee",
+        type: "SecurityMonitoringTriageUser",
+        required: true,
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 16920:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalAssigneeUpdateData = void 0;
+/**
+ * Data containing the patch for changing the assignee of a signal.
+ */
+class SecurityMonitoringSignalAssigneeUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalAssigneeUpdateData.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalAssigneeUpdateData = SecurityMonitoringSignalAssigneeUpdateData;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalAssigneeUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityMonitoringSignalAssigneeUpdateAttributes",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateData.js.map
+
+/***/ }),
+
+/***/ 29710:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalAssigneeUpdateRequest = void 0;
+/**
+ * Request body for changing the assignee of a given security monitoring signal.
+ */
+class SecurityMonitoringSignalAssigneeUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalAssigneeUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalAssigneeUpdateRequest = SecurityMonitoringSignalAssigneeUpdateRequest;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalAssigneeUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityMonitoringSignalAssigneeUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 52655:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalAttributes = void 0;
+/**
+ * The object containing all signal attributes and their
+ * associated values.
+ */
+class SecurityMonitoringSignalAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalAttributes = SecurityMonitoringSignalAttributes;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalAttributes.js.map
+
+/***/ }),
+
+/***/ 73864:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalIncidentsUpdateAttributes = void 0;
+/**
+ * Attributes describing the new list of related signals for a security signal.
+ */
+class SecurityMonitoringSignalIncidentsUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalIncidentsUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalIncidentsUpdateAttributes = SecurityMonitoringSignalIncidentsUpdateAttributes;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalIncidentsUpdateAttributes.attributeTypeMap = {
+    incidentIds: {
+        baseName: "incident_ids",
+        type: "Array",
+        required: true,
+        format: "int64",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 4718:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalIncidentsUpdateData = void 0;
+/**
+ * Data containing the patch for changing the related incidents of a signal.
+ */
+class SecurityMonitoringSignalIncidentsUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalIncidentsUpdateData.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalIncidentsUpdateData = SecurityMonitoringSignalIncidentsUpdateData;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalIncidentsUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityMonitoringSignalIncidentsUpdateAttributes",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateData.js.map
+
+/***/ }),
+
+/***/ 55348:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalIncidentsUpdateRequest = void 0;
+/**
+ * Request body for changing the related incidents of a given security monitoring signal.
+ */
+class SecurityMonitoringSignalIncidentsUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalIncidentsUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalIncidentsUpdateRequest = SecurityMonitoringSignalIncidentsUpdateRequest;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalIncidentsUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityMonitoringSignalIncidentsUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 10932:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalListRequest = void 0;
+/**
+ * The request for a security signal list.
+ */
+class SecurityMonitoringSignalListRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalListRequest.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalListRequest = SecurityMonitoringSignalListRequest;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalListRequest.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "SecurityMonitoringSignalListRequestFilter",
+    },
+    page: {
+        baseName: "page",
+        type: "SecurityMonitoringSignalListRequestPage",
+    },
+    sort: {
+        baseName: "sort",
+        type: "SecurityMonitoringSignalsSort",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalListRequest.js.map
+
+/***/ }),
+
+/***/ 65854:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalListRequestFilter = void 0;
+/**
+ * Search filters for listing security signals.
+ */
+class SecurityMonitoringSignalListRequestFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalListRequestFilter.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalListRequestFilter = SecurityMonitoringSignalListRequestFilter;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalListRequestFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "Date",
+        format: "date-time",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "Date",
+        format: "date-time",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalListRequestFilter.js.map
+
+/***/ }),
+
+/***/ 90767:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalListRequestPage = void 0;
+/**
+ * The paging attributes for listing security signals.
+ */
+class SecurityMonitoringSignalListRequestPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalListRequestPage.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalListRequestPage = SecurityMonitoringSignalListRequestPage;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalListRequestPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalListRequestPage.js.map
+
+/***/ }),
+
+/***/ 17188:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalResponse = void 0;
+/**
+ * Security Signal response data object.
+ */
+class SecurityMonitoringSignalResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalResponse = SecurityMonitoringSignalResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityMonitoringSignal",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalResponse.js.map
+
+/***/ }),
+
+/***/ 36371:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalRuleCreatePayload = void 0;
+/**
+ * Create a new signal correlation rule.
+ */
+class SecurityMonitoringSignalRuleCreatePayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalRuleCreatePayload.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalRuleCreatePayload = SecurityMonitoringSignalRuleCreatePayload;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalRuleCreatePayload.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+        required: true,
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    hasExtendedTitle: {
+        baseName: "hasExtendedTitle",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    options: {
+        baseName: "options",
+        type: "SecurityMonitoringRuleOptions",
+        required: true,
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringSignalRuleType",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalRuleCreatePayload.js.map
+
+/***/ }),
+
+/***/ 79272:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalRuleQuery = void 0;
+/**
+ * Query for matching rule on signals.
+ */
+class SecurityMonitoringSignalRuleQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalRuleQuery.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalRuleQuery = SecurityMonitoringSignalRuleQuery;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalRuleQuery.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "SecurityMonitoringRuleQueryAggregation",
+    },
+    correlatedByFields: {
+        baseName: "correlatedByFields",
+        type: "Array",
+    },
+    correlatedQueryIndex: {
+        baseName: "correlatedQueryIndex",
+        type: "number",
+        format: "int32",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    ruleId: {
+        baseName: "ruleId",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalRuleQuery.js.map
+
+/***/ }),
+
+/***/ 7909:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalRuleResponse = void 0;
+/**
+ * Rule.
+ */
+class SecurityMonitoringSignalRuleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalRuleResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalRuleResponse = SecurityMonitoringSignalRuleResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalRuleResponse.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+    },
+    createdAt: {
+        baseName: "createdAt",
+        type: "number",
+        format: "int64",
+    },
+    creationAuthorId: {
+        baseName: "creationAuthorId",
+        type: "number",
+        format: "int64",
+    },
+    deprecationDate: {
+        baseName: "deprecationDate",
+        type: "number",
+        format: "int64",
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    hasExtendedTitle: {
+        baseName: "hasExtendedTitle",
+        type: "boolean",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    isDefault: {
+        baseName: "isDefault",
+        type: "boolean",
+    },
+    isDeleted: {
+        baseName: "isDeleted",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "SecurityMonitoringRuleOptions",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringSignalRuleType",
+    },
+    updateAuthorId: {
+        baseName: "updateAuthorId",
+        type: "number",
+        format: "int64",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalRuleResponse.js.map
+
+/***/ }),
+
+/***/ 58294:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalRuleResponseQuery = void 0;
+/**
+ * Query for matching rule on signals.
+ */
+class SecurityMonitoringSignalRuleResponseQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalRuleResponseQuery.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalRuleResponseQuery = SecurityMonitoringSignalRuleResponseQuery;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalRuleResponseQuery.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "SecurityMonitoringRuleQueryAggregation",
+    },
+    correlatedByFields: {
+        baseName: "correlatedByFields",
+        type: "Array",
+    },
+    correlatedQueryIndex: {
+        baseName: "correlatedQueryIndex",
+        type: "number",
+        format: "int32",
+    },
+    defaultRuleId: {
+        baseName: "defaultRuleId",
+        type: "string",
+    },
+    distinctFields: {
+        baseName: "distinctFields",
+        type: "Array",
+    },
+    groupByFields: {
+        baseName: "groupByFields",
+        type: "Array",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    ruleId: {
+        baseName: "ruleId",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalRuleResponseQuery.js.map
+
+/***/ }),
+
+/***/ 58197:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalStateUpdateAttributes = void 0;
+/**
+ * Attributes describing the change of state of a security signal.
+ */
+class SecurityMonitoringSignalStateUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalStateUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalStateUpdateAttributes = SecurityMonitoringSignalStateUpdateAttributes;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalStateUpdateAttributes.attributeTypeMap = {
+    archiveComment: {
+        baseName: "archive_comment",
+        type: "string",
+    },
+    archiveReason: {
+        baseName: "archive_reason",
+        type: "SecurityMonitoringSignalArchiveReason",
+    },
+    state: {
+        baseName: "state",
+        type: "SecurityMonitoringSignalState",
+        required: true,
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalStateUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 42749:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalStateUpdateData = void 0;
+/**
+ * Data containing the patch for changing the state of a signal.
+ */
+class SecurityMonitoringSignalStateUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalStateUpdateData.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalStateUpdateData = SecurityMonitoringSignalStateUpdateData;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalStateUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityMonitoringSignalStateUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "any",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringSignalMetadataType",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalStateUpdateData.js.map
+
+/***/ }),
+
+/***/ 23286:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalStateUpdateRequest = void 0;
+/**
+ * Request body for changing the state of a given security monitoring signal.
+ */
+class SecurityMonitoringSignalStateUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalStateUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalStateUpdateRequest = SecurityMonitoringSignalStateUpdateRequest;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalStateUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityMonitoringSignalStateUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalStateUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 17580:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalTriageAttributes = void 0;
+/**
+ * Attributes describing a triage state update operation over a security signal.
+ */
+class SecurityMonitoringSignalTriageAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalTriageAttributes.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalTriageAttributes = SecurityMonitoringSignalTriageAttributes;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalTriageAttributes.attributeTypeMap = {
+    archiveComment: {
+        baseName: "archive_comment",
+        type: "string",
+    },
+    archiveCommentTimestamp: {
+        baseName: "archive_comment_timestamp",
+        type: "number",
+        format: "int64",
+    },
+    archiveCommentUser: {
+        baseName: "archive_comment_user",
+        type: "SecurityMonitoringTriageUser",
+    },
+    archiveReason: {
+        baseName: "archive_reason",
+        type: "SecurityMonitoringSignalArchiveReason",
+    },
+    assignee: {
+        baseName: "assignee",
+        type: "SecurityMonitoringTriageUser",
+        required: true,
+    },
+    incidentIds: {
+        baseName: "incident_ids",
+        type: "Array",
+        required: true,
+        format: "int64",
+    },
+    state: {
+        baseName: "state",
+        type: "SecurityMonitoringSignalState",
+        required: true,
+    },
+    stateUpdateTimestamp: {
+        baseName: "state_update_timestamp",
+        type: "number",
+        format: "int64",
+    },
+    stateUpdateUser: {
+        baseName: "state_update_user",
+        type: "SecurityMonitoringTriageUser",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalTriageAttributes.js.map
+
+/***/ }),
+
+/***/ 8148:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalTriageUpdateData = void 0;
+/**
+ * Data containing the updated triage attributes of the signal.
+ */
+class SecurityMonitoringSignalTriageUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalTriageUpdateData.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalTriageUpdateData = SecurityMonitoringSignalTriageUpdateData;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalTriageUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SecurityMonitoringSignalTriageAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringSignalMetadataType",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalTriageUpdateData.js.map
+
+/***/ }),
+
+/***/ 85262:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalTriageUpdateResponse = void 0;
+/**
+ * The response returned after all triage operations, containing the updated signal triage data.
+ */
+class SecurityMonitoringSignalTriageUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalTriageUpdateResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalTriageUpdateResponse = SecurityMonitoringSignalTriageUpdateResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalTriageUpdateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SecurityMonitoringSignalTriageUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalTriageUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 45578:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalsListResponse = void 0;
+/**
+ * The response object with all security signals matching the request
+ * and pagination information.
+ */
+class SecurityMonitoringSignalsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalsListResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalsListResponse = SecurityMonitoringSignalsListResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalsListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "SecurityMonitoringSignalsListResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SecurityMonitoringSignalsListResponseMeta",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalsListResponse.js.map
+
+/***/ }),
+
+/***/ 43590:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalsListResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class SecurityMonitoringSignalsListResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalsListResponseLinks.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalsListResponseLinks = SecurityMonitoringSignalsListResponseLinks;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalsListResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalsListResponseLinks.js.map
+
+/***/ }),
+
+/***/ 37270:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalsListResponseMeta = void 0;
+/**
+ * Meta attributes.
+ */
+class SecurityMonitoringSignalsListResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalsListResponseMeta.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalsListResponseMeta = SecurityMonitoringSignalsListResponseMeta;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalsListResponseMeta.attributeTypeMap = {
+    page: {
+        baseName: "page",
+        type: "SecurityMonitoringSignalsListResponseMetaPage",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalsListResponseMeta.js.map
+
+/***/ }),
+
+/***/ 23662:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringSignalsListResponseMetaPage = void 0;
+/**
+ * Paging attributes.
+ */
+class SecurityMonitoringSignalsListResponseMetaPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringSignalsListResponseMetaPage.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringSignalsListResponseMetaPage = SecurityMonitoringSignalsListResponseMetaPage;
+/**
+ * @ignore
+ */
+SecurityMonitoringSignalsListResponseMetaPage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringSignalsListResponseMetaPage.js.map
+
+/***/ }),
+
+/***/ 89492:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringStandardRuleCreatePayload = void 0;
+/**
+ * Create a new rule.
+ */
+class SecurityMonitoringStandardRuleCreatePayload {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringStandardRuleCreatePayload.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringStandardRuleCreatePayload = SecurityMonitoringStandardRuleCreatePayload;
+/**
+ * @ignore
+ */
+SecurityMonitoringStandardRuleCreatePayload.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+        required: true,
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    hasExtendedTitle: {
+        baseName: "hasExtendedTitle",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+        required: true,
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    options: {
+        baseName: "options",
+        type: "SecurityMonitoringRuleOptions",
+        required: true,
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringRuleTypeCreate",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringStandardRuleCreatePayload.js.map
+
+/***/ }),
+
+/***/ 1174:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringStandardRuleQuery = void 0;
+/**
+ * Query for matching rule.
+ */
+class SecurityMonitoringStandardRuleQuery {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringStandardRuleQuery.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringStandardRuleQuery = SecurityMonitoringStandardRuleQuery;
+/**
+ * @ignore
+ */
+SecurityMonitoringStandardRuleQuery.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "SecurityMonitoringRuleQueryAggregation",
+    },
+    distinctFields: {
+        baseName: "distinctFields",
+        type: "Array",
+    },
+    groupByFields: {
+        baseName: "groupByFields",
+        type: "Array",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    metrics: {
+        baseName: "metrics",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringStandardRuleQuery.js.map
+
+/***/ }),
+
+/***/ 56338:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringStandardRuleResponse = void 0;
+/**
+ * Rule.
+ */
+class SecurityMonitoringStandardRuleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringStandardRuleResponse.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringStandardRuleResponse = SecurityMonitoringStandardRuleResponse;
+/**
+ * @ignore
+ */
+SecurityMonitoringStandardRuleResponse.attributeTypeMap = {
+    cases: {
+        baseName: "cases",
+        type: "Array",
+    },
+    complianceSignalOptions: {
+        baseName: "complianceSignalOptions",
+        type: "CloudConfigurationRuleComplianceSignalOptions",
+    },
+    createdAt: {
+        baseName: "createdAt",
+        type: "number",
+        format: "int64",
+    },
+    creationAuthorId: {
+        baseName: "creationAuthorId",
+        type: "number",
+        format: "int64",
+    },
+    deprecationDate: {
+        baseName: "deprecationDate",
+        type: "number",
+        format: "int64",
+    },
+    filters: {
+        baseName: "filters",
+        type: "Array",
+    },
+    hasExtendedTitle: {
+        baseName: "hasExtendedTitle",
+        type: "boolean",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    isDefault: {
+        baseName: "isDefault",
+        type: "boolean",
+    },
+    isDeleted: {
+        baseName: "isDeleted",
+        type: "boolean",
+    },
+    isEnabled: {
+        baseName: "isEnabled",
+        type: "boolean",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    options: {
+        baseName: "options",
+        type: "SecurityMonitoringRuleOptions",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    type: {
+        baseName: "type",
+        type: "SecurityMonitoringRuleTypeRead",
+    },
+    updateAuthorId: {
+        baseName: "updateAuthorId",
+        type: "number",
+        format: "int64",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SecurityMonitoringStandardRuleResponse.js.map
+
+/***/ }),
+
+/***/ 26952:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SecurityMonitoringTriageUser = void 0;
+/**
+ * Object representing a given user entity.
+ */
+class SecurityMonitoringTriageUser {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SecurityMonitoringTriageUser.attributeTypeMap;
+    }
+}
+exports.SecurityMonitoringTriageUser = SecurityMonitoringTriageUser;
+/**
+ * @ignore
+ */
+SecurityMonitoringTriageUser.attributeTypeMap = {
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    icon: {
+        baseName: "icon",
+        type: "string",
+    },
+    id: {
+        baseName: "id",
+        type: "number",
+        format: "int64",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    uuid: {
+        baseName: "uuid",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=SecurityMonitoringTriageUser.js.map
+
+/***/ }),
+
+/***/ 69411:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerConfigRequest = void 0;
+/**
+ * Group reorder request.
+ */
+class SensitiveDataScannerConfigRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerConfigRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerConfigRequest = SensitiveDataScannerConfigRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerConfigRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerReorderConfig",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerConfigRequest.js.map
+
+/***/ }),
+
+/***/ 35401:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerConfiguration = void 0;
+/**
+ * A Sensitive Data Scanner configuration.
+ */
+class SensitiveDataScannerConfiguration {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerConfiguration.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerConfiguration = SensitiveDataScannerConfiguration;
+/**
+ * @ignore
+ */
+SensitiveDataScannerConfiguration.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerConfigurationType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerConfiguration.js.map
+
+/***/ }),
+
+/***/ 74356:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerConfigurationData = void 0;
+/**
+ * A Sensitive Data Scanner configuration data.
+ */
+class SensitiveDataScannerConfigurationData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerConfigurationData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerConfigurationData = SensitiveDataScannerConfigurationData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerConfigurationData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerConfiguration",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerConfigurationData.js.map
+
+/***/ }),
+
+/***/ 39656:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerConfigurationRelationships = void 0;
+/**
+ * Relationships of the configuration.
+ */
+class SensitiveDataScannerConfigurationRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerConfigurationRelationships.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerConfigurationRelationships = SensitiveDataScannerConfigurationRelationships;
+/**
+ * @ignore
+ */
+SensitiveDataScannerConfigurationRelationships.attributeTypeMap = {
+    groups: {
+        baseName: "groups",
+        type: "SensitiveDataScannerGroupList",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerConfigurationRelationships.js.map
+
+/***/ }),
+
+/***/ 75690:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerCreateGroupResponse = void 0;
+/**
+ * Create group response.
+ */
+class SensitiveDataScannerCreateGroupResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerCreateGroupResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerCreateGroupResponse = SensitiveDataScannerCreateGroupResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerCreateGroupResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerGroupResponse",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerCreateGroupResponse.js.map
+
+/***/ }),
+
+/***/ 22101:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerCreateRuleResponse = void 0;
+/**
+ * Create rule response.
+ */
+class SensitiveDataScannerCreateRuleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerCreateRuleResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerCreateRuleResponse = SensitiveDataScannerCreateRuleResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerCreateRuleResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerRuleResponse",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerCreateRuleResponse.js.map
+
+/***/ }),
+
+/***/ 85260:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerFilter = void 0;
+/**
+ * Filter for the Scanning Group.
+ */
+class SensitiveDataScannerFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerFilter.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerFilter = SensitiveDataScannerFilter;
+/**
+ * @ignore
+ */
+SensitiveDataScannerFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerFilter.js.map
+
+/***/ }),
+
+/***/ 67581:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGetConfigResponse = void 0;
+/**
+ * Get all groups response.
+ */
+class SensitiveDataScannerGetConfigResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGetConfigResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGetConfigResponse = SensitiveDataScannerGetConfigResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGetConfigResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerGetConfigResponseData",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMeta",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGetConfigResponse.js.map
+
+/***/ }),
+
+/***/ 64073:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGetConfigResponseData = void 0;
+/**
+ * Response data related to the scanning groups.
+ */
+class SensitiveDataScannerGetConfigResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGetConfigResponseData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGetConfigResponseData = SensitiveDataScannerGetConfigResponseData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGetConfigResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerConfigurationRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerConfigurationType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGetConfigResponseData.js.map
+
+/***/ }),
+
+/***/ 62426:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroup = void 0;
+/**
+ * A scanning group.
+ */
+class SensitiveDataScannerGroup {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroup.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroup = SensitiveDataScannerGroup;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroup.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroup.js.map
+
+/***/ }),
+
+/***/ 9924:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupAttributes = void 0;
+/**
+ * Attributes of the Sensitive Data Scanner group.
+ */
+class SensitiveDataScannerGroupAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupAttributes.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupAttributes = SensitiveDataScannerGroupAttributes;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupAttributes.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    filter: {
+        baseName: "filter",
+        type: "SensitiveDataScannerFilter",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    productList: {
+        baseName: "product_list",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupAttributes.js.map
+
+/***/ }),
+
+/***/ 30602:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupCreate = void 0;
+/**
+ * Data related to the creation of a group.
+ */
+class SensitiveDataScannerGroupCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupCreate.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupCreate = SensitiveDataScannerGroupCreate;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerGroupAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerGroupRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupCreate.js.map
+
+/***/ }),
+
+/***/ 51602:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupCreateRequest = void 0;
+/**
+ * Create group request.
+ */
+class SensitiveDataScannerGroupCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupCreateRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupCreateRequest = SensitiveDataScannerGroupCreateRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerGroupCreate",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupCreateRequest.js.map
+
+/***/ }),
+
+/***/ 7266:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupData = void 0;
+/**
+ * A scanning group data.
+ */
+class SensitiveDataScannerGroupData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupData = SensitiveDataScannerGroupData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerGroup",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupData.js.map
+
+/***/ }),
+
+/***/ 31407:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupDeleteRequest = void 0;
+/**
+ * Delete group request.
+ */
+class SensitiveDataScannerGroupDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupDeleteRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupDeleteRequest = SensitiveDataScannerGroupDeleteRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupDeleteRequest.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 61104:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupDeleteResponse = void 0;
+/**
+ * Delete group response.
+ */
+class SensitiveDataScannerGroupDeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupDeleteResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupDeleteResponse = SensitiveDataScannerGroupDeleteResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupDeleteResponse.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupDeleteResponse.js.map
+
+/***/ }),
+
+/***/ 26041:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupIncludedItem = void 0;
+/**
+ * A Scanning Group included item.
+ */
+class SensitiveDataScannerGroupIncludedItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupIncludedItem.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupIncludedItem = SensitiveDataScannerGroupIncludedItem;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupIncludedItem.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerGroupAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerGroupRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupIncludedItem.js.map
+
+/***/ }),
+
+/***/ 2146:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupItem = void 0;
+/**
+ * Data related to a Sensitive Data Scanner Group.
+ */
+class SensitiveDataScannerGroupItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupItem.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupItem = SensitiveDataScannerGroupItem;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupItem.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupItem.js.map
+
+/***/ }),
+
+/***/ 59249:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupList = void 0;
+/**
+ * List of groups, ordered.
+ */
+class SensitiveDataScannerGroupList {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupList.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupList = SensitiveDataScannerGroupList;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupList.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupList.js.map
+
+/***/ }),
+
+/***/ 51790:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupRelationships = void 0;
+/**
+ * Relationships of the group.
+ */
+class SensitiveDataScannerGroupRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupRelationships.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupRelationships = SensitiveDataScannerGroupRelationships;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupRelationships.attributeTypeMap = {
+    configuration: {
+        baseName: "configuration",
+        type: "SensitiveDataScannerConfigurationData",
+    },
+    rules: {
+        baseName: "rules",
+        type: "SensitiveDataScannerRuleData",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupRelationships.js.map
+
+/***/ }),
+
+/***/ 65128:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupResponse = void 0;
+/**
+ * Response data related to the creation of a group.
+ */
+class SensitiveDataScannerGroupResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupResponse = SensitiveDataScannerGroupResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerGroupAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerGroupRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupResponse.js.map
+
+/***/ }),
+
+/***/ 52945:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupUpdate = void 0;
+/**
+ * Data related to the update of a group.
+ */
+class SensitiveDataScannerGroupUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupUpdate.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupUpdate = SensitiveDataScannerGroupUpdate;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerGroupAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerGroupRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerGroupType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupUpdate.js.map
+
+/***/ }),
+
+/***/ 34142:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupUpdateRequest = void 0;
+/**
+ * Update group request.
+ */
+class SensitiveDataScannerGroupUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupUpdateRequest = SensitiveDataScannerGroupUpdateRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerGroupUpdate",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 13989:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerGroupUpdateResponse = void 0;
+/**
+ * Update group response.
+ */
+class SensitiveDataScannerGroupUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerGroupUpdateResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerGroupUpdateResponse = SensitiveDataScannerGroupUpdateResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerGroupUpdateResponse.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerGroupUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 31910:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerMeta = void 0;
+/**
+ * Meta response containing information about the API.
+ */
+class SensitiveDataScannerMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerMeta.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerMeta = SensitiveDataScannerMeta;
+/**
+ * @ignore
+ */
+SensitiveDataScannerMeta.attributeTypeMap = {
+    countLimit: {
+        baseName: "count_limit",
+        type: "number",
+        format: "int64",
+    },
+    groupCountLimit: {
+        baseName: "group_count_limit",
+        type: "number",
+        format: "int64",
+    },
+    hasHighlightEnabled: {
+        baseName: "has_highlight_enabled",
+        type: "boolean",
+    },
+    hasMultiPassEnabled: {
+        baseName: "has_multi_pass_enabled",
+        type: "boolean",
+    },
+    isPciCompliant: {
+        baseName: "is_pci_compliant",
+        type: "boolean",
+    },
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerMeta.js.map
+
+/***/ }),
+
+/***/ 88469:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerMetaVersionOnly = void 0;
+/**
+ * Meta payload containing information about the API.
+ */
+class SensitiveDataScannerMetaVersionOnly {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerMetaVersionOnly.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerMetaVersionOnly = SensitiveDataScannerMetaVersionOnly;
+/**
+ * @ignore
+ */
+SensitiveDataScannerMetaVersionOnly.attributeTypeMap = {
+    version: {
+        baseName: "version",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerMetaVersionOnly.js.map
+
+/***/ }),
+
+/***/ 8383:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerReorderConfig = void 0;
+/**
+ * Data related to the reordering of scanning groups.
+ */
+class SensitiveDataScannerReorderConfig {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerReorderConfig.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerReorderConfig = SensitiveDataScannerReorderConfig;
+/**
+ * @ignore
+ */
+SensitiveDataScannerReorderConfig.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerConfigurationRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerConfigurationType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerReorderConfig.js.map
+
+/***/ }),
+
+/***/ 50821:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerReorderGroupsResponse = void 0;
+/**
+ * Group reorder response.
+ */
+class SensitiveDataScannerReorderGroupsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerReorderGroupsResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerReorderGroupsResponse = SensitiveDataScannerReorderGroupsResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerReorderGroupsResponse.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMeta",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerReorderGroupsResponse.js.map
+
+/***/ }),
+
+/***/ 26568:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRule = void 0;
+/**
+ * Rule item included in the group.
+ */
+class SensitiveDataScannerRule {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRule.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRule = SensitiveDataScannerRule;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRule.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerRuleType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRule.js.map
+
+/***/ }),
+
+/***/ 81304:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleAttributes = void 0;
+/**
+ * Attributes of the Sensitive Data Scanner rule.
+ */
+class SensitiveDataScannerRuleAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleAttributes.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleAttributes = SensitiveDataScannerRuleAttributes;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleAttributes.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    excludedNamespaces: {
+        baseName: "excluded_namespaces",
+        type: "Array",
+    },
+    isEnabled: {
+        baseName: "is_enabled",
+        type: "boolean",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    namespaces: {
+        baseName: "namespaces",
+        type: "Array",
+    },
+    pattern: {
+        baseName: "pattern",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    textReplacement: {
+        baseName: "text_replacement",
+        type: "SensitiveDataScannerTextReplacement",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleAttributes.js.map
+
+/***/ }),
+
+/***/ 44345:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleCreate = void 0;
+/**
+ * Data related to the creation of a rule.
+ */
+class SensitiveDataScannerRuleCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleCreate.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleCreate = SensitiveDataScannerRuleCreate;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerRuleAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerRuleRelationships",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerRuleType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleCreate.js.map
+
+/***/ }),
+
+/***/ 49279:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleCreateRequest = void 0;
+/**
+ * Create rule request.
+ */
+class SensitiveDataScannerRuleCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleCreateRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleCreateRequest = SensitiveDataScannerRuleCreateRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerRuleCreate",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleCreateRequest.js.map
+
+/***/ }),
+
+/***/ 18714:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleData = void 0;
+/**
+ * Rules included in the group.
+ */
+class SensitiveDataScannerRuleData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleData = SensitiveDataScannerRuleData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleData.js.map
+
+/***/ }),
+
+/***/ 46228:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleDeleteRequest = void 0;
+/**
+ * Delete rule request.
+ */
+class SensitiveDataScannerRuleDeleteRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleDeleteRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleDeleteRequest = SensitiveDataScannerRuleDeleteRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleDeleteRequest.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleDeleteRequest.js.map
+
+/***/ }),
+
+/***/ 95736:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleDeleteResponse = void 0;
+/**
+ * Delete rule response.
+ */
+class SensitiveDataScannerRuleDeleteResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleDeleteResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleDeleteResponse = SensitiveDataScannerRuleDeleteResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleDeleteResponse.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleDeleteResponse.js.map
+
+/***/ }),
+
+/***/ 55756:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleIncludedItem = void 0;
+/**
+ * A Scanning Rule included item.
+ */
+class SensitiveDataScannerRuleIncludedItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleIncludedItem.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleIncludedItem = SensitiveDataScannerRuleIncludedItem;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleIncludedItem.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerRuleAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerRuleRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerRuleType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleIncludedItem.js.map
+
+/***/ }),
+
+/***/ 66242:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleRelationships = void 0;
+/**
+ * Relationships of a scanning rule.
+ */
+class SensitiveDataScannerRuleRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleRelationships.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleRelationships = SensitiveDataScannerRuleRelationships;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleRelationships.attributeTypeMap = {
+    group: {
+        baseName: "group",
+        type: "SensitiveDataScannerGroupData",
+    },
+    standardPattern: {
+        baseName: "standard_pattern",
+        type: "SensitiveDataScannerStandardPatternData",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleRelationships.js.map
+
+/***/ }),
+
+/***/ 20401:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleResponse = void 0;
+/**
+ * Response data related to the creation of a rule.
+ */
+class SensitiveDataScannerRuleResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleResponse = SensitiveDataScannerRuleResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerRuleAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerRuleRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerRuleType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleResponse.js.map
+
+/***/ }),
+
+/***/ 21545:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleUpdate = void 0;
+/**
+ * Data related to the update of a rule.
+ */
+class SensitiveDataScannerRuleUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleUpdate.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleUpdate = SensitiveDataScannerRuleUpdate;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerRuleAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "SensitiveDataScannerRuleRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerRuleType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleUpdate.js.map
+
+/***/ }),
+
+/***/ 67656:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleUpdateRequest = void 0;
+/**
+ * Update rule request.
+ */
+class SensitiveDataScannerRuleUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleUpdateRequest = SensitiveDataScannerRuleUpdateRequest;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerRuleUpdate",
+        required: true,
+    },
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+        required: true,
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 94431:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerRuleUpdateResponse = void 0;
+/**
+ * Update rule response.
+ */
+class SensitiveDataScannerRuleUpdateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerRuleUpdateResponse.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerRuleUpdateResponse = SensitiveDataScannerRuleUpdateResponse;
+/**
+ * @ignore
+ */
+SensitiveDataScannerRuleUpdateResponse.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "SensitiveDataScannerMetaVersionOnly",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerRuleUpdateResponse.js.map
+
+/***/ }),
+
+/***/ 92452:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerStandardPattern = void 0;
+/**
+ * Data containing the standard pattern id.
+ */
+class SensitiveDataScannerStandardPattern {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerStandardPattern.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerStandardPattern = SensitiveDataScannerStandardPattern;
+/**
+ * @ignore
+ */
+SensitiveDataScannerStandardPattern.attributeTypeMap = {
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerStandardPatternType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerStandardPattern.js.map
+
+/***/ }),
+
+/***/ 97689:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerStandardPatternAttributes = void 0;
+/**
+ * Attributes of the Sensitive Data Scanner standard pattern.
+ */
+class SensitiveDataScannerStandardPatternAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerStandardPatternAttributes.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerStandardPatternAttributes = SensitiveDataScannerStandardPatternAttributes;
+/**
+ * @ignore
+ */
+SensitiveDataScannerStandardPatternAttributes.attributeTypeMap = {
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    pattern: {
+        baseName: "pattern",
+        type: "string",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerStandardPatternAttributes.js.map
+
+/***/ }),
+
+/***/ 95146:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerStandardPatternData = void 0;
+/**
+ * A standard pattern.
+ */
+class SensitiveDataScannerStandardPatternData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerStandardPatternData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerStandardPatternData = SensitiveDataScannerStandardPatternData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerStandardPatternData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SensitiveDataScannerStandardPattern",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerStandardPatternData.js.map
+
+/***/ }),
+
+/***/ 56087:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerStandardPatternsResponseData = void 0;
+/**
+ * List Standard patterns response data.
+ */
+class SensitiveDataScannerStandardPatternsResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerStandardPatternsResponseData.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerStandardPatternsResponseData = SensitiveDataScannerStandardPatternsResponseData;
+/**
+ * @ignore
+ */
+SensitiveDataScannerStandardPatternsResponseData.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerStandardPatternsResponseData.js.map
+
+/***/ }),
+
+/***/ 85949:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerStandardPatternsResponseItem = void 0;
+/**
+ * Standard pattern item.
+ */
+class SensitiveDataScannerStandardPatternsResponseItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerStandardPatternsResponseItem.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerStandardPatternsResponseItem = SensitiveDataScannerStandardPatternsResponseItem;
+/**
+ * @ignore
+ */
+SensitiveDataScannerStandardPatternsResponseItem.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SensitiveDataScannerStandardPatternAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerStandardPatternType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerStandardPatternsResponseItem.js.map
+
+/***/ }),
+
+/***/ 21397:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SensitiveDataScannerTextReplacement = void 0;
+/**
+ * Object describing how the scanned event will be replaced.
+ */
+class SensitiveDataScannerTextReplacement {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SensitiveDataScannerTextReplacement.attributeTypeMap;
+    }
+}
+exports.SensitiveDataScannerTextReplacement = SensitiveDataScannerTextReplacement;
+/**
+ * @ignore
+ */
+SensitiveDataScannerTextReplacement.attributeTypeMap = {
+    numberOfChars: {
+        baseName: "number_of_chars",
+        type: "number",
+        format: "int64",
+    },
+    replacementString: {
+        baseName: "replacement_string",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SensitiveDataScannerTextReplacementType",
+    },
+};
+//# sourceMappingURL=SensitiveDataScannerTextReplacement.js.map
+
+/***/ }),
+
+/***/ 68937:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceAccountCreateAttributes = void 0;
+/**
+ * Attributes of the created user.
+ */
+class ServiceAccountCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceAccountCreateAttributes.attributeTypeMap;
+    }
+}
+exports.ServiceAccountCreateAttributes = ServiceAccountCreateAttributes;
+/**
+ * @ignore
+ */
+ServiceAccountCreateAttributes.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    serviceAccount: {
+        baseName: "service_account",
+        type: "boolean",
+        required: true,
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceAccountCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 93848:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceAccountCreateData = void 0;
+/**
+ * Object to create a service account User.
+ */
+class ServiceAccountCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceAccountCreateData.attributeTypeMap;
+    }
+}
+exports.ServiceAccountCreateData = ServiceAccountCreateData;
+/**
+ * @ignore
+ */
+ServiceAccountCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ServiceAccountCreateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceAccountCreateData.js.map
+
+/***/ }),
+
+/***/ 61830:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceAccountCreateRequest = void 0;
+/**
+ * Create a service account.
+ */
+class ServiceAccountCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceAccountCreateRequest.attributeTypeMap;
+    }
+}
+exports.ServiceAccountCreateRequest = ServiceAccountCreateRequest;
+/**
+ * @ignore
+ */
+ServiceAccountCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ServiceAccountCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceAccountCreateRequest.js.map
+
+/***/ }),
+
+/***/ 19264:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionCreateResponse = void 0;
+/**
+ * Create service definitions response.
+ */
+class ServiceDefinitionCreateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionCreateResponse.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionCreateResponse = ServiceDefinitionCreateResponse;
+/**
+ * @ignore
+ */
+ServiceDefinitionCreateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionCreateResponse.js.map
+
+/***/ }),
+
+/***/ 38925:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionData = void 0;
+/**
+ * Service definition data.
+ */
+class ServiceDefinitionData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionData.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionData = ServiceDefinitionData;
+/**
+ * @ignore
+ */
+ServiceDefinitionData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "ServiceDefinitionDataAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionData.js.map
+
+/***/ }),
+
+/***/ 81922:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionDataAttributes = void 0;
+/**
+ * Service definition attributes.
+ */
+class ServiceDefinitionDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionDataAttributes.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionDataAttributes = ServiceDefinitionDataAttributes;
+/**
+ * @ignore
+ */
+ServiceDefinitionDataAttributes.attributeTypeMap = {
+    meta: {
+        baseName: "meta",
+        type: "ServiceDefinitionMeta",
+    },
+    schema: {
+        baseName: "schema",
+        type: "ServiceDefinitionSchema",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionDataAttributes.js.map
+
+/***/ }),
+
+/***/ 63472:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionGetResponse = void 0;
+/**
+ * Get service definition response.
+ */
+class ServiceDefinitionGetResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionGetResponse.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionGetResponse = ServiceDefinitionGetResponse;
+/**
+ * @ignore
+ */
+ServiceDefinitionGetResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "ServiceDefinitionData",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionGetResponse.js.map
+
+/***/ }),
+
+/***/ 87896:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionMeta = void 0;
+/**
+ * Metadata about a service definition.
+ */
+class ServiceDefinitionMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionMeta.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionMeta = ServiceDefinitionMeta;
+/**
+ * @ignore
+ */
+ServiceDefinitionMeta.attributeTypeMap = {
+    githubHtmlUrl: {
+        baseName: "github-html-url",
+        type: "string",
+    },
+    ingestedSchemaVersion: {
+        baseName: "ingested-schema-version",
+        type: "string",
+    },
+    ingestionSource: {
+        baseName: "ingestion-source",
+        type: "string",
+    },
+    lastModifiedTime: {
+        baseName: "last-modified-time",
+        type: "string",
+    },
+    origin: {
+        baseName: "origin",
+        type: "string",
+    },
+    originDetail: {
+        baseName: "origin-detail",
+        type: "string",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionMeta.js.map
+
+/***/ }),
+
+/***/ 77112:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionMetaWarnings = void 0;
+/**
+ * Schema validation warnings.
+ */
+class ServiceDefinitionMetaWarnings {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionMetaWarnings.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionMetaWarnings = ServiceDefinitionMetaWarnings;
+/**
+ * @ignore
+ */
+ServiceDefinitionMetaWarnings.attributeTypeMap = {
+    instanceLocation: {
+        baseName: "instance-location",
+        type: "string",
+    },
+    keywordLocation: {
+        baseName: "keyword-location",
+        type: "string",
+    },
+    message: {
+        baseName: "message",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionMetaWarnings.js.map
+
+/***/ }),
+
+/***/ 90697:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1 = void 0;
+/**
+ * Deprecated - Service definition V1 for providing additional service metadata and integrations.
+ */
+class ServiceDefinitionV1 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1 = ServiceDefinitionV1;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "ServiceDefinitionV1Contact",
+    },
+    extensions: {
+        baseName: "extensions",
+        type: "{ [key: string]: any; }",
+    },
+    externalResources: {
+        baseName: "external-resources",
+        type: "Array",
+    },
+    info: {
+        baseName: "info",
+        type: "ServiceDefinitionV1Info",
+        required: true,
+    },
+    integrations: {
+        baseName: "integrations",
+        type: "ServiceDefinitionV1Integrations",
+    },
+    org: {
+        baseName: "org",
+        type: "ServiceDefinitionV1Org",
+    },
+    schemaVersion: {
+        baseName: "schema-version",
+        type: "ServiceDefinitionV1Version",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1.js.map
+
+/***/ }),
+
+/***/ 15281:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1Contact = void 0;
+/**
+ * Contact information about the service.
+ */
+class ServiceDefinitionV1Contact {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1Contact.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1Contact = ServiceDefinitionV1Contact;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1Contact.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+        format: "email",
+    },
+    slack: {
+        baseName: "slack",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1Contact.js.map
+
+/***/ }),
+
+/***/ 15707:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1Info = void 0;
+/**
+ * Basic information about a service.
+ */
+class ServiceDefinitionV1Info {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1Info.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1Info = ServiceDefinitionV1Info;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1Info.attributeTypeMap = {
+    ddService: {
+        baseName: "dd-service",
+        type: "string",
+        required: true,
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    displayName: {
+        baseName: "display-name",
+        type: "string",
+    },
+    serviceTier: {
+        baseName: "service-tier",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1Info.js.map
+
+/***/ }),
+
+/***/ 18115:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1Integrations = void 0;
+/**
+ * Third party integrations that Datadog supports.
+ */
+class ServiceDefinitionV1Integrations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1Integrations.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1Integrations = ServiceDefinitionV1Integrations;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1Integrations.attributeTypeMap = {
+    pagerduty: {
+        baseName: "pagerduty",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1Integrations.js.map
+
+/***/ }),
+
+/***/ 9483:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1Org = void 0;
+/**
+ * Org related information about the service.
+ */
+class ServiceDefinitionV1Org {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1Org.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1Org = ServiceDefinitionV1Org;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1Org.attributeTypeMap = {
+    application: {
+        baseName: "application",
+        type: "string",
+    },
+    team: {
+        baseName: "team",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1Org.js.map
+
+/***/ }),
+
+/***/ 49088:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV1Resource = void 0;
+/**
+ * Service's external links.
+ */
+class ServiceDefinitionV1Resource {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV1Resource.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV1Resource = ServiceDefinitionV1Resource;
+/**
+ * @ignore
+ */
+ServiceDefinitionV1Resource.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV1ResourceType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV1Resource.js.map
+
+/***/ }),
+
+/***/ 68522:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2 = void 0;
+/**
+ * Service definition V2 for providing service metadata and integrations.
+ */
+class ServiceDefinitionV2 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2 = ServiceDefinitionV2;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2.attributeTypeMap = {
+    contacts: {
+        baseName: "contacts",
+        type: "Array",
+    },
+    ddService: {
+        baseName: "dd-service",
+        type: "string",
+        required: true,
+    },
+    ddTeam: {
+        baseName: "dd-team",
+        type: "string",
+    },
+    docs: {
+        baseName: "docs",
+        type: "Array",
+    },
+    extensions: {
+        baseName: "extensions",
+        type: "{ [key: string]: any; }",
+    },
+    integrations: {
+        baseName: "integrations",
+        type: "ServiceDefinitionV2Integrations",
+    },
+    links: {
+        baseName: "links",
+        type: "Array",
+    },
+    repos: {
+        baseName: "repos",
+        type: "Array",
+    },
+    schemaVersion: {
+        baseName: "schema-version",
+        type: "ServiceDefinitionV2Version",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    team: {
+        baseName: "team",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2.js.map
+
+/***/ }),
+
+/***/ 9350:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Doc = void 0;
+/**
+ * Service documents.
+ */
+class ServiceDefinitionV2Doc {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Doc.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Doc = ServiceDefinitionV2Doc;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Doc.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    provider: {
+        baseName: "provider",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Doc.js.map
+
+/***/ }),
+
+/***/ 26361:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1 = void 0;
+/**
+ * Service definition v2.1 for providing service metadata and integrations.
+ */
+class ServiceDefinitionV2Dot1 {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1 = ServiceDefinitionV2Dot1;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1.attributeTypeMap = {
+    application: {
+        baseName: "application",
+        type: "string",
+    },
+    contacts: {
+        baseName: "contacts",
+        type: "Array",
+    },
+    ddService: {
+        baseName: "dd-service",
+        type: "string",
+        required: true,
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    extensions: {
+        baseName: "extensions",
+        type: "{ [key: string]: any; }",
+    },
+    integrations: {
+        baseName: "integrations",
+        type: "ServiceDefinitionV2Dot1Integrations",
+    },
+    lifecycle: {
+        baseName: "lifecycle",
+        type: "string",
+    },
+    links: {
+        baseName: "links",
+        type: "Array",
+    },
+    schemaVersion: {
+        baseName: "schema-version",
+        type: "ServiceDefinitionV2Dot1Version",
+        required: true,
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    team: {
+        baseName: "team",
+        type: "string",
+    },
+    tier: {
+        baseName: "tier",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1.js.map
+
+/***/ }),
+
+/***/ 61547:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Email = void 0;
+/**
+ * Service owner's email.
+ */
+class ServiceDefinitionV2Dot1Email {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Email.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Email = ServiceDefinitionV2Dot1Email;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Email.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+        format: "email",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2Dot1EmailType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Email.js.map
+
+/***/ }),
+
+/***/ 39637:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Integrations = void 0;
+/**
+ * Third party integrations that Datadog supports.
+ */
+class ServiceDefinitionV2Dot1Integrations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Integrations.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Integrations = ServiceDefinitionV2Dot1Integrations;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Integrations.attributeTypeMap = {
+    opsgenie: {
+        baseName: "opsgenie",
+        type: "ServiceDefinitionV2Dot1Opsgenie",
+    },
+    pagerduty: {
+        baseName: "pagerduty",
+        type: "ServiceDefinitionV2Dot1Pagerduty",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Integrations.js.map
+
+/***/ }),
+
+/***/ 12346:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Link = void 0;
+/**
+ * Service's external links.
+ */
+class ServiceDefinitionV2Dot1Link {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Link.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Link = ServiceDefinitionV2Dot1Link;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Link.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    provider: {
+        baseName: "provider",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2Dot1LinkType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Link.js.map
+
+/***/ }),
+
+/***/ 52832:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1MSTeams = void 0;
+/**
+ * Service owner's Microsoft Teams.
+ */
+class ServiceDefinitionV2Dot1MSTeams {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1MSTeams.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1MSTeams = ServiceDefinitionV2Dot1MSTeams;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1MSTeams.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2Dot1MSTeamsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1MSTeams.js.map
+
+/***/ }),
+
+/***/ 35847:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Opsgenie = void 0;
+/**
+ * Opsgenie integration for the service.
+ */
+class ServiceDefinitionV2Dot1Opsgenie {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Opsgenie.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Opsgenie = ServiceDefinitionV2Dot1Opsgenie;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Opsgenie.attributeTypeMap = {
+    region: {
+        baseName: "region",
+        type: "ServiceDefinitionV2Dot1OpsgenieRegion",
+    },
+    serviceUrl: {
+        baseName: "service-url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Opsgenie.js.map
+
+/***/ }),
+
+/***/ 87649:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Pagerduty = void 0;
+/**
+ * PagerDuty integration for the service.
+ */
+class ServiceDefinitionV2Dot1Pagerduty {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Pagerduty.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Pagerduty = ServiceDefinitionV2Dot1Pagerduty;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Pagerduty.attributeTypeMap = {
+    serviceUrl: {
+        baseName: "service-url",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Pagerduty.js.map
+
+/***/ }),
+
+/***/ 64044:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Dot1Slack = void 0;
+/**
+ * Service owner's Slack channel.
+ */
+class ServiceDefinitionV2Dot1Slack {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Dot1Slack.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Dot1Slack = ServiceDefinitionV2Dot1Slack;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Dot1Slack.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2Dot1SlackType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Dot1Slack.js.map
+
+/***/ }),
+
+/***/ 21087:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Email = void 0;
+/**
+ * Service owner's email.
+ */
+class ServiceDefinitionV2Email {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Email.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Email = ServiceDefinitionV2Email;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Email.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+        format: "email",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2EmailType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Email.js.map
+
+/***/ }),
+
+/***/ 73259:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Integrations = void 0;
+/**
+ * Third party integrations that Datadog supports.
+ */
+class ServiceDefinitionV2Integrations {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Integrations.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Integrations = ServiceDefinitionV2Integrations;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Integrations.attributeTypeMap = {
+    opsgenie: {
+        baseName: "opsgenie",
+        type: "ServiceDefinitionV2Opsgenie",
+    },
+    pagerduty: {
+        baseName: "pagerduty",
+        type: "string",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Integrations.js.map
+
+/***/ }),
+
+/***/ 34150:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Link = void 0;
+/**
+ * Service's external links.
+ */
+class ServiceDefinitionV2Link {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Link.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Link = ServiceDefinitionV2Link;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Link.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2LinkType",
+        required: true,
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Link.js.map
+
+/***/ }),
+
+/***/ 92847:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2MSTeams = void 0;
+/**
+ * Service owner's Microsoft Teams.
+ */
+class ServiceDefinitionV2MSTeams {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2MSTeams.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2MSTeams = ServiceDefinitionV2MSTeams;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2MSTeams.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2MSTeamsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2MSTeams.js.map
+
+/***/ }),
+
+/***/ 66753:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Opsgenie = void 0;
+/**
+ * Opsgenie integration for the service.
+ */
+class ServiceDefinitionV2Opsgenie {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Opsgenie.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Opsgenie = ServiceDefinitionV2Opsgenie;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Opsgenie.attributeTypeMap = {
+    region: {
+        baseName: "region",
+        type: "ServiceDefinitionV2OpsgenieRegion",
+    },
+    serviceUrl: {
+        baseName: "service-url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Opsgenie.js.map
+
+/***/ }),
+
+/***/ 86906:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Repo = void 0;
+/**
+ * Service code repositories.
+ */
+class ServiceDefinitionV2Repo {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Repo.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Repo = ServiceDefinitionV2Repo;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Repo.attributeTypeMap = {
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    provider: {
+        baseName: "provider",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Repo.js.map
+
+/***/ }),
+
+/***/ 2083:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionV2Slack = void 0;
+/**
+ * Service owner's Slack channel.
+ */
+class ServiceDefinitionV2Slack {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionV2Slack.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionV2Slack = ServiceDefinitionV2Slack;
+/**
+ * @ignore
+ */
+ServiceDefinitionV2Slack.attributeTypeMap = {
+    contact: {
+        baseName: "contact",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "ServiceDefinitionV2SlackType",
+        required: true,
+    },
+};
+//# sourceMappingURL=ServiceDefinitionV2Slack.js.map
+
+/***/ }),
+
+/***/ 19094:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ServiceDefinitionsListResponse = void 0;
+/**
+ * Create service definitions response.
+ */
+class ServiceDefinitionsListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return ServiceDefinitionsListResponse.attributeTypeMap;
+    }
+}
+exports.ServiceDefinitionsListResponse = ServiceDefinitionsListResponse;
+/**
+ * @ignore
+ */
+ServiceDefinitionsListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=ServiceDefinitionsListResponse.js.map
+
+/***/ }),
+
+/***/ 31204:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SlackIntegrationMetadata = void 0;
+/**
+ * Incident integration metadata for the Slack integration.
+ */
+class SlackIntegrationMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SlackIntegrationMetadata.attributeTypeMap;
+    }
+}
+exports.SlackIntegrationMetadata = SlackIntegrationMetadata;
+/**
+ * @ignore
+ */
+SlackIntegrationMetadata.attributeTypeMap = {
+    channels: {
+        baseName: "channels",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=SlackIntegrationMetadata.js.map
+
+/***/ }),
+
+/***/ 17953:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SlackIntegrationMetadataChannelItem = void 0;
+/**
+ * Item in the Slack integration metadata channel array.
+ */
+class SlackIntegrationMetadataChannelItem {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SlackIntegrationMetadataChannelItem.attributeTypeMap;
+    }
+}
+exports.SlackIntegrationMetadataChannelItem = SlackIntegrationMetadataChannelItem;
+/**
+ * @ignore
+ */
+SlackIntegrationMetadataChannelItem.attributeTypeMap = {
+    channelId: {
+        baseName: "channel_id",
+        type: "string",
+        required: true,
+    },
+    channelName: {
+        baseName: "channel_name",
+        type: "string",
+        required: true,
+    },
+    redirectUrl: {
+        baseName: "redirect_url",
+        type: "string",
+        required: true,
+    },
+    teamId: {
+        baseName: "team_id",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SlackIntegrationMetadataChannelItem.js.map
+
+/***/ }),
+
+/***/ 65274:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Span = void 0;
+/**
+ * Object description of a spans after being processed and stored by Datadog.
+ */
+class Span {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Span.attributeTypeMap;
+    }
+}
+exports.Span = Span;
+/**
+ * @ignore
+ */
+Span.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansType",
+    },
+};
+//# sourceMappingURL=Span.js.map
+
+/***/ }),
+
+/***/ 15741:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateBucket = void 0;
+/**
+ * Spans aggregate.
+ */
+class SpansAggregateBucket {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateBucket.attributeTypeMap;
+    }
+}
+exports.SpansAggregateBucket = SpansAggregateBucket;
+/**
+ * @ignore
+ */
+SpansAggregateBucket.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansAggregateBucketAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansAggregateBucketType",
+    },
+};
+//# sourceMappingURL=SpansAggregateBucket.js.map
+
+/***/ }),
+
+/***/ 10658:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateBucketAttributes = void 0;
+/**
+ * A bucket values.
+ */
+class SpansAggregateBucketAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateBucketAttributes.attributeTypeMap;
+    }
+}
+exports.SpansAggregateBucketAttributes = SpansAggregateBucketAttributes;
+/**
+ * @ignore
+ */
+SpansAggregateBucketAttributes.attributeTypeMap = {
+    by: {
+        baseName: "by",
+        type: "{ [key: string]: any; }",
+    },
+    compute: {
+        baseName: "compute",
+        type: "any",
+    },
+    computes: {
+        baseName: "computes",
+        type: "{ [key: string]: SpansAggregateBucketValue; }",
+    },
+};
+//# sourceMappingURL=SpansAggregateBucketAttributes.js.map
+
+/***/ }),
+
+/***/ 15773:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateBucketValueTimeseriesPoint = void 0;
+/**
+ * A timeseries point.
+ */
+class SpansAggregateBucketValueTimeseriesPoint {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateBucketValueTimeseriesPoint.attributeTypeMap;
+    }
+}
+exports.SpansAggregateBucketValueTimeseriesPoint = SpansAggregateBucketValueTimeseriesPoint;
+/**
+ * @ignore
+ */
+SpansAggregateBucketValueTimeseriesPoint.attributeTypeMap = {
+    time: {
+        baseName: "time",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "double",
+    },
+};
+//# sourceMappingURL=SpansAggregateBucketValueTimeseriesPoint.js.map
+
+/***/ }),
+
+/***/ 24329:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateData = void 0;
+/**
+ * The object containing the query content.
+ */
+class SpansAggregateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateData.attributeTypeMap;
+    }
+}
+exports.SpansAggregateData = SpansAggregateData;
+/**
+ * @ignore
+ */
+SpansAggregateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansAggregateRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansAggregateRequestType",
+    },
+};
+//# sourceMappingURL=SpansAggregateData.js.map
+
+/***/ }),
+
+/***/ 44555:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateRequest = void 0;
+/**
+ * The object sent with the request to retrieve a list of aggregated spans from your organization.
+ */
+class SpansAggregateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateRequest.attributeTypeMap;
+    }
+}
+exports.SpansAggregateRequest = SpansAggregateRequest;
+/**
+ * @ignore
+ */
+SpansAggregateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SpansAggregateData",
+    },
+};
+//# sourceMappingURL=SpansAggregateRequest.js.map
+
+/***/ }),
+
+/***/ 81926:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateRequestAttributes = void 0;
+/**
+ * The object containing all the query parameters.
+ */
+class SpansAggregateRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateRequestAttributes.attributeTypeMap;
+    }
+}
+exports.SpansAggregateRequestAttributes = SpansAggregateRequestAttributes;
+/**
+ * @ignore
+ */
+SpansAggregateRequestAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "Array",
+    },
+    filter: {
+        baseName: "filter",
+        type: "SpansQueryFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+    options: {
+        baseName: "options",
+        type: "SpansQueryOptions",
+    },
+};
+//# sourceMappingURL=SpansAggregateRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 19367:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateResponse = void 0;
+/**
+ * The response object for the spans aggregate API endpoint.
+ */
+class SpansAggregateResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateResponse.attributeTypeMap;
+    }
+}
+exports.SpansAggregateResponse = SpansAggregateResponse;
+/**
+ * @ignore
+ */
+SpansAggregateResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SpansAggregateResponseMetadata",
+    },
+};
+//# sourceMappingURL=SpansAggregateResponse.js.map
+
+/***/ }),
+
+/***/ 97347:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class SpansAggregateResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateResponseMetadata.attributeTypeMap;
+    }
+}
+exports.SpansAggregateResponseMetadata = SpansAggregateResponseMetadata;
+/**
+ * @ignore
+ */
+SpansAggregateResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SpansAggregateResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansAggregateResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 62931:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAggregateSort = void 0;
+/**
+ * A sort rule.
+ */
+class SpansAggregateSort {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAggregateSort.attributeTypeMap;
+    }
+}
+exports.SpansAggregateSort = SpansAggregateSort;
+/**
+ * @ignore
+ */
+SpansAggregateSort.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "SpansAggregationFunction",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    order: {
+        baseName: "order",
+        type: "SpansSortOrder",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansAggregateSortType",
+    },
+};
+//# sourceMappingURL=SpansAggregateSort.js.map
+
+/***/ }),
+
+/***/ 91638:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansAttributes = void 0;
+/**
+ * JSON object containing all span attributes and their associated values.
+ */
+class SpansAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansAttributes.attributeTypeMap;
+    }
+}
+exports.SpansAttributes = SpansAttributes;
+/**
+ * @ignore
+ */
+SpansAttributes.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "{ [key: string]: any; }",
+    },
+    custom: {
+        baseName: "custom",
+        type: "{ [key: string]: any; }",
+    },
+    endTimestamp: {
+        baseName: "end_timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+    env: {
+        baseName: "env",
+        type: "string",
+    },
+    host: {
+        baseName: "host",
+        type: "string",
+    },
+    ingestionReason: {
+        baseName: "ingestion_reason",
+        type: "string",
+    },
+    parentId: {
+        baseName: "parent_id",
+        type: "string",
+    },
+    resourceHash: {
+        baseName: "resource_hash",
+        type: "string",
+    },
+    resourceName: {
+        baseName: "resource_name",
+        type: "string",
+    },
+    retainedBy: {
+        baseName: "retained_by",
+        type: "string",
+    },
+    service: {
+        baseName: "service",
+        type: "string",
+    },
+    singleSpan: {
+        baseName: "single_span",
+        type: "boolean",
+    },
+    spanId: {
+        baseName: "span_id",
+        type: "string",
+    },
+    startTimestamp: {
+        baseName: "start_timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+    tags: {
+        baseName: "tags",
+        type: "Array",
+    },
+    traceId: {
+        baseName: "trace_id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansAttributes.js.map
+
+/***/ }),
+
+/***/ 74315:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansCompute = void 0;
+/**
+ * A compute rule to compute metrics or timeseries.
+ */
+class SpansCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansCompute.attributeTypeMap;
+    }
+}
+exports.SpansCompute = SpansCompute;
+/**
+ * @ignore
+ */
+SpansCompute.attributeTypeMap = {
+    aggregation: {
+        baseName: "aggregation",
+        type: "SpansAggregationFunction",
+        required: true,
+    },
+    interval: {
+        baseName: "interval",
+        type: "string",
+    },
+    metric: {
+        baseName: "metric",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansComputeType",
+    },
+};
+//# sourceMappingURL=SpansCompute.js.map
+
+/***/ }),
+
+/***/ 30532:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansGroupBy = void 0;
+/**
+ * A group by rule.
+ */
+class SpansGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansGroupBy.attributeTypeMap;
+    }
+}
+exports.SpansGroupBy = SpansGroupBy;
+/**
+ * @ignore
+ */
+SpansGroupBy.attributeTypeMap = {
+    facet: {
+        baseName: "facet",
+        type: "string",
+        required: true,
+    },
+    histogram: {
+        baseName: "histogram",
+        type: "SpansGroupByHistogram",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    missing: {
+        baseName: "missing",
+        type: "SpansGroupByMissing",
+    },
+    sort: {
+        baseName: "sort",
+        type: "SpansAggregateSort",
+    },
+    total: {
+        baseName: "total",
+        type: "SpansGroupByTotal",
+    },
+};
+//# sourceMappingURL=SpansGroupBy.js.map
+
+/***/ }),
+
+/***/ 64616:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansGroupByHistogram = void 0;
+/**
+ * Used to perform a histogram computation (only for measure facets).
+ * Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval.
+ */
+class SpansGroupByHistogram {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansGroupByHistogram.attributeTypeMap;
+    }
+}
+exports.SpansGroupByHistogram = SpansGroupByHistogram;
+/**
+ * @ignore
+ */
+SpansGroupByHistogram.attributeTypeMap = {
+    interval: {
+        baseName: "interval",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    max: {
+        baseName: "max",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+    min: {
+        baseName: "min",
+        type: "number",
+        required: true,
+        format: "double",
+    },
+};
+//# sourceMappingURL=SpansGroupByHistogram.js.map
+
+/***/ }),
+
+/***/ 50701:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListRequest = void 0;
+/**
+ * The request for a spans list.
+ */
+class SpansListRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListRequest.attributeTypeMap;
+    }
+}
+exports.SpansListRequest = SpansListRequest;
+/**
+ * @ignore
+ */
+SpansListRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SpansListRequestData",
+    },
+};
+//# sourceMappingURL=SpansListRequest.js.map
+
+/***/ }),
+
+/***/ 67861:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListRequestAttributes = void 0;
+/**
+ * The object containing all the query parameters.
+ */
+class SpansListRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListRequestAttributes.attributeTypeMap;
+    }
+}
+exports.SpansListRequestAttributes = SpansListRequestAttributes;
+/**
+ * @ignore
+ */
+SpansListRequestAttributes.attributeTypeMap = {
+    filter: {
+        baseName: "filter",
+        type: "SpansQueryFilter",
+    },
+    options: {
+        baseName: "options",
+        type: "SpansQueryOptions",
+    },
+    page: {
+        baseName: "page",
+        type: "SpansListRequestPage",
+    },
+    sort: {
+        baseName: "sort",
+        type: "SpansSort",
+    },
+};
+//# sourceMappingURL=SpansListRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 45722:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListRequestData = void 0;
+/**
+ * The object containing the query content.
+ */
+class SpansListRequestData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListRequestData.attributeTypeMap;
+    }
+}
+exports.SpansListRequestData = SpansListRequestData;
+/**
+ * @ignore
+ */
+SpansListRequestData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansListRequestAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansListRequestType",
+    },
+};
+//# sourceMappingURL=SpansListRequestData.js.map
+
+/***/ }),
+
+/***/ 63987:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListRequestPage = void 0;
+/**
+ * Paging attributes for listing spans.
+ */
+class SpansListRequestPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListRequestPage.attributeTypeMap;
+    }
+}
+exports.SpansListRequestPage = SpansListRequestPage;
+/**
+ * @ignore
+ */
+SpansListRequestPage.attributeTypeMap = {
+    cursor: {
+        baseName: "cursor",
+        type: "string",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int32",
+    },
+};
+//# sourceMappingURL=SpansListRequestPage.js.map
+
+/***/ }),
+
+/***/ 92654:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListResponse = void 0;
+/**
+ * Response object with all spans matching the request and pagination information.
+ */
+class SpansListResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListResponse.attributeTypeMap;
+    }
+}
+exports.SpansListResponse = SpansListResponse;
+/**
+ * @ignore
+ */
+SpansListResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "SpansListResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "SpansListResponseMetadata",
+    },
+};
+//# sourceMappingURL=SpansListResponse.js.map
+
+/***/ }),
+
+/***/ 61700:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListResponseLinks = void 0;
+/**
+ * Links attributes.
+ */
+class SpansListResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListResponseLinks.attributeTypeMap;
+    }
+}
+exports.SpansListResponseLinks = SpansListResponseLinks;
+/**
+ * @ignore
+ */
+SpansListResponseLinks.attributeTypeMap = {
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansListResponseLinks.js.map
+
+/***/ }),
+
+/***/ 19155:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansListResponseMetadata = void 0;
+/**
+ * The metadata associated with a request.
+ */
+class SpansListResponseMetadata {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansListResponseMetadata.attributeTypeMap;
+    }
+}
+exports.SpansListResponseMetadata = SpansListResponseMetadata;
+/**
+ * @ignore
+ */
+SpansListResponseMetadata.attributeTypeMap = {
+    elapsed: {
+        baseName: "elapsed",
+        type: "number",
+        format: "int64",
+    },
+    page: {
+        baseName: "page",
+        type: "SpansResponseMetadataPage",
+    },
+    requestId: {
+        baseName: "request_id",
+        type: "string",
+    },
+    status: {
+        baseName: "status",
+        type: "SpansAggregateResponseStatus",
+    },
+    warnings: {
+        baseName: "warnings",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansListResponseMetadata.js.map
+
+/***/ }),
+
+/***/ 37882:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricCompute = void 0;
+/**
+ * The compute rule to compute the span-based metric.
+ */
+class SpansMetricCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricCompute.attributeTypeMap;
+    }
+}
+exports.SpansMetricCompute = SpansMetricCompute;
+/**
+ * @ignore
+ */
+SpansMetricCompute.attributeTypeMap = {
+    aggregationType: {
+        baseName: "aggregation_type",
+        type: "SpansMetricComputeAggregationType",
+        required: true,
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricCompute.js.map
+
+/***/ }),
+
+/***/ 66858:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricCreateAttributes = void 0;
+/**
+ * The object describing the Datadog span-based metric to create.
+ */
+class SpansMetricCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricCreateAttributes.attributeTypeMap;
+    }
+}
+exports.SpansMetricCreateAttributes = SpansMetricCreateAttributes;
+/**
+ * @ignore
+ */
+SpansMetricCreateAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "SpansMetricCompute",
+        required: true,
+    },
+    filter: {
+        baseName: "filter",
+        type: "SpansMetricFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansMetricCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 98053:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricCreateData = void 0;
+/**
+ * The new span-based metric properties.
+ */
+class SpansMetricCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricCreateData.attributeTypeMap;
+    }
+}
+exports.SpansMetricCreateData = SpansMetricCreateData;
+/**
+ * @ignore
+ */
+SpansMetricCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansMetricCreateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SpansMetricType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SpansMetricCreateData.js.map
+
+/***/ }),
+
+/***/ 33486:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricCreateRequest = void 0;
+/**
+ * The new span-based metric body.
+ */
+class SpansMetricCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricCreateRequest.attributeTypeMap;
+    }
+}
+exports.SpansMetricCreateRequest = SpansMetricCreateRequest;
+/**
+ * @ignore
+ */
+SpansMetricCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SpansMetricCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SpansMetricCreateRequest.js.map
+
+/***/ }),
+
+/***/ 53650:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricFilter = void 0;
+/**
+ * The span-based metric filter. Spans matching this filter will be aggregated in this metric.
+ */
+class SpansMetricFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricFilter.attributeTypeMap;
+    }
+}
+exports.SpansMetricFilter = SpansMetricFilter;
+/**
+ * @ignore
+ */
+SpansMetricFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricFilter.js.map
+
+/***/ }),
+
+/***/ 95310:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricGroupBy = void 0;
+/**
+ * A group by rule.
+ */
+class SpansMetricGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricGroupBy.attributeTypeMap;
+    }
+}
+exports.SpansMetricGroupBy = SpansMetricGroupBy;
+/**
+ * @ignore
+ */
+SpansMetricGroupBy.attributeTypeMap = {
+    path: {
+        baseName: "path",
+        type: "string",
+        required: true,
+    },
+    tagName: {
+        baseName: "tag_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricGroupBy.js.map
+
+/***/ }),
+
+/***/ 18481:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponse = void 0;
+/**
+ * The span-based metric object.
+ */
+class SpansMetricResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponse.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponse = SpansMetricResponse;
+/**
+ * @ignore
+ */
+SpansMetricResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SpansMetricResponseData",
+    },
+};
+//# sourceMappingURL=SpansMetricResponse.js.map
+
+/***/ }),
+
+/***/ 82864:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponseAttributes = void 0;
+/**
+ * The object describing a Datadog span-based metric.
+ */
+class SpansMetricResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponseAttributes.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponseAttributes = SpansMetricResponseAttributes;
+/**
+ * @ignore
+ */
+SpansMetricResponseAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "SpansMetricResponseCompute",
+    },
+    filter: {
+        baseName: "filter",
+        type: "SpansMetricResponseFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansMetricResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 65910:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponseCompute = void 0;
+/**
+ * The compute rule to compute the span-based metric.
+ */
+class SpansMetricResponseCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponseCompute.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponseCompute = SpansMetricResponseCompute;
+/**
+ * @ignore
+ */
+SpansMetricResponseCompute.attributeTypeMap = {
+    aggregationType: {
+        baseName: "aggregation_type",
+        type: "SpansMetricComputeAggregationType",
+    },
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricResponseCompute.js.map
+
+/***/ }),
+
+/***/ 37531:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponseData = void 0;
+/**
+ * The span-based metric properties.
+ */
+class SpansMetricResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponseData.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponseData = SpansMetricResponseData;
+/**
+ * @ignore
+ */
+SpansMetricResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansMetricResponseAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "SpansMetricType",
+    },
+};
+//# sourceMappingURL=SpansMetricResponseData.js.map
+
+/***/ }),
+
+/***/ 86624:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponseFilter = void 0;
+/**
+ * The span-based metric filter. Spans matching this filter will be aggregated in this metric.
+ */
+class SpansMetricResponseFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponseFilter.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponseFilter = SpansMetricResponseFilter;
+/**
+ * @ignore
+ */
+SpansMetricResponseFilter.attributeTypeMap = {
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricResponseFilter.js.map
+
+/***/ }),
+
+/***/ 51733:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricResponseGroupBy = void 0;
+/**
+ * A group by rule.
+ */
+class SpansMetricResponseGroupBy {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricResponseGroupBy.attributeTypeMap;
+    }
+}
+exports.SpansMetricResponseGroupBy = SpansMetricResponseGroupBy;
+/**
+ * @ignore
+ */
+SpansMetricResponseGroupBy.attributeTypeMap = {
+    path: {
+        baseName: "path",
+        type: "string",
+    },
+    tagName: {
+        baseName: "tag_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansMetricResponseGroupBy.js.map
+
+/***/ }),
+
+/***/ 32078:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricUpdateAttributes = void 0;
+/**
+ * The span-based metric properties that will be updated.
+ */
+class SpansMetricUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.SpansMetricUpdateAttributes = SpansMetricUpdateAttributes;
+/**
+ * @ignore
+ */
+SpansMetricUpdateAttributes.attributeTypeMap = {
+    compute: {
+        baseName: "compute",
+        type: "SpansMetricUpdateCompute",
+    },
+    filter: {
+        baseName: "filter",
+        type: "SpansMetricFilter",
+    },
+    groupBy: {
+        baseName: "group_by",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansMetricUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 25083:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricUpdateCompute = void 0;
+/**
+ * The compute rule to compute the span-based metric.
+ */
+class SpansMetricUpdateCompute {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricUpdateCompute.attributeTypeMap;
+    }
+}
+exports.SpansMetricUpdateCompute = SpansMetricUpdateCompute;
+/**
+ * @ignore
+ */
+SpansMetricUpdateCompute.attributeTypeMap = {
+    includePercentiles: {
+        baseName: "include_percentiles",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=SpansMetricUpdateCompute.js.map
+
+/***/ }),
+
+/***/ 10621:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricUpdateData = void 0;
+/**
+ * The new span-based metric properties.
+ */
+class SpansMetricUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricUpdateData.attributeTypeMap;
+    }
+}
+exports.SpansMetricUpdateData = SpansMetricUpdateData;
+/**
+ * @ignore
+ */
+SpansMetricUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "SpansMetricUpdateAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "SpansMetricType",
+        required: true,
+    },
+};
+//# sourceMappingURL=SpansMetricUpdateData.js.map
+
+/***/ }),
+
+/***/ 20790:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricUpdateRequest = void 0;
+/**
+ * The new span-based metric body.
+ */
+class SpansMetricUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricUpdateRequest.attributeTypeMap;
+    }
+}
+exports.SpansMetricUpdateRequest = SpansMetricUpdateRequest;
+/**
+ * @ignore
+ */
+SpansMetricUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "SpansMetricUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=SpansMetricUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 88816:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansMetricsResponse = void 0;
+/**
+ * All the available span-based metric objects.
+ */
+class SpansMetricsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansMetricsResponse.attributeTypeMap;
+    }
+}
+exports.SpansMetricsResponse = SpansMetricsResponse;
+/**
+ * @ignore
+ */
+SpansMetricsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=SpansMetricsResponse.js.map
+
+/***/ }),
+
+/***/ 73888:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansQueryFilter = void 0;
+/**
+ * The search and filter query settings.
+ */
+class SpansQueryFilter {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansQueryFilter.attributeTypeMap;
+    }
+}
+exports.SpansQueryFilter = SpansQueryFilter;
+/**
+ * @ignore
+ */
+SpansQueryFilter.attributeTypeMap = {
+    from: {
+        baseName: "from",
+        type: "string",
+    },
+    query: {
+        baseName: "query",
+        type: "string",
+    },
+    to: {
+        baseName: "to",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansQueryFilter.js.map
+
+/***/ }),
+
+/***/ 67964:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansQueryOptions = void 0;
+/**
+ * Global query options that are used during the query.
+ * Note: You should only supply timezone or time offset but not both otherwise the query will fail.
+ */
+class SpansQueryOptions {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansQueryOptions.attributeTypeMap;
+    }
+}
+exports.SpansQueryOptions = SpansQueryOptions;
+/**
+ * @ignore
+ */
+SpansQueryOptions.attributeTypeMap = {
+    timeOffset: {
+        baseName: "timeOffset",
+        type: "number",
+        format: "int64",
+    },
+    timezone: {
+        baseName: "timezone",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansQueryOptions.js.map
+
+/***/ }),
+
+/***/ 75198:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansResponseMetadataPage = void 0;
+/**
+ * Paging attributes.
+ */
+class SpansResponseMetadataPage {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansResponseMetadataPage.attributeTypeMap;
+    }
+}
+exports.SpansResponseMetadataPage = SpansResponseMetadataPage;
+/**
+ * @ignore
+ */
+SpansResponseMetadataPage.attributeTypeMap = {
+    after: {
+        baseName: "after",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansResponseMetadataPage.js.map
+
+/***/ }),
+
+/***/ 43117:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SpansWarning = void 0;
+/**
+ * A warning message indicating something that went wrong with the query.
+ */
+class SpansWarning {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return SpansWarning.attributeTypeMap;
+    }
+}
+exports.SpansWarning = SpansWarning;
+/**
+ * @ignore
+ */
+SpansWarning.attributeTypeMap = {
+    code: {
+        baseName: "code",
+        type: "string",
+    },
+    detail: {
+        baseName: "detail",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=SpansWarning.js.map
+
+/***/ }),
+
+/***/ 99535:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Team = void 0;
+/**
+ * A team
+ */
+class Team {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Team.attributeTypeMap;
+    }
+}
+exports.Team = Team;
+/**
+ * @ignore
+ */
+Team.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "TeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "TeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=Team.js.map
+
+/***/ }),
+
+/***/ 11276:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamAttributes = void 0;
+/**
+ * Team attributes
+ */
+class TeamAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamAttributes.attributeTypeMap;
+    }
+}
+exports.TeamAttributes = TeamAttributes;
+/**
+ * @ignore
+ */
+TeamAttributes.attributeTypeMap = {
+    avatar: {
+        baseName: "avatar",
+        type: "string",
+    },
+    banner: {
+        baseName: "banner",
+        type: "number",
+        format: "int64",
+    },
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+        required: true,
+    },
+    hiddenModules: {
+        baseName: "hidden_modules",
+        type: "Array",
+    },
+    linkCount: {
+        baseName: "link_count",
+        type: "number",
+        format: "int32",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    summary: {
+        baseName: "summary",
+        type: "string",
+    },
+    userCount: {
+        baseName: "user_count",
+        type: "number",
+        format: "int32",
+    },
+    visibleModules: {
+        baseName: "visible_modules",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TeamAttributes.js.map
+
+/***/ }),
+
+/***/ 72722:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamCreate = void 0;
+/**
+ * Team create
+ */
+class TeamCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamCreate.attributeTypeMap;
+    }
+}
+exports.TeamCreate = TeamCreate;
+/**
+ * @ignore
+ */
+TeamCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamCreateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "TeamCreateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "TeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamCreate.js.map
+
+/***/ }),
+
+/***/ 75341:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamCreateAttributes = void 0;
+/**
+ * Team creation attributes
+ */
+class TeamCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamCreateAttributes.attributeTypeMap;
+    }
+}
+exports.TeamCreateAttributes = TeamCreateAttributes;
+/**
+ * @ignore
+ */
+TeamCreateAttributes.attributeTypeMap = {
+    avatar: {
+        baseName: "avatar",
+        type: "string",
+    },
+    banner: {
+        baseName: "banner",
+        type: "number",
+        format: "int64",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+        required: true,
+    },
+    hiddenModules: {
+        baseName: "hidden_modules",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    visibleModules: {
+        baseName: "visible_modules",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TeamCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 66425:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamCreateRelationships = void 0;
+/**
+ * Relationships formed with the team on creation
+ */
+class TeamCreateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamCreateRelationships.attributeTypeMap;
+    }
+}
+exports.TeamCreateRelationships = TeamCreateRelationships;
+/**
+ * @ignore
+ */
+TeamCreateRelationships.attributeTypeMap = {
+    users: {
+        baseName: "users",
+        type: "RelationshipToUsers",
+    },
+};
+//# sourceMappingURL=TeamCreateRelationships.js.map
+
+/***/ }),
+
+/***/ 59989:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamCreateRequest = void 0;
+/**
+ * Request to create a team
+ */
+class TeamCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamCreateRequest.attributeTypeMap;
+    }
+}
+exports.TeamCreateRequest = TeamCreateRequest;
+/**
+ * @ignore
+ */
+TeamCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamCreate",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamCreateRequest.js.map
+
+/***/ }),
+
+/***/ 1064:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLink = void 0;
+/**
+ * Team link
+ */
+class TeamLink {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLink.attributeTypeMap;
+    }
+}
+exports.TeamLink = TeamLink;
+/**
+ * @ignore
+ */
+TeamLink.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamLinkAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "TeamLinkType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamLink.js.map
+
+/***/ }),
+
+/***/ 8789:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLinkAttributes = void 0;
+/**
+ * Team link attributes
+ */
+class TeamLinkAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLinkAttributes.attributeTypeMap;
+    }
+}
+exports.TeamLinkAttributes = TeamLinkAttributes;
+/**
+ * @ignore
+ */
+TeamLinkAttributes.attributeTypeMap = {
+    label: {
+        baseName: "label",
+        type: "string",
+        required: true,
+    },
+    position: {
+        baseName: "position",
+        type: "number",
+        format: "int32",
+    },
+    teamId: {
+        baseName: "team_id",
+        type: "string",
+    },
+    url: {
+        baseName: "url",
+        type: "string",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamLinkAttributes.js.map
+
+/***/ }),
+
+/***/ 49109:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLinkCreate = void 0;
+/**
+ * Team link create
+ */
+class TeamLinkCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLinkCreate.attributeTypeMap;
+    }
+}
+exports.TeamLinkCreate = TeamLinkCreate;
+/**
+ * @ignore
+ */
+TeamLinkCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamLinkAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "TeamLinkType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamLinkCreate.js.map
+
+/***/ }),
+
+/***/ 17915:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLinkCreateRequest = void 0;
+/**
+ * Team link create request
+ */
+class TeamLinkCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLinkCreateRequest.attributeTypeMap;
+    }
+}
+exports.TeamLinkCreateRequest = TeamLinkCreateRequest;
+/**
+ * @ignore
+ */
+TeamLinkCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamLinkCreate",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamLinkCreateRequest.js.map
+
+/***/ }),
+
+/***/ 83956:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLinkResponse = void 0;
+/**
+ * Team link response
+ */
+class TeamLinkResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLinkResponse.attributeTypeMap;
+    }
+}
+exports.TeamLinkResponse = TeamLinkResponse;
+/**
+ * @ignore
+ */
+TeamLinkResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamLink",
+    },
+};
+//# sourceMappingURL=TeamLinkResponse.js.map
+
+/***/ }),
+
+/***/ 85078:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamLinksResponse = void 0;
+/**
+ * Team links response
+ */
+class TeamLinksResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamLinksResponse.attributeTypeMap;
+    }
+}
+exports.TeamLinksResponse = TeamLinksResponse;
+/**
+ * @ignore
+ */
+TeamLinksResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TeamLinksResponse.js.map
+
+/***/ }),
+
+/***/ 95677:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSetting = void 0;
+/**
+ * Team permission setting
+ */
+class TeamPermissionSetting {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSetting.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSetting = TeamPermissionSetting;
+/**
+ * @ignore
+ */
+TeamPermissionSetting.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamPermissionSettingAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "TeamPermissionSettingType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamPermissionSetting.js.map
+
+/***/ }),
+
+/***/ 30951:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingAttributes = void 0;
+/**
+ * Team permission setting attributes
+ */
+class TeamPermissionSettingAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingAttributes.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingAttributes = TeamPermissionSettingAttributes;
+/**
+ * @ignore
+ */
+TeamPermissionSettingAttributes.attributeTypeMap = {
+    action: {
+        baseName: "action",
+        type: "TeamPermissionSettingSerializerAction",
+    },
+    editable: {
+        baseName: "editable",
+        type: "boolean",
+    },
+    options: {
+        baseName: "options",
+        type: "Array",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    value: {
+        baseName: "value",
+        type: "TeamPermissionSettingValue",
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingAttributes.js.map
+
+/***/ }),
+
+/***/ 31604:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingResponse = void 0;
+/**
+ * Team permission setting response
+ */
+class TeamPermissionSettingResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingResponse.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingResponse = TeamPermissionSettingResponse;
+/**
+ * @ignore
+ */
+TeamPermissionSettingResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamPermissionSetting",
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingResponse.js.map
+
+/***/ }),
+
+/***/ 5767:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingUpdate = void 0;
+/**
+ * Team permission setting update
+ */
+class TeamPermissionSettingUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingUpdate.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingUpdate = TeamPermissionSettingUpdate;
+/**
+ * @ignore
+ */
+TeamPermissionSettingUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamPermissionSettingUpdateAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "TeamPermissionSettingType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingUpdate.js.map
+
+/***/ }),
+
+/***/ 10893:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingUpdateAttributes = void 0;
+/**
+ * Team permission setting update attributes
+ */
+class TeamPermissionSettingUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingUpdateAttributes = TeamPermissionSettingUpdateAttributes;
+/**
+ * @ignore
+ */
+TeamPermissionSettingUpdateAttributes.attributeTypeMap = {
+    value: {
+        baseName: "value",
+        type: "TeamPermissionSettingValue",
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 85589:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingUpdateRequest = void 0;
+/**
+ * Team permission setting update request
+ */
+class TeamPermissionSettingUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingUpdateRequest.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingUpdateRequest = TeamPermissionSettingUpdateRequest;
+/**
+ * @ignore
+ */
+TeamPermissionSettingUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamPermissionSettingUpdate",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 60640:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamPermissionSettingsResponse = void 0;
+/**
+ * Team permission settings response
+ */
+class TeamPermissionSettingsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamPermissionSettingsResponse.attributeTypeMap;
+    }
+}
+exports.TeamPermissionSettingsResponse = TeamPermissionSettingsResponse;
+/**
+ * @ignore
+ */
+TeamPermissionSettingsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TeamPermissionSettingsResponse.js.map
+
+/***/ }),
+
+/***/ 76003:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamRelationships = void 0;
+/**
+ * Resources related to a team
+ */
+class TeamRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamRelationships.attributeTypeMap;
+    }
+}
+exports.TeamRelationships = TeamRelationships;
+/**
+ * @ignore
+ */
+TeamRelationships.attributeTypeMap = {
+    teamLinks: {
+        baseName: "team_links",
+        type: "RelationshipToTeamLinks",
+    },
+    userTeamPermissions: {
+        baseName: "user_team_permissions",
+        type: "RelationshipToUserTeamPermission",
+    },
+};
+//# sourceMappingURL=TeamRelationships.js.map
+
+/***/ }),
+
+/***/ 71250:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamRelationshipsLinks = void 0;
+/**
+ * Links attributes.
+ */
+class TeamRelationshipsLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamRelationshipsLinks.attributeTypeMap;
+    }
+}
+exports.TeamRelationshipsLinks = TeamRelationshipsLinks;
+/**
+ * @ignore
+ */
+TeamRelationshipsLinks.attributeTypeMap = {
+    related: {
+        baseName: "related",
+        type: "string",
+    },
+};
+//# sourceMappingURL=TeamRelationshipsLinks.js.map
+
+/***/ }),
+
+/***/ 85600:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamResponse = void 0;
+/**
+ * Response with a team
+ */
+class TeamResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamResponse.attributeTypeMap;
+    }
+}
+exports.TeamResponse = TeamResponse;
+/**
+ * @ignore
+ */
+TeamResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Team",
+    },
+};
+//# sourceMappingURL=TeamResponse.js.map
+
+/***/ }),
+
+/***/ 97929:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamUpdate = void 0;
+/**
+ * Team update request
+ */
+class TeamUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamUpdate.attributeTypeMap;
+    }
+}
+exports.TeamUpdate = TeamUpdate;
+/**
+ * @ignore
+ */
+TeamUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TeamUpdateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "TeamUpdateRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "TeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamUpdate.js.map
+
+/***/ }),
+
+/***/ 5327:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamUpdateAttributes = void 0;
+/**
+ * Team update attributes
+ */
+class TeamUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.TeamUpdateAttributes = TeamUpdateAttributes;
+/**
+ * @ignore
+ */
+TeamUpdateAttributes.attributeTypeMap = {
+    avatar: {
+        baseName: "avatar",
+        type: "string",
+    },
+    banner: {
+        baseName: "banner",
+        type: "number",
+        format: "int64",
+    },
+    color: {
+        baseName: "color",
+        type: "number",
+        format: "int32",
+    },
+    description: {
+        baseName: "description",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+        required: true,
+    },
+    hiddenModules: {
+        baseName: "hidden_modules",
+        type: "Array",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+        required: true,
+    },
+    visibleModules: {
+        baseName: "visible_modules",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TeamUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 44475:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamUpdateRelationships = void 0;
+/**
+ * Team update relationships
+ */
+class TeamUpdateRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamUpdateRelationships.attributeTypeMap;
+    }
+}
+exports.TeamUpdateRelationships = TeamUpdateRelationships;
+/**
+ * @ignore
+ */
+TeamUpdateRelationships.attributeTypeMap = {
+    teamLinks: {
+        baseName: "team_links",
+        type: "RelationshipToTeamLinks",
+    },
+};
+//# sourceMappingURL=TeamUpdateRelationships.js.map
+
+/***/ }),
+
+/***/ 55945:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamUpdateRequest = void 0;
+/**
+ * Team update request
+ */
+class TeamUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamUpdateRequest.attributeTypeMap;
+    }
+}
+exports.TeamUpdateRequest = TeamUpdateRequest;
+/**
+ * @ignore
+ */
+TeamUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TeamUpdate",
+        required: true,
+    },
+};
+//# sourceMappingURL=TeamUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 65699:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamsResponse = void 0;
+/**
+ * Response with multiple teams
+ */
+class TeamsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamsResponse.attributeTypeMap;
+    }
+}
+exports.TeamsResponse = TeamsResponse;
+/**
+ * @ignore
+ */
+TeamsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "TeamsResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "TeamsResponseMeta",
+    },
+};
+//# sourceMappingURL=TeamsResponse.js.map
+
+/***/ }),
+
+/***/ 48154:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamsResponseLinks = void 0;
+/**
+ * Teams response links.
+ */
+class TeamsResponseLinks {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamsResponseLinks.attributeTypeMap;
+    }
+}
+exports.TeamsResponseLinks = TeamsResponseLinks;
+/**
+ * @ignore
+ */
+TeamsResponseLinks.attributeTypeMap = {
+    first: {
+        baseName: "first",
+        type: "string",
+    },
+    last: {
+        baseName: "last",
+        type: "string",
+    },
+    next: {
+        baseName: "next",
+        type: "string",
+    },
+    prev: {
+        baseName: "prev",
+        type: "string",
+    },
+    self: {
+        baseName: "self",
+        type: "string",
+    },
+};
+//# sourceMappingURL=TeamsResponseLinks.js.map
+
+/***/ }),
+
+/***/ 3608:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamsResponseMeta = void 0;
+/**
+ * Teams response metadata.
+ */
+class TeamsResponseMeta {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamsResponseMeta.attributeTypeMap;
+    }
+}
+exports.TeamsResponseMeta = TeamsResponseMeta;
+/**
+ * @ignore
+ */
+TeamsResponseMeta.attributeTypeMap = {
+    pagination: {
+        baseName: "pagination",
+        type: "TeamsResponseMetaPagination",
+    },
+};
+//# sourceMappingURL=TeamsResponseMeta.js.map
+
+/***/ }),
+
+/***/ 5396:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TeamsResponseMetaPagination = void 0;
+/**
+ * Teams response metadata.
+ */
+class TeamsResponseMetaPagination {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TeamsResponseMetaPagination.attributeTypeMap;
+    }
+}
+exports.TeamsResponseMetaPagination = TeamsResponseMetaPagination;
+/**
+ * @ignore
+ */
+TeamsResponseMetaPagination.attributeTypeMap = {
+    firstOffset: {
+        baseName: "first_offset",
+        type: "number",
+        format: "int64",
+    },
+    lastOffset: {
+        baseName: "last_offset",
+        type: "number",
+        format: "int64",
+    },
+    limit: {
+        baseName: "limit",
+        type: "number",
+        format: "int64",
+    },
+    nextOffset: {
+        baseName: "next_offset",
+        type: "number",
+        format: "int64",
+    },
+    offset: {
+        baseName: "offset",
+        type: "number",
+        format: "int64",
+    },
+    prevOffset: {
+        baseName: "prev_offset",
+        type: "number",
+        format: "int64",
+    },
+    total: {
+        baseName: "total",
+        type: "number",
+        format: "int64",
+    },
+    type: {
+        baseName: "type",
+        type: "string",
+    },
+};
+//# sourceMappingURL=TeamsResponseMetaPagination.js.map
+
+/***/ }),
+
+/***/ 94956:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesFormulaQueryRequest = void 0;
+/**
+ * A request wrapper around a single timeseries query to be executed.
+ */
+class TimeseriesFormulaQueryRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesFormulaQueryRequest.attributeTypeMap;
+    }
+}
+exports.TimeseriesFormulaQueryRequest = TimeseriesFormulaQueryRequest;
+/**
+ * @ignore
+ */
+TimeseriesFormulaQueryRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TimeseriesFormulaRequest",
+        required: true,
+    },
+};
+//# sourceMappingURL=TimeseriesFormulaQueryRequest.js.map
+
+/***/ }),
+
+/***/ 82642:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesFormulaQueryResponse = void 0;
+/**
+ * A message containing one response to a timeseries query made with timeseries formula query request.
+ */
+class TimeseriesFormulaQueryResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesFormulaQueryResponse.attributeTypeMap;
+    }
+}
+exports.TimeseriesFormulaQueryResponse = TimeseriesFormulaQueryResponse;
+/**
+ * @ignore
+ */
+TimeseriesFormulaQueryResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "TimeseriesResponse",
+    },
+    errors: {
+        baseName: "errors",
+        type: "string",
+    },
+};
+//# sourceMappingURL=TimeseriesFormulaQueryResponse.js.map
+
+/***/ }),
+
+/***/ 38109:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesFormulaRequest = void 0;
+/**
+ * A single timeseries query to be executed.
+ */
+class TimeseriesFormulaRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesFormulaRequest.attributeTypeMap;
+    }
+}
+exports.TimeseriesFormulaRequest = TimeseriesFormulaRequest;
+/**
+ * @ignore
+ */
+TimeseriesFormulaRequest.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TimeseriesFormulaRequestAttributes",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "TimeseriesFormulaRequestType",
+        required: true,
+    },
+};
+//# sourceMappingURL=TimeseriesFormulaRequest.js.map
+
+/***/ }),
+
+/***/ 73903:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesFormulaRequestAttributes = void 0;
+/**
+ * The object describing a timeseries formula request.
+ */
+class TimeseriesFormulaRequestAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesFormulaRequestAttributes.attributeTypeMap;
+    }
+}
+exports.TimeseriesFormulaRequestAttributes = TimeseriesFormulaRequestAttributes;
+/**
+ * @ignore
+ */
+TimeseriesFormulaRequestAttributes.attributeTypeMap = {
+    formulas: {
+        baseName: "formulas",
+        type: "Array",
+    },
+    from: {
+        baseName: "from",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+    interval: {
+        baseName: "interval",
+        type: "number",
+        format: "int64",
+    },
+    queries: {
+        baseName: "queries",
+        type: "Array",
+        required: true,
+    },
+    to: {
+        baseName: "to",
+        type: "number",
+        required: true,
+        format: "int64",
+    },
+};
+//# sourceMappingURL=TimeseriesFormulaRequestAttributes.js.map
+
+/***/ }),
+
+/***/ 57540:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesResponse = void 0;
+/**
+ * A message containing the response to a timeseries query.
+ */
+class TimeseriesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesResponse.attributeTypeMap;
+    }
+}
+exports.TimeseriesResponse = TimeseriesResponse;
+/**
+ * @ignore
+ */
+TimeseriesResponse.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "TimeseriesResponseAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "TimeseriesFormulaResponseType",
+    },
+};
+//# sourceMappingURL=TimeseriesResponse.js.map
+
+/***/ }),
+
+/***/ 57516:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesResponseAttributes = void 0;
+/**
+ * The object describing a timeseries response.
+ */
+class TimeseriesResponseAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesResponseAttributes.attributeTypeMap;
+    }
+}
+exports.TimeseriesResponseAttributes = TimeseriesResponseAttributes;
+/**
+ * @ignore
+ */
+TimeseriesResponseAttributes.attributeTypeMap = {
+    series: {
+        baseName: "series",
+        type: "Array",
+    },
+    times: {
+        baseName: "times",
+        type: "Array",
+        format: "int64",
+    },
+    values: {
+        baseName: "values",
+        type: "Array>",
+        format: "double",
+    },
+};
+//# sourceMappingURL=TimeseriesResponseAttributes.js.map
+
+/***/ }),
+
+/***/ 39671:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TimeseriesResponseSeries = void 0;
+/**
+
+*/
+class TimeseriesResponseSeries {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return TimeseriesResponseSeries.attributeTypeMap;
+    }
+}
+exports.TimeseriesResponseSeries = TimeseriesResponseSeries;
+/**
+ * @ignore
+ */
+TimeseriesResponseSeries.attributeTypeMap = {
+    groupTags: {
+        baseName: "group_tags",
+        type: "Array",
+    },
+    queryIndex: {
+        baseName: "query_index",
+        type: "number",
+        format: "int32",
+    },
+    unit: {
+        baseName: "unit",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=TimeseriesResponseSeries.js.map
+
+/***/ }),
+
+/***/ 92053:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Unit = void 0;
+/**
+ * Object containing the metric unit family, scale factor, name, and short name.
+ */
+class Unit {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return Unit.attributeTypeMap;
+    }
+}
+exports.Unit = Unit;
+/**
+ * @ignore
+ */
+Unit.attributeTypeMap = {
+    family: {
+        baseName: "family",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    plural: {
+        baseName: "plural",
+        type: "string",
+    },
+    scaleFactor: {
+        baseName: "scale_factor",
+        type: "number",
+        format: "double",
+    },
+    shortName: {
+        baseName: "short_name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=Unit.js.map
+
+/***/ }),
+
+/***/ 22622:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageApplicationSecurityMonitoringResponse = void 0;
+/**
+ * Application Security Monitoring usage response.
+ */
+class UsageApplicationSecurityMonitoringResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageApplicationSecurityMonitoringResponse.attributeTypeMap;
+    }
+}
+exports.UsageApplicationSecurityMonitoringResponse = UsageApplicationSecurityMonitoringResponse;
+/**
+ * @ignore
+ */
+UsageApplicationSecurityMonitoringResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageApplicationSecurityMonitoringResponse.js.map
+
+/***/ }),
+
+/***/ 97465:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageAttributesObject = void 0;
+/**
+ * Usage attributes data.
+ */
+class UsageAttributesObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageAttributesObject.attributeTypeMap;
+    }
+}
+exports.UsageAttributesObject = UsageAttributesObject;
+/**
+ * @ignore
+ */
+UsageAttributesObject.attributeTypeMap = {
+    orgName: {
+        baseName: "org_name",
+        type: "string",
+    },
+    productFamily: {
+        baseName: "product_family",
+        type: "string",
+    },
+    publicId: {
+        baseName: "public_id",
+        type: "string",
+    },
+    region: {
+        baseName: "region",
+        type: "string",
+    },
+    timeseries: {
+        baseName: "timeseries",
+        type: "Array",
+    },
+    usageType: {
+        baseName: "usage_type",
+        type: "HourlyUsageType",
+    },
+};
+//# sourceMappingURL=UsageAttributesObject.js.map
+
+/***/ }),
+
+/***/ 19788:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageDataObject = void 0;
+/**
+ * Usage data.
+ */
+class UsageDataObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageDataObject.attributeTypeMap;
+    }
+}
+exports.UsageDataObject = UsageDataObject;
+/**
+ * @ignore
+ */
+UsageDataObject.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UsageAttributesObject",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    type: {
+        baseName: "type",
+        type: "UsageTimeSeriesType",
+    },
+};
+//# sourceMappingURL=UsageDataObject.js.map
+
+/***/ }),
+
+/***/ 6453:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageLambdaTracedInvocationsResponse = void 0;
+/**
+ * Lambda Traced Invocations usage response.
+ */
+class UsageLambdaTracedInvocationsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageLambdaTracedInvocationsResponse.attributeTypeMap;
+    }
+}
+exports.UsageLambdaTracedInvocationsResponse = UsageLambdaTracedInvocationsResponse;
+/**
+ * @ignore
+ */
+UsageLambdaTracedInvocationsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageLambdaTracedInvocationsResponse.js.map
+
+/***/ }),
+
+/***/ 37667:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageObservabilityPipelinesResponse = void 0;
+/**
+ * Observability Pipelines usage response.
+ */
+class UsageObservabilityPipelinesResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageObservabilityPipelinesResponse.attributeTypeMap;
+    }
+}
+exports.UsageObservabilityPipelinesResponse = UsageObservabilityPipelinesResponse;
+/**
+ * @ignore
+ */
+UsageObservabilityPipelinesResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UsageObservabilityPipelinesResponse.js.map
+
+/***/ }),
+
+/***/ 8338:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsageTimeSeriesObject = void 0;
+/**
+ * Usage timeseries data.
+ */
+class UsageTimeSeriesObject {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsageTimeSeriesObject.attributeTypeMap;
+    }
+}
+exports.UsageTimeSeriesObject = UsageTimeSeriesObject;
+/**
+ * @ignore
+ */
+UsageTimeSeriesObject.attributeTypeMap = {
+    timestamp: {
+        baseName: "timestamp",
+        type: "Date",
+        format: "date-time",
+    },
+    value: {
+        baseName: "value",
+        type: "number",
+        format: "int64",
+    },
+};
+//# sourceMappingURL=UsageTimeSeriesObject.js.map
+
+/***/ }),
+
+/***/ 1728:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.User = void 0;
+/**
+ * User object returned by the API.
+ */
+class User {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return User.attributeTypeMap;
+    }
+}
+exports.User = User;
+/**
+ * @ignore
+ */
+User.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserResponseRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+    },
+};
+//# sourceMappingURL=User.js.map
+
+/***/ }),
+
+/***/ 69074:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserAttributes = void 0;
+/**
+ * Attributes of user object returned by the API.
+ */
+class UserAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserAttributes.attributeTypeMap;
+    }
+}
+exports.UserAttributes = UserAttributes;
+/**
+ * @ignore
+ */
+UserAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    handle: {
+        baseName: "handle",
+        type: "string",
+    },
+    icon: {
+        baseName: "icon",
+        type: "string",
+    },
+    modifiedAt: {
+        baseName: "modified_at",
+        type: "Date",
+        format: "date-time",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    serviceAccount: {
+        baseName: "service_account",
+        type: "boolean",
+    },
+    status: {
+        baseName: "status",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+    verified: {
+        baseName: "verified",
+        type: "boolean",
+    },
+};
+//# sourceMappingURL=UserAttributes.js.map
+
+/***/ }),
+
+/***/ 91847:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserCreateAttributes = void 0;
+/**
+ * Attributes of the created user.
+ */
+class UserCreateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserCreateAttributes.attributeTypeMap;
+    }
+}
+exports.UserCreateAttributes = UserCreateAttributes;
+/**
+ * @ignore
+ */
+UserCreateAttributes.attributeTypeMap = {
+    email: {
+        baseName: "email",
+        type: "string",
+        required: true,
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+    title: {
+        baseName: "title",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UserCreateAttributes.js.map
+
+/***/ }),
+
+/***/ 50128:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserCreateData = void 0;
+/**
+ * Object to create a user.
+ */
+class UserCreateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserCreateData.attributeTypeMap;
+    }
+}
+exports.UserCreateData = UserCreateData;
+/**
+ * @ignore
+ */
+UserCreateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserCreateAttributes",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserCreateData.js.map
+
+/***/ }),
+
+/***/ 36476:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserCreateRequest = void 0;
+/**
+ * Create a user.
+ */
+class UserCreateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserCreateRequest.attributeTypeMap;
+    }
+}
+exports.UserCreateRequest = UserCreateRequest;
+/**
+ * @ignore
+ */
+UserCreateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserCreateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserCreateRequest.js.map
+
+/***/ }),
+
+/***/ 11302:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationData = void 0;
+/**
+ * Object to create a user invitation.
+ */
+class UserInvitationData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationData.attributeTypeMap;
+    }
+}
+exports.UserInvitationData = UserInvitationData;
+/**
+ * @ignore
+ */
+UserInvitationData.attributeTypeMap = {
+    relationships: {
+        baseName: "relationships",
+        type: "UserInvitationRelationships",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UserInvitationsType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserInvitationData.js.map
+
+/***/ }),
+
+/***/ 18728:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationDataAttributes = void 0;
+/**
+ * Attributes of a user invitation.
+ */
+class UserInvitationDataAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationDataAttributes.attributeTypeMap;
+    }
+}
+exports.UserInvitationDataAttributes = UserInvitationDataAttributes;
+/**
+ * @ignore
+ */
+UserInvitationDataAttributes.attributeTypeMap = {
+    createdAt: {
+        baseName: "created_at",
+        type: "Date",
+        format: "date-time",
+    },
+    expiresAt: {
+        baseName: "expires_at",
+        type: "Date",
+        format: "date-time",
+    },
+    inviteType: {
+        baseName: "invite_type",
+        type: "string",
+    },
+    uuid: {
+        baseName: "uuid",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UserInvitationDataAttributes.js.map
+
+/***/ }),
+
+/***/ 98340:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationRelationships = void 0;
+/**
+ * Relationships data for user invitation.
+ */
+class UserInvitationRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationRelationships.attributeTypeMap;
+    }
+}
+exports.UserInvitationRelationships = UserInvitationRelationships;
+/**
+ * @ignore
+ */
+UserInvitationRelationships.attributeTypeMap = {
+    user: {
+        baseName: "user",
+        type: "RelationshipToUser",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserInvitationRelationships.js.map
+
+/***/ }),
+
+/***/ 36330:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationResponse = void 0;
+/**
+ * User invitation as returned by the API.
+ */
+class UserInvitationResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationResponse.attributeTypeMap;
+    }
+}
+exports.UserInvitationResponse = UserInvitationResponse;
+/**
+ * @ignore
+ */
+UserInvitationResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserInvitationResponseData",
+    },
+};
+//# sourceMappingURL=UserInvitationResponse.js.map
+
+/***/ }),
+
+/***/ 82241:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationResponseData = void 0;
+/**
+ * Object of a user invitation returned by the API.
+ */
+class UserInvitationResponseData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationResponseData.attributeTypeMap;
+    }
+}
+exports.UserInvitationResponseData = UserInvitationResponseData;
+/**
+ * @ignore
+ */
+UserInvitationResponseData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserInvitationDataAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserInvitationRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UserInvitationsType",
+    },
+};
+//# sourceMappingURL=UserInvitationResponseData.js.map
+
+/***/ }),
+
+/***/ 41005:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationsRequest = void 0;
+/**
+ * Object to invite users to join the organization.
+ */
+class UserInvitationsRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationsRequest.attributeTypeMap;
+    }
+}
+exports.UserInvitationsRequest = UserInvitationsRequest;
+/**
+ * @ignore
+ */
+UserInvitationsRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserInvitationsRequest.js.map
+
+/***/ }),
+
+/***/ 53893:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserInvitationsResponse = void 0;
+/**
+ * User invitations as returned by the API.
+ */
+class UserInvitationsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserInvitationsResponse.attributeTypeMap;
+    }
+}
+exports.UserInvitationsResponse = UserInvitationsResponse;
+/**
+ * @ignore
+ */
+UserInvitationsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UserInvitationsResponse.js.map
+
+/***/ }),
+
+/***/ 67510:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserRelationships = void 0;
+/**
+ * Relationships of the user object.
+ */
+class UserRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserRelationships.attributeTypeMap;
+    }
+}
+exports.UserRelationships = UserRelationships;
+/**
+ * @ignore
+ */
+UserRelationships.attributeTypeMap = {
+    roles: {
+        baseName: "roles",
+        type: "RelationshipToRoles",
+    },
+};
+//# sourceMappingURL=UserRelationships.js.map
+
+/***/ }),
+
+/***/ 82709:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserResponse = void 0;
+/**
+ * Response containing information about a single user.
+ */
+class UserResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserResponse.attributeTypeMap;
+    }
+}
+exports.UserResponse = UserResponse;
+/**
+ * @ignore
+ */
+UserResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "User",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+};
+//# sourceMappingURL=UserResponse.js.map
+
+/***/ }),
+
+/***/ 25159:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserResponseRelationships = void 0;
+/**
+ * Relationships of the user object returned by the API.
+ */
+class UserResponseRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserResponseRelationships.attributeTypeMap;
+    }
+}
+exports.UserResponseRelationships = UserResponseRelationships;
+/**
+ * @ignore
+ */
+UserResponseRelationships.attributeTypeMap = {
+    org: {
+        baseName: "org",
+        type: "RelationshipToOrganization",
+    },
+    otherOrgs: {
+        baseName: "other_orgs",
+        type: "RelationshipToOrganizations",
+    },
+    otherUsers: {
+        baseName: "other_users",
+        type: "RelationshipToUsers",
+    },
+    roles: {
+        baseName: "roles",
+        type: "RelationshipToRoles",
+    },
+};
+//# sourceMappingURL=UserResponseRelationships.js.map
+
+/***/ }),
+
+/***/ 62838:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeam = void 0;
+/**
+ * A user's relationship with a team
+ */
+class UserTeam {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeam.attributeTypeMap;
+    }
+}
+exports.UserTeam = UserTeam;
+/**
+ * @ignore
+ */
+UserTeam.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserTeamAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserTeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeam.js.map
+
+/***/ }),
+
+/***/ 25620:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamAttributes = void 0;
+/**
+ * Team membership attributes
+ */
+class UserTeamAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamAttributes.attributeTypeMap;
+    }
+}
+exports.UserTeamAttributes = UserTeamAttributes;
+/**
+ * @ignore
+ */
+UserTeamAttributes.attributeTypeMap = {
+    role: {
+        baseName: "role",
+        type: "UserTeamRole",
+    },
+};
+//# sourceMappingURL=UserTeamAttributes.js.map
+
+/***/ }),
+
+/***/ 24683:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamCreate = void 0;
+/**
+ * A user's relationship with a team
+ */
+class UserTeamCreate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamCreate.attributeTypeMap;
+    }
+}
+exports.UserTeamCreate = UserTeamCreate;
+/**
+ * @ignore
+ */
+UserTeamCreate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserTeamAttributes",
+    },
+    relationships: {
+        baseName: "relationships",
+        type: "UserTeamRelationships",
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeamCreate.js.map
+
+/***/ }),
+
+/***/ 99296:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamPermission = void 0;
+/**
+ * A user's permissions for a given team
+ */
+class UserTeamPermission {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamPermission.attributeTypeMap;
+    }
+}
+exports.UserTeamPermission = UserTeamPermission;
+/**
+ * @ignore
+ */
+UserTeamPermission.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserTeamPermissionAttributes",
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamPermissionType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeamPermission.js.map
+
+/***/ }),
+
+/***/ 27272:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamPermissionAttributes = void 0;
+/**
+ * User team permission attributes
+ */
+class UserTeamPermissionAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamPermissionAttributes.attributeTypeMap;
+    }
+}
+exports.UserTeamPermissionAttributes = UserTeamPermissionAttributes;
+/**
+ * @ignore
+ */
+UserTeamPermissionAttributes.attributeTypeMap = {
+    permissions: {
+        baseName: "permissions",
+        type: "any",
+    },
+};
+//# sourceMappingURL=UserTeamPermissionAttributes.js.map
+
+/***/ }),
+
+/***/ 96420:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamRelationships = void 0;
+/**
+ * Relationship between membership and a user
+ */
+class UserTeamRelationships {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamRelationships.attributeTypeMap;
+    }
+}
+exports.UserTeamRelationships = UserTeamRelationships;
+/**
+ * @ignore
+ */
+UserTeamRelationships.attributeTypeMap = {
+    user: {
+        baseName: "user",
+        type: "RelationshipToUserTeamUser",
+    },
+};
+//# sourceMappingURL=UserTeamRelationships.js.map
+
+/***/ }),
+
+/***/ 16989:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamRequest = void 0;
+/**
+ * Team membership request
+ */
+class UserTeamRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamRequest.attributeTypeMap;
+    }
+}
+exports.UserTeamRequest = UserTeamRequest;
+/**
+ * @ignore
+ */
+UserTeamRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserTeamCreate",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeamRequest.js.map
+
+/***/ }),
+
+/***/ 19185:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamResponse = void 0;
+/**
+ * Team membership response
+ */
+class UserTeamResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamResponse.attributeTypeMap;
+    }
+}
+exports.UserTeamResponse = UserTeamResponse;
+/**
+ * @ignore
+ */
+UserTeamResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserTeam",
+    },
+};
+//# sourceMappingURL=UserTeamResponse.js.map
+
+/***/ }),
+
+/***/ 25223:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamUpdate = void 0;
+/**
+ * A user's relationship with a team
+ */
+class UserTeamUpdate {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamUpdate.attributeTypeMap;
+    }
+}
+exports.UserTeamUpdate = UserTeamUpdate;
+/**
+ * @ignore
+ */
+UserTeamUpdate.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserTeamAttributes",
+    },
+    type: {
+        baseName: "type",
+        type: "UserTeamType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeamUpdate.js.map
+
+/***/ }),
+
+/***/ 12059:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamUpdateRequest = void 0;
+/**
+ * Team membership request
+ */
+class UserTeamUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamUpdateRequest.attributeTypeMap;
+    }
+}
+exports.UserTeamUpdateRequest = UserTeamUpdateRequest;
+/**
+ * @ignore
+ */
+UserTeamUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserTeamUpdate",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserTeamUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 32202:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserTeamsResponse = void 0;
+/**
+ * Team memberships response
+ */
+class UserTeamsResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserTeamsResponse.attributeTypeMap;
+    }
+}
+exports.UserTeamsResponse = UserTeamsResponse;
+/**
+ * @ignore
+ */
+UserTeamsResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    links: {
+        baseName: "links",
+        type: "TeamsResponseLinks",
+    },
+    meta: {
+        baseName: "meta",
+        type: "TeamsResponseMeta",
+    },
+};
+//# sourceMappingURL=UserTeamsResponse.js.map
+
+/***/ }),
+
+/***/ 51105:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2020-Present Datadog, Inc.
+ */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserUpdateAttributes = void 0;
+/**
+ * Attributes of the edited user.
+ */
+class UserUpdateAttributes {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserUpdateAttributes.attributeTypeMap;
+    }
+}
+exports.UserUpdateAttributes = UserUpdateAttributes;
+/**
+ * @ignore
+ */
+UserUpdateAttributes.attributeTypeMap = {
+    disabled: {
+        baseName: "disabled",
+        type: "boolean",
+    },
+    email: {
+        baseName: "email",
+        type: "string",
+    },
+    name: {
+        baseName: "name",
+        type: "string",
+    },
+};
+//# sourceMappingURL=UserUpdateAttributes.js.map
+
+/***/ }),
+
+/***/ 51985:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserUpdateData = void 0;
+/**
+ * Object to update a user.
+ */
+class UserUpdateData {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserUpdateData.attributeTypeMap;
+    }
+}
+exports.UserUpdateData = UserUpdateData;
+/**
+ * @ignore
+ */
+UserUpdateData.attributeTypeMap = {
+    attributes: {
+        baseName: "attributes",
+        type: "UserUpdateAttributes",
+        required: true,
+    },
+    id: {
+        baseName: "id",
+        type: "string",
+        required: true,
+    },
+    type: {
+        baseName: "type",
+        type: "UsersType",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserUpdateData.js.map
+
+/***/ }),
+
+/***/ 95122:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserUpdateRequest = void 0;
+/**
+ * Update a user.
+ */
+class UserUpdateRequest {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UserUpdateRequest.attributeTypeMap;
+    }
+}
+exports.UserUpdateRequest = UserUpdateRequest;
+/**
+ * @ignore
+ */
+UserUpdateRequest.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "UserUpdateData",
+        required: true,
+    },
+};
+//# sourceMappingURL=UserUpdateRequest.js.map
+
+/***/ }),
+
+/***/ 11836:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UsersResponse = void 0;
+/**
+ * Response containing information about multiple users.
+ */
+class UsersResponse {
+    constructor() { }
+    /**
+     * @ignore
+     */
+    static getAttributeTypeMap() {
+        return UsersResponse.attributeTypeMap;
+    }
+}
+exports.UsersResponse = UsersResponse;
+/**
+ * @ignore
+ */
+UsersResponse.attributeTypeMap = {
+    data: {
+        baseName: "data",
+        type: "Array",
+    },
+    included: {
+        baseName: "included",
+        type: "Array",
+    },
+    meta: {
+        baseName: "meta",
+        type: "ResponseMetaAttributes",
+    },
+};
+//# sourceMappingURL=UsersResponse.js.map
+
+/***/ }),
+
+/***/ 86946:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.userAgent = void 0;
+const version_1 = __webpack_require__(38577);
+if (typeof process !== 'undefined' && process.release && process.release.name === 'node') {
+    exports.userAgent = `datadog-api-client-typescript/${version_1.version} (node ${process.versions.node}; os ${process.platform}; arch ${process.arch})`;
+}
+else if (typeof window !== "undefined" && typeof window.document !== "undefined") {
+    // we don't set user-agent headers in browsers
+}
+else {
+    exports.userAgent = `datadog-api-client-typescript/${version_1.version} (runtime unknown)`;
+}
+//# sourceMappingURL=userAgent.js.map
+
+/***/ }),
+
+/***/ 38577:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.version = void 0;
+exports.version = "1.17.0";
+//# sourceMappingURL=version.js.map
+
+/***/ }),
+
+/***/ 69932:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+module.exports =
+{
+  parallel      : __webpack_require__(22409),
+  serial        : __webpack_require__(40061),
+  serialOrdered : __webpack_require__(43506)
+};
+
+
+/***/ }),
+
+/***/ 95617:
+/***/ ((module) => {
+
+// API
+module.exports = abort;
+
+/**
+ * Aborts leftover active jobs
+ *
+ * @param {object} state - current state object
+ */
+function abort(state)
+{
+  Object.keys(state.jobs).forEach(clean.bind(state));
+
+  // reset leftover jobs
+  state.jobs = {};
+}
+
+/**
+ * Cleans up leftover job by invoking abort function for the provided job id
+ *
+ * @this  state
+ * @param {string|number} key - job id to abort
+ */
+function clean(key)
+{
+  if (typeof this.jobs[key] == 'function')
+  {
+    this.jobs[key]();
+  }
+}
+
+
+/***/ }),
+
+/***/ 15324:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var defer = __webpack_require__(37813);
+
+// API
+module.exports = async;
+
+/**
+ * Runs provided callback asynchronously
+ * even if callback itself is not
+ *
+ * @param   {function} callback - callback to invoke
+ * @returns {function} - augmented callback
+ */
+function async(callback)
+{
+  var isAsync = false;
+
+  // check if async happened
+  defer(function() { isAsync = true; });
+
+  return function async_callback(err, result)
+  {
+    if (isAsync)
+    {
+      callback(err, result);
+    }
+    else
+    {
+      defer(function nextTick_callback()
+      {
+        callback(err, result);
+      });
+    }
+  };
+}
+
+
+/***/ }),
+
+/***/ 37813:
+/***/ ((module) => {
+
+module.exports = defer;
+
+/**
+ * Runs provided function on next iteration of the event loop
+ *
+ * @param {function} fn - function to run
+ */
+function defer(fn)
+{
+  var nextTick = typeof setImmediate == 'function'
+    ? setImmediate
+    : (
+      typeof process == 'object' && typeof process.nextTick == 'function'
+      ? process.nextTick
+      : null
+    );
+
+  if (nextTick)
+  {
+    nextTick(fn);
+  }
+  else
+  {
+    setTimeout(fn, 0);
+  }
+}
+
+
+/***/ }),
+
+/***/ 55094:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var async = __webpack_require__(15324)
+  , abort = __webpack_require__(95617)
+  ;
+
+// API
+module.exports = iterate;
+
+/**
+ * Iterates over each job object
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {object} state - current job status
+ * @param {function} callback - invoked when all elements processed
+ */
+function iterate(list, iterator, state, callback)
+{
+  // store current index
+  var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;
+
+  state.jobs[key] = runJob(iterator, key, list[key], function(error, output)
+  {
+    // don't repeat yourself
+    // skip secondary callbacks
+    if (!(key in state.jobs))
+    {
+      return;
+    }
+
+    // clean up jobs
+    delete state.jobs[key];
+
+    if (error)
+    {
+      // don't process rest of the results
+      // stop still active jobs
+      // and reset the list
+      abort(state);
+    }
+    else
+    {
+      state.results[key] = output;
+    }
+
+    // return salvaged results
+    callback(error, state.results);
+  });
+}
+
+/**
+ * Runs iterator over provided job element
+ *
+ * @param   {function} iterator - iterator to invoke
+ * @param   {string|number} key - key/index of the element in the list of jobs
+ * @param   {mixed} item - job description
+ * @param   {function} callback - invoked after iterator is done with the job
+ * @returns {function|mixed} - job abort function or something else
+ */
+function runJob(iterator, key, item, callback)
+{
+  var aborter;
+
+  // allow shortcut if iterator expects only two arguments
+  if (iterator.length == 2)
+  {
+    aborter = iterator(item, async(callback));
+  }
+  // otherwise go with full three arguments
+  else
+  {
+    aborter = iterator(item, key, async(callback));
+  }
+
+  return aborter;
+}
+
+
+/***/ }),
+
+/***/ 29053:
+/***/ ((module) => {
+
+// API
+module.exports = state;
+
+/**
+ * Creates initial state object
+ * for iteration over list
+ *
+ * @param   {array|object} list - list to iterate over
+ * @param   {function|null} sortMethod - function to use for keys sort,
+ *                                     or `null` to keep them as is
+ * @returns {object} - initial state object
+ */
+function state(list, sortMethod)
+{
+  var isNamedList = !Array.isArray(list)
+    , initState =
+    {
+      index    : 0,
+      keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
+      jobs     : {},
+      results  : isNamedList ? {} : [],
+      size     : isNamedList ? Object.keys(list).length : list.length
+    }
+    ;
+
+  if (sortMethod)
+  {
+    // sort array keys based on it's values
+    // sort object's keys just on own merit
+    initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)
+    {
+      return sortMethod(list[a], list[b]);
+    });
+  }
+
+  return initState;
+}
+
+
+/***/ }),
+
+/***/ 68784:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var abort = __webpack_require__(95617)
+  , async = __webpack_require__(15324)
+  ;
+
+// API
+module.exports = terminator;
+
+/**
+ * Terminates jobs in the attached state context
+ *
+ * @this  AsyncKitState#
+ * @param {function} callback - final callback to invoke after termination
+ */
+function terminator(callback)
+{
+  if (!Object.keys(this.jobs).length)
+  {
+    return;
+  }
+
+  // fast forward iteration index
+  this.index = this.size;
+
+  // abort jobs
+  abort(this);
+
+  // send back results we have so far
+  async(callback)(null, this.results);
+}
+
+
+/***/ }),
+
+/***/ 22409:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var iterate    = __webpack_require__(55094)
+  , initState  = __webpack_require__(29053)
+  , terminator = __webpack_require__(68784)
+  ;
+
+// Public API
+module.exports = parallel;
+
+/**
+ * Runs iterator over provided array elements in parallel
+ *
+ * @param   {array|object} list - array or object (named list) to iterate over
+ * @param   {function} iterator - iterator to run
+ * @param   {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function parallel(list, iterator, callback)
+{
+  var state = initState(list);
+
+  while (state.index < (state['keyedList'] || list).length)
+  {
+    iterate(list, iterator, state, function(error, result)
+    {
+      if (error)
+      {
+        callback(error, result);
+        return;
+      }
+
+      // looks like it's the last one
+      if (Object.keys(state.jobs).length === 0)
+      {
+        callback(null, state.results);
+        return;
+      }
+    });
+
+    state.index++;
+  }
+
+  return terminator.bind(state, callback);
+}
+
+
+/***/ }),
+
+/***/ 40061:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var serialOrdered = __webpack_require__(43506);
+
+// Public API
+module.exports = serial;
+
+/**
+ * Runs iterator over provided array elements in series
+ *
+ * @param   {array|object} list - array or object (named list) to iterate over
+ * @param   {function} iterator - iterator to run
+ * @param   {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function serial(list, iterator, callback)
+{
+  return serialOrdered(list, iterator, null, callback);
+}
+
+
+/***/ }),
+
+/***/ 43506:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var iterate    = __webpack_require__(55094)
+  , initState  = __webpack_require__(29053)
+  , terminator = __webpack_require__(68784)
+  ;
+
+// Public API
+module.exports = serialOrdered;
+// sorting helpers
+module.exports.ascending  = ascending;
+module.exports.descending = descending;
+
+/**
+ * Runs iterator over provided sorted array elements in series
+ *
+ * @param   {array|object} list - array or object (named list) to iterate over
+ * @param   {function} iterator - iterator to run
+ * @param   {function} sortMethod - custom sort function
+ * @param   {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function serialOrdered(list, iterator, sortMethod, callback)
+{
+  var state = initState(list, sortMethod);
+
+  iterate(list, iterator, state, function iteratorHandler(error, result)
+  {
+    if (error)
+    {
+      callback(error, result);
+      return;
+    }
+
+    state.index++;
+
+    // are we there yet?
+    if (state.index < (state['keyedList'] || list).length)
+    {
+      iterate(list, iterator, state, iteratorHandler);
+      return;
+    }
+
+    // done here
+    callback(null, state.results);
+  });
+
+  return terminator.bind(state, callback);
+}
+
+/*
+ * -- Sort methods
+ */
+
+/**
+ * sort helper to sort array elements in ascending order
+ *
+ * @param   {mixed} a - an item to compare
+ * @param   {mixed} b - an item to compare
+ * @returns {number} - comparison result
+ */
+function ascending(a, b)
+{
+  return a < b ? -1 : a > b ? 1 : 0;
+}
+
+/**
+ * sort helper to sort array elements in descending order
+ *
+ * @param   {mixed} a - an item to compare
+ * @param   {mixed} b - an item to compare
+ * @returns {number} - comparison result
+ */
+function descending(a, b)
+{
+  return -1 * ascending(a, b);
+}
+
+
+/***/ }),
+
+/***/ 41219:
+/***/ ((module) => {
+
+/* eslint-disable node/no-deprecated-api */
+
+var toString = Object.prototype.toString
+
+var isModern = (
+  typeof Buffer !== 'undefined' &&
+  typeof Buffer.alloc === 'function' &&
+  typeof Buffer.allocUnsafe === 'function' &&
+  typeof Buffer.from === 'function'
+)
+
+function isArrayBuffer (input) {
+  return toString.call(input).slice(8, -1) === 'ArrayBuffer'
+}
+
+function fromArrayBuffer (obj, byteOffset, length) {
+  byteOffset >>>= 0
+
+  var maxLength = obj.byteLength - byteOffset
+
+  if (maxLength < 0) {
+    throw new RangeError("'offset' is out of bounds")
+  }
+
+  if (length === undefined) {
+    length = maxLength
+  } else {
+    length >>>= 0
+
+    if (length > maxLength) {
+      throw new RangeError("'length' is out of bounds")
+    }
+  }
+
+  return isModern
+    ? Buffer.from(obj.slice(byteOffset, byteOffset + length))
+    : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))
+}
+
+function fromString (string, encoding) {
+  if (typeof encoding !== 'string' || encoding === '') {
+    encoding = 'utf8'
+  }
+
+  if (!Buffer.isEncoding(encoding)) {
+    throw new TypeError('"encoding" must be a valid string encoding')
+  }
+
+  return isModern
+    ? Buffer.from(string, encoding)
+    : new Buffer(string, encoding)
+}
+
+function bufferFrom (value, encodingOrOffset, length) {
+  if (typeof value === 'number') {
+    throw new TypeError('"value" argument must not be a number')
+  }
+
+  if (isArrayBuffer(value)) {
+    return fromArrayBuffer(value, encodingOrOffset, length)
+  }
+
+  if (typeof value === 'string') {
+    return fromString(value, encodingOrOffset)
+  }
+
+  return isModern
+    ? Buffer.from(value)
+    : new Buffer(value)
+}
+
+module.exports = bufferFrom
+
+
+/***/ }),
+
+/***/ 34836:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var util = __webpack_require__(73837);
+var Stream = (__webpack_require__(12781).Stream);
+var DelayedStream = __webpack_require__(78063);
+
+module.exports = CombinedStream;
+function CombinedStream() {
+  this.writable = false;
+  this.readable = true;
+  this.dataSize = 0;
+  this.maxDataSize = 2 * 1024 * 1024;
+  this.pauseStreams = true;
+
+  this._released = false;
+  this._streams = [];
+  this._currentStream = null;
+  this._insideLoop = false;
+  this._pendingNext = false;
+}
+util.inherits(CombinedStream, Stream);
+
+CombinedStream.create = function(options) {
+  var combinedStream = new this();
+
+  options = options || {};
+  for (var option in options) {
+    combinedStream[option] = options[option];
+  }
+
+  return combinedStream;
+};
+
+CombinedStream.isStreamLike = function(stream) {
+  return (typeof stream !== 'function')
+    && (typeof stream !== 'string')
+    && (typeof stream !== 'boolean')
+    && (typeof stream !== 'number')
+    && (!Buffer.isBuffer(stream));
+};
+
+CombinedStream.prototype.append = function(stream) {
+  var isStreamLike = CombinedStream.isStreamLike(stream);
+
+  if (isStreamLike) {
+    if (!(stream instanceof DelayedStream)) {
+      var newStream = DelayedStream.create(stream, {
+        maxDataSize: Infinity,
+        pauseStream: this.pauseStreams,
+      });
+      stream.on('data', this._checkDataSize.bind(this));
+      stream = newStream;
+    }
+
+    this._handleErrors(stream);
+
+    if (this.pauseStreams) {
+      stream.pause();
+    }
+  }
+
+  this._streams.push(stream);
+  return this;
+};
+
+CombinedStream.prototype.pipe = function(dest, options) {
+  Stream.prototype.pipe.call(this, dest, options);
+  this.resume();
+  return dest;
+};
+
+CombinedStream.prototype._getNext = function() {
+  this._currentStream = null;
+
+  if (this._insideLoop) {
+    this._pendingNext = true;
+    return; // defer call
+  }
+
+  this._insideLoop = true;
+  try {
+    do {
+      this._pendingNext = false;
+      this._realGetNext();
+    } while (this._pendingNext);
+  } finally {
+    this._insideLoop = false;
+  }
+};
+
+CombinedStream.prototype._realGetNext = function() {
+  var stream = this._streams.shift();
+
+
+  if (typeof stream == 'undefined') {
+    this.end();
+    return;
+  }
+
+  if (typeof stream !== 'function') {
+    this._pipeNext(stream);
+    return;
+  }
+
+  var getStream = stream;
+  getStream(function(stream) {
+    var isStreamLike = CombinedStream.isStreamLike(stream);
+    if (isStreamLike) {
+      stream.on('data', this._checkDataSize.bind(this));
+      this._handleErrors(stream);
+    }
+
+    this._pipeNext(stream);
+  }.bind(this));
+};
+
+CombinedStream.prototype._pipeNext = function(stream) {
+  this._currentStream = stream;
+
+  var isStreamLike = CombinedStream.isStreamLike(stream);
+  if (isStreamLike) {
+    stream.on('end', this._getNext.bind(this));
+    stream.pipe(this, {end: false});
+    return;
+  }
+
+  var value = stream;
+  this.write(value);
+  this._getNext();
+};
+
+CombinedStream.prototype._handleErrors = function(stream) {
+  var self = this;
+  stream.on('error', function(err) {
+    self._emitError(err);
+  });
+};
+
+CombinedStream.prototype.write = function(data) {
+  this.emit('data', data);
+};
+
+CombinedStream.prototype.pause = function() {
+  if (!this.pauseStreams) {
+    return;
+  }
+
+  if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();
+  this.emit('pause');
+};
+
+CombinedStream.prototype.resume = function() {
+  if (!this._released) {
+    this._released = true;
+    this.writable = true;
+    this._getNext();
+  }
+
+  if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();
+  this.emit('resume');
+};
+
+CombinedStream.prototype.end = function() {
+  this._reset();
+  this.emit('end');
+};
+
+CombinedStream.prototype.destroy = function() {
+  this._reset();
+  this.emit('close');
+};
+
+CombinedStream.prototype._reset = function() {
+  this.writable = false;
+  this._streams = [];
+  this._currentStream = null;
+};
+
+CombinedStream.prototype._checkDataSize = function() {
+  this._updateDataSize();
+  if (this.dataSize <= this.maxDataSize) {
+    return;
+  }
+
+  var message =
+    'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';
+  this._emitError(new Error(message));
+};
+
+CombinedStream.prototype._updateDataSize = function() {
+  this.dataSize = 0;
+
+  var self = this;
+  this._streams.forEach(function(stream) {
+    if (!stream.dataSize) {
+      return;
+    }
+
+    self.dataSize += stream.dataSize;
+  });
+
+  if (this._currentStream && this._currentStream.dataSize) {
+    this.dataSize += this._currentStream.dataSize;
+  }
+};
+
+CombinedStream.prototype._emitError = function(err) {
+  this._reset();
+  this.emit('error', err);
+};
+
+
+/***/ }),
+
+/***/ 78063:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var Stream = (__webpack_require__(12781).Stream);
+var util = __webpack_require__(73837);
+
+module.exports = DelayedStream;
+function DelayedStream() {
+  this.source = null;
+  this.dataSize = 0;
+  this.maxDataSize = 1024 * 1024;
+  this.pauseStream = true;
+
+  this._maxDataSizeExceeded = false;
+  this._released = false;
+  this._bufferedEvents = [];
+}
+util.inherits(DelayedStream, Stream);
+
+DelayedStream.create = function(source, options) {
+  var delayedStream = new this();
+
+  options = options || {};
+  for (var option in options) {
+    delayedStream[option] = options[option];
+  }
+
+  delayedStream.source = source;
+
+  var realEmit = source.emit;
+  source.emit = function() {
+    delayedStream._handleEmit(arguments);
+    return realEmit.apply(source, arguments);
+  };
+
+  source.on('error', function() {});
+  if (delayedStream.pauseStream) {
+    source.pause();
+  }
+
+  return delayedStream;
+};
+
+Object.defineProperty(DelayedStream.prototype, 'readable', {
+  configurable: true,
+  enumerable: true,
+  get: function() {
+    return this.source.readable;
+  }
+});
+
+DelayedStream.prototype.setEncoding = function() {
+  return this.source.setEncoding.apply(this.source, arguments);
+};
+
+DelayedStream.prototype.resume = function() {
+  if (!this._released) {
+    this.release();
+  }
+
+  this.source.resume();
+};
+
+DelayedStream.prototype.pause = function() {
+  this.source.pause();
+};
+
+DelayedStream.prototype.release = function() {
+  this._released = true;
+
+  this._bufferedEvents.forEach(function(args) {
+    this.emit.apply(this, args);
+  }.bind(this));
+  this._bufferedEvents = [];
+};
+
+DelayedStream.prototype.pipe = function() {
+  var r = Stream.prototype.pipe.apply(this, arguments);
+  this.resume();
+  return r;
+};
+
+DelayedStream.prototype._handleEmit = function(args) {
+  if (this._released) {
+    this.emit.apply(this, args);
+    return;
+  }
+
+  if (args[0] === 'data') {
+    this.dataSize += args[1].length;
+    this._checkIfMaxDataSizeExceeded();
+  }
+
+  this._bufferedEvents.push(args);
+};
+
+DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {
+  if (this._maxDataSizeExceeded) {
+    return;
+  }
+
+  if (this.dataSize <= this.maxDataSize) {
+    return;
+  }
+
+  this._maxDataSizeExceeded = true;
+  var message =
+    'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'
+  this.emit('error', new Error(message));
+};
+
+
+/***/ }),
+
+/***/ 14221:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var CombinedStream = __webpack_require__(34836);
+var util = __webpack_require__(73837);
+var path = __webpack_require__(71017);
+var http = __webpack_require__(13685);
+var https = __webpack_require__(95687);
+var parseUrl = (__webpack_require__(57310).parse);
+var fs = __webpack_require__(57147);
+var Stream = (__webpack_require__(12781).Stream);
+var mime = __webpack_require__(77751);
+var asynckit = __webpack_require__(69932);
+var populate = __webpack_require__(85954);
+
+// Public API
+module.exports = FormData;
+
+// make it a Stream
+util.inherits(FormData, CombinedStream);
+
+/**
+ * Create readable "multipart/form-data" streams.
+ * Can be used to submit forms
+ * and file uploads to other web applications.
+ *
+ * @constructor
+ * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream
+ */
+function FormData(options) {
+  if (!(this instanceof FormData)) {
+    return new FormData(options);
+  }
+
+  this._overheadLength = 0;
+  this._valueLength = 0;
+  this._valuesToMeasure = [];
+
+  CombinedStream.call(this);
+
+  options = options || {};
+  for (var option in options) {
+    this[option] = options[option];
+  }
+}
+
+FormData.LINE_BREAK = '\r\n';
+FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';
+
+FormData.prototype.append = function(field, value, options) {
+
+  options = options || {};
+
+  // allow filename as single option
+  if (typeof options == 'string') {
+    options = {filename: options};
+  }
+
+  var append = CombinedStream.prototype.append.bind(this);
+
+  // all that streamy business can't handle numbers
+  if (typeof value == 'number') {
+    value = '' + value;
+  }
+
+  // https://github.com/felixge/node-form-data/issues/38
+  if (util.isArray(value)) {
+    // Please convert your array into string
+    // the way web server expects it
+    this._error(new Error('Arrays are not supported.'));
+    return;
+  }
+
+  var header = this._multiPartHeader(field, value, options);
+  var footer = this._multiPartFooter();
+
+  append(header);
+  append(value);
+  append(footer);
+
+  // pass along options.knownLength
+  this._trackLength(header, value, options);
+};
+
+FormData.prototype._trackLength = function(header, value, options) {
+  var valueLength = 0;
+
+  // used w/ getLengthSync(), when length is known.
+  // e.g. for streaming directly from a remote server,
+  // w/ a known file a size, and not wanting to wait for
+  // incoming file to finish to get its size.
+  if (options.knownLength != null) {
+    valueLength += +options.knownLength;
+  } else if (Buffer.isBuffer(value)) {
+    valueLength = value.length;
+  } else if (typeof value === 'string') {
+    valueLength = Buffer.byteLength(value);
+  }
+
+  this._valueLength += valueLength;
+
+  // @check why add CRLF? does this account for custom/multiple CRLFs?
+  this._overheadLength +=
+    Buffer.byteLength(header) +
+    FormData.LINE_BREAK.length;
+
+  // empty or either doesn't have path or not an http response or not a stream
+  if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {
+    return;
+  }
+
+  // no need to bother with the length
+  if (!options.knownLength) {
+    this._valuesToMeasure.push(value);
+  }
+};
+
+FormData.prototype._lengthRetriever = function(value, callback) {
+
+  if (value.hasOwnProperty('fd')) {
+
+    // take read range into a account
+    // `end` = Infinity –> read file till the end
+    //
+    // TODO: Looks like there is bug in Node fs.createReadStream
+    // it doesn't respect `end` options without `start` options
+    // Fix it when node fixes it.
+    // https://github.com/joyent/node/issues/7819
+    if (value.end != undefined && value.end != Infinity && value.start != undefined) {
+
+      // when end specified
+      // no need to calculate range
+      // inclusive, starts with 0
+      callback(null, value.end + 1 - (value.start ? value.start : 0));
+
+    // not that fast snoopy
+    } else {
+      // still need to fetch file size from fs
+      fs.stat(value.path, function(err, stat) {
+
+        var fileSize;
+
+        if (err) {
+          callback(err);
+          return;
+        }
+
+        // update final size based on the range options
+        fileSize = stat.size - (value.start ? value.start : 0);
+        callback(null, fileSize);
+      });
+    }
+
+  // or http response
+  } else if (value.hasOwnProperty('httpVersion')) {
+    callback(null, +value.headers['content-length']);
+
+  // or request stream http://github.com/mikeal/request
+  } else if (value.hasOwnProperty('httpModule')) {
+    // wait till response come back
+    value.on('response', function(response) {
+      value.pause();
+      callback(null, +response.headers['content-length']);
+    });
+    value.resume();
+
+  // something else
+  } else {
+    callback('Unknown stream');
+  }
+};
+
+FormData.prototype._multiPartHeader = function(field, value, options) {
+  // custom header specified (as string)?
+  // it becomes responsible for boundary
+  // (e.g. to handle extra CRLFs on .NET servers)
+  if (typeof options.header == 'string') {
+    return options.header;
+  }
+
+  var contentDisposition = this._getContentDisposition(value, options);
+  var contentType = this._getContentType(value, options);
+
+  var contents = '';
+  var headers  = {
+    // add custom disposition as third element or keep it two elements if not
+    'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []),
+    // if no content type. allow it to be empty array
+    'Content-Type': [].concat(contentType || [])
+  };
+
+  // allow custom headers.
+  if (typeof options.header == 'object') {
+    populate(headers, options.header);
+  }
+
+  var header;
+  for (var prop in headers) {
+    if (!headers.hasOwnProperty(prop)) continue;
+    header = headers[prop];
+
+    // skip nullish headers.
+    if (header == null) {
+      continue;
+    }
+
+    // convert all headers to arrays.
+    if (!Array.isArray(header)) {
+      header = [header];
+    }
+
+    // add non-empty headers.
+    if (header.length) {
+      contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;
+    }
+  }
+
+  return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;
+};
+
+FormData.prototype._getContentDisposition = function(value, options) {
+
+  var filename
+    , contentDisposition
+    ;
+
+  if (typeof options.filepath === 'string') {
+    // custom filepath for relative paths
+    filename = path.normalize(options.filepath).replace(/\\/g, '/');
+  } else if (options.filename || value.name || value.path) {
+    // custom filename take precedence
+    // formidable and the browser add a name property
+    // fs- and request- streams have path property
+    filename = path.basename(options.filename || value.name || value.path);
+  } else if (value.readable && value.hasOwnProperty('httpVersion')) {
+    // or try http response
+    filename = path.basename(value.client._httpMessage.path || '');
+  }
+
+  if (filename) {
+    contentDisposition = 'filename="' + filename + '"';
+  }
+
+  return contentDisposition;
+};
+
+FormData.prototype._getContentType = function(value, options) {
+
+  // use custom content-type above all
+  var contentType = options.contentType;
+
+  // or try `name` from formidable, browser
+  if (!contentType && value.name) {
+    contentType = mime.lookup(value.name);
+  }
+
+  // or try `path` from fs-, request- streams
+  if (!contentType && value.path) {
+    contentType = mime.lookup(value.path);
+  }
+
+  // or if it's http-reponse
+  if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {
+    contentType = value.headers['content-type'];
+  }
+
+  // or guess it from the filepath or filename
+  if (!contentType && (options.filepath || options.filename)) {
+    contentType = mime.lookup(options.filepath || options.filename);
+  }
+
+  // fallback to the default content type if `value` is not simple value
+  if (!contentType && typeof value == 'object') {
+    contentType = FormData.DEFAULT_CONTENT_TYPE;
+  }
+
+  return contentType;
+};
+
+FormData.prototype._multiPartFooter = function() {
+  return function(next) {
+    var footer = FormData.LINE_BREAK;
+
+    var lastPart = (this._streams.length === 0);
+    if (lastPart) {
+      footer += this._lastBoundary();
+    }
+
+    next(footer);
+  }.bind(this);
+};
+
+FormData.prototype._lastBoundary = function() {
+  return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;
+};
+
+FormData.prototype.getHeaders = function(userHeaders) {
+  var header;
+  var formHeaders = {
+    'content-type': 'multipart/form-data; boundary=' + this.getBoundary()
+  };
+
+  for (header in userHeaders) {
+    if (userHeaders.hasOwnProperty(header)) {
+      formHeaders[header.toLowerCase()] = userHeaders[header];
+    }
+  }
+
+  return formHeaders;
+};
+
+FormData.prototype.setBoundary = function(boundary) {
+  this._boundary = boundary;
+};
+
+FormData.prototype.getBoundary = function() {
+  if (!this._boundary) {
+    this._generateBoundary();
+  }
+
+  return this._boundary;
+};
+
+FormData.prototype.getBuffer = function() {
+  var dataBuffer = new Buffer.alloc( 0 );
+  var boundary = this.getBoundary();
+
+  // Create the form content. Add Line breaks to the end of data.
+  for (var i = 0, len = this._streams.length; i < len; i++) {
+    if (typeof this._streams[i] !== 'function') {
+
+      // Add content to the buffer.
+      if(Buffer.isBuffer(this._streams[i])) {
+        dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);
+      }else {
+        dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);
+      }
+
+      // Add break after content.
+      if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {
+        dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );
+      }
+    }
+  }
+
+  // Add the footer and return the Buffer object.
+  return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );
+};
+
+FormData.prototype._generateBoundary = function() {
+  // This generates a 50 character boundary similar to those used by Firefox.
+  // They are optimized for boyer-moore parsing.
+  var boundary = '--------------------------';
+  for (var i = 0; i < 24; i++) {
+    boundary += Math.floor(Math.random() * 10).toString(16);
+  }
+
+  this._boundary = boundary;
+};
+
+// Note: getLengthSync DOESN'T calculate streams length
+// As workaround one can calculate file size manually
+// and add it as knownLength option
+FormData.prototype.getLengthSync = function() {
+  var knownLength = this._overheadLength + this._valueLength;
+
+  // Don't get confused, there are 3 "internal" streams for each keyval pair
+  // so it basically checks if there is any value added to the form
+  if (this._streams.length) {
+    knownLength += this._lastBoundary().length;
+  }
+
+  // https://github.com/form-data/form-data/issues/40
+  if (!this.hasKnownLength()) {
+    // Some async length retrievers are present
+    // therefore synchronous length calculation is false.
+    // Please use getLength(callback) to get proper length
+    this._error(new Error('Cannot calculate proper length in synchronous way.'));
+  }
+
+  return knownLength;
+};
+
+// Public API to check if length of added values is known
+// https://github.com/form-data/form-data/issues/196
+// https://github.com/form-data/form-data/issues/262
+FormData.prototype.hasKnownLength = function() {
+  var hasKnownLength = true;
+
+  if (this._valuesToMeasure.length) {
+    hasKnownLength = false;
+  }
+
+  return hasKnownLength;
+};
+
+FormData.prototype.getLength = function(cb) {
+  var knownLength = this._overheadLength + this._valueLength;
+
+  if (this._streams.length) {
+    knownLength += this._lastBoundary().length;
+  }
+
+  if (!this._valuesToMeasure.length) {
+    process.nextTick(cb.bind(this, null, knownLength));
+    return;
+  }
+
+  asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
+    if (err) {
+      cb(err);
+      return;
+    }
+
+    values.forEach(function(length) {
+      knownLength += length;
+    });
+
+    cb(null, knownLength);
+  });
+};
+
+FormData.prototype.submit = function(params, cb) {
+  var request
+    , options
+    , defaults = {method: 'post'}
+    ;
+
+  // parse provided url if it's string
+  // or treat it as options object
+  if (typeof params == 'string') {
+
+    params = parseUrl(params);
+    options = populate({
+      port: params.port,
+      path: params.pathname,
+      host: params.hostname,
+      protocol: params.protocol
+    }, defaults);
+
+  // use custom params
+  } else {
+
+    options = populate(params, defaults);
+    // if no port provided use default one
+    if (!options.port) {
+      options.port = options.protocol == 'https:' ? 443 : 80;
+    }
+  }
+
+  // put that good code in getHeaders to some use
+  options.headers = this.getHeaders(params.headers);
+
+  // https if specified, fallback to http in any other case
+  if (options.protocol == 'https:') {
+    request = https.request(options);
+  } else {
+    request = http.request(options);
+  }
+
+  // get content length and fire away
+  this.getLength(function(err, length) {
+    if (err && err !== 'Unknown stream') {
+      this._error(err);
+      return;
+    }
+
+    // add content length
+    if (length) {
+      request.setHeader('Content-Length', length);
+    }
+
+    this.pipe(request);
+    if (cb) {
+      var onResponse;
+
+      var callback = function (error, responce) {
+        request.removeListener('error', callback);
+        request.removeListener('response', onResponse);
+
+        return cb.call(this, error, responce);
+      };
+
+      onResponse = callback.bind(this, null);
+
+      request.on('error', callback);
+      request.on('response', onResponse);
+    }
+  }.bind(this));
+
+  return request;
+};
+
+FormData.prototype._error = function(err) {
+  if (!this.error) {
+    this.error = err;
+    this.pause();
+    this.emit('error', err);
+  }
+};
+
+FormData.prototype.toString = function () {
+  return '[object FormData]';
+};
+
+
+/***/ }),
+
+/***/ 85954:
+/***/ ((module) => {
+
+// populates missing values
+module.exports = function(dst, src) {
+
+  Object.keys(src).forEach(function(prop)
+  {
+    dst[prop] = dst[prop] || src[prop];
+  });
+
+  return dst;
+};
+
+
+/***/ }),
+
+/***/ 39863:
+/***/ (function(module) {
+
+/*
+* loglevel - https://github.com/pimterry/loglevel
+*
+* Copyright (c) 2013 Tim Perry
+* Licensed under the MIT license.
+*/
+(function (root, definition) {
+    "use strict";
+    if (typeof define === 'function' && define.amd) {
+        define(definition);
+    } else if ( true && module.exports) {
+        module.exports = definition();
+    } else {
+        root.log = definition();
+    }
+}(this, function () {
+    "use strict";
+
+    // Slightly dubious tricks to cut down minimized file size
+    var noop = function() {};
+    var undefinedType = "undefined";
+    var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (
+        /Trident\/|MSIE /.test(window.navigator.userAgent)
+    );
+
+    var logMethods = [
+        "trace",
+        "debug",
+        "info",
+        "warn",
+        "error"
+    ];
+
+    // Cross-browser bind equivalent that works at least back to IE6
+    function bindMethod(obj, methodName) {
+        var method = obj[methodName];
+        if (typeof method.bind === 'function') {
+            return method.bind(obj);
+        } else {
+            try {
+                return Function.prototype.bind.call(method, obj);
+            } catch (e) {
+                // Missing bind shim or IE8 + Modernizr, fallback to wrapping
+                return function() {
+                    return Function.prototype.apply.apply(method, [obj, arguments]);
+                };
+            }
+        }
+    }
+
+    // Trace() doesn't print the message in IE, so for that case we need to wrap it
+    function traceForIE() {
+        if (console.log) {
+            if (console.log.apply) {
+                console.log.apply(console, arguments);
+            } else {
+                // In old IE, native console methods themselves don't have apply().
+                Function.prototype.apply.apply(console.log, [console, arguments]);
+            }
+        }
+        if (console.trace) console.trace();
+    }
+
+    // Build the best logging method possible for this env
+    // Wherever possible we want to bind, not wrap, to preserve stack traces
+    function realMethod(methodName) {
+        if (methodName === 'debug') {
+            methodName = 'log';
+        }
+
+        if (typeof console === undefinedType) {
+            return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
+        } else if (methodName === 'trace' && isIE) {
+            return traceForIE;
+        } else if (console[methodName] !== undefined) {
+            return bindMethod(console, methodName);
+        } else if (console.log !== undefined) {
+            return bindMethod(console, 'log');
+        } else {
+            return noop;
+        }
+    }
+
+    // These private functions always need `this` to be set properly
+
+    function replaceLoggingMethods(level, loggerName) {
+        /*jshint validthis:true */
+        for (var i = 0; i < logMethods.length; i++) {
+            var methodName = logMethods[i];
+            this[methodName] = (i < level) ?
+                noop :
+                this.methodFactory(methodName, level, loggerName);
+        }
+
+        // Define log.log as an alias for log.debug
+        this.log = this.debug;
+    }
+
+    // In old IE versions, the console isn't present until you first open it.
+    // We build realMethod() replacements here that regenerate logging methods
+    function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {
+        return function () {
+            if (typeof console !== undefinedType) {
+                replaceLoggingMethods.call(this, level, loggerName);
+                this[methodName].apply(this, arguments);
+            }
+        };
+    }
+
+    // By default, we use closely bound real methods wherever possible, and
+    // otherwise we wait for a console to appear, and then try again.
+    function defaultMethodFactory(methodName, level, loggerName) {
+        /*jshint validthis:true */
+        return realMethod(methodName) ||
+               enableLoggingWhenConsoleArrives.apply(this, arguments);
+    }
+
+    function Logger(name, defaultLevel, factory) {
+      var self = this;
+      var currentLevel;
+      defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
+
+      var storageKey = "loglevel";
+      if (typeof name === "string") {
+        storageKey += ":" + name;
+      } else if (typeof name === "symbol") {
+        storageKey = undefined;
+      }
+
+      function persistLevelIfPossible(levelNum) {
+          var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
+
+          if (typeof window === undefinedType || !storageKey) return;
+
+          // Use localStorage if available
+          try {
+              window.localStorage[storageKey] = levelName;
+              return;
+          } catch (ignore) {}
+
+          // Use session cookie as fallback
+          try {
+              window.document.cookie =
+                encodeURIComponent(storageKey) + "=" + levelName + ";";
+          } catch (ignore) {}
+      }
+
+      function getPersistedLevel() {
+          var storedLevel;
+
+          if (typeof window === undefinedType || !storageKey) return;
+
+          try {
+              storedLevel = window.localStorage[storageKey];
+          } catch (ignore) {}
+
+          // Fallback to cookies if local storage gives us nothing
+          if (typeof storedLevel === undefinedType) {
+              try {
+                  var cookie = window.document.cookie;
+                  var location = cookie.indexOf(
+                      encodeURIComponent(storageKey) + "=");
+                  if (location !== -1) {
+                      storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];
+                  }
+              } catch (ignore) {}
+          }
+
+          // If the stored level is not valid, treat it as if nothing was stored.
+          if (self.levels[storedLevel] === undefined) {
+              storedLevel = undefined;
+          }
+
+          return storedLevel;
+      }
+
+      function clearPersistedLevel() {
+          if (typeof window === undefinedType || !storageKey) return;
+
+          // Use localStorage if available
+          try {
+              window.localStorage.removeItem(storageKey);
+              return;
+          } catch (ignore) {}
+
+          // Use session cookie as fallback
+          try {
+              window.document.cookie =
+                encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
+          } catch (ignore) {}
+      }
+
+      /*
+       *
+       * Public logger API - see https://github.com/pimterry/loglevel for details
+       *
+       */
+
+      self.name = name;
+
+      self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3,
+          "ERROR": 4, "SILENT": 5};
+
+      self.methodFactory = factory || defaultMethodFactory;
+
+      self.getLevel = function () {
+          return currentLevel;
+      };
+
+      self.setLevel = function (level, persist) {
+          if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
+              level = self.levels[level.toUpperCase()];
+          }
+          if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
+              currentLevel = level;
+              if (persist !== false) {  // defaults to true
+                  persistLevelIfPossible(level);
+              }
+              replaceLoggingMethods.call(self, level, name);
+              if (typeof console === undefinedType && level < self.levels.SILENT) {
+                  return "No console available for logging";
+              }
+          } else {
+              throw "log.setLevel() called with invalid level: " + level;
+          }
+      };
+
+      self.setDefaultLevel = function (level) {
+          defaultLevel = level;
+          if (!getPersistedLevel()) {
+              self.setLevel(level, false);
+          }
+      };
+
+      self.resetLevel = function () {
+          self.setLevel(defaultLevel, false);
+          clearPersistedLevel();
+      };
+
+      self.enableAll = function(persist) {
+          self.setLevel(self.levels.TRACE, persist);
+      };
+
+      self.disableAll = function(persist) {
+          self.setLevel(self.levels.SILENT, persist);
+      };
+
+      // Initialize with the right level
+      var initialLevel = getPersistedLevel();
+      if (initialLevel == null) {
+          initialLevel = defaultLevel;
+      }
+      self.setLevel(initialLevel, false);
+    }
+
+    /*
+     *
+     * Top-level API
+     *
+     */
+
+    var defaultLogger = new Logger();
+
+    var _loggersByName = {};
+    defaultLogger.getLogger = function getLogger(name) {
+        if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
+          throw new TypeError("You must supply a name when creating a logger.");
+        }
+
+        var logger = _loggersByName[name];
+        if (!logger) {
+          logger = _loggersByName[name] = new Logger(
+            name, defaultLogger.getLevel(), defaultLogger.methodFactory);
+        }
+        return logger;
+    };
+
+    // Grab the current global log variable in case of overwrite
+    var _log = (typeof window !== undefinedType) ? window.log : undefined;
+    defaultLogger.noConflict = function() {
+        if (typeof window !== undefinedType &&
+               window.log === defaultLogger) {
+            window.log = _log;
+        }
+
+        return defaultLogger;
+    };
+
+    defaultLogger.getLoggers = function getLoggers() {
+        return _loggersByName;
+    };
+
+    // ES6 default export, for compatibility
+    defaultLogger['default'] = defaultLogger;
+
+    return defaultLogger;
+}));
+
+
+/***/ }),
+
+/***/ 87707:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+/*!
+ * mime-db
+ * Copyright(c) 2014 Jonathan Ong
+ * Copyright(c) 2015-2022 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+/**
+ * Module exports.
+ */
+
+module.exports = __webpack_require__(54558)
+
+
+/***/ }),
+
+/***/ 77751:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+/*!
+ * mime-types
+ * Copyright(c) 2014 Jonathan Ong
+ * Copyright(c) 2015 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+
+
+/**
+ * Module dependencies.
+ * @private
+ */
+
+var db = __webpack_require__(87707)
+var extname = (__webpack_require__(71017).extname)
+
+/**
+ * Module variables.
+ * @private
+ */
+
+var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/
+var TEXT_TYPE_REGEXP = /^text\//i
+
+/**
+ * Module exports.
+ * @public
+ */
+
+exports.charset = charset
+exports.charsets = { lookup: charset }
+exports.contentType = contentType
+exports.extension = extension
+exports.extensions = Object.create(null)
+exports.lookup = lookup
+exports.types = Object.create(null)
+
+// Populate the extensions/types maps
+populateMaps(exports.extensions, exports.types)
+
+/**
+ * Get the default charset for a MIME type.
+ *
+ * @param {string} type
+ * @return {boolean|string}
+ */
+
+function charset (type) {
+  if (!type || typeof type !== 'string') {
+    return false
+  }
+
+  // TODO: use media-typer
+  var match = EXTRACT_TYPE_REGEXP.exec(type)
+  var mime = match && db[match[1].toLowerCase()]
+
+  if (mime && mime.charset) {
+    return mime.charset
+  }
+
+  // default text/* to utf-8
+  if (match && TEXT_TYPE_REGEXP.test(match[1])) {
+    return 'UTF-8'
+  }
+
+  return false
+}
+
+/**
+ * Create a full Content-Type header given a MIME type or extension.
+ *
+ * @param {string} str
+ * @return {boolean|string}
+ */
+
+function contentType (str) {
+  // TODO: should this even be in this module?
+  if (!str || typeof str !== 'string') {
+    return false
+  }
+
+  var mime = str.indexOf('/') === -1
+    ? exports.lookup(str)
+    : str
+
+  if (!mime) {
+    return false
+  }
+
+  // TODO: use content-type or other module
+  if (mime.indexOf('charset') === -1) {
+    var charset = exports.charset(mime)
+    if (charset) mime += '; charset=' + charset.toLowerCase()
+  }
+
+  return mime
+}
+
+/**
+ * Get the default extension for a MIME type.
+ *
+ * @param {string} type
+ * @return {boolean|string}
+ */
+
+function extension (type) {
+  if (!type || typeof type !== 'string') {
+    return false
+  }
+
+  // TODO: use media-typer
+  var match = EXTRACT_TYPE_REGEXP.exec(type)
+
+  // get extensions
+  var exts = match && exports.extensions[match[1].toLowerCase()]
+
+  if (!exts || !exts.length) {
+    return false
+  }
+
+  return exts[0]
+}
+
+/**
+ * Lookup the MIME type for a file path/extension.
+ *
+ * @param {string} path
+ * @return {boolean|string}
+ */
+
+function lookup (path) {
+  if (!path || typeof path !== 'string') {
+    return false
+  }
+
+  // get the extension ("ext" or ".ext" or full path)
+  var extension = extname('x.' + path)
+    .toLowerCase()
+    .substr(1)
+
+  if (!extension) {
+    return false
+  }
+
+  return exports.types[extension] || false
+}
+
+/**
+ * Populate the extensions and types maps.
+ * @private
+ */
+
+function populateMaps (extensions, types) {
+  // source preference (least -> most)
+  var preference = ['nginx', 'apache', undefined, 'iana']
+
+  Object.keys(db).forEach(function forEachMimeType (type) {
+    var mime = db[type]
+    var exts = mime.extensions
+
+    if (!exts || !exts.length) {
+      return
+    }
+
+    // mime -> extensions
+    extensions[type] = exts
+
+    // extension -> mime
+    for (var i = 0; i < exts.length; i++) {
+      var extension = exts[i]
+
+      if (types[extension]) {
+        var from = preference.indexOf(db[types[extension]].source)
+        var to = preference.indexOf(mime.source)
+
+        if (types[extension] !== 'application/octet-stream' &&
+          (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {
+          // skip the remapping
+          continue
+        }
+      }
+
+      // set the extension -> mime
+      types[extension] = type
+    }
+  })
+}
+
+
+/***/ }),
+
+/***/ 12808:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+// Top level file is just a mixin of submodules & constants
+
+
+const { Deflate, deflate, deflateRaw, gzip } = __webpack_require__(69067);
+
+const { Inflate, inflate, inflateRaw, ungzip } = __webpack_require__(37448);
+
+const constants = __webpack_require__(56009);
+
+module.exports.Deflate = Deflate;
+module.exports.deflate = deflate;
+module.exports.deflateRaw = deflateRaw;
+module.exports.gzip = gzip;
+module.exports.Inflate = Inflate;
+module.exports.inflate = inflate;
+module.exports.inflateRaw = inflateRaw;
+module.exports.ungzip = ungzip;
+module.exports.constants = constants;
+
+
+/***/ }),
+
+/***/ 69067:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+
+const zlib_deflate = __webpack_require__(70471);
+const utils        = __webpack_require__(81807);
+const strings      = __webpack_require__(59224);
+const msg          = __webpack_require__(42724);
+const ZStream      = __webpack_require__(84463);
+
+const toString = Object.prototype.toString;
+
+/* Public constants ==========================================================*/
+/* ===========================================================================*/
+
+const {
+  Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH,
+  Z_OK, Z_STREAM_END,
+  Z_DEFAULT_COMPRESSION,
+  Z_DEFAULT_STRATEGY,
+  Z_DEFLATED
+} = __webpack_require__(56009);
+
+/* ===========================================================================*/
+
+
+/**
+ * class Deflate
+ *
+ * Generic JS-style wrapper for zlib calls. If you don't need
+ * streaming behaviour - use more simple functions: [[deflate]],
+ * [[deflateRaw]] and [[gzip]].
+ **/
+
+/* internal
+ * Deflate.chunks -> Array
+ *
+ * Chunks of output data, if [[Deflate#onData]] not overridden.
+ **/
+
+/**
+ * Deflate.result -> Uint8Array
+ *
+ * Compressed result, generated by default [[Deflate#onData]]
+ * and [[Deflate#onEnd]] handlers. Filled after you push last chunk
+ * (call [[Deflate#push]] with `Z_FINISH` / `true` param).
+ **/
+
+/**
+ * Deflate.err -> Number
+ *
+ * Error code after deflate finished. 0 (Z_OK) on success.
+ * You will not need it in real life, because deflate errors
+ * are possible only on wrong options or bad `onData` / `onEnd`
+ * custom handlers.
+ **/
+
+/**
+ * Deflate.msg -> String
+ *
+ * Error message, if [[Deflate.err]] != 0
+ **/
+
+
+/**
+ * new Deflate(options)
+ * - options (Object): zlib deflate options.
+ *
+ * Creates new deflator instance with specified params. Throws exception
+ * on bad params. Supported options:
+ *
+ * - `level`
+ * - `windowBits`
+ * - `memLevel`
+ * - `strategy`
+ * - `dictionary`
+ *
+ * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
+ * for more information on these.
+ *
+ * Additional options, for internal needs:
+ *
+ * - `chunkSize` - size of generated data chunks (16K by default)
+ * - `raw` (Boolean) - do raw deflate
+ * - `gzip` (Boolean) - create gzip wrapper
+ * - `header` (Object) - custom header for gzip
+ *   - `text` (Boolean) - true if compressed data believed to be text
+ *   - `time` (Number) - modification time, unix timestamp
+ *   - `os` (Number) - operation system code
+ *   - `extra` (Array) - array of bytes with extra data (max 65536)
+ *   - `name` (String) - file name (binary string)
+ *   - `comment` (String) - comment (binary string)
+ *   - `hcrc` (Boolean) - true if header crc should be added
+ *
+ * ##### Example:
+ *
+ * ```javascript
+ * const pako = require('pako')
+ *   , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])
+ *   , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);
+ *
+ * const deflate = new pako.Deflate({ level: 3});
+ *
+ * deflate.push(chunk1, false);
+ * deflate.push(chunk2, true);  // true -> last chunk
+ *
+ * if (deflate.err) { throw new Error(deflate.err); }
+ *
+ * console.log(deflate.result);
+ * ```
+ **/
+function Deflate(options) {
+  this.options = utils.assign({
+    level: Z_DEFAULT_COMPRESSION,
+    method: Z_DEFLATED,
+    chunkSize: 16384,
+    windowBits: 15,
+    memLevel: 8,
+    strategy: Z_DEFAULT_STRATEGY
+  }, options || {});
+
+  let opt = this.options;
+
+  if (opt.raw && (opt.windowBits > 0)) {
+    opt.windowBits = -opt.windowBits;
+  }
+
+  else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {
+    opt.windowBits += 16;
+  }
+
+  this.err    = 0;      // error code, if happens (0 = Z_OK)
+  this.msg    = '';     // error message
+  this.ended  = false;  // used to avoid multiple onEnd() calls
+  this.chunks = [];     // chunks of compressed data
+
+  this.strm = new ZStream();
+  this.strm.avail_out = 0;
+
+  let status = zlib_deflate.deflateInit2(
+    this.strm,
+    opt.level,
+    opt.method,
+    opt.windowBits,
+    opt.memLevel,
+    opt.strategy
+  );
+
+  if (status !== Z_OK) {
+    throw new Error(msg[status]);
+  }
+
+  if (opt.header) {
+    zlib_deflate.deflateSetHeader(this.strm, opt.header);
+  }
+
+  if (opt.dictionary) {
+    let dict;
+    // Convert data if needed
+    if (typeof opt.dictionary === 'string') {
+      // If we need to compress text, change encoding to utf8.
+      dict = strings.string2buf(opt.dictionary);
+    } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {
+      dict = new Uint8Array(opt.dictionary);
+    } else {
+      dict = opt.dictionary;
+    }
+
+    status = zlib_deflate.deflateSetDictionary(this.strm, dict);
+
+    if (status !== Z_OK) {
+      throw new Error(msg[status]);
+    }
+
+    this._dict_set = true;
+  }
+}
+
+/**
+ * Deflate#push(data[, flush_mode]) -> Boolean
+ * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be
+ *   converted to utf8 byte sequence.
+ * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
+ *   See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.
+ *
+ * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with
+ * new compressed chunks. Returns `true` on success. The last data block must
+ * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending
+ * buffers and call [[Deflate#onEnd]].
+ *
+ * On fail call [[Deflate#onEnd]] with error code and return false.
+ *
+ * ##### Example
+ *
+ * ```javascript
+ * push(chunk, false); // push one of data chunks
+ * ...
+ * push(chunk, true);  // push last chunk
+ * ```
+ **/
+Deflate.prototype.push = function (data, flush_mode) {
+  const strm = this.strm;
+  const chunkSize = this.options.chunkSize;
+  let status, _flush_mode;
+
+  if (this.ended) { return false; }
+
+  if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
+  else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;
+
+  // Convert data if needed
+  if (typeof data === 'string') {
+    // If we need to compress text, change encoding to utf8.
+    strm.input = strings.string2buf(data);
+  } else if (toString.call(data) === '[object ArrayBuffer]') {
+    strm.input = new Uint8Array(data);
+  } else {
+    strm.input = data;
+  }
+
+  strm.next_in = 0;
+  strm.avail_in = strm.input.length;
+
+  for (;;) {
+    if (strm.avail_out === 0) {
+      strm.output = new Uint8Array(chunkSize);
+      strm.next_out = 0;
+      strm.avail_out = chunkSize;
+    }
+
+    // Make sure avail_out > 6 to avoid repeating markers
+    if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {
+      this.onData(strm.output.subarray(0, strm.next_out));
+      strm.avail_out = 0;
+      continue;
+    }
+
+    status = zlib_deflate.deflate(strm, _flush_mode);
+
+    // Ended => flush and finish
+    if (status === Z_STREAM_END) {
+      if (strm.next_out > 0) {
+        this.onData(strm.output.subarray(0, strm.next_out));
+      }
+      status = zlib_deflate.deflateEnd(this.strm);
+      this.onEnd(status);
+      this.ended = true;
+      return status === Z_OK;
+    }
+
+    // Flush if out buffer full
+    if (strm.avail_out === 0) {
+      this.onData(strm.output);
+      continue;
+    }
+
+    // Flush if requested and has data
+    if (_flush_mode > 0 && strm.next_out > 0) {
+      this.onData(strm.output.subarray(0, strm.next_out));
+      strm.avail_out = 0;
+      continue;
+    }
+
+    if (strm.avail_in === 0) break;
+  }
+
+  return true;
+};
+
+
+/**
+ * Deflate#onData(chunk) -> Void
+ * - chunk (Uint8Array): output data.
+ *
+ * By default, stores data blocks in `chunks[]` property and glue
+ * those in `onEnd`. Override this handler, if you need another behaviour.
+ **/
+Deflate.prototype.onData = function (chunk) {
+  this.chunks.push(chunk);
+};
+
+
+/**
+ * Deflate#onEnd(status) -> Void
+ * - status (Number): deflate status. 0 (Z_OK) on success,
+ *   other if not.
+ *
+ * Called once after you tell deflate that the input stream is
+ * complete (Z_FINISH). By default - join collected chunks,
+ * free memory and fill `results` / `err` properties.
+ **/
+Deflate.prototype.onEnd = function (status) {
+  // On success - join
+  if (status === Z_OK) {
+    this.result = utils.flattenChunks(this.chunks);
+  }
+  this.chunks = [];
+  this.err = status;
+  this.msg = this.strm.msg;
+};
+
+
+/**
+ * deflate(data[, options]) -> Uint8Array
+ * - data (Uint8Array|ArrayBuffer|String): input data to compress.
+ * - options (Object): zlib deflate options.
+ *
+ * Compress `data` with deflate algorithm and `options`.
+ *
+ * Supported options are:
+ *
+ * - level
+ * - windowBits
+ * - memLevel
+ * - strategy
+ * - dictionary
+ *
+ * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
+ * for more information on these.
+ *
+ * Sugar (options):
+ *
+ * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
+ *   negative windowBits implicitly.
+ *
+ * ##### Example:
+ *
+ * ```javascript
+ * const pako = require('pako')
+ * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);
+ *
+ * console.log(pako.deflate(data));
+ * ```
+ **/
+function deflate(input, options) {
+  const deflator = new Deflate(options);
+
+  deflator.push(input, true);
+
+  // That will never happens, if you don't cheat with options :)
+  if (deflator.err) { throw deflator.msg || msg[deflator.err]; }
+
+  return deflator.result;
+}
+
+
+/**
+ * deflateRaw(data[, options]) -> Uint8Array
+ * - data (Uint8Array|ArrayBuffer|String): input data to compress.
+ * - options (Object): zlib deflate options.
+ *
+ * The same as [[deflate]], but creates raw data, without wrapper
+ * (header and adler32 crc).
+ **/
+function deflateRaw(input, options) {
+  options = options || {};
+  options.raw = true;
+  return deflate(input, options);
+}
+
+
+/**
+ * gzip(data[, options]) -> Uint8Array
+ * - data (Uint8Array|ArrayBuffer|String): input data to compress.
+ * - options (Object): zlib deflate options.
+ *
+ * The same as [[deflate]], but create gzip wrapper instead of
+ * deflate one.
+ **/
+function gzip(input, options) {
+  options = options || {};
+  options.gzip = true;
+  return deflate(input, options);
+}
+
+
+module.exports.Deflate = Deflate;
+module.exports.deflate = deflate;
+module.exports.deflateRaw = deflateRaw;
+module.exports.gzip = gzip;
+module.exports.constants = __webpack_require__(56009);
+
+
+/***/ }),
+
+/***/ 37448:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+
+const zlib_inflate = __webpack_require__(60963);
+const utils        = __webpack_require__(81807);
+const strings      = __webpack_require__(59224);
+const msg          = __webpack_require__(42724);
+const ZStream      = __webpack_require__(84463);
+const GZheader     = __webpack_require__(87784);
+
+const toString = Object.prototype.toString;
+
+/* Public constants ==========================================================*/
+/* ===========================================================================*/
+
+const {
+  Z_NO_FLUSH, Z_FINISH,
+  Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR
+} = __webpack_require__(56009);
+
+/* ===========================================================================*/
+
+
+/**
+ * class Inflate
+ *
+ * Generic JS-style wrapper for zlib calls. If you don't need
+ * streaming behaviour - use more simple functions: [[inflate]]
+ * and [[inflateRaw]].
+ **/
+
+/* internal
+ * inflate.chunks -> Array
+ *
+ * Chunks of output data, if [[Inflate#onData]] not overridden.
+ **/
+
+/**
+ * Inflate.result -> Uint8Array|String
+ *
+ * Uncompressed result, generated by default [[Inflate#onData]]
+ * and [[Inflate#onEnd]] handlers. Filled after you push last chunk
+ * (call [[Inflate#push]] with `Z_FINISH` / `true` param).
+ **/
+
+/**
+ * Inflate.err -> Number
+ *
+ * Error code after inflate finished. 0 (Z_OK) on success.
+ * Should be checked if broken data possible.
+ **/
+
+/**
+ * Inflate.msg -> String
+ *
+ * Error message, if [[Inflate.err]] != 0
+ **/
+
+
+/**
+ * new Inflate(options)
+ * - options (Object): zlib inflate options.
+ *
+ * Creates new inflator instance with specified params. Throws exception
+ * on bad params. Supported options:
+ *
+ * - `windowBits`
+ * - `dictionary`
+ *
+ * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
+ * for more information on these.
+ *
+ * Additional options, for internal needs:
+ *
+ * - `chunkSize` - size of generated data chunks (16K by default)
+ * - `raw` (Boolean) - do raw inflate
+ * - `to` (String) - if equal to 'string', then result will be converted
+ *   from utf8 to utf16 (javascript) string. When string output requested,
+ *   chunk length can differ from `chunkSize`, depending on content.
+ *
+ * By default, when no options set, autodetect deflate/gzip data format via
+ * wrapper header.
+ *
+ * ##### Example:
+ *
+ * ```javascript
+ * const pako = require('pako')
+ * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])
+ * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);
+ *
+ * const inflate = new pako.Inflate({ level: 3});
+ *
+ * inflate.push(chunk1, false);
+ * inflate.push(chunk2, true);  // true -> last chunk
+ *
+ * if (inflate.err) { throw new Error(inflate.err); }
+ *
+ * console.log(inflate.result);
+ * ```
+ **/
+function Inflate(options) {
+  this.options = utils.assign({
+    chunkSize: 1024 * 64,
+    windowBits: 15,
+    to: ''
+  }, options || {});
+
+  const opt = this.options;
+
+  // Force window size for `raw` data, if not set directly,
+  // because we have no header for autodetect.
+  if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {
+    opt.windowBits = -opt.windowBits;
+    if (opt.windowBits === 0) { opt.windowBits = -15; }
+  }
+
+  // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate
+  if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&
+      !(options && options.windowBits)) {
+    opt.windowBits += 32;
+  }
+
+  // Gzip header has no info about windows size, we can do autodetect only
+  // for deflate. So, if window size not set, force it to max when gzip possible
+  if ((opt.windowBits > 15) && (opt.windowBits < 48)) {
+    // bit 3 (16) -> gzipped data
+    // bit 4 (32) -> autodetect gzip/deflate
+    if ((opt.windowBits & 15) === 0) {
+      opt.windowBits |= 15;
+    }
+  }
+
+  this.err    = 0;      // error code, if happens (0 = Z_OK)
+  this.msg    = '';     // error message
+  this.ended  = false;  // used to avoid multiple onEnd() calls
+  this.chunks = [];     // chunks of compressed data
+
+  this.strm   = new ZStream();
+  this.strm.avail_out = 0;
+
+  let status  = zlib_inflate.inflateInit2(
+    this.strm,
+    opt.windowBits
+  );
+
+  if (status !== Z_OK) {
+    throw new Error(msg[status]);
+  }
+
+  this.header = new GZheader();
+
+  zlib_inflate.inflateGetHeader(this.strm, this.header);
+
+  // Setup dictionary
+  if (opt.dictionary) {
+    // Convert data if needed
+    if (typeof opt.dictionary === 'string') {
+      opt.dictionary = strings.string2buf(opt.dictionary);
+    } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {
+      opt.dictionary = new Uint8Array(opt.dictionary);
+    }
+    if (opt.raw) { //In raw mode we need to set the dictionary early
+      status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);
+      if (status !== Z_OK) {
+        throw new Error(msg[status]);
+      }
+    }
+  }
+}
+
+/**
+ * Inflate#push(data[, flush_mode]) -> Boolean
+ * - data (Uint8Array|ArrayBuffer): input data
+ * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE
+ *   flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,
+ *   `true` means Z_FINISH.
+ *
+ * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with
+ * new output chunks. Returns `true` on success. If end of stream detected,
+ * [[Inflate#onEnd]] will be called.
+ *
+ * `flush_mode` is not needed for normal operation, because end of stream
+ * detected automatically. You may try to use it for advanced things, but
+ * this functionality was not tested.
+ *
+ * On fail call [[Inflate#onEnd]] with error code and return false.
+ *
+ * ##### Example
+ *
+ * ```javascript
+ * push(chunk, false); // push one of data chunks
+ * ...
+ * push(chunk, true);  // push last chunk
+ * ```
+ **/
+Inflate.prototype.push = function (data, flush_mode) {
+  const strm = this.strm;
+  const chunkSize = this.options.chunkSize;
+  const dictionary = this.options.dictionary;
+  let status, _flush_mode, last_avail_out;
+
+  if (this.ended) return false;
+
+  if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
+  else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;
+
+  // Convert data if needed
+  if (toString.call(data) === '[object ArrayBuffer]') {
+    strm.input = new Uint8Array(data);
+  } else {
+    strm.input = data;
+  }
+
+  strm.next_in = 0;
+  strm.avail_in = strm.input.length;
+
+  for (;;) {
+    if (strm.avail_out === 0) {
+      strm.output = new Uint8Array(chunkSize);
+      strm.next_out = 0;
+      strm.avail_out = chunkSize;
+    }
+
+    status = zlib_inflate.inflate(strm, _flush_mode);
+
+    if (status === Z_NEED_DICT && dictionary) {
+      status = zlib_inflate.inflateSetDictionary(strm, dictionary);
+
+      if (status === Z_OK) {
+        status = zlib_inflate.inflate(strm, _flush_mode);
+      } else if (status === Z_DATA_ERROR) {
+        // Replace code with more verbose
+        status = Z_NEED_DICT;
+      }
+    }
+
+    // Skip snyc markers if more data follows and not raw mode
+    while (strm.avail_in > 0 &&
+           status === Z_STREAM_END &&
+           strm.state.wrap > 0 &&
+           data[strm.next_in] !== 0)
+    {
+      zlib_inflate.inflateReset(strm);
+      status = zlib_inflate.inflate(strm, _flush_mode);
+    }
+
+    switch (status) {
+      case Z_STREAM_ERROR:
+      case Z_DATA_ERROR:
+      case Z_NEED_DICT:
+      case Z_MEM_ERROR:
+        this.onEnd(status);
+        this.ended = true;
+        return false;
+    }
+
+    // Remember real `avail_out` value, because we may patch out buffer content
+    // to align utf8 strings boundaries.
+    last_avail_out = strm.avail_out;
+
+    if (strm.next_out) {
+      if (strm.avail_out === 0 || status === Z_STREAM_END) {
+
+        if (this.options.to === 'string') {
+
+          let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);
+
+          let tail = strm.next_out - next_out_utf8;
+          let utf8str = strings.buf2string(strm.output, next_out_utf8);
+
+          // move tail & realign counters
+          strm.next_out = tail;
+          strm.avail_out = chunkSize - tail;
+          if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);
+
+          this.onData(utf8str);
+
+        } else {
+          this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));
+        }
+      }
+    }
+
+    // Must repeat iteration if out buffer is full
+    if (status === Z_OK && last_avail_out === 0) continue;
+
+    // Finalize if end of stream reached.
+    if (status === Z_STREAM_END) {
+      status = zlib_inflate.inflateEnd(this.strm);
+      this.onEnd(status);
+      this.ended = true;
+      return true;
+    }
+
+    if (strm.avail_in === 0) break;
+  }
+
+  return true;
+};
+
+
+/**
+ * Inflate#onData(chunk) -> Void
+ * - chunk (Uint8Array|String): output data. When string output requested,
+ *   each chunk will be string.
+ *
+ * By default, stores data blocks in `chunks[]` property and glue
+ * those in `onEnd`. Override this handler, if you need another behaviour.
+ **/
+Inflate.prototype.onData = function (chunk) {
+  this.chunks.push(chunk);
+};
+
+
+/**
+ * Inflate#onEnd(status) -> Void
+ * - status (Number): inflate status. 0 (Z_OK) on success,
+ *   other if not.
+ *
+ * Called either after you tell inflate that the input stream is
+ * complete (Z_FINISH). By default - join collected chunks,
+ * free memory and fill `results` / `err` properties.
+ **/
+Inflate.prototype.onEnd = function (status) {
+  // On success - join
+  if (status === Z_OK) {
+    if (this.options.to === 'string') {
+      this.result = this.chunks.join('');
+    } else {
+      this.result = utils.flattenChunks(this.chunks);
+    }
+  }
+  this.chunks = [];
+  this.err = status;
+  this.msg = this.strm.msg;
+};
+
+
+/**
+ * inflate(data[, options]) -> Uint8Array|String
+ * - data (Uint8Array|ArrayBuffer): input data to decompress.
+ * - options (Object): zlib inflate options.
+ *
+ * Decompress `data` with inflate/ungzip and `options`. Autodetect
+ * format via wrapper header by default. That's why we don't provide
+ * separate `ungzip` method.
+ *
+ * Supported options are:
+ *
+ * - windowBits
+ *
+ * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)
+ * for more information.
+ *
+ * Sugar (options):
+ *
+ * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
+ *   negative windowBits implicitly.
+ * - `to` (String) - if equal to 'string', then result will be converted
+ *   from utf8 to utf16 (javascript) string. When string output requested,
+ *   chunk length can differ from `chunkSize`, depending on content.
+ *
+ *
+ * ##### Example:
+ *
+ * ```javascript
+ * const pako = require('pako');
+ * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));
+ * let output;
+ *
+ * try {
+ *   output = pako.inflate(input);
+ * } catch (err) {
+ *   console.log(err);
+ * }
+ * ```
+ **/
+function inflate(input, options) {
+  const inflator = new Inflate(options);
+
+  inflator.push(input);
+
+  // That will never happens, if you don't cheat with options :)
+  if (inflator.err) throw inflator.msg || msg[inflator.err];
+
+  return inflator.result;
+}
+
+
+/**
+ * inflateRaw(data[, options]) -> Uint8Array|String
+ * - data (Uint8Array|ArrayBuffer): input data to decompress.
+ * - options (Object): zlib inflate options.
+ *
+ * The same as [[inflate]], but creates raw data, without wrapper
+ * (header and adler32 crc).
+ **/
+function inflateRaw(input, options) {
+  options = options || {};
+  options.raw = true;
+  return inflate(input, options);
+}
+
+
+/**
+ * ungzip(data[, options]) -> Uint8Array|String
+ * - data (Uint8Array|ArrayBuffer): input data to decompress.
+ * - options (Object): zlib inflate options.
+ *
+ * Just shortcut to [[inflate]], because it autodetects format
+ * by header.content. Done for convenience.
+ **/
+
+
+module.exports.Inflate = Inflate;
+module.exports.inflate = inflate;
+module.exports.inflateRaw = inflateRaw;
+module.exports.ungzip = inflate;
+module.exports.constants = __webpack_require__(56009);
+
+
+/***/ }),
+
+/***/ 81807:
+/***/ ((module) => {
+
+"use strict";
+
+
+
+const _has = (obj, key) => {
+  return Object.prototype.hasOwnProperty.call(obj, key);
+};
+
+module.exports.assign = function (obj /*from1, from2, from3, ...*/) {
+  const sources = Array.prototype.slice.call(arguments, 1);
+  while (sources.length) {
+    const source = sources.shift();
+    if (!source) { continue; }
+
+    if (typeof source !== 'object') {
+      throw new TypeError(source + 'must be non-object');
+    }
+
+    for (const p in source) {
+      if (_has(source, p)) {
+        obj[p] = source[p];
+      }
+    }
+  }
+
+  return obj;
+};
+
+
+// Join array of chunks to single array.
+module.exports.flattenChunks = (chunks) => {
+  // calculate data length
+  let len = 0;
+
+  for (let i = 0, l = chunks.length; i < l; i++) {
+    len += chunks[i].length;
+  }
+
+  // join chunks
+  const result = new Uint8Array(len);
+
+  for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {
+    let chunk = chunks[i];
+    result.set(chunk, pos);
+    pos += chunk.length;
+  }
+
+  return result;
+};
+
+
+/***/ }),
+
+/***/ 59224:
+/***/ ((module) => {
+
+"use strict";
+// String encode/decode helpers
+
+
+
+// Quick check if we can use fast array to bin string conversion
+//
+// - apply(Array) can fail on Android 2.2
+// - apply(Uint8Array) can fail on iOS 5.1 Safari
+//
+let STR_APPLY_UIA_OK = true;
+
+try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }
+
+
+// Table with utf8 lengths (calculated by first byte of sequence)
+// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
+// because max possible codepoint is 0x10ffff
+const _utf8len = new Uint8Array(256);
+for (let q = 0; q < 256; q++) {
+  _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
+}
+_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
+
+
+// convert string to array (typed, when possible)
+module.exports.string2buf = (str) => {
+  if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {
+    return new TextEncoder().encode(str);
+  }
+
+  let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
+
+  // count binary size
+  for (m_pos = 0; m_pos < str_len; m_pos++) {
+    c = str.charCodeAt(m_pos);
+    if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
+      c2 = str.charCodeAt(m_pos + 1);
+      if ((c2 & 0xfc00) === 0xdc00) {
+        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
+        m_pos++;
+      }
+    }
+    buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
+  }
+
+  // allocate buffer
+  buf = new Uint8Array(buf_len);
+
+  // convert
+  for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
+    c = str.charCodeAt(m_pos);
+    if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
+      c2 = str.charCodeAt(m_pos + 1);
+      if ((c2 & 0xfc00) === 0xdc00) {
+        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
+        m_pos++;
+      }
+    }
+    if (c < 0x80) {
+      /* one byte */
+      buf[i++] = c;
+    } else if (c < 0x800) {
+      /* two bytes */
+      buf[i++] = 0xC0 | (c >>> 6);
+      buf[i++] = 0x80 | (c & 0x3f);
+    } else if (c < 0x10000) {
+      /* three bytes */
+      buf[i++] = 0xE0 | (c >>> 12);
+      buf[i++] = 0x80 | (c >>> 6 & 0x3f);
+      buf[i++] = 0x80 | (c & 0x3f);
+    } else {
+      /* four bytes */
+      buf[i++] = 0xf0 | (c >>> 18);
+      buf[i++] = 0x80 | (c >>> 12 & 0x3f);
+      buf[i++] = 0x80 | (c >>> 6 & 0x3f);
+      buf[i++] = 0x80 | (c & 0x3f);
+    }
+  }
+
+  return buf;
+};
+
+// Helper
+const buf2binstring = (buf, len) => {
+  // On Chrome, the arguments in a function call that are allowed is `65534`.
+  // If the length of the buffer is smaller than that, we can use this optimization,
+  // otherwise we will take a slower path.
+  if (len < 65534) {
+    if (buf.subarray && STR_APPLY_UIA_OK) {
+      return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));
+    }
+  }
+
+  let result = '';
+  for (let i = 0; i < len; i++) {
+    result += String.fromCharCode(buf[i]);
+  }
+  return result;
+};
+
+
+// convert array to string
+module.exports.buf2string = (buf, max) => {
+  const len = max || buf.length;
+
+  if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {
+    return new TextDecoder().decode(buf.subarray(0, max));
+  }
+
+  let i, out;
+
+  // Reserve max possible length (2 words per char)
+  // NB: by unknown reasons, Array is significantly faster for
+  //     String.fromCharCode.apply than Uint16Array.
+  const utf16buf = new Array(len * 2);
+
+  for (out = 0, i = 0; i < len;) {
+    let c = buf[i++];
+    // quick process ascii
+    if (c < 0x80) { utf16buf[out++] = c; continue; }
+
+    let c_len = _utf8len[c];
+    // skip 5 & 6 byte codes
+    if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }
+
+    // apply mask on first byte
+    c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
+    // join the rest
+    while (c_len > 1 && i < len) {
+      c = (c << 6) | (buf[i++] & 0x3f);
+      c_len--;
+    }
+
+    // terminated by end of string?
+    if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
+
+    if (c < 0x10000) {
+      utf16buf[out++] = c;
+    } else {
+      c -= 0x10000;
+      utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
+      utf16buf[out++] = 0xdc00 | (c & 0x3ff);
+    }
+  }
+
+  return buf2binstring(utf16buf, out);
+};
+
+
+// Calculate max possible position in utf8 buffer,
+// that will not break sequence. If that's not possible
+// - (very small limits) return max size as is.
+//
+// buf[] - utf8 bytes array
+// max   - length limit (mandatory);
+module.exports.utf8border = (buf, max) => {
+
+  max = max || buf.length;
+  if (max > buf.length) { max = buf.length; }
+
+  // go back from last position, until start of sequence found
+  let pos = max - 1;
+  while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
+
+  // Very small and broken sequence,
+  // return max, because we should return something anyway.
+  if (pos < 0) { return max; }
+
+  // If we came to start of buffer - that means buffer is too small,
+  // return max too.
+  if (pos === 0) { return max; }
+
+  return (pos + _utf8len[buf[pos]] > max) ? pos : max;
+};
+
+
+/***/ }),
+
+/***/ 13950:
+/***/ ((module) => {
+
+"use strict";
+
+
+// Note: adler32 takes 12% for level 0 and 2% for level 6.
+// It isn't worth it to make additional optimizations as in original.
+// Small size is preferable.
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+const adler32 = (adler, buf, len, pos) => {
+  let s1 = (adler & 0xffff) |0,
+      s2 = ((adler >>> 16) & 0xffff) |0,
+      n = 0;
+
+  while (len !== 0) {
+    // Set limit ~ twice less than 5552, to keep
+    // s2 in 31-bits, because we force signed ints.
+    // in other case %= will fail.
+    n = len > 2000 ? 2000 : len;
+    len -= n;
+
+    do {
+      s1 = (s1 + buf[pos++]) |0;
+      s2 = (s2 + s1) |0;
+    } while (--n);
+
+    s1 %= 65521;
+    s2 %= 65521;
+  }
+
+  return (s1 | (s2 << 16)) |0;
+};
+
+
+module.exports = adler32;
+
+
+/***/ }),
+
+/***/ 56009:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+module.exports = {
+
+  /* Allowed flush values; see deflate() and inflate() below for details */
+  Z_NO_FLUSH:         0,
+  Z_PARTIAL_FLUSH:    1,
+  Z_SYNC_FLUSH:       2,
+  Z_FULL_FLUSH:       3,
+  Z_FINISH:           4,
+  Z_BLOCK:            5,
+  Z_TREES:            6,
+
+  /* Return codes for the compression/decompression functions. Negative values
+  * are errors, positive values are used for special but normal events.
+  */
+  Z_OK:               0,
+  Z_STREAM_END:       1,
+  Z_NEED_DICT:        2,
+  Z_ERRNO:           -1,
+  Z_STREAM_ERROR:    -2,
+  Z_DATA_ERROR:      -3,
+  Z_MEM_ERROR:       -4,
+  Z_BUF_ERROR:       -5,
+  //Z_VERSION_ERROR: -6,
+
+  /* compression levels */
+  Z_NO_COMPRESSION:         0,
+  Z_BEST_SPEED:             1,
+  Z_BEST_COMPRESSION:       9,
+  Z_DEFAULT_COMPRESSION:   -1,
+
+
+  Z_FILTERED:               1,
+  Z_HUFFMAN_ONLY:           2,
+  Z_RLE:                    3,
+  Z_FIXED:                  4,
+  Z_DEFAULT_STRATEGY:       0,
+
+  /* Possible values of the data_type field (though see inflate()) */
+  Z_BINARY:                 0,
+  Z_TEXT:                   1,
+  //Z_ASCII:                1, // = Z_TEXT (deprecated)
+  Z_UNKNOWN:                2,
+
+  /* The deflate compression method */
+  Z_DEFLATED:               8
+  //Z_NULL:                 null // Use -1 or null inline, depending on var type
+};
+
+
+/***/ }),
+
+/***/ 24490:
+/***/ ((module) => {
+
+"use strict";
+
+
+// Note: we can't get significant speed boost here.
+// So write code to minimize size - no pregenerated tables
+// and array tools dependencies.
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+// Use ordinary array, since untyped makes no boost here
+const makeTable = () => {
+  let c, table = [];
+
+  for (var n = 0; n < 256; n++) {
+    c = n;
+    for (var k = 0; k < 8; k++) {
+      c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
+    }
+    table[n] = c;
+  }
+
+  return table;
+};
+
+// Create table on load. Just 255 signed longs. Not a problem.
+const crcTable = new Uint32Array(makeTable());
+
+
+const crc32 = (crc, buf, len, pos) => {
+  const t = crcTable;
+  const end = pos + len;
+
+  crc ^= -1;
+
+  for (let i = pos; i < end; i++) {
+    crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
+  }
+
+  return (crc ^ (-1)); // >>> 0;
+};
+
+
+module.exports = crc32;
+
+
+/***/ }),
+
+/***/ 70471:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+const { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = __webpack_require__(33928);
+const adler32 = __webpack_require__(13950);
+const crc32   = __webpack_require__(24490);
+const msg     = __webpack_require__(42724);
+
+/* Public constants ==========================================================*/
+/* ===========================================================================*/
+
+const {
+  Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_FULL_FLUSH, Z_FINISH, Z_BLOCK,
+  Z_OK, Z_STREAM_END, Z_STREAM_ERROR, Z_DATA_ERROR, Z_BUF_ERROR,
+  Z_DEFAULT_COMPRESSION,
+  Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY,
+  Z_UNKNOWN,
+  Z_DEFLATED
+} = __webpack_require__(56009);
+
+/*============================================================================*/
+
+
+const MAX_MEM_LEVEL = 9;
+/* Maximum value for memLevel in deflateInit2 */
+const MAX_WBITS = 15;
+/* 32K LZ77 window */
+const DEF_MEM_LEVEL = 8;
+
+
+const LENGTH_CODES  = 29;
+/* number of length codes, not counting the special END_BLOCK code */
+const LITERALS      = 256;
+/* number of literal bytes 0..255 */
+const L_CODES       = LITERALS + 1 + LENGTH_CODES;
+/* number of Literal or Length codes, including the END_BLOCK code */
+const D_CODES       = 30;
+/* number of distance codes */
+const BL_CODES      = 19;
+/* number of codes used to transfer the bit lengths */
+const HEAP_SIZE     = 2 * L_CODES + 1;
+/* maximum heap size */
+const MAX_BITS  = 15;
+/* All codes must not exceed MAX_BITS bits */
+
+const MIN_MATCH = 3;
+const MAX_MATCH = 258;
+const MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);
+
+const PRESET_DICT = 0x20;
+
+const INIT_STATE    =  42;    /* zlib header -> BUSY_STATE */
+//#ifdef GZIP
+const GZIP_STATE    =  57;    /* gzip header -> BUSY_STATE | EXTRA_STATE */
+//#endif
+const EXTRA_STATE   =  69;    /* gzip extra block -> NAME_STATE */
+const NAME_STATE    =  73;    /* gzip file name -> COMMENT_STATE */
+const COMMENT_STATE =  91;    /* gzip comment -> HCRC_STATE */
+const HCRC_STATE    = 103;    /* gzip header CRC -> BUSY_STATE */
+const BUSY_STATE    = 113;    /* deflate -> FINISH_STATE */
+const FINISH_STATE  = 666;    /* stream complete */
+
+const BS_NEED_MORE      = 1; /* block not completed, need more input or more output */
+const BS_BLOCK_DONE     = 2; /* block flush performed */
+const BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */
+const BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */
+
+const OS_CODE = 0x03; // Unix :) . Don't detect, use this default.
+
+const err = (strm, errorCode) => {
+  strm.msg = msg[errorCode];
+  return errorCode;
+};
+
+const rank = (f) => {
+  return ((f) * 2) - ((f) > 4 ? 9 : 0);
+};
+
+const zero = (buf) => {
+  let len = buf.length; while (--len >= 0) { buf[len] = 0; }
+};
+
+/* ===========================================================================
+ * Slide the hash table when sliding the window down (could be avoided with 32
+ * bit values at the expense of memory usage). We slide even when level == 0 to
+ * keep the hash table consistent if we switch back to level > 0 later.
+ */
+const slide_hash = (s) => {
+  let n, m;
+  let p;
+  let wsize = s.w_size;
+
+  n = s.hash_size;
+  p = n;
+  do {
+    m = s.head[--p];
+    s.head[p] = (m >= wsize ? m - wsize : 0);
+  } while (--n);
+  n = wsize;
+//#ifndef FASTEST
+  p = n;
+  do {
+    m = s.prev[--p];
+    s.prev[p] = (m >= wsize ? m - wsize : 0);
+    /* If n is not on any hash chain, prev[n] is garbage but
+     * its value will never be used.
+     */
+  } while (--n);
+//#endif
+};
+
+/* eslint-disable new-cap */
+let HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;
+// This hash causes less collisions, https://github.com/nodeca/pako/issues/135
+// But breaks binary compatibility
+//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;
+let HASH = HASH_ZLIB;
+
+
+/* =========================================================================
+ * Flush as much pending output as possible. All deflate() output, except for
+ * some deflate_stored() output, goes through this function so some
+ * applications may wish to modify it to avoid allocating a large
+ * strm->next_out buffer and copying into it. (See also read_buf()).
+ */
+const flush_pending = (strm) => {
+  const s = strm.state;
+
+  //_tr_flush_bits(s);
+  let len = s.pending;
+  if (len > strm.avail_out) {
+    len = strm.avail_out;
+  }
+  if (len === 0) { return; }
+
+  strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);
+  strm.next_out  += len;
+  s.pending_out  += len;
+  strm.total_out += len;
+  strm.avail_out -= len;
+  s.pending      -= len;
+  if (s.pending === 0) {
+    s.pending_out = 0;
+  }
+};
+
+
+const flush_block_only = (s, last) => {
+  _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);
+  s.block_start = s.strstart;
+  flush_pending(s.strm);
+};
+
+
+const put_byte = (s, b) => {
+  s.pending_buf[s.pending++] = b;
+};
+
+
+/* =========================================================================
+ * Put a short in the pending buffer. The 16-bit value is put in MSB order.
+ * IN assertion: the stream state is correct and there is enough room in
+ * pending_buf.
+ */
+const putShortMSB = (s, b) => {
+
+  //  put_byte(s, (Byte)(b >> 8));
+//  put_byte(s, (Byte)(b & 0xff));
+  s.pending_buf[s.pending++] = (b >>> 8) & 0xff;
+  s.pending_buf[s.pending++] = b & 0xff;
+};
+
+
+/* ===========================================================================
+ * Read a new buffer from the current input stream, update the adler32
+ * and total number of bytes read.  All deflate() input goes through
+ * this function so some applications may wish to modify it to avoid
+ * allocating a large strm->input buffer and copying from it.
+ * (See also flush_pending()).
+ */
+const read_buf = (strm, buf, start, size) => {
+
+  let len = strm.avail_in;
+
+  if (len > size) { len = size; }
+  if (len === 0) { return 0; }
+
+  strm.avail_in -= len;
+
+  // zmemcpy(buf, strm->next_in, len);
+  buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);
+  if (strm.state.wrap === 1) {
+    strm.adler = adler32(strm.adler, buf, len, start);
+  }
+
+  else if (strm.state.wrap === 2) {
+    strm.adler = crc32(strm.adler, buf, len, start);
+  }
+
+  strm.next_in += len;
+  strm.total_in += len;
+
+  return len;
+};
+
+
+/* ===========================================================================
+ * Set match_start to the longest match starting at the given string and
+ * return its length. Matches shorter or equal to prev_length are discarded,
+ * in which case the result is equal to prev_length and match_start is
+ * garbage.
+ * IN assertions: cur_match is the head of the hash chain for the current
+ *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
+ * OUT assertion: the match length is not greater than s->lookahead.
+ */
+const longest_match = (s, cur_match) => {
+
+  let chain_length = s.max_chain_length;      /* max hash chain length */
+  let scan = s.strstart; /* current string */
+  let match;                       /* matched string */
+  let len;                           /* length of current match */
+  let best_len = s.prev_length;              /* best match length so far */
+  let nice_match = s.nice_match;             /* stop if match long enough */
+  const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?
+      s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;
+
+  const _win = s.window; // shortcut
+
+  const wmask = s.w_mask;
+  const prev  = s.prev;
+
+  /* Stop when cur_match becomes <= limit. To simplify the code,
+   * we prevent matches with the string of window index 0.
+   */
+
+  const strend = s.strstart + MAX_MATCH;
+  let scan_end1  = _win[scan + best_len - 1];
+  let scan_end   = _win[scan + best_len];
+
+  /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+   * It is easy to get rid of this optimization if necessary.
+   */
+  // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+  /* Do not waste too much time if we already have a good match: */
+  if (s.prev_length >= s.good_match) {
+    chain_length >>= 2;
+  }
+  /* Do not look for matches beyond the end of the input. This is necessary
+   * to make deflate deterministic.
+   */
+  if (nice_match > s.lookahead) { nice_match = s.lookahead; }
+
+  // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+  do {
+    // Assert(cur_match < s->strstart, "no future");
+    match = cur_match;
+
+    /* Skip to next match if the match length cannot increase
+     * or if the match length is less than 2.  Note that the checks below
+     * for insufficient lookahead only occur occasionally for performance
+     * reasons.  Therefore uninitialized memory will be accessed, and
+     * conditional jumps will be made that depend on those values.
+     * However the length of the match is limited to the lookahead, so
+     * the output of deflate is not affected by the uninitialized values.
+     */
+
+    if (_win[match + best_len]     !== scan_end  ||
+        _win[match + best_len - 1] !== scan_end1 ||
+        _win[match]                !== _win[scan] ||
+        _win[++match]              !== _win[scan + 1]) {
+      continue;
+    }
+
+    /* The check at best_len-1 can be removed because it will be made
+     * again later. (This heuristic is not always a win.)
+     * It is not necessary to compare scan[2] and match[2] since they
+     * are always equal when the other bytes match, given that
+     * the hash keys are equal and that HASH_BITS >= 8.
+     */
+    scan += 2;
+    match++;
+    // Assert(*scan == *match, "match[2]?");
+
+    /* We check for insufficient lookahead only every 8th comparison;
+     * the 256th check will be made at strstart+258.
+     */
+    do {
+      /*jshint noempty:false*/
+    } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&
+             scan < strend);
+
+    // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+    len = MAX_MATCH - (strend - scan);
+    scan = strend - MAX_MATCH;
+
+    if (len > best_len) {
+      s.match_start = cur_match;
+      best_len = len;
+      if (len >= nice_match) {
+        break;
+      }
+      scan_end1  = _win[scan + best_len - 1];
+      scan_end   = _win[scan + best_len];
+    }
+  } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);
+
+  if (best_len <= s.lookahead) {
+    return best_len;
+  }
+  return s.lookahead;
+};
+
+
+/* ===========================================================================
+ * Fill the window when the lookahead becomes insufficient.
+ * Updates strstart and lookahead.
+ *
+ * IN assertion: lookahead < MIN_LOOKAHEAD
+ * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
+ *    At least one byte has been read, or avail_in == 0; reads are
+ *    performed for at least two bytes (required for the zip translate_eol
+ *    option -- not supported here).
+ */
+const fill_window = (s) => {
+
+  const _w_size = s.w_size;
+  let n, more, str;
+
+  //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead");
+
+  do {
+    more = s.window_size - s.lookahead - s.strstart;
+
+    // JS ints have 32 bit, block below not needed
+    /* Deal with !@#$% 64K limit: */
+    //if (sizeof(int) <= 2) {
+    //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
+    //        more = wsize;
+    //
+    //  } else if (more == (unsigned)(-1)) {
+    //        /* Very unlikely, but possible on 16 bit machine if
+    //         * strstart == 0 && lookahead == 1 (input done a byte at time)
+    //         */
+    //        more--;
+    //    }
+    //}
+
+
+    /* If the window is almost full and there is insufficient lookahead,
+     * move the upper half to the lower one to make room in the upper half.
+     */
+    if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
+
+      s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0);
+      s.match_start -= _w_size;
+      s.strstart -= _w_size;
+      /* we now have strstart >= MAX_DIST */
+      s.block_start -= _w_size;
+      if (s.insert > s.strstart) {
+        s.insert = s.strstart;
+      }
+      slide_hash(s);
+      more += _w_size;
+    }
+    if (s.strm.avail_in === 0) {
+      break;
+    }
+
+    /* If there was no sliding:
+     *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
+     *    more == window_size - lookahead - strstart
+     * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
+     * => more >= window_size - 2*WSIZE + 2
+     * In the BIG_MEM or MMAP case (not yet supported),
+     *   window_size == input_size + MIN_LOOKAHEAD  &&
+     *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
+     * Otherwise, window_size == 2*WSIZE so more >= 2.
+     * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
+     */
+    //Assert(more >= 2, "more < 2");
+    n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);
+    s.lookahead += n;
+
+    /* Initialize the hash value now that we have some input: */
+    if (s.lookahead + s.insert >= MIN_MATCH) {
+      str = s.strstart - s.insert;
+      s.ins_h = s.window[str];
+
+      /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */
+      s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);
+//#if MIN_MATCH != 3
+//        Call update_hash() MIN_MATCH-3 more times
+//#endif
+      while (s.insert) {
+        /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */
+        s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);
+
+        s.prev[str & s.w_mask] = s.head[s.ins_h];
+        s.head[s.ins_h] = str;
+        str++;
+        s.insert--;
+        if (s.lookahead + s.insert < MIN_MATCH) {
+          break;
+        }
+      }
+    }
+    /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
+     * but this is not important since only literal bytes will be emitted.
+     */
+
+  } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);
+
+  /* If the WIN_INIT bytes after the end of the current data have never been
+   * written, then zero those bytes in order to avoid memory check reports of
+   * the use of uninitialized (or uninitialised as Julian writes) bytes by
+   * the longest match routines.  Update the high water mark for the next
+   * time through here.  WIN_INIT is set to MAX_MATCH since the longest match
+   * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
+   */
+//  if (s.high_water < s.window_size) {
+//    const curr = s.strstart + s.lookahead;
+//    let init = 0;
+//
+//    if (s.high_water < curr) {
+//      /* Previous high water mark below current data -- zero WIN_INIT
+//       * bytes or up to end of window, whichever is less.
+//       */
+//      init = s.window_size - curr;
+//      if (init > WIN_INIT)
+//        init = WIN_INIT;
+//      zmemzero(s->window + curr, (unsigned)init);
+//      s->high_water = curr + init;
+//    }
+//    else if (s->high_water < (ulg)curr + WIN_INIT) {
+//      /* High water mark at or above current data, but below current data
+//       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
+//       * to end of window, whichever is less.
+//       */
+//      init = (ulg)curr + WIN_INIT - s->high_water;
+//      if (init > s->window_size - s->high_water)
+//        init = s->window_size - s->high_water;
+//      zmemzero(s->window + s->high_water, (unsigned)init);
+//      s->high_water += init;
+//    }
+//  }
+//
+//  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
+//    "not enough room for search");
+};
+
+/* ===========================================================================
+ * Copy without compression as much as possible from the input stream, return
+ * the current block state.
+ *
+ * In case deflateParams() is used to later switch to a non-zero compression
+ * level, s->matches (otherwise unused when storing) keeps track of the number
+ * of hash table slides to perform. If s->matches is 1, then one hash table
+ * slide will be done when switching. If s->matches is 2, the maximum value
+ * allowed here, then the hash table will be cleared, since two or more slides
+ * is the same as a clear.
+ *
+ * deflate_stored() is written to minimize the number of times an input byte is
+ * copied. It is most efficient with large input and output buffers, which
+ * maximizes the opportunites to have a single copy from next_in to next_out.
+ */
+const deflate_stored = (s, flush) => {
+
+  /* Smallest worthy block size when not flushing or finishing. By default
+   * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
+   * large input and output buffers, the stored block size will be larger.
+   */
+  let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;
+
+  /* Copy as many min_block or larger stored blocks directly to next_out as
+   * possible. If flushing, copy the remaining available input to next_out as
+   * stored blocks, if there is enough space.
+   */
+  let len, left, have, last = 0;
+  let used = s.strm.avail_in;
+  do {
+    /* Set len to the maximum size block that we can copy directly with the
+     * available input data and output space. Set left to how much of that
+     * would be copied from what's left in the window.
+     */
+    len = 65535/* MAX_STORED */;     /* maximum deflate stored block length */
+    have = (s.bi_valid + 42) >> 3;     /* number of header bytes */
+    if (s.strm.avail_out < have) {         /* need room for header */
+      break;
+    }
+      /* maximum stored block length that will fit in avail_out: */
+    have = s.strm.avail_out - have;
+    left = s.strstart - s.block_start;  /* bytes left in window */
+    if (len > left + s.strm.avail_in) {
+      len = left + s.strm.avail_in;   /* limit len to the input */
+    }
+    if (len > have) {
+      len = have;             /* limit len to the output */
+    }
+
+    /* If the stored block would be less than min_block in length, or if
+     * unable to copy all of the available input when flushing, then try
+     * copying to the window and the pending buffer instead. Also don't
+     * write an empty block when flushing -- deflate() does that.
+     */
+    if (len < min_block && ((len === 0 && flush !== Z_FINISH) ||
+                        flush === Z_NO_FLUSH ||
+                        len !== left + s.strm.avail_in)) {
+      break;
+    }
+
+    /* Make a dummy stored block in pending to get the header bytes,
+     * including any pending bits. This also updates the debugging counts.
+     */
+    last = flush === Z_FINISH && len === left + s.strm.avail_in ? 1 : 0;
+    _tr_stored_block(s, 0, 0, last);
+
+    /* Replace the lengths in the dummy stored block with len. */
+    s.pending_buf[s.pending - 4] = len;
+    s.pending_buf[s.pending - 3] = len >> 8;
+    s.pending_buf[s.pending - 2] = ~len;
+    s.pending_buf[s.pending - 1] = ~len >> 8;
+
+    /* Write the stored block header bytes. */
+    flush_pending(s.strm);
+
+//#ifdef ZLIB_DEBUG
+//    /* Update debugging counts for the data about to be copied. */
+//    s->compressed_len += len << 3;
+//    s->bits_sent += len << 3;
+//#endif
+
+    /* Copy uncompressed bytes from the window to next_out. */
+    if (left) {
+      if (left > len) {
+        left = len;
+      }
+      //zmemcpy(s->strm->next_out, s->window + s->block_start, left);
+      s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);
+      s.strm.next_out += left;
+      s.strm.avail_out -= left;
+      s.strm.total_out += left;
+      s.block_start += left;
+      len -= left;
+    }
+
+    /* Copy uncompressed bytes directly from next_in to next_out, updating
+     * the check value.
+     */
+    if (len) {
+      read_buf(s.strm, s.strm.output, s.strm.next_out, len);
+      s.strm.next_out += len;
+      s.strm.avail_out -= len;
+      s.strm.total_out += len;
+    }
+  } while (last === 0);
+
+  /* Update the sliding window with the last s->w_size bytes of the copied
+   * data, or append all of the copied data to the existing window if less
+   * than s->w_size bytes were copied. Also update the number of bytes to
+   * insert in the hash tables, in the event that deflateParams() switches to
+   * a non-zero compression level.
+   */
+  used -= s.strm.avail_in;    /* number of input bytes directly copied */
+  if (used) {
+    /* If any input was used, then no unused input remains in the window,
+     * therefore s->block_start == s->strstart.
+     */
+    if (used >= s.w_size) {  /* supplant the previous history */
+      s.matches = 2;     /* clear hash */
+      //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);
+      s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0);
+      s.strstart = s.w_size;
+      s.insert = s.strstart;
+    }
+    else {
+      if (s.window_size - s.strstart <= used) {
+        /* Slide the window down. */
+        s.strstart -= s.w_size;
+        //zmemcpy(s->window, s->window + s->w_size, s->strstart);
+        s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);
+        if (s.matches < 2) {
+          s.matches++;   /* add a pending slide_hash() */
+        }
+        if (s.insert > s.strstart) {
+          s.insert = s.strstart;
+        }
+      }
+      //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
+      s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart);
+      s.strstart += used;
+      s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used;
+    }
+    s.block_start = s.strstart;
+  }
+  if (s.high_water < s.strstart) {
+    s.high_water = s.strstart;
+  }
+
+  /* If the last block was written to next_out, then done. */
+  if (last) {
+    return BS_FINISH_DONE;
+  }
+
+  /* If flushing and all input has been consumed, then done. */
+  if (flush !== Z_NO_FLUSH && flush !== Z_FINISH &&
+    s.strm.avail_in === 0 && s.strstart === s.block_start) {
+    return BS_BLOCK_DONE;
+  }
+
+  /* Fill the window with any remaining input. */
+  have = s.window_size - s.strstart;
+  if (s.strm.avail_in > have && s.block_start >= s.w_size) {
+    /* Slide the window down. */
+    s.block_start -= s.w_size;
+    s.strstart -= s.w_size;
+    //zmemcpy(s->window, s->window + s->w_size, s->strstart);
+    s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);
+    if (s.matches < 2) {
+      s.matches++;       /* add a pending slide_hash() */
+    }
+    have += s.w_size;      /* more space now */
+    if (s.insert > s.strstart) {
+      s.insert = s.strstart;
+    }
+  }
+  if (have > s.strm.avail_in) {
+    have = s.strm.avail_in;
+  }
+  if (have) {
+    read_buf(s.strm, s.window, s.strstart, have);
+    s.strstart += have;
+    s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have;
+  }
+  if (s.high_water < s.strstart) {
+    s.high_water = s.strstart;
+  }
+
+  /* There was not enough avail_out to write a complete worthy or flushed
+   * stored block to next_out. Write a stored block to pending instead, if we
+   * have enough input for a worthy block, or if flushing and there is enough
+   * room for the remaining input as a stored block in the pending buffer.
+   */
+  have = (s.bi_valid + 42) >> 3;     /* number of header bytes */
+    /* maximum stored block length that will fit in pending: */
+  have = s.pending_buf_size - have > 65535/* MAX_STORED */ ? 65535/* MAX_STORED */ : s.pending_buf_size - have;
+  min_block = have > s.w_size ? s.w_size : have;
+  left = s.strstart - s.block_start;
+  if (left >= min_block ||
+     ((left || flush === Z_FINISH) && flush !== Z_NO_FLUSH &&
+     s.strm.avail_in === 0 && left <= have)) {
+    len = left > have ? have : left;
+    last = flush === Z_FINISH && s.strm.avail_in === 0 &&
+         len === left ? 1 : 0;
+    _tr_stored_block(s, s.block_start, len, last);
+    s.block_start += len;
+    flush_pending(s.strm);
+  }
+
+  /* We've done all we can with the available input and output. */
+  return last ? BS_FINISH_STARTED : BS_NEED_MORE;
+};
+
+
+/* ===========================================================================
+ * Compress as much as possible from the input stream, return the current
+ * block state.
+ * This function does not perform lazy evaluation of matches and inserts
+ * new strings in the dictionary only for unmatched strings or for short
+ * matches. It is used only for the fast compression options.
+ */
+const deflate_fast = (s, flush) => {
+
+  let hash_head;        /* head of the hash chain */
+  let bflush;           /* set if current block must be flushed */
+
+  for (;;) {
+    /* Make sure that we always have enough lookahead, except
+     * at the end of the input file. We need MAX_MATCH bytes
+     * for the next match, plus MIN_MATCH bytes to insert the
+     * string following the next match.
+     */
+    if (s.lookahead < MIN_LOOKAHEAD) {
+      fill_window(s);
+      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
+        return BS_NEED_MORE;
+      }
+      if (s.lookahead === 0) {
+        break; /* flush the current block */
+      }
+    }
+
+    /* Insert the string window[strstart .. strstart+2] in the
+     * dictionary, and set hash_head to the head of the hash chain:
+     */
+    hash_head = 0/*NIL*/;
+    if (s.lookahead >= MIN_MATCH) {
+      /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+      s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);
+      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+      s.head[s.ins_h] = s.strstart;
+      /***/
+    }
+
+    /* Find the longest match, discarding those <= prev_length.
+     * At this point we have always match_length < MIN_MATCH
+     */
+    if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {
+      /* To simplify the code, we prevent matches with the string
+       * of window index 0 (in particular we have to avoid a match
+       * of the string with itself at the start of the input file).
+       */
+      s.match_length = longest_match(s, hash_head);
+      /* longest_match() sets match_start */
+    }
+    if (s.match_length >= MIN_MATCH) {
+      // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only
+
+      /*** _tr_tally_dist(s, s.strstart - s.match_start,
+                     s.match_length - MIN_MATCH, bflush); ***/
+      bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);
+
+      s.lookahead -= s.match_length;
+
+      /* Insert new strings in the hash table only if the match length
+       * is not too large. This saves time but degrades compression.
+       */
+      if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {
+        s.match_length--; /* string at strstart already in table */
+        do {
+          s.strstart++;
+          /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+          s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);
+          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+          s.head[s.ins_h] = s.strstart;
+          /***/
+          /* strstart never exceeds WSIZE-MAX_MATCH, so there are
+           * always MIN_MATCH bytes ahead.
+           */
+        } while (--s.match_length !== 0);
+        s.strstart++;
+      } else
+      {
+        s.strstart += s.match_length;
+        s.match_length = 0;
+        s.ins_h = s.window[s.strstart];
+        /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */
+        s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);
+
+//#if MIN_MATCH != 3
+//                Call UPDATE_HASH() MIN_MATCH-3 more times
+//#endif
+        /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
+         * matter since it will be recomputed at next deflate call.
+         */
+      }
+    } else {
+      /* No match, output a literal byte */
+      //Tracevv((stderr,"%c", s.window[s.strstart]));
+      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+      bflush = _tr_tally(s, 0, s.window[s.strstart]);
+
+      s.lookahead--;
+      s.strstart++;
+    }
+    if (bflush) {
+      /*** FLUSH_BLOCK(s, 0); ***/
+      flush_block_only(s, false);
+      if (s.strm.avail_out === 0) {
+        return BS_NEED_MORE;
+      }
+      /***/
+    }
+  }
+  s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);
+  if (flush === Z_FINISH) {
+    /*** FLUSH_BLOCK(s, 1); ***/
+    flush_block_only(s, true);
+    if (s.strm.avail_out === 0) {
+      return BS_FINISH_STARTED;
+    }
+    /***/
+    return BS_FINISH_DONE;
+  }
+  if (s.sym_next) {
+    /*** FLUSH_BLOCK(s, 0); ***/
+    flush_block_only(s, false);
+    if (s.strm.avail_out === 0) {
+      return BS_NEED_MORE;
+    }
+    /***/
+  }
+  return BS_BLOCK_DONE;
+};
+
+/* ===========================================================================
+ * Same as above, but achieves better compression. We use a lazy
+ * evaluation for matches: a match is finally adopted only if there is
+ * no better match at the next window position.
+ */
+const deflate_slow = (s, flush) => {
+
+  let hash_head;          /* head of hash chain */
+  let bflush;              /* set if current block must be flushed */
+
+  let max_insert;
+
+  /* Process the input block. */
+  for (;;) {
+    /* Make sure that we always have enough lookahead, except
+     * at the end of the input file. We need MAX_MATCH bytes
+     * for the next match, plus MIN_MATCH bytes to insert the
+     * string following the next match.
+     */
+    if (s.lookahead < MIN_LOOKAHEAD) {
+      fill_window(s);
+      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
+        return BS_NEED_MORE;
+      }
+      if (s.lookahead === 0) { break; } /* flush the current block */
+    }
+
+    /* Insert the string window[strstart .. strstart+2] in the
+     * dictionary, and set hash_head to the head of the hash chain:
+     */
+    hash_head = 0/*NIL*/;
+    if (s.lookahead >= MIN_MATCH) {
+      /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+      s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);
+      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+      s.head[s.ins_h] = s.strstart;
+      /***/
+    }
+
+    /* Find the longest match, discarding those <= prev_length.
+     */
+    s.prev_length = s.match_length;
+    s.prev_match = s.match_start;
+    s.match_length = MIN_MATCH - 1;
+
+    if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&
+        s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {
+      /* To simplify the code, we prevent matches with the string
+       * of window index 0 (in particular we have to avoid a match
+       * of the string with itself at the start of the input file).
+       */
+      s.match_length = longest_match(s, hash_head);
+      /* longest_match() sets match_start */
+
+      if (s.match_length <= 5 &&
+         (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {
+
+        /* If prev_match is also MIN_MATCH, match_start is garbage
+         * but we will ignore the current match anyway.
+         */
+        s.match_length = MIN_MATCH - 1;
+      }
+    }
+    /* If there was a match at the previous step and the current
+     * match is not better, output the previous match:
+     */
+    if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {
+      max_insert = s.strstart + s.lookahead - MIN_MATCH;
+      /* Do not insert strings in hash table beyond this. */
+
+      //check_match(s, s.strstart-1, s.prev_match, s.prev_length);
+
+      /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,
+                     s.prev_length - MIN_MATCH, bflush);***/
+      bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);
+      /* Insert in hash table all strings up to the end of the match.
+       * strstart-1 and strstart are already inserted. If there is not
+       * enough lookahead, the last two strings are not inserted in
+       * the hash table.
+       */
+      s.lookahead -= s.prev_length - 1;
+      s.prev_length -= 2;
+      do {
+        if (++s.strstart <= max_insert) {
+          /*** INSERT_STRING(s, s.strstart, hash_head); ***/
+          s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);
+          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
+          s.head[s.ins_h] = s.strstart;
+          /***/
+        }
+      } while (--s.prev_length !== 0);
+      s.match_available = 0;
+      s.match_length = MIN_MATCH - 1;
+      s.strstart++;
+
+      if (bflush) {
+        /*** FLUSH_BLOCK(s, 0); ***/
+        flush_block_only(s, false);
+        if (s.strm.avail_out === 0) {
+          return BS_NEED_MORE;
+        }
+        /***/
+      }
+
+    } else if (s.match_available) {
+      /* If there was no match at the previous position, output a
+       * single literal. If there was a match but the current match
+       * is longer, truncate the previous match to a single literal.
+       */
+      //Tracevv((stderr,"%c", s->window[s->strstart-1]));
+      /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
+      bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);
+
+      if (bflush) {
+        /*** FLUSH_BLOCK_ONLY(s, 0) ***/
+        flush_block_only(s, false);
+        /***/
+      }
+      s.strstart++;
+      s.lookahead--;
+      if (s.strm.avail_out === 0) {
+        return BS_NEED_MORE;
+      }
+    } else {
+      /* There is no previous match to compare with, wait for
+       * the next step to decide.
+       */
+      s.match_available = 1;
+      s.strstart++;
+      s.lookahead--;
+    }
+  }
+  //Assert (flush != Z_NO_FLUSH, "no flush?");
+  if (s.match_available) {
+    //Tracevv((stderr,"%c", s->window[s->strstart-1]));
+    /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/
+    bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);
+
+    s.match_available = 0;
+  }
+  s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;
+  if (flush === Z_FINISH) {
+    /*** FLUSH_BLOCK(s, 1); ***/
+    flush_block_only(s, true);
+    if (s.strm.avail_out === 0) {
+      return BS_FINISH_STARTED;
+    }
+    /***/
+    return BS_FINISH_DONE;
+  }
+  if (s.sym_next) {
+    /*** FLUSH_BLOCK(s, 0); ***/
+    flush_block_only(s, false);
+    if (s.strm.avail_out === 0) {
+      return BS_NEED_MORE;
+    }
+    /***/
+  }
+
+  return BS_BLOCK_DONE;
+};
+
+
+/* ===========================================================================
+ * For Z_RLE, simply look for runs of bytes, generate matches only of distance
+ * one.  Do not maintain a hash table.  (It will be regenerated if this run of
+ * deflate switches away from Z_RLE.)
+ */
+const deflate_rle = (s, flush) => {
+
+  let bflush;            /* set if current block must be flushed */
+  let prev;              /* byte at distance one to match */
+  let scan, strend;      /* scan goes up to strend for length of run */
+
+  const _win = s.window;
+
+  for (;;) {
+    /* Make sure that we always have enough lookahead, except
+     * at the end of the input file. We need MAX_MATCH bytes
+     * for the longest run, plus one for the unrolled loop.
+     */
+    if (s.lookahead <= MAX_MATCH) {
+      fill_window(s);
+      if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {
+        return BS_NEED_MORE;
+      }
+      if (s.lookahead === 0) { break; } /* flush the current block */
+    }
+
+    /* See how many times the previous byte repeats */
+    s.match_length = 0;
+    if (s.lookahead >= MIN_MATCH && s.strstart > 0) {
+      scan = s.strstart - 1;
+      prev = _win[scan];
+      if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {
+        strend = s.strstart + MAX_MATCH;
+        do {
+          /*jshint noempty:false*/
+        } while (prev === _win[++scan] && prev === _win[++scan] &&
+                 prev === _win[++scan] && prev === _win[++scan] &&
+                 prev === _win[++scan] && prev === _win[++scan] &&
+                 prev === _win[++scan] && prev === _win[++scan] &&
+                 scan < strend);
+        s.match_length = MAX_MATCH - (strend - scan);
+        if (s.match_length > s.lookahead) {
+          s.match_length = s.lookahead;
+        }
+      }
+      //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
+    }
+
+    /* Emit match if have run of MIN_MATCH or longer, else emit literal */
+    if (s.match_length >= MIN_MATCH) {
+      //check_match(s, s.strstart, s.strstart - 1, s.match_length);
+
+      /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/
+      bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);
+
+      s.lookahead -= s.match_length;
+      s.strstart += s.match_length;
+      s.match_length = 0;
+    } else {
+      /* No match, output a literal byte */
+      //Tracevv((stderr,"%c", s->window[s->strstart]));
+      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+      bflush = _tr_tally(s, 0, s.window[s.strstart]);
+
+      s.lookahead--;
+      s.strstart++;
+    }
+    if (bflush) {
+      /*** FLUSH_BLOCK(s, 0); ***/
+      flush_block_only(s, false);
+      if (s.strm.avail_out === 0) {
+        return BS_NEED_MORE;
+      }
+      /***/
+    }
+  }
+  s.insert = 0;
+  if (flush === Z_FINISH) {
+    /*** FLUSH_BLOCK(s, 1); ***/
+    flush_block_only(s, true);
+    if (s.strm.avail_out === 0) {
+      return BS_FINISH_STARTED;
+    }
+    /***/
+    return BS_FINISH_DONE;
+  }
+  if (s.sym_next) {
+    /*** FLUSH_BLOCK(s, 0); ***/
+    flush_block_only(s, false);
+    if (s.strm.avail_out === 0) {
+      return BS_NEED_MORE;
+    }
+    /***/
+  }
+  return BS_BLOCK_DONE;
+};
+
+/* ===========================================================================
+ * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.
+ * (It will be regenerated if this run of deflate switches away from Huffman.)
+ */
+const deflate_huff = (s, flush) => {
+
+  let bflush;             /* set if current block must be flushed */
+
+  for (;;) {
+    /* Make sure that we have a literal to write. */
+    if (s.lookahead === 0) {
+      fill_window(s);
+      if (s.lookahead === 0) {
+        if (flush === Z_NO_FLUSH) {
+          return BS_NEED_MORE;
+        }
+        break;      /* flush the current block */
+      }
+    }
+
+    /* Output a literal byte */
+    s.match_length = 0;
+    //Tracevv((stderr,"%c", s->window[s->strstart]));
+    /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/
+    bflush = _tr_tally(s, 0, s.window[s.strstart]);
+    s.lookahead--;
+    s.strstart++;
+    if (bflush) {
+      /*** FLUSH_BLOCK(s, 0); ***/
+      flush_block_only(s, false);
+      if (s.strm.avail_out === 0) {
+        return BS_NEED_MORE;
+      }
+      /***/
+    }
+  }
+  s.insert = 0;
+  if (flush === Z_FINISH) {
+    /*** FLUSH_BLOCK(s, 1); ***/
+    flush_block_only(s, true);
+    if (s.strm.avail_out === 0) {
+      return BS_FINISH_STARTED;
+    }
+    /***/
+    return BS_FINISH_DONE;
+  }
+  if (s.sym_next) {
+    /*** FLUSH_BLOCK(s, 0); ***/
+    flush_block_only(s, false);
+    if (s.strm.avail_out === 0) {
+      return BS_NEED_MORE;
+    }
+    /***/
+  }
+  return BS_BLOCK_DONE;
+};
+
+/* Values for max_lazy_match, good_match and max_chain_length, depending on
+ * the desired pack level (0..9). The values given below have been tuned to
+ * exclude worst case performance for pathological files. Better values may be
+ * found for specific files.
+ */
+function Config(good_length, max_lazy, nice_length, max_chain, func) {
+
+  this.good_length = good_length;
+  this.max_lazy = max_lazy;
+  this.nice_length = nice_length;
+  this.max_chain = max_chain;
+  this.func = func;
+}
+
+const configuration_table = [
+  /*      good lazy nice chain */
+  new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */
+  new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */
+  new Config(4, 5, 16, 8, deflate_fast),           /* 2 */
+  new Config(4, 6, 32, 32, deflate_fast),          /* 3 */
+
+  new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */
+  new Config(8, 16, 32, 32, deflate_slow),         /* 5 */
+  new Config(8, 16, 128, 128, deflate_slow),       /* 6 */
+  new Config(8, 32, 128, 256, deflate_slow),       /* 7 */
+  new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */
+  new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */
+];
+
+
+/* ===========================================================================
+ * Initialize the "longest match" routines for a new zlib stream
+ */
+const lm_init = (s) => {
+
+  s.window_size = 2 * s.w_size;
+
+  /*** CLEAR_HASH(s); ***/
+  zero(s.head); // Fill with NIL (= 0);
+
+  /* Set the default configuration parameters:
+   */
+  s.max_lazy_match = configuration_table[s.level].max_lazy;
+  s.good_match = configuration_table[s.level].good_length;
+  s.nice_match = configuration_table[s.level].nice_length;
+  s.max_chain_length = configuration_table[s.level].max_chain;
+
+  s.strstart = 0;
+  s.block_start = 0;
+  s.lookahead = 0;
+  s.insert = 0;
+  s.match_length = s.prev_length = MIN_MATCH - 1;
+  s.match_available = 0;
+  s.ins_h = 0;
+};
+
+
+function DeflateState() {
+  this.strm = null;            /* pointer back to this zlib stream */
+  this.status = 0;            /* as the name implies */
+  this.pending_buf = null;      /* output still pending */
+  this.pending_buf_size = 0;  /* size of pending_buf */
+  this.pending_out = 0;       /* next pending byte to output to the stream */
+  this.pending = 0;           /* nb of bytes in the pending buffer */
+  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */
+  this.gzhead = null;         /* gzip header information to write */
+  this.gzindex = 0;           /* where in extra, name, or comment */
+  this.method = Z_DEFLATED; /* can only be DEFLATED */
+  this.last_flush = -1;   /* value of flush param for previous deflate call */
+
+  this.w_size = 0;  /* LZ77 window size (32K by default) */
+  this.w_bits = 0;  /* log2(w_size)  (8..16) */
+  this.w_mask = 0;  /* w_size - 1 */
+
+  this.window = null;
+  /* Sliding window. Input bytes are read into the second half of the window,
+   * and move to the first half later to keep a dictionary of at least wSize
+   * bytes. With this organization, matches are limited to a distance of
+   * wSize-MAX_MATCH bytes, but this ensures that IO is always
+   * performed with a length multiple of the block size.
+   */
+
+  this.window_size = 0;
+  /* Actual size of window: 2*wSize, except when the user input buffer
+   * is directly used as sliding window.
+   */
+
+  this.prev = null;
+  /* Link to older string with same hash index. To limit the size of this
+   * array to 64K, this link is maintained only for the last 32K strings.
+   * An index in this array is thus a window index modulo 32K.
+   */
+
+  this.head = null;   /* Heads of the hash chains or NIL. */
+
+  this.ins_h = 0;       /* hash index of string to be inserted */
+  this.hash_size = 0;   /* number of elements in hash table */
+  this.hash_bits = 0;   /* log2(hash_size) */
+  this.hash_mask = 0;   /* hash_size-1 */
+
+  this.hash_shift = 0;
+  /* Number of bits by which ins_h must be shifted at each input
+   * step. It must be such that after MIN_MATCH steps, the oldest
+   * byte no longer takes part in the hash key, that is:
+   *   hash_shift * MIN_MATCH >= hash_bits
+   */
+
+  this.block_start = 0;
+  /* Window position at the beginning of the current output block. Gets
+   * negative when the window is moved backwards.
+   */
+
+  this.match_length = 0;      /* length of best match */
+  this.prev_match = 0;        /* previous match */
+  this.match_available = 0;   /* set if previous match exists */
+  this.strstart = 0;          /* start of string to insert */
+  this.match_start = 0;       /* start of matching string */
+  this.lookahead = 0;         /* number of valid bytes ahead in window */
+
+  this.prev_length = 0;
+  /* Length of the best match at previous step. Matches not greater than this
+   * are discarded. This is used in the lazy match evaluation.
+   */
+
+  this.max_chain_length = 0;
+  /* To speed up deflation, hash chains are never searched beyond this
+   * length.  A higher limit improves compression ratio but degrades the
+   * speed.
+   */
+
+  this.max_lazy_match = 0;
+  /* Attempt to find a better match only when the current match is strictly
+   * smaller than this value. This mechanism is used only for compression
+   * levels >= 4.
+   */
+  // That's alias to max_lazy_match, don't use directly
+  //this.max_insert_length = 0;
+  /* Insert new strings in the hash table only if the match length is not
+   * greater than this length. This saves time but degrades compression.
+   * max_insert_length is used only for compression levels <= 3.
+   */
+
+  this.level = 0;     /* compression level (1..9) */
+  this.strategy = 0;  /* favor or force Huffman coding*/
+
+  this.good_match = 0;
+  /* Use a faster search when the previous match is longer than this */
+
+  this.nice_match = 0; /* Stop searching when current match exceeds this */
+
+              /* used by trees.c: */
+
+  /* Didn't use ct_data typedef below to suppress compiler warning */
+
+  // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */
+  // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
+  // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */
+
+  // Use flat array of DOUBLE size, with interleaved fata,
+  // because JS does not support effective
+  this.dyn_ltree  = new Uint16Array(HEAP_SIZE * 2);
+  this.dyn_dtree  = new Uint16Array((2 * D_CODES + 1) * 2);
+  this.bl_tree    = new Uint16Array((2 * BL_CODES + 1) * 2);
+  zero(this.dyn_ltree);
+  zero(this.dyn_dtree);
+  zero(this.bl_tree);
+
+  this.l_desc   = null;         /* desc. for literal tree */
+  this.d_desc   = null;         /* desc. for distance tree */
+  this.bl_desc  = null;         /* desc. for bit length tree */
+
+  //ush bl_count[MAX_BITS+1];
+  this.bl_count = new Uint16Array(MAX_BITS + 1);
+  /* number of codes at each bit length for an optimal tree */
+
+  //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */
+  this.heap = new Uint16Array(2 * L_CODES + 1);  /* heap used to build the Huffman trees */
+  zero(this.heap);
+
+  this.heap_len = 0;               /* number of elements in the heap */
+  this.heap_max = 0;               /* element of largest frequency */
+  /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
+   * The same heap array is used to build all trees.
+   */
+
+  this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];
+  zero(this.depth);
+  /* Depth of each subtree used as tie breaker for trees of equal frequency
+   */
+
+  this.sym_buf = 0;        /* buffer for distances and literals/lengths */
+
+  this.lit_bufsize = 0;
+  /* Size of match buffer for literals/lengths.  There are 4 reasons for
+   * limiting lit_bufsize to 64K:
+   *   - frequencies can be kept in 16 bit counters
+   *   - if compression is not successful for the first block, all input
+   *     data is still in the window so we can still emit a stored block even
+   *     when input comes from standard input.  (This can also be done for
+   *     all blocks if lit_bufsize is not greater than 32K.)
+   *   - if compression is not successful for a file smaller than 64K, we can
+   *     even emit a stored file instead of a stored block (saving 5 bytes).
+   *     This is applicable only for zip (not gzip or zlib).
+   *   - creating new Huffman trees less frequently may not provide fast
+   *     adaptation to changes in the input data statistics. (Take for
+   *     example a binary file with poorly compressible code followed by
+   *     a highly compressible string table.) Smaller buffer sizes give
+   *     fast adaptation but have of course the overhead of transmitting
+   *     trees more frequently.
+   *   - I can't count above 4
+   */
+
+  this.sym_next = 0;      /* running index in sym_buf */
+  this.sym_end = 0;       /* symbol table full when sym_next reaches this */
+
+  this.opt_len = 0;       /* bit length of current block with optimal trees */
+  this.static_len = 0;    /* bit length of current block with static trees */
+  this.matches = 0;       /* number of string matches in current block */
+  this.insert = 0;        /* bytes at end of window left to insert */
+
+
+  this.bi_buf = 0;
+  /* Output buffer. bits are inserted starting at the bottom (least
+   * significant bits).
+   */
+  this.bi_valid = 0;
+  /* Number of valid bits in bi_buf.  All bits above the last valid bit
+   * are always zero.
+   */
+
+  // Used for window memory init. We safely ignore it for JS. That makes
+  // sense only for pointers and memory check tools.
+  //this.high_water = 0;
+  /* High water mark offset in window for initialized bytes -- bytes above
+   * this are set to zero in order to avoid memory check warnings when
+   * longest match routines access bytes past the input.  This is then
+   * updated to the new high water mark.
+   */
+}
+
+
+/* =========================================================================
+ * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
+ */
+const deflateStateCheck = (strm) => {
+
+  if (!strm) {
+    return 1;
+  }
+  const s = strm.state;
+  if (!s || s.strm !== strm || (s.status !== INIT_STATE &&
+//#ifdef GZIP
+                                s.status !== GZIP_STATE &&
+//#endif
+                                s.status !== EXTRA_STATE &&
+                                s.status !== NAME_STATE &&
+                                s.status !== COMMENT_STATE &&
+                                s.status !== HCRC_STATE &&
+                                s.status !== BUSY_STATE &&
+                                s.status !== FINISH_STATE)) {
+    return 1;
+  }
+  return 0;
+};
+
+
+const deflateResetKeep = (strm) => {
+
+  if (deflateStateCheck(strm)) {
+    return err(strm, Z_STREAM_ERROR);
+  }
+
+  strm.total_in = strm.total_out = 0;
+  strm.data_type = Z_UNKNOWN;
+
+  const s = strm.state;
+  s.pending = 0;
+  s.pending_out = 0;
+
+  if (s.wrap < 0) {
+    s.wrap = -s.wrap;
+    /* was made negative by deflate(..., Z_FINISH); */
+  }
+  s.status =
+//#ifdef GZIP
+    s.wrap === 2 ? GZIP_STATE :
+//#endif
+    s.wrap ? INIT_STATE : BUSY_STATE;
+  strm.adler = (s.wrap === 2) ?
+    0  // crc32(0, Z_NULL, 0)
+  :
+    1; // adler32(0, Z_NULL, 0)
+  s.last_flush = -2;
+  _tr_init(s);
+  return Z_OK;
+};
+
+
+const deflateReset = (strm) => {
+
+  const ret = deflateResetKeep(strm);
+  if (ret === Z_OK) {
+    lm_init(strm.state);
+  }
+  return ret;
+};
+
+
+const deflateSetHeader = (strm, head) => {
+
+  if (deflateStateCheck(strm) || strm.state.wrap !== 2) {
+    return Z_STREAM_ERROR;
+  }
+  strm.state.gzhead = head;
+  return Z_OK;
+};
+
+
+const deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {
+
+  if (!strm) { // === Z_NULL
+    return Z_STREAM_ERROR;
+  }
+  let wrap = 1;
+
+  if (level === Z_DEFAULT_COMPRESSION) {
+    level = 6;
+  }
+
+  if (windowBits < 0) { /* suppress zlib wrapper */
+    wrap = 0;
+    windowBits = -windowBits;
+  }
+
+  else if (windowBits > 15) {
+    wrap = 2;           /* write gzip wrapper instead */
+    windowBits -= 16;
+  }
+
+
+  if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||
+    windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+    strategy < 0 || strategy > Z_FIXED || (windowBits === 8 && wrap !== 1)) {
+    return err(strm, Z_STREAM_ERROR);
+  }
+
+
+  if (windowBits === 8) {
+    windowBits = 9;
+  }
+  /* until 256-byte window bug fixed */
+
+  const s = new DeflateState();
+
+  strm.state = s;
+  s.strm = strm;
+  s.status = INIT_STATE;     /* to pass state test in deflateReset() */
+
+  s.wrap = wrap;
+  s.gzhead = null;
+  s.w_bits = windowBits;
+  s.w_size = 1 << s.w_bits;
+  s.w_mask = s.w_size - 1;
+
+  s.hash_bits = memLevel + 7;
+  s.hash_size = 1 << s.hash_bits;
+  s.hash_mask = s.hash_size - 1;
+  s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
+
+  s.window = new Uint8Array(s.w_size * 2);
+  s.head = new Uint16Array(s.hash_size);
+  s.prev = new Uint16Array(s.w_size);
+
+  // Don't need mem init magic for JS.
+  //s.high_water = 0;  /* nothing written to s->window yet */
+
+  s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+
+  /* We overlay pending_buf and sym_buf. This works since the average size
+   * for length/distance pairs over any compressed block is assured to be 31
+   * bits or less.
+   *
+   * Analysis: The longest fixed codes are a length code of 8 bits plus 5
+   * extra bits, for lengths 131 to 257. The longest fixed distance codes are
+   * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
+   * possible fixed-codes length/distance pair is then 31 bits total.
+   *
+   * sym_buf starts one-fourth of the way into pending_buf. So there are
+   * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
+   * in sym_buf is three bytes -- two for the distance and one for the
+   * literal/length. As each symbol is consumed, the pointer to the next
+   * sym_buf value to read moves forward three bytes. From that symbol, up to
+   * 31 bits are written to pending_buf. The closest the written pending_buf
+   * bits gets to the next sym_buf symbol to read is just before the last
+   * code is written. At that time, 31*(n-2) bits have been written, just
+   * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
+   * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
+   * symbols are written.) The closest the writing gets to what is unread is
+   * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
+   * can range from 128 to 32768.
+   *
+   * Therefore, at a minimum, there are 142 bits of space between what is
+   * written and what is read in the overlain buffers, so the symbols cannot
+   * be overwritten by the compressed data. That space is actually 139 bits,
+   * due to the three-bit fixed-code block header.
+   *
+   * That covers the case where either Z_FIXED is specified, forcing fixed
+   * codes, or when the use of fixed codes is chosen, because that choice
+   * results in a smaller compressed block than dynamic codes. That latter
+   * condition then assures that the above analysis also covers all dynamic
+   * blocks. A dynamic-code block will only be chosen to be emitted if it has
+   * fewer bits than a fixed-code block would for the same set of symbols.
+   * Therefore its average symbol length is assured to be less than 31. So
+   * the compressed data for a dynamic block also cannot overwrite the
+   * symbols from which it is being constructed.
+   */
+
+  s.pending_buf_size = s.lit_bufsize * 4;
+  s.pending_buf = new Uint8Array(s.pending_buf_size);
+
+  // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)
+  //s->sym_buf = s->pending_buf + s->lit_bufsize;
+  s.sym_buf = s.lit_bufsize;
+
+  //s->sym_end = (s->lit_bufsize - 1) * 3;
+  s.sym_end = (s.lit_bufsize - 1) * 3;
+  /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
+   * on 16 bit machines and because stored blocks are restricted to
+   * 64K-1 bytes.
+   */
+
+  s.level = level;
+  s.strategy = strategy;
+  s.method = method;
+
+  return deflateReset(strm);
+};
+
+const deflateInit = (strm, level) => {
+
+  return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
+};
+
+
+/* ========================================================================= */
+const deflate = (strm, flush) => {
+
+  if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {
+    return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;
+  }
+
+  const s = strm.state;
+
+  if (!strm.output ||
+      (strm.avail_in !== 0 && !strm.input) ||
+      (s.status === FINISH_STATE && flush !== Z_FINISH)) {
+    return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);
+  }
+
+  const old_flush = s.last_flush;
+  s.last_flush = flush;
+
+  /* Flush as much pending output as possible */
+  if (s.pending !== 0) {
+    flush_pending(strm);
+    if (strm.avail_out === 0) {
+      /* Since avail_out is 0, deflate will be called again with
+       * more output space, but possibly with both pending and
+       * avail_in equal to zero. There won't be anything to do,
+       * but this is not an error situation so make sure we
+       * return OK instead of BUF_ERROR at next call of deflate:
+       */
+      s.last_flush = -1;
+      return Z_OK;
+    }
+
+    /* Make sure there is something to do and avoid duplicate consecutive
+     * flushes. For repeated and useless calls with Z_FINISH, we keep
+     * returning Z_STREAM_END instead of Z_BUF_ERROR.
+     */
+  } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&
+    flush !== Z_FINISH) {
+    return err(strm, Z_BUF_ERROR);
+  }
+
+  /* User must not provide more input after the first FINISH: */
+  if (s.status === FINISH_STATE && strm.avail_in !== 0) {
+    return err(strm, Z_BUF_ERROR);
+  }
+
+  /* Write the header */
+  if (s.status === INIT_STATE && s.wrap === 0) {
+    s.status = BUSY_STATE;
+  }
+  if (s.status === INIT_STATE) {
+    /* zlib header */
+    let header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;
+    let level_flags = -1;
+
+    if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {
+      level_flags = 0;
+    } else if (s.level < 6) {
+      level_flags = 1;
+    } else if (s.level === 6) {
+      level_flags = 2;
+    } else {
+      level_flags = 3;
+    }
+    header |= (level_flags << 6);
+    if (s.strstart !== 0) { header |= PRESET_DICT; }
+    header += 31 - (header % 31);
+
+    putShortMSB(s, header);
+
+    /* Save the adler32 of the preset dictionary: */
+    if (s.strstart !== 0) {
+      putShortMSB(s, strm.adler >>> 16);
+      putShortMSB(s, strm.adler & 0xffff);
+    }
+    strm.adler = 1; // adler32(0L, Z_NULL, 0);
+    s.status = BUSY_STATE;
+
+    /* Compression must start with an empty pending buffer */
+    flush_pending(strm);
+    if (s.pending !== 0) {
+      s.last_flush = -1;
+      return Z_OK;
+    }
+  }
+//#ifdef GZIP
+  if (s.status === GZIP_STATE) {
+    /* gzip header */
+    strm.adler = 0;  //crc32(0L, Z_NULL, 0);
+    put_byte(s, 31);
+    put_byte(s, 139);
+    put_byte(s, 8);
+    if (!s.gzhead) { // s->gzhead == Z_NULL
+      put_byte(s, 0);
+      put_byte(s, 0);
+      put_byte(s, 0);
+      put_byte(s, 0);
+      put_byte(s, 0);
+      put_byte(s, s.level === 9 ? 2 :
+                  (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
+                   4 : 0));
+      put_byte(s, OS_CODE);
+      s.status = BUSY_STATE;
+
+      /* Compression must start with an empty pending buffer */
+      flush_pending(strm);
+      if (s.pending !== 0) {
+        s.last_flush = -1;
+        return Z_OK;
+      }
+    }
+    else {
+      put_byte(s, (s.gzhead.text ? 1 : 0) +
+                  (s.gzhead.hcrc ? 2 : 0) +
+                  (!s.gzhead.extra ? 0 : 4) +
+                  (!s.gzhead.name ? 0 : 8) +
+                  (!s.gzhead.comment ? 0 : 16)
+      );
+      put_byte(s, s.gzhead.time & 0xff);
+      put_byte(s, (s.gzhead.time >> 8) & 0xff);
+      put_byte(s, (s.gzhead.time >> 16) & 0xff);
+      put_byte(s, (s.gzhead.time >> 24) & 0xff);
+      put_byte(s, s.level === 9 ? 2 :
+                  (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?
+                   4 : 0));
+      put_byte(s, s.gzhead.os & 0xff);
+      if (s.gzhead.extra && s.gzhead.extra.length) {
+        put_byte(s, s.gzhead.extra.length & 0xff);
+        put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);
+      }
+      if (s.gzhead.hcrc) {
+        strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);
+      }
+      s.gzindex = 0;
+      s.status = EXTRA_STATE;
+    }
+  }
+  if (s.status === EXTRA_STATE) {
+    if (s.gzhead.extra/* != Z_NULL*/) {
+      let beg = s.pending;   /* start of bytes to update crc */
+      let left = (s.gzhead.extra.length & 0xffff) - s.gzindex;
+      while (s.pending + left > s.pending_buf_size) {
+        let copy = s.pending_buf_size - s.pending;
+        // zmemcpy(s.pending_buf + s.pending,
+        //    s.gzhead.extra + s.gzindex, copy);
+        s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);
+        s.pending = s.pending_buf_size;
+        //--- HCRC_UPDATE(beg) ---//
+        if (s.gzhead.hcrc && s.pending > beg) {
+          strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+        }
+        //---//
+        s.gzindex += copy;
+        flush_pending(strm);
+        if (s.pending !== 0) {
+          s.last_flush = -1;
+          return Z_OK;
+        }
+        beg = 0;
+        left -= copy;
+      }
+      // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility
+      //              TypedArray.slice and TypedArray.from don't exist in IE10-IE11
+      let gzhead_extra = new Uint8Array(s.gzhead.extra);
+      // zmemcpy(s->pending_buf + s->pending,
+      //     s->gzhead->extra + s->gzindex, left);
+      s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);
+      s.pending += left;
+      //--- HCRC_UPDATE(beg) ---//
+      if (s.gzhead.hcrc && s.pending > beg) {
+        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+      }
+      //---//
+      s.gzindex = 0;
+    }
+    s.status = NAME_STATE;
+  }
+  if (s.status === NAME_STATE) {
+    if (s.gzhead.name/* != Z_NULL*/) {
+      let beg = s.pending;   /* start of bytes to update crc */
+      let val;
+      do {
+        if (s.pending === s.pending_buf_size) {
+          //--- HCRC_UPDATE(beg) ---//
+          if (s.gzhead.hcrc && s.pending > beg) {
+            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+          }
+          //---//
+          flush_pending(strm);
+          if (s.pending !== 0) {
+            s.last_flush = -1;
+            return Z_OK;
+          }
+          beg = 0;
+        }
+        // JS specific: little magic to add zero terminator to end of string
+        if (s.gzindex < s.gzhead.name.length) {
+          val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;
+        } else {
+          val = 0;
+        }
+        put_byte(s, val);
+      } while (val !== 0);
+      //--- HCRC_UPDATE(beg) ---//
+      if (s.gzhead.hcrc && s.pending > beg) {
+        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+      }
+      //---//
+      s.gzindex = 0;
+    }
+    s.status = COMMENT_STATE;
+  }
+  if (s.status === COMMENT_STATE) {
+    if (s.gzhead.comment/* != Z_NULL*/) {
+      let beg = s.pending;   /* start of bytes to update crc */
+      let val;
+      do {
+        if (s.pending === s.pending_buf_size) {
+          //--- HCRC_UPDATE(beg) ---//
+          if (s.gzhead.hcrc && s.pending > beg) {
+            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+          }
+          //---//
+          flush_pending(strm);
+          if (s.pending !== 0) {
+            s.last_flush = -1;
+            return Z_OK;
+          }
+          beg = 0;
+        }
+        // JS specific: little magic to add zero terminator to end of string
+        if (s.gzindex < s.gzhead.comment.length) {
+          val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;
+        } else {
+          val = 0;
+        }
+        put_byte(s, val);
+      } while (val !== 0);
+      //--- HCRC_UPDATE(beg) ---//
+      if (s.gzhead.hcrc && s.pending > beg) {
+        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
+      }
+      //---//
+    }
+    s.status = HCRC_STATE;
+  }
+  if (s.status === HCRC_STATE) {
+    if (s.gzhead.hcrc) {
+      if (s.pending + 2 > s.pending_buf_size) {
+        flush_pending(strm);
+        if (s.pending !== 0) {
+          s.last_flush = -1;
+          return Z_OK;
+        }
+      }
+      put_byte(s, strm.adler & 0xff);
+      put_byte(s, (strm.adler >> 8) & 0xff);
+      strm.adler = 0; //crc32(0L, Z_NULL, 0);
+    }
+    s.status = BUSY_STATE;
+
+    /* Compression must start with an empty pending buffer */
+    flush_pending(strm);
+    if (s.pending !== 0) {
+      s.last_flush = -1;
+      return Z_OK;
+    }
+  }
+//#endif
+
+  /* Start a new block or continue the current one.
+   */
+  if (strm.avail_in !== 0 || s.lookahead !== 0 ||
+    (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {
+    let bstate = s.level === 0 ? deflate_stored(s, flush) :
+                 s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
+                 s.strategy === Z_RLE ? deflate_rle(s, flush) :
+                 configuration_table[s.level].func(s, flush);
+
+    if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {
+      s.status = FINISH_STATE;
+    }
+    if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {
+      if (strm.avail_out === 0) {
+        s.last_flush = -1;
+        /* avoid BUF_ERROR next call, see above */
+      }
+      return Z_OK;
+      /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
+       * of deflate should use the same flush parameter to make sure
+       * that the flush is complete. So we don't have to output an
+       * empty block here, this will be done at next call. This also
+       * ensures that for a very small output buffer, we emit at most
+       * one empty block.
+       */
+    }
+    if (bstate === BS_BLOCK_DONE) {
+      if (flush === Z_PARTIAL_FLUSH) {
+        _tr_align(s);
+      }
+      else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
+
+        _tr_stored_block(s, 0, 0, false);
+        /* For a full flush, this empty block will be recognized
+         * as a special marker by inflate_sync().
+         */
+        if (flush === Z_FULL_FLUSH) {
+          /*** CLEAR_HASH(s); ***/             /* forget history */
+          zero(s.head); // Fill with NIL (= 0);
+
+          if (s.lookahead === 0) {
+            s.strstart = 0;
+            s.block_start = 0;
+            s.insert = 0;
+          }
+        }
+      }
+      flush_pending(strm);
+      if (strm.avail_out === 0) {
+        s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */
+        return Z_OK;
+      }
+    }
+  }
+
+  if (flush !== Z_FINISH) { return Z_OK; }
+  if (s.wrap <= 0) { return Z_STREAM_END; }
+
+  /* Write the trailer */
+  if (s.wrap === 2) {
+    put_byte(s, strm.adler & 0xff);
+    put_byte(s, (strm.adler >> 8) & 0xff);
+    put_byte(s, (strm.adler >> 16) & 0xff);
+    put_byte(s, (strm.adler >> 24) & 0xff);
+    put_byte(s, strm.total_in & 0xff);
+    put_byte(s, (strm.total_in >> 8) & 0xff);
+    put_byte(s, (strm.total_in >> 16) & 0xff);
+    put_byte(s, (strm.total_in >> 24) & 0xff);
+  }
+  else
+  {
+    putShortMSB(s, strm.adler >>> 16);
+    putShortMSB(s, strm.adler & 0xffff);
+  }
+
+  flush_pending(strm);
+  /* If avail_out is zero, the application will call deflate again
+   * to flush the rest.
+   */
+  if (s.wrap > 0) { s.wrap = -s.wrap; }
+  /* write the trailer only once! */
+  return s.pending !== 0 ? Z_OK : Z_STREAM_END;
+};
+
+
+const deflateEnd = (strm) => {
+
+  if (deflateStateCheck(strm)) {
+    return Z_STREAM_ERROR;
+  }
+
+  const status = strm.state.status;
+
+  strm.state = null;
+
+  return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;
+};
+
+
+/* =========================================================================
+ * Initializes the compression dictionary from the given byte
+ * sequence without producing any compressed output.
+ */
+const deflateSetDictionary = (strm, dictionary) => {
+
+  let dictLength = dictionary.length;
+
+  if (deflateStateCheck(strm)) {
+    return Z_STREAM_ERROR;
+  }
+
+  const s = strm.state;
+  const wrap = s.wrap;
+
+  if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {
+    return Z_STREAM_ERROR;
+  }
+
+  /* when using zlib wrappers, compute Adler-32 for provided dictionary */
+  if (wrap === 1) {
+    /* adler32(strm->adler, dictionary, dictLength); */
+    strm.adler = adler32(strm.adler, dictionary, dictLength, 0);
+  }
+
+  s.wrap = 0;   /* avoid computing Adler-32 in read_buf */
+
+  /* if dictionary would fill window, just replace the history */
+  if (dictLength >= s.w_size) {
+    if (wrap === 0) {            /* already empty otherwise */
+      /*** CLEAR_HASH(s); ***/
+      zero(s.head); // Fill with NIL (= 0);
+      s.strstart = 0;
+      s.block_start = 0;
+      s.insert = 0;
+    }
+    /* use the tail */
+    // dictionary = dictionary.slice(dictLength - s.w_size);
+    let tmpDict = new Uint8Array(s.w_size);
+    tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);
+    dictionary = tmpDict;
+    dictLength = s.w_size;
+  }
+  /* insert dictionary into window and hash */
+  const avail = strm.avail_in;
+  const next = strm.next_in;
+  const input = strm.input;
+  strm.avail_in = dictLength;
+  strm.next_in = 0;
+  strm.input = dictionary;
+  fill_window(s);
+  while (s.lookahead >= MIN_MATCH) {
+    let str = s.strstart;
+    let n = s.lookahead - (MIN_MATCH - 1);
+    do {
+      /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */
+      s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);
+
+      s.prev[str & s.w_mask] = s.head[s.ins_h];
+
+      s.head[s.ins_h] = str;
+      str++;
+    } while (--n);
+    s.strstart = str;
+    s.lookahead = MIN_MATCH - 1;
+    fill_window(s);
+  }
+  s.strstart += s.lookahead;
+  s.block_start = s.strstart;
+  s.insert = s.lookahead;
+  s.lookahead = 0;
+  s.match_length = s.prev_length = MIN_MATCH - 1;
+  s.match_available = 0;
+  strm.next_in = next;
+  strm.input = input;
+  strm.avail_in = avail;
+  s.wrap = wrap;
+  return Z_OK;
+};
+
+
+module.exports.deflateInit = deflateInit;
+module.exports.deflateInit2 = deflateInit2;
+module.exports.deflateReset = deflateReset;
+module.exports.deflateResetKeep = deflateResetKeep;
+module.exports.deflateSetHeader = deflateSetHeader;
+module.exports.deflate = deflate;
+module.exports.deflateEnd = deflateEnd;
+module.exports.deflateSetDictionary = deflateSetDictionary;
+module.exports.deflateInfo = 'pako deflate (from Nodeca project)';
+
+/* Not implemented
+module.exports.deflateBound = deflateBound;
+module.exports.deflateCopy = deflateCopy;
+module.exports.deflateGetDictionary = deflateGetDictionary;
+module.exports.deflateParams = deflateParams;
+module.exports.deflatePending = deflatePending;
+module.exports.deflatePrime = deflatePrime;
+module.exports.deflateTune = deflateTune;
+*/
+
+
+/***/ }),
+
+/***/ 87784:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+function GZheader() {
+  /* true if compressed data believed to be text */
+  this.text       = 0;
+  /* modification time */
+  this.time       = 0;
+  /* extra flags (not used when writing a gzip file) */
+  this.xflags     = 0;
+  /* operating system */
+  this.os         = 0;
+  /* pointer to extra field or Z_NULL if none */
+  this.extra      = null;
+  /* extra field length (valid if extra != Z_NULL) */
+  this.extra_len  = 0; // Actually, we don't need it in JS,
+                       // but leave for few code modifications
+
+  //
+  // Setup limits is not necessary because in js we should not preallocate memory
+  // for inflate use constant limit in 65536 bytes
+  //
+
+  /* space at extra (only when reading header) */
+  // this.extra_max  = 0;
+  /* pointer to zero-terminated file name or Z_NULL */
+  this.name       = '';
+  /* space at name (only when reading header) */
+  // this.name_max   = 0;
+  /* pointer to zero-terminated comment or Z_NULL */
+  this.comment    = '';
+  /* space at comment (only when reading header) */
+  // this.comm_max   = 0;
+  /* true if there was or will be a header crc */
+  this.hcrc       = 0;
+  /* true when done reading gzip header (not used when writing a gzip file) */
+  this.done       = false;
+}
+
+module.exports = GZheader;
+
+
+/***/ }),
+
+/***/ 6144:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+// See state defs from inflate.js
+const BAD = 16209;       /* got a data error -- remain here until reset */
+const TYPE = 16191;      /* i: waiting for type bits, including last-flag bit */
+
+/*
+   Decode literal, length, and distance codes and write out the resulting
+   literal and match bytes until either not enough input or output is
+   available, an end-of-block is encountered, or a data error is encountered.
+   When large enough input and output buffers are supplied to inflate(), for
+   example, a 16K input buffer and a 64K output buffer, more than 95% of the
+   inflate execution time is spent in this routine.
+
+   Entry assumptions:
+
+        state.mode === LEN
+        strm.avail_in >= 6
+        strm.avail_out >= 258
+        start >= strm.avail_out
+        state.bits < 8
+
+   On return, state.mode is one of:
+
+        LEN -- ran out of enough output space or enough available input
+        TYPE -- reached end of block code, inflate() to interpret next block
+        BAD -- error in block data
+
+   Notes:
+
+    - The maximum input bits used by a length/distance pair is 15 bits for the
+      length code, 5 bits for the length extra, 15 bits for the distance code,
+      and 13 bits for the distance extra.  This totals 48 bits, or six bytes.
+      Therefore if strm.avail_in >= 6, then there is enough input to avoid
+      checking for available input while decoding.
+
+    - The maximum bytes that a single length/distance pair can output is 258
+      bytes, which is the maximum length that can be coded.  inflate_fast()
+      requires strm.avail_out >= 258 for each loop to avoid checking for
+      output space.
+ */
+module.exports = function inflate_fast(strm, start) {
+  let _in;                    /* local strm.input */
+  let last;                   /* have enough input while in < last */
+  let _out;                   /* local strm.output */
+  let beg;                    /* inflate()'s initial strm.output */
+  let end;                    /* while out < end, enough space available */
+//#ifdef INFLATE_STRICT
+  let dmax;                   /* maximum distance from zlib header */
+//#endif
+  let wsize;                  /* window size or zero if not using window */
+  let whave;                  /* valid bytes in the window */
+  let wnext;                  /* window write index */
+  // Use `s_window` instead `window`, avoid conflict with instrumentation tools
+  let s_window;               /* allocated sliding window, if wsize != 0 */
+  let hold;                   /* local strm.hold */
+  let bits;                   /* local strm.bits */
+  let lcode;                  /* local strm.lencode */
+  let dcode;                  /* local strm.distcode */
+  let lmask;                  /* mask for first level of length codes */
+  let dmask;                  /* mask for first level of distance codes */
+  let here;                   /* retrieved table entry */
+  let op;                     /* code bits, operation, extra bits, or */
+                              /*  window position, window bytes to copy */
+  let len;                    /* match length, unused bytes */
+  let dist;                   /* match distance */
+  let from;                   /* where to copy match from */
+  let from_source;
+
+
+  let input, output; // JS specific, because we have no pointers
+
+  /* copy state to local variables */
+  const state = strm.state;
+  //here = state.here;
+  _in = strm.next_in;
+  input = strm.input;
+  last = _in + (strm.avail_in - 5);
+  _out = strm.next_out;
+  output = strm.output;
+  beg = _out - (start - strm.avail_out);
+  end = _out + (strm.avail_out - 257);
+//#ifdef INFLATE_STRICT
+  dmax = state.dmax;
+//#endif
+  wsize = state.wsize;
+  whave = state.whave;
+  wnext = state.wnext;
+  s_window = state.window;
+  hold = state.hold;
+  bits = state.bits;
+  lcode = state.lencode;
+  dcode = state.distcode;
+  lmask = (1 << state.lenbits) - 1;
+  dmask = (1 << state.distbits) - 1;
+
+
+  /* decode literals and length/distances until end-of-block or not enough
+     input data or output space */
+
+  top:
+  do {
+    if (bits < 15) {
+      hold += input[_in++] << bits;
+      bits += 8;
+      hold += input[_in++] << bits;
+      bits += 8;
+    }
+
+    here = lcode[hold & lmask];
+
+    dolen:
+    for (;;) { // Goto emulation
+      op = here >>> 24/*here.bits*/;
+      hold >>>= op;
+      bits -= op;
+      op = (here >>> 16) & 0xff/*here.op*/;
+      if (op === 0) {                          /* literal */
+        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+        //        "inflate:         literal '%c'\n" :
+        //        "inflate:         literal 0x%02x\n", here.val));
+        output[_out++] = here & 0xffff/*here.val*/;
+      }
+      else if (op & 16) {                     /* length base */
+        len = here & 0xffff/*here.val*/;
+        op &= 15;                           /* number of extra bits */
+        if (op) {
+          if (bits < op) {
+            hold += input[_in++] << bits;
+            bits += 8;
+          }
+          len += hold & ((1 << op) - 1);
+          hold >>>= op;
+          bits -= op;
+        }
+        //Tracevv((stderr, "inflate:         length %u\n", len));
+        if (bits < 15) {
+          hold += input[_in++] << bits;
+          bits += 8;
+          hold += input[_in++] << bits;
+          bits += 8;
+        }
+        here = dcode[hold & dmask];
+
+        dodist:
+        for (;;) { // goto emulation
+          op = here >>> 24/*here.bits*/;
+          hold >>>= op;
+          bits -= op;
+          op = (here >>> 16) & 0xff/*here.op*/;
+
+          if (op & 16) {                      /* distance base */
+            dist = here & 0xffff/*here.val*/;
+            op &= 15;                       /* number of extra bits */
+            if (bits < op) {
+              hold += input[_in++] << bits;
+              bits += 8;
+              if (bits < op) {
+                hold += input[_in++] << bits;
+                bits += 8;
+              }
+            }
+            dist += hold & ((1 << op) - 1);
+//#ifdef INFLATE_STRICT
+            if (dist > dmax) {
+              strm.msg = 'invalid distance too far back';
+              state.mode = BAD;
+              break top;
+            }
+//#endif
+            hold >>>= op;
+            bits -= op;
+            //Tracevv((stderr, "inflate:         distance %u\n", dist));
+            op = _out - beg;                /* max distance in output */
+            if (dist > op) {                /* see if copy from window */
+              op = dist - op;               /* distance back in window */
+              if (op > whave) {
+                if (state.sane) {
+                  strm.msg = 'invalid distance too far back';
+                  state.mode = BAD;
+                  break top;
+                }
+
+// (!) This block is disabled in zlib defaults,
+// don't enable it for binary compatibility
+//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+//                if (len <= op - whave) {
+//                  do {
+//                    output[_out++] = 0;
+//                  } while (--len);
+//                  continue top;
+//                }
+//                len -= op - whave;
+//                do {
+//                  output[_out++] = 0;
+//                } while (--op > whave);
+//                if (op === 0) {
+//                  from = _out - dist;
+//                  do {
+//                    output[_out++] = output[from++];
+//                  } while (--len);
+//                  continue top;
+//                }
+//#endif
+              }
+              from = 0; // window index
+              from_source = s_window;
+              if (wnext === 0) {           /* very common case */
+                from += wsize - op;
+                if (op < len) {         /* some from window */
+                  len -= op;
+                  do {
+                    output[_out++] = s_window[from++];
+                  } while (--op);
+                  from = _out - dist;  /* rest from output */
+                  from_source = output;
+                }
+              }
+              else if (wnext < op) {      /* wrap around window */
+                from += wsize + wnext - op;
+                op -= wnext;
+                if (op < len) {         /* some from end of window */
+                  len -= op;
+                  do {
+                    output[_out++] = s_window[from++];
+                  } while (--op);
+                  from = 0;
+                  if (wnext < len) {  /* some from start of window */
+                    op = wnext;
+                    len -= op;
+                    do {
+                      output[_out++] = s_window[from++];
+                    } while (--op);
+                    from = _out - dist;      /* rest from output */
+                    from_source = output;
+                  }
+                }
+              }
+              else {                      /* contiguous in window */
+                from += wnext - op;
+                if (op < len) {         /* some from window */
+                  len -= op;
+                  do {
+                    output[_out++] = s_window[from++];
+                  } while (--op);
+                  from = _out - dist;  /* rest from output */
+                  from_source = output;
+                }
+              }
+              while (len > 2) {
+                output[_out++] = from_source[from++];
+                output[_out++] = from_source[from++];
+                output[_out++] = from_source[from++];
+                len -= 3;
+              }
+              if (len) {
+                output[_out++] = from_source[from++];
+                if (len > 1) {
+                  output[_out++] = from_source[from++];
+                }
+              }
+            }
+            else {
+              from = _out - dist;          /* copy direct from output */
+              do {                        /* minimum length is three */
+                output[_out++] = output[from++];
+                output[_out++] = output[from++];
+                output[_out++] = output[from++];
+                len -= 3;
+              } while (len > 2);
+              if (len) {
+                output[_out++] = output[from++];
+                if (len > 1) {
+                  output[_out++] = output[from++];
+                }
+              }
+            }
+          }
+          else if ((op & 64) === 0) {          /* 2nd level distance code */
+            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
+            continue dodist;
+          }
+          else {
+            strm.msg = 'invalid distance code';
+            state.mode = BAD;
+            break top;
+          }
+
+          break; // need to emulate goto via "continue"
+        }
+      }
+      else if ((op & 64) === 0) {              /* 2nd level length code */
+        here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
+        continue dolen;
+      }
+      else if (op & 32) {                     /* end-of-block */
+        //Tracevv((stderr, "inflate:         end of block\n"));
+        state.mode = TYPE;
+        break top;
+      }
+      else {
+        strm.msg = 'invalid literal/length code';
+        state.mode = BAD;
+        break top;
+      }
+
+      break; // need to emulate goto via "continue"
+    }
+  } while (_in < last && _out < end);
+
+  /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
+  len = bits >> 3;
+  _in -= len;
+  bits -= len << 3;
+  hold &= (1 << bits) - 1;
+
+  /* update state and return */
+  strm.next_in = _in;
+  strm.next_out = _out;
+  strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
+  strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
+  state.hold = hold;
+  state.bits = bits;
+  return;
+};
+
+
+/***/ }),
+
+/***/ 60963:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+const adler32       = __webpack_require__(13950);
+const crc32         = __webpack_require__(24490);
+const inflate_fast  = __webpack_require__(6144);
+const inflate_table = __webpack_require__(73395);
+
+const CODES = 0;
+const LENS = 1;
+const DISTS = 2;
+
+/* Public constants ==========================================================*/
+/* ===========================================================================*/
+
+const {
+  Z_FINISH, Z_BLOCK, Z_TREES,
+  Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR, Z_BUF_ERROR,
+  Z_DEFLATED
+} = __webpack_require__(56009);
+
+
+/* STATES ====================================================================*/
+/* ===========================================================================*/
+
+
+const    HEAD = 16180;       /* i: waiting for magic header */
+const    FLAGS = 16181;      /* i: waiting for method and flags (gzip) */
+const    TIME = 16182;       /* i: waiting for modification time (gzip) */
+const    OS = 16183;         /* i: waiting for extra flags and operating system (gzip) */
+const    EXLEN = 16184;      /* i: waiting for extra length (gzip) */
+const    EXTRA = 16185;      /* i: waiting for extra bytes (gzip) */
+const    NAME = 16186;       /* i: waiting for end of file name (gzip) */
+const    COMMENT = 16187;    /* i: waiting for end of comment (gzip) */
+const    HCRC = 16188;       /* i: waiting for header crc (gzip) */
+const    DICTID = 16189;    /* i: waiting for dictionary check value */
+const    DICT = 16190;      /* waiting for inflateSetDictionary() call */
+const        TYPE = 16191;      /* i: waiting for type bits, including last-flag bit */
+const        TYPEDO = 16192;    /* i: same, but skip check to exit inflate on new block */
+const        STORED = 16193;    /* i: waiting for stored size (length and complement) */
+const        COPY_ = 16194;     /* i/o: same as COPY below, but only first time in */
+const        COPY = 16195;      /* i/o: waiting for input or output to copy stored block */
+const        TABLE = 16196;     /* i: waiting for dynamic block table lengths */
+const        LENLENS = 16197;   /* i: waiting for code length code lengths */
+const        CODELENS = 16198;  /* i: waiting for length/lit and distance code lengths */
+const            LEN_ = 16199;      /* i: same as LEN below, but only first time in */
+const            LEN = 16200;       /* i: waiting for length/lit/eob code */
+const            LENEXT = 16201;    /* i: waiting for length extra bits */
+const            DIST = 16202;      /* i: waiting for distance code */
+const            DISTEXT = 16203;   /* i: waiting for distance extra bits */
+const            MATCH = 16204;     /* o: waiting for output space to copy string */
+const            LIT = 16205;       /* o: waiting for output space to write literal */
+const    CHECK = 16206;     /* i: waiting for 32-bit check value */
+const    LENGTH = 16207;    /* i: waiting for 32-bit length (gzip) */
+const    DONE = 16208;      /* finished check, done -- remain here until reset */
+const    BAD = 16209;       /* got a data error -- remain here until reset */
+const    MEM = 16210;       /* got an inflate() memory error -- remain here until reset */
+const    SYNC = 16211;      /* looking for synchronization bytes to restart inflate() */
+
+/* ===========================================================================*/
+
+
+
+const ENOUGH_LENS = 852;
+const ENOUGH_DISTS = 592;
+//const ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);
+
+const MAX_WBITS = 15;
+/* 32K LZ77 window */
+const DEF_WBITS = MAX_WBITS;
+
+
+const zswap32 = (q) => {
+
+  return  (((q >>> 24) & 0xff) +
+          ((q >>> 8) & 0xff00) +
+          ((q & 0xff00) << 8) +
+          ((q & 0xff) << 24));
+};
+
+
+function InflateState() {
+  this.strm = null;           /* pointer back to this zlib stream */
+  this.mode = 0;              /* current inflate mode */
+  this.last = false;          /* true if processing last block */
+  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip,
+                                 bit 2 true to validate check value */
+  this.havedict = false;      /* true if dictionary provided */
+  this.flags = 0;             /* gzip header method and flags (0 if zlib), or
+                                 -1 if raw or no header yet */
+  this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */
+  this.check = 0;             /* protected copy of check value */
+  this.total = 0;             /* protected copy of output count */
+  // TODO: may be {}
+  this.head = null;           /* where to save gzip header information */
+
+  /* sliding window */
+  this.wbits = 0;             /* log base 2 of requested window size */
+  this.wsize = 0;             /* window size or zero if not using window */
+  this.whave = 0;             /* valid bytes in the window */
+  this.wnext = 0;             /* window write index */
+  this.window = null;         /* allocated sliding window, if needed */
+
+  /* bit accumulator */
+  this.hold = 0;              /* input bit accumulator */
+  this.bits = 0;              /* number of bits in "in" */
+
+  /* for string and stored block copying */
+  this.length = 0;            /* literal or length of data to copy */
+  this.offset = 0;            /* distance back to copy string from */
+
+  /* for table and code decoding */
+  this.extra = 0;             /* extra bits needed */
+
+  /* fixed and dynamic code tables */
+  this.lencode = null;          /* starting table for length/literal codes */
+  this.distcode = null;         /* starting table for distance codes */
+  this.lenbits = 0;           /* index bits for lencode */
+  this.distbits = 0;          /* index bits for distcode */
+
+  /* dynamic table building */
+  this.ncode = 0;             /* number of code length code lengths */
+  this.nlen = 0;              /* number of length code lengths */
+  this.ndist = 0;             /* number of distance code lengths */
+  this.have = 0;              /* number of code lengths in lens[] */
+  this.next = null;              /* next available space in codes[] */
+
+  this.lens = new Uint16Array(320); /* temporary storage for code lengths */
+  this.work = new Uint16Array(288); /* work area for code table building */
+
+  /*
+   because we don't have pointers in js, we use lencode and distcode directly
+   as buffers so we don't need codes
+  */
+  //this.codes = new Int32Array(ENOUGH);       /* space for code tables */
+  this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */
+  this.distdyn = null;             /* dynamic table for distance codes (JS specific) */
+  this.sane = 0;                   /* if false, allow invalid distance too far */
+  this.back = 0;                   /* bits back of last unprocessed length/lit */
+  this.was = 0;                    /* initial length of match */
+}
+
+
+const inflateStateCheck = (strm) => {
+
+  if (!strm) {
+    return 1;
+  }
+  const state = strm.state;
+  if (!state || state.strm !== strm ||
+    state.mode < HEAD || state.mode > SYNC) {
+    return 1;
+  }
+  return 0;
+};
+
+
+const inflateResetKeep = (strm) => {
+
+  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }
+  const state = strm.state;
+  strm.total_in = strm.total_out = state.total = 0;
+  strm.msg = ''; /*Z_NULL*/
+  if (state.wrap) {       /* to support ill-conceived Java test suite */
+    strm.adler = state.wrap & 1;
+  }
+  state.mode = HEAD;
+  state.last = 0;
+  state.havedict = 0;
+  state.flags = -1;
+  state.dmax = 32768;
+  state.head = null/*Z_NULL*/;
+  state.hold = 0;
+  state.bits = 0;
+  //state.lencode = state.distcode = state.next = state.codes;
+  state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);
+  state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);
+
+  state.sane = 1;
+  state.back = -1;
+  //Tracev((stderr, "inflate: reset\n"));
+  return Z_OK;
+};
+
+
+const inflateReset = (strm) => {
+
+  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }
+  const state = strm.state;
+  state.wsize = 0;
+  state.whave = 0;
+  state.wnext = 0;
+  return inflateResetKeep(strm);
+
+};
+
+
+const inflateReset2 = (strm, windowBits) => {
+  let wrap;
+
+  /* get the state */
+  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }
+  const state = strm.state;
+
+  /* extract wrap request from windowBits parameter */
+  if (windowBits < 0) {
+    wrap = 0;
+    windowBits = -windowBits;
+  }
+  else {
+    wrap = (windowBits >> 4) + 5;
+    if (windowBits < 48) {
+      windowBits &= 15;
+    }
+  }
+
+  /* set number of window bits, free window if different */
+  if (windowBits && (windowBits < 8 || windowBits > 15)) {
+    return Z_STREAM_ERROR;
+  }
+  if (state.window !== null && state.wbits !== windowBits) {
+    state.window = null;
+  }
+
+  /* update state and reset the rest of it */
+  state.wrap = wrap;
+  state.wbits = windowBits;
+  return inflateReset(strm);
+};
+
+
+const inflateInit2 = (strm, windowBits) => {
+
+  if (!strm) { return Z_STREAM_ERROR; }
+  //strm.msg = Z_NULL;                 /* in case we return an error */
+
+  const state = new InflateState();
+
+  //if (state === Z_NULL) return Z_MEM_ERROR;
+  //Tracev((stderr, "inflate: allocated\n"));
+  strm.state = state;
+  state.strm = strm;
+  state.window = null/*Z_NULL*/;
+  state.mode = HEAD;     /* to pass state test in inflateReset2() */
+  const ret = inflateReset2(strm, windowBits);
+  if (ret !== Z_OK) {
+    strm.state = null/*Z_NULL*/;
+  }
+  return ret;
+};
+
+
+const inflateInit = (strm) => {
+
+  return inflateInit2(strm, DEF_WBITS);
+};
+
+
+/*
+ Return state with length and distance decoding tables and index sizes set to
+ fixed code decoding.  Normally this returns fixed tables from inffixed.h.
+ If BUILDFIXED is defined, then instead this routine builds the tables the
+ first time it's called, and returns those tables the first time and
+ thereafter.  This reduces the size of the code by about 2K bytes, in
+ exchange for a little execution time.  However, BUILDFIXED should not be
+ used for threaded applications, since the rewriting of the tables and virgin
+ may not be thread-safe.
+ */
+let virgin = true;
+
+let lenfix, distfix; // We have no pointers in JS, so keep tables separate
+
+
+const fixedtables = (state) => {
+
+  /* build fixed huffman tables if first call (may not be thread safe) */
+  if (virgin) {
+    lenfix = new Int32Array(512);
+    distfix = new Int32Array(32);
+
+    /* literal/length table */
+    let sym = 0;
+    while (sym < 144) { state.lens[sym++] = 8; }
+    while (sym < 256) { state.lens[sym++] = 9; }
+    while (sym < 280) { state.lens[sym++] = 7; }
+    while (sym < 288) { state.lens[sym++] = 8; }
+
+    inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });
+
+    /* distance table */
+    sym = 0;
+    while (sym < 32) { state.lens[sym++] = 5; }
+
+    inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });
+
+    /* do this just once */
+    virgin = false;
+  }
+
+  state.lencode = lenfix;
+  state.lenbits = 9;
+  state.distcode = distfix;
+  state.distbits = 5;
+};
+
+
+/*
+ Update the window with the last wsize (normally 32K) bytes written before
+ returning.  If window does not exist yet, create it.  This is only called
+ when a window is already in use, or when output has been written during this
+ inflate call, but the end of the deflate stream has not been reached yet.
+ It is also called to create a window for dictionary data when a dictionary
+ is loaded.
+
+ Providing output buffers larger than 32K to inflate() should provide a speed
+ advantage, since only the last 32K of output is copied to the sliding window
+ upon return from inflate(), and since all distances after the first 32K of
+ output will fall in the output data, making match copies simpler and faster.
+ The advantage may be dependent on the size of the processor's data caches.
+ */
+const updatewindow = (strm, src, end, copy) => {
+
+  let dist;
+  const state = strm.state;
+
+  /* if it hasn't been done already, allocate space for the window */
+  if (state.window === null) {
+    state.wsize = 1 << state.wbits;
+    state.wnext = 0;
+    state.whave = 0;
+
+    state.window = new Uint8Array(state.wsize);
+  }
+
+  /* copy state->wsize or less output bytes into the circular window */
+  if (copy >= state.wsize) {
+    state.window.set(src.subarray(end - state.wsize, end), 0);
+    state.wnext = 0;
+    state.whave = state.wsize;
+  }
+  else {
+    dist = state.wsize - state.wnext;
+    if (dist > copy) {
+      dist = copy;
+    }
+    //zmemcpy(state->window + state->wnext, end - copy, dist);
+    state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);
+    copy -= dist;
+    if (copy) {
+      //zmemcpy(state->window, end - copy, copy);
+      state.window.set(src.subarray(end - copy, end), 0);
+      state.wnext = copy;
+      state.whave = state.wsize;
+    }
+    else {
+      state.wnext += dist;
+      if (state.wnext === state.wsize) { state.wnext = 0; }
+      if (state.whave < state.wsize) { state.whave += dist; }
+    }
+  }
+  return 0;
+};
+
+
+const inflate = (strm, flush) => {
+
+  let state;
+  let input, output;          // input/output buffers
+  let next;                   /* next input INDEX */
+  let put;                    /* next output INDEX */
+  let have, left;             /* available input and output */
+  let hold;                   /* bit buffer */
+  let bits;                   /* bits in bit buffer */
+  let _in, _out;              /* save starting available input and output */
+  let copy;                   /* number of stored or match bytes to copy */
+  let from;                   /* where to copy match bytes from */
+  let from_source;
+  let here = 0;               /* current decoding table entry */
+  let here_bits, here_op, here_val; // paked "here" denormalized (JS specific)
+  //let last;                   /* parent table entry */
+  let last_bits, last_op, last_val; // paked "last" denormalized (JS specific)
+  let len;                    /* length to copy for repeats, bits to drop */
+  let ret;                    /* return code */
+  const hbuf = new Uint8Array(4);    /* buffer for gzip header crc calculation */
+  let opts;
+
+  let n; // temporary variable for NEED_BITS
+
+  const order = /* permutation of code lengths */
+    new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);
+
+
+  if (inflateStateCheck(strm) || !strm.output ||
+      (!strm.input && strm.avail_in !== 0)) {
+    return Z_STREAM_ERROR;
+  }
+
+  state = strm.state;
+  if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */
+
+
+  //--- LOAD() ---
+  put = strm.next_out;
+  output = strm.output;
+  left = strm.avail_out;
+  next = strm.next_in;
+  input = strm.input;
+  have = strm.avail_in;
+  hold = state.hold;
+  bits = state.bits;
+  //---
+
+  _in = have;
+  _out = left;
+  ret = Z_OK;
+
+  inf_leave: // goto emulation
+  for (;;) {
+    switch (state.mode) {
+      case HEAD:
+        if (state.wrap === 0) {
+          state.mode = TYPEDO;
+          break;
+        }
+        //=== NEEDBITS(16);
+        while (bits < 16) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */
+          if (state.wbits === 0) {
+            state.wbits = 15;
+          }
+          state.check = 0/*crc32(0L, Z_NULL, 0)*/;
+          //=== CRC2(state.check, hold);
+          hbuf[0] = hold & 0xff;
+          hbuf[1] = (hold >>> 8) & 0xff;
+          state.check = crc32(state.check, hbuf, 2, 0);
+          //===//
+
+          //=== INITBITS();
+          hold = 0;
+          bits = 0;
+          //===//
+          state.mode = FLAGS;
+          break;
+        }
+        if (state.head) {
+          state.head.done = false;
+        }
+        if (!(state.wrap & 1) ||   /* check if zlib header allowed */
+          (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {
+          strm.msg = 'incorrect header check';
+          state.mode = BAD;
+          break;
+        }
+        if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {
+          strm.msg = 'unknown compression method';
+          state.mode = BAD;
+          break;
+        }
+        //--- DROPBITS(4) ---//
+        hold >>>= 4;
+        bits -= 4;
+        //---//
+        len = (hold & 0x0f)/*BITS(4)*/ + 8;
+        if (state.wbits === 0) {
+          state.wbits = len;
+        }
+        if (len > 15 || len > state.wbits) {
+          strm.msg = 'invalid window size';
+          state.mode = BAD;
+          break;
+        }
+
+        // !!! pako patch. Force use `options.windowBits` if passed.
+        // Required to always use max window size by default.
+        state.dmax = 1 << state.wbits;
+        //state.dmax = 1 << len;
+
+        state.flags = 0;               /* indicate zlib header */
+        //Tracev((stderr, "inflate:   zlib header ok\n"));
+        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
+        state.mode = hold & 0x200 ? DICTID : TYPE;
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        break;
+      case FLAGS:
+        //=== NEEDBITS(16); */
+        while (bits < 16) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        state.flags = hold;
+        if ((state.flags & 0xff) !== Z_DEFLATED) {
+          strm.msg = 'unknown compression method';
+          state.mode = BAD;
+          break;
+        }
+        if (state.flags & 0xe000) {
+          strm.msg = 'unknown header flags set';
+          state.mode = BAD;
+          break;
+        }
+        if (state.head) {
+          state.head.text = ((hold >> 8) & 1);
+        }
+        if ((state.flags & 0x0200) && (state.wrap & 4)) {
+          //=== CRC2(state.check, hold);
+          hbuf[0] = hold & 0xff;
+          hbuf[1] = (hold >>> 8) & 0xff;
+          state.check = crc32(state.check, hbuf, 2, 0);
+          //===//
+        }
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        state.mode = TIME;
+        /* falls through */
+      case TIME:
+        //=== NEEDBITS(32); */
+        while (bits < 32) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        if (state.head) {
+          state.head.time = hold;
+        }
+        if ((state.flags & 0x0200) && (state.wrap & 4)) {
+          //=== CRC4(state.check, hold)
+          hbuf[0] = hold & 0xff;
+          hbuf[1] = (hold >>> 8) & 0xff;
+          hbuf[2] = (hold >>> 16) & 0xff;
+          hbuf[3] = (hold >>> 24) & 0xff;
+          state.check = crc32(state.check, hbuf, 4, 0);
+          //===
+        }
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        state.mode = OS;
+        /* falls through */
+      case OS:
+        //=== NEEDBITS(16); */
+        while (bits < 16) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        if (state.head) {
+          state.head.xflags = (hold & 0xff);
+          state.head.os = (hold >> 8);
+        }
+        if ((state.flags & 0x0200) && (state.wrap & 4)) {
+          //=== CRC2(state.check, hold);
+          hbuf[0] = hold & 0xff;
+          hbuf[1] = (hold >>> 8) & 0xff;
+          state.check = crc32(state.check, hbuf, 2, 0);
+          //===//
+        }
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        state.mode = EXLEN;
+        /* falls through */
+      case EXLEN:
+        if (state.flags & 0x0400) {
+          //=== NEEDBITS(16); */
+          while (bits < 16) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          state.length = hold;
+          if (state.head) {
+            state.head.extra_len = hold;
+          }
+          if ((state.flags & 0x0200) && (state.wrap & 4)) {
+            //=== CRC2(state.check, hold);
+            hbuf[0] = hold & 0xff;
+            hbuf[1] = (hold >>> 8) & 0xff;
+            state.check = crc32(state.check, hbuf, 2, 0);
+            //===//
+          }
+          //=== INITBITS();
+          hold = 0;
+          bits = 0;
+          //===//
+        }
+        else if (state.head) {
+          state.head.extra = null/*Z_NULL*/;
+        }
+        state.mode = EXTRA;
+        /* falls through */
+      case EXTRA:
+        if (state.flags & 0x0400) {
+          copy = state.length;
+          if (copy > have) { copy = have; }
+          if (copy) {
+            if (state.head) {
+              len = state.head.extra_len - state.length;
+              if (!state.head.extra) {
+                // Use untyped array for more convenient processing later
+                state.head.extra = new Uint8Array(state.head.extra_len);
+              }
+              state.head.extra.set(
+                input.subarray(
+                  next,
+                  // extra field is limited to 65536 bytes
+                  // - no need for additional size check
+                  next + copy
+                ),
+                /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
+                len
+              );
+              //zmemcpy(state.head.extra + len, next,
+              //        len + copy > state.head.extra_max ?
+              //        state.head.extra_max - len : copy);
+            }
+            if ((state.flags & 0x0200) && (state.wrap & 4)) {
+              state.check = crc32(state.check, input, copy, next);
+            }
+            have -= copy;
+            next += copy;
+            state.length -= copy;
+          }
+          if (state.length) { break inf_leave; }
+        }
+        state.length = 0;
+        state.mode = NAME;
+        /* falls through */
+      case NAME:
+        if (state.flags & 0x0800) {
+          if (have === 0) { break inf_leave; }
+          copy = 0;
+          do {
+            // TODO: 2 or 1 bytes?
+            len = input[next + copy++];
+            /* use constant limit because in js we should not preallocate memory */
+            if (state.head && len &&
+                (state.length < 65536 /*state.head.name_max*/)) {
+              state.head.name += String.fromCharCode(len);
+            }
+          } while (len && copy < have);
+
+          if ((state.flags & 0x0200) && (state.wrap & 4)) {
+            state.check = crc32(state.check, input, copy, next);
+          }
+          have -= copy;
+          next += copy;
+          if (len) { break inf_leave; }
+        }
+        else if (state.head) {
+          state.head.name = null;
+        }
+        state.length = 0;
+        state.mode = COMMENT;
+        /* falls through */
+      case COMMENT:
+        if (state.flags & 0x1000) {
+          if (have === 0) { break inf_leave; }
+          copy = 0;
+          do {
+            len = input[next + copy++];
+            /* use constant limit because in js we should not preallocate memory */
+            if (state.head && len &&
+                (state.length < 65536 /*state.head.comm_max*/)) {
+              state.head.comment += String.fromCharCode(len);
+            }
+          } while (len && copy < have);
+          if ((state.flags & 0x0200) && (state.wrap & 4)) {
+            state.check = crc32(state.check, input, copy, next);
+          }
+          have -= copy;
+          next += copy;
+          if (len) { break inf_leave; }
+        }
+        else if (state.head) {
+          state.head.comment = null;
+        }
+        state.mode = HCRC;
+        /* falls through */
+      case HCRC:
+        if (state.flags & 0x0200) {
+          //=== NEEDBITS(16); */
+          while (bits < 16) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          if ((state.wrap & 4) && hold !== (state.check & 0xffff)) {
+            strm.msg = 'header crc mismatch';
+            state.mode = BAD;
+            break;
+          }
+          //=== INITBITS();
+          hold = 0;
+          bits = 0;
+          //===//
+        }
+        if (state.head) {
+          state.head.hcrc = ((state.flags >> 9) & 1);
+          state.head.done = true;
+        }
+        strm.adler = state.check = 0;
+        state.mode = TYPE;
+        break;
+      case DICTID:
+        //=== NEEDBITS(32); */
+        while (bits < 32) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        strm.adler = state.check = zswap32(hold);
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        state.mode = DICT;
+        /* falls through */
+      case DICT:
+        if (state.havedict === 0) {
+          //--- RESTORE() ---
+          strm.next_out = put;
+          strm.avail_out = left;
+          strm.next_in = next;
+          strm.avail_in = have;
+          state.hold = hold;
+          state.bits = bits;
+          //---
+          return Z_NEED_DICT;
+        }
+        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;
+        state.mode = TYPE;
+        /* falls through */
+      case TYPE:
+        if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }
+        /* falls through */
+      case TYPEDO:
+        if (state.last) {
+          //--- BYTEBITS() ---//
+          hold >>>= bits & 7;
+          bits -= bits & 7;
+          //---//
+          state.mode = CHECK;
+          break;
+        }
+        //=== NEEDBITS(3); */
+        while (bits < 3) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        state.last = (hold & 0x01)/*BITS(1)*/;
+        //--- DROPBITS(1) ---//
+        hold >>>= 1;
+        bits -= 1;
+        //---//
+
+        switch ((hold & 0x03)/*BITS(2)*/) {
+          case 0:                             /* stored block */
+            //Tracev((stderr, "inflate:     stored block%s\n",
+            //        state.last ? " (last)" : ""));
+            state.mode = STORED;
+            break;
+          case 1:                             /* fixed block */
+            fixedtables(state);
+            //Tracev((stderr, "inflate:     fixed codes block%s\n",
+            //        state.last ? " (last)" : ""));
+            state.mode = LEN_;             /* decode codes */
+            if (flush === Z_TREES) {
+              //--- DROPBITS(2) ---//
+              hold >>>= 2;
+              bits -= 2;
+              //---//
+              break inf_leave;
+            }
+            break;
+          case 2:                             /* dynamic block */
+            //Tracev((stderr, "inflate:     dynamic codes block%s\n",
+            //        state.last ? " (last)" : ""));
+            state.mode = TABLE;
+            break;
+          case 3:
+            strm.msg = 'invalid block type';
+            state.mode = BAD;
+        }
+        //--- DROPBITS(2) ---//
+        hold >>>= 2;
+        bits -= 2;
+        //---//
+        break;
+      case STORED:
+        //--- BYTEBITS() ---// /* go to byte boundary */
+        hold >>>= bits & 7;
+        bits -= bits & 7;
+        //---//
+        //=== NEEDBITS(32); */
+        while (bits < 32) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {
+          strm.msg = 'invalid stored block lengths';
+          state.mode = BAD;
+          break;
+        }
+        state.length = hold & 0xffff;
+        //Tracev((stderr, "inflate:       stored length %u\n",
+        //        state.length));
+        //=== INITBITS();
+        hold = 0;
+        bits = 0;
+        //===//
+        state.mode = COPY_;
+        if (flush === Z_TREES) { break inf_leave; }
+        /* falls through */
+      case COPY_:
+        state.mode = COPY;
+        /* falls through */
+      case COPY:
+        copy = state.length;
+        if (copy) {
+          if (copy > have) { copy = have; }
+          if (copy > left) { copy = left; }
+          if (copy === 0) { break inf_leave; }
+          //--- zmemcpy(put, next, copy); ---
+          output.set(input.subarray(next, next + copy), put);
+          //---//
+          have -= copy;
+          next += copy;
+          left -= copy;
+          put += copy;
+          state.length -= copy;
+          break;
+        }
+        //Tracev((stderr, "inflate:       stored end\n"));
+        state.mode = TYPE;
+        break;
+      case TABLE:
+        //=== NEEDBITS(14); */
+        while (bits < 14) {
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+        }
+        //===//
+        state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;
+        //--- DROPBITS(5) ---//
+        hold >>>= 5;
+        bits -= 5;
+        //---//
+        state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;
+        //--- DROPBITS(5) ---//
+        hold >>>= 5;
+        bits -= 5;
+        //---//
+        state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;
+        //--- DROPBITS(4) ---//
+        hold >>>= 4;
+        bits -= 4;
+        //---//
+//#ifndef PKZIP_BUG_WORKAROUND
+        if (state.nlen > 286 || state.ndist > 30) {
+          strm.msg = 'too many length or distance symbols';
+          state.mode = BAD;
+          break;
+        }
+//#endif
+        //Tracev((stderr, "inflate:       table sizes ok\n"));
+        state.have = 0;
+        state.mode = LENLENS;
+        /* falls through */
+      case LENLENS:
+        while (state.have < state.ncode) {
+          //=== NEEDBITS(3);
+          while (bits < 3) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);
+          //--- DROPBITS(3) ---//
+          hold >>>= 3;
+          bits -= 3;
+          //---//
+        }
+        while (state.have < 19) {
+          state.lens[order[state.have++]] = 0;
+        }
+        // We have separate tables & no pointers. 2 commented lines below not needed.
+        //state.next = state.codes;
+        //state.lencode = state.next;
+        // Switch to use dynamic table
+        state.lencode = state.lendyn;
+        state.lenbits = 7;
+
+        opts = { bits: state.lenbits };
+        ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
+        state.lenbits = opts.bits;
+
+        if (ret) {
+          strm.msg = 'invalid code lengths set';
+          state.mode = BAD;
+          break;
+        }
+        //Tracev((stderr, "inflate:       code lengths ok\n"));
+        state.have = 0;
+        state.mode = CODELENS;
+        /* falls through */
+      case CODELENS:
+        while (state.have < state.nlen + state.ndist) {
+          for (;;) {
+            here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/
+            here_bits = here >>> 24;
+            here_op = (here >>> 16) & 0xff;
+            here_val = here & 0xffff;
+
+            if ((here_bits) <= bits) { break; }
+            //--- PULLBYTE() ---//
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+            //---//
+          }
+          if (here_val < 16) {
+            //--- DROPBITS(here.bits) ---//
+            hold >>>= here_bits;
+            bits -= here_bits;
+            //---//
+            state.lens[state.have++] = here_val;
+          }
+          else {
+            if (here_val === 16) {
+              //=== NEEDBITS(here.bits + 2);
+              n = here_bits + 2;
+              while (bits < n) {
+                if (have === 0) { break inf_leave; }
+                have--;
+                hold += input[next++] << bits;
+                bits += 8;
+              }
+              //===//
+              //--- DROPBITS(here.bits) ---//
+              hold >>>= here_bits;
+              bits -= here_bits;
+              //---//
+              if (state.have === 0) {
+                strm.msg = 'invalid bit length repeat';
+                state.mode = BAD;
+                break;
+              }
+              len = state.lens[state.have - 1];
+              copy = 3 + (hold & 0x03);//BITS(2);
+              //--- DROPBITS(2) ---//
+              hold >>>= 2;
+              bits -= 2;
+              //---//
+            }
+            else if (here_val === 17) {
+              //=== NEEDBITS(here.bits + 3);
+              n = here_bits + 3;
+              while (bits < n) {
+                if (have === 0) { break inf_leave; }
+                have--;
+                hold += input[next++] << bits;
+                bits += 8;
+              }
+              //===//
+              //--- DROPBITS(here.bits) ---//
+              hold >>>= here_bits;
+              bits -= here_bits;
+              //---//
+              len = 0;
+              copy = 3 + (hold & 0x07);//BITS(3);
+              //--- DROPBITS(3) ---//
+              hold >>>= 3;
+              bits -= 3;
+              //---//
+            }
+            else {
+              //=== NEEDBITS(here.bits + 7);
+              n = here_bits + 7;
+              while (bits < n) {
+                if (have === 0) { break inf_leave; }
+                have--;
+                hold += input[next++] << bits;
+                bits += 8;
+              }
+              //===//
+              //--- DROPBITS(here.bits) ---//
+              hold >>>= here_bits;
+              bits -= here_bits;
+              //---//
+              len = 0;
+              copy = 11 + (hold & 0x7f);//BITS(7);
+              //--- DROPBITS(7) ---//
+              hold >>>= 7;
+              bits -= 7;
+              //---//
+            }
+            if (state.have + copy > state.nlen + state.ndist) {
+              strm.msg = 'invalid bit length repeat';
+              state.mode = BAD;
+              break;
+            }
+            while (copy--) {
+              state.lens[state.have++] = len;
+            }
+          }
+        }
+
+        /* handle error breaks in while */
+        if (state.mode === BAD) { break; }
+
+        /* check for end-of-block code (better have one) */
+        if (state.lens[256] === 0) {
+          strm.msg = 'invalid code -- missing end-of-block';
+          state.mode = BAD;
+          break;
+        }
+
+        /* build code tables -- note: do not change the lenbits or distbits
+           values here (9 and 6) without reading the comments in inftrees.h
+           concerning the ENOUGH constants, which depend on those values */
+        state.lenbits = 9;
+
+        opts = { bits: state.lenbits };
+        ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
+        // We have separate tables & no pointers. 2 commented lines below not needed.
+        // state.next_index = opts.table_index;
+        state.lenbits = opts.bits;
+        // state.lencode = state.next;
+
+        if (ret) {
+          strm.msg = 'invalid literal/lengths set';
+          state.mode = BAD;
+          break;
+        }
+
+        state.distbits = 6;
+        //state.distcode.copy(state.codes);
+        // Switch to use dynamic table
+        state.distcode = state.distdyn;
+        opts = { bits: state.distbits };
+        ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
+        // We have separate tables & no pointers. 2 commented lines below not needed.
+        // state.next_index = opts.table_index;
+        state.distbits = opts.bits;
+        // state.distcode = state.next;
+
+        if (ret) {
+          strm.msg = 'invalid distances set';
+          state.mode = BAD;
+          break;
+        }
+        //Tracev((stderr, 'inflate:       codes ok\n'));
+        state.mode = LEN_;
+        if (flush === Z_TREES) { break inf_leave; }
+        /* falls through */
+      case LEN_:
+        state.mode = LEN;
+        /* falls through */
+      case LEN:
+        if (have >= 6 && left >= 258) {
+          //--- RESTORE() ---
+          strm.next_out = put;
+          strm.avail_out = left;
+          strm.next_in = next;
+          strm.avail_in = have;
+          state.hold = hold;
+          state.bits = bits;
+          //---
+          inflate_fast(strm, _out);
+          //--- LOAD() ---
+          put = strm.next_out;
+          output = strm.output;
+          left = strm.avail_out;
+          next = strm.next_in;
+          input = strm.input;
+          have = strm.avail_in;
+          hold = state.hold;
+          bits = state.bits;
+          //---
+
+          if (state.mode === TYPE) {
+            state.back = -1;
+          }
+          break;
+        }
+        state.back = 0;
+        for (;;) {
+          here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/
+          here_bits = here >>> 24;
+          here_op = (here >>> 16) & 0xff;
+          here_val = here & 0xffff;
+
+          if (here_bits <= bits) { break; }
+          //--- PULLBYTE() ---//
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+          //---//
+        }
+        if (here_op && (here_op & 0xf0) === 0) {
+          last_bits = here_bits;
+          last_op = here_op;
+          last_val = here_val;
+          for (;;) {
+            here = state.lencode[last_val +
+                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
+            here_bits = here >>> 24;
+            here_op = (here >>> 16) & 0xff;
+            here_val = here & 0xffff;
+
+            if ((last_bits + here_bits) <= bits) { break; }
+            //--- PULLBYTE() ---//
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+            //---//
+          }
+          //--- DROPBITS(last.bits) ---//
+          hold >>>= last_bits;
+          bits -= last_bits;
+          //---//
+          state.back += last_bits;
+        }
+        //--- DROPBITS(here.bits) ---//
+        hold >>>= here_bits;
+        bits -= here_bits;
+        //---//
+        state.back += here_bits;
+        state.length = here_val;
+        if (here_op === 0) {
+          //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+          //        "inflate:         literal '%c'\n" :
+          //        "inflate:         literal 0x%02x\n", here.val));
+          state.mode = LIT;
+          break;
+        }
+        if (here_op & 32) {
+          //Tracevv((stderr, "inflate:         end of block\n"));
+          state.back = -1;
+          state.mode = TYPE;
+          break;
+        }
+        if (here_op & 64) {
+          strm.msg = 'invalid literal/length code';
+          state.mode = BAD;
+          break;
+        }
+        state.extra = here_op & 15;
+        state.mode = LENEXT;
+        /* falls through */
+      case LENEXT:
+        if (state.extra) {
+          //=== NEEDBITS(state.extra);
+          n = state.extra;
+          while (bits < n) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
+          //--- DROPBITS(state.extra) ---//
+          hold >>>= state.extra;
+          bits -= state.extra;
+          //---//
+          state.back += state.extra;
+        }
+        //Tracevv((stderr, "inflate:         length %u\n", state.length));
+        state.was = state.length;
+        state.mode = DIST;
+        /* falls through */
+      case DIST:
+        for (;;) {
+          here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/
+          here_bits = here >>> 24;
+          here_op = (here >>> 16) & 0xff;
+          here_val = here & 0xffff;
+
+          if ((here_bits) <= bits) { break; }
+          //--- PULLBYTE() ---//
+          if (have === 0) { break inf_leave; }
+          have--;
+          hold += input[next++] << bits;
+          bits += 8;
+          //---//
+        }
+        if ((here_op & 0xf0) === 0) {
+          last_bits = here_bits;
+          last_op = here_op;
+          last_val = here_val;
+          for (;;) {
+            here = state.distcode[last_val +
+                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];
+            here_bits = here >>> 24;
+            here_op = (here >>> 16) & 0xff;
+            here_val = here & 0xffff;
+
+            if ((last_bits + here_bits) <= bits) { break; }
+            //--- PULLBYTE() ---//
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+            //---//
+          }
+          //--- DROPBITS(last.bits) ---//
+          hold >>>= last_bits;
+          bits -= last_bits;
+          //---//
+          state.back += last_bits;
+        }
+        //--- DROPBITS(here.bits) ---//
+        hold >>>= here_bits;
+        bits -= here_bits;
+        //---//
+        state.back += here_bits;
+        if (here_op & 64) {
+          strm.msg = 'invalid distance code';
+          state.mode = BAD;
+          break;
+        }
+        state.offset = here_val;
+        state.extra = (here_op) & 15;
+        state.mode = DISTEXT;
+        /* falls through */
+      case DISTEXT:
+        if (state.extra) {
+          //=== NEEDBITS(state.extra);
+          n = state.extra;
+          while (bits < n) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;
+          //--- DROPBITS(state.extra) ---//
+          hold >>>= state.extra;
+          bits -= state.extra;
+          //---//
+          state.back += state.extra;
+        }
+//#ifdef INFLATE_STRICT
+        if (state.offset > state.dmax) {
+          strm.msg = 'invalid distance too far back';
+          state.mode = BAD;
+          break;
+        }
+//#endif
+        //Tracevv((stderr, "inflate:         distance %u\n", state.offset));
+        state.mode = MATCH;
+        /* falls through */
+      case MATCH:
+        if (left === 0) { break inf_leave; }
+        copy = _out - left;
+        if (state.offset > copy) {         /* copy from window */
+          copy = state.offset - copy;
+          if (copy > state.whave) {
+            if (state.sane) {
+              strm.msg = 'invalid distance too far back';
+              state.mode = BAD;
+              break;
+            }
+// (!) This block is disabled in zlib defaults,
+// don't enable it for binary compatibility
+//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+//          Trace((stderr, "inflate.c too far\n"));
+//          copy -= state.whave;
+//          if (copy > state.length) { copy = state.length; }
+//          if (copy > left) { copy = left; }
+//          left -= copy;
+//          state.length -= copy;
+//          do {
+//            output[put++] = 0;
+//          } while (--copy);
+//          if (state.length === 0) { state.mode = LEN; }
+//          break;
+//#endif
+          }
+          if (copy > state.wnext) {
+            copy -= state.wnext;
+            from = state.wsize - copy;
+          }
+          else {
+            from = state.wnext - copy;
+          }
+          if (copy > state.length) { copy = state.length; }
+          from_source = state.window;
+        }
+        else {                              /* copy from output */
+          from_source = output;
+          from = put - state.offset;
+          copy = state.length;
+        }
+        if (copy > left) { copy = left; }
+        left -= copy;
+        state.length -= copy;
+        do {
+          output[put++] = from_source[from++];
+        } while (--copy);
+        if (state.length === 0) { state.mode = LEN; }
+        break;
+      case LIT:
+        if (left === 0) { break inf_leave; }
+        output[put++] = state.length;
+        left--;
+        state.mode = LEN;
+        break;
+      case CHECK:
+        if (state.wrap) {
+          //=== NEEDBITS(32);
+          while (bits < 32) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            // Use '|' instead of '+' to make sure that result is signed
+            hold |= input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          _out -= left;
+          strm.total_out += _out;
+          state.total += _out;
+          if ((state.wrap & 4) && _out) {
+            strm.adler = state.check =
+                /*UPDATE_CHECK(state.check, put - _out, _out);*/
+                (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));
+
+          }
+          _out = left;
+          // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too
+          if ((state.wrap & 4) && (state.flags ? hold : zswap32(hold)) !== state.check) {
+            strm.msg = 'incorrect data check';
+            state.mode = BAD;
+            break;
+          }
+          //=== INITBITS();
+          hold = 0;
+          bits = 0;
+          //===//
+          //Tracev((stderr, "inflate:   check matches trailer\n"));
+        }
+        state.mode = LENGTH;
+        /* falls through */
+      case LENGTH:
+        if (state.wrap && state.flags) {
+          //=== NEEDBITS(32);
+          while (bits < 32) {
+            if (have === 0) { break inf_leave; }
+            have--;
+            hold += input[next++] << bits;
+            bits += 8;
+          }
+          //===//
+          if ((state.wrap & 4) && hold !== (state.total & 0xffffffff)) {
+            strm.msg = 'incorrect length check';
+            state.mode = BAD;
+            break;
+          }
+          //=== INITBITS();
+          hold = 0;
+          bits = 0;
+          //===//
+          //Tracev((stderr, "inflate:   length matches trailer\n"));
+        }
+        state.mode = DONE;
+        /* falls through */
+      case DONE:
+        ret = Z_STREAM_END;
+        break inf_leave;
+      case BAD:
+        ret = Z_DATA_ERROR;
+        break inf_leave;
+      case MEM:
+        return Z_MEM_ERROR;
+      case SYNC:
+        /* falls through */
+      default:
+        return Z_STREAM_ERROR;
+    }
+  }
+
+  // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"
+
+  /*
+     Return from inflate(), updating the total counts and the check value.
+     If there was no progress during the inflate() call, return a buffer
+     error.  Call updatewindow() to create and/or update the window state.
+     Note: a memory error from inflate() is non-recoverable.
+   */
+
+  //--- RESTORE() ---
+  strm.next_out = put;
+  strm.avail_out = left;
+  strm.next_in = next;
+  strm.avail_in = have;
+  state.hold = hold;
+  state.bits = bits;
+  //---
+
+  if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&
+                      (state.mode < CHECK || flush !== Z_FINISH))) {
+    if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {
+      state.mode = MEM;
+      return Z_MEM_ERROR;
+    }
+  }
+  _in -= strm.avail_in;
+  _out -= strm.avail_out;
+  strm.total_in += _in;
+  strm.total_out += _out;
+  state.total += _out;
+  if ((state.wrap & 4) && _out) {
+    strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/
+      (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));
+  }
+  strm.data_type = state.bits + (state.last ? 64 : 0) +
+                    (state.mode === TYPE ? 128 : 0) +
+                    (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
+  if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {
+    ret = Z_BUF_ERROR;
+  }
+  return ret;
+};
+
+
+const inflateEnd = (strm) => {
+
+  if (inflateStateCheck(strm)) {
+    return Z_STREAM_ERROR;
+  }
+
+  let state = strm.state;
+  if (state.window) {
+    state.window = null;
+  }
+  strm.state = null;
+  return Z_OK;
+};
+
+
+const inflateGetHeader = (strm, head) => {
+
+  /* check state */
+  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }
+  const state = strm.state;
+  if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }
+
+  /* save header structure */
+  state.head = head;
+  head.done = false;
+  return Z_OK;
+};
+
+
+const inflateSetDictionary = (strm, dictionary) => {
+  const dictLength = dictionary.length;
+
+  let state;
+  let dictid;
+  let ret;
+
+  /* check state */
+  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }
+  state = strm.state;
+
+  if (state.wrap !== 0 && state.mode !== DICT) {
+    return Z_STREAM_ERROR;
+  }
+
+  /* check for correct dictionary identifier */
+  if (state.mode === DICT) {
+    dictid = 1; /* adler32(0, null, 0)*/
+    /* dictid = adler32(dictid, dictionary, dictLength); */
+    dictid = adler32(dictid, dictionary, dictLength, 0);
+    if (dictid !== state.check) {
+      return Z_DATA_ERROR;
+    }
+  }
+  /* copy dictionary to window using updatewindow(), which will amend the
+   existing dictionary if appropriate */
+  ret = updatewindow(strm, dictionary, dictLength, dictLength);
+  if (ret) {
+    state.mode = MEM;
+    return Z_MEM_ERROR;
+  }
+  state.havedict = 1;
+  // Tracev((stderr, "inflate:   dictionary set\n"));
+  return Z_OK;
+};
+
+
+module.exports.inflateReset = inflateReset;
+module.exports.inflateReset2 = inflateReset2;
+module.exports.inflateResetKeep = inflateResetKeep;
+module.exports.inflateInit = inflateInit;
+module.exports.inflateInit2 = inflateInit2;
+module.exports.inflate = inflate;
+module.exports.inflateEnd = inflateEnd;
+module.exports.inflateGetHeader = inflateGetHeader;
+module.exports.inflateSetDictionary = inflateSetDictionary;
+module.exports.inflateInfo = 'pako inflate (from Nodeca project)';
+
+/* Not implemented
+module.exports.inflateCodesUsed = inflateCodesUsed;
+module.exports.inflateCopy = inflateCopy;
+module.exports.inflateGetDictionary = inflateGetDictionary;
+module.exports.inflateMark = inflateMark;
+module.exports.inflatePrime = inflatePrime;
+module.exports.inflateSync = inflateSync;
+module.exports.inflateSyncPoint = inflateSyncPoint;
+module.exports.inflateUndermine = inflateUndermine;
+module.exports.inflateValidate = inflateValidate;
+*/
+
+
+/***/ }),
+
+/***/ 73395:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+const MAXBITS = 15;
+const ENOUGH_LENS = 852;
+const ENOUGH_DISTS = 592;
+//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);
+
+const CODES = 0;
+const LENS = 1;
+const DISTS = 2;
+
+const lbase = new Uint16Array([ /* Length codes 257..285 base */
+  3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+  35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
+]);
+
+const lext = new Uint8Array([ /* Length codes 257..285 extra */
+  16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
+  19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78
+]);
+
+const dbase = new Uint16Array([ /* Distance codes 0..29 base */
+  1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+  257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+  8193, 12289, 16385, 24577, 0, 0
+]);
+
+const dext = new Uint8Array([ /* Distance codes 0..29 extra */
+  16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
+  23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
+  28, 28, 29, 29, 64, 64
+]);
+
+const inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>
+{
+  const bits = opts.bits;
+      //here = opts.here; /* table entry for duplication */
+
+  let len = 0;               /* a code's length in bits */
+  let sym = 0;               /* index of code symbols */
+  let min = 0, max = 0;          /* minimum and maximum code lengths */
+  let root = 0;              /* number of index bits for root table */
+  let curr = 0;              /* number of index bits for current table */
+  let drop = 0;              /* code bits to drop for sub-table */
+  let left = 0;                   /* number of prefix codes available */
+  let used = 0;              /* code entries in table used */
+  let huff = 0;              /* Huffman code */
+  let incr;              /* for incrementing code, index */
+  let fill;              /* index for replicating entries */
+  let low;               /* low bits for current root entry */
+  let mask;              /* mask for low root bits */
+  let next;             /* next available space in table */
+  let base = null;     /* base value table to use */
+//  let shoextra;    /* extra bits table to use */
+  let match;                  /* use base and extra for symbol >= match */
+  const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */
+  const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */
+  let extra = null;
+
+  let here_bits, here_op, here_val;
+
+  /*
+   Process a set of code lengths to create a canonical Huffman code.  The
+   code lengths are lens[0..codes-1].  Each length corresponds to the
+   symbols 0..codes-1.  The Huffman code is generated by first sorting the
+   symbols by length from short to long, and retaining the symbol order
+   for codes with equal lengths.  Then the code starts with all zero bits
+   for the first code of the shortest length, and the codes are integer
+   increments for the same length, and zeros are appended as the length
+   increases.  For the deflate format, these bits are stored backwards
+   from their more natural integer increment ordering, and so when the
+   decoding tables are built in the large loop below, the integer codes
+   are incremented backwards.
+
+   This routine assumes, but does not check, that all of the entries in
+   lens[] are in the range 0..MAXBITS.  The caller must assure this.
+   1..MAXBITS is interpreted as that code length.  zero means that that
+   symbol does not occur in this code.
+
+   The codes are sorted by computing a count of codes for each length,
+   creating from that a table of starting indices for each length in the
+   sorted table, and then entering the symbols in order in the sorted
+   table.  The sorted table is work[], with that space being provided by
+   the caller.
+
+   The length counts are used for other purposes as well, i.e. finding
+   the minimum and maximum length codes, determining if there are any
+   codes at all, checking for a valid set of lengths, and looking ahead
+   at length counts to determine sub-table sizes when building the
+   decoding tables.
+   */
+
+  /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
+  for (len = 0; len <= MAXBITS; len++) {
+    count[len] = 0;
+  }
+  for (sym = 0; sym < codes; sym++) {
+    count[lens[lens_index + sym]]++;
+  }
+
+  /* bound code lengths, force root to be within code lengths */
+  root = bits;
+  for (max = MAXBITS; max >= 1; max--) {
+    if (count[max] !== 0) { break; }
+  }
+  if (root > max) {
+    root = max;
+  }
+  if (max === 0) {                     /* no symbols to code at all */
+    //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */
+    //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;
+    //table.val[opts.table_index++] = 0;   //here.val = (var short)0;
+    table[table_index++] = (1 << 24) | (64 << 16) | 0;
+
+
+    //table.op[opts.table_index] = 64;
+    //table.bits[opts.table_index] = 1;
+    //table.val[opts.table_index++] = 0;
+    table[table_index++] = (1 << 24) | (64 << 16) | 0;
+
+    opts.bits = 1;
+    return 0;     /* no symbols, but wait for decoding to report error */
+  }
+  for (min = 1; min < max; min++) {
+    if (count[min] !== 0) { break; }
+  }
+  if (root < min) {
+    root = min;
+  }
+
+  /* check for an over-subscribed or incomplete set of lengths */
+  left = 1;
+  for (len = 1; len <= MAXBITS; len++) {
+    left <<= 1;
+    left -= count[len];
+    if (left < 0) {
+      return -1;
+    }        /* over-subscribed */
+  }
+  if (left > 0 && (type === CODES || max !== 1)) {
+    return -1;                      /* incomplete set */
+  }
+
+  /* generate offsets into symbol table for each length for sorting */
+  offs[1] = 0;
+  for (len = 1; len < MAXBITS; len++) {
+    offs[len + 1] = offs[len] + count[len];
+  }
+
+  /* sort symbols by length, by symbol order within each length */
+  for (sym = 0; sym < codes; sym++) {
+    if (lens[lens_index + sym] !== 0) {
+      work[offs[lens[lens_index + sym]]++] = sym;
+    }
+  }
+
+  /*
+   Create and fill in decoding tables.  In this loop, the table being
+   filled is at next and has curr index bits.  The code being used is huff
+   with length len.  That code is converted to an index by dropping drop
+   bits off of the bottom.  For codes where len is less than drop + curr,
+   those top drop + curr - len bits are incremented through all values to
+   fill the table with replicated entries.
+
+   root is the number of index bits for the root table.  When len exceeds
+   root, sub-tables are created pointed to by the root entry with an index
+   of the low root bits of huff.  This is saved in low to check for when a
+   new sub-table should be started.  drop is zero when the root table is
+   being filled, and drop is root when sub-tables are being filled.
+
+   When a new sub-table is needed, it is necessary to look ahead in the
+   code lengths to determine what size sub-table is needed.  The length
+   counts are used for this, and so count[] is decremented as codes are
+   entered in the tables.
+
+   used keeps track of how many table entries have been allocated from the
+   provided *table space.  It is checked for LENS and DIST tables against
+   the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
+   the initial root table size constants.  See the comments in inftrees.h
+   for more information.
+
+   sym increments through all symbols, and the loop terminates when
+   all codes of length max, i.e. all codes, have been processed.  This
+   routine permits incomplete codes, so another loop after this one fills
+   in the rest of the decoding tables with invalid code markers.
+   */
+
+  /* set up for code type */
+  // poor man optimization - use if-else instead of switch,
+  // to avoid deopts in old v8
+  if (type === CODES) {
+    base = extra = work;    /* dummy value--not used */
+    match = 20;
+
+  } else if (type === LENS) {
+    base = lbase;
+    extra = lext;
+    match = 257;
+
+  } else {                    /* DISTS */
+    base = dbase;
+    extra = dext;
+    match = 0;
+  }
+
+  /* initialize opts for loop */
+  huff = 0;                   /* starting code */
+  sym = 0;                    /* starting code symbol */
+  len = min;                  /* starting code length */
+  next = table_index;              /* current table to fill in */
+  curr = root;                /* current table index bits */
+  drop = 0;                   /* current bits to drop from code for index */
+  low = -1;                   /* trigger new sub-table when len > root */
+  used = 1 << root;          /* use root table entries */
+  mask = used - 1;            /* mask for comparing low */
+
+  /* check available table space */
+  if ((type === LENS && used > ENOUGH_LENS) ||
+    (type === DISTS && used > ENOUGH_DISTS)) {
+    return 1;
+  }
+
+  /* process all codes and make table entries */
+  for (;;) {
+    /* create table entry */
+    here_bits = len - drop;
+    if (work[sym] + 1 < match) {
+      here_op = 0;
+      here_val = work[sym];
+    }
+    else if (work[sym] >= match) {
+      here_op = extra[work[sym] - match];
+      here_val = base[work[sym] - match];
+    }
+    else {
+      here_op = 32 + 64;         /* end of block */
+      here_val = 0;
+    }
+
+    /* replicate for those indices with low len bits equal to huff */
+    incr = 1 << (len - drop);
+    fill = 1 << curr;
+    min = fill;                 /* save offset to next table */
+    do {
+      fill -= incr;
+      table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;
+    } while (fill !== 0);
+
+    /* backwards increment the len-bit code huff */
+    incr = 1 << (len - 1);
+    while (huff & incr) {
+      incr >>= 1;
+    }
+    if (incr !== 0) {
+      huff &= incr - 1;
+      huff += incr;
+    } else {
+      huff = 0;
+    }
+
+    /* go to next symbol, update count, len */
+    sym++;
+    if (--count[len] === 0) {
+      if (len === max) { break; }
+      len = lens[lens_index + work[sym]];
+    }
+
+    /* create new sub-table if needed */
+    if (len > root && (huff & mask) !== low) {
+      /* if first time, transition to sub-tables */
+      if (drop === 0) {
+        drop = root;
+      }
+
+      /* increment past last table */
+      next += min;            /* here min is 1 << curr */
+
+      /* determine length of next table */
+      curr = len - drop;
+      left = 1 << curr;
+      while (curr + drop < max) {
+        left -= count[curr + drop];
+        if (left <= 0) { break; }
+        curr++;
+        left <<= 1;
+      }
+
+      /* check for enough space */
+      used += 1 << curr;
+      if ((type === LENS && used > ENOUGH_LENS) ||
+        (type === DISTS && used > ENOUGH_DISTS)) {
+        return 1;
+      }
+
+      /* point entry in root table to sub-table */
+      low = huff & mask;
+      /*table.op[low] = curr;
+      table.bits[low] = root;
+      table.val[low] = next - opts.table_index;*/
+      table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;
+    }
+  }
+
+  /* fill in remaining table entry if code is incomplete (guaranteed to have
+   at most one remaining entry, since if the code is incomplete, the
+   maximum code length that was allowed to get this far is one bit) */
+  if (huff !== 0) {
+    //table.op[next + huff] = 64;            /* invalid code marker */
+    //table.bits[next + huff] = len - drop;
+    //table.val[next + huff] = 0;
+    table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;
+  }
+
+  /* set return parameters */
+  //opts.table_index += used;
+  opts.bits = root;
+  return 0;
+};
+
+
+module.exports = inflate_table;
+
+
+/***/ }),
+
+/***/ 42724:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+module.exports = {
+  2:      'need dictionary',     /* Z_NEED_DICT       2  */
+  1:      'stream end',          /* Z_STREAM_END      1  */
+  0:      '',                    /* Z_OK              0  */
+  '-1':   'file error',          /* Z_ERRNO         (-1) */
+  '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */
+  '-3':   'data error',          /* Z_DATA_ERROR    (-3) */
+  '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */
+  '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */
+  '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */
+};
+
+
+/***/ }),
+
+/***/ 33928:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+/* eslint-disable space-unary-ops */
+
+/* Public constants ==========================================================*/
+/* ===========================================================================*/
+
+
+//const Z_FILTERED          = 1;
+//const Z_HUFFMAN_ONLY      = 2;
+//const Z_RLE               = 3;
+const Z_FIXED               = 4;
+//const Z_DEFAULT_STRATEGY  = 0;
+
+/* Possible values of the data_type field (though see inflate()) */
+const Z_BINARY              = 0;
+const Z_TEXT                = 1;
+//const Z_ASCII             = 1; // = Z_TEXT
+const Z_UNKNOWN             = 2;
+
+/*============================================================================*/
+
+
+function zero(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }
+
+// From zutil.h
+
+const STORED_BLOCK = 0;
+const STATIC_TREES = 1;
+const DYN_TREES    = 2;
+/* The three kinds of block type */
+
+const MIN_MATCH    = 3;
+const MAX_MATCH    = 258;
+/* The minimum and maximum match lengths */
+
+// From deflate.h
+/* ===========================================================================
+ * Internal compression state.
+ */
+
+const LENGTH_CODES  = 29;
+/* number of length codes, not counting the special END_BLOCK code */
+
+const LITERALS      = 256;
+/* number of literal bytes 0..255 */
+
+const L_CODES       = LITERALS + 1 + LENGTH_CODES;
+/* number of Literal or Length codes, including the END_BLOCK code */
+
+const D_CODES       = 30;
+/* number of distance codes */
+
+const BL_CODES      = 19;
+/* number of codes used to transfer the bit lengths */
+
+const HEAP_SIZE     = 2 * L_CODES + 1;
+/* maximum heap size */
+
+const MAX_BITS      = 15;
+/* All codes must not exceed MAX_BITS bits */
+
+const Buf_size      = 16;
+/* size of bit buffer in bi_buf */
+
+
+/* ===========================================================================
+ * Constants
+ */
+
+const MAX_BL_BITS = 7;
+/* Bit length codes must not exceed MAX_BL_BITS bits */
+
+const END_BLOCK   = 256;
+/* end of block literal code */
+
+const REP_3_6     = 16;
+/* repeat previous bit length 3-6 times (2 bits of repeat count) */
+
+const REPZ_3_10   = 17;
+/* repeat a zero length 3-10 times  (3 bits of repeat count) */
+
+const REPZ_11_138 = 18;
+/* repeat a zero length 11-138 times  (7 bits of repeat count) */
+
+/* eslint-disable comma-spacing,array-bracket-spacing */
+const extra_lbits =   /* extra bits for each length code */
+  new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);
+
+const extra_dbits =   /* extra bits for each distance code */
+  new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);
+
+const extra_blbits =  /* extra bits for each bit length code */
+  new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);
+
+const bl_order =
+  new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);
+/* eslint-enable comma-spacing,array-bracket-spacing */
+
+/* The lengths of the bit length codes are sent in order of decreasing
+ * probability, to avoid transmitting the lengths for unused bit length codes.
+ */
+
+/* ===========================================================================
+ * Local data. These are initialized only once.
+ */
+
+// We pre-fill arrays with 0 to avoid uninitialized gaps
+
+const DIST_CODE_LEN = 512; /* see definition of array dist_code below */
+
+// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1
+const static_ltree  = new Array((L_CODES + 2) * 2);
+zero(static_ltree);
+/* The static literal tree. Since the bit lengths are imposed, there is no
+ * need for the L_CODES extra codes used during heap construction. However
+ * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
+ * below).
+ */
+
+const static_dtree  = new Array(D_CODES * 2);
+zero(static_dtree);
+/* The static distance tree. (Actually a trivial tree since all codes use
+ * 5 bits.)
+ */
+
+const _dist_code    = new Array(DIST_CODE_LEN);
+zero(_dist_code);
+/* Distance codes. The first 256 values correspond to the distances
+ * 3 .. 258, the last 256 values correspond to the top 8 bits of
+ * the 15 bit distances.
+ */
+
+const _length_code  = new Array(MAX_MATCH - MIN_MATCH + 1);
+zero(_length_code);
+/* length code for each normalized match length (0 == MIN_MATCH) */
+
+const base_length   = new Array(LENGTH_CODES);
+zero(base_length);
+/* First normalized length for each code (0 = MIN_MATCH) */
+
+const base_dist     = new Array(D_CODES);
+zero(base_dist);
+/* First normalized distance for each code (0 = distance of 1) */
+
+
+function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
+
+  this.static_tree  = static_tree;  /* static tree or NULL */
+  this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */
+  this.extra_base   = extra_base;   /* base index for extra_bits */
+  this.elems        = elems;        /* max number of elements in the tree */
+  this.max_length   = max_length;   /* max bit length for the codes */
+
+  // show if `static_tree` has data or dummy - needed for monomorphic objects
+  this.has_stree    = static_tree && static_tree.length;
+}
+
+
+let static_l_desc;
+let static_d_desc;
+let static_bl_desc;
+
+
+function TreeDesc(dyn_tree, stat_desc) {
+  this.dyn_tree = dyn_tree;     /* the dynamic tree */
+  this.max_code = 0;            /* largest code with non zero frequency */
+  this.stat_desc = stat_desc;   /* the corresponding static tree */
+}
+
+
+
+const d_code = (dist) => {
+
+  return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
+};
+
+
+/* ===========================================================================
+ * Output a short LSB first on the stream.
+ * IN assertion: there is enough room in pendingBuf.
+ */
+const put_short = (s, w) => {
+//    put_byte(s, (uch)((w) & 0xff));
+//    put_byte(s, (uch)((ush)(w) >> 8));
+  s.pending_buf[s.pending++] = (w) & 0xff;
+  s.pending_buf[s.pending++] = (w >>> 8) & 0xff;
+};
+
+
+/* ===========================================================================
+ * Send a value on a given number of bits.
+ * IN assertion: length <= 16 and value fits in length bits.
+ */
+const send_bits = (s, value, length) => {
+
+  if (s.bi_valid > (Buf_size - length)) {
+    s.bi_buf |= (value << s.bi_valid) & 0xffff;
+    put_short(s, s.bi_buf);
+    s.bi_buf = value >> (Buf_size - s.bi_valid);
+    s.bi_valid += length - Buf_size;
+  } else {
+    s.bi_buf |= (value << s.bi_valid) & 0xffff;
+    s.bi_valid += length;
+  }
+};
+
+
+const send_code = (s, c, tree) => {
+
+  send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);
+};
+
+
+/* ===========================================================================
+ * Reverse the first len bits of a code, using straightforward code (a faster
+ * method would use a table)
+ * IN assertion: 1 <= len <= 15
+ */
+const bi_reverse = (code, len) => {
+
+  let res = 0;
+  do {
+    res |= code & 1;
+    code >>>= 1;
+    res <<= 1;
+  } while (--len > 0);
+  return res >>> 1;
+};
+
+
+/* ===========================================================================
+ * Flush the bit buffer, keeping at most 7 bits in it.
+ */
+const bi_flush = (s) => {
+
+  if (s.bi_valid === 16) {
+    put_short(s, s.bi_buf);
+    s.bi_buf = 0;
+    s.bi_valid = 0;
+
+  } else if (s.bi_valid >= 8) {
+    s.pending_buf[s.pending++] = s.bi_buf & 0xff;
+    s.bi_buf >>= 8;
+    s.bi_valid -= 8;
+  }
+};
+
+
+/* ===========================================================================
+ * Compute the optimal bit lengths for a tree and update the total bit length
+ * for the current block.
+ * IN assertion: the fields freq and dad are set, heap[heap_max] and
+ *    above are the tree nodes sorted by increasing frequency.
+ * OUT assertions: the field len is set to the optimal bit length, the
+ *     array bl_count contains the frequencies for each bit length.
+ *     The length opt_len is updated; static_len is also updated if stree is
+ *     not null.
+ */
+const gen_bitlen = (s, desc) => {
+//    deflate_state *s;
+//    tree_desc *desc;    /* the tree descriptor */
+
+  const tree            = desc.dyn_tree;
+  const max_code        = desc.max_code;
+  const stree           = desc.stat_desc.static_tree;
+  const has_stree       = desc.stat_desc.has_stree;
+  const extra           = desc.stat_desc.extra_bits;
+  const base            = desc.stat_desc.extra_base;
+  const max_length      = desc.stat_desc.max_length;
+  let h;              /* heap index */
+  let n, m;           /* iterate over the tree elements */
+  let bits;           /* bit length */
+  let xbits;          /* extra bits */
+  let f;              /* frequency */
+  let overflow = 0;   /* number of elements with bit length too large */
+
+  for (bits = 0; bits <= MAX_BITS; bits++) {
+    s.bl_count[bits] = 0;
+  }
+
+  /* In a first pass, compute the optimal bit lengths (which may
+   * overflow in the case of the bit length tree).
+   */
+  tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */
+
+  for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {
+    n = s.heap[h];
+    bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;
+    if (bits > max_length) {
+      bits = max_length;
+      overflow++;
+    }
+    tree[n * 2 + 1]/*.Len*/ = bits;
+    /* We overwrite tree[n].Dad which is no longer needed */
+
+    if (n > max_code) { continue; } /* not a leaf node */
+
+    s.bl_count[bits]++;
+    xbits = 0;
+    if (n >= base) {
+      xbits = extra[n - base];
+    }
+    f = tree[n * 2]/*.Freq*/;
+    s.opt_len += f * (bits + xbits);
+    if (has_stree) {
+      s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);
+    }
+  }
+  if (overflow === 0) { return; }
+
+  // Tracev((stderr,"\nbit length overflow\n"));
+  /* This happens for example on obj2 and pic of the Calgary corpus */
+
+  /* Find the first bit length which could increase: */
+  do {
+    bits = max_length - 1;
+    while (s.bl_count[bits] === 0) { bits--; }
+    s.bl_count[bits]--;      /* move one leaf down the tree */
+    s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */
+    s.bl_count[max_length]--;
+    /* The brother of the overflow item also moves one step up,
+     * but this does not affect bl_count[max_length]
+     */
+    overflow -= 2;
+  } while (overflow > 0);
+
+  /* Now recompute all bit lengths, scanning in increasing frequency.
+   * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
+   * lengths instead of fixing only the wrong ones. This idea is taken
+   * from 'ar' written by Haruhiko Okumura.)
+   */
+  for (bits = max_length; bits !== 0; bits--) {
+    n = s.bl_count[bits];
+    while (n !== 0) {
+      m = s.heap[--h];
+      if (m > max_code) { continue; }
+      if (tree[m * 2 + 1]/*.Len*/ !== bits) {
+        // Tracev((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+        s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;
+        tree[m * 2 + 1]/*.Len*/ = bits;
+      }
+      n--;
+    }
+  }
+};
+
+
+/* ===========================================================================
+ * Generate the codes for a given tree and bit counts (which need not be
+ * optimal).
+ * IN assertion: the array bl_count contains the bit length statistics for
+ * the given tree and the field len is set for all tree elements.
+ * OUT assertion: the field code is set for all tree elements of non
+ *     zero code length.
+ */
+const gen_codes = (tree, max_code, bl_count) => {
+//    ct_data *tree;             /* the tree to decorate */
+//    int max_code;              /* largest code with non zero frequency */
+//    ushf *bl_count;            /* number of codes at each bit length */
+
+  const next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */
+  let code = 0;              /* running code value */
+  let bits;                  /* bit index */
+  let n;                     /* code index */
+
+  /* The distribution counts are first used to generate the code values
+   * without bit reversal.
+   */
+  for (bits = 1; bits <= MAX_BITS; bits++) {
+    code = (code + bl_count[bits - 1]) << 1;
+    next_code[bits] = code;
+  }
+  /* Check that the bit counts in bl_count are consistent. The last code
+   * must be all ones.
+   */
+  //Assert (code + bl_count[MAX_BITS]-1 == (1< {
+
+  let n;        /* iterates over tree elements */
+  let bits;     /* bit counter */
+  let length;   /* length value */
+  let code;     /* code value */
+  let dist;     /* distance index */
+  const bl_count = new Array(MAX_BITS + 1);
+  /* number of codes at each bit length for an optimal tree */
+
+  // do check in _tr_init()
+  //if (static_init_done) return;
+
+  /* For some embedded targets, global variables are not initialized: */
+/*#ifdef NO_INIT_GLOBAL_POINTERS
+  static_l_desc.static_tree = static_ltree;
+  static_l_desc.extra_bits = extra_lbits;
+  static_d_desc.static_tree = static_dtree;
+  static_d_desc.extra_bits = extra_dbits;
+  static_bl_desc.extra_bits = extra_blbits;
+#endif*/
+
+  /* Initialize the mapping length (0..255) -> length code (0..28) */
+  length = 0;
+  for (code = 0; code < LENGTH_CODES - 1; code++) {
+    base_length[code] = length;
+    for (n = 0; n < (1 << extra_lbits[code]); n++) {
+      _length_code[length++] = code;
+    }
+  }
+  //Assert (length == 256, "tr_static_init: length != 256");
+  /* Note that the length 255 (match length 258) can be represented
+   * in two different ways: code 284 + 5 bits or code 285, so we
+   * overwrite length_code[255] to use the best encoding:
+   */
+  _length_code[length - 1] = code;
+
+  /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
+  dist = 0;
+  for (code = 0; code < 16; code++) {
+    base_dist[code] = dist;
+    for (n = 0; n < (1 << extra_dbits[code]); n++) {
+      _dist_code[dist++] = code;
+    }
+  }
+  //Assert (dist == 256, "tr_static_init: dist != 256");
+  dist >>= 7; /* from now on, all distances are divided by 128 */
+  for (; code < D_CODES; code++) {
+    base_dist[code] = dist << 7;
+    for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
+      _dist_code[256 + dist++] = code;
+    }
+  }
+  //Assert (dist == 256, "tr_static_init: 256+dist != 512");
+
+  /* Construct the codes of the static literal tree */
+  for (bits = 0; bits <= MAX_BITS; bits++) {
+    bl_count[bits] = 0;
+  }
+
+  n = 0;
+  while (n <= 143) {
+    static_ltree[n * 2 + 1]/*.Len*/ = 8;
+    n++;
+    bl_count[8]++;
+  }
+  while (n <= 255) {
+    static_ltree[n * 2 + 1]/*.Len*/ = 9;
+    n++;
+    bl_count[9]++;
+  }
+  while (n <= 279) {
+    static_ltree[n * 2 + 1]/*.Len*/ = 7;
+    n++;
+    bl_count[7]++;
+  }
+  while (n <= 287) {
+    static_ltree[n * 2 + 1]/*.Len*/ = 8;
+    n++;
+    bl_count[8]++;
+  }
+  /* Codes 286 and 287 do not exist, but we must include them in the
+   * tree construction to get a canonical Huffman tree (longest code
+   * all ones)
+   */
+  gen_codes(static_ltree, L_CODES + 1, bl_count);
+
+  /* The static distance tree is trivial: */
+  for (n = 0; n < D_CODES; n++) {
+    static_dtree[n * 2 + 1]/*.Len*/ = 5;
+    static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);
+  }
+
+  // Now data ready and we can init static trees
+  static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);
+  static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);
+  static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);
+
+  //static_init_done = true;
+};
+
+
+/* ===========================================================================
+ * Initialize a new block.
+ */
+const init_block = (s) => {
+
+  let n; /* iterates over tree elements */
+
+  /* Initialize the trees. */
+  for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }
+  for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }
+  for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }
+
+  s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;
+  s.opt_len = s.static_len = 0;
+  s.sym_next = s.matches = 0;
+};
+
+
+/* ===========================================================================
+ * Flush the bit buffer and align the output on a byte boundary
+ */
+const bi_windup = (s) =>
+{
+  if (s.bi_valid > 8) {
+    put_short(s, s.bi_buf);
+  } else if (s.bi_valid > 0) {
+    //put_byte(s, (Byte)s->bi_buf);
+    s.pending_buf[s.pending++] = s.bi_buf;
+  }
+  s.bi_buf = 0;
+  s.bi_valid = 0;
+};
+
+/* ===========================================================================
+ * Compares to subtrees, using the tree depth as tie breaker when
+ * the subtrees have equal frequency. This minimizes the worst case length.
+ */
+const smaller = (tree, n, m, depth) => {
+
+  const _n2 = n * 2;
+  const _m2 = m * 2;
+  return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||
+         (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));
+};
+
+/* ===========================================================================
+ * Restore the heap property by moving down the tree starting at node k,
+ * exchanging a node with the smallest of its two sons if necessary, stopping
+ * when the heap property is re-established (each father smaller than its
+ * two sons).
+ */
+const pqdownheap = (s, tree, k) => {
+//    deflate_state *s;
+//    ct_data *tree;  /* the tree to restore */
+//    int k;               /* node to move down */
+
+  const v = s.heap[k];
+  let j = k << 1;  /* left son of k */
+  while (j <= s.heap_len) {
+    /* Set j to the smallest of the two sons: */
+    if (j < s.heap_len &&
+      smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {
+      j++;
+    }
+    /* Exit if v is smaller than both sons */
+    if (smaller(tree, v, s.heap[j], s.depth)) { break; }
+
+    /* Exchange v with the smallest son */
+    s.heap[k] = s.heap[j];
+    k = j;
+
+    /* And continue down the tree, setting j to the left son of k */
+    j <<= 1;
+  }
+  s.heap[k] = v;
+};
+
+
+// inlined manually
+// const SMALLEST = 1;
+
+/* ===========================================================================
+ * Send the block data compressed using the given Huffman trees
+ */
+const compress_block = (s, ltree, dtree) => {
+//    deflate_state *s;
+//    const ct_data *ltree; /* literal tree */
+//    const ct_data *dtree; /* distance tree */
+
+  let dist;           /* distance of matched string */
+  let lc;             /* match length or unmatched char (if dist == 0) */
+  let sx = 0;         /* running index in sym_buf */
+  let code;           /* the code to send */
+  let extra;          /* number of extra bits to send */
+
+  if (s.sym_next !== 0) {
+    do {
+      dist = s.pending_buf[s.sym_buf + sx++] & 0xff;
+      dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8;
+      lc = s.pending_buf[s.sym_buf + sx++];
+      if (dist === 0) {
+        send_code(s, lc, ltree); /* send a literal byte */
+        //Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+      } else {
+        /* Here, lc is the match length - MIN_MATCH */
+        code = _length_code[lc];
+        send_code(s, code + LITERALS + 1, ltree); /* send the length code */
+        extra = extra_lbits[code];
+        if (extra !== 0) {
+          lc -= base_length[code];
+          send_bits(s, lc, extra);       /* send the extra length bits */
+        }
+        dist--; /* dist is now the match distance - 1 */
+        code = d_code(dist);
+        //Assert (code < D_CODES, "bad d_code");
+
+        send_code(s, code, dtree);       /* send the distance code */
+        extra = extra_dbits[code];
+        if (extra !== 0) {
+          dist -= base_dist[code];
+          send_bits(s, dist, extra);   /* send the extra distance bits */
+        }
+      } /* literal or match pair ? */
+
+      /* Check that the overlay between pending_buf and sym_buf is ok: */
+      //Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow");
+
+    } while (sx < s.sym_next);
+  }
+
+  send_code(s, END_BLOCK, ltree);
+};
+
+
+/* ===========================================================================
+ * Construct one Huffman tree and assigns the code bit strings and lengths.
+ * Update the total bit length for the current block.
+ * IN assertion: the field freq is set for all tree elements.
+ * OUT assertions: the fields len and code are set to the optimal bit length
+ *     and corresponding code. The length opt_len is updated; static_len is
+ *     also updated if stree is not null. The field max_code is set.
+ */
+const build_tree = (s, desc) => {
+//    deflate_state *s;
+//    tree_desc *desc; /* the tree descriptor */
+
+  const tree     = desc.dyn_tree;
+  const stree    = desc.stat_desc.static_tree;
+  const has_stree = desc.stat_desc.has_stree;
+  const elems    = desc.stat_desc.elems;
+  let n, m;          /* iterate over heap elements */
+  let max_code = -1; /* largest code with non zero frequency */
+  let node;          /* new node being created */
+
+  /* Construct the initial heap, with least frequent element in
+   * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
+   * heap[0] is not used.
+   */
+  s.heap_len = 0;
+  s.heap_max = HEAP_SIZE;
+
+  for (n = 0; n < elems; n++) {
+    if (tree[n * 2]/*.Freq*/ !== 0) {
+      s.heap[++s.heap_len] = max_code = n;
+      s.depth[n] = 0;
+
+    } else {
+      tree[n * 2 + 1]/*.Len*/ = 0;
+    }
+  }
+
+  /* The pkzip format requires that at least one distance code exists,
+   * and that at least one bit should be sent even if there is only one
+   * possible code. So to avoid special checks later on we force at least
+   * two codes of non zero frequency.
+   */
+  while (s.heap_len < 2) {
+    node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);
+    tree[node * 2]/*.Freq*/ = 1;
+    s.depth[node] = 0;
+    s.opt_len--;
+
+    if (has_stree) {
+      s.static_len -= stree[node * 2 + 1]/*.Len*/;
+    }
+    /* node is 0 or 1 so it does not have extra bits */
+  }
+  desc.max_code = max_code;
+
+  /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
+   * establish sub-heaps of increasing lengths:
+   */
+  for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }
+
+  /* Construct the Huffman tree by repeatedly combining the least two
+   * frequent nodes.
+   */
+  node = elems;              /* next internal node of the tree */
+  do {
+    //pqremove(s, tree, n);  /* n = node of least frequency */
+    /*** pqremove ***/
+    n = s.heap[1/*SMALLEST*/];
+    s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];
+    pqdownheap(s, tree, 1/*SMALLEST*/);
+    /***/
+
+    m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */
+
+    s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */
+    s.heap[--s.heap_max] = m;
+
+    /* Create a new node father of n and m */
+    tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;
+    s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
+    tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;
+
+    /* and insert the new node in the heap */
+    s.heap[1/*SMALLEST*/] = node++;
+    pqdownheap(s, tree, 1/*SMALLEST*/);
+
+  } while (s.heap_len >= 2);
+
+  s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];
+
+  /* At this point, the fields freq and dad are set. We can now
+   * generate the bit lengths.
+   */
+  gen_bitlen(s, desc);
+
+  /* The field len is now set, we can generate the bit codes */
+  gen_codes(tree, max_code, s.bl_count);
+};
+
+
+/* ===========================================================================
+ * Scan a literal or distance tree to determine the frequencies of the codes
+ * in the bit length tree.
+ */
+const scan_tree = (s, tree, max_code) => {
+//    deflate_state *s;
+//    ct_data *tree;   /* the tree to be scanned */
+//    int max_code;    /* and its largest code of non zero frequency */
+
+  let n;                     /* iterates over all tree elements */
+  let prevlen = -1;          /* last emitted length */
+  let curlen;                /* length of current code */
+
+  let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */
+
+  let count = 0;             /* repeat count of the current code */
+  let max_count = 7;         /* max repeat count */
+  let min_count = 4;         /* min repeat count */
+
+  if (nextlen === 0) {
+    max_count = 138;
+    min_count = 3;
+  }
+  tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */
+
+  for (n = 0; n <= max_code; n++) {
+    curlen = nextlen;
+    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;
+
+    if (++count < max_count && curlen === nextlen) {
+      continue;
+
+    } else if (count < min_count) {
+      s.bl_tree[curlen * 2]/*.Freq*/ += count;
+
+    } else if (curlen !== 0) {
+
+      if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }
+      s.bl_tree[REP_3_6 * 2]/*.Freq*/++;
+
+    } else if (count <= 10) {
+      s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;
+
+    } else {
+      s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;
+    }
+
+    count = 0;
+    prevlen = curlen;
+
+    if (nextlen === 0) {
+      max_count = 138;
+      min_count = 3;
+
+    } else if (curlen === nextlen) {
+      max_count = 6;
+      min_count = 3;
+
+    } else {
+      max_count = 7;
+      min_count = 4;
+    }
+  }
+};
+
+
+/* ===========================================================================
+ * Send a literal or distance tree in compressed form, using the codes in
+ * bl_tree.
+ */
+const send_tree = (s, tree, max_code) => {
+//    deflate_state *s;
+//    ct_data *tree; /* the tree to be scanned */
+//    int max_code;       /* and its largest code of non zero frequency */
+
+  let n;                     /* iterates over all tree elements */
+  let prevlen = -1;          /* last emitted length */
+  let curlen;                /* length of current code */
+
+  let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */
+
+  let count = 0;             /* repeat count of the current code */
+  let max_count = 7;         /* max repeat count */
+  let min_count = 4;         /* min repeat count */
+
+  /* tree[max_code+1].Len = -1; */  /* guard already set */
+  if (nextlen === 0) {
+    max_count = 138;
+    min_count = 3;
+  }
+
+  for (n = 0; n <= max_code; n++) {
+    curlen = nextlen;
+    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;
+
+    if (++count < max_count && curlen === nextlen) {
+      continue;
+
+    } else if (count < min_count) {
+      do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);
+
+    } else if (curlen !== 0) {
+      if (curlen !== prevlen) {
+        send_code(s, curlen, s.bl_tree);
+        count--;
+      }
+      //Assert(count >= 3 && count <= 6, " 3_6?");
+      send_code(s, REP_3_6, s.bl_tree);
+      send_bits(s, count - 3, 2);
+
+    } else if (count <= 10) {
+      send_code(s, REPZ_3_10, s.bl_tree);
+      send_bits(s, count - 3, 3);
+
+    } else {
+      send_code(s, REPZ_11_138, s.bl_tree);
+      send_bits(s, count - 11, 7);
+    }
+
+    count = 0;
+    prevlen = curlen;
+    if (nextlen === 0) {
+      max_count = 138;
+      min_count = 3;
+
+    } else if (curlen === nextlen) {
+      max_count = 6;
+      min_count = 3;
+
+    } else {
+      max_count = 7;
+      min_count = 4;
+    }
+  }
+};
+
+
+/* ===========================================================================
+ * Construct the Huffman tree for the bit lengths and return the index in
+ * bl_order of the last bit length code to send.
+ */
+const build_bl_tree = (s) => {
+
+  let max_blindex;  /* index of last bit length code of non zero freq */
+
+  /* Determine the bit length frequencies for literal and distance trees */
+  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
+  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
+
+  /* Build the bit length tree: */
+  build_tree(s, s.bl_desc);
+  /* opt_len now includes the length of the tree representations, except
+   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
+   */
+
+  /* Determine the number of bit length codes to send. The pkzip format
+   * requires that at least 4 bit length codes be sent. (appnote.txt says
+   * 3 but the actual value used is 4.)
+   */
+  for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {
+    if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {
+      break;
+    }
+  }
+  /* Update opt_len to include the bit length tree and counts */
+  s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;
+  //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
+  //        s->opt_len, s->static_len));
+
+  return max_blindex;
+};
+
+
+/* ===========================================================================
+ * Send the header for a block using dynamic Huffman trees: the counts, the
+ * lengths of the bit length codes, the literal tree and the distance tree.
+ * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
+ */
+const send_all_trees = (s, lcodes, dcodes, blcodes) => {
+//    deflate_state *s;
+//    int lcodes, dcodes, blcodes; /* number of codes for each tree */
+
+  let rank;                    /* index in bl_order */
+
+  //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
+  //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
+  //        "too many codes");
+  //Tracev((stderr, "\nbl counts: "));
+  send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */
+  send_bits(s, dcodes - 1,   5);
+  send_bits(s, blcodes - 4,  4); /* not -3 as stated in appnote.txt */
+  for (rank = 0; rank < blcodes; rank++) {
+    //Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
+    send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);
+  }
+  //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
+
+  send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */
+  //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
+
+  send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */
+  //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
+};
+
+
+/* ===========================================================================
+ * Check if the data type is TEXT or BINARY, using the following algorithm:
+ * - TEXT if the two conditions below are satisfied:
+ *    a) There are no non-portable control characters belonging to the
+ *       "block list" (0..6, 14..25, 28..31).
+ *    b) There is at least one printable character belonging to the
+ *       "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
+ * - BINARY otherwise.
+ * - The following partially-portable control characters form a
+ *   "gray list" that is ignored in this detection algorithm:
+ *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
+ * IN assertion: the fields Freq of dyn_ltree are set.
+ */
+const detect_data_type = (s) => {
+  /* block_mask is the bit mask of block-listed bytes
+   * set bits 0..6, 14..25, and 28..31
+   * 0xf3ffc07f = binary 11110011111111111100000001111111
+   */
+  let block_mask = 0xf3ffc07f;
+  let n;
+
+  /* Check for non-textual ("block-listed") bytes. */
+  for (n = 0; n <= 31; n++, block_mask >>>= 1) {
+    if ((block_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {
+      return Z_BINARY;
+    }
+  }
+
+  /* Check for textual ("allow-listed") bytes. */
+  if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||
+      s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {
+    return Z_TEXT;
+  }
+  for (n = 32; n < LITERALS; n++) {
+    if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {
+      return Z_TEXT;
+    }
+  }
+
+  /* There are no "block-listed" or "allow-listed" bytes:
+   * this stream either is empty or has tolerated ("gray-listed") bytes only.
+   */
+  return Z_BINARY;
+};
+
+
+let static_init_done = false;
+
+/* ===========================================================================
+ * Initialize the tree data structures for a new zlib stream.
+ */
+const _tr_init = (s) =>
+{
+
+  if (!static_init_done) {
+    tr_static_init();
+    static_init_done = true;
+  }
+
+  s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);
+  s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);
+  s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);
+
+  s.bi_buf = 0;
+  s.bi_valid = 0;
+
+  /* Initialize the first block of the first file: */
+  init_block(s);
+};
+
+
+/* ===========================================================================
+ * Send a stored block
+ */
+const _tr_stored_block = (s, buf, stored_len, last) => {
+//DeflateState *s;
+//charf *buf;       /* input block */
+//ulg stored_len;   /* length of input block */
+//int last;         /* one if this is the last block for a file */
+
+  send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);    /* send block type */
+  bi_windup(s);        /* align on byte boundary */
+  put_short(s, stored_len);
+  put_short(s, ~stored_len);
+  if (stored_len) {
+    s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending);
+  }
+  s.pending += stored_len;
+};
+
+
+/* ===========================================================================
+ * Send one empty static block to give enough lookahead for inflate.
+ * This takes 10 bits, of which 7 may remain in the bit buffer.
+ */
+const _tr_align = (s) => {
+  send_bits(s, STATIC_TREES << 1, 3);
+  send_code(s, END_BLOCK, static_ltree);
+  bi_flush(s);
+};
+
+
+/* ===========================================================================
+ * Determine the best encoding for the current block: dynamic trees, static
+ * trees or store, and write out the encoded block.
+ */
+const _tr_flush_block = (s, buf, stored_len, last) => {
+//DeflateState *s;
+//charf *buf;       /* input block, or NULL if too old */
+//ulg stored_len;   /* length of input block */
+//int last;         /* one if this is the last block for a file */
+
+  let opt_lenb, static_lenb;  /* opt_len and static_len in bytes */
+  let max_blindex = 0;        /* index of last bit length code of non zero freq */
+
+  /* Build the Huffman trees unless a stored block is forced */
+  if (s.level > 0) {
+
+    /* Check if the file is binary or text */
+    if (s.strm.data_type === Z_UNKNOWN) {
+      s.strm.data_type = detect_data_type(s);
+    }
+
+    /* Construct the literal and distance trees */
+    build_tree(s, s.l_desc);
+    // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
+    //        s->static_len));
+
+    build_tree(s, s.d_desc);
+    // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
+    //        s->static_len));
+    /* At this point, opt_len and static_len are the total bit lengths of
+     * the compressed block data, excluding the tree representations.
+     */
+
+    /* Build the bit length tree for the above two trees, and get the index
+     * in bl_order of the last bit length code to send.
+     */
+    max_blindex = build_bl_tree(s);
+
+    /* Determine the best encoding. Compute the block lengths in bytes. */
+    opt_lenb = (s.opt_len + 3 + 7) >>> 3;
+    static_lenb = (s.static_len + 3 + 7) >>> 3;
+
+    // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+    //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+    //        s->sym_next / 3));
+
+    if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }
+
+  } else {
+    // Assert(buf != (char*)0, "lost buf");
+    opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
+  }
+
+  if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {
+    /* 4: two words for the lengths */
+
+    /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
+     * Otherwise we can't have processed more than WSIZE input bytes since
+     * the last block flush, because compression would have been
+     * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
+     * transform a block into a stored block.
+     */
+    _tr_stored_block(s, buf, stored_len, last);
+
+  } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {
+
+    send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);
+    compress_block(s, static_ltree, static_dtree);
+
+  } else {
+    send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);
+    send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);
+    compress_block(s, s.dyn_ltree, s.dyn_dtree);
+  }
+  // Assert (s->compressed_len == s->bits_sent, "bad compressed size");
+  /* The above check is made mod 2^32, for files larger than 512 MB
+   * and uLong implemented on 32 bits.
+   */
+  init_block(s);
+
+  if (last) {
+    bi_windup(s);
+  }
+  // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+  //       s->compressed_len-7*last));
+};
+
+/* ===========================================================================
+ * Save the match info and tally the frequency counts. Return true if
+ * the current block must be flushed.
+ */
+const _tr_tally = (s, dist, lc) => {
+//    deflate_state *s;
+//    unsigned dist;  /* distance of matched string */
+//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */
+
+  s.pending_buf[s.sym_buf + s.sym_next++] = dist;
+  s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;
+  s.pending_buf[s.sym_buf + s.sym_next++] = lc;
+  if (dist === 0) {
+    /* lc is the unmatched char */
+    s.dyn_ltree[lc * 2]/*.Freq*/++;
+  } else {
+    s.matches++;
+    /* Here, lc is the match length - MIN_MATCH */
+    dist--;             /* dist = match distance - 1 */
+    //Assert((ush)dist < (ush)MAX_DIST(s) &&
+    //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
+    //       (ush)d_code(dist) < (ush)D_CODES,  "_tr_tally: bad match");
+
+    s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;
+    s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;
+  }
+
+  return (s.sym_next === s.sym_end);
+};
+
+module.exports._tr_init  = _tr_init;
+module.exports._tr_stored_block = _tr_stored_block;
+module.exports._tr_flush_block  = _tr_flush_block;
+module.exports._tr_tally = _tr_tally;
+module.exports._tr_align = _tr_align;
+
+
+/***/ }),
+
+/***/ 84463:
+/***/ ((module) => {
+
+"use strict";
+
+
+// (C) 1995-2013 Jean-loup Gailly and Mark Adler
+// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+//   claim that you wrote the original software. If you use this software
+//   in a product, an acknowledgment in the product documentation would be
+//   appreciated but is not required.
+// 2. Altered source versions must be plainly marked as such, and must not be
+//   misrepresented as being the original software.
+// 3. This notice may not be removed or altered from any source distribution.
+
+function ZStream() {
+  /* next input byte */
+  this.input = null; // JS specific, because we have no pointers
+  this.next_in = 0;
+  /* number of bytes available at input */
+  this.avail_in = 0;
+  /* total number of input bytes read so far */
+  this.total_in = 0;
+  /* next output byte should be put there */
+  this.output = null; // JS specific, because we have no pointers
+  this.next_out = 0;
+  /* remaining free space at output */
+  this.avail_out = 0;
+  /* total number of bytes output so far */
+  this.total_out = 0;
+  /* last error message, NULL if no error */
+  this.msg = ''/*Z_NULL*/;
+  /* not visible by applications */
+  this.state = null;
+  /* best guess about the data type: binary or text */
+  this.data_type = 2/*Z_UNKNOWN*/;
+  /* adler32 value of the uncompressed data */
+  this.adler = 0;
+}
+
+module.exports = ZStream;
+
+
+/***/ }),
+
+/***/ 76164:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+
+var has = Object.prototype.hasOwnProperty
+  , undef;
+
+/**
+ * Decode a URI encoded string.
+ *
+ * @param {String} input The URI encoded string.
+ * @returns {String|Null} The decoded string.
+ * @api private
+ */
+function decode(input) {
+  try {
+    return decodeURIComponent(input.replace(/\+/g, ' '));
+  } catch (e) {
+    return null;
+  }
+}
+
+/**
+ * Attempts to encode a given input.
+ *
+ * @param {String} input The string that needs to be encoded.
+ * @returns {String|Null} The encoded string.
+ * @api private
+ */
+function encode(input) {
+  try {
+    return encodeURIComponent(input);
+  } catch (e) {
+    return null;
+  }
+}
+
+/**
+ * Simple query string parser.
+ *
+ * @param {String} query The query string that needs to be parsed.
+ * @returns {Object}
+ * @api public
+ */
+function querystring(query) {
+  var parser = /([^=?#&]+)=?([^&]*)/g
+    , result = {}
+    , part;
+
+  while (part = parser.exec(query)) {
+    var key = decode(part[1])
+      , value = decode(part[2]);
+
+    //
+    // Prevent overriding of existing properties. This ensures that build-in
+    // methods like `toString` or __proto__ are not overriden by malicious
+    // querystrings.
+    //
+    // In the case if failed decoding, we want to omit the key/value pairs
+    // from the result.
+    //
+    if (key === null || value === null || key in result) continue;
+    result[key] = value;
+  }
+
+  return result;
+}
+
+/**
+ * Transform a query string to an object.
+ *
+ * @param {Object} obj Object that should be transformed.
+ * @param {String} prefix Optional prefix.
+ * @returns {String}
+ * @api public
+ */
+function querystringify(obj, prefix) {
+  prefix = prefix || '';
+
+  var pairs = []
+    , value
+    , key;
+
+  //
+  // Optionally prefix with a '?' if needed
+  //
+  if ('string' !== typeof prefix) prefix = '?';
+
+  for (key in obj) {
+    if (has.call(obj, key)) {
+      value = obj[key];
+
+      //
+      // Edge cases where we actually want to encode the value to an empty
+      // string instead of the stringified value.
+      //
+      if (!value && (value === null || value === undef || isNaN(value))) {
+        value = '';
+      }
+
+      key = encode(key);
+      value = encode(value);
+
+      //
+      // If we failed to encode the strings, we should bail out as we don't
+      // want to add invalid strings to the query.
+      //
+      if (key === null || value === null) continue;
+      pairs.push(key +'='+ value);
+    }
+  }
+
+  return pairs.length ? prefix + pairs.join('&') : '';
+}
+
+//
+// Expose the module.
+//
+exports.stringify = querystringify;
+exports.parse = querystring;
+
+
+/***/ }),
+
+/***/ 54685:
+/***/ ((module) => {
+
+"use strict";
+
+
+/**
+ * Check if we're required to add a port number.
+ *
+ * @see https://url.spec.whatwg.org/#default-port
+ * @param {Number|String} port Port number we need to check
+ * @param {String} protocol Protocol we need to check against.
+ * @returns {Boolean} Is it a default port for the given protocol
+ * @api private
+ */
+module.exports = function required(port, protocol) {
+  protocol = protocol.split(':')[0];
+  port = +port;
+
+  if (!port) return false;
+
+  switch (protocol) {
+    case 'http':
+    case 'ws':
+    return port !== 80;
+
+    case 'https':
+    case 'wss':
+    return port !== 443;
+
+    case 'ftp':
+    return port !== 21;
+
+    case 'gopher':
+    return port !== 70;
+
+    case 'file':
+    return false;
+  }
+
+  return port !== 0;
+};
+
+
+/***/ }),
+
+/***/ 6521:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+var required = __webpack_require__(54685)
+  , qs = __webpack_require__(76164)
+  , controlOrWhitespace = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/
+  , CRHTLF = /[\n\r\t]/g
+  , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//
+  , port = /:\d+$/
+  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i
+  , windowsDriveLetter = /^[a-zA-Z]:/;
+
+/**
+ * Remove control characters and whitespace from the beginning of a string.
+ *
+ * @param {Object|String} str String to trim.
+ * @returns {String} A new string representing `str` stripped of control
+ *     characters and whitespace from its beginning.
+ * @public
+ */
+function trimLeft(str) {
+  return (str ? str : '').toString().replace(controlOrWhitespace, '');
+}
+
+/**
+ * These are the parse rules for the URL parser, it informs the parser
+ * about:
+ *
+ * 0. The char it Needs to parse, if it's a string it should be done using
+ *    indexOf, RegExp using exec and NaN means set as current value.
+ * 1. The property we should set when parsing this value.
+ * 2. Indication if it's backwards or forward parsing, when set as number it's
+ *    the value of extra chars that should be split off.
+ * 3. Inherit from location if non existing in the parser.
+ * 4. `toLowerCase` the resulting value.
+ */
+var rules = [
+  ['#', 'hash'],                        // Extract from the back.
+  ['?', 'query'],                       // Extract from the back.
+  function sanitize(address, url) {     // Sanitize what is left of the address
+    return isSpecial(url.protocol) ? address.replace(/\\/g, '/') : address;
+  },
+  ['/', 'pathname'],                    // Extract from the back.
+  ['@', 'auth', 1],                     // Extract from the front.
+  [NaN, 'host', undefined, 1, 1],       // Set left over value.
+  [/:(\d*)$/, 'port', undefined, 1],    // RegExp the back.
+  [NaN, 'hostname', undefined, 1, 1]    // Set left over.
+];
+
+/**
+ * These properties should not be copied or inherited from. This is only needed
+ * for all non blob URL's as a blob URL does not include a hash, only the
+ * origin.
+ *
+ * @type {Object}
+ * @private
+ */
+var ignore = { hash: 1, query: 1 };
+
+/**
+ * The location object differs when your code is loaded through a normal page,
+ * Worker or through a worker using a blob. And with the blobble begins the
+ * trouble as the location object will contain the URL of the blob, not the
+ * location of the page where our code is loaded in. The actual origin is
+ * encoded in the `pathname` so we can thankfully generate a good "default"
+ * location from it so we can generate proper relative URL's again.
+ *
+ * @param {Object|String} loc Optional default location object.
+ * @returns {Object} lolcation object.
+ * @public
+ */
+function lolcation(loc) {
+  var globalVar;
+
+  if (typeof window !== 'undefined') globalVar = window;
+  else if (typeof global !== 'undefined') globalVar = global;
+  else if (typeof self !== 'undefined') globalVar = self;
+  else globalVar = {};
+
+  var location = globalVar.location || {};
+  loc = loc || location;
+
+  var finaldestination = {}
+    , type = typeof loc
+    , key;
+
+  if ('blob:' === loc.protocol) {
+    finaldestination = new Url(unescape(loc.pathname), {});
+  } else if ('string' === type) {
+    finaldestination = new Url(loc, {});
+    for (key in ignore) delete finaldestination[key];
+  } else if ('object' === type) {
+    for (key in loc) {
+      if (key in ignore) continue;
+      finaldestination[key] = loc[key];
+    }
+
+    if (finaldestination.slashes === undefined) {
+      finaldestination.slashes = slashes.test(loc.href);
+    }
+  }
+
+  return finaldestination;
+}
+
+/**
+ * Check whether a protocol scheme is special.
+ *
+ * @param {String} The protocol scheme of the URL
+ * @return {Boolean} `true` if the protocol scheme is special, else `false`
+ * @private
+ */
+function isSpecial(scheme) {
+  return (
+    scheme === 'file:' ||
+    scheme === 'ftp:' ||
+    scheme === 'http:' ||
+    scheme === 'https:' ||
+    scheme === 'ws:' ||
+    scheme === 'wss:'
+  );
+}
+
+/**
+ * @typedef ProtocolExtract
+ * @type Object
+ * @property {String} protocol Protocol matched in the URL, in lowercase.
+ * @property {Boolean} slashes `true` if protocol is followed by "//", else `false`.
+ * @property {String} rest Rest of the URL that is not part of the protocol.
+ */
+
+/**
+ * Extract protocol information from a URL with/without double slash ("//").
+ *
+ * @param {String} address URL we want to extract from.
+ * @param {Object} location
+ * @return {ProtocolExtract} Extracted information.
+ * @private
+ */
+function extractProtocol(address, location) {
+  address = trimLeft(address);
+  address = address.replace(CRHTLF, '');
+  location = location || {};
+
+  var match = protocolre.exec(address);
+  var protocol = match[1] ? match[1].toLowerCase() : '';
+  var forwardSlashes = !!match[2];
+  var otherSlashes = !!match[3];
+  var slashesCount = 0;
+  var rest;
+
+  if (forwardSlashes) {
+    if (otherSlashes) {
+      rest = match[2] + match[3] + match[4];
+      slashesCount = match[2].length + match[3].length;
+    } else {
+      rest = match[2] + match[4];
+      slashesCount = match[2].length;
+    }
+  } else {
+    if (otherSlashes) {
+      rest = match[3] + match[4];
+      slashesCount = match[3].length;
+    } else {
+      rest = match[4]
+    }
+  }
+
+  if (protocol === 'file:') {
+    if (slashesCount >= 2) {
+      rest = rest.slice(2);
+    }
+  } else if (isSpecial(protocol)) {
+    rest = match[4];
+  } else if (protocol) {
+    if (forwardSlashes) {
+      rest = rest.slice(2);
+    }
+  } else if (slashesCount >= 2 && isSpecial(location.protocol)) {
+    rest = match[4];
+  }
+
+  return {
+    protocol: protocol,
+    slashes: forwardSlashes || isSpecial(protocol),
+    slashesCount: slashesCount,
+    rest: rest
+  };
+}
+
+/**
+ * Resolve a relative URL pathname against a base URL pathname.
+ *
+ * @param {String} relative Pathname of the relative URL.
+ * @param {String} base Pathname of the base URL.
+ * @return {String} Resolved pathname.
+ * @private
+ */
+function resolve(relative, base) {
+  if (relative === '') return base;
+
+  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))
+    , i = path.length
+    , last = path[i - 1]
+    , unshift = false
+    , up = 0;
+
+  while (i--) {
+    if (path[i] === '.') {
+      path.splice(i, 1);
+    } else if (path[i] === '..') {
+      path.splice(i, 1);
+      up++;
+    } else if (up) {
+      if (i === 0) unshift = true;
+      path.splice(i, 1);
+      up--;
+    }
+  }
+
+  if (unshift) path.unshift('');
+  if (last === '.' || last === '..') path.push('');
+
+  return path.join('/');
+}
+
+/**
+ * The actual URL instance. Instead of returning an object we've opted-in to
+ * create an actual constructor as it's much more memory efficient and
+ * faster and it pleases my OCD.
+ *
+ * It is worth noting that we should not use `URL` as class name to prevent
+ * clashes with the global URL instance that got introduced in browsers.
+ *
+ * @constructor
+ * @param {String} address URL we want to parse.
+ * @param {Object|String} [location] Location defaults for relative paths.
+ * @param {Boolean|Function} [parser] Parser for the query string.
+ * @private
+ */
+function Url(address, location, parser) {
+  address = trimLeft(address);
+  address = address.replace(CRHTLF, '');
+
+  if (!(this instanceof Url)) {
+    return new Url(address, location, parser);
+  }
+
+  var relative, extracted, parse, instruction, index, key
+    , instructions = rules.slice()
+    , type = typeof location
+    , url = this
+    , i = 0;
+
+  //
+  // The following if statements allows this module two have compatibility with
+  // 2 different API:
+  //
+  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments
+  //    where the boolean indicates that the query string should also be parsed.
+  //
+  // 2. The `URL` interface of the browser which accepts a URL, object as
+  //    arguments. The supplied object will be used as default values / fall-back
+  //    for relative paths.
+  //
+  if ('object' !== type && 'string' !== type) {
+    parser = location;
+    location = null;
+  }
+
+  if (parser && 'function' !== typeof parser) parser = qs.parse;
+
+  location = lolcation(location);
+
+  //
+  // Extract protocol information before running the instructions.
+  //
+  extracted = extractProtocol(address || '', location);
+  relative = !extracted.protocol && !extracted.slashes;
+  url.slashes = extracted.slashes || relative && location.slashes;
+  url.protocol = extracted.protocol || location.protocol || '';
+  address = extracted.rest;
+
+  //
+  // When the authority component is absent the URL starts with a path
+  // component.
+  //
+  if (
+    extracted.protocol === 'file:' && (
+      extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||
+    (!extracted.slashes &&
+      (extracted.protocol ||
+        extracted.slashesCount < 2 ||
+        !isSpecial(url.protocol)))
+  ) {
+    instructions[3] = [/(.*)/, 'pathname'];
+  }
+
+  for (; i < instructions.length; i++) {
+    instruction = instructions[i];
+
+    if (typeof instruction === 'function') {
+      address = instruction(address, url);
+      continue;
+    }
+
+    parse = instruction[0];
+    key = instruction[1];
+
+    if (parse !== parse) {
+      url[key] = address;
+    } else if ('string' === typeof parse) {
+      index = parse === '@'
+        ? address.lastIndexOf(parse)
+        : address.indexOf(parse);
+
+      if (~index) {
+        if ('number' === typeof instruction[2]) {
+          url[key] = address.slice(0, index);
+          address = address.slice(index + instruction[2]);
+        } else {
+          url[key] = address.slice(index);
+          address = address.slice(0, index);
+        }
+      }
+    } else if ((index = parse.exec(address))) {
+      url[key] = index[1];
+      address = address.slice(0, index.index);
+    }
+
+    url[key] = url[key] || (
+      relative && instruction[3] ? location[key] || '' : ''
+    );
+
+    //
+    // Hostname, host and protocol should be lowercased so they can be used to
+    // create a proper `origin`.
+    //
+    if (instruction[4]) url[key] = url[key].toLowerCase();
+  }
+
+  //
+  // Also parse the supplied query string in to an object. If we're supplied
+  // with a custom parser as function use that instead of the default build-in
+  // parser.
+  //
+  if (parser) url.query = parser(url.query);
+
+  //
+  // If the URL is relative, resolve the pathname against the base URL.
+  //
+  if (
+      relative
+    && location.slashes
+    && url.pathname.charAt(0) !== '/'
+    && (url.pathname !== '' || location.pathname !== '')
+  ) {
+    url.pathname = resolve(url.pathname, location.pathname);
+  }
+
+  //
+  // Default to a / for pathname if none exists. This normalizes the URL
+  // to always have a /
+  //
+  if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {
+    url.pathname = '/' + url.pathname;
+  }
+
+  //
+  // We should not add port numbers if they are already the default port number
+  // for a given protocol. As the host also contains the port number we're going
+  // override it with the hostname which contains no port number.
+  //
+  if (!required(url.port, url.protocol)) {
+    url.host = url.hostname;
+    url.port = '';
+  }
+
+  //
+  // Parse down the `auth` for the username and password.
+  //
+  url.username = url.password = '';
+
+  if (url.auth) {
+    index = url.auth.indexOf(':');
+
+    if (~index) {
+      url.username = url.auth.slice(0, index);
+      url.username = encodeURIComponent(decodeURIComponent(url.username));
+
+      url.password = url.auth.slice(index + 1);
+      url.password = encodeURIComponent(decodeURIComponent(url.password))
+    } else {
+      url.username = encodeURIComponent(decodeURIComponent(url.auth));
+    }
+
+    url.auth = url.password ? url.username +':'+ url.password : url.username;
+  }
+
+  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host
+    ? url.protocol +'//'+ url.host
+    : 'null';
+
+  //
+  // The href is just the compiled result.
+  //
+  url.href = url.toString();
+}
+
+/**
+ * This is convenience method for changing properties in the URL instance to
+ * insure that they all propagate correctly.
+ *
+ * @param {String} part          Property we need to adjust.
+ * @param {Mixed} value          The newly assigned value.
+ * @param {Boolean|Function} fn  When setting the query, it will be the function
+ *                               used to parse the query.
+ *                               When setting the protocol, double slash will be
+ *                               removed from the final url if it is true.
+ * @returns {URL} URL instance for chaining.
+ * @public
+ */
+function set(part, value, fn) {
+  var url = this;
+
+  switch (part) {
+    case 'query':
+      if ('string' === typeof value && value.length) {
+        value = (fn || qs.parse)(value);
+      }
+
+      url[part] = value;
+      break;
+
+    case 'port':
+      url[part] = value;
+
+      if (!required(value, url.protocol)) {
+        url.host = url.hostname;
+        url[part] = '';
+      } else if (value) {
+        url.host = url.hostname +':'+ value;
+      }
+
+      break;
+
+    case 'hostname':
+      url[part] = value;
+
+      if (url.port) value += ':'+ url.port;
+      url.host = value;
+      break;
+
+    case 'host':
+      url[part] = value;
+
+      if (port.test(value)) {
+        value = value.split(':');
+        url.port = value.pop();
+        url.hostname = value.join(':');
+      } else {
+        url.hostname = value;
+        url.port = '';
+      }
+
+      break;
+
+    case 'protocol':
+      url.protocol = value.toLowerCase();
+      url.slashes = !fn;
+      break;
+
+    case 'pathname':
+    case 'hash':
+      if (value) {
+        var char = part === 'pathname' ? '/' : '#';
+        url[part] = value.charAt(0) !== char ? char + value : value;
+      } else {
+        url[part] = value;
+      }
+      break;
+
+    case 'username':
+    case 'password':
+      url[part] = encodeURIComponent(value);
+      break;
+
+    case 'auth':
+      var index = value.indexOf(':');
+
+      if (~index) {
+        url.username = value.slice(0, index);
+        url.username = encodeURIComponent(decodeURIComponent(url.username));
+
+        url.password = value.slice(index + 1);
+        url.password = encodeURIComponent(decodeURIComponent(url.password));
+      } else {
+        url.username = encodeURIComponent(decodeURIComponent(value));
+      }
+  }
+
+  for (var i = 0; i < rules.length; i++) {
+    var ins = rules[i];
+
+    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();
+  }
+
+  url.auth = url.password ? url.username +':'+ url.password : url.username;
+
+  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host
+    ? url.protocol +'//'+ url.host
+    : 'null';
+
+  url.href = url.toString();
+
+  return url;
+}
+
+/**
+ * Transform the properties back in to a valid and full URL string.
+ *
+ * @param {Function} stringify Optional query stringify function.
+ * @returns {String} Compiled version of the URL.
+ * @public
+ */
+function toString(stringify) {
+  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;
+
+  var query
+    , url = this
+    , host = url.host
+    , protocol = url.protocol;
+
+  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';
+
+  var result =
+    protocol +
+    ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');
+
+  if (url.username) {
+    result += url.username;
+    if (url.password) result += ':'+ url.password;
+    result += '@';
+  } else if (url.password) {
+    result += ':'+ url.password;
+    result += '@';
+  } else if (
+    url.protocol !== 'file:' &&
+    isSpecial(url.protocol) &&
+    !host &&
+    url.pathname !== '/'
+  ) {
+    //
+    // Add back the empty userinfo, otherwise the original invalid URL
+    // might be transformed into a valid one with `url.pathname` as host.
+    //
+    result += '@';
+  }
+
+  //
+  // Trailing colon is removed from `url.host` when it is parsed. If it still
+  // ends with a colon, then add back the trailing colon that was removed. This
+  // prevents an invalid URL from being transformed into a valid one.
+  //
+  if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {
+    host += ':';
+  }
+
+  result += host + url.pathname;
+
+  query = 'object' === typeof url.query ? stringify(url.query) : url.query;
+  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;
+
+  if (url.hash) result += url.hash;
+
+  return result;
+}
+
+Url.prototype = { set: set, toString: toString };
+
+//
+// Expose the URL parser and some additional properties that might be useful for
+// others or testing.
+//
+Url.extractProtocol = extractProtocol;
+Url.location = lolcation;
+Url.trimLeft = trimLeft;
+Url.qs = qs;
+
+module.exports = Url;
+
+
+/***/ }),
+
+/***/ 54558:
+/***/ ((module) => {
+
+"use strict";
+module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}');
+
+/***/ })
+
+};
+;
+//# sourceMappingURL=885.index.js.map
\ No newline at end of file
diff --git a/dist/885.index.js.map b/dist/885.index.js.map
new file mode 100644
index 0000000..7bc42ca
--- /dev/null
+++ b/dist/885.index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"885.index.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACllBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1kBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3lCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1dA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACp6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7bA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/rGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3pBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACn5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACndA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACleA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACp0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9iBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACp0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9rDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9pCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7gBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACraA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACraA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjlCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACr7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7xBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9uDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzhFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC//DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACniDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1pCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/logger.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/auth.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/baseapi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/configuration.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/exception.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/http/http.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/http/isomorphic-fetch.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/servers.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-common/util.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/AWSIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/AWSLogsIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/AuthenticationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/AzureIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/DashboardListsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/DashboardsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/DowntimesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/EventsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/GCPIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/HostsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/IPRangesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/KeyManagementApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/LogsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/LogsIndexesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/LogsPipelinesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/MetricsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/MonitorsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/NotebooksApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/OrganizationsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/PagerDutyIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/SecurityMonitoringApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/ServiceChecksApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectiveCorrectionsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/ServiceLevelObjectivesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/SlackIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/SnapshotsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/SyntheticsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/TagsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/UsageMeteringApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/UsersApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/apis/WebhooksIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/APIErrorResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSAccount.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSAccountAndLambdaRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSAccountCreateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSAccountDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSAccountListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsAsyncError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsAsyncResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsLambda.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsListServicesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSLogsServicesRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSTagFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSTagFilterCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSTagFilterDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AWSTagFilterListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AddSignalToIncidentRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AlertGraphWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AlertValueWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApiKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApiKeyListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApiKeyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApmStatsQueryColumnType.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApmStatsQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApplicationKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApplicationKeyListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ApplicationKeyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AuthenticationValidationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/AzureAccount.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CancelDowntimesByScopeRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CanceledDowntimesIds.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ChangeWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ChangeWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CheckCanDeleteMonitorResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CheckCanDeleteMonitorResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CheckCanDeleteSLOResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CheckCanDeleteSLOResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/CheckStatusWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Creator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Dashboard.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardBulkActionData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardBulkDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardDeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardGlobalTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardList.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardListDeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardListListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardRestoreRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardSummary.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardSummaryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardTemplateVariable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardTemplateVariablePreset.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DashboardTemplateVariablePresetValue.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DeleteSharedDashboardResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DeletedMonitor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionPointsPayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionPointsSeries.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionWidgetXAxis.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DistributionWidgetYAxis.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Downtime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DowntimeChild.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/DowntimeRecurrence.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Event.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventCreateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventStreamWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/EventTimelineWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionApmDependencyStatsQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionApmResourceStatsQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionCloudCostQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionEventQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionEventQueryDefinitionCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionEventQueryDefinitionSearch.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionEventQueryGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionEventQueryGroupBySort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionMetricQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionProcessQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FormulaAndFunctionSLOQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FreeTextWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FunnelQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FunnelStep.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FunnelWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/FunnelWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GCPAccount.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GeomapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GeomapWidgetDefinitionStyle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GeomapWidgetDefinitionView.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GeomapWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GraphSnapshot.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/GroupWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HTTPLogError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HTTPLogItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HeatMapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HeatMapWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Host.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMapRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMapWidgetDefinitionRequests.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMapWidgetDefinitionStyle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMetaInstallMethod.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMetrics.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMuteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostMuteSettings.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostTags.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HostTotals.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/HourlyUsageAttributionResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IFrameWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesAPI.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesAPM.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesAgents.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesLogs.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesOrchestrator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesProcess.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesRemoteConfiguration.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesSynthetics.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesSyntheticsPrivateLocations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPPrefixesWebhooks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IPRanges.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IdpFormData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IdpResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ImageWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/IntakePayloadAccepted.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamColumn.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamComputeItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamGroupByItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ListStreamWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Log.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogContent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogQueryDefinitionGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogQueryDefinitionGroupBySort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogQueryDefinitionSearch.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogStreamWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsAPIError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsAPIErrorResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsArithmeticProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsAttributeRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsByRetention.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsByRetentionMonthlyUsage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsByRetentionOrgUsage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsByRetentionOrgs.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsCategoryProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsCategoryProcessorCategory.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsDateRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsExclusion.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsExclusionFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsGeoIPParser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsGrokParser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsGrokParserRules.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsIndex.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsIndexListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsIndexUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsIndexesOrder.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsListRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsListRequestTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsLookupProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsMessageRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsPipeline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsPipelineProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsPipelinesOrder.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsQueryCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsRetentionAggSumUsage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsRetentionSumUsage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsServiceRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsStatusRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsStringBuilderProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsTraceRemapper.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsURLParser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/LogsUserAgentParser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MatchingDowntime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricSearchResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricSearchResponseResults.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricsPayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricsQueryMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricsQueryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MetricsQueryUnit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Monitor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorFormulaAndFunctionEventQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorFormulaAndFunctionEventQueryDefinitionCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorFormulaAndFunctionEventQueryDefinitionSearch.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorFormulaAndFunctionEventQueryGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorFormulaAndFunctionEventQueryGroupBySort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorGroupSearchResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorGroupSearchResponseCounts.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorGroupSearchResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorOptionsAggregation.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorOptionsSchedulingOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorOptionsSchedulingOptionsEvaluationWindow.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchCountItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchResponseCounts.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSearchResultNotification.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorState.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorStateGroup.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorSummaryWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorThresholdWindowOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorThresholds.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonitorUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/MonthlyUsageAttributionValues.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NoteWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookAbsoluteTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookAuthor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCellCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCellResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCellUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCreateDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookDistributionCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookHeatMapCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookLogStreamCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookMarkdownCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookMarkdownCellDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookRelativeTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookResponseDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookSplitBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookTimeseriesCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookToplistCellAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookUpdateDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebookUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebooksResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebooksResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebooksResponseDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebooksResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/NotebooksResponsePage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ObjectSerializer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrgDowngradedResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Organization.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationBilling.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationCreateBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationCreateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSettings.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSettingsSaml.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSettingsSamlAutocreateUsersDomains.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSettingsSamlIdpInitiatedLogin.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSettingsSamlStrictMode.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/OrganizationSubscription.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/PagerDutyService.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/PagerDutyServiceKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/PagerDutyServiceName.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Pagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ProcessQueryDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/QueryValueWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/QueryValueWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ReferenceTableLogsLookupProcessor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ResponseMetaAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/RunWorkflowWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/RunWorkflowWidgetInput.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOBulkDeleteError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOBulkDeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOBulkDeleteResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrection.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionResponseAttributesModifier.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCorrectionUpdateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOCreator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLODeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryMetrics.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryMetricsSeries.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryMetricsSeriesMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryMetricsSeriesMetadataUnit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryMonitor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryResponseError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistoryResponseErrorWithType.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOHistorySLIData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListResponseMetadataPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListWidgetQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOListWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOOverallStatuses.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLORawErrorBudgetRemaining.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOStatus.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOThreshold.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SLOWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ScatterPlotRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ScatterPlotWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ScatterPlotWidgetDefinitionRequests.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ScatterplotTableRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ScatterplotWidgetFormula.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseDataAttributesFacets.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseDataAttributesFacetsObjectInt.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseDataAttributesFacetsObjectString.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOResponseMetaPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchSLOThreshold.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchServiceLevelObjective.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchServiceLevelObjectiveAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SearchServiceLevelObjectiveData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SelectableTemplateVariableItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Series.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceCheck.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceLevelObjective.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceLevelObjectiveQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceLevelObjectiveRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceMapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ServiceSummaryWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboard.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardAuthor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardInvites.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardInvitesDataObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardInvitesDataObjectAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardInvitesMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardInvitesMetaPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SharedDashboardUpdateRequestGlobalTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SignalAssigneeUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SignalStateUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SlackIntegrationChannel.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SlackIntegrationChannelDisplay.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SuccessfulSignalUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SunburstWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SunburstWidgetLegendInlineAutomatic.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SunburstWidgetLegendTable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SunburstWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPIStep.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestConfig.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestResultData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestResultFull.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestResultFullCheck.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestResultShort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAPITestResultShortResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsApiTestResultFailure.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionJSONPathTarget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionJSONPathTargetTarget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionTarget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionXPathTarget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsAssertionXPathTargetTarget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthDigest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthNTLM.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthOauthClient.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthOauthROP.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthSigv4.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBasicAuthWeb.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBatchDetails.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBatchDetailsData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBatchResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestConfig.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultFailure.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultFull.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultFullCheck.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultShort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestResultShortResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserTestRumSettings.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsBrowserVariable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCIBatchMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCIBatchMetadataCI.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCIBatchMetadataGit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCIBatchMetadataPipeline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCIBatchMetadataProvider.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCITest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCITestBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsConfigVariable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsCoreWebVitals.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsDeleteTestsPayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsDeleteTestsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsDeletedTest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsDevice.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGetAPITestLatestResultsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGetBrowserTestLatestResultsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariableAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariableOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariableParseTestOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariableTOTPParameters.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsGlobalVariableValue.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsListGlobalVariablesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsListTestsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsLocation.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsLocations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsParsingOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocation.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationCreationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationCreationResponseResultEncryption.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationSecrets.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationSecretsAuthentication.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsPrivateLocationSecretsConfigDecryption.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsSSLCertificate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsSSLCertificateIssuer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsSSLCertificateSubject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsStep.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsStepDetail.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsStepDetailWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestCiOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestConfig.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestDetails.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestOptionsMonitorOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestOptionsRetry.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestOptionsScheduling.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestOptionsSchedulingTimeframe.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestRequestCertificate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestRequestCertificateItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTestRequestProxy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTiming.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTriggerBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTriggerCITestLocation.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTriggerCITestRunResult.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTriggerCITestsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsTriggerTest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsUpdateTestPauseStatusPayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/SyntheticsVariableParser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TableWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TableWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TagToHosts.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TimeseriesBackground.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TimeseriesWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TimeseriesWidgetExpressionAlias.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TimeseriesWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ToplistWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/ToplistWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TopologyMapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TopologyQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TopologyRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TreeMapWidgetDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/TreeMapWidgetRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAnalyzedLogsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAnalyzedLogsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionAggregatesBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAttributionValues.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAuditLogsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageAuditLogsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageBillableSummaryBody.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageBillableSummaryHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageBillableSummaryKeys.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageBillableSummaryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCIVisibilityHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCIVisibilityResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCWSHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCWSResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCloudSecurityPostureManagementHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCloudSecurityPostureManagementResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCustomReportsAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCustomReportsData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCustomReportsMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCustomReportsPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageCustomReportsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageDBMHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageDBMResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageFargateHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageFargateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageHostHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageHostsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIncidentManagementHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIncidentManagementResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIndexedSpansHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIndexedSpansResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIngestedSpansHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIngestedSpansResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIoTHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageIoTResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLambdaHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLambdaResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsByIndexHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsByIndexResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsByRetentionHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsByRetentionResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageLogsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageNetworkFlowsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageNetworkFlowsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageNetworkHostsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageNetworkHostsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageOnlineArchiveHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageOnlineArchiveResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageProfilingHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageProfilingResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageRumSessionsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageRumSessionsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageRumUnitsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageRumUnitsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSDSHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSDSResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSNMPHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSNMPResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSpecifiedCustomReportsAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSpecifiedCustomReportsData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSpecifiedCustomReportsMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSpecifiedCustomReportsPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSpecifiedCustomReportsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSummaryDate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSummaryDateOrg.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSummaryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsAPIHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsAPIResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsBrowserHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsBrowserResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageSyntheticsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTimeseriesHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTimeseriesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTopAvgMetricsHour.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTopAvgMetricsMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTopAvgMetricsPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UsageTopAvgMetricsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/User.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UserDisableResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UserListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/UserResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WebhooksIntegration.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WebhooksIntegrationCustomVariable.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WebhooksIntegrationCustomVariableResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WebhooksIntegrationCustomVariableUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WebhooksIntegrationUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/Widget.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetAxis.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetConditionalFormat.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetCustomLink.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetEvent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetFieldSort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetFormula.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetFormulaLimit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetFormulaStyle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetLayout.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetMarker.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetRequestStyle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetStyle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/models/WidgetTime.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/AuditApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/AuthNMappingsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/CIVisibilityPipelinesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/CIVisibilityTestsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/CloudWorkloadSecurityApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/CloudflareIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/ConfluentCloudApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/DashboardListsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/DowntimesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/EventsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/FastlyIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/GCPIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/IPAllowlistApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/IncidentServicesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/IncidentTeamsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/IncidentsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/KeyManagementApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/LogsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/LogsArchivesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/LogsMetricsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/MetricsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/MonitorsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/OpsgenieIntegrationApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/OrganizationsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/ProcessesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/RUMApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/RestrictionPoliciesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/RolesApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/SecurityMonitoringApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/SensitiveDataScannerApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/ServiceAccountsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/ServiceDefinitionApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/SpansApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/SpansMetricsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/SyntheticsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/TeamsApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/UsageMeteringApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/apis/UsersApi.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIErrorResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeyUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/APIKeysResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ApplicationKeyUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsEvent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsEventAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsEventsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsQueryPageOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsResponsePage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsSearchEventsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuditLogsWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMapping.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingCreateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingUpdateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/AuthNMappingsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppAggregateBucketValueTimeseriesPoint.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppAggregateSort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppCIError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppCreatePipelineEventRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppEventAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppGitInfo.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppGroupByHistogram.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppHostInfo.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEvent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventJob.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventParentPipeline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventPipeline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventPreviousPipeline.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventStage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventStep.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelineEventsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesAggregateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesAggregationBucketsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesAnalyticsAggregateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesBucketResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppPipelinesQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppQueryPageOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppResponseMetadataWithPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppResponsePage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestEvent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestEventsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestEventsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsAggregateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsAggregationBucketsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsAnalyticsAggregateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsBucketResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppTestsQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CIAppWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ChargebackBreakdown.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationComplianceRuleOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationRegoRule.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationRuleCaseCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationRuleComplianceSignalOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationRuleCreatePayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudConfigurationRuleOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleCreatorAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRuleUpdaterAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudWorkloadSecurityAgentRulesListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountCreateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountUpdateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountUpdateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CloudflareAccountsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountCreateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountResourceAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountUpdateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountUpdateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentAccountsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourceResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ConfluentResourcesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CostByOrg.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CostByOrgAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/CostByOrgResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Creator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListAddItemsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListAddItemsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListDeleteItemsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListDeleteItemsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListItemRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListItemResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListItems.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListUpdateItemsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DashboardListUpdateItemsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DataScalarColumn.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DetailedFinding.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DetailedFindingAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeCreateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMetaPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMonitorIdentifierId.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMonitorIdentifierTags.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMonitorIncludedAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeMonitorIncludedItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsCreatedBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsCreatedByData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsMonitor.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeRelationshipsMonitorData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleCurrentDowntimeResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleOneTimeCreateUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleOneTimeResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleRecurrenceCreateUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleRecurrenceResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleRecurrencesCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleRecurrencesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeScheduleRecurrencesUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeUpdateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/DowntimeUpdateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Event.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsGroupBySort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsListRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsListResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsRequestPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsResponseMetadataPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsScalarQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsSearch.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsTimeseriesQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/EventsWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccounResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountCreateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountUpdateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountUpdateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyAccountsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyService.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyServiceAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyServiceData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyServiceRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyServiceResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FastlyServicesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Finding.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FindingAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FindingMute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FindingRule.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FormulaLimit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FullAPIKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FullAPIKeyAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FullApplicationKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/FullApplicationKeyAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSDelegateAccount.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSDelegateAccountAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSDelegateAccountResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccount.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountUpdateRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPSTSServiceAccountsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GCPServiceAccountMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GetFindingResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/GroupScalarColumn.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HTTPCIAppError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HTTPCIAppErrors.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HTTPLogError.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HTTPLogErrors.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HTTPLogItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsageAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsageMeasurement.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsageMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsagePagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/HourlyUsageResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistEntry.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistEntryAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistEntryData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IPAllowlistUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IdPMetadataFormData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentLinkAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentLinkAttributesAttachmentObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentPostmortemAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentsPostmortemAttributesAttachmentObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentAttachmentsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentCreateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentFieldAttributesMultipleValue.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentFieldAttributesSingleValue.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataPatchData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataPatchRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentIntegrationMetadataResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentNotificationHandle.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponseMetaPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentResponseRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseFacetsData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseFieldFacetData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseIncidentsData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseNumericFacetData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseNumericFacetDataAggregates.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponsePropertyFieldFacetData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentSearchResponseUserFacetData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServiceUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentServicesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTeamsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTimelineCellMarkdownCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTimelineCellMarkdownCreateAttributesContent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoAnonymousAssignee.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoPatchData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoPatchRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentTodoResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentUpdateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IncidentsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/IntakePayloadAccepted.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/JSONAPIErrorItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/JSONAPIErrorResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/JiraIntegrationMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/JiraIntegrationMetadataIssuesItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ListApplicationKeysResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ListDowntimesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ListFindingsMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ListFindingsPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ListFindingsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Log.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateBucket.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateBucketValueTimeseriesPoint.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateRequestPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsAggregateSort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchive.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveCreateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveCreateRequestDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveDestinationAzure.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveDestinationGCS.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveDestinationS3.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveIntegrationAzure.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveIntegrationGCS.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveIntegrationS3.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveOrder.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveOrderAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchiveOrderDefinition.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsArchives.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsGroupByHistogram.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsListRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsListRequestPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsListResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponseCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponseFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricResponseGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricUpdateCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsMetricsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsResponseMetadataPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/LogsWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Metric.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricAllTags.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricAllTagsAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricAllTagsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigDelete.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigDeleteAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigStatus.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricBulkTagConfigStatusAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricCustomAggregation.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricDistinctVolume.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricDistinctVolumeAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricEstimate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricEstimateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricEstimateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricIngestedIndexedVolume.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricIngestedIndexedVolumeAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricOrigin.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricPayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricPoint.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricResource.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricSeries.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricSuggestedTagsAndAggregations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricSuggestedTagsAndAggregationsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricSuggestedTagsAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfiguration.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricTagConfigurationUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricVolumesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricsAndMetricTagConfigurationsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricsScalarQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MetricsTimeseriesQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyAttributeCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyAttributeEditRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyAttributeResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyEditData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyEditRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyTagPolicy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorConfigPolicyTagPolicyCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorDowntimeMatchResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorDowntimeMatchResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorDowntimeMatchResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MonitorType.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingRequestProperties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/MuteFindingResponseProperties.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/NullableRelationshipToUser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/NullableRelationshipToUserData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ObjectSerializer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OnDemandConcurrencyCap.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OnDemandConcurrencyCapAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OnDemandConcurrencyCapResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServiceUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OpsgenieServicesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Organization.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/OrganizationAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Pagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PartialAPIKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PartialAPIKeyAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PartialApplicationKey.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PartialApplicationKeyAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PartialApplicationKeyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Permission.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PermissionAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/PermissionsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ProcessSummariesMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ProcessSummariesMetaPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ProcessSummariesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ProcessSummary.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ProcessSummaryAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/QueryFormula.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMAggregateBucketValueTimeseriesPoint.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMAggregateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMAggregateSort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMAggregationBucketsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMAnalyticsAggregateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplication.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationList.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationListAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMApplicationsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMBucketResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMEvent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMEventAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMEventsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMGroupByHistogram.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMQueryPageOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMResponsePage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMSearchEventsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RUMWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentAttachment.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentAttachmentData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentIntegrationMetadataData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentIntegrationMetadatas.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentPostmortem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToIncidentPostmortemData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToOrganization.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToOrganizationData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToOrganizations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToPermission.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToPermissionData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToPermissions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToRole.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToRoleData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToRoles.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToSAMLAssertionAttribute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToSAMLAssertionAttributeData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToTeamLinkData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToTeamLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUserData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUserTeamPermission.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUserTeamPermissionData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUserTeamUser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUserTeamUserData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RelationshipToUsers.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ResponseMetaAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RestrictionPolicy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RestrictionPolicyAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RestrictionPolicyBinding.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RestrictionPolicyResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RestrictionPolicyUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Role.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleClone.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCloneAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCloneRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCreateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleCreateResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleResponseRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RoleUpdateResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/RolesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SAMLAssertionAttribute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SAMLAssertionAttributeAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarFormulaQueryRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarFormulaQueryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarFormulaRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarFormulaRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarFormulaResponseAtrributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ScalarResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterExclusionFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterExclusionFilterResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFilterUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityFiltersResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringListRulesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleCase.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleCaseCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleImpossibleTravelOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleNewValueOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringRuleUpdatePayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignal.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalAssigneeUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalAssigneeUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalAssigneeUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalIncidentsUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalIncidentsUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalIncidentsUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalListRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalListRequestFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalListRequestPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalRuleCreatePayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalRuleQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalRuleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalRuleResponseQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalStateUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalStateUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalStateUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalTriageAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalTriageUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalTriageUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalsListResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalsListResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringSignalsListResponseMetaPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringStandardRuleCreatePayload.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringStandardRuleQuery.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringStandardRuleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SecurityMonitoringTriageUser.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerConfigRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerConfiguration.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerConfigurationData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerConfigurationRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerCreateGroupResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerCreateRuleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGetConfigResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGetConfigResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroup.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupDeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupIncludedItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupList.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerGroupUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerMetaVersionOnly.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerReorderConfig.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerReorderGroupsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRule.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleDeleteRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleDeleteResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleIncludedItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerRuleUpdateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerStandardPattern.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerStandardPatternAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerStandardPatternData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerStandardPatternsResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerStandardPatternsResponseItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SensitiveDataScannerTextReplacement.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceAccountCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceAccountCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceAccountCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionCreateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionGetResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionMetaWarnings.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1Contact.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1Info.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1Integrations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1Org.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV1Resource.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Doc.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Email.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Integrations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Link.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1MSTeams.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Opsgenie.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Pagerduty.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Dot1Slack.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Email.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Integrations.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Link.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2MSTeams.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Opsgenie.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Repo.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionV2Slack.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/ServiceDefinitionsListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SlackIntegrationMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SlackIntegrationMetadataChannelItem.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Span.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateBucket.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateBucketAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateBucketValueTimeseriesPoint.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAggregateSort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansGroupByHistogram.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListRequestData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListRequestPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansListResponseMetadata.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponseCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponseFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricResponseGroupBy.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricUpdateCompute.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansMetricsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansQueryFilter.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansQueryOptions.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansResponseMetadataPage.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/SpansWarning.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Team.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamCreateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLink.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLinkAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLinkCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLinkCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLinkResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamLinksResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSetting.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamPermissionSettingsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamRelationshipsLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamUpdateRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamsResponseLinks.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamsResponseMeta.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TeamsResponseMetaPagination.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesFormulaQueryRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesFormulaQueryResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesFormulaRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesFormulaRequestAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesResponseAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/TimeseriesResponseSeries.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/Unit.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageApplicationSecurityMonitoringResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageAttributesObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageDataObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageLambdaTracedInvocationsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageObservabilityPipelinesResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsageTimeSeriesObject.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/User.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserCreateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserCreateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserCreateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationDataAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationResponseData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationsRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserInvitationsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserResponseRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeam.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamCreate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamPermission.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamPermissionAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamRelationships.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamUpdate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserTeamsResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserUpdateAttributes.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserUpdateData.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UserUpdateRequest.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/models/UsersResponse.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/userAgent.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/@datadog+datadog-api-client@1.17.0/node_modules/@datadog/datadog-api-client/dist/version.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/buffer-from@1.1.2/node_modules/buffer-from/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/form-data@4.0.0/node_modules/form-data/lib/form_data.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/form-data@4.0.0/node_modules/form-data/lib/populate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/loglevel@1.8.1/node_modules/loglevel/lib/loglevel.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/deflate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/inflate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/utils/common.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/utils/strings.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/adler32.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/constants.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/crc32.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/deflate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/gzheader.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/inffast.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/inflate.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/inftrees.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/messages.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/trees.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/pako@2.1.0/node_modules/pako/lib/zlib/zstream.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.js","webpack://backstage-blockchain-actions/./node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.client = exports.v2 = exports.v1 = void 0;\nexports.v1 = __importStar(require(\"./packages/datadog-api-client-v1\"));\nexports.v2 = __importStar(require(\"./packages/datadog-api-client-v2\"));\nexports.client = __importStar(require(\"./packages/datadog-api-client-common\"));\n__exportStar(require(\"./logger\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logger = void 0;\nconst loglevel_1 = __importDefault(require(\"loglevel\"));\nconst logger = loglevel_1.default.noConflict();\nexports.logger = logger;\nlogger.setLevel((typeof process !== \"undefined\" && process.env && process.env.DEBUG) ? logger.levels.DEBUG : logger.levels.INFO);\n//# sourceMappingURL=logger.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.configureAuthMethods = exports.AppKeyAuthAuthentication = exports.ApiKeyAuthAuthentication = exports.AuthZAuthentication = void 0;\n/**\n * Applies oauth2 authentication to the request context.\n */\nclass AuthZAuthentication {\n    /**\n     * Configures OAuth2 with the necessary properties\n     *\n     * @param accessToken: The access token to be used for every request\n     */\n    constructor(accessToken) {\n        this.accessToken = accessToken;\n    }\n    getName() {\n        return \"AuthZ\";\n    }\n    applySecurityAuthentication(context) {\n        context.setHeaderParam(\"Authorization\", \"Bearer \" + this.accessToken);\n    }\n}\nexports.AuthZAuthentication = AuthZAuthentication;\n/**\n * Applies apiKey authentication to the request context.\n */\nclass ApiKeyAuthAuthentication {\n    /**\n     * Configures this api key authentication with the necessary properties\n     *\n     * @param apiKey: The api key to be used for every request\n     */\n    constructor(apiKey) {\n        this.apiKey = apiKey;\n    }\n    getName() {\n        return \"apiKeyAuth\";\n    }\n    applySecurityAuthentication(context) {\n        context.setHeaderParam(\"DD-API-KEY\", this.apiKey);\n    }\n}\nexports.ApiKeyAuthAuthentication = ApiKeyAuthAuthentication;\n/**\n * Applies apiKey authentication to the request context.\n */\nclass AppKeyAuthAuthentication {\n    /**\n     * Configures this api key authentication with the necessary properties\n     *\n     * @param apiKey: The api key to be used for every request\n     */\n    constructor(apiKey) {\n        this.apiKey = apiKey;\n    }\n    getName() {\n        return \"appKeyAuth\";\n    }\n    applySecurityAuthentication(context) {\n        context.setHeaderParam(\"DD-APPLICATION-KEY\", this.apiKey);\n    }\n}\nexports.AppKeyAuthAuthentication = AppKeyAuthAuthentication;\n/**\n * Creates the authentication methods from a swagger description.\n *\n */\nfunction configureAuthMethods(config) {\n    const authMethods = {};\n    if (!config) {\n        return authMethods;\n    }\n    if (config[\"AuthZ\"]) {\n        authMethods[\"AuthZ\"] = new AuthZAuthentication(config[\"AuthZ\"][\"accessToken\"]);\n    }\n    if (config[\"apiKeyAuth\"]) {\n        authMethods[\"apiKeyAuth\"] = new ApiKeyAuthAuthentication(config[\"apiKeyAuth\"]);\n    }\n    if (config[\"appKeyAuth\"]) {\n        authMethods[\"appKeyAuth\"] = new AppKeyAuthAuthentication(config[\"appKeyAuth\"]);\n    }\n    return authMethods;\n}\nexports.configureAuthMethods = configureAuthMethods;\n//# sourceMappingURL=auth.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequiredError = exports.BaseAPIRequestFactory = exports.COLLECTION_FORMATS = void 0;\n/**\n *\n * @export\n */\nexports.COLLECTION_FORMATS = {\n    csv: \",\",\n    ssv: \" \",\n    tsv: \"\\t\",\n    pipes: \"|\",\n};\n/**\n *\n * @export\n * @class BaseAPI\n */\nclass BaseAPIRequestFactory {\n    constructor(configuration) {\n        this.configuration = configuration;\n    }\n}\nexports.BaseAPIRequestFactory = BaseAPIRequestFactory;\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nclass RequiredError extends Error {\n    constructor(field, operation) {\n        super(`Required parameter ${field} was null or undefined when calling ${operation}.`);\n        this.field = field;\n        this.name = \"RequiredError\";\n    }\n}\nexports.RequiredError = RequiredError;\n//# sourceMappingURL=baseapi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applySecurityAuthentication = exports.setServerVariables = exports.getServer = exports.createConfiguration = exports.Configuration = void 0;\nconst isomorphic_fetch_1 = require(\"./http/isomorphic-fetch\");\nconst servers_1 = require(\"./servers\");\nconst auth_1 = require(\"./auth\");\nconst logger_1 = require(\"../../logger\");\nclass Configuration {\n    constructor(baseServer, serverIndex, operationServerIndices, httpApi, authMethods, httpConfig, debug, enableRetry, maxRetries, backoffBase, backoffMultiplier, unstableOperations) {\n        this.baseServer = baseServer;\n        this.serverIndex = serverIndex;\n        this.operationServerIndices = operationServerIndices;\n        this.httpApi = httpApi;\n        this.authMethods = authMethods;\n        this.httpConfig = httpConfig;\n        this.debug = debug;\n        this.enableRetry = enableRetry;\n        this.maxRetries = maxRetries;\n        this.backoffBase = backoffBase;\n        this.backoffMultiplier = backoffMultiplier;\n        this.unstableOperations = unstableOperations;\n        this.servers = [];\n        for (const server of servers_1.servers) {\n            this.servers.push(server.clone());\n        }\n        this.operationServers = {};\n        for (const endpoint in servers_1.operationServers) {\n            this.operationServers[endpoint] = [];\n            for (const server of servers_1.operationServers[endpoint]) {\n                this.operationServers[endpoint].push(server.clone());\n            }\n        }\n        if (backoffBase && backoffBase < 2) {\n            throw new Error(\"Backoff base must be at least 2\");\n        }\n    }\n    setServerVariables(serverVariables) {\n        if (this.baseServer !== undefined) {\n            this.baseServer.setVariables(serverVariables);\n            return;\n        }\n        const index = this.serverIndex;\n        this.servers[index].setVariables(serverVariables);\n        for (const op in this.operationServers) {\n            this.operationServers[op][0].setVariables(serverVariables);\n        }\n    }\n    getServer(endpoint) {\n        if (this.baseServer !== undefined) {\n            return this.baseServer;\n        }\n        const index = endpoint in this.operationServerIndices\n            ? this.operationServerIndices[endpoint]\n            : this.serverIndex;\n        return endpoint in servers_1.operationServers\n            ? this.operationServers[endpoint][index]\n            : this.servers[index];\n    }\n}\nexports.Configuration = Configuration;\n/**\n * Configuration factory function\n *\n * If a property is not included in conf, a default is used:\n *    - baseServer: null\n *    - serverIndex: 0\n *    - operationServerIndices: {}\n *    - httpApi: IsomorphicFetchHttpLibrary\n *    - authMethods: {}\n *    - httpConfig: {}\n *    - debug: false\n *\n * @param conf partial configuration\n */\nfunction createConfiguration(conf = {}) {\n    if (typeof process !== \"undefined\" && process.env && process.env.DD_SITE) {\n        const serverConf = servers_1.server1.getConfiguration();\n        servers_1.server1.setVariables({ site: process.env.DD_SITE });\n        for (const op in servers_1.operationServers) {\n            servers_1.operationServers[op][0].setVariables({ site: process.env.DD_SITE });\n        }\n    }\n    const authMethods = conf.authMethods || {};\n    if (!(\"apiKeyAuth\" in authMethods) &&\n        typeof process !== \"undefined\" &&\n        process.env &&\n        process.env.DD_API_KEY) {\n        authMethods[\"apiKeyAuth\"] = process.env.DD_API_KEY;\n    }\n    if (!(\"appKeyAuth\" in authMethods) &&\n        typeof process !== \"undefined\" &&\n        process.env &&\n        process.env.DD_APP_KEY) {\n        authMethods[\"appKeyAuth\"] = process.env.DD_APP_KEY;\n    }\n    const configuration = new Configuration(conf.baseServer, conf.serverIndex || 0, conf.operationServerIndices || {}, conf.httpApi || new isomorphic_fetch_1.IsomorphicFetchHttpLibrary(), (0, auth_1.configureAuthMethods)(authMethods), conf.httpConfig || {}, conf.debug, conf.enableRetry || false, conf.maxRetries || 3, conf.backoffBase || 2, conf.backoffMultiplier || 2, {\n        \"v2.createCIAppPipelineEvent\": false,\n        \"v2.listEvents\": false,\n        \"v2.searchEvents\": false,\n        \"v2.createIncident\": false,\n        \"v2.createIncidentIntegration\": false,\n        \"v2.createIncidentTodo\": false,\n        \"v2.deleteIncident\": false,\n        \"v2.deleteIncidentIntegration\": false,\n        \"v2.deleteIncidentTodo\": false,\n        \"v2.getIncident\": false,\n        \"v2.getIncidentIntegration\": false,\n        \"v2.getIncidentTodo\": false,\n        \"v2.listIncidentAttachments\": false,\n        \"v2.listIncidentIntegrations\": false,\n        \"v2.listIncidents\": false,\n        \"v2.listIncidentTodos\": false,\n        \"v2.searchIncidents\": false,\n        \"v2.updateIncident\": false,\n        \"v2.updateIncidentAttachments\": false,\n        \"v2.updateIncidentIntegration\": false,\n        \"v2.updateIncidentTodo\": false,\n        \"v2.queryScalarData\": false,\n        \"v2.queryTimeseriesData\": false,\n        \"v2.getFinding\": false,\n        \"v2.listFindings\": false,\n        \"v2.updateFinding\": false,\n        \"v2.createIncidentService\": false,\n        \"v2.deleteIncidentService\": false,\n        \"v2.getIncidentService\": false,\n        \"v2.listIncidentServices\": false,\n        \"v2.updateIncidentService\": false,\n        \"v2.createIncidentTeam\": false,\n        \"v2.deleteIncidentTeam\": false,\n        \"v2.getIncidentTeam\": false,\n        \"v2.listIncidentTeams\": false,\n        \"v2.updateIncidentTeam\": false,\n    });\n    configuration.httpApi.zstdCompressorCallback = conf.zstdCompressorCallback;\n    configuration.httpApi.debug = configuration.debug;\n    configuration.httpApi.enableRetry = configuration.enableRetry;\n    configuration.httpApi.maxRetries = configuration.maxRetries;\n    configuration.httpApi.backoffBase = configuration.backoffBase;\n    configuration.httpApi.backoffMultiplier = configuration.backoffMultiplier;\n    return configuration;\n}\nexports.createConfiguration = createConfiguration;\nfunction getServer(conf, endpoint) {\n    logger_1.logger.warn(\"getServer is deprecated, please use Configuration.getServer instead.\");\n    return conf.getServer(endpoint);\n}\nexports.getServer = getServer;\n/**\n * Sets the server variables.\n *\n * @param serverVariables key/value object representing the server variables (site, name, protocol, ...)\n */\nfunction setServerVariables(conf, serverVariables) {\n    logger_1.logger.warn(\"setServerVariables is deprecated, please use Configuration.setServerVariables instead.\");\n    return conf.setServerVariables(serverVariables);\n}\nexports.setServerVariables = setServerVariables;\n/**\n * Apply given security authentication method if avaiable in configuration.\n */\nfunction applySecurityAuthentication(conf, requestContext, authMethods) {\n    for (const authMethodName of authMethods) {\n        const authMethod = conf.authMethods[authMethodName];\n        if (authMethod) {\n            authMethod.applySecurityAuthentication(requestContext);\n        }\n    }\n}\nexports.applySecurityAuthentication = applySecurityAuthentication;\n//# sourceMappingURL=configuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiException = void 0;\n/**\n * Represents an error caused by an api call i.e. it has attributes for a HTTP status code\n * and the returned body object.\n *\n * Example\n * API returns a ErrorMessageObject whenever HTTP status code is not in [200, 299]\n * => ApiException(404, someErrorMessageObject)\n *\n */\nclass ApiException extends Error {\n    constructor(code, body) {\n        super(\"HTTP-Code: \" + code + \"\\nMessage: \" + JSON.stringify(body));\n        this.code = code;\n        this.body = body;\n        Object.setPrototypeOf(this, ApiException.prototype);\n        this.code = code;\n        this.body = body;\n    }\n}\nexports.ApiException = ApiException;\n//# sourceMappingURL=exception.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseContext = exports.SelfDecodingBody = exports.RequestContext = exports.HttpException = exports.HttpMethod = void 0;\nconst userAgent_1 = require(\"../../../userAgent\");\nconst url_parse_1 = __importDefault(require(\"url-parse\"));\nconst util_1 = require(\"../util\");\n/**\n * Represents an HTTP method.\n */\nvar HttpMethod;\n(function (HttpMethod) {\n    HttpMethod[\"GET\"] = \"GET\";\n    HttpMethod[\"HEAD\"] = \"HEAD\";\n    HttpMethod[\"POST\"] = \"POST\";\n    HttpMethod[\"PUT\"] = \"PUT\";\n    HttpMethod[\"DELETE\"] = \"DELETE\";\n    HttpMethod[\"CONNECT\"] = \"CONNECT\";\n    HttpMethod[\"OPTIONS\"] = \"OPTIONS\";\n    HttpMethod[\"TRACE\"] = \"TRACE\";\n    HttpMethod[\"PATCH\"] = \"PATCH\";\n})(HttpMethod = exports.HttpMethod || (exports.HttpMethod = {}));\nclass HttpException extends Error {\n    constructor(msg) {\n        super(msg);\n    }\n}\nexports.HttpException = HttpException;\n/**\n * Represents an HTTP request context\n */\nclass RequestContext {\n    /**\n     * Creates the request context using a http method and request resource url\n     *\n     * @param url url of the requested resource\n     * @param httpMethod http method\n     */\n    constructor(url, httpMethod) {\n        this.httpMethod = httpMethod;\n        this.headers = {};\n        this.body = undefined;\n        this.httpConfig = {};\n        this.url = new url_parse_1.default(url, true);\n        if (!util_1.isBrowser) {\n            this.headers = { \"user-agent\": userAgent_1.userAgent };\n        }\n    }\n    /*\n     * Returns the url set in the constructor including the query string\n     *\n     */\n    getUrl() {\n        return this.url.toString();\n    }\n    /**\n     * Replaces the url set in the constructor with this url.\n     *\n     */\n    setUrl(url) {\n        this.url = new url_parse_1.default(url, true);\n    }\n    /**\n     * Sets the body of the http request either as a string or FormData\n     *\n     * Note that setting a body on a HTTP GET, HEAD, DELETE, CONNECT or TRACE\n     * request is discouraged.\n     * https://httpwg.org/http-core/draft-ietf-httpbis-semantics-latest.html#rfc.section.7.3.1\n     *\n     * @param body the body of the request\n     */\n    setBody(body) {\n        this.body = body;\n    }\n    getHttpMethod() {\n        return this.httpMethod;\n    }\n    getHeaders() {\n        return this.headers;\n    }\n    getBody() {\n        return this.body;\n    }\n    setQueryParam(name, value) {\n        const queryObj = this.url.query;\n        queryObj[name] = value;\n        this.url.set(\"query\", queryObj);\n    }\n    /**\n     * Sets a cookie with the name and value. NO check  for duplicate cookies is performed\n     *\n     */\n    addCookie(name, value) {\n        if (!this.headers[\"Cookie\"]) {\n            this.headers[\"Cookie\"] = \"\";\n        }\n        this.headers[\"Cookie\"] += name + \"=\" + value + \"; \";\n    }\n    setHeaderParam(key, value) {\n        this.headers[key] = value;\n    }\n    setHttpConfig(conf) {\n        this.httpConfig = conf;\n    }\n    getHttpConfig() {\n        return this.httpConfig;\n    }\n}\nexports.RequestContext = RequestContext;\n/**\n * Helper class to generate a `ResponseBody` from binary data\n */\nclass SelfDecodingBody {\n    constructor(dataSource) {\n        this.dataSource = dataSource;\n    }\n    binary() {\n        return this.dataSource;\n    }\n    text() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const data = yield this.dataSource;\n            return data.toString();\n        });\n    }\n}\nexports.SelfDecodingBody = SelfDecodingBody;\nclass ResponseContext {\n    constructor(httpStatusCode, headers, body) {\n        this.httpStatusCode = httpStatusCode;\n        this.headers = headers;\n        this.body = body;\n    }\n    /**\n     * Parse header value in the form `value; param1=\"value1\"`\n     *\n     * E.g. for Content-Type or Content-Disposition\n     * Parameter names are converted to lower case\n     * The first parameter is returned with the key `\"\"`\n     */\n    getParsedHeader(headerName) {\n        const result = {};\n        if (!this.headers[headerName]) {\n            return result;\n        }\n        const parameters = this.headers[headerName].split(\";\");\n        for (const parameter of parameters) {\n            let [key, value] = parameter.split(\"=\", 2);\n            key = key.toLowerCase().trim();\n            if (value === undefined) {\n                result[\"\"] = key;\n            }\n            else {\n                value = value.trim();\n                if (value.startsWith('\"') && value.endsWith('\"')) {\n                    value = value.substring(1, value.length - 1);\n                }\n                result[key] = value;\n            }\n        }\n        return result;\n    }\n    getBodyAsFile() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const data = yield this.body.binary();\n            const fileName = this.getParsedHeader(\"content-disposition\")[\"filename\"] || \"\";\n            return { data, name: fileName };\n        });\n    }\n}\nexports.ResponseContext = ResponseContext;\n//# sourceMappingURL=http.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IsomorphicFetchHttpLibrary = void 0;\nconst http_1 = require(\"./http\");\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst pako_1 = __importDefault(require(\"pako\"));\nconst buffer_from_1 = __importDefault(require(\"buffer-from\"));\nconst util_1 = require(\"../util\");\nclass IsomorphicFetchHttpLibrary {\n    constructor() {\n        this.debug = false;\n    }\n    send(request) {\n        if (this.debug) {\n            this.logRequest(request);\n        }\n        const method = request.getHttpMethod().toString();\n        let body = request.getBody();\n        let compress = request.getHttpConfig().compress;\n        if (compress === undefined) {\n            compress = true;\n        }\n        const headers = request.getHeaders();\n        if (typeof body === \"string\") {\n            if (headers[\"Content-Encoding\"] == \"gzip\") {\n                body = (0, buffer_from_1.default)(pako_1.default.gzip(body).buffer);\n            }\n            else if (headers[\"Content-Encoding\"] == \"deflate\") {\n                body = (0, buffer_from_1.default)(pako_1.default.deflate(body).buffer);\n            }\n            else if (headers[\"Content-Encoding\"] == \"zstd1\") {\n                if (this.zstdCompressorCallback) {\n                    body = this.zstdCompressorCallback(body);\n                }\n                else {\n                    throw new Error(\"zstdCompressorCallback method missing\");\n                }\n            }\n        }\n        if (!util_1.isBrowser) {\n            if (!headers[\"Accept-Encoding\"]) {\n                if (compress) {\n                    headers[\"Accept-Encoding\"] = \"gzip,deflate\";\n                }\n                else {\n                    // We need to enforce it otherwise node-fetch will set a default\n                    headers[\"Accept-Encoding\"] = \"identity\";\n                }\n            }\n        }\n        return this.executeRequest(request, body, 0, headers);\n    }\n    executeRequest(request, body, currentAttempt, headers) {\n        return __awaiter(this, void 0, void 0, function* () {\n            // On non-node environments, use native fetch if available.\n            // `cross-fetch` incorrectly assumes all browsers have XHR available.\n            // See https://github.com/lquixada/cross-fetch/issues/78\n            // TODO: Remove once once above issue is resolved.\n            const fetchFunction = !util_1.isNode && typeof fetch === \"function\" ? fetch : cross_fetch_1.fetch;\n            const fetchOptions = {\n                method: request.getHttpMethod().toString(),\n                body: body,\n                headers: headers,\n                signal: request.getHttpConfig().signal,\n            };\n            try {\n                const resp = yield fetchFunction(request.getUrl(), fetchOptions);\n                const responseHeaders = {};\n                resp.headers.forEach((value, name) => {\n                    responseHeaders[name] = value;\n                });\n                const responseBody = {\n                    text: () => resp.text(),\n                    binary: () => __awaiter(this, void 0, void 0, function* () {\n                        const arrayBuffer = yield resp.arrayBuffer();\n                        return Buffer.from(arrayBuffer);\n                    }),\n                };\n                const response = new http_1.ResponseContext(resp.status, responseHeaders, responseBody);\n                if (this.debug) {\n                    this.logResponse(response);\n                }\n                if (this.shouldRetry(this.enableRetry, currentAttempt, this.maxRetries, response.httpStatusCode)) {\n                    const delay = this.calculateRetryInterval(currentAttempt, this.backoffBase, this.backoffMultiplier, responseHeaders);\n                    currentAttempt++;\n                    yield this.sleep(delay * 1000);\n                    return this.executeRequest(request, body, currentAttempt, headers);\n                }\n                return response;\n            }\n            catch (error) {\n                console.error(\"An error occurred during the HTTP request:\", error);\n                throw error;\n            }\n        });\n    }\n    sleep(milliseconds) {\n        return new Promise((resolve) => {\n            setTimeout(resolve, milliseconds);\n        });\n    }\n    shouldRetry(enableRetry, currentAttempt, maxRetries, responseCode) {\n        return ((responseCode == 429 || responseCode >= 500) &&\n            maxRetries > currentAttempt &&\n            enableRetry);\n    }\n    calculateRetryInterval(currentAttempt, backoffBase, backoffMultiplier, headers) {\n        if (\"x-ratelimit-reset\" in headers) {\n            const rateLimitHeaderString = headers[\"x-ratelimit-reset\"];\n            const retryIntervalFromHeader = parseInt(rateLimitHeaderString, 10);\n            return retryIntervalFromHeader;\n        }\n        else {\n            return Math.pow(backoffMultiplier, currentAttempt) * backoffBase;\n        }\n    }\n    logRequest(request) {\n        var _a;\n        const headers = {};\n        const originalHeaders = request.getHeaders();\n        for (const header in originalHeaders) {\n            headers[header] = originalHeaders[header];\n        }\n        if (headers[\"DD-API-KEY\"]) {\n            headers[\"DD-API-KEY\"] = headers[\"DD-API-KEY\"].replace(/./g, \"x\");\n        }\n        if (headers[\"DD-APPLICATION-KEY\"]) {\n            headers[\"DD-APPLICATION-KEY\"] = headers[\"DD-APPLICATION-KEY\"].replace(/./g, \"x\");\n        }\n        const headersJSON = JSON.stringify(headers, null, 2).replace(/\\n/g, \"\\n\\t\");\n        const method = request.getHttpMethod().toString();\n        const url = request.getUrl().toString();\n        const body = request.getBody()\n            ? JSON.stringify(request.getBody(), null, 2).replace(/\\n/g, \"\\n\\t\")\n            : \"\";\n        const compress = (_a = request.getHttpConfig().compress) !== null && _a !== void 0 ? _a : true;\n        console.debug(\"\\nrequest: {\\n\", `\\turl: ${url}\\n`, `\\tmethod: ${method}\\n`, `\\theaders: ${headersJSON}\\n`, `\\tcompress: ${compress}\\n`, `\\tbody: ${body}\\n}\\n`);\n    }\n    logResponse(response) {\n        const httpStatusCode = response.httpStatusCode;\n        const headers = JSON.stringify(response.headers, null, 2).replace(/\\n/g, \"\\n\\t\");\n        console.debug(\"response: {\\n\", `\\tstatus: ${httpStatusCode}\\n`, `\\theaders: ${headers}\\n`);\n    }\n}\nexports.IsomorphicFetchHttpLibrary = IsomorphicFetchHttpLibrary;\n//# sourceMappingURL=isomorphic-fetch.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Configuration = exports.setServerVariables = exports.createConfiguration = void 0;\n__exportStar(require(\"./http/http\"), exports);\n__exportStar(require(\"./http/isomorphic-fetch\"), exports);\n__exportStar(require(\"./auth\"), exports);\nvar configuration_1 = require(\"./configuration\");\nObject.defineProperty(exports, \"createConfiguration\", { enumerable: true, get: function () { return configuration_1.createConfiguration; } });\nvar configuration_2 = require(\"./configuration\");\nObject.defineProperty(exports, \"setServerVariables\", { enumerable: true, get: function () { return configuration_2.setServerVariables; } });\nvar configuration_3 = require(\"./configuration\");\nObject.defineProperty(exports, \"Configuration\", { enumerable: true, get: function () { return configuration_3.Configuration; } });\n__exportStar(require(\"./exception\"), exports);\n__exportStar(require(\"./servers\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.operationServers = exports.servers = exports.server3 = exports.server2 = exports.server1 = exports.ServerConfiguration = exports.BaseServerConfiguration = void 0;\nconst http_1 = require(\"./http/http\");\n/**\n *\n * Represents the configuration of a server\n *\n */\nclass BaseServerConfiguration {\n    constructor(url, variableConfiguration) {\n        this.url = url;\n        this.variableConfiguration = variableConfiguration;\n    }\n    /**\n     * Sets the value of the variables of this server.\n     *\n     * @param variableConfiguration a partial variable configuration for the variables contained in the url\n     */\n    setVariables(variableConfiguration) {\n        Object.assign(this.variableConfiguration, variableConfiguration);\n    }\n    getConfiguration() {\n        return this.variableConfiguration;\n    }\n    clone() {\n        return new BaseServerConfiguration(this.url, Object.assign({}, this.variableConfiguration));\n    }\n    getUrl() {\n        let replacedUrl = this.url;\n        for (const key in this.variableConfiguration) {\n            const re = new RegExp(\"{\" + key + \"}\", \"g\");\n            replacedUrl = replacedUrl.replace(re, this.variableConfiguration[key]);\n        }\n        return replacedUrl;\n    }\n    /**\n     * Creates a new request context for this server using the url with variables\n     * replaced with their respective values and the endpoint of the request appended.\n     *\n     * @param endpoint the endpoint to be queried on the server\n     * @param httpMethod httpMethod to be used\n     *\n     */\n    makeRequestContext(endpoint, httpMethod) {\n        return new http_1.RequestContext(this.getUrl() + endpoint, httpMethod);\n    }\n}\nexports.BaseServerConfiguration = BaseServerConfiguration;\n/**\n *\n * Represents the configuration of a server including its\n * url template and variable configuration based on the url.\n *\n */\nclass ServerConfiguration extends BaseServerConfiguration {\n}\nexports.ServerConfiguration = ServerConfiguration;\nexports.server1 = new ServerConfiguration(\"https://{subdomain}.{site}\", {\n    site: \"datadoghq.com\",\n    subdomain: \"api\",\n});\nexports.server2 = new ServerConfiguration(\"{protocol}://{name}\", {\n    name: \"api.datadoghq.com\",\n    protocol: \"https\",\n});\nexports.server3 = new ServerConfiguration(\"https://{subdomain}.{site}\", {\n    site: \"datadoghq.com\",\n    subdomain: \"api\",\n});\nexports.servers = [exports.server1, exports.server2, exports.server3];\nexports.operationServers = {\n    \"v1.IPRangesApi.getIPRanges\": [\n        new ServerConfiguration(\"https://{subdomain}.{site}\", {\n            site: \"datadoghq.com\",\n            subdomain: \"ip-ranges\",\n        }),\n        new ServerConfiguration(\"{protocol}://{name}\", {\n            name: \"ip-ranges.datadoghq.com\",\n            protocol: \"https\",\n        }),\n        new ServerConfiguration(\"https://{subdomain}.datadoghq.com\", {\n            subdomain: \"ip-ranges\",\n        }),\n    ],\n    \"v1.LogsApi.submitLog\": [\n        new ServerConfiguration(\"https://{subdomain}.{site}\", {\n            site: \"datadoghq.com\",\n            subdomain: \"http-intake.logs\",\n        }),\n        new ServerConfiguration(\"{protocol}://{name}\", {\n            name: \"http-intake.logs.datadoghq.com\",\n            protocol: \"https\",\n        }),\n        new ServerConfiguration(\"https://{subdomain}.{site}\", {\n            site: \"datadoghq.com\",\n            subdomain: \"http-intake.logs\",\n        }),\n    ],\n    \"v2.LogsApi.submitLog\": [\n        new ServerConfiguration(\"https://{subdomain}.{site}\", {\n            site: \"datadoghq.com\",\n            subdomain: \"http-intake.logs\",\n        }),\n        new ServerConfiguration(\"{protocol}://{name}\", {\n            name: \"http-intake.logs.datadoghq.com\",\n            protocol: \"https\",\n        }),\n        new ServerConfiguration(\"https://{subdomain}.{site}\", {\n            site: \"datadoghq.com\",\n            subdomain: \"http-intake.logs\",\n        }),\n    ],\n};\n//# sourceMappingURL=servers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dateToRFC3339String = exports.dateFromRFC3339String = exports.DDate = exports.isNode = exports.isBrowser = exports.UnparsedObject = void 0;\nclass UnparsedObject {\n    constructor(data) {\n        this._data = data;\n    }\n}\nexports.UnparsedObject = UnparsedObject;\nexports.isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\nexports.isNode = typeof process !== \"undefined\" &&\n    process.release &&\n    process.release.name === \"node\";\nclass DDate extends Date {\n}\nexports.DDate = DDate;\nconst RFC3339Re = /^(\\d{4})-(\\d{2})-(\\d{2})[T ](\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?(?:(?:([+-]\\d{2}):?(\\d{2}))|Z)?$/;\nfunction dateFromRFC3339String(date) {\n    const m = RFC3339Re.exec(date);\n    if (m) {\n        const _date = new DDate(date);\n        _date.originalDate = date;\n        return _date;\n    }\n    else {\n        throw new Error(\"unexpected date format: \" + date);\n    }\n}\nexports.dateFromRFC3339String = dateFromRFC3339String;\nfunction dateToRFC3339String(date) {\n    if (date instanceof DDate && date.originalDate) {\n        return date.originalDate;\n    }\n    return date.toISOString().split(\".\")[0] + \"Z\";\n}\nexports.dateToRFC3339String = dateToRFC3339String;\n//# sourceMappingURL=util.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSIntegrationApi = exports.AWSIntegrationApiResponseProcessor = exports.AWSIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass AWSIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createAWSAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAWSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.createAWSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createAWSTagFilter(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAWSTagFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/filtering\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.createAWSTagFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSTagFilterCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createNewAWSExternalID(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createNewAWSExternalID\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/generate_new_external_id\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.createNewAWSExternalID\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAWSAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteAWSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.deleteAWSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccountDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAWSTagFilter(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteAWSTagFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/filtering\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.deleteAWSTagFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSTagFilterDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAvailableAWSNamespaces(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/available_namespace_rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.listAvailableAWSNamespaces\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAWSAccounts(accountId, roleName, accessKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.listAWSAccounts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (accountId !== undefined) {\n                requestContext.setQueryParam(\"account_id\", ObjectSerializer_1.ObjectSerializer.serialize(accountId, \"string\", \"\"));\n            }\n            if (roleName !== undefined) {\n                requestContext.setQueryParam(\"role_name\", ObjectSerializer_1.ObjectSerializer.serialize(roleName, \"string\", \"\"));\n            }\n            if (accessKeyId !== undefined) {\n                requestContext.setQueryParam(\"access_key_id\", ObjectSerializer_1.ObjectSerializer.serialize(accessKeyId, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAWSTagFilters(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"listAWSTagFilters\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/filtering\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.listAWSTagFilters\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (accountId !== undefined) {\n                requestContext.setQueryParam(\"account_id\", ObjectSerializer_1.ObjectSerializer.serialize(accountId, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAWSAccount(body, accountId, roleName, accessKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAWSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSIntegrationApi.updateAWSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (accountId !== undefined) {\n                requestContext.setQueryParam(\"account_id\", ObjectSerializer_1.ObjectSerializer.serialize(accountId, \"string\", \"\"));\n            }\n            if (roleName !== undefined) {\n                requestContext.setQueryParam(\"role_name\", ObjectSerializer_1.ObjectSerializer.serialize(roleName, \"string\", \"\"));\n            }\n            if (accessKeyId !== undefined) {\n                requestContext.setQueryParam(\"access_key_id\", ObjectSerializer_1.ObjectSerializer.serialize(accessKeyId, \"string\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AWSIntegrationApiRequestFactory = AWSIntegrationApiRequestFactory;\nclass AWSIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAWSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAWSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAWSTagFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAWSTagFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createNewAWSExternalID\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createNewAWSExternalID(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAWSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAWSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAWSTagFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAWSTagFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAvailableAWSNamespaces\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAvailableAWSNamespaces(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAWSAccounts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAWSAccounts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSAccountListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAWSTagFilters\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAWSTagFilters(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSTagFilterListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSTagFilterListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAWSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAWSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AWSIntegrationApiResponseProcessor = AWSIntegrationApiResponseProcessor;\nclass AWSIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AWSIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AWSIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a Datadog-Amazon Web Services integration.\n     * Using the `POST` method updates your integration configuration\n     * by adding your new configuration to the existing one in your Datadog organization.\n     * A unique AWS Account ID for role based authentication.\n     * @param param The request object\n     */\n    createAWSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createAWSAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAWSAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Set an AWS tag filter.\n     * @param param The request object\n     */\n    createAWSTagFilter(param, options) {\n        const requestContextPromise = this.requestFactory.createAWSTagFilter(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAWSTagFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * Generate a new AWS external ID for a given AWS account ID and role name pair.\n     * @param param The request object\n     */\n    createNewAWSExternalID(param, options) {\n        const requestContextPromise = this.requestFactory.createNewAWSExternalID(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createNewAWSExternalID(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Datadog-AWS integration matching the specified `account_id` and `role_name parameters`.\n     * @param param The request object\n     */\n    deleteAWSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAWSAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAWSAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a tag filtering entry.\n     * @param param The request object\n     */\n    deleteAWSTagFilter(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAWSTagFilter(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAWSTagFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * List all namespace rules for a given Datadog-AWS integration. This endpoint takes no arguments.\n     * @param param The request object\n     */\n    listAvailableAWSNamespaces(options) {\n        const requestContextPromise = this.requestFactory.listAvailableAWSNamespaces(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAvailableAWSNamespaces(responseContext);\n            });\n        });\n    }\n    /**\n     * List all Datadog-AWS integrations available in your Datadog organization.\n     * @param param The request object\n     */\n    listAWSAccounts(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listAWSAccounts(param.accountId, param.roleName, param.accessKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAWSAccounts(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all AWS tag filters.\n     * @param param The request object\n     */\n    listAWSTagFilters(param, options) {\n        const requestContextPromise = this.requestFactory.listAWSTagFilters(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAWSTagFilters(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Datadog-Amazon Web Services integration.\n     * @param param The request object\n     */\n    updateAWSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.updateAWSAccount(param.body, param.accountId, param.roleName, param.accessKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAWSAccount(responseContext);\n            });\n        });\n    }\n}\nexports.AWSIntegrationApi = AWSIntegrationApi;\n//# sourceMappingURL=AWSIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsIntegrationApi = exports.AWSLogsIntegrationApiResponseProcessor = exports.AWSLogsIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass AWSLogsIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    checkAWSLogsLambdaAsync(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"checkAWSLogsLambdaAsync\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs/check_async\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.checkAWSLogsLambdaAsync\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccountAndLambdaRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    checkAWSLogsServicesAsync(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"checkAWSLogsServicesAsync\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs/services_async\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.checkAWSLogsServicesAsync\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSLogsServicesRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createAWSLambdaARN(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAWSLambdaARN\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.createAWSLambdaARN\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccountAndLambdaRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAWSLambdaARN(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteAWSLambdaARN\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.deleteAWSLambdaARN\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSAccountAndLambdaRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    enableAWSLogServices(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"enableAWSLogServices\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.enableAWSLogServices\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AWSLogsServicesRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAWSLogsIntegrations(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.listAWSLogsIntegrations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAWSLogsServices(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/aws/logs/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AWSLogsIntegrationApi.listAWSLogsServices\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AWSLogsIntegrationApiRequestFactory = AWSLogsIntegrationApiRequestFactory;\nclass AWSLogsIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to checkAWSLogsLambdaAsync\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    checkAWSLogsLambdaAsync(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSLogsAsyncResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSLogsAsyncResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to checkAWSLogsServicesAsync\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    checkAWSLogsServicesAsync(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSLogsAsyncResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AWSLogsAsyncResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAWSLambdaARN\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAWSLambdaARN(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAWSLambdaARN\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAWSLambdaARN(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to enableAWSLogServices\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    enableAWSLogServices(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAWSLogsIntegrations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAWSLogsIntegrations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAWSLogsServices\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAWSLogsServices(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AWSLogsIntegrationApiResponseProcessor = AWSLogsIntegrationApiResponseProcessor;\nclass AWSLogsIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AWSLogsIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AWSLogsIntegrationApiResponseProcessor();\n    }\n    /**\n     * Test if permissions are present to add a log-forwarding triggers for the given services and AWS account. The input\n     * is the same as for Enable an AWS service log collection. Subsequent requests will always repeat the above, so this\n     * endpoint can be polled intermittently instead of blocking.\n     *\n     * - Returns a status of 'created' when it's checking if the Lambda exists in the account.\n     * - Returns a status of 'waiting' while checking.\n     * - Returns a status of 'checked and ok' if the Lambda exists.\n     * - Returns a status of 'error' if the Lambda does not exist.\n     * @param param The request object\n     */\n    checkAWSLogsLambdaAsync(param, options) {\n        const requestContextPromise = this.requestFactory.checkAWSLogsLambdaAsync(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.checkAWSLogsLambdaAsync(responseContext);\n            });\n        });\n    }\n    /**\n     * Test if permissions are present to add log-forwarding triggers for the\n     * given services and AWS account. Input is the same as for `EnableAWSLogServices`.\n     * Done async, so can be repeatedly polled in a non-blocking fashion until\n     * the async request completes.\n     *\n     * - Returns a status of `created` when it's checking if the permissions exists\n     *   in the AWS account.\n     * - Returns a status of `waiting` while checking.\n     * - Returns a status of `checked and ok` if the Lambda exists.\n     * - Returns a status of `error` if the Lambda does not exist.\n     * @param param The request object\n     */\n    checkAWSLogsServicesAsync(param, options) {\n        const requestContextPromise = this.requestFactory.checkAWSLogsServicesAsync(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.checkAWSLogsServicesAsync(responseContext);\n            });\n        });\n    }\n    /**\n     * Attach the Lambda ARN of the Lambda created for the Datadog-AWS log collection to your AWS account ID to enable log collection.\n     * @param param The request object\n     */\n    createAWSLambdaARN(param, options) {\n        const requestContextPromise = this.requestFactory.createAWSLambdaARN(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAWSLambdaARN(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Datadog-AWS logs configuration by removing the specific Lambda ARN associated with a given AWS account.\n     * @param param The request object\n     */\n    deleteAWSLambdaARN(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAWSLambdaARN(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAWSLambdaARN(responseContext);\n            });\n        });\n    }\n    /**\n     * Enable automatic log collection for a list of services. This should be run after running `CreateAWSLambdaARN` to save the configuration.\n     * @param param The request object\n     */\n    enableAWSLogServices(param, options) {\n        const requestContextPromise = this.requestFactory.enableAWSLogServices(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.enableAWSLogServices(responseContext);\n            });\n        });\n    }\n    /**\n     * List all Datadog-AWS Logs integrations configured in your Datadog account.\n     * @param param The request object\n     */\n    listAWSLogsIntegrations(options) {\n        const requestContextPromise = this.requestFactory.listAWSLogsIntegrations(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAWSLogsIntegrations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of current AWS services that Datadog offers automatic log collection. Use returned service IDs with the services parameter for the Enable an AWS service log collection API endpoint.\n     * @param param The request object\n     */\n    listAWSLogsServices(options) {\n        const requestContextPromise = this.requestFactory.listAWSLogsServices(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAWSLogsServices(responseContext);\n            });\n        });\n    }\n}\nexports.AWSLogsIntegrationApi = AWSLogsIntegrationApi;\n//# sourceMappingURL=AWSLogsIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthenticationApi = exports.AuthenticationApiResponseProcessor = exports.AuthenticationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass AuthenticationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    validate(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/validate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AuthenticationApi.validate\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AuthenticationApiRequestFactory = AuthenticationApiRequestFactory;\nclass AuthenticationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to validate\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    validate(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthenticationValidationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthenticationValidationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AuthenticationApiResponseProcessor = AuthenticationApiResponseProcessor;\nclass AuthenticationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AuthenticationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AuthenticationApiResponseProcessor();\n    }\n    /**\n     * Check if the API key (not the APP key) is valid. If invalid, a 403 is returned.\n     * @param param The request object\n     */\n    validate(options) {\n        const requestContextPromise = this.requestFactory.validate(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.validate(responseContext);\n            });\n        });\n    }\n}\nexports.AuthenticationApi = AuthenticationApi;\n//# sourceMappingURL=AuthenticationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AzureIntegrationApi = exports.AzureIntegrationApiResponseProcessor = exports.AzureIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass AzureIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createAzureIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAzureIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/azure\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AzureIntegrationApi.createAzureIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AzureAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAzureIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteAzureIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/azure\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AzureIntegrationApi.deleteAzureIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AzureAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAzureIntegration(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/azure\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AzureIntegrationApi.listAzureIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAzureHostFilters(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAzureHostFilters\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/azure/host_filters\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AzureIntegrationApi.updateAzureHostFilters\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AzureAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAzureIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAzureIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/azure\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.AzureIntegrationApi.updateAzureIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AzureAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AzureIntegrationApiRequestFactory = AzureIntegrationApiRequestFactory;\nclass AzureIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAzureIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAzureIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAzureIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAzureIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAzureIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAzureIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAzureHostFilters\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAzureHostFilters(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAzureIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAzureIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AzureIntegrationApiResponseProcessor = AzureIntegrationApiResponseProcessor;\nclass AzureIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AzureIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AzureIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a Datadog-Azure integration.\n     *\n     * Using the `POST` method updates your integration configuration by adding your new\n     * configuration to the existing one in your Datadog organization.\n     *\n     * Using the `PUT` method updates your integration configuration by replacing your\n     * current configuration with the new one sent to your Datadog organization.\n     * @param param The request object\n     */\n    createAzureIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.createAzureIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAzureIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given Datadog-Azure integration from your Datadog account.\n     * @param param The request object\n     */\n    deleteAzureIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAzureIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAzureIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * List all Datadog-Azure integrations configured in your Datadog account.\n     * @param param The request object\n     */\n    listAzureIntegration(options) {\n        const requestContextPromise = this.requestFactory.listAzureIntegration(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAzureIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the defined list of host filters for a given Datadog-Azure integration.\n     * @param param The request object\n     */\n    updateAzureHostFilters(param, options) {\n        const requestContextPromise = this.requestFactory.updateAzureHostFilters(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAzureHostFilters(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Datadog-Azure integration. Requires an existing `tenant_name` and `client_id`.\n     * Any other fields supplied will overwrite existing values. To overwrite `tenant_name` or `client_id`,\n     * use `new_tenant_name` and `new_client_id`. To leave a field unchanged, do not supply that field in the payload.\n     * @param param The request object\n     */\n    updateAzureIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.updateAzureIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAzureIntegration(responseContext);\n            });\n        });\n    }\n}\nexports.AzureIntegrationApi = AzureIntegrationApi;\n//# sourceMappingURL=AzureIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListsApi = exports.DashboardListsApiResponseProcessor = exports.DashboardListsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass DashboardListsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createDashboardList(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createDashboardList\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/lists/manual\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardListsApi.createDashboardList\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardList\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteDashboardList(listId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'listId' is not null or undefined\n            if (listId === null || listId === undefined) {\n                throw new baseapi_1.RequiredError(\"listId\", \"deleteDashboardList\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/lists/manual/{list_id}\".replace(\"{list_id}\", encodeURIComponent(String(listId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardListsApi.deleteDashboardList\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getDashboardList(listId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'listId' is not null or undefined\n            if (listId === null || listId === undefined) {\n                throw new baseapi_1.RequiredError(\"listId\", \"getDashboardList\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/lists/manual/{list_id}\".replace(\"{list_id}\", encodeURIComponent(String(listId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardListsApi.getDashboardList\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listDashboardLists(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/lists/manual\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardListsApi.listDashboardLists\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateDashboardList(listId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'listId' is not null or undefined\n            if (listId === null || listId === undefined) {\n                throw new baseapi_1.RequiredError(\"listId\", \"updateDashboardList\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateDashboardList\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/lists/manual/{list_id}\".replace(\"{list_id}\", encodeURIComponent(String(listId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardListsApi.updateDashboardList\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardList\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.DashboardListsApiRequestFactory = DashboardListsApiRequestFactory;\nclass DashboardListsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createDashboardList\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createDashboardList(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteDashboardList\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteDashboardList(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListDeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListDeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDashboardList\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDashboardList(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listDashboardLists\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listDashboardLists(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateDashboardList\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateDashboardList(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardList\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.DashboardListsApiResponseProcessor = DashboardListsApiResponseProcessor;\nclass DashboardListsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new DashboardListsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new DashboardListsApiResponseProcessor();\n    }\n    /**\n     * Create an empty dashboard list.\n     * @param param The request object\n     */\n    createDashboardList(param, options) {\n        const requestContextPromise = this.requestFactory.createDashboardList(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createDashboardList(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a dashboard list.\n     * @param param The request object\n     */\n    deleteDashboardList(param, options) {\n        const requestContextPromise = this.requestFactory.deleteDashboardList(param.listId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteDashboardList(responseContext);\n            });\n        });\n    }\n    /**\n     * Fetch an existing dashboard list's definition.\n     * @param param The request object\n     */\n    getDashboardList(param, options) {\n        const requestContextPromise = this.requestFactory.getDashboardList(param.listId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDashboardList(responseContext);\n            });\n        });\n    }\n    /**\n     * Fetch all of your existing dashboard list definitions.\n     * @param param The request object\n     */\n    listDashboardLists(options) {\n        const requestContextPromise = this.requestFactory.listDashboardLists(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listDashboardLists(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the name of a dashboard list.\n     * @param param The request object\n     */\n    updateDashboardList(param, options) {\n        const requestContextPromise = this.requestFactory.updateDashboardList(param.listId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateDashboardList(responseContext);\n            });\n        });\n    }\n}\nexports.DashboardListsApi = DashboardListsApi;\n//# sourceMappingURL=DashboardListsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardsApi = exports.DashboardsApiResponseProcessor = exports.DashboardsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass DashboardsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createDashboard(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.createDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Dashboard\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createPublicDashboard(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createPublicDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.createPublicDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SharedDashboard\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteDashboard(dashboardId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardId' is not null or undefined\n            if (dashboardId === null || dashboardId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardId\", \"deleteDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/{dashboard_id}\".replace(\"{dashboard_id}\", encodeURIComponent(String(dashboardId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.deleteDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteDashboards(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteDashboards\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.deleteDashboards\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardBulkDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deletePublicDashboard(token, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"deletePublicDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.deletePublicDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deletePublicDashboardInvitation(token, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"deletePublicDashboardInvitation\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deletePublicDashboardInvitation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}/invitation\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.deletePublicDashboardInvitation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SharedDashboardInvites\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getDashboard(dashboardId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardId' is not null or undefined\n            if (dashboardId === null || dashboardId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardId\", \"getDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/{dashboard_id}\".replace(\"{dashboard_id}\", encodeURIComponent(String(dashboardId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.getDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getPublicDashboard(token, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"getPublicDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.getPublicDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getPublicDashboardInvitations(token, pageSize, pageNumber, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"getPublicDashboardInvitations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}/invitation\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.getPublicDashboardInvitations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page_size\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page_number\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listDashboards(filterShared, filterDeleted, count, start, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.listDashboards\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterShared !== undefined) {\n                requestContext.setQueryParam(\"filter[shared]\", ObjectSerializer_1.ObjectSerializer.serialize(filterShared, \"boolean\", \"\"));\n            }\n            if (filterDeleted !== undefined) {\n                requestContext.setQueryParam(\"filter[deleted]\", ObjectSerializer_1.ObjectSerializer.serialize(filterDeleted, \"boolean\", \"\"));\n            }\n            if (count !== undefined) {\n                requestContext.setQueryParam(\"count\", ObjectSerializer_1.ObjectSerializer.serialize(count, \"number\", \"int64\"));\n            }\n            if (start !== undefined) {\n                requestContext.setQueryParam(\"start\", ObjectSerializer_1.ObjectSerializer.serialize(start, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    restoreDashboards(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"restoreDashboards\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.restoreDashboards\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardRestoreRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    sendPublicDashboardInvitation(token, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"sendPublicDashboardInvitation\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"sendPublicDashboardInvitation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}/invitation\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.sendPublicDashboardInvitation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SharedDashboardInvites\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateDashboard(dashboardId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardId' is not null or undefined\n            if (dashboardId === null || dashboardId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardId\", \"updateDashboard\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/{dashboard_id}\".replace(\"{dashboard_id}\", encodeURIComponent(String(dashboardId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.updateDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Dashboard\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updatePublicDashboard(token, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'token' is not null or undefined\n            if (token === null || token === undefined) {\n                throw new baseapi_1.RequiredError(\"token\", \"updatePublicDashboard\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updatePublicDashboard\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/dashboard/public/{token}\".replace(\"{token}\", encodeURIComponent(String(token)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DashboardsApi.updatePublicDashboard\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SharedDashboardUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.DashboardsApiRequestFactory = DashboardsApiRequestFactory;\nclass DashboardsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createPublicDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createPublicDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardDeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardDeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteDashboards\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteDashboards(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deletePublicDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deletePublicDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DeleteSharedDashboardResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DeleteSharedDashboardResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deletePublicDashboardInvitation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deletePublicDashboardInvitation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getPublicDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getPublicDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getPublicDashboardInvitations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getPublicDashboardInvitations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboardInvites\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboardInvites\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listDashboards\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listDashboards(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardSummary\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardSummary\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to restoreDashboards\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    restoreDashboards(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to sendPublicDashboardInvitation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    sendPublicDashboardInvitation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboardInvites\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboardInvites\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Dashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updatePublicDashboard\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updatePublicDashboard(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SharedDashboard\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.DashboardsApiResponseProcessor = DashboardsApiResponseProcessor;\nclass DashboardsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new DashboardsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new DashboardsApiResponseProcessor();\n    }\n    /**\n     * Create a dashboard using the specified options. When defining queries in your widgets, take note of which queries should have the `as_count()` or `as_rate()` modifiers appended.\n     * Refer to the following [documentation](https://docs.datadoghq.com/developers/metrics/type_modifiers/?tab=count#in-application-modifiers) for more information on these modifiers.\n     * @param param The request object\n     */\n    createDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.createDashboard(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Share a specified private dashboard, generating a URL at which it can be publicly viewed.\n     * @param param The request object\n     */\n    createPublicDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.createPublicDashboard(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createPublicDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a dashboard using the specified ID.\n     * @param param The request object\n     */\n    deleteDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.deleteDashboard(param.dashboardId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete dashboards using the specified IDs. If there are any failures, no dashboards will be deleted (partial success is not allowed).\n     * @param param The request object\n     */\n    deleteDashboards(param, options) {\n        const requestContextPromise = this.requestFactory.deleteDashboards(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteDashboards(responseContext);\n            });\n        });\n    }\n    /**\n     * Revoke the public URL for a dashboard (rendering it private) associated with the specified token.\n     * @param param The request object\n     */\n    deletePublicDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.deletePublicDashboard(param.token, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deletePublicDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Revoke previously sent invitation emails and active sessions used to access a given shared dashboard for specific email addresses.\n     * @param param The request object\n     */\n    deletePublicDashboardInvitation(param, options) {\n        const requestContextPromise = this.requestFactory.deletePublicDashboardInvitation(param.token, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deletePublicDashboardInvitation(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a dashboard using the specified ID.\n     * @param param The request object\n     */\n    getDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.getDashboard(param.dashboardId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Fetch an existing shared dashboard's sharing metadata associated with the specified token.\n     * @param param The request object\n     */\n    getPublicDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.getPublicDashboard(param.token, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getPublicDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Describe the invitations that exist for the given shared dashboard (paginated).\n     * @param param The request object\n     */\n    getPublicDashboardInvitations(param, options) {\n        const requestContextPromise = this.requestFactory.getPublicDashboardInvitations(param.token, param.pageSize, param.pageNumber, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getPublicDashboardInvitations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all dashboards.\n     *\n     * **Note**: This query will only return custom created or cloned dashboards.\n     * This query will not return preset dashboards.\n     * @param param The request object\n     */\n    listDashboards(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listDashboards(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listDashboards returning a generator with all the items.\n     */\n    listDashboardsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listDashboardsWithPagination_1() {\n            let pageSize = 100;\n            if (param.count !== undefined) {\n                pageSize = param.count;\n            }\n            param.count = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listDashboards(param.filterShared, param.filterDeleted, param.count, param.start, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listDashboards(responseContext));\n                const responseDashboards = response.dashboards;\n                if (responseDashboards === undefined) {\n                    break;\n                }\n                const results = responseDashboards;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.start === undefined) {\n                    param.start = pageSize;\n                }\n                else {\n                    param.start = param.start + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Restore dashboards using the specified IDs. If there are any failures, no dashboards will be restored (partial success is not allowed).\n     * @param param The request object\n     */\n    restoreDashboards(param, options) {\n        const requestContextPromise = this.requestFactory.restoreDashboards(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.restoreDashboards(responseContext);\n            });\n        });\n    }\n    /**\n     * Send emails to specified email addresses containing links to access a given authenticated shared dashboard. Email addresses must already belong to the authenticated shared dashboard's share_list.\n     * @param param The request object\n     */\n    sendPublicDashboardInvitation(param, options) {\n        const requestContextPromise = this.requestFactory.sendPublicDashboardInvitation(param.token, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.sendPublicDashboardInvitation(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a dashboard using the specified ID.\n     * @param param The request object\n     */\n    updateDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.updateDashboard(param.dashboardId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateDashboard(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a shared dashboard associated with the specified token.\n     * @param param The request object\n     */\n    updatePublicDashboard(param, options) {\n        const requestContextPromise = this.requestFactory.updatePublicDashboard(param.token, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updatePublicDashboard(responseContext);\n            });\n        });\n    }\n}\nexports.DashboardsApi = DashboardsApi;\n//# sourceMappingURL=DashboardsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimesApi = exports.DowntimesApiResponseProcessor = exports.DowntimesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass DowntimesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    cancelDowntime(downtimeId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"cancelDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.cancelDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    cancelDowntimesByScope(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"cancelDowntimesByScope\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/downtime/cancel/by_scope\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.cancelDowntimesByScope\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CancelDowntimesByScopeRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createDowntime(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/downtime\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.createDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Downtime\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getDowntime(downtimeId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"getDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.getDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listDowntimes(currentOnly, withCreator, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/downtime\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.listDowntimes\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (currentOnly !== undefined) {\n                requestContext.setQueryParam(\"current_only\", ObjectSerializer_1.ObjectSerializer.serialize(currentOnly, \"boolean\", \"\"));\n            }\n            if (withCreator !== undefined) {\n                requestContext.setQueryParam(\"with_creator\", ObjectSerializer_1.ObjectSerializer.serialize(withCreator, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listMonitorDowntimes(monitorId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"listMonitorDowntimes\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/{monitor_id}/downtimes\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.listMonitorDowntimes\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateDowntime(downtimeId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"updateDowntime\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.DowntimesApi.updateDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Downtime\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.DowntimesApiRequestFactory = DowntimesApiRequestFactory;\nclass DowntimesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to cancelDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    cancelDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to cancelDowntimesByScope\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    cancelDowntimesByScope(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CanceledDowntimesIds\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CanceledDowntimesIds\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listDowntimes\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listDowntimes(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listMonitorDowntimes\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listMonitorDowntimes(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Downtime\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.DowntimesApiResponseProcessor = DowntimesApiResponseProcessor;\nclass DowntimesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new DowntimesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new DowntimesApiResponseProcessor();\n    }\n    /**\n     * Cancel a downtime.\n     * @param param The request object\n     */\n    cancelDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.cancelDowntime(param.downtimeId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.cancelDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete all downtimes that match the scope of `X`.\n     * @param param The request object\n     */\n    cancelDowntimesByScope(param, options) {\n        const requestContextPromise = this.requestFactory.cancelDowntimesByScope(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.cancelDowntimesByScope(responseContext);\n            });\n        });\n    }\n    /**\n     * Schedule a downtime.\n     * @param param The request object\n     */\n    createDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.createDowntime(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Get downtime detail by `downtime_id`.\n     * @param param The request object\n     */\n    getDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.getDowntime(param.downtimeId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all scheduled downtimes.\n     * @param param The request object\n     */\n    listDowntimes(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listDowntimes(param.currentOnly, param.withCreator, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listDowntimes(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all active downtimes for the specified monitor.\n     * @param param The request object\n     */\n    listMonitorDowntimes(param, options) {\n        const requestContextPromise = this.requestFactory.listMonitorDowntimes(param.monitorId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listMonitorDowntimes(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a single downtime by `downtime_id`.\n     * @param param The request object\n     */\n    updateDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.updateDowntime(param.downtimeId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateDowntime(responseContext);\n            });\n        });\n    }\n}\nexports.DowntimesApi = DowntimesApi;\n//# sourceMappingURL=DowntimesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsApi = exports.EventsApiResponseProcessor = exports.EventsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass EventsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createEvent(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createEvent\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.EventsApi.createEvent\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"EventCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n    getEvent(eventId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'eventId' is not null or undefined\n            if (eventId === null || eventId === undefined) {\n                throw new baseapi_1.RequiredError(\"eventId\", \"getEvent\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/events/{event_id}\".replace(\"{event_id}\", encodeURIComponent(String(eventId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.EventsApi.getEvent\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listEvents(start, end, priority, sources, tags, unaggregated, excludeAggregate, page, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'start' is not null or undefined\n            if (start === null || start === undefined) {\n                throw new baseapi_1.RequiredError(\"start\", \"listEvents\");\n            }\n            // verify required parameter 'end' is not null or undefined\n            if (end === null || end === undefined) {\n                throw new baseapi_1.RequiredError(\"end\", \"listEvents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.EventsApi.listEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (start !== undefined) {\n                requestContext.setQueryParam(\"start\", ObjectSerializer_1.ObjectSerializer.serialize(start, \"number\", \"int64\"));\n            }\n            if (end !== undefined) {\n                requestContext.setQueryParam(\"end\", ObjectSerializer_1.ObjectSerializer.serialize(end, \"number\", \"int64\"));\n            }\n            if (priority !== undefined) {\n                requestContext.setQueryParam(\"priority\", ObjectSerializer_1.ObjectSerializer.serialize(priority, \"EventPriority\", \"\"));\n            }\n            if (sources !== undefined) {\n                requestContext.setQueryParam(\"sources\", ObjectSerializer_1.ObjectSerializer.serialize(sources, \"string\", \"\"));\n            }\n            if (tags !== undefined) {\n                requestContext.setQueryParam(\"tags\", ObjectSerializer_1.ObjectSerializer.serialize(tags, \"string\", \"\"));\n            }\n            if (unaggregated !== undefined) {\n                requestContext.setQueryParam(\"unaggregated\", ObjectSerializer_1.ObjectSerializer.serialize(unaggregated, \"boolean\", \"\"));\n            }\n            if (excludeAggregate !== undefined) {\n                requestContext.setQueryParam(\"exclude_aggregate\", ObjectSerializer_1.ObjectSerializer.serialize(excludeAggregate, \"boolean\", \"\"));\n            }\n            if (page !== undefined) {\n                requestContext.setQueryParam(\"page\", ObjectSerializer_1.ObjectSerializer.serialize(page, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.EventsApiRequestFactory = EventsApiRequestFactory;\nclass EventsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createEvent\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createEvent(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getEvent\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getEvent(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.EventsApiResponseProcessor = EventsApiResponseProcessor;\nclass EventsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new EventsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new EventsApiResponseProcessor();\n    }\n    /**\n     * This endpoint allows you to post events to the stream.\n     * Tag them, set priority and event aggregate them with other events.\n     * @param param The request object\n     */\n    createEvent(param, options) {\n        const requestContextPromise = this.requestFactory.createEvent(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createEvent(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint allows you to query for event details.\n     *\n     * **Note**: If the event you’re querying contains markdown formatting of any kind,\n     * you may see characters such as `%`,`\\`,`n` in your output.\n     * @param param The request object\n     */\n    getEvent(param, options) {\n        const requestContextPromise = this.requestFactory.getEvent(param.eventId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getEvent(responseContext);\n            });\n        });\n    }\n    /**\n     * The event stream can be queried and filtered by time, priority, sources and tags.\n     *\n     * **Notes**:\n     * - If the event you’re querying contains markdown formatting of any kind,\n     * you may see characters such as `%`,`\\`,`n` in your output.\n     *\n     * - This endpoint returns a maximum of `1000` most recent results. To return additional results,\n     * identify the last timestamp of the last result and set that as the `end` query time to\n     * paginate the results. You can also use the page parameter to specify which set of `1000` results to return.\n     * @param param The request object\n     */\n    listEvents(param, options) {\n        const requestContextPromise = this.requestFactory.listEvents(param.start, param.end, param.priority, param.sources, param.tags, param.unaggregated, param.excludeAggregate, param.page, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listEvents(responseContext);\n            });\n        });\n    }\n}\nexports.EventsApi = EventsApi;\n//# sourceMappingURL=EventsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPIntegrationApi = exports.GCPIntegrationApiResponseProcessor = exports.GCPIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass GCPIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createGCPIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createGCPIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/gcp\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.GCPIntegrationApi.createGCPIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"GCPAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteGCPIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteGCPIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/gcp\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.GCPIntegrationApi.deleteGCPIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"GCPAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listGCPIntegration(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/integration/gcp\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.GCPIntegrationApi.listGCPIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateGCPIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateGCPIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/gcp\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.GCPIntegrationApi.updateGCPIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"GCPAccount\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.GCPIntegrationApiRequestFactory = GCPIntegrationApiRequestFactory;\nclass GCPIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createGCPIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createGCPIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteGCPIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteGCPIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listGCPIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listGCPIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateGCPIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateGCPIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.GCPIntegrationApiResponseProcessor = GCPIntegrationApiResponseProcessor;\nclass GCPIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new GCPIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new GCPIntegrationApiResponseProcessor();\n    }\n    /**\n     * This endpoint is deprecated – use the V2 endpoints instead. Create a Datadog-GCP integration.\n     * @param param The request object\n     */\n    createGCPIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.createGCPIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createGCPIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint is deprecated – use the V2 endpoints instead. Delete a given Datadog-GCP integration.\n     * @param param The request object\n     */\n    deleteGCPIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteGCPIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteGCPIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint is deprecated – use the V2 endpoints instead. List all Datadog-GCP integrations configured in your Datadog account.\n     * @param param The request object\n     */\n    listGCPIntegration(options) {\n        const requestContextPromise = this.requestFactory.listGCPIntegration(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listGCPIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint is deprecated – use the V2 endpoints instead. Update a Datadog-GCP integrations host_filters and/or auto-mute.\n     * Requires a `project_id` and `client_email`, however these fields cannot be updated.\n     * If you need to update these fields, delete and use the create (`POST`) endpoint.\n     * The unspecified fields will keep their original values.\n     * @param param The request object\n     */\n    updateGCPIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.updateGCPIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateGCPIntegration(responseContext);\n            });\n        });\n    }\n}\nexports.GCPIntegrationApi = GCPIntegrationApi;\n//# sourceMappingURL=GCPIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostsApi = exports.HostsApiResponseProcessor = exports.HostsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass HostsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getHostTotals(from, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/hosts/totals\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.HostsApi.getHostTotals\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (from !== undefined) {\n                requestContext.setQueryParam(\"from\", ObjectSerializer_1.ObjectSerializer.serialize(from, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listHosts(filter, sortField, sortDir, start, count, from, includeMutedHostsData, includeHostsMetadata, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/hosts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.HostsApi.listHosts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (sortField !== undefined) {\n                requestContext.setQueryParam(\"sort_field\", ObjectSerializer_1.ObjectSerializer.serialize(sortField, \"string\", \"\"));\n            }\n            if (sortDir !== undefined) {\n                requestContext.setQueryParam(\"sort_dir\", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, \"string\", \"\"));\n            }\n            if (start !== undefined) {\n                requestContext.setQueryParam(\"start\", ObjectSerializer_1.ObjectSerializer.serialize(start, \"number\", \"int64\"));\n            }\n            if (count !== undefined) {\n                requestContext.setQueryParam(\"count\", ObjectSerializer_1.ObjectSerializer.serialize(count, \"number\", \"int64\"));\n            }\n            if (from !== undefined) {\n                requestContext.setQueryParam(\"from\", ObjectSerializer_1.ObjectSerializer.serialize(from, \"number\", \"int64\"));\n            }\n            if (includeMutedHostsData !== undefined) {\n                requestContext.setQueryParam(\"include_muted_hosts_data\", ObjectSerializer_1.ObjectSerializer.serialize(includeMutedHostsData, \"boolean\", \"\"));\n            }\n            if (includeHostsMetadata !== undefined) {\n                requestContext.setQueryParam(\"include_hosts_metadata\", ObjectSerializer_1.ObjectSerializer.serialize(includeHostsMetadata, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    muteHost(hostName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"muteHost\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"muteHost\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/host/{host_name}/mute\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.HostsApi.muteHost\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"HostMuteSettings\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    unmuteHost(hostName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"unmuteHost\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/host/{host_name}/unmute\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.HostsApi.unmuteHost\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.HostsApiRequestFactory = HostsApiRequestFactory;\nclass HostsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getHostTotals\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getHostTotals(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTotals\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTotals\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listHosts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listHosts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to muteHost\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    muteHost(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostMuteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostMuteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to unmuteHost\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    unmuteHost(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostMuteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostMuteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.HostsApiResponseProcessor = HostsApiResponseProcessor;\nclass HostsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new HostsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new HostsApiResponseProcessor();\n    }\n    /**\n     * This endpoint returns the total number of active and up hosts in your Datadog account.\n     * Active means the host has reported in the past hour, and up means it has reported in the past two hours.\n     * @param param The request object\n     */\n    getHostTotals(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getHostTotals(param.from, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getHostTotals(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint allows searching for hosts by name, alias, or tag.\n     * Hosts live within the past 3 hours are included by default.\n     * Retention is 7 days.\n     * Results are paginated with a max of 1000 results at a time.\n     * @param param The request object\n     */\n    listHosts(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listHosts(param.filter, param.sortField, param.sortDir, param.start, param.count, param.from, param.includeMutedHostsData, param.includeHostsMetadata, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listHosts(responseContext);\n            });\n        });\n    }\n    /**\n     * Mute a host.\n     * @param param The request object\n     */\n    muteHost(param, options) {\n        const requestContextPromise = this.requestFactory.muteHost(param.hostName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.muteHost(responseContext);\n            });\n        });\n    }\n    /**\n     * Unmutes a host. This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    unmuteHost(param, options) {\n        const requestContextPromise = this.requestFactory.unmuteHost(param.hostName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.unmuteHost(responseContext);\n            });\n        });\n    }\n}\nexports.HostsApi = HostsApi;\n//# sourceMappingURL=HostsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPRangesApi = exports.IPRangesApiResponseProcessor = exports.IPRangesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass IPRangesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getIPRanges(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.IPRangesApi.getIPRanges\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            return requestContext;\n        });\n    }\n}\nexports.IPRangesApiRequestFactory = IPRangesApiRequestFactory;\nclass IPRangesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIPRanges\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIPRanges(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPRanges\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPRanges\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.IPRangesApiResponseProcessor = IPRangesApiResponseProcessor;\nclass IPRangesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new IPRangesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new IPRangesApiResponseProcessor();\n    }\n    /**\n     * Get information about Datadog IP ranges.\n     * @param param The request object\n     */\n    getIPRanges(options) {\n        const requestContextPromise = this.requestFactory.getIPRanges(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIPRanges(responseContext);\n            });\n        });\n    }\n}\nexports.IPRangesApi = IPRangesApi;\n//# sourceMappingURL=IPRangesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyManagementApi = exports.KeyManagementApiResponseProcessor = exports.KeyManagementApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass KeyManagementApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createAPIKey(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/api_key\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.createAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApiKey\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createApplicationKey(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/application_key\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.createApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKey\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAPIKey(key, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"deleteAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/api_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.deleteAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteApplicationKey(key, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"deleteApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/application_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.deleteApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAPIKey(key, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"getAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/api_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.getAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getApplicationKey(key, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"getApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/application_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.getApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAPIKeys(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/api_key\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.listAPIKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listApplicationKeys(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/application_key\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.listApplicationKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAPIKey(key, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"updateAPIKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/api_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.updateAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApiKey\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateApplicationKey(key, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'key' is not null or undefined\n            if (key === null || key === undefined) {\n                throw new baseapi_1.RequiredError(\"key\", \"updateApplicationKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/application_key/{key}\".replace(\"{key}\", encodeURIComponent(String(key)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.KeyManagementApi.updateApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKey\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.KeyManagementApiRequestFactory = KeyManagementApiRequestFactory;\nclass KeyManagementApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAPIKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAPIKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listApplicationKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listApplicationKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApiKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.KeyManagementApiResponseProcessor = KeyManagementApiResponseProcessor;\nclass KeyManagementApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new KeyManagementApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new KeyManagementApiResponseProcessor();\n    }\n    /**\n     * Creates an API key with a given name.\n     * @param param The request object\n     */\n    createAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.createAPIKey(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an application key with a given name.\n     * @param param The request object\n     */\n    createApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.createApplicationKey(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given API key.\n     * @param param The request object\n     */\n    deleteAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAPIKey(param.key, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given application key.\n     * @param param The request object\n     */\n    deleteApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteApplicationKey(param.key, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a given API key.\n     * @param param The request object\n     */\n    getAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.getAPIKey(param.key, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a given application key.\n     * @param param The request object\n     */\n    getApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.getApplicationKey(param.key, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all API keys available for your account.\n     * @param param The request object\n     */\n    listAPIKeys(options) {\n        const requestContextPromise = this.requestFactory.listAPIKeys(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAPIKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all application keys available for your Datadog account.\n     * @param param The request object\n     */\n    listApplicationKeys(options) {\n        const requestContextPromise = this.requestFactory.listApplicationKeys(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listApplicationKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an API key name.\n     * @param param The request object\n     */\n    updateAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateAPIKey(param.key, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an application key name.\n     * @param param The request object\n     */\n    updateApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateApplicationKey(param.key, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateApplicationKey(responseContext);\n            });\n        });\n    }\n}\nexports.KeyManagementApi = KeyManagementApi;\n//# sourceMappingURL=KeyManagementApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsApi = exports.LogsApiResponseProcessor = exports.LogsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass LogsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    listLogs(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"listLogs\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs-queries/list\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsApi.listLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsListRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    submitLog(body, contentEncoding, ddtags, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitLog\");\n            }\n            // Path Params\n            const localVarPath = \"/v1/input\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsApi.submitLog\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (ddtags !== undefined) {\n                requestContext.setQueryParam(\"ddtags\", ObjectSerializer_1.ObjectSerializer.serialize(ddtags, \"string\", \"\"));\n            }\n            // Header Params\n            if (contentEncoding !== undefined) {\n                requestContext.setHeaderParam(\"Content-Encoding\", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, \"ContentEncoding\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n                \"application/json;simple\",\n                \"application/logplex-1\",\n                \"text/plain\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Array\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsApiRequestFactory = LogsApiRequestFactory;\nclass LogsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitLog\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitLog(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"HTTPLogError\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsApiResponseProcessor = LogsApiResponseProcessor;\nclass LogsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsApiResponseProcessor();\n    }\n    /**\n     * List endpoint returns logs that match a log search query.\n     * [Results are paginated][1].\n     *\n     * **If you are considering archiving logs for your organization,\n     * consider use of the Datadog archive capabilities instead of the log list API.\n     * See [Datadog Logs Archive documentation][2].**\n     *\n     * [1]: /logs/guide/collect-multiple-logs-with-pagination\n     * [2]: https://docs.datadoghq.com/logs/archives\n     * @param param The request object\n     */\n    listLogs(param, options) {\n        const requestContextPromise = this.requestFactory.listLogs(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Send your logs to your Datadog platform over HTTP. Limits per HTTP request are:\n     *\n     * - Maximum content size per payload (uncompressed): 5MB\n     * - Maximum size for a single log: 1MB\n     * - Maximum array size if sending multiple logs in an array: 1000 entries\n     *\n     * Any log exceeding 1MB is accepted and truncated by Datadog:\n     * - For a single log request, the API truncates the log at 1MB and returns a 2xx.\n     * - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx.\n     *\n     * Datadog recommends sending your logs compressed.\n     * Add the `Content-Encoding: gzip` header to the request when sending compressed logs.\n     *\n     * The status codes answered by the HTTP API are:\n     * - 200: OK\n     * - 400: Bad request (likely an issue in the payload formatting)\n     * - 403: Permission issue (likely using an invalid API Key)\n     * - 413: Payload too large (batch is above 5MB uncompressed)\n     * - 5xx: Internal error, request should be retried after some time\n     * @param param The request object\n     */\n    submitLog(param, options) {\n        const requestContextPromise = this.requestFactory.submitLog(param.body, param.contentEncoding, param.ddtags, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitLog(responseContext);\n            });\n        });\n    }\n}\nexports.LogsApi = LogsApi;\n//# sourceMappingURL=LogsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsIndexesApi = exports.LogsIndexesApiResponseProcessor = exports.LogsIndexesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass LogsIndexesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createLogsIndex(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createLogsIndex\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/indexes\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.createLogsIndex\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsIndex\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsIndex(name, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'name' is not null or undefined\n            if (name === null || name === undefined) {\n                throw new baseapi_1.RequiredError(\"name\", \"getLogsIndex\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/indexes/{name}\".replace(\"{name}\", encodeURIComponent(String(name)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.getLogsIndex\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsIndexOrder(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/index-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.getLogsIndexOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogIndexes(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/indexes\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.listLogIndexes\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsIndex(name, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'name' is not null or undefined\n            if (name === null || name === undefined) {\n                throw new baseapi_1.RequiredError(\"name\", \"updateLogsIndex\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsIndex\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/indexes/{name}\".replace(\"{name}\", encodeURIComponent(String(name)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.updateLogsIndex\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsIndexUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsIndexOrder(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsIndexOrder\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/index-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsIndexesApi.updateLogsIndexOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsIndexesOrder\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsIndexesApiRequestFactory = LogsIndexesApiRequestFactory;\nclass LogsIndexesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createLogsIndex\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createLogsIndex(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsIndex\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsIndex(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 404) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsIndexOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsIndexOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexesOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexesOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogIndexes\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogIndexes(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsIndex\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsIndex(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndex\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsIndexOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsIndexOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexesOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsIndexesOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsIndexesApiResponseProcessor = LogsIndexesApiResponseProcessor;\nclass LogsIndexesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsIndexesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsIndexesApiResponseProcessor();\n    }\n    /**\n     * Creates a new index. Returns the Index object passed in the request body when the request is successful.\n     * @param param The request object\n     */\n    createLogsIndex(param, options) {\n        const requestContextPromise = this.requestFactory.createLogsIndex(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createLogsIndex(responseContext);\n            });\n        });\n    }\n    /**\n     * Get one log index from your organization. This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    getLogsIndex(param, options) {\n        const requestContextPromise = this.requestFactory.getLogsIndex(param.name, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsIndex(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the current order of your log indexes. This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    getLogsIndexOrder(options) {\n        const requestContextPromise = this.requestFactory.getLogsIndexOrder(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsIndexOrder(responseContext);\n            });\n        });\n    }\n    /**\n     * The Index object describes the configuration of a log index.\n     * This endpoint returns an array of the `LogIndex` objects of your organization.\n     * @param param The request object\n     */\n    listLogIndexes(options) {\n        const requestContextPromise = this.requestFactory.listLogIndexes(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogIndexes(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an index as identified by its name.\n     * Returns the Index object passed in the request body when the request is successful.\n     *\n     * Using the `PUT` method updates your index’s configuration by **replacing**\n     * your current configuration with the new one sent to your Datadog organization.\n     * @param param The request object\n     */\n    updateLogsIndex(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsIndex(param.name, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsIndex(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint updates the index order of your organization.\n     * It returns the index order object passed in the request body when the request is successful.\n     * @param param The request object\n     */\n    updateLogsIndexOrder(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsIndexOrder(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsIndexOrder(responseContext);\n            });\n        });\n    }\n}\nexports.LogsIndexesApi = LogsIndexesApi;\n//# sourceMappingURL=LogsIndexesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsPipelinesApi = exports.LogsPipelinesApiResponseProcessor = exports.LogsPipelinesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass LogsPipelinesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createLogsPipeline(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createLogsPipeline\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipelines\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.createLogsPipeline\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsPipeline\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteLogsPipeline(pipelineId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'pipelineId' is not null or undefined\n            if (pipelineId === null || pipelineId === undefined) {\n                throw new baseapi_1.RequiredError(\"pipelineId\", \"deleteLogsPipeline\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipelines/{pipeline_id}\".replace(\"{pipeline_id}\", encodeURIComponent(String(pipelineId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.deleteLogsPipeline\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsPipeline(pipelineId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'pipelineId' is not null or undefined\n            if (pipelineId === null || pipelineId === undefined) {\n                throw new baseapi_1.RequiredError(\"pipelineId\", \"getLogsPipeline\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipelines/{pipeline_id}\".replace(\"{pipeline_id}\", encodeURIComponent(String(pipelineId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.getLogsPipeline\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsPipelineOrder(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipeline-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.getLogsPipelineOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogsPipelines(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipelines\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.listLogsPipelines\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsPipeline(pipelineId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'pipelineId' is not null or undefined\n            if (pipelineId === null || pipelineId === undefined) {\n                throw new baseapi_1.RequiredError(\"pipelineId\", \"updateLogsPipeline\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsPipeline\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipelines/{pipeline_id}\".replace(\"{pipeline_id}\", encodeURIComponent(String(pipelineId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.updateLogsPipeline\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsPipeline\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsPipelineOrder(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsPipelineOrder\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/logs/config/pipeline-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.LogsPipelinesApi.updateLogsPipelineOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsPipelinesOrder\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsPipelinesApiRequestFactory = LogsPipelinesApiRequestFactory;\nclass LogsPipelinesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createLogsPipeline\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createLogsPipeline(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteLogsPipeline\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteLogsPipeline(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsPipeline\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsPipeline(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsPipelineOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsPipelineOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipelinesOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipelinesOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogsPipelines\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogsPipelines(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsPipeline\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsPipeline(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\");\n                return body;\n            }\n            if (response.httpStatusCode == 400) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipeline\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsPipelineOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsPipelineOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipelinesOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 422) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"LogsAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsPipelinesOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsPipelinesApiResponseProcessor = LogsPipelinesApiResponseProcessor;\nclass LogsPipelinesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsPipelinesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsPipelinesApiResponseProcessor();\n    }\n    /**\n     * Create a pipeline in your organization.\n     * @param param The request object\n     */\n    createLogsPipeline(param, options) {\n        const requestContextPromise = this.requestFactory.createLogsPipeline(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createLogsPipeline(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given pipeline from your organization.\n     * This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    deleteLogsPipeline(param, options) {\n        const requestContextPromise = this.requestFactory.deleteLogsPipeline(param.pipelineId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteLogsPipeline(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific pipeline from your organization.\n     * This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    getLogsPipeline(param, options) {\n        const requestContextPromise = this.requestFactory.getLogsPipeline(param.pipelineId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsPipeline(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the current order of your pipelines.\n     * This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    getLogsPipelineOrder(options) {\n        const requestContextPromise = this.requestFactory.getLogsPipelineOrder(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsPipelineOrder(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all pipelines from your organization.\n     * This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    listLogsPipelines(options) {\n        const requestContextPromise = this.requestFactory.listLogsPipelines(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogsPipelines(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a given pipeline configuration to change it’s processors or their order.\n     *\n     * **Note**: Using this method updates your pipeline configuration by **replacing**\n     * your current configuration with the new one sent to your Datadog organization.\n     * @param param The request object\n     */\n    updateLogsPipeline(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsPipeline(param.pipelineId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsPipeline(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the order of your pipelines. Since logs are processed sequentially, reordering a pipeline may change\n     * the structure and content of the data processed by other pipelines and their processors.\n     *\n     * **Note**: Using the `PUT` method updates your pipeline order by replacing your current order\n     * with the new one sent to your Datadog organization.\n     * @param param The request object\n     */\n    updateLogsPipelineOrder(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsPipelineOrder(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsPipelineOrder(responseContext);\n            });\n        });\n    }\n}\nexports.LogsPipelinesApi = LogsPipelinesApi;\n//# sourceMappingURL=LogsPipelinesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsApi = exports.MetricsApiResponseProcessor = exports.MetricsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass MetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getMetricMetadata(metricName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"getMetricMetadata\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/metrics/{metric_name}\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.getMetricMetadata\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listActiveMetrics(from, host, tagFilter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'from' is not null or undefined\n            if (from === null || from === undefined) {\n                throw new baseapi_1.RequiredError(\"from\", \"listActiveMetrics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.listActiveMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (from !== undefined) {\n                requestContext.setQueryParam(\"from\", ObjectSerializer_1.ObjectSerializer.serialize(from, \"number\", \"int64\"));\n            }\n            if (host !== undefined) {\n                requestContext.setQueryParam(\"host\", ObjectSerializer_1.ObjectSerializer.serialize(host, \"string\", \"\"));\n            }\n            if (tagFilter !== undefined) {\n                requestContext.setQueryParam(\"tag_filter\", ObjectSerializer_1.ObjectSerializer.serialize(tagFilter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listMetrics(q, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'q' is not null or undefined\n            if (q === null || q === undefined) {\n                throw new baseapi_1.RequiredError(\"q\", \"listMetrics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.listMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (q !== undefined) {\n                requestContext.setQueryParam(\"q\", ObjectSerializer_1.ObjectSerializer.serialize(q, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    queryMetrics(from, to, query, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'from' is not null or undefined\n            if (from === null || from === undefined) {\n                throw new baseapi_1.RequiredError(\"from\", \"queryMetrics\");\n            }\n            // verify required parameter 'to' is not null or undefined\n            if (to === null || to === undefined) {\n                throw new baseapi_1.RequiredError(\"to\", \"queryMetrics\");\n            }\n            // verify required parameter 'query' is not null or undefined\n            if (query === null || query === undefined) {\n                throw new baseapi_1.RequiredError(\"query\", \"queryMetrics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/query\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.queryMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (from !== undefined) {\n                requestContext.setQueryParam(\"from\", ObjectSerializer_1.ObjectSerializer.serialize(from, \"number\", \"int64\"));\n            }\n            if (to !== undefined) {\n                requestContext.setQueryParam(\"to\", ObjectSerializer_1.ObjectSerializer.serialize(to, \"number\", \"int64\"));\n            }\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    submitDistributionPoints(body, contentEncoding, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitDistributionPoints\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/distribution_points\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.submitDistributionPoints\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"text/json, application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Header Params\n            if (contentEncoding !== undefined) {\n                requestContext.setHeaderParam(\"Content-Encoding\", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, \"DistributionPointsContentEncoding\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\"text/json\"]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DistributionPointsPayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n    submitMetrics(body, contentEncoding, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitMetrics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/series\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.submitMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"text/json, application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Header Params\n            if (contentEncoding !== undefined) {\n                requestContext.setHeaderParam(\"Content-Encoding\", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, \"MetricContentEncoding\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\"text/json\"]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricsPayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n    updateMetricMetadata(metricName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"updateMetricMetadata\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateMetricMetadata\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/metrics/{metric_name}\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MetricsApi.updateMetricMetadata\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricMetadata\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.MetricsApiRequestFactory = MetricsApiRequestFactory;\nclass MetricsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getMetricMetadata\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getMetricMetadata(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricMetadata\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricMetadata\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listActiveMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listActiveMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricSearchResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricSearchResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to queryMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    queryMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsQueryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsQueryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitDistributionPoints\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitDistributionPoints(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateMetricMetadata\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateMetricMetadata(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricMetadata\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricMetadata\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.MetricsApiResponseProcessor = MetricsApiResponseProcessor;\nclass MetricsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new MetricsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new MetricsApiResponseProcessor();\n    }\n    /**\n     * Get metadata about a specific metric.\n     * @param param The request object\n     */\n    getMetricMetadata(param, options) {\n        const requestContextPromise = this.requestFactory.getMetricMetadata(param.metricName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getMetricMetadata(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of actively reporting metrics from a given time until now.\n     * @param param The request object\n     */\n    listActiveMetrics(param, options) {\n        const requestContextPromise = this.requestFactory.listActiveMetrics(param.from, param.host, param.tagFilter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listActiveMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Search for metrics from the last 24 hours in Datadog.\n     * @param param The request object\n     */\n    listMetrics(param, options) {\n        const requestContextPromise = this.requestFactory.listMetrics(param.q, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Query timeseries points.\n     * @param param The request object\n     */\n    queryMetrics(param, options) {\n        const requestContextPromise = this.requestFactory.queryMetrics(param.from, param.to, param.query, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.queryMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * The distribution points end-point allows you to post distribution data that can be graphed on Datadog’s dashboards.\n     * @param param The request object\n     */\n    submitDistributionPoints(param, options) {\n        const requestContextPromise = this.requestFactory.submitDistributionPoints(param.body, param.contentEncoding, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitDistributionPoints(responseContext);\n            });\n        });\n    }\n    /**\n     * The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards.\n     * The maximum payload size is 3.2 megabytes (3200000 bytes). Compressed payloads must have a decompressed size of less than 62 megabytes (62914560 bytes).\n     *\n     * If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect:\n     *\n     * - 64 bits for the timestamp\n     * - 64 bits for the value\n     * - 40 bytes for the metric names\n     * - 50 bytes for the timeseries\n     * - The full payload is approximately 100 bytes. However, with the DogStatsD API,\n     * compression is applied, which reduces the payload size.\n     * @param param The request object\n     */\n    submitMetrics(param, options) {\n        const requestContextPromise = this.requestFactory.submitMetrics(param.body, param.contentEncoding, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit metadata of a specific metric. Find out more about [supported types](https://docs.datadoghq.com/developers/metrics).\n     * @param param The request object\n     */\n    updateMetricMetadata(param, options) {\n        const requestContextPromise = this.requestFactory.updateMetricMetadata(param.metricName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateMetricMetadata(responseContext);\n            });\n        });\n    }\n}\nexports.MetricsApi = MetricsApi;\n//# sourceMappingURL=MetricsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorsApi = exports.MonitorsApiResponseProcessor = exports.MonitorsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass MonitorsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    checkCanDeleteMonitor(monitorIds, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorIds' is not null or undefined\n            if (monitorIds === null || monitorIds === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorIds\", \"checkCanDeleteMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/can_delete\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.checkCanDeleteMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (monitorIds !== undefined) {\n                requestContext.setQueryParam(\"monitor_ids\", ObjectSerializer_1.ObjectSerializer.serialize(monitorIds, \"Array\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createMonitor(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.createMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Monitor\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteMonitor(monitorId, force, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"deleteMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/{monitor_id}\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.deleteMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (force !== undefined) {\n                requestContext.setQueryParam(\"force\", ObjectSerializer_1.ObjectSerializer.serialize(force, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getMonitor(monitorId, groupStates, withDowntimes, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"getMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/{monitor_id}\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.getMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (groupStates !== undefined) {\n                requestContext.setQueryParam(\"group_states\", ObjectSerializer_1.ObjectSerializer.serialize(groupStates, \"string\", \"\"));\n            }\n            if (withDowntimes !== undefined) {\n                requestContext.setQueryParam(\"with_downtimes\", ObjectSerializer_1.ObjectSerializer.serialize(withDowntimes, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listMonitors(groupStates, name, tags, monitorTags, withDowntimes, idOffset, page, pageSize, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/monitor\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.listMonitors\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (groupStates !== undefined) {\n                requestContext.setQueryParam(\"group_states\", ObjectSerializer_1.ObjectSerializer.serialize(groupStates, \"string\", \"\"));\n            }\n            if (name !== undefined) {\n                requestContext.setQueryParam(\"name\", ObjectSerializer_1.ObjectSerializer.serialize(name, \"string\", \"\"));\n            }\n            if (tags !== undefined) {\n                requestContext.setQueryParam(\"tags\", ObjectSerializer_1.ObjectSerializer.serialize(tags, \"string\", \"\"));\n            }\n            if (monitorTags !== undefined) {\n                requestContext.setQueryParam(\"monitor_tags\", ObjectSerializer_1.ObjectSerializer.serialize(monitorTags, \"string\", \"\"));\n            }\n            if (withDowntimes !== undefined) {\n                requestContext.setQueryParam(\"with_downtimes\", ObjectSerializer_1.ObjectSerializer.serialize(withDowntimes, \"boolean\", \"\"));\n            }\n            if (idOffset !== undefined) {\n                requestContext.setQueryParam(\"id_offset\", ObjectSerializer_1.ObjectSerializer.serialize(idOffset, \"number\", \"int64\"));\n            }\n            if (page !== undefined) {\n                requestContext.setQueryParam(\"page\", ObjectSerializer_1.ObjectSerializer.serialize(page, \"number\", \"int64\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page_size\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchMonitorGroups(query, page, perPage, sort, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/groups/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.searchMonitorGroups\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (page !== undefined) {\n                requestContext.setQueryParam(\"page\", ObjectSerializer_1.ObjectSerializer.serialize(page, \"number\", \"int64\"));\n            }\n            if (perPage !== undefined) {\n                requestContext.setQueryParam(\"per_page\", ObjectSerializer_1.ObjectSerializer.serialize(perPage, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchMonitors(query, page, perPage, sort, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.searchMonitors\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (page !== undefined) {\n                requestContext.setQueryParam(\"page\", ObjectSerializer_1.ObjectSerializer.serialize(page, \"number\", \"int64\"));\n            }\n            if (perPage !== undefined) {\n                requestContext.setQueryParam(\"per_page\", ObjectSerializer_1.ObjectSerializer.serialize(perPage, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateMonitor(monitorId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"updateMonitor\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/{monitor_id}\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.updateMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MonitorUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    validateExistingMonitor(monitorId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"validateExistingMonitor\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"validateExistingMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/{monitor_id}/validate\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.validateExistingMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Monitor\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    validateMonitor(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"validateMonitor\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monitor/validate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.MonitorsApi.validateMonitor\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Monitor\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.MonitorsApiRequestFactory = MonitorsApiRequestFactory;\nclass MonitorsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to checkCanDeleteMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    checkCanDeleteMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CheckCanDeleteMonitorResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CheckCanDeleteMonitorResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DeletedMonitor\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DeletedMonitor\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listMonitors\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listMonitors(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchMonitorGroups\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchMonitorGroups(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorGroupSearchResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorGroupSearchResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchMonitors\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchMonitors(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorSearchResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorSearchResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Monitor\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to validateExistingMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    validateExistingMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to validateMonitor\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    validateMonitor(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.MonitorsApiResponseProcessor = MonitorsApiResponseProcessor;\nclass MonitorsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new MonitorsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new MonitorsApiResponseProcessor();\n    }\n    /**\n     * Check if the given monitors can be deleted.\n     * @param param The request object\n     */\n    checkCanDeleteMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.checkCanDeleteMonitor(param.monitorIds, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.checkCanDeleteMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a monitor using the specified options.\n     *\n     * #### Monitor Types\n     *\n     * The type of monitor chosen from:\n     *\n     * - anomaly: `query alert`\n     * - APM: `query alert` or `trace-analytics alert`\n     * - composite: `composite`\n     * - custom: `service check`\n     * - event: `event alert`\n     * - forecast: `query alert`\n     * - host: `service check`\n     * - integration: `query alert` or `service check`\n     * - live process: `process alert`\n     * - logs: `log alert`\n     * - metric: `query alert`\n     * - network: `service check`\n     * - outlier: `query alert`\n     * - process: `service check`\n     * - rum: `rum alert`\n     * - SLO: `slo alert`\n     * - watchdog: `event alert`\n     * - event-v2: `event-v2 alert`\n     * - audit: `audit alert`\n     * - error-tracking: `error-tracking alert`\n     * - database-monitoring: `database-monitoring alert`\n     *\n     * **Note**: Synthetic monitors are created through the Synthetics API. See the [Synthetics API] (https://docs.datadoghq.com/api/latest/synthetics/) documentation for more information.\n     *\n     * #### Query Types\n     *\n     * ##### Metric Alert Query\n     *\n     * Example: `time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #`\n     *\n     * - `time_aggr`: avg, sum, max, min, change, or pct_change\n     * - `time_window`: `last_#m` (with `#` between 1 and 10080 depending on the monitor type) or `last_#h`(with `#` between 1 and 168 depending on the monitor type) or `last_1d`, or `last_1w`\n     * - `space_aggr`: avg, sum, min, or max\n     * - `tags`: one or more tags (comma-separated), or *\n     * - `key`: a 'key' in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert)\n     * - `operator`: <, <=, >, >=, ==, or !=\n     * - `#`: an integer or decimal number used to set the threshold\n     *\n     * If you are using the `_change_` or `_pct_change_` time aggregator, instead use `change_aggr(time_aggr(time_window),\n     * timeshift):space_aggr:metric{tags} [by {key}] operator #` with:\n     *\n     * - `change_aggr` change, pct_change\n     * - `time_aggr` avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/create/types/#define-the-conditions)\n     * - `time_window` last\\_#m (between 1 and 2880 depending on the monitor type), last\\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2)\n     * - `timeshift` #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago\n     *\n     * Use this to create an outlier monitor using the following query:\n     * `avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0`\n     *\n     * ##### Service Check Query\n     *\n     * Example: `\"check\".over(tags).last(count).by(group).count_by_status()`\n     *\n     * - `check` name of the check, for example `datadog.agent.up`\n     * - `tags` one or more quoted tags (comma-separated), or \"*\". for example: `.over(\"env:prod\", \"role:db\")`; `over` cannot be blank.\n     * - `count` must be at greater than or equal to your max threshold (defined in the `options`). It is limited to 100.\n     * For example, if you've specified to notify on 1 critical, 3 ok, and 2 warn statuses, `count` should be at least 3.\n     * - `group` must be specified for check monitors. Per-check grouping is already explicitly known for some service checks.\n     * For example, Postgres integration monitors are tagged by `db`, `host`, and `port`, and Network monitors by `host`, `instance`, and `url`. See [Service Checks](https://docs.datadoghq.com/api/latest/service-checks/) documentation for more information.\n     *\n     * ##### Event Alert Query\n     *\n     * Example: `events('sources:nagios status:error,warning priority:normal tags: \"string query\"').rollup(\"count\").last(\"1h\")\"`\n     *\n     * - `event`, the event query string:\n     * - `string_query` free text query to match against event title and text.\n     * - `sources` event sources (comma-separated).\n     * - `status` event statuses (comma-separated). Valid options: error, warn, and info.\n     * - `priority` event priorities (comma-separated). Valid options: low, normal, all.\n     * - `host` event reporting host (comma-separated).\n     * - `tags` event tags (comma-separated).\n     * - `excluded_tags` excluded event tags (comma-separated).\n     * - `rollup` the stats roll-up method. `count` is the only supported method now.\n     * - `last` the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours.\n     *\n     * **NOTE** The Event Alert Query is being deprecated and replaced by the Event V2 Alert Query. For more information, see the [Event Migration guide](https://docs.datadoghq.com/events/guides/migrating_to_new_events_features/).\n     *\n     * ##### Event V2 Alert Query\n     *\n     * Example: `events(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * ##### Process Alert Query\n     *\n     * Example: `processes(search).over(tags).rollup('count').last(timeframe) operator #`\n     *\n     * - `search` free text search string for querying processes.\n     * Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows) page.\n     * - `tags` one or more tags (comma-separated)\n     * - `timeframe` the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d\n     * - `operator` <, <=, >, >=, ==, or !=\n     * - `#` an integer or decimal number used to set the threshold\n     *\n     * ##### Logs Alert Query\n     *\n     * Example: `logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `index_name` For multi-index organizations, the log index in which the request is performed.\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * ##### Composite Query\n     *\n     * Example: `12345 && 67890`, where `12345` and `67890` are the IDs of non-composite monitors\n     *\n     * * `name` [*required*, *default* = **dynamic, based on query**]: The name of the alert.\n     * * `message` [*required*, *default* = **dynamic, based on query**]: A message to include with notifications for this monitor.\n     * Email notifications can be sent to specific users by using the same '@username' notation as events.\n     * * `tags` [*optional*, *default* = **empty list**]: A list of tags to associate with your monitor.\n     * When getting all monitor details via the API, use the `monitor_tags` argument to filter results by these tags.\n     * It is only available via the API and isn't visible or editable in the Datadog UI.\n     *\n     * ##### SLO Alert Query\n     *\n     * Example: `error_budget(\"slo_id\").over(\"time_window\") operator #`\n     *\n     * - `slo_id`: The alphanumeric SLO ID of the SLO you are configuring the alert for.\n     * - `time_window`: The time window of the SLO target you wish to alert on. Valid options: `7d`, `30d`, `90d`.\n     * - `operator`: `>=` or `>`\n     *\n     * ##### Audit Alert Query\n     *\n     * Example: `audits(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * **NOTE** Only available on US1-FED and in closed beta on US1, EU, AP1, US3, and US5.\n     *\n     * ##### CI Pipelines Alert Query\n     *\n     * Example: `ci-pipelines(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * **NOTE** CI Pipeline monitors are in alpha on US1, EU, AP1, US3, and US5.\n     *\n     * ##### CI Tests Alert Query\n     *\n     * Example: `ci-tests(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * **NOTE** CI Test monitors are available only in closed beta on US1, EU, AP1, US3, and US5.\n     *\n     * ##### Error Tracking Alert Query\n     *\n     * Example(RUM): `error-tracking-rum(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     * Example(APM Traces): `error-tracking-traces(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * **Database Monitoring Alert Query**\n     *\n     * Example: `database-monitoring(query).rollup(rollup_method[, measure]).last(time_window) operator #`\n     *\n     * - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/).\n     * - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`.\n     * - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use.\n     * - `time_window` #m (between 1 and 2880), #h (between 1 and 48).\n     * - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`.\n     * - `#` an integer or decimal number used to set the threshold.\n     *\n     * **NOTE** Database Monitoring monitors are in alpha on US1.\n     * @param param The request object\n     */\n    createMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.createMonitor(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete the specified monitor\n     * @param param The request object\n     */\n    deleteMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.deleteMonitor(param.monitorId, param.force, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Get details about the specified monitor from your organization.\n     * @param param The request object\n     */\n    getMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.getMonitor(param.monitorId, param.groupStates, param.withDowntimes, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Get details about the specified monitor from your organization.\n     * @param param The request object\n     */\n    listMonitors(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listMonitors(param.groupStates, param.name, param.tags, param.monitorTags, param.withDowntimes, param.idOffset, param.page, param.pageSize, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listMonitors(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listMonitors returning a generator with all the items.\n     */\n    listMonitorsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listMonitorsWithPagination_1() {\n            let pageSize = 100;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            param.page = 0;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listMonitors(param.groupStates, param.name, param.tags, param.monitorTags, param.withDowntimes, param.idOffset, param.page, param.pageSize, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listMonitors(responseContext));\n                const results = response;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                param.page = param.page + 1;\n            }\n        });\n    }\n    /**\n     * Search and filter your monitor groups details.\n     * @param param The request object\n     */\n    searchMonitorGroups(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchMonitorGroups(param.query, param.page, param.perPage, param.sort, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchMonitorGroups(responseContext);\n            });\n        });\n    }\n    /**\n     * Search and filter your monitors details.\n     * @param param The request object\n     */\n    searchMonitors(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchMonitors(param.query, param.page, param.perPage, param.sort, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchMonitors(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit the specified monitor.\n     * @param param The request object\n     */\n    updateMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.updateMonitor(param.monitorId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Validate the monitor provided in the request.\n     * @param param The request object\n     */\n    validateExistingMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.validateExistingMonitor(param.monitorId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.validateExistingMonitor(responseContext);\n            });\n        });\n    }\n    /**\n     * Validate the monitor provided in the request.\n     * @param param The request object\n     */\n    validateMonitor(param, options) {\n        const requestContextPromise = this.requestFactory.validateMonitor(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.validateMonitor(responseContext);\n            });\n        });\n    }\n}\nexports.MonitorsApi = MonitorsApi;\n//# sourceMappingURL=MonitorsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksApi = exports.NotebooksApiResponseProcessor = exports.NotebooksApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass NotebooksApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createNotebook(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createNotebook\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/notebooks\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.NotebooksApi.createNotebook\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"NotebookCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteNotebook(notebookId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'notebookId' is not null or undefined\n            if (notebookId === null || notebookId === undefined) {\n                throw new baseapi_1.RequiredError(\"notebookId\", \"deleteNotebook\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/notebooks/{notebook_id}\".replace(\"{notebook_id}\", encodeURIComponent(String(notebookId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.NotebooksApi.deleteNotebook\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getNotebook(notebookId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'notebookId' is not null or undefined\n            if (notebookId === null || notebookId === undefined) {\n                throw new baseapi_1.RequiredError(\"notebookId\", \"getNotebook\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/notebooks/{notebook_id}\".replace(\"{notebook_id}\", encodeURIComponent(String(notebookId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.NotebooksApi.getNotebook\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listNotebooks(authorHandle, excludeAuthorHandle, start, count, sortField, sortDir, query, includeCells, isTemplate, type, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/notebooks\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.NotebooksApi.listNotebooks\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (authorHandle !== undefined) {\n                requestContext.setQueryParam(\"author_handle\", ObjectSerializer_1.ObjectSerializer.serialize(authorHandle, \"string\", \"\"));\n            }\n            if (excludeAuthorHandle !== undefined) {\n                requestContext.setQueryParam(\"exclude_author_handle\", ObjectSerializer_1.ObjectSerializer.serialize(excludeAuthorHandle, \"string\", \"\"));\n            }\n            if (start !== undefined) {\n                requestContext.setQueryParam(\"start\", ObjectSerializer_1.ObjectSerializer.serialize(start, \"number\", \"int64\"));\n            }\n            if (count !== undefined) {\n                requestContext.setQueryParam(\"count\", ObjectSerializer_1.ObjectSerializer.serialize(count, \"number\", \"int64\"));\n            }\n            if (sortField !== undefined) {\n                requestContext.setQueryParam(\"sort_field\", ObjectSerializer_1.ObjectSerializer.serialize(sortField, \"string\", \"\"));\n            }\n            if (sortDir !== undefined) {\n                requestContext.setQueryParam(\"sort_dir\", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, \"string\", \"\"));\n            }\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (includeCells !== undefined) {\n                requestContext.setQueryParam(\"include_cells\", ObjectSerializer_1.ObjectSerializer.serialize(includeCells, \"boolean\", \"\"));\n            }\n            if (isTemplate !== undefined) {\n                requestContext.setQueryParam(\"is_template\", ObjectSerializer_1.ObjectSerializer.serialize(isTemplate, \"boolean\", \"\"));\n            }\n            if (type !== undefined) {\n                requestContext.setQueryParam(\"type\", ObjectSerializer_1.ObjectSerializer.serialize(type, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateNotebook(notebookId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'notebookId' is not null or undefined\n            if (notebookId === null || notebookId === undefined) {\n                throw new baseapi_1.RequiredError(\"notebookId\", \"updateNotebook\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateNotebook\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/notebooks/{notebook_id}\".replace(\"{notebook_id}\", encodeURIComponent(String(notebookId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.NotebooksApi.updateNotebook\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"NotebookUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.NotebooksApiRequestFactory = NotebooksApiRequestFactory;\nclass NotebooksApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createNotebook\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createNotebook(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteNotebook\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteNotebook(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getNotebook\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getNotebook(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listNotebooks\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listNotebooks(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebooksResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebooksResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateNotebook\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateNotebook(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"NotebookResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.NotebooksApiResponseProcessor = NotebooksApiResponseProcessor;\nclass NotebooksApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new NotebooksApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new NotebooksApiResponseProcessor();\n    }\n    /**\n     * Create a notebook using the specified options.\n     * @param param The request object\n     */\n    createNotebook(param, options) {\n        const requestContextPromise = this.requestFactory.createNotebook(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createNotebook(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a notebook using the specified ID.\n     * @param param The request object\n     */\n    deleteNotebook(param, options) {\n        const requestContextPromise = this.requestFactory.deleteNotebook(param.notebookId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteNotebook(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a notebook using the specified notebook ID.\n     * @param param The request object\n     */\n    getNotebook(param, options) {\n        const requestContextPromise = this.requestFactory.getNotebook(param.notebookId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getNotebook(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all notebooks. This can also be used to search for notebooks with a particular `query` in the notebook\n     * `name` or author `handle`.\n     * @param param The request object\n     */\n    listNotebooks(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listNotebooks(param.authorHandle, param.excludeAuthorHandle, param.start, param.count, param.sortField, param.sortDir, param.query, param.includeCells, param.isTemplate, param.type, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listNotebooks(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listNotebooks returning a generator with all the items.\n     */\n    listNotebooksWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listNotebooksWithPagination_1() {\n            let pageSize = 100;\n            if (param.count !== undefined) {\n                pageSize = param.count;\n            }\n            param.count = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listNotebooks(param.authorHandle, param.excludeAuthorHandle, param.start, param.count, param.sortField, param.sortDir, param.query, param.includeCells, param.isTemplate, param.type, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listNotebooks(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.start === undefined) {\n                    param.start = pageSize;\n                }\n                else {\n                    param.start = param.start + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Update a notebook using the specified ID.\n     * @param param The request object\n     */\n    updateNotebook(param, options) {\n        const requestContextPromise = this.requestFactory.updateNotebook(param.notebookId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateNotebook(responseContext);\n            });\n        });\n    }\n}\nexports.NotebooksApi = NotebooksApi;\n//# sourceMappingURL=NotebooksApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationsApi = exports.OrganizationsApiResponseProcessor = exports.OrganizationsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst form_data_1 = __importDefault(require(\"form-data\"));\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass OrganizationsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createChildOrg(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createChildOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/org\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.createChildOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"OrganizationCreateBody\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    downgradeOrg(publicId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"downgradeOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/org/{public_id}/downgrade\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.downgradeOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getOrg(publicId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/org/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.getOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listOrgs(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/org\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.listOrgs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateOrg(publicId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"updateOrg\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/org/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.updateOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Organization\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    uploadIdPForOrg(publicId, idpFile, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"uploadIdPForOrg\");\n            }\n            // verify required parameter 'idpFile' is not null or undefined\n            if (idpFile === null || idpFile === undefined) {\n                throw new baseapi_1.RequiredError(\"idpFile\", \"uploadIdPForOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/org/{public_id}/idp_metadata\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.OrganizationsApi.uploadIdPForOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Form Params\n            const localVarFormParams = new form_data_1.default();\n            if (idpFile !== undefined) {\n                // TODO: replace .append with .set\n                localVarFormParams.append(\"idp_file\", idpFile.data, idpFile.name);\n            }\n            requestContext.setBody(localVarFormParams);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.OrganizationsApiRequestFactory = OrganizationsApiRequestFactory;\nclass OrganizationsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createChildOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createChildOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to downgradeOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    downgradeOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrgDowngradedResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrgDowngradedResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listOrgs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listOrgs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OrganizationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to uploadIdPForOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    uploadIdPForOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IdpResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 415 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IdpResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.OrganizationsApiResponseProcessor = OrganizationsApiResponseProcessor;\nclass OrganizationsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new OrganizationsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new OrganizationsApiResponseProcessor();\n    }\n    /**\n     * Create a child organization.\n     *\n     * This endpoint requires the\n     * [multi-organization account](https://docs.datadoghq.com/account_management/multi_organization/)\n     * feature and must be enabled by\n     * [contacting support](https://docs.datadoghq.com/help/).\n     *\n     * Once a new child organization is created, you can interact with it\n     * by using the `org.public_id`, `api_key.key`, and\n     * `application_key.hash` provided in the response.\n     * @param param The request object\n     */\n    createChildOrg(param, options) {\n        const requestContextPromise = this.requestFactory.createChildOrg(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createChildOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * Only available for MSP customers. Removes a child organization from the hierarchy of the master organization and places the child organization on a 30-day trial.\n     * @param param The request object\n     */\n    downgradeOrg(param, options) {\n        const requestContextPromise = this.requestFactory.downgradeOrg(param.publicId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.downgradeOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * Get organization information.\n     * @param param The request object\n     */\n    getOrg(param, options) {\n        const requestContextPromise = this.requestFactory.getOrg(param.publicId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint returns data on your top-level organization.\n     * @param param The request object\n     */\n    listOrgs(options) {\n        const requestContextPromise = this.requestFactory.listOrgs(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listOrgs(responseContext);\n            });\n        });\n    }\n    /**\n     * Update your organization.\n     * @param param The request object\n     */\n    updateOrg(param, options) {\n        const requestContextPromise = this.requestFactory.updateOrg(param.publicId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * There are a couple of options for updating the Identity Provider (IdP)\n     * metadata from your SAML IdP.\n     *\n     * * **Multipart Form-Data**: Post the IdP metadata file using a form post.\n     *\n     * * **XML Body:** Post the IdP metadata file as the body of the request.\n     * @param param The request object\n     */\n    uploadIdPForOrg(param, options) {\n        const requestContextPromise = this.requestFactory.uploadIdPForOrg(param.publicId, param.idpFile, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.uploadIdPForOrg(responseContext);\n            });\n        });\n    }\n}\nexports.OrganizationsApi = OrganizationsApi;\n//# sourceMappingURL=OrganizationsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PagerDutyIntegrationApi = exports.PagerDutyIntegrationApiResponseProcessor = exports.PagerDutyIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass PagerDutyIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createPagerDutyIntegrationService(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createPagerDutyIntegrationService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/pagerduty/configuration/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.PagerDutyIntegrationApi.createPagerDutyIntegrationService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"PagerDutyService\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deletePagerDutyIntegrationService(serviceName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceName' is not null or undefined\n            if (serviceName === null || serviceName === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceName\", \"deletePagerDutyIntegrationService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/pagerduty/configuration/services/{service_name}\".replace(\"{service_name}\", encodeURIComponent(String(serviceName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.PagerDutyIntegrationApi.deletePagerDutyIntegrationService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getPagerDutyIntegrationService(serviceName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceName' is not null or undefined\n            if (serviceName === null || serviceName === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceName\", \"getPagerDutyIntegrationService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/pagerduty/configuration/services/{service_name}\".replace(\"{service_name}\", encodeURIComponent(String(serviceName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.PagerDutyIntegrationApi.getPagerDutyIntegrationService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updatePagerDutyIntegrationService(serviceName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceName' is not null or undefined\n            if (serviceName === null || serviceName === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceName\", \"updatePagerDutyIntegrationService\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updatePagerDutyIntegrationService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/pagerduty/configuration/services/{service_name}\".replace(\"{service_name}\", encodeURIComponent(String(serviceName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.PagerDutyIntegrationApi.updatePagerDutyIntegrationService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"PagerDutyServiceKey\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.PagerDutyIntegrationApiRequestFactory = PagerDutyIntegrationApiRequestFactory;\nclass PagerDutyIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createPagerDutyIntegrationService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createPagerDutyIntegrationService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PagerDutyServiceName\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PagerDutyServiceName\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deletePagerDutyIntegrationService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deletePagerDutyIntegrationService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getPagerDutyIntegrationService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getPagerDutyIntegrationService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PagerDutyServiceName\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PagerDutyServiceName\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updatePagerDutyIntegrationService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updatePagerDutyIntegrationService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.PagerDutyIntegrationApiResponseProcessor = PagerDutyIntegrationApiResponseProcessor;\nclass PagerDutyIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new PagerDutyIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new PagerDutyIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a new service object in the PagerDuty integration.\n     * @param param The request object\n     */\n    createPagerDutyIntegrationService(param, options) {\n        const requestContextPromise = this.requestFactory.createPagerDutyIntegrationService(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createPagerDutyIntegrationService(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a single service object in the Datadog-PagerDuty integration.\n     * @param param The request object\n     */\n    deletePagerDutyIntegrationService(param, options) {\n        const requestContextPromise = this.requestFactory.deletePagerDutyIntegrationService(param.serviceName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deletePagerDutyIntegrationService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get service name in the Datadog-PagerDuty integration.\n     * @param param The request object\n     */\n    getPagerDutyIntegrationService(param, options) {\n        const requestContextPromise = this.requestFactory.getPagerDutyIntegrationService(param.serviceName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getPagerDutyIntegrationService(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a single service object in the Datadog-PagerDuty integration.\n     * @param param The request object\n     */\n    updatePagerDutyIntegrationService(param, options) {\n        const requestContextPromise = this.requestFactory.updatePagerDutyIntegrationService(param.serviceName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updatePagerDutyIntegrationService(responseContext);\n            });\n        });\n    }\n}\nexports.PagerDutyIntegrationApi = PagerDutyIntegrationApi;\n//# sourceMappingURL=PagerDutyIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringApi = exports.SecurityMonitoringApiResponseProcessor = exports.SecurityMonitoringApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SecurityMonitoringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    addSecurityMonitoringSignalToIncident(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"addSecurityMonitoringSignalToIncident\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"addSecurityMonitoringSignalToIncident\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/security_analytics/signals/{signal_id}/add_to_incident\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SecurityMonitoringApi.addSecurityMonitoringSignalToIncident\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AddSignalToIncidentRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editSecurityMonitoringSignalAssignee(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"editSecurityMonitoringSignalAssignee\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editSecurityMonitoringSignalAssignee\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/security_analytics/signals/{signal_id}/assignee\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SecurityMonitoringApi.editSecurityMonitoringSignalAssignee\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SignalAssigneeUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editSecurityMonitoringSignalState(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"editSecurityMonitoringSignalState\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editSecurityMonitoringSignalState\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/security_analytics/signals/{signal_id}/state\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SecurityMonitoringApi.editSecurityMonitoringSignalState\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SignalStateUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SecurityMonitoringApiRequestFactory = SecurityMonitoringApiRequestFactory;\nclass SecurityMonitoringApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to addSecurityMonitoringSignalToIncident\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    addSecurityMonitoringSignalToIncident(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editSecurityMonitoringSignalAssignee\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editSecurityMonitoringSignalAssignee(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editSecurityMonitoringSignalState\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editSecurityMonitoringSignalState(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SuccessfulSignalUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SecurityMonitoringApiResponseProcessor = SecurityMonitoringApiResponseProcessor;\nclass SecurityMonitoringApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SecurityMonitoringApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SecurityMonitoringApiResponseProcessor();\n    }\n    /**\n     * Add a security signal to an incident. This makes it possible to search for signals by incident within the signal explorer and to view the signals on the incident timeline.\n     * @param param The request object\n     */\n    addSecurityMonitoringSignalToIncident(param, options) {\n        const requestContextPromise = this.requestFactory.addSecurityMonitoringSignalToIncident(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.addSecurityMonitoringSignalToIncident(responseContext);\n            });\n        });\n    }\n    /**\n     * Modify the triage assignee of a security signal.\n     * @param param The request object\n     */\n    editSecurityMonitoringSignalAssignee(param, options) {\n        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalAssignee(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editSecurityMonitoringSignalAssignee(responseContext);\n            });\n        });\n    }\n    /**\n     * Change the triage state of a security signal.\n     * @param param The request object\n     */\n    editSecurityMonitoringSignalState(param, options) {\n        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalState(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editSecurityMonitoringSignalState(responseContext);\n            });\n        });\n    }\n}\nexports.SecurityMonitoringApi = SecurityMonitoringApi;\n//# sourceMappingURL=SecurityMonitoringApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceChecksApi = exports.ServiceChecksApiResponseProcessor = exports.ServiceChecksApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ServiceChecksApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    submitServiceCheck(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitServiceCheck\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/check_run\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceChecksApi.submitServiceCheck\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"text/json, application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Array\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n}\nexports.ServiceChecksApiRequestFactory = ServiceChecksApiRequestFactory;\nclass ServiceChecksApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitServiceCheck\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitServiceCheck(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ServiceChecksApiResponseProcessor = ServiceChecksApiResponseProcessor;\nclass ServiceChecksApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new ServiceChecksApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ServiceChecksApiResponseProcessor();\n    }\n    /**\n     * Submit a list of Service Checks.\n     *\n     * **Notes**:\n     * - A valid API key is required.\n     * - Service checks can be submitted up to 10 minutes in the past.\n     * @param param The request object\n     */\n    submitServiceCheck(param, options) {\n        const requestContextPromise = this.requestFactory.submitServiceCheck(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitServiceCheck(responseContext);\n            });\n        });\n    }\n}\nexports.ServiceChecksApi = ServiceChecksApi;\n//# sourceMappingURL=ServiceChecksApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceLevelObjectiveCorrectionsApi = exports.ServiceLevelObjectiveCorrectionsApiResponseProcessor = exports.ServiceLevelObjectiveCorrectionsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ServiceLevelObjectiveCorrectionsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createSLOCorrection(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSLOCorrection\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/correction\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectiveCorrectionsApi.createSLOCorrection\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SLOCorrectionCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSLOCorrection(sloCorrectionId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloCorrectionId' is not null or undefined\n            if (sloCorrectionId === null || sloCorrectionId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloCorrectionId\", \"deleteSLOCorrection\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/correction/{slo_correction_id}\".replace(\"{slo_correction_id}\", encodeURIComponent(String(sloCorrectionId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectiveCorrectionsApi.deleteSLOCorrection\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSLOCorrection(sloCorrectionId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloCorrectionId' is not null or undefined\n            if (sloCorrectionId === null || sloCorrectionId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloCorrectionId\", \"getSLOCorrection\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/correction/{slo_correction_id}\".replace(\"{slo_correction_id}\", encodeURIComponent(String(sloCorrectionId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectiveCorrectionsApi.getSLOCorrection\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSLOCorrection(offset, limit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/slo/correction\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectiveCorrectionsApi.listSLOCorrection\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (offset !== undefined) {\n                requestContext.setQueryParam(\"offset\", ObjectSerializer_1.ObjectSerializer.serialize(offset, \"number\", \"int64\"));\n            }\n            if (limit !== undefined) {\n                requestContext.setQueryParam(\"limit\", ObjectSerializer_1.ObjectSerializer.serialize(limit, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSLOCorrection(sloCorrectionId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloCorrectionId' is not null or undefined\n            if (sloCorrectionId === null || sloCorrectionId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloCorrectionId\", \"updateSLOCorrection\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSLOCorrection\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/correction/{slo_correction_id}\".replace(\"{slo_correction_id}\", encodeURIComponent(String(sloCorrectionId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectiveCorrectionsApi.updateSLOCorrection\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SLOCorrectionUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ServiceLevelObjectiveCorrectionsApiRequestFactory = ServiceLevelObjectiveCorrectionsApiRequestFactory;\nclass ServiceLevelObjectiveCorrectionsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSLOCorrection\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSLOCorrection(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSLOCorrection\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSLOCorrection(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSLOCorrection\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSLOCorrection(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSLOCorrection\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSLOCorrection(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSLOCorrection\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSLOCorrection(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ServiceLevelObjectiveCorrectionsApiResponseProcessor = ServiceLevelObjectiveCorrectionsApiResponseProcessor;\nclass ServiceLevelObjectiveCorrectionsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new ServiceLevelObjectiveCorrectionsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor ||\n                new ServiceLevelObjectiveCorrectionsApiResponseProcessor();\n    }\n    /**\n     * Create an SLO Correction.\n     * @param param The request object\n     */\n    createSLOCorrection(param, options) {\n        const requestContextPromise = this.requestFactory.createSLOCorrection(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSLOCorrection(responseContext);\n            });\n        });\n    }\n    /**\n     * Permanently delete the specified SLO correction object.\n     * @param param The request object\n     */\n    deleteSLOCorrection(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSLOCorrection(param.sloCorrectionId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSLOCorrection(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an SLO correction.\n     * @param param The request object\n     */\n    getSLOCorrection(param, options) {\n        const requestContextPromise = this.requestFactory.getSLOCorrection(param.sloCorrectionId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSLOCorrection(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all Service Level Objective corrections.\n     * @param param The request object\n     */\n    listSLOCorrection(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listSLOCorrection(param.offset, param.limit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSLOCorrection(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listSLOCorrection returning a generator with all the items.\n     */\n    listSLOCorrectionWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listSLOCorrectionWithPagination_1() {\n            let pageSize = 25;\n            if (param.limit !== undefined) {\n                pageSize = param.limit;\n            }\n            param.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listSLOCorrection(param.offset, param.limit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listSLOCorrection(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.offset === undefined) {\n                    param.offset = pageSize;\n                }\n                else {\n                    param.offset = param.offset + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Update the specified SLO correction object.\n     * @param param The request object\n     */\n    updateSLOCorrection(param, options) {\n        const requestContextPromise = this.requestFactory.updateSLOCorrection(param.sloCorrectionId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSLOCorrection(responseContext);\n            });\n        });\n    }\n}\nexports.ServiceLevelObjectiveCorrectionsApi = ServiceLevelObjectiveCorrectionsApi;\n//# sourceMappingURL=ServiceLevelObjectiveCorrectionsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceLevelObjectivesApi = exports.ServiceLevelObjectivesApiResponseProcessor = exports.ServiceLevelObjectivesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ServiceLevelObjectivesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    checkCanDeleteSLO(ids, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ids' is not null or undefined\n            if (ids === null || ids === undefined) {\n                throw new baseapi_1.RequiredError(\"ids\", \"checkCanDeleteSLO\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/can_delete\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.checkCanDeleteSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (ids !== undefined) {\n                requestContext.setQueryParam(\"ids\", ObjectSerializer_1.ObjectSerializer.serialize(ids, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createSLO(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSLO\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.createSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ServiceLevelObjectiveRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSLO(sloId, force, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloId' is not null or undefined\n            if (sloId === null || sloId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloId\", \"deleteSLO\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/{slo_id}\".replace(\"{slo_id}\", encodeURIComponent(String(sloId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.deleteSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (force !== undefined) {\n                requestContext.setQueryParam(\"force\", ObjectSerializer_1.ObjectSerializer.serialize(force, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSLOTimeframeInBulk(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteSLOTimeframeInBulk\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/bulk_delete\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.deleteSLOTimeframeInBulk\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"{ [key: string]: Array; }\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSLO(sloId, withConfiguredAlertIds, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloId' is not null or undefined\n            if (sloId === null || sloId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloId\", \"getSLO\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/{slo_id}\".replace(\"{slo_id}\", encodeURIComponent(String(sloId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.getSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (withConfiguredAlertIds !== undefined) {\n                requestContext.setQueryParam(\"with_configured_alert_ids\", ObjectSerializer_1.ObjectSerializer.serialize(withConfiguredAlertIds, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSLOCorrections(sloId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloId' is not null or undefined\n            if (sloId === null || sloId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloId\", \"getSLOCorrections\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/{slo_id}/corrections\".replace(\"{slo_id}\", encodeURIComponent(String(sloId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.getSLOCorrections\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSLOHistory(sloId, fromTs, toTs, target, applyCorrection, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloId' is not null or undefined\n            if (sloId === null || sloId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloId\", \"getSLOHistory\");\n            }\n            // verify required parameter 'fromTs' is not null or undefined\n            if (fromTs === null || fromTs === undefined) {\n                throw new baseapi_1.RequiredError(\"fromTs\", \"getSLOHistory\");\n            }\n            // verify required parameter 'toTs' is not null or undefined\n            if (toTs === null || toTs === undefined) {\n                throw new baseapi_1.RequiredError(\"toTs\", \"getSLOHistory\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/{slo_id}/history\".replace(\"{slo_id}\", encodeURIComponent(String(sloId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.getSLOHistory\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (fromTs !== undefined) {\n                requestContext.setQueryParam(\"from_ts\", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, \"number\", \"int64\"));\n            }\n            if (toTs !== undefined) {\n                requestContext.setQueryParam(\"to_ts\", ObjectSerializer_1.ObjectSerializer.serialize(toTs, \"number\", \"int64\"));\n            }\n            if (target !== undefined) {\n                requestContext.setQueryParam(\"target\", ObjectSerializer_1.ObjectSerializer.serialize(target, \"number\", \"double\"));\n            }\n            if (applyCorrection !== undefined) {\n                requestContext.setQueryParam(\"apply_correction\", ObjectSerializer_1.ObjectSerializer.serialize(applyCorrection, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSLOs(ids, query, tagsQuery, metricsQuery, limit, offset, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/slo\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.listSLOs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (ids !== undefined) {\n                requestContext.setQueryParam(\"ids\", ObjectSerializer_1.ObjectSerializer.serialize(ids, \"string\", \"\"));\n            }\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (tagsQuery !== undefined) {\n                requestContext.setQueryParam(\"tags_query\", ObjectSerializer_1.ObjectSerializer.serialize(tagsQuery, \"string\", \"\"));\n            }\n            if (metricsQuery !== undefined) {\n                requestContext.setQueryParam(\"metrics_query\", ObjectSerializer_1.ObjectSerializer.serialize(metricsQuery, \"string\", \"\"));\n            }\n            if (limit !== undefined) {\n                requestContext.setQueryParam(\"limit\", ObjectSerializer_1.ObjectSerializer.serialize(limit, \"number\", \"int64\"));\n            }\n            if (offset !== undefined) {\n                requestContext.setQueryParam(\"offset\", ObjectSerializer_1.ObjectSerializer.serialize(offset, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchSLO(query, pageSize, pageNumber, includeFacets, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/slo/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.searchSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (includeFacets !== undefined) {\n                requestContext.setQueryParam(\"include_facets\", ObjectSerializer_1.ObjectSerializer.serialize(includeFacets, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSLO(sloId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'sloId' is not null or undefined\n            if (sloId === null || sloId === undefined) {\n                throw new baseapi_1.RequiredError(\"sloId\", \"updateSLO\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSLO\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/slo/{slo_id}\".replace(\"{slo_id}\", encodeURIComponent(String(sloId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.ServiceLevelObjectivesApi.updateSLO\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ServiceLevelObjective\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ServiceLevelObjectivesApiRequestFactory = ServiceLevelObjectivesApiRequestFactory;\nclass ServiceLevelObjectivesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to checkCanDeleteSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    checkCanDeleteSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CheckCanDeleteSLOResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CheckCanDeleteSLOResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200 || response.httpStatusCode == 409) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLODeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLODeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSLOTimeframeInBulk\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSLOTimeframeInBulk(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOBulkDeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOBulkDeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSLOCorrections\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSLOCorrections(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOCorrectionListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSLOHistory\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSLOHistory(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOHistoryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOHistoryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSLOs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSLOs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SearchSLOResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SearchSLOResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSLO\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSLO(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SLOListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ServiceLevelObjectivesApiResponseProcessor = ServiceLevelObjectivesApiResponseProcessor;\nclass ServiceLevelObjectivesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new ServiceLevelObjectivesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ServiceLevelObjectivesApiResponseProcessor();\n    }\n    /**\n     * Check if an SLO can be safely deleted. For example,\n     * assure an SLO can be deleted without disrupting a dashboard.\n     * @param param The request object\n     */\n    checkCanDeleteSLO(param, options) {\n        const requestContextPromise = this.requestFactory.checkCanDeleteSLO(param.ids, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.checkCanDeleteSLO(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a service level objective object.\n     * @param param The request object\n     */\n    createSLO(param, options) {\n        const requestContextPromise = this.requestFactory.createSLO(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSLO(responseContext);\n            });\n        });\n    }\n    /**\n     * Permanently delete the specified service level objective object.\n     *\n     * If an SLO is used in a dashboard, the `DELETE /v1/slo/` endpoint returns\n     * a 409 conflict error because the SLO is referenced in a dashboard.\n     * @param param The request object\n     */\n    deleteSLO(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSLO(param.sloId, param.force, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSLO(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete (or partially delete) multiple service level objective objects.\n     *\n     * This endpoint facilitates deletion of one or more thresholds for one or more\n     * service level objective objects. If all thresholds are deleted, the service level\n     * objective object is deleted as well.\n     * @param param The request object\n     */\n    deleteSLOTimeframeInBulk(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSLOTimeframeInBulk(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSLOTimeframeInBulk(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a service level objective object.\n     * @param param The request object\n     */\n    getSLO(param, options) {\n        const requestContextPromise = this.requestFactory.getSLO(param.sloId, param.withConfiguredAlertIds, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSLO(responseContext);\n            });\n        });\n    }\n    /**\n     * Get corrections applied to an SLO\n     * @param param The request object\n     */\n    getSLOCorrections(param, options) {\n        const requestContextPromise = this.requestFactory.getSLOCorrections(param.sloId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSLOCorrections(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific SLO’s history, regardless of its SLO type.\n     *\n     * The detailed history data is structured according to the source data type.\n     * For example, metric data is included for event SLOs that use\n     * the metric source, and monitor SLO types include the monitor transition history.\n     *\n     * **Note:** There are different response formats for event based and time based SLOs.\n     * Examples of both are shown.\n     * @param param The request object\n     */\n    getSLOHistory(param, options) {\n        const requestContextPromise = this.requestFactory.getSLOHistory(param.sloId, param.fromTs, param.toTs, param.target, param.applyCorrection, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSLOHistory(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of service level objective objects for your organization.\n     * @param param The request object\n     */\n    listSLOs(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listSLOs(param.ids, param.query, param.tagsQuery, param.metricsQuery, param.limit, param.offset, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSLOs(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listSLOs returning a generator with all the items.\n     */\n    listSLOsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listSLOsWithPagination_1() {\n            let pageSize = 1000;\n            if (param.limit !== undefined) {\n                pageSize = param.limit;\n            }\n            param.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listSLOs(param.ids, param.query, param.tagsQuery, param.metricsQuery, param.limit, param.offset, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listSLOs(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.offset === undefined) {\n                    param.offset = pageSize;\n                }\n                else {\n                    param.offset = param.offset + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Get a list of service level objective objects for your organization.\n     * @param param The request object\n     */\n    searchSLO(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchSLO(param.query, param.pageSize, param.pageNumber, param.includeFacets, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchSLO(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the specified service level objective object.\n     * @param param The request object\n     */\n    updateSLO(param, options) {\n        const requestContextPromise = this.requestFactory.updateSLO(param.sloId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSLO(responseContext);\n            });\n        });\n    }\n}\nexports.ServiceLevelObjectivesApi = ServiceLevelObjectivesApi;\n//# sourceMappingURL=ServiceLevelObjectivesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackIntegrationApi = exports.SlackIntegrationApiResponseProcessor = exports.SlackIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SlackIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createSlackIntegrationChannel(accountName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountName' is not null or undefined\n            if (accountName === null || accountName === undefined) {\n                throw new baseapi_1.RequiredError(\"accountName\", \"createSlackIntegrationChannel\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSlackIntegrationChannel\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/slack/configuration/accounts/{account_name}/channels\".replace(\"{account_name}\", encodeURIComponent(String(accountName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SlackIntegrationApi.createSlackIntegrationChannel\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SlackIntegrationChannel\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSlackIntegrationChannel(accountName, channelName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountName' is not null or undefined\n            if (accountName === null || accountName === undefined) {\n                throw new baseapi_1.RequiredError(\"accountName\", \"getSlackIntegrationChannel\");\n            }\n            // verify required parameter 'channelName' is not null or undefined\n            if (channelName === null || channelName === undefined) {\n                throw new baseapi_1.RequiredError(\"channelName\", \"getSlackIntegrationChannel\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}\"\n                .replace(\"{account_name}\", encodeURIComponent(String(accountName)))\n                .replace(\"{channel_name}\", encodeURIComponent(String(channelName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SlackIntegrationApi.getSlackIntegrationChannel\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSlackIntegrationChannels(accountName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountName' is not null or undefined\n            if (accountName === null || accountName === undefined) {\n                throw new baseapi_1.RequiredError(\"accountName\", \"getSlackIntegrationChannels\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/slack/configuration/accounts/{account_name}/channels\".replace(\"{account_name}\", encodeURIComponent(String(accountName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SlackIntegrationApi.getSlackIntegrationChannels\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    removeSlackIntegrationChannel(accountName, channelName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountName' is not null or undefined\n            if (accountName === null || accountName === undefined) {\n                throw new baseapi_1.RequiredError(\"accountName\", \"removeSlackIntegrationChannel\");\n            }\n            // verify required parameter 'channelName' is not null or undefined\n            if (channelName === null || channelName === undefined) {\n                throw new baseapi_1.RequiredError(\"channelName\", \"removeSlackIntegrationChannel\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}\"\n                .replace(\"{account_name}\", encodeURIComponent(String(accountName)))\n                .replace(\"{channel_name}\", encodeURIComponent(String(channelName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SlackIntegrationApi.removeSlackIntegrationChannel\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSlackIntegrationChannel(accountName, channelName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountName' is not null or undefined\n            if (accountName === null || accountName === undefined) {\n                throw new baseapi_1.RequiredError(\"accountName\", \"updateSlackIntegrationChannel\");\n            }\n            // verify required parameter 'channelName' is not null or undefined\n            if (channelName === null || channelName === undefined) {\n                throw new baseapi_1.RequiredError(\"channelName\", \"updateSlackIntegrationChannel\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSlackIntegrationChannel\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}\"\n                .replace(\"{account_name}\", encodeURIComponent(String(accountName)))\n                .replace(\"{channel_name}\", encodeURIComponent(String(channelName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SlackIntegrationApi.updateSlackIntegrationChannel\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SlackIntegrationChannel\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SlackIntegrationApiRequestFactory = SlackIntegrationApiRequestFactory;\nclass SlackIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSlackIntegrationChannel\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSlackIntegrationChannel(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSlackIntegrationChannel\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSlackIntegrationChannel(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSlackIntegrationChannels\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSlackIntegrationChannels(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to removeSlackIntegrationChannel\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    removeSlackIntegrationChannel(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSlackIntegrationChannel\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSlackIntegrationChannel(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SlackIntegrationChannel\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SlackIntegrationApiResponseProcessor = SlackIntegrationApiResponseProcessor;\nclass SlackIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SlackIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SlackIntegrationApiResponseProcessor();\n    }\n    /**\n     * Add a channel to your Datadog-Slack integration.\n     * @param param The request object\n     */\n    createSlackIntegrationChannel(param, options) {\n        const requestContextPromise = this.requestFactory.createSlackIntegrationChannel(param.accountName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSlackIntegrationChannel(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a channel configured for your Datadog-Slack integration.\n     * @param param The request object\n     */\n    getSlackIntegrationChannel(param, options) {\n        const requestContextPromise = this.requestFactory.getSlackIntegrationChannel(param.accountName, param.channelName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSlackIntegrationChannel(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of all channels configured for your Datadog-Slack integration.\n     * @param param The request object\n     */\n    getSlackIntegrationChannels(param, options) {\n        const requestContextPromise = this.requestFactory.getSlackIntegrationChannels(param.accountName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSlackIntegrationChannels(responseContext);\n            });\n        });\n    }\n    /**\n     * Remove a channel from your Datadog-Slack integration.\n     * @param param The request object\n     */\n    removeSlackIntegrationChannel(param, options) {\n        const requestContextPromise = this.requestFactory.removeSlackIntegrationChannel(param.accountName, param.channelName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.removeSlackIntegrationChannel(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a channel used in your Datadog-Slack integration.\n     * @param param The request object\n     */\n    updateSlackIntegrationChannel(param, options) {\n        const requestContextPromise = this.requestFactory.updateSlackIntegrationChannel(param.accountName, param.channelName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSlackIntegrationChannel(responseContext);\n            });\n        });\n    }\n}\nexports.SlackIntegrationApi = SlackIntegrationApi;\n//# sourceMappingURL=SlackIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SnapshotsApi = exports.SnapshotsApiResponseProcessor = exports.SnapshotsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SnapshotsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getGraphSnapshot(start, end, metricQuery, eventQuery, graphDef, title, height, width, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'start' is not null or undefined\n            if (start === null || start === undefined) {\n                throw new baseapi_1.RequiredError(\"start\", \"getGraphSnapshot\");\n            }\n            // verify required parameter 'end' is not null or undefined\n            if (end === null || end === undefined) {\n                throw new baseapi_1.RequiredError(\"end\", \"getGraphSnapshot\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/graph/snapshot\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SnapshotsApi.getGraphSnapshot\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (metricQuery !== undefined) {\n                requestContext.setQueryParam(\"metric_query\", ObjectSerializer_1.ObjectSerializer.serialize(metricQuery, \"string\", \"\"));\n            }\n            if (start !== undefined) {\n                requestContext.setQueryParam(\"start\", ObjectSerializer_1.ObjectSerializer.serialize(start, \"number\", \"int64\"));\n            }\n            if (end !== undefined) {\n                requestContext.setQueryParam(\"end\", ObjectSerializer_1.ObjectSerializer.serialize(end, \"number\", \"int64\"));\n            }\n            if (eventQuery !== undefined) {\n                requestContext.setQueryParam(\"event_query\", ObjectSerializer_1.ObjectSerializer.serialize(eventQuery, \"string\", \"\"));\n            }\n            if (graphDef !== undefined) {\n                requestContext.setQueryParam(\"graph_def\", ObjectSerializer_1.ObjectSerializer.serialize(graphDef, \"string\", \"\"));\n            }\n            if (title !== undefined) {\n                requestContext.setQueryParam(\"title\", ObjectSerializer_1.ObjectSerializer.serialize(title, \"string\", \"\"));\n            }\n            if (height !== undefined) {\n                requestContext.setQueryParam(\"height\", ObjectSerializer_1.ObjectSerializer.serialize(height, \"number\", \"int64\"));\n            }\n            if (width !== undefined) {\n                requestContext.setQueryParam(\"width\", ObjectSerializer_1.ObjectSerializer.serialize(width, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SnapshotsApiRequestFactory = SnapshotsApiRequestFactory;\nclass SnapshotsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getGraphSnapshot\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getGraphSnapshot(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GraphSnapshot\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GraphSnapshot\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SnapshotsApiResponseProcessor = SnapshotsApiResponseProcessor;\nclass SnapshotsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SnapshotsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SnapshotsApiResponseProcessor();\n    }\n    /**\n     * Take graph snapshots.\n     * **Note**: When a snapshot is created, there is some delay before it is available.\n     * @param param The request object\n     */\n    getGraphSnapshot(param, options) {\n        const requestContextPromise = this.requestFactory.getGraphSnapshot(param.start, param.end, param.metricQuery, param.eventQuery, param.graphDef, param.title, param.height, param.width, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getGraphSnapshot(responseContext);\n            });\n        });\n    }\n}\nexports.SnapshotsApi = SnapshotsApi;\n//# sourceMappingURL=SnapshotsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsApi = exports.SyntheticsApiResponseProcessor = exports.SyntheticsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SyntheticsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createGlobalVariable(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createGlobalVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/variables\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.createGlobalVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsGlobalVariable\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createPrivateLocation(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createPrivateLocation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/private-locations\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.createPrivateLocation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsPrivateLocation\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createSyntheticsAPITest(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSyntheticsAPITest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/api\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.createSyntheticsAPITest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsAPITest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createSyntheticsBrowserTest(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSyntheticsBrowserTest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/browser\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.createSyntheticsBrowserTest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsBrowserTest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteGlobalVariable(variableId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'variableId' is not null or undefined\n            if (variableId === null || variableId === undefined) {\n                throw new baseapi_1.RequiredError(\"variableId\", \"deleteGlobalVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/variables/{variable_id}\".replace(\"{variable_id}\", encodeURIComponent(String(variableId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.deleteGlobalVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deletePrivateLocation(locationId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'locationId' is not null or undefined\n            if (locationId === null || locationId === undefined) {\n                throw new baseapi_1.RequiredError(\"locationId\", \"deletePrivateLocation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/private-locations/{location_id}\".replace(\"{location_id}\", encodeURIComponent(String(locationId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.deletePrivateLocation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteTests(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteTests\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/delete\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.deleteTests\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsDeleteTestsPayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editGlobalVariable(variableId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'variableId' is not null or undefined\n            if (variableId === null || variableId === undefined) {\n                throw new baseapi_1.RequiredError(\"variableId\", \"editGlobalVariable\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editGlobalVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/variables/{variable_id}\".replace(\"{variable_id}\", encodeURIComponent(String(variableId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.editGlobalVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsGlobalVariable\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAPITest(publicId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getAPITest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/api/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getAPITest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAPITestLatestResults(publicId, fromTs, toTs, probeDc, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getAPITestLatestResults\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/{public_id}/results\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getAPITestLatestResults\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (fromTs !== undefined) {\n                requestContext.setQueryParam(\"from_ts\", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, \"number\", \"int64\"));\n            }\n            if (toTs !== undefined) {\n                requestContext.setQueryParam(\"to_ts\", ObjectSerializer_1.ObjectSerializer.serialize(toTs, \"number\", \"int64\"));\n            }\n            if (probeDc !== undefined) {\n                requestContext.setQueryParam(\"probe_dc\", ObjectSerializer_1.ObjectSerializer.serialize(probeDc, \"Array\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAPITestResult(publicId, resultId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getAPITestResult\");\n            }\n            // verify required parameter 'resultId' is not null or undefined\n            if (resultId === null || resultId === undefined) {\n                throw new baseapi_1.RequiredError(\"resultId\", \"getAPITestResult\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/{public_id}/results/{result_id}\"\n                .replace(\"{public_id}\", encodeURIComponent(String(publicId)))\n                .replace(\"{result_id}\", encodeURIComponent(String(resultId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getAPITestResult\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getBrowserTest(publicId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getBrowserTest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/browser/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getBrowserTest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getBrowserTestLatestResults(publicId, fromTs, toTs, probeDc, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getBrowserTestLatestResults\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/browser/{public_id}/results\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getBrowserTestLatestResults\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (fromTs !== undefined) {\n                requestContext.setQueryParam(\"from_ts\", ObjectSerializer_1.ObjectSerializer.serialize(fromTs, \"number\", \"int64\"));\n            }\n            if (toTs !== undefined) {\n                requestContext.setQueryParam(\"to_ts\", ObjectSerializer_1.ObjectSerializer.serialize(toTs, \"number\", \"int64\"));\n            }\n            if (probeDc !== undefined) {\n                requestContext.setQueryParam(\"probe_dc\", ObjectSerializer_1.ObjectSerializer.serialize(probeDc, \"Array\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getBrowserTestResult(publicId, resultId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getBrowserTestResult\");\n            }\n            // verify required parameter 'resultId' is not null or undefined\n            if (resultId === null || resultId === undefined) {\n                throw new baseapi_1.RequiredError(\"resultId\", \"getBrowserTestResult\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}\"\n                .replace(\"{public_id}\", encodeURIComponent(String(publicId)))\n                .replace(\"{result_id}\", encodeURIComponent(String(resultId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getBrowserTestResult\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getGlobalVariable(variableId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'variableId' is not null or undefined\n            if (variableId === null || variableId === undefined) {\n                throw new baseapi_1.RequiredError(\"variableId\", \"getGlobalVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/variables/{variable_id}\".replace(\"{variable_id}\", encodeURIComponent(String(variableId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getGlobalVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getPrivateLocation(locationId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'locationId' is not null or undefined\n            if (locationId === null || locationId === undefined) {\n                throw new baseapi_1.RequiredError(\"locationId\", \"getPrivateLocation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/private-locations/{location_id}\".replace(\"{location_id}\", encodeURIComponent(String(locationId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getPrivateLocation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSyntheticsCIBatch(batchId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'batchId' is not null or undefined\n            if (batchId === null || batchId === undefined) {\n                throw new baseapi_1.RequiredError(\"batchId\", \"getSyntheticsCIBatch\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/ci/batch/{batch_id}\".replace(\"{batch_id}\", encodeURIComponent(String(batchId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getSyntheticsCIBatch\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSyntheticsDefaultLocations(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/settings/default_locations\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getSyntheticsDefaultLocations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTest(publicId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"getTest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.getTest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listGlobalVariables(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/variables\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.listGlobalVariables\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLocations(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/locations\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.listLocations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listTests(pageSize, pageNumber, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.listTests\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page_size\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page_number\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    triggerCITests(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"triggerCITests\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/trigger/ci\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.triggerCITests\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsCITestBody\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    triggerTests(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"triggerTests\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/trigger\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.triggerTests\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsTriggerBody\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAPITest(publicId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"updateAPITest\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAPITest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/api/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.updateAPITest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsAPITest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateBrowserTest(publicId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"updateBrowserTest\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateBrowserTest\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/browser/{public_id}\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.updateBrowserTest\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsBrowserTest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updatePrivateLocation(locationId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'locationId' is not null or undefined\n            if (locationId === null || locationId === undefined) {\n                throw new baseapi_1.RequiredError(\"locationId\", \"updatePrivateLocation\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updatePrivateLocation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/private-locations/{location_id}\".replace(\"{location_id}\", encodeURIComponent(String(locationId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.updatePrivateLocation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsPrivateLocation\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateTestPauseStatus(publicId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'publicId' is not null or undefined\n            if (publicId === null || publicId === undefined) {\n                throw new baseapi_1.RequiredError(\"publicId\", \"updateTestPauseStatus\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTestPauseStatus\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/synthetics/tests/{public_id}/status\".replace(\"{public_id}\", encodeURIComponent(String(publicId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.SyntheticsApi.updateTestPauseStatus\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SyntheticsUpdateTestPauseStatusPayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SyntheticsApiRequestFactory = SyntheticsApiRequestFactory;\nclass SyntheticsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createGlobalVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createGlobalVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createPrivateLocation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createPrivateLocation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocationCreationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 402 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocationCreationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSyntheticsAPITest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSyntheticsAPITest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 402 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSyntheticsBrowserTest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSyntheticsBrowserTest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 402 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteGlobalVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteGlobalVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deletePrivateLocation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deletePrivateLocation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteTests\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteTests(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsDeleteTestsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsDeleteTestsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editGlobalVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editGlobalVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAPITest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAPITest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAPITestLatestResults\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAPITestLatestResults(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGetAPITestLatestResultsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGetAPITestLatestResultsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAPITestResult\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAPITestResult(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITestResultFull\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITestResultFull\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getBrowserTest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getBrowserTest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getBrowserTestLatestResults\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getBrowserTestLatestResults(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGetBrowserTestLatestResultsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGetBrowserTestLatestResultsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getBrowserTestResult\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getBrowserTestResult(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTestResultFull\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTestResultFull\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getGlobalVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getGlobalVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsGlobalVariable\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getPrivateLocation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getPrivateLocation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocation\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocation\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSyntheticsCIBatch\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSyntheticsCIBatch(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBatchDetails\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBatchDetails\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSyntheticsDefaultLocations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSyntheticsDefaultLocations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"Array\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTestDetails\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTestDetails\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listGlobalVariables\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listGlobalVariables(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsListGlobalVariablesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsListGlobalVariablesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLocations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLocations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsLocations\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsLocations\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listTests\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listTests(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsListTestsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsListTestsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to triggerCITests\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    triggerCITests(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTriggerCITestsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTriggerCITestsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to triggerTests\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    triggerTests(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTriggerCITestsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsTriggerCITestsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAPITest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAPITest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsAPITest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateBrowserTest\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateBrowserTest(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsBrowserTest\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updatePrivateLocation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updatePrivateLocation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocation\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SyntheticsPrivateLocation\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTestPauseStatus\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTestPauseStatus(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"boolean\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"boolean\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SyntheticsApiResponseProcessor = SyntheticsApiResponseProcessor;\nclass SyntheticsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SyntheticsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SyntheticsApiResponseProcessor();\n    }\n    /**\n     * Create a Synthetic global variable.\n     * @param param The request object\n     */\n    createGlobalVariable(param, options) {\n        const requestContextPromise = this.requestFactory.createGlobalVariable(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createGlobalVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a new Synthetic private location.\n     * @param param The request object\n     */\n    createPrivateLocation(param, options) {\n        const requestContextPromise = this.requestFactory.createPrivateLocation(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createPrivateLocation(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a Synthetic API test.\n     * @param param The request object\n     */\n    createSyntheticsAPITest(param, options) {\n        const requestContextPromise = this.requestFactory.createSyntheticsAPITest(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSyntheticsAPITest(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a Synthetic browser test.\n     * @param param The request object\n     */\n    createSyntheticsBrowserTest(param, options) {\n        const requestContextPromise = this.requestFactory.createSyntheticsBrowserTest(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSyntheticsBrowserTest(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Synthetic global variable.\n     * @param param The request object\n     */\n    deleteGlobalVariable(param, options) {\n        const requestContextPromise = this.requestFactory.deleteGlobalVariable(param.variableId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteGlobalVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Synthetic private location.\n     * @param param The request object\n     */\n    deletePrivateLocation(param, options) {\n        const requestContextPromise = this.requestFactory.deletePrivateLocation(param.locationId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deletePrivateLocation(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete multiple Synthetic tests by ID.\n     * @param param The request object\n     */\n    deleteTests(param, options) {\n        const requestContextPromise = this.requestFactory.deleteTests(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteTests(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit a Synthetic global variable.\n     * @param param The request object\n     */\n    editGlobalVariable(param, options) {\n        const requestContextPromise = this.requestFactory.editGlobalVariable(param.variableId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editGlobalVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the detailed configuration associated with\n     * a Synthetic API test.\n     * @param param The request object\n     */\n    getAPITest(param, options) {\n        const requestContextPromise = this.requestFactory.getAPITest(param.publicId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAPITest(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the last 150 test results summaries for a given Synthetic API test.\n     * @param param The request object\n     */\n    getAPITestLatestResults(param, options) {\n        const requestContextPromise = this.requestFactory.getAPITestLatestResults(param.publicId, param.fromTs, param.toTs, param.probeDc, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAPITestLatestResults(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific full result from a given Synthetic API test.\n     * @param param The request object\n     */\n    getAPITestResult(param, options) {\n        const requestContextPromise = this.requestFactory.getAPITestResult(param.publicId, param.resultId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAPITestResult(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the detailed configuration (including steps) associated with\n     * a Synthetic browser test.\n     * @param param The request object\n     */\n    getBrowserTest(param, options) {\n        const requestContextPromise = this.requestFactory.getBrowserTest(param.publicId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getBrowserTest(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the last 150 test results summaries for a given Synthetic browser test.\n     * @param param The request object\n     */\n    getBrowserTestLatestResults(param, options) {\n        const requestContextPromise = this.requestFactory.getBrowserTestLatestResults(param.publicId, param.fromTs, param.toTs, param.probeDc, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getBrowserTestLatestResults(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific full result from a given Synthetic browser test.\n     * @param param The request object\n     */\n    getBrowserTestResult(param, options) {\n        const requestContextPromise = this.requestFactory.getBrowserTestResult(param.publicId, param.resultId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getBrowserTestResult(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the detailed configuration of a global variable.\n     * @param param The request object\n     */\n    getGlobalVariable(param, options) {\n        const requestContextPromise = this.requestFactory.getGlobalVariable(param.variableId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getGlobalVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Synthetic private location.\n     * @param param The request object\n     */\n    getPrivateLocation(param, options) {\n        const requestContextPromise = this.requestFactory.getPrivateLocation(param.locationId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getPrivateLocation(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a batch's updated details.\n     * @param param The request object\n     */\n    getSyntheticsCIBatch(param, options) {\n        const requestContextPromise = this.requestFactory.getSyntheticsCIBatch(param.batchId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSyntheticsCIBatch(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the default locations settings.\n     * @param param The request object\n     */\n    getSyntheticsDefaultLocations(options) {\n        const requestContextPromise = this.requestFactory.getSyntheticsDefaultLocations(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSyntheticsDefaultLocations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the detailed configuration associated with a Synthetic test.\n     * @param param The request object\n     */\n    getTest(param, options) {\n        const requestContextPromise = this.requestFactory.getTest(param.publicId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTest(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of all Synthetic global variables.\n     * @param param The request object\n     */\n    listGlobalVariables(options) {\n        const requestContextPromise = this.requestFactory.listGlobalVariables(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listGlobalVariables(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of public and private locations available for Synthetic\n     * tests. No arguments required.\n     * @param param The request object\n     */\n    listLocations(options) {\n        const requestContextPromise = this.requestFactory.listLocations(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLocations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of all Synthetic tests.\n     * @param param The request object\n     */\n    listTests(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listTests(param.pageSize, param.pageNumber, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listTests(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listTests returning a generator with all the items.\n     */\n    listTestsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listTestsWithPagination_1() {\n            let pageSize = 100;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            param.pageNumber = 0;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listTests(param.pageSize, param.pageNumber, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listTests(responseContext));\n                const responseTests = response.tests;\n                if (responseTests === undefined) {\n                    break;\n                }\n                const results = responseTests;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                param.pageNumber = param.pageNumber + 1;\n            }\n        });\n    }\n    /**\n     * Trigger a set of Synthetic tests for continuous integration.\n     * @param param The request object\n     */\n    triggerCITests(param, options) {\n        const requestContextPromise = this.requestFactory.triggerCITests(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.triggerCITests(responseContext);\n            });\n        });\n    }\n    /**\n     * Trigger a set of Synthetic tests.\n     * @param param The request object\n     */\n    triggerTests(param, options) {\n        const requestContextPromise = this.requestFactory.triggerTests(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.triggerTests(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit the configuration of a Synthetic API test.\n     * @param param The request object\n     */\n    updateAPITest(param, options) {\n        const requestContextPromise = this.requestFactory.updateAPITest(param.publicId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAPITest(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit the configuration of a Synthetic browser test.\n     * @param param The request object\n     */\n    updateBrowserTest(param, options) {\n        const requestContextPromise = this.requestFactory.updateBrowserTest(param.publicId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateBrowserTest(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit a Synthetic private location.\n     * @param param The request object\n     */\n    updatePrivateLocation(param, options) {\n        const requestContextPromise = this.requestFactory.updatePrivateLocation(param.locationId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updatePrivateLocation(responseContext);\n            });\n        });\n    }\n    /**\n     * Pause or start a Synthetic test by changing the status.\n     * @param param The request object\n     */\n    updateTestPauseStatus(param, options) {\n        const requestContextPromise = this.requestFactory.updateTestPauseStatus(param.publicId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTestPauseStatus(responseContext);\n            });\n        });\n    }\n}\nexports.SyntheticsApi = SyntheticsApi;\n//# sourceMappingURL=SyntheticsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TagsApi = exports.TagsApiResponseProcessor = exports.TagsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass TagsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createHostTags(hostName, body, source, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"createHostTags\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createHostTags\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/tags/hosts/{host_name}\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.TagsApi.createHostTags\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (source !== undefined) {\n                requestContext.setQueryParam(\"source\", ObjectSerializer_1.ObjectSerializer.serialize(source, \"string\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"HostTags\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteHostTags(hostName, source, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"deleteHostTags\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/tags/hosts/{host_name}\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.TagsApi.deleteHostTags\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (source !== undefined) {\n                requestContext.setQueryParam(\"source\", ObjectSerializer_1.ObjectSerializer.serialize(source, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getHostTags(hostName, source, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"getHostTags\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/tags/hosts/{host_name}\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.TagsApi.getHostTags\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (source !== undefined) {\n                requestContext.setQueryParam(\"source\", ObjectSerializer_1.ObjectSerializer.serialize(source, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listHostTags(source, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/tags/hosts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.TagsApi.listHostTags\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (source !== undefined) {\n                requestContext.setQueryParam(\"source\", ObjectSerializer_1.ObjectSerializer.serialize(source, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateHostTags(hostName, body, source, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'hostName' is not null or undefined\n            if (hostName === null || hostName === undefined) {\n                throw new baseapi_1.RequiredError(\"hostName\", \"updateHostTags\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateHostTags\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/tags/hosts/{host_name}\".replace(\"{host_name}\", encodeURIComponent(String(hostName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.TagsApi.updateHostTags\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (source !== undefined) {\n                requestContext.setQueryParam(\"source\", ObjectSerializer_1.ObjectSerializer.serialize(source, \"string\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"HostTags\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.TagsApiRequestFactory = TagsApiRequestFactory;\nclass TagsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createHostTags\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createHostTags(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteHostTags\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteHostTags(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getHostTags\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getHostTags(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listHostTags\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listHostTags(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TagToHosts\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TagToHosts\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateHostTags\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateHostTags(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HostTags\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.TagsApiResponseProcessor = TagsApiResponseProcessor;\nclass TagsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new TagsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new TagsApiResponseProcessor();\n    }\n    /**\n     * This endpoint allows you to add new tags to a host,\n     * optionally specifying where these tags come from.\n     * @param param The request object\n     */\n    createHostTags(param, options) {\n        const requestContextPromise = this.requestFactory.createHostTags(param.hostName, param.body, param.source, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createHostTags(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint allows you to remove all user-assigned tags\n     * for a single host.\n     * @param param The request object\n     */\n    deleteHostTags(param, options) {\n        const requestContextPromise = this.requestFactory.deleteHostTags(param.hostName, param.source, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteHostTags(responseContext);\n            });\n        });\n    }\n    /**\n     * Return the list of tags that apply to a given host.\n     * @param param The request object\n     */\n    getHostTags(param, options) {\n        const requestContextPromise = this.requestFactory.getHostTags(param.hostName, param.source, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getHostTags(responseContext);\n            });\n        });\n    }\n    /**\n     * Return a mapping of tags to hosts for your whole infrastructure.\n     * @param param The request object\n     */\n    listHostTags(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listHostTags(param.source, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listHostTags(responseContext);\n            });\n        });\n    }\n    /**\n     * This endpoint allows you to update/replace all tags in\n     * an integration source with those supplied in the request.\n     * @param param The request object\n     */\n    updateHostTags(param, options) {\n        const requestContextPromise = this.requestFactory.updateHostTags(param.hostName, param.body, param.source, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateHostTags(responseContext);\n            });\n        });\n    }\n}\nexports.TagsApi = TagsApi;\n//# sourceMappingURL=TagsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageMeteringApi = exports.UsageMeteringApiResponseProcessor = exports.UsageMeteringApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass UsageMeteringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getDailyCustomReports(pageSize, pageNumber, sortDir, sort, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/daily_custom_reports\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getDailyCustomReports\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sortDir !== undefined) {\n                requestContext.setQueryParam(\"sort_dir\", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, \"UsageSortDirection\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"UsageSort\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getHourlyUsageAttribution(startHr, usageType, endHr, nextRecordId, tagBreakdownKeys, includeDescendants, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getHourlyUsageAttribution\");\n            }\n            // verify required parameter 'usageType' is not null or undefined\n            if (usageType === null || usageType === undefined) {\n                throw new baseapi_1.RequiredError(\"usageType\", \"getHourlyUsageAttribution\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/hourly-attribution\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getHourlyUsageAttribution\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            if (usageType !== undefined) {\n                requestContext.setQueryParam(\"usage_type\", ObjectSerializer_1.ObjectSerializer.serialize(usageType, \"HourlyUsageAttributionUsageType\", \"\"));\n            }\n            if (nextRecordId !== undefined) {\n                requestContext.setQueryParam(\"next_record_id\", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, \"string\", \"\"));\n            }\n            if (tagBreakdownKeys !== undefined) {\n                requestContext.setQueryParam(\"tag_breakdown_keys\", ObjectSerializer_1.ObjectSerializer.serialize(tagBreakdownKeys, \"string\", \"\"));\n            }\n            if (includeDescendants !== undefined) {\n                requestContext.setQueryParam(\"include_descendants\", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncidentManagement(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getIncidentManagement\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/incident-management\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getIncidentManagement\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIngestedSpans(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getIngestedSpans\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/ingested-spans\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getIngestedSpans\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getMonthlyCustomReports(pageSize, pageNumber, sortDir, sort, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/monthly_custom_reports\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getMonthlyCustomReports\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sortDir !== undefined) {\n                requestContext.setQueryParam(\"sort_dir\", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, \"UsageSortDirection\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"UsageSort\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getMonthlyUsageAttribution(startMonth, fields, endMonth, sortDirection, sortName, tagBreakdownKeys, nextRecordId, includeDescendants, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startMonth' is not null or undefined\n            if (startMonth === null || startMonth === undefined) {\n                throw new baseapi_1.RequiredError(\"startMonth\", \"getMonthlyUsageAttribution\");\n            }\n            // verify required parameter 'fields' is not null or undefined\n            if (fields === null || fields === undefined) {\n                throw new baseapi_1.RequiredError(\"fields\", \"getMonthlyUsageAttribution\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/monthly-attribution\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getMonthlyUsageAttribution\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            if (fields !== undefined) {\n                requestContext.setQueryParam(\"fields\", ObjectSerializer_1.ObjectSerializer.serialize(fields, \"MonthlyUsageAttributionSupportedMetrics\", \"\"));\n            }\n            if (sortDirection !== undefined) {\n                requestContext.setQueryParam(\"sort_direction\", ObjectSerializer_1.ObjectSerializer.serialize(sortDirection, \"UsageSortDirection\", \"\"));\n            }\n            if (sortName !== undefined) {\n                requestContext.setQueryParam(\"sort_name\", ObjectSerializer_1.ObjectSerializer.serialize(sortName, \"MonthlyUsageAttributionSupportedMetrics\", \"\"));\n            }\n            if (tagBreakdownKeys !== undefined) {\n                requestContext.setQueryParam(\"tag_breakdown_keys\", ObjectSerializer_1.ObjectSerializer.serialize(tagBreakdownKeys, \"string\", \"\"));\n            }\n            if (nextRecordId !== undefined) {\n                requestContext.setQueryParam(\"next_record_id\", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, \"string\", \"\"));\n            }\n            if (includeDescendants !== undefined) {\n                requestContext.setQueryParam(\"include_descendants\", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSpecifiedDailyCustomReports(reportId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'reportId' is not null or undefined\n            if (reportId === null || reportId === undefined) {\n                throw new baseapi_1.RequiredError(\"reportId\", \"getSpecifiedDailyCustomReports\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/daily_custom_reports/{report_id}\".replace(\"{report_id}\", encodeURIComponent(String(reportId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getSpecifiedDailyCustomReports\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSpecifiedMonthlyCustomReports(reportId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'reportId' is not null or undefined\n            if (reportId === null || reportId === undefined) {\n                throw new baseapi_1.RequiredError(\"reportId\", \"getSpecifiedMonthlyCustomReports\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/monthly_custom_reports/{report_id}\".replace(\"{report_id}\", encodeURIComponent(String(reportId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getSpecifiedMonthlyCustomReports\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageAnalyzedLogs(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageAnalyzedLogs\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/analyzed_logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageAnalyzedLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageAttribution(startMonth, fields, endMonth, sortDirection, sortName, includeDescendants, offset, limit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startMonth' is not null or undefined\n            if (startMonth === null || startMonth === undefined) {\n                throw new baseapi_1.RequiredError(\"startMonth\", \"getUsageAttribution\");\n            }\n            // verify required parameter 'fields' is not null or undefined\n            if (fields === null || fields === undefined) {\n                throw new baseapi_1.RequiredError(\"fields\", \"getUsageAttribution\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/attribution\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageAttribution\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (fields !== undefined) {\n                requestContext.setQueryParam(\"fields\", ObjectSerializer_1.ObjectSerializer.serialize(fields, \"UsageAttributionSupportedMetrics\", \"\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            if (sortDirection !== undefined) {\n                requestContext.setQueryParam(\"sort_direction\", ObjectSerializer_1.ObjectSerializer.serialize(sortDirection, \"UsageSortDirection\", \"\"));\n            }\n            if (sortName !== undefined) {\n                requestContext.setQueryParam(\"sort_name\", ObjectSerializer_1.ObjectSerializer.serialize(sortName, \"UsageAttributionSort\", \"\"));\n            }\n            if (includeDescendants !== undefined) {\n                requestContext.setQueryParam(\"include_descendants\", ObjectSerializer_1.ObjectSerializer.serialize(includeDescendants, \"boolean\", \"\"));\n            }\n            if (offset !== undefined) {\n                requestContext.setQueryParam(\"offset\", ObjectSerializer_1.ObjectSerializer.serialize(offset, \"number\", \"int64\"));\n            }\n            if (limit !== undefined) {\n                requestContext.setQueryParam(\"limit\", ObjectSerializer_1.ObjectSerializer.serialize(limit, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageAuditLogs(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageAuditLogs\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/audit_logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageAuditLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageBillableSummary(month, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/usage/billable-summary\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageBillableSummary\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (month !== undefined) {\n                requestContext.setQueryParam(\"month\", ObjectSerializer_1.ObjectSerializer.serialize(month, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageCIApp(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageCIApp\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/ci-app\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageCIApp\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageCloudSecurityPostureManagement(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageCloudSecurityPostureManagement\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/cspm\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageCloudSecurityPostureManagement\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageCWS(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageCWS\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/cws\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageCWS\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageDBM(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageDBM\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/dbm\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageDBM\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageFargate(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageFargate\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/fargate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageFargate\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageHosts(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageHosts\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/hosts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageHosts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageIndexedSpans(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageIndexedSpans\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/indexed-spans\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageIndexedSpans\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageInternetOfThings(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageInternetOfThings\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/iot\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageInternetOfThings\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageLambda(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageLambda\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/aws_lambda\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageLambda\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageLogs(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageLogs\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageLogsByIndex(startHr, endHr, indexName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageLogsByIndex\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/logs_by_index\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageLogsByIndex\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            if (indexName !== undefined) {\n                requestContext.setQueryParam(\"index_name\", ObjectSerializer_1.ObjectSerializer.serialize(indexName, \"Array\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageLogsByRetention(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageLogsByRetention\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/logs-by-retention\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageLogsByRetention\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageNetworkFlows(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageNetworkFlows\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/network_flows\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageNetworkFlows\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageNetworkHosts(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageNetworkHosts\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/network_hosts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageNetworkHosts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageOnlineArchive(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageOnlineArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/online-archive\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageOnlineArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageProfiling(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageProfiling\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/profiling\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageProfiling\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageRumSessions(startHr, endHr, type, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageRumSessions\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/rum_sessions\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageRumSessions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            if (type !== undefined) {\n                requestContext.setQueryParam(\"type\", ObjectSerializer_1.ObjectSerializer.serialize(type, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageRumUnits(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageRumUnits\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/rum\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageRumUnits\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSDS(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageSDS\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/sds\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSDS\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSNMP(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageSNMP\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/snmp\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSNMP\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSummary(startMonth, endMonth, includeOrgDetails, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startMonth' is not null or undefined\n            if (startMonth === null || startMonth === undefined) {\n                throw new baseapi_1.RequiredError(\"startMonth\", \"getUsageSummary\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/summary\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSummary\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            if (includeOrgDetails !== undefined) {\n                requestContext.setQueryParam(\"include_org_details\", ObjectSerializer_1.ObjectSerializer.serialize(includeOrgDetails, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSynthetics(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageSynthetics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/synthetics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSynthetics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSyntheticsAPI(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageSyntheticsAPI\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/synthetics_api\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSyntheticsAPI\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageSyntheticsBrowser(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageSyntheticsBrowser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/synthetics_browser\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageSyntheticsBrowser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageTimeseries(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageTimeseries\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/usage/timeseries\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageTimeseries\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageTopAvgMetrics(month, day, names, limit, nextRecordId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/usage/top_avg_metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsageMeteringApi.getUsageTopAvgMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (month !== undefined) {\n                requestContext.setQueryParam(\"month\", ObjectSerializer_1.ObjectSerializer.serialize(month, \"Date\", \"date-time\"));\n            }\n            if (day !== undefined) {\n                requestContext.setQueryParam(\"day\", ObjectSerializer_1.ObjectSerializer.serialize(day, \"Date\", \"date-time\"));\n            }\n            if (names !== undefined) {\n                requestContext.setQueryParam(\"names\", ObjectSerializer_1.ObjectSerializer.serialize(names, \"Array\", \"\"));\n            }\n            if (limit !== undefined) {\n                requestContext.setQueryParam(\"limit\", ObjectSerializer_1.ObjectSerializer.serialize(limit, \"number\", \"int32\"));\n            }\n            if (nextRecordId !== undefined) {\n                requestContext.setQueryParam(\"next_record_id\", ObjectSerializer_1.ObjectSerializer.serialize(nextRecordId, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.UsageMeteringApiRequestFactory = UsageMeteringApiRequestFactory;\nclass UsageMeteringApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDailyCustomReports\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDailyCustomReports(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCustomReportsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCustomReportsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getHourlyUsageAttribution\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getHourlyUsageAttribution(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HourlyUsageAttributionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HourlyUsageAttributionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncidentManagement\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncidentManagement(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIncidentManagementResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIncidentManagementResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIngestedSpans\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIngestedSpans(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIngestedSpansResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIngestedSpansResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getMonthlyCustomReports\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getMonthlyCustomReports(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCustomReportsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCustomReportsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getMonthlyUsageAttribution\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getMonthlyUsageAttribution(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonthlyUsageAttributionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonthlyUsageAttributionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSpecifiedDailyCustomReports\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSpecifiedDailyCustomReports(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSpecifiedCustomReportsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSpecifiedCustomReportsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSpecifiedMonthlyCustomReports\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSpecifiedMonthlyCustomReports(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSpecifiedCustomReportsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSpecifiedCustomReportsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageAnalyzedLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageAnalyzedLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAnalyzedLogsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAnalyzedLogsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageAttribution\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageAttribution(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAttributionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAttributionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageAuditLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageAuditLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAuditLogsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageAuditLogsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageBillableSummary\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageBillableSummary(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageBillableSummaryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageBillableSummaryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageCIApp\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageCIApp(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCIVisibilityResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCIVisibilityResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageCloudSecurityPostureManagement\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageCloudSecurityPostureManagement(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCloudSecurityPostureManagementResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCloudSecurityPostureManagementResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageCWS\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageCWS(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCWSResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageCWSResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageDBM\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageDBM(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageDBMResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageDBMResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageFargate\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageFargate(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageFargateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageFargateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageHosts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageHosts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageHostsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageHostsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageIndexedSpans\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageIndexedSpans(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIndexedSpansResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIndexedSpansResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageInternetOfThings\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageInternetOfThings(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIoTResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageIoTResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageLambda\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageLambda(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLambdaResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLambdaResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageLogsByIndex\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageLogsByIndex(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsByIndexResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsByIndexResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageLogsByRetention\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageLogsByRetention(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsByRetentionResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLogsByRetentionResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageNetworkFlows\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageNetworkFlows(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageNetworkFlowsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageNetworkFlowsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageNetworkHosts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageNetworkHosts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageNetworkHostsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageNetworkHostsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageOnlineArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageOnlineArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageOnlineArchiveResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageOnlineArchiveResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageProfiling\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageProfiling(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageProfilingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageProfilingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageRumSessions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageRumSessions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageRumSessionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageRumSessionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageRumUnits\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageRumUnits(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageRumUnitsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageRumUnitsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSDS\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSDS(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSDSResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSDSResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSNMP\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSNMP(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSNMPResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSNMPResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSummary\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSummary(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSummaryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSummaryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSynthetics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSynthetics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSyntheticsAPI\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSyntheticsAPI(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsAPIResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsAPIResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageSyntheticsBrowser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageSyntheticsBrowser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsBrowserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageSyntheticsBrowserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageTimeseries\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageTimeseries(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageTimeseriesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageTimeseriesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageTopAvgMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageTopAvgMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageTopAvgMetricsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageTopAvgMetricsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.UsageMeteringApiResponseProcessor = UsageMeteringApiResponseProcessor;\nclass UsageMeteringApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new UsageMeteringApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new UsageMeteringApiResponseProcessor();\n    }\n    /**\n     * Get daily custom reports.\n     * **Note:** This endpoint will be fully deprecated on December 1, 2022.\n     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getDailyCustomReports(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getDailyCustomReports(param.pageSize, param.pageNumber, param.sortDir, param.sort, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDailyCustomReports(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage attribution. Multi-region data is available starting March 1, 2023.\n     *\n     * This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is\n     * set in the response. If it is, make another request and pass `next_record_id` as a parameter.\n     * Pseudo code example:\n     *\n     * ```\n     * response := GetHourlyUsageAttribution(start_month)\n     * cursor := response.metadata.pagination.next_record_id\n     * WHILE cursor != null BEGIN\n     *   sleep(5 seconds)  # Avoid running into rate limit\n     *   response := GetHourlyUsageAttribution(start_month, next_record_id=cursor)\n     *   cursor := response.metadata.pagination.next_record_id\n     * END\n     * ```\n     * @param param The request object\n     */\n    getHourlyUsageAttribution(param, options) {\n        const requestContextPromise = this.requestFactory.getHourlyUsageAttribution(param.startHr, param.usageType, param.endHr, param.nextRecordId, param.tagBreakdownKeys, param.includeDescendants, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getHourlyUsageAttribution(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for incident management.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getIncidentManagement(param, options) {\n        const requestContextPromise = this.requestFactory.getIncidentManagement(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncidentManagement(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for ingested spans.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getIngestedSpans(param, options) {\n        const requestContextPromise = this.requestFactory.getIngestedSpans(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIngestedSpans(responseContext);\n            });\n        });\n    }\n    /**\n     * Get monthly custom reports.\n     * **Note:** This endpoint will be fully deprecated on December 1, 2022.\n     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getMonthlyCustomReports(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getMonthlyCustomReports(param.pageSize, param.pageNumber, param.sortDir, param.sort, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getMonthlyCustomReports(responseContext);\n            });\n        });\n    }\n    /**\n     * Get monthly usage attribution. Multi-region data is available starting March 1, 2023.\n     *\n     * This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is\n     * set in the response. If it is, make another request and pass `next_record_id` as a parameter.\n     * Pseudo code example:\n     *\n     * ```\n     * response := GetMonthlyUsageAttribution(start_month)\n     * cursor := response.metadata.pagination.next_record_id\n     * WHILE cursor != null BEGIN\n     *   sleep(5 seconds)  # Avoid running into rate limit\n     *   response := GetMonthlyUsageAttribution(start_month, next_record_id=cursor)\n     *   cursor := response.metadata.pagination.next_record_id\n     * END\n     * ```\n     * @param param The request object\n     */\n    getMonthlyUsageAttribution(param, options) {\n        const requestContextPromise = this.requestFactory.getMonthlyUsageAttribution(param.startMonth, param.fields, param.endMonth, param.sortDirection, param.sortName, param.tagBreakdownKeys, param.nextRecordId, param.includeDescendants, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getMonthlyUsageAttribution(responseContext);\n            });\n        });\n    }\n    /**\n     * Get specified daily custom reports.\n     * **Note:** This endpoint will be fully deprecated on December 1, 2022.\n     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getSpecifiedDailyCustomReports(param, options) {\n        const requestContextPromise = this.requestFactory.getSpecifiedDailyCustomReports(param.reportId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSpecifiedDailyCustomReports(responseContext);\n            });\n        });\n    }\n    /**\n     * Get specified monthly custom reports.\n     * **Note:** This endpoint will be fully deprecated on December 1, 2022.\n     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getSpecifiedMonthlyCustomReports(param, options) {\n        const requestContextPromise = this.requestFactory.getSpecifiedMonthlyCustomReports(param.reportId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSpecifiedMonthlyCustomReports(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for analyzed logs (Security Monitoring).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageAnalyzedLogs(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageAnalyzedLogs(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageAnalyzedLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Get usage attribution.\n     * **Note:** This endpoint will be fully deprecated on December 1, 2022.\n     * Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageAttribution(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageAttribution(param.startMonth, param.fields, param.endMonth, param.sortDirection, param.sortName, param.includeDescendants, param.offset, param.limit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageAttribution(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for audit logs.\n     * **Note:** This endpoint has been deprecated.\n     * @param param The request object\n     */\n    getUsageAuditLogs(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageAuditLogs(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageAuditLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Get billable usage across your account.\n     * @param param The request object\n     */\n    getUsageBillableSummary(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getUsageBillableSummary(param.month, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageBillableSummary(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for CI visibility (tests, pipeline, and spans).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageCIApp(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageCIApp(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageCIApp(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for cloud security posture management (CSPM).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageCloudSecurityPostureManagement(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageCloudSecurityPostureManagement(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageCloudSecurityPostureManagement(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for cloud workload security.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageCWS(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageCWS(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageCWS(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for database monitoring\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageDBM(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageDBM(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageDBM(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [Fargate](https://docs.datadoghq.com/integrations/ecs_fargate/).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageFargate(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageFargate(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageFargate(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for hosts and containers.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageHosts(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageHosts(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageHosts(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for indexed spans.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageIndexedSpans(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageIndexedSpans(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageIndexedSpans(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for IoT.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageInternetOfThings(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageInternetOfThings(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageInternetOfThings(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for lambda.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageLambda(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageLambda(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageLambda(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for logs.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageLogs(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageLogs(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for logs by index.\n     * @param param The request object\n     */\n    getUsageLogsByIndex(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageLogsByIndex(param.startHr, param.endHr, param.indexName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageLogsByIndex(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for indexed logs by retention period.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageLogsByRetention(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageLogsByRetention(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageLogsByRetention(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for network flows.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageNetworkFlows(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageNetworkFlows(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageNetworkFlows(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for network hosts.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageNetworkHosts(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageNetworkHosts(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageNetworkHosts(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for online archive.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageOnlineArchive(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageOnlineArchive(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageOnlineArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for profiled hosts.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageProfiling(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageProfiling(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageProfiling(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Sessions.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageRumSessions(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageRumSessions(param.startHr, param.endHr, param.type, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageRumSessions(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Units.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageRumUnits(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageRumUnits(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageRumUnits(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for sensitive data scanner.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageSDS(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSDS(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSDS(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for SNMP devices.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageSNMP(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSNMP(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSNMP(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all usage across your account.\n     * @param param The request object\n     */\n    getUsageSummary(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSummary(param.startMonth, param.endMonth, param.includeOrgDetails, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSummary(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [synthetics checks](https://docs.datadoghq.com/synthetics/).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageSynthetics(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSynthetics(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSynthetics(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [synthetics API checks](https://docs.datadoghq.com/synthetics/).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageSyntheticsAPI(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSyntheticsAPI(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSyntheticsAPI(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for synthetics browser checks.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageSyntheticsBrowser(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageSyntheticsBrowser(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageSyntheticsBrowser(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/).\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide.\n     * @param param The request object\n     */\n    getUsageTimeseries(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageTimeseries(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageTimeseries(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/) by hourly average. Use the month parameter to get a month-to-date data resolution or use the day parameter to get a daily resolution. One of the two is required, and only one of the two is allowed.\n     * @param param The request object\n     */\n    getUsageTopAvgMetrics(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getUsageTopAvgMetrics(param.month, param.day, param.names, param.limit, param.nextRecordId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageTopAvgMetrics(responseContext);\n            });\n        });\n    }\n}\nexports.UsageMeteringApi = UsageMeteringApi;\n//# sourceMappingURL=UsageMeteringApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsersApi = exports.UsersApiResponseProcessor = exports.UsersApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass UsersApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createUser(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/user\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsersApi.createUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"User\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    disableUser(userHandle, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userHandle' is not null or undefined\n            if (userHandle === null || userHandle === undefined) {\n                throw new baseapi_1.RequiredError(\"userHandle\", \"disableUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/user/{user_handle}\".replace(\"{user_handle}\", encodeURIComponent(String(userHandle)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsersApi.disableUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUser(userHandle, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userHandle' is not null or undefined\n            if (userHandle === null || userHandle === undefined) {\n                throw new baseapi_1.RequiredError(\"userHandle\", \"getUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/user/{user_handle}\".replace(\"{user_handle}\", encodeURIComponent(String(userHandle)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsersApi.getUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listUsers(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v1/user\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsersApi.listUsers\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateUser(userHandle, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userHandle' is not null or undefined\n            if (userHandle === null || userHandle === undefined) {\n                throw new baseapi_1.RequiredError(\"userHandle\", \"updateUser\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/user/{user_handle}\".replace(\"{user_handle}\", encodeURIComponent(String(userHandle)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.UsersApi.updateUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"User\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.UsersApiRequestFactory = UsersApiRequestFactory;\nclass UsersApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to disableUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    disableUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserDisableResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserDisableResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listUsers\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listUsers(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.UsersApiResponseProcessor = UsersApiResponseProcessor;\nclass UsersApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new UsersApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new UsersApiResponseProcessor();\n    }\n    /**\n     * Create a user for your organization.\n     *\n     * **Note**: Users can only be created with the admin access role\n     * if application keys belong to administrators.\n     * @param param The request object\n     */\n    createUser(param, options) {\n        const requestContextPromise = this.requestFactory.createUser(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createUser(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a user from an organization.\n     *\n     * **Note**: This endpoint can only be used with application keys belonging to\n     * administrators.\n     * @param param The request object\n     */\n    disableUser(param, options) {\n        const requestContextPromise = this.requestFactory.disableUser(param.userHandle, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.disableUser(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a user's details.\n     * @param param The request object\n     */\n    getUser(param, options) {\n        const requestContextPromise = this.requestFactory.getUser(param.userHandle, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUser(responseContext);\n            });\n        });\n    }\n    /**\n     * List all users for your organization.\n     * @param param The request object\n     */\n    listUsers(options) {\n        const requestContextPromise = this.requestFactory.listUsers(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listUsers(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a user information.\n     *\n     * **Note**: It can only be used with application keys belonging to administrators.\n     * @param param The request object\n     */\n    updateUser(param, options) {\n        const requestContextPromise = this.requestFactory.updateUser(param.userHandle, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateUser(responseContext);\n            });\n        });\n    }\n}\nexports.UsersApi = UsersApi;\n//# sourceMappingURL=UsersApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegrationApi = exports.WebhooksIntegrationApiResponseProcessor = exports.WebhooksIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass WebhooksIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createWebhooksIntegration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createWebhooksIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/webhooks\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.createWebhooksIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"WebhooksIntegration\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createWebhooksIntegrationCustomVariable(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createWebhooksIntegrationCustomVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/custom-variables\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.createWebhooksIntegrationCustomVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"WebhooksIntegrationCustomVariable\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteWebhooksIntegration(webhookName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'webhookName' is not null or undefined\n            if (webhookName === null || webhookName === undefined) {\n                throw new baseapi_1.RequiredError(\"webhookName\", \"deleteWebhooksIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}\".replace(\"{webhook_name}\", encodeURIComponent(String(webhookName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.deleteWebhooksIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteWebhooksIntegrationCustomVariable(customVariableName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'customVariableName' is not null or undefined\n            if (customVariableName === null || customVariableName === undefined) {\n                throw new baseapi_1.RequiredError(\"customVariableName\", \"deleteWebhooksIntegrationCustomVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}\".replace(\"{custom_variable_name}\", encodeURIComponent(String(customVariableName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.deleteWebhooksIntegrationCustomVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getWebhooksIntegration(webhookName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'webhookName' is not null or undefined\n            if (webhookName === null || webhookName === undefined) {\n                throw new baseapi_1.RequiredError(\"webhookName\", \"getWebhooksIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}\".replace(\"{webhook_name}\", encodeURIComponent(String(webhookName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.getWebhooksIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getWebhooksIntegrationCustomVariable(customVariableName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'customVariableName' is not null or undefined\n            if (customVariableName === null || customVariableName === undefined) {\n                throw new baseapi_1.RequiredError(\"customVariableName\", \"getWebhooksIntegrationCustomVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}\".replace(\"{custom_variable_name}\", encodeURIComponent(String(customVariableName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.getWebhooksIntegrationCustomVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateWebhooksIntegration(webhookName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'webhookName' is not null or undefined\n            if (webhookName === null || webhookName === undefined) {\n                throw new baseapi_1.RequiredError(\"webhookName\", \"updateWebhooksIntegration\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateWebhooksIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/webhooks/{webhook_name}\".replace(\"{webhook_name}\", encodeURIComponent(String(webhookName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.updateWebhooksIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"WebhooksIntegrationUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateWebhooksIntegrationCustomVariable(customVariableName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'customVariableName' is not null or undefined\n            if (customVariableName === null || customVariableName === undefined) {\n                throw new baseapi_1.RequiredError(\"customVariableName\", \"updateWebhooksIntegrationCustomVariable\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateWebhooksIntegrationCustomVariable\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}\".replace(\"{custom_variable_name}\", encodeURIComponent(String(customVariableName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v1.WebhooksIntegrationApi.updateWebhooksIntegrationCustomVariable\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"WebhooksIntegrationCustomVariableUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.WebhooksIntegrationApiRequestFactory = WebhooksIntegrationApiRequestFactory;\nclass WebhooksIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createWebhooksIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createWebhooksIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createWebhooksIntegrationCustomVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createWebhooksIntegrationCustomVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteWebhooksIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteWebhooksIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteWebhooksIntegrationCustomVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteWebhooksIntegrationCustomVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getWebhooksIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getWebhooksIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getWebhooksIntegrationCustomVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getWebhooksIntegrationCustomVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateWebhooksIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateWebhooksIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegration\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateWebhooksIntegrationCustomVariable\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateWebhooksIntegrationCustomVariable(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"WebhooksIntegrationCustomVariableResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.WebhooksIntegrationApiResponseProcessor = WebhooksIntegrationApiResponseProcessor;\nclass WebhooksIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new WebhooksIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new WebhooksIntegrationApiResponseProcessor();\n    }\n    /**\n     * Creates an endpoint with the name ``.\n     * @param param The request object\n     */\n    createWebhooksIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.createWebhooksIntegration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createWebhooksIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Creates an endpoint with the name ``.\n     * @param param The request object\n     */\n    createWebhooksIntegrationCustomVariable(param, options) {\n        const requestContextPromise = this.requestFactory.createWebhooksIntegrationCustomVariable(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createWebhooksIntegrationCustomVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes the endpoint with the name ``.\n     * @param param The request object\n     */\n    deleteWebhooksIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteWebhooksIntegration(param.webhookName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteWebhooksIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes the endpoint with the name ``.\n     * @param param The request object\n     */\n    deleteWebhooksIntegrationCustomVariable(param, options) {\n        const requestContextPromise = this.requestFactory.deleteWebhooksIntegrationCustomVariable(param.customVariableName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteWebhooksIntegrationCustomVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Gets the content of the webhook with the name ``.\n     * @param param The request object\n     */\n    getWebhooksIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.getWebhooksIntegration(param.webhookName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getWebhooksIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Shows the content of the custom variable with the name ``.\n     *\n     * If the custom variable is secret, the value does not return in the\n     * response payload.\n     * @param param The request object\n     */\n    getWebhooksIntegrationCustomVariable(param, options) {\n        const requestContextPromise = this.requestFactory.getWebhooksIntegrationCustomVariable(param.customVariableName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getWebhooksIntegrationCustomVariable(responseContext);\n            });\n        });\n    }\n    /**\n     * Updates the endpoint with the name ``.\n     * @param param The request object\n     */\n    updateWebhooksIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.updateWebhooksIntegration(param.webhookName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateWebhooksIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Updates the endpoint with the name ``.\n     * @param param The request object\n     */\n    updateWebhooksIntegrationCustomVariable(param, options) {\n        const requestContextPromise = this.requestFactory.updateWebhooksIntegrationCustomVariable(param.customVariableName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateWebhooksIntegrationCustomVariable(responseContext);\n            });\n        });\n    }\n}\nexports.WebhooksIntegrationApi = WebhooksIntegrationApi;\n//# sourceMappingURL=WebhooksIntegrationApi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsAsyncError = exports.AWSAccountListResponse = exports.AWSAccountDeleteRequest = exports.AWSAccountCreateResponse = exports.AWSAccountAndLambdaRequest = exports.AWSAccount = exports.AuthenticationValidationResponse = exports.ApplicationKeyResponse = exports.ApplicationKeyListResponse = exports.ApplicationKey = exports.ApmStatsQueryDefinition = exports.ApmStatsQueryColumnType = exports.ApiKeyResponse = exports.ApiKeyListResponse = exports.ApiKey = exports.APIErrorResponse = exports.AlertValueWidgetDefinition = exports.AlertGraphWidgetDefinition = exports.AddSignalToIncidentRequest = exports.WebhooksIntegrationApi = exports.UsersApi = exports.UsageMeteringApi = exports.TagsApi = exports.SyntheticsApi = exports.SnapshotsApi = exports.SlackIntegrationApi = exports.ServiceLevelObjectivesApi = exports.ServiceLevelObjectiveCorrectionsApi = exports.ServiceChecksApi = exports.SecurityMonitoringApi = exports.PagerDutyIntegrationApi = exports.OrganizationsApi = exports.NotebooksApi = exports.MonitorsApi = exports.MetricsApi = exports.LogsPipelinesApi = exports.LogsIndexesApi = exports.LogsApi = exports.KeyManagementApi = exports.IPRangesApi = exports.HostsApi = exports.GCPIntegrationApi = exports.EventsApi = exports.DowntimesApi = exports.DashboardsApi = exports.DashboardListsApi = exports.AzureIntegrationApi = exports.AuthenticationApi = exports.AWSLogsIntegrationApi = exports.AWSIntegrationApi = void 0;\nexports.EventQueryDefinition = exports.EventListResponse = exports.EventCreateResponse = exports.EventCreateRequest = exports.Event = exports.DowntimeRecurrence = exports.DowntimeChild = exports.Downtime = exports.DistributionWidgetYAxis = exports.DistributionWidgetXAxis = exports.DistributionWidgetRequest = exports.DistributionWidgetDefinition = exports.DistributionPointsSeries = exports.DistributionPointsPayload = exports.DeleteSharedDashboardResponse = exports.DeletedMonitor = exports.DashboardTemplateVariablePresetValue = exports.DashboardTemplateVariablePreset = exports.DashboardTemplateVariable = exports.DashboardSummaryDefinition = exports.DashboardSummary = exports.DashboardRestoreRequest = exports.DashboardListListResponse = exports.DashboardListDeleteResponse = exports.DashboardList = exports.DashboardGlobalTime = exports.DashboardDeleteResponse = exports.DashboardBulkDeleteRequest = exports.DashboardBulkActionData = exports.Dashboard = exports.Creator = exports.CheckStatusWidgetDefinition = exports.CheckCanDeleteSLOResponseData = exports.CheckCanDeleteSLOResponse = exports.CheckCanDeleteMonitorResponseData = exports.CheckCanDeleteMonitorResponse = exports.ChangeWidgetRequest = exports.ChangeWidgetDefinition = exports.CanceledDowntimesIds = exports.CancelDowntimesByScopeRequest = exports.AzureAccount = exports.AWSTagFilterListResponse = exports.AWSTagFilterDeleteRequest = exports.AWSTagFilterCreateRequest = exports.AWSTagFilter = exports.AWSLogsServicesRequest = exports.AWSLogsListServicesResponse = exports.AWSLogsListResponse = exports.AWSLogsLambda = exports.AWSLogsAsyncResponse = void 0;\nexports.IFrameWidgetDefinition = exports.IdpResponse = exports.IdpFormData = exports.HTTPLogItem = exports.HTTPLogError = exports.HourlyUsageAttributionResponse = exports.HourlyUsageAttributionPagination = exports.HourlyUsageAttributionMetadata = exports.HourlyUsageAttributionBody = exports.HostTotals = exports.HostTags = exports.HostMuteSettings = exports.HostMuteResponse = exports.HostMetrics = exports.HostMetaInstallMethod = exports.HostMeta = exports.HostMapWidgetDefinitionStyle = exports.HostMapWidgetDefinitionRequests = exports.HostMapWidgetDefinition = exports.HostMapRequest = exports.HostListResponse = exports.Host = exports.HeatMapWidgetRequest = exports.HeatMapWidgetDefinition = exports.GroupWidgetDefinition = exports.GraphSnapshot = exports.GeomapWidgetRequest = exports.GeomapWidgetDefinitionView = exports.GeomapWidgetDefinitionStyle = exports.GeomapWidgetDefinition = exports.GCPAccount = exports.FunnelWidgetRequest = exports.FunnelWidgetDefinition = exports.FunnelStep = exports.FunnelQuery = exports.FreeTextWidgetDefinition = exports.FormulaAndFunctionSLOQueryDefinition = exports.FormulaAndFunctionProcessQueryDefinition = exports.FormulaAndFunctionMetricQueryDefinition = exports.FormulaAndFunctionEventQueryGroupBySort = exports.FormulaAndFunctionEventQueryGroupBy = exports.FormulaAndFunctionEventQueryDefinitionSearch = exports.FormulaAndFunctionEventQueryDefinitionCompute = exports.FormulaAndFunctionEventQueryDefinition = exports.FormulaAndFunctionCloudCostQueryDefinition = exports.FormulaAndFunctionApmResourceStatsQueryDefinition = exports.FormulaAndFunctionApmDependencyStatsQueryDefinition = exports.EventTimelineWidgetDefinition = exports.EventStreamWidgetDefinition = exports.EventResponse = void 0;\nexports.LogsLookupProcessor = exports.LogsListResponse = exports.LogsListRequestTime = exports.LogsListRequest = exports.LogsIndexUpdateRequest = exports.LogsIndexListResponse = exports.LogsIndexesOrder = exports.LogsIndex = exports.LogsGrokParserRules = exports.LogsGrokParser = exports.LogsGeoIPParser = exports.LogsFilter = exports.LogsExclusionFilter = exports.LogsExclusion = exports.LogsDateRemapper = exports.LogsCategoryProcessorCategory = exports.LogsCategoryProcessor = exports.LogsByRetentionOrgUsage = exports.LogsByRetentionOrgs = exports.LogsByRetentionMonthlyUsage = exports.LogsByRetention = exports.LogsAttributeRemapper = exports.LogsArithmeticProcessor = exports.LogsAPIErrorResponse = exports.LogsAPIError = exports.LogQueryDefinitionSearch = exports.LogQueryDefinitionGroupBySort = exports.LogQueryDefinitionGroupBy = exports.LogQueryDefinition = exports.LogContent = exports.Log = exports.ListStreamWidgetRequest = exports.ListStreamWidgetDefinition = exports.ListStreamQuery = exports.ListStreamGroupByItems = exports.ListStreamComputeItems = exports.ListStreamColumn = exports.IPRanges = exports.IPPrefixesWebhooks = exports.IPPrefixesSyntheticsPrivateLocations = exports.IPPrefixesSynthetics = exports.IPPrefixesRemoteConfiguration = exports.IPPrefixesProcess = exports.IPPrefixesOrchestrator = exports.IPPrefixesLogs = exports.IPPrefixesAPM = exports.IPPrefixesAPI = exports.IPPrefixesAgents = exports.IntakePayloadAccepted = exports.ImageWidgetDefinition = void 0;\nexports.MonthlyUsageAttributionMetadata = exports.MonthlyUsageAttributionBody = exports.MonitorUpdateRequest = exports.MonitorThresholdWindowOptions = exports.MonitorThresholds = exports.MonitorSummaryWidgetDefinition = exports.MonitorStateGroup = exports.MonitorState = exports.MonitorSearchResultNotification = exports.MonitorSearchResult = exports.MonitorSearchResponseMetadata = exports.MonitorSearchResponseCounts = exports.MonitorSearchResponse = exports.MonitorSearchCountItem = exports.MonitorOptionsSchedulingOptionsEvaluationWindow = exports.MonitorOptionsSchedulingOptions = exports.MonitorOptionsAggregation = exports.MonitorOptions = exports.MonitorGroupSearchResult = exports.MonitorGroupSearchResponseCounts = exports.MonitorGroupSearchResponse = exports.MonitorFormulaAndFunctionEventQueryGroupBySort = exports.MonitorFormulaAndFunctionEventQueryGroupBy = exports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = exports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = exports.MonitorFormulaAndFunctionEventQueryDefinition = exports.Monitor = exports.MetricsQueryUnit = exports.MetricsQueryResponse = exports.MetricsQueryMetadata = exports.MetricsPayload = exports.MetricsListResponse = exports.MetricSearchResponseResults = exports.MetricSearchResponse = exports.MetricMetadata = exports.MatchingDowntime = exports.LogsUserAgentParser = exports.LogsURLParser = exports.LogStreamWidgetDefinition = exports.LogsTraceRemapper = exports.LogsStringBuilderProcessor = exports.LogsStatusRemapper = exports.LogsServiceRemapper = exports.LogsRetentionSumUsage = exports.LogsRetentionAggSumUsage = exports.LogsQueryCompute = exports.LogsPipelinesOrder = exports.LogsPipelineProcessor = exports.LogsPipeline = exports.LogsMessageRemapper = void 0;\nexports.Pagination = exports.PagerDutyServiceName = exports.PagerDutyServiceKey = exports.PagerDutyService = exports.OrgDowngradedResponse = exports.OrganizationSubscription = exports.OrganizationSettingsSamlStrictMode = exports.OrganizationSettingsSamlIdpInitiatedLogin = exports.OrganizationSettingsSamlAutocreateUsersDomains = exports.OrganizationSettingsSaml = exports.OrganizationSettings = exports.OrganizationResponse = exports.OrganizationListResponse = exports.OrganizationCreateResponse = exports.OrganizationCreateBody = exports.OrganizationBilling = exports.Organization = exports.NoteWidgetDefinition = exports.NotebookUpdateRequest = exports.NotebookUpdateDataAttributes = exports.NotebookUpdateData = exports.NotebookToplistCellAttributes = exports.NotebookTimeseriesCellAttributes = exports.NotebooksResponsePage = exports.NotebooksResponseMeta = exports.NotebooksResponseDataAttributes = exports.NotebooksResponseData = exports.NotebooksResponse = exports.NotebookSplitBy = exports.NotebookResponseDataAttributes = exports.NotebookResponseData = exports.NotebookResponse = exports.NotebookRelativeTime = exports.NotebookMetadata = exports.NotebookMarkdownCellDefinition = exports.NotebookMarkdownCellAttributes = exports.NotebookLogStreamCellAttributes = exports.NotebookHeatMapCellAttributes = exports.NotebookDistributionCellAttributes = exports.NotebookCreateRequest = exports.NotebookCreateDataAttributes = exports.NotebookCreateData = exports.NotebookCellUpdateRequest = exports.NotebookCellResponse = exports.NotebookCellCreateRequest = exports.NotebookAuthor = exports.NotebookAbsoluteTime = exports.MonthlyUsageAttributionValues = exports.MonthlyUsageAttributionResponse = exports.MonthlyUsageAttributionPagination = void 0;\nexports.SLOBulkDeleteResponseData = exports.SLOBulkDeleteResponse = exports.SLOBulkDeleteError = exports.SlackIntegrationChannelDisplay = exports.SlackIntegrationChannel = exports.SignalStateUpdateRequest = exports.SignalAssigneeUpdateRequest = exports.SharedDashboardUpdateRequestGlobalTime = exports.SharedDashboardUpdateRequest = exports.SharedDashboardInvitesMetaPage = exports.SharedDashboardInvitesMeta = exports.SharedDashboardInvitesDataObjectAttributes = exports.SharedDashboardInvitesDataObject = exports.SharedDashboardInvites = exports.SharedDashboardAuthor = exports.SharedDashboard = exports.ServiceSummaryWidgetDefinition = exports.ServiceMapWidgetDefinition = exports.ServiceLevelObjectiveRequest = exports.ServiceLevelObjectiveQuery = exports.ServiceLevelObjective = exports.ServiceCheck = exports.Series = exports.SelectableTemplateVariableItems = exports.SearchSLOThreshold = exports.SearchSLOResponseMetaPage = exports.SearchSLOResponseMeta = exports.SearchSLOResponseLinks = exports.SearchSLOResponseDataAttributesFacetsObjectString = exports.SearchSLOResponseDataAttributesFacetsObjectInt = exports.SearchSLOResponseDataAttributesFacets = exports.SearchSLOResponseDataAttributes = exports.SearchSLOResponseData = exports.SearchSLOResponse = exports.SearchSLOQuery = exports.SearchServiceLevelObjectiveData = exports.SearchServiceLevelObjectiveAttributes = exports.SearchServiceLevelObjective = exports.ScatterplotWidgetFormula = exports.ScatterPlotWidgetDefinitionRequests = exports.ScatterPlotWidgetDefinition = exports.ScatterplotTableRequest = exports.ScatterPlotRequest = exports.RunWorkflowWidgetInput = exports.RunWorkflowWidgetDefinition = exports.ResponseMetaAttributes = exports.ReferenceTableLogsLookupProcessor = exports.QueryValueWidgetRequest = exports.QueryValueWidgetDefinition = exports.ProcessQueryDefinition = void 0;\nexports.SyntheticsAPITestResultShortResult = exports.SyntheticsAPITestResultShort = exports.SyntheticsAPITestResultFullCheck = exports.SyntheticsAPITestResultFull = exports.SyntheticsApiTestResultFailure = exports.SyntheticsAPITestResultData = exports.SyntheticsAPITestConfig = exports.SyntheticsAPITest = exports.SyntheticsAPIStep = exports.SunburstWidgetRequest = exports.SunburstWidgetLegendTable = exports.SunburstWidgetLegendInlineAutomatic = exports.SunburstWidgetDefinition = exports.SuccessfulSignalUpdateResponse = exports.SLOWidgetDefinition = exports.SLOThreshold = exports.SLOStatus = exports.SLOResponseData = exports.SLOResponse = exports.SLORawErrorBudgetRemaining = exports.SLOOverallStatuses = exports.SLOListWidgetRequest = exports.SLOListWidgetQuery = exports.SLOListWidgetDefinition = exports.SLOListResponseMetadataPage = exports.SLOListResponseMetadata = exports.SLOListResponse = exports.SLOHistorySLIData = exports.SLOHistoryResponseErrorWithType = exports.SLOHistoryResponseError = exports.SLOHistoryResponseData = exports.SLOHistoryResponse = exports.SLOHistoryMonitor = exports.SLOHistoryMetricsSeriesMetadataUnit = exports.SLOHistoryMetricsSeriesMetadata = exports.SLOHistoryMetricsSeries = exports.SLOHistoryMetrics = exports.SLODeleteResponse = exports.SLOCreator = exports.SLOCorrectionUpdateRequestAttributes = exports.SLOCorrectionUpdateRequest = exports.SLOCorrectionUpdateData = exports.SLOCorrectionResponseAttributesModifier = exports.SLOCorrectionResponseAttributes = exports.SLOCorrectionResponse = exports.SLOCorrectionListResponse = exports.SLOCorrectionCreateRequestAttributes = exports.SLOCorrectionCreateRequest = exports.SLOCorrectionCreateData = exports.SLOCorrection = void 0;\nexports.SyntheticsLocations = exports.SyntheticsLocation = exports.SyntheticsListTestsResponse = exports.SyntheticsListGlobalVariablesResponse = exports.SyntheticsGlobalVariableValue = exports.SyntheticsGlobalVariableTOTPParameters = exports.SyntheticsGlobalVariableParseTestOptions = exports.SyntheticsGlobalVariableOptions = exports.SyntheticsGlobalVariableAttributes = exports.SyntheticsGlobalVariable = exports.SyntheticsGetBrowserTestLatestResultsResponse = exports.SyntheticsGetAPITestLatestResultsResponse = exports.SyntheticsDevice = exports.SyntheticsDeleteTestsResponse = exports.SyntheticsDeleteTestsPayload = exports.SyntheticsDeletedTest = exports.SyntheticsCoreWebVitals = exports.SyntheticsConfigVariable = exports.SyntheticsCITestBody = exports.SyntheticsCITest = exports.SyntheticsCIBatchMetadataProvider = exports.SyntheticsCIBatchMetadataPipeline = exports.SyntheticsCIBatchMetadataGit = exports.SyntheticsCIBatchMetadataCI = exports.SyntheticsCIBatchMetadata = exports.SyntheticsBrowserVariable = exports.SyntheticsBrowserTestRumSettings = exports.SyntheticsBrowserTestResultShortResult = exports.SyntheticsBrowserTestResultShort = exports.SyntheticsBrowserTestResultFullCheck = exports.SyntheticsBrowserTestResultFull = exports.SyntheticsBrowserTestResultFailure = exports.SyntheticsBrowserTestResultData = exports.SyntheticsBrowserTestConfig = exports.SyntheticsBrowserTest = exports.SyntheticsBrowserError = exports.SyntheticsBatchResult = exports.SyntheticsBatchDetailsData = exports.SyntheticsBatchDetails = exports.SyntheticsBasicAuthWeb = exports.SyntheticsBasicAuthSigv4 = exports.SyntheticsBasicAuthOauthROP = exports.SyntheticsBasicAuthOauthClient = exports.SyntheticsBasicAuthNTLM = exports.SyntheticsBasicAuthDigest = exports.SyntheticsAssertionXPathTargetTarget = exports.SyntheticsAssertionXPathTarget = exports.SyntheticsAssertionTarget = exports.SyntheticsAssertionJSONPathTargetTarget = exports.SyntheticsAssertionJSONPathTarget = void 0;\nexports.UsageAnalyzedLogsResponse = exports.UsageAnalyzedLogsHour = exports.TreeMapWidgetRequest = exports.TreeMapWidgetDefinition = exports.TopologyRequest = exports.TopologyQuery = exports.TopologyMapWidgetDefinition = exports.ToplistWidgetRequest = exports.ToplistWidgetDefinition = exports.TimeseriesWidgetRequest = exports.TimeseriesWidgetExpressionAlias = exports.TimeseriesWidgetDefinition = exports.TimeseriesBackground = exports.TagToHosts = exports.TableWidgetRequest = exports.TableWidgetDefinition = exports.SyntheticsVariableParser = exports.SyntheticsUpdateTestPauseStatusPayload = exports.SyntheticsTriggerTest = exports.SyntheticsTriggerCITestsResponse = exports.SyntheticsTriggerCITestRunResult = exports.SyntheticsTriggerCITestLocation = exports.SyntheticsTriggerBody = exports.SyntheticsTiming = exports.SyntheticsTestRequestProxy = exports.SyntheticsTestRequestCertificateItem = exports.SyntheticsTestRequestCertificate = exports.SyntheticsTestRequest = exports.SyntheticsTestOptionsSchedulingTimeframe = exports.SyntheticsTestOptionsScheduling = exports.SyntheticsTestOptionsRetry = exports.SyntheticsTestOptionsMonitorOptions = exports.SyntheticsTestOptions = exports.SyntheticsTestDetails = exports.SyntheticsTestConfig = exports.SyntheticsTestCiOptions = exports.SyntheticsStepDetailWarning = exports.SyntheticsStepDetail = exports.SyntheticsStep = exports.SyntheticsSSLCertificateSubject = exports.SyntheticsSSLCertificateIssuer = exports.SyntheticsSSLCertificate = exports.SyntheticsPrivateLocationSecretsConfigDecryption = exports.SyntheticsPrivateLocationSecretsAuthentication = exports.SyntheticsPrivateLocationSecrets = exports.SyntheticsPrivateLocationMetadata = exports.SyntheticsPrivateLocationCreationResponseResultEncryption = exports.SyntheticsPrivateLocationCreationResponse = exports.SyntheticsPrivateLocation = exports.SyntheticsParsingOptions = void 0;\nexports.UsageOnlineArchiveHour = exports.UsageNetworkHostsResponse = exports.UsageNetworkHostsHour = exports.UsageNetworkFlowsResponse = exports.UsageNetworkFlowsHour = exports.UsageLogsResponse = exports.UsageLogsHour = exports.UsageLogsByRetentionResponse = exports.UsageLogsByRetentionHour = exports.UsageLogsByIndexResponse = exports.UsageLogsByIndexHour = exports.UsageLambdaResponse = exports.UsageLambdaHour = exports.UsageIoTResponse = exports.UsageIoTHour = exports.UsageIngestedSpansResponse = exports.UsageIngestedSpansHour = exports.UsageIndexedSpansResponse = exports.UsageIndexedSpansHour = exports.UsageIncidentManagementResponse = exports.UsageIncidentManagementHour = exports.UsageHostsResponse = exports.UsageHostHour = exports.UsageFargateResponse = exports.UsageFargateHour = exports.UsageDBMResponse = exports.UsageDBMHour = exports.UsageCWSResponse = exports.UsageCWSHour = exports.UsageCustomReportsResponse = exports.UsageCustomReportsPage = exports.UsageCustomReportsMeta = exports.UsageCustomReportsData = exports.UsageCustomReportsAttributes = exports.UsageCloudSecurityPostureManagementResponse = exports.UsageCloudSecurityPostureManagementHour = exports.UsageCIVisibilityResponse = exports.UsageCIVisibilityHour = exports.UsageBillableSummaryResponse = exports.UsageBillableSummaryKeys = exports.UsageBillableSummaryHour = exports.UsageBillableSummaryBody = exports.UsageAuditLogsResponse = exports.UsageAuditLogsHour = exports.UsageAttributionValues = exports.UsageAttributionResponse = exports.UsageAttributionPagination = exports.UsageAttributionMetadata = exports.UsageAttributionBody = exports.UsageAttributionAggregatesBody = void 0;\nexports.WidgetLayout = exports.WidgetFormulaStyle = exports.WidgetFormulaLimit = exports.WidgetFormula = exports.WidgetFieldSort = exports.WidgetEvent = exports.WidgetCustomLink = exports.WidgetConditionalFormat = exports.WidgetAxis = exports.Widget = exports.WebhooksIntegrationUpdateRequest = exports.WebhooksIntegrationCustomVariableUpdateRequest = exports.WebhooksIntegrationCustomVariableResponse = exports.WebhooksIntegrationCustomVariable = exports.WebhooksIntegration = exports.UserResponse = exports.UserListResponse = exports.UserDisableResponse = exports.User = exports.UsageTopAvgMetricsResponse = exports.UsageTopAvgMetricsPagination = exports.UsageTopAvgMetricsMetadata = exports.UsageTopAvgMetricsHour = exports.UsageTimeseriesResponse = exports.UsageTimeseriesHour = exports.UsageSyntheticsResponse = exports.UsageSyntheticsHour = exports.UsageSyntheticsBrowserResponse = exports.UsageSyntheticsBrowserHour = exports.UsageSyntheticsAPIResponse = exports.UsageSyntheticsAPIHour = exports.UsageSummaryResponse = exports.UsageSummaryDateOrg = exports.UsageSummaryDate = exports.UsageSpecifiedCustomReportsResponse = exports.UsageSpecifiedCustomReportsPage = exports.UsageSpecifiedCustomReportsMeta = exports.UsageSpecifiedCustomReportsData = exports.UsageSpecifiedCustomReportsAttributes = exports.UsageSNMPResponse = exports.UsageSNMPHour = exports.UsageSDSResponse = exports.UsageSDSHour = exports.UsageRumUnitsResponse = exports.UsageRumUnitsHour = exports.UsageRumSessionsResponse = exports.UsageRumSessionsHour = exports.UsageProfilingResponse = exports.UsageProfilingHour = exports.UsageOnlineArchiveResponse = void 0;\nexports.ObjectSerializer = exports.WidgetTime = exports.WidgetStyle = exports.WidgetRequestStyle = exports.WidgetMarker = void 0;\nvar AWSIntegrationApi_1 = require(\"./apis/AWSIntegrationApi\");\nObject.defineProperty(exports, \"AWSIntegrationApi\", { enumerable: true, get: function () { return AWSIntegrationApi_1.AWSIntegrationApi; } });\nvar AWSLogsIntegrationApi_1 = require(\"./apis/AWSLogsIntegrationApi\");\nObject.defineProperty(exports, \"AWSLogsIntegrationApi\", { enumerable: true, get: function () { return AWSLogsIntegrationApi_1.AWSLogsIntegrationApi; } });\nvar AuthenticationApi_1 = require(\"./apis/AuthenticationApi\");\nObject.defineProperty(exports, \"AuthenticationApi\", { enumerable: true, get: function () { return AuthenticationApi_1.AuthenticationApi; } });\nvar AzureIntegrationApi_1 = require(\"./apis/AzureIntegrationApi\");\nObject.defineProperty(exports, \"AzureIntegrationApi\", { enumerable: true, get: function () { return AzureIntegrationApi_1.AzureIntegrationApi; } });\nvar DashboardListsApi_1 = require(\"./apis/DashboardListsApi\");\nObject.defineProperty(exports, \"DashboardListsApi\", { enumerable: true, get: function () { return DashboardListsApi_1.DashboardListsApi; } });\nvar DashboardsApi_1 = require(\"./apis/DashboardsApi\");\nObject.defineProperty(exports, \"DashboardsApi\", { enumerable: true, get: function () { return DashboardsApi_1.DashboardsApi; } });\nvar DowntimesApi_1 = require(\"./apis/DowntimesApi\");\nObject.defineProperty(exports, \"DowntimesApi\", { enumerable: true, get: function () { return DowntimesApi_1.DowntimesApi; } });\nvar EventsApi_1 = require(\"./apis/EventsApi\");\nObject.defineProperty(exports, \"EventsApi\", { enumerable: true, get: function () { return EventsApi_1.EventsApi; } });\nvar GCPIntegrationApi_1 = require(\"./apis/GCPIntegrationApi\");\nObject.defineProperty(exports, \"GCPIntegrationApi\", { enumerable: true, get: function () { return GCPIntegrationApi_1.GCPIntegrationApi; } });\nvar HostsApi_1 = require(\"./apis/HostsApi\");\nObject.defineProperty(exports, \"HostsApi\", { enumerable: true, get: function () { return HostsApi_1.HostsApi; } });\nvar IPRangesApi_1 = require(\"./apis/IPRangesApi\");\nObject.defineProperty(exports, \"IPRangesApi\", { enumerable: true, get: function () { return IPRangesApi_1.IPRangesApi; } });\nvar KeyManagementApi_1 = require(\"./apis/KeyManagementApi\");\nObject.defineProperty(exports, \"KeyManagementApi\", { enumerable: true, get: function () { return KeyManagementApi_1.KeyManagementApi; } });\nvar LogsApi_1 = require(\"./apis/LogsApi\");\nObject.defineProperty(exports, \"LogsApi\", { enumerable: true, get: function () { return LogsApi_1.LogsApi; } });\nvar LogsIndexesApi_1 = require(\"./apis/LogsIndexesApi\");\nObject.defineProperty(exports, \"LogsIndexesApi\", { enumerable: true, get: function () { return LogsIndexesApi_1.LogsIndexesApi; } });\nvar LogsPipelinesApi_1 = require(\"./apis/LogsPipelinesApi\");\nObject.defineProperty(exports, \"LogsPipelinesApi\", { enumerable: true, get: function () { return LogsPipelinesApi_1.LogsPipelinesApi; } });\nvar MetricsApi_1 = require(\"./apis/MetricsApi\");\nObject.defineProperty(exports, \"MetricsApi\", { enumerable: true, get: function () { return MetricsApi_1.MetricsApi; } });\nvar MonitorsApi_1 = require(\"./apis/MonitorsApi\");\nObject.defineProperty(exports, \"MonitorsApi\", { enumerable: true, get: function () { return MonitorsApi_1.MonitorsApi; } });\nvar NotebooksApi_1 = require(\"./apis/NotebooksApi\");\nObject.defineProperty(exports, \"NotebooksApi\", { enumerable: true, get: function () { return NotebooksApi_1.NotebooksApi; } });\nvar OrganizationsApi_1 = require(\"./apis/OrganizationsApi\");\nObject.defineProperty(exports, \"OrganizationsApi\", { enumerable: true, get: function () { return OrganizationsApi_1.OrganizationsApi; } });\nvar PagerDutyIntegrationApi_1 = require(\"./apis/PagerDutyIntegrationApi\");\nObject.defineProperty(exports, \"PagerDutyIntegrationApi\", { enumerable: true, get: function () { return PagerDutyIntegrationApi_1.PagerDutyIntegrationApi; } });\nvar SecurityMonitoringApi_1 = require(\"./apis/SecurityMonitoringApi\");\nObject.defineProperty(exports, \"SecurityMonitoringApi\", { enumerable: true, get: function () { return SecurityMonitoringApi_1.SecurityMonitoringApi; } });\nvar ServiceChecksApi_1 = require(\"./apis/ServiceChecksApi\");\nObject.defineProperty(exports, \"ServiceChecksApi\", { enumerable: true, get: function () { return ServiceChecksApi_1.ServiceChecksApi; } });\nvar ServiceLevelObjectiveCorrectionsApi_1 = require(\"./apis/ServiceLevelObjectiveCorrectionsApi\");\nObject.defineProperty(exports, \"ServiceLevelObjectiveCorrectionsApi\", { enumerable: true, get: function () { return ServiceLevelObjectiveCorrectionsApi_1.ServiceLevelObjectiveCorrectionsApi; } });\nvar ServiceLevelObjectivesApi_1 = require(\"./apis/ServiceLevelObjectivesApi\");\nObject.defineProperty(exports, \"ServiceLevelObjectivesApi\", { enumerable: true, get: function () { return ServiceLevelObjectivesApi_1.ServiceLevelObjectivesApi; } });\nvar SlackIntegrationApi_1 = require(\"./apis/SlackIntegrationApi\");\nObject.defineProperty(exports, \"SlackIntegrationApi\", { enumerable: true, get: function () { return SlackIntegrationApi_1.SlackIntegrationApi; } });\nvar SnapshotsApi_1 = require(\"./apis/SnapshotsApi\");\nObject.defineProperty(exports, \"SnapshotsApi\", { enumerable: true, get: function () { return SnapshotsApi_1.SnapshotsApi; } });\nvar SyntheticsApi_1 = require(\"./apis/SyntheticsApi\");\nObject.defineProperty(exports, \"SyntheticsApi\", { enumerable: true, get: function () { return SyntheticsApi_1.SyntheticsApi; } });\nvar TagsApi_1 = require(\"./apis/TagsApi\");\nObject.defineProperty(exports, \"TagsApi\", { enumerable: true, get: function () { return TagsApi_1.TagsApi; } });\nvar UsageMeteringApi_1 = require(\"./apis/UsageMeteringApi\");\nObject.defineProperty(exports, \"UsageMeteringApi\", { enumerable: true, get: function () { return UsageMeteringApi_1.UsageMeteringApi; } });\nvar UsersApi_1 = require(\"./apis/UsersApi\");\nObject.defineProperty(exports, \"UsersApi\", { enumerable: true, get: function () { return UsersApi_1.UsersApi; } });\nvar WebhooksIntegrationApi_1 = require(\"./apis/WebhooksIntegrationApi\");\nObject.defineProperty(exports, \"WebhooksIntegrationApi\", { enumerable: true, get: function () { return WebhooksIntegrationApi_1.WebhooksIntegrationApi; } });\nvar AddSignalToIncidentRequest_1 = require(\"./models/AddSignalToIncidentRequest\");\nObject.defineProperty(exports, \"AddSignalToIncidentRequest\", { enumerable: true, get: function () { return AddSignalToIncidentRequest_1.AddSignalToIncidentRequest; } });\nvar AlertGraphWidgetDefinition_1 = require(\"./models/AlertGraphWidgetDefinition\");\nObject.defineProperty(exports, \"AlertGraphWidgetDefinition\", { enumerable: true, get: function () { return AlertGraphWidgetDefinition_1.AlertGraphWidgetDefinition; } });\nvar AlertValueWidgetDefinition_1 = require(\"./models/AlertValueWidgetDefinition\");\nObject.defineProperty(exports, \"AlertValueWidgetDefinition\", { enumerable: true, get: function () { return AlertValueWidgetDefinition_1.AlertValueWidgetDefinition; } });\nvar APIErrorResponse_1 = require(\"./models/APIErrorResponse\");\nObject.defineProperty(exports, \"APIErrorResponse\", { enumerable: true, get: function () { return APIErrorResponse_1.APIErrorResponse; } });\nvar ApiKey_1 = require(\"./models/ApiKey\");\nObject.defineProperty(exports, \"ApiKey\", { enumerable: true, get: function () { return ApiKey_1.ApiKey; } });\nvar ApiKeyListResponse_1 = require(\"./models/ApiKeyListResponse\");\nObject.defineProperty(exports, \"ApiKeyListResponse\", { enumerable: true, get: function () { return ApiKeyListResponse_1.ApiKeyListResponse; } });\nvar ApiKeyResponse_1 = require(\"./models/ApiKeyResponse\");\nObject.defineProperty(exports, \"ApiKeyResponse\", { enumerable: true, get: function () { return ApiKeyResponse_1.ApiKeyResponse; } });\nvar ApmStatsQueryColumnType_1 = require(\"./models/ApmStatsQueryColumnType\");\nObject.defineProperty(exports, \"ApmStatsQueryColumnType\", { enumerable: true, get: function () { return ApmStatsQueryColumnType_1.ApmStatsQueryColumnType; } });\nvar ApmStatsQueryDefinition_1 = require(\"./models/ApmStatsQueryDefinition\");\nObject.defineProperty(exports, \"ApmStatsQueryDefinition\", { enumerable: true, get: function () { return ApmStatsQueryDefinition_1.ApmStatsQueryDefinition; } });\nvar ApplicationKey_1 = require(\"./models/ApplicationKey\");\nObject.defineProperty(exports, \"ApplicationKey\", { enumerable: true, get: function () { return ApplicationKey_1.ApplicationKey; } });\nvar ApplicationKeyListResponse_1 = require(\"./models/ApplicationKeyListResponse\");\nObject.defineProperty(exports, \"ApplicationKeyListResponse\", { enumerable: true, get: function () { return ApplicationKeyListResponse_1.ApplicationKeyListResponse; } });\nvar ApplicationKeyResponse_1 = require(\"./models/ApplicationKeyResponse\");\nObject.defineProperty(exports, \"ApplicationKeyResponse\", { enumerable: true, get: function () { return ApplicationKeyResponse_1.ApplicationKeyResponse; } });\nvar AuthenticationValidationResponse_1 = require(\"./models/AuthenticationValidationResponse\");\nObject.defineProperty(exports, \"AuthenticationValidationResponse\", { enumerable: true, get: function () { return AuthenticationValidationResponse_1.AuthenticationValidationResponse; } });\nvar AWSAccount_1 = require(\"./models/AWSAccount\");\nObject.defineProperty(exports, \"AWSAccount\", { enumerable: true, get: function () { return AWSAccount_1.AWSAccount; } });\nvar AWSAccountAndLambdaRequest_1 = require(\"./models/AWSAccountAndLambdaRequest\");\nObject.defineProperty(exports, \"AWSAccountAndLambdaRequest\", { enumerable: true, get: function () { return AWSAccountAndLambdaRequest_1.AWSAccountAndLambdaRequest; } });\nvar AWSAccountCreateResponse_1 = require(\"./models/AWSAccountCreateResponse\");\nObject.defineProperty(exports, \"AWSAccountCreateResponse\", { enumerable: true, get: function () { return AWSAccountCreateResponse_1.AWSAccountCreateResponse; } });\nvar AWSAccountDeleteRequest_1 = require(\"./models/AWSAccountDeleteRequest\");\nObject.defineProperty(exports, \"AWSAccountDeleteRequest\", { enumerable: true, get: function () { return AWSAccountDeleteRequest_1.AWSAccountDeleteRequest; } });\nvar AWSAccountListResponse_1 = require(\"./models/AWSAccountListResponse\");\nObject.defineProperty(exports, \"AWSAccountListResponse\", { enumerable: true, get: function () { return AWSAccountListResponse_1.AWSAccountListResponse; } });\nvar AWSLogsAsyncError_1 = require(\"./models/AWSLogsAsyncError\");\nObject.defineProperty(exports, \"AWSLogsAsyncError\", { enumerable: true, get: function () { return AWSLogsAsyncError_1.AWSLogsAsyncError; } });\nvar AWSLogsAsyncResponse_1 = require(\"./models/AWSLogsAsyncResponse\");\nObject.defineProperty(exports, \"AWSLogsAsyncResponse\", { enumerable: true, get: function () { return AWSLogsAsyncResponse_1.AWSLogsAsyncResponse; } });\nvar AWSLogsLambda_1 = require(\"./models/AWSLogsLambda\");\nObject.defineProperty(exports, \"AWSLogsLambda\", { enumerable: true, get: function () { return AWSLogsLambda_1.AWSLogsLambda; } });\nvar AWSLogsListResponse_1 = require(\"./models/AWSLogsListResponse\");\nObject.defineProperty(exports, \"AWSLogsListResponse\", { enumerable: true, get: function () { return AWSLogsListResponse_1.AWSLogsListResponse; } });\nvar AWSLogsListServicesResponse_1 = require(\"./models/AWSLogsListServicesResponse\");\nObject.defineProperty(exports, \"AWSLogsListServicesResponse\", { enumerable: true, get: function () { return AWSLogsListServicesResponse_1.AWSLogsListServicesResponse; } });\nvar AWSLogsServicesRequest_1 = require(\"./models/AWSLogsServicesRequest\");\nObject.defineProperty(exports, \"AWSLogsServicesRequest\", { enumerable: true, get: function () { return AWSLogsServicesRequest_1.AWSLogsServicesRequest; } });\nvar AWSTagFilter_1 = require(\"./models/AWSTagFilter\");\nObject.defineProperty(exports, \"AWSTagFilter\", { enumerable: true, get: function () { return AWSTagFilter_1.AWSTagFilter; } });\nvar AWSTagFilterCreateRequest_1 = require(\"./models/AWSTagFilterCreateRequest\");\nObject.defineProperty(exports, \"AWSTagFilterCreateRequest\", { enumerable: true, get: function () { return AWSTagFilterCreateRequest_1.AWSTagFilterCreateRequest; } });\nvar AWSTagFilterDeleteRequest_1 = require(\"./models/AWSTagFilterDeleteRequest\");\nObject.defineProperty(exports, \"AWSTagFilterDeleteRequest\", { enumerable: true, get: function () { return AWSTagFilterDeleteRequest_1.AWSTagFilterDeleteRequest; } });\nvar AWSTagFilterListResponse_1 = require(\"./models/AWSTagFilterListResponse\");\nObject.defineProperty(exports, \"AWSTagFilterListResponse\", { enumerable: true, get: function () { return AWSTagFilterListResponse_1.AWSTagFilterListResponse; } });\nvar AzureAccount_1 = require(\"./models/AzureAccount\");\nObject.defineProperty(exports, \"AzureAccount\", { enumerable: true, get: function () { return AzureAccount_1.AzureAccount; } });\nvar CancelDowntimesByScopeRequest_1 = require(\"./models/CancelDowntimesByScopeRequest\");\nObject.defineProperty(exports, \"CancelDowntimesByScopeRequest\", { enumerable: true, get: function () { return CancelDowntimesByScopeRequest_1.CancelDowntimesByScopeRequest; } });\nvar CanceledDowntimesIds_1 = require(\"./models/CanceledDowntimesIds\");\nObject.defineProperty(exports, \"CanceledDowntimesIds\", { enumerable: true, get: function () { return CanceledDowntimesIds_1.CanceledDowntimesIds; } });\nvar ChangeWidgetDefinition_1 = require(\"./models/ChangeWidgetDefinition\");\nObject.defineProperty(exports, \"ChangeWidgetDefinition\", { enumerable: true, get: function () { return ChangeWidgetDefinition_1.ChangeWidgetDefinition; } });\nvar ChangeWidgetRequest_1 = require(\"./models/ChangeWidgetRequest\");\nObject.defineProperty(exports, \"ChangeWidgetRequest\", { enumerable: true, get: function () { return ChangeWidgetRequest_1.ChangeWidgetRequest; } });\nvar CheckCanDeleteMonitorResponse_1 = require(\"./models/CheckCanDeleteMonitorResponse\");\nObject.defineProperty(exports, \"CheckCanDeleteMonitorResponse\", { enumerable: true, get: function () { return CheckCanDeleteMonitorResponse_1.CheckCanDeleteMonitorResponse; } });\nvar CheckCanDeleteMonitorResponseData_1 = require(\"./models/CheckCanDeleteMonitorResponseData\");\nObject.defineProperty(exports, \"CheckCanDeleteMonitorResponseData\", { enumerable: true, get: function () { return CheckCanDeleteMonitorResponseData_1.CheckCanDeleteMonitorResponseData; } });\nvar CheckCanDeleteSLOResponse_1 = require(\"./models/CheckCanDeleteSLOResponse\");\nObject.defineProperty(exports, \"CheckCanDeleteSLOResponse\", { enumerable: true, get: function () { return CheckCanDeleteSLOResponse_1.CheckCanDeleteSLOResponse; } });\nvar CheckCanDeleteSLOResponseData_1 = require(\"./models/CheckCanDeleteSLOResponseData\");\nObject.defineProperty(exports, \"CheckCanDeleteSLOResponseData\", { enumerable: true, get: function () { return CheckCanDeleteSLOResponseData_1.CheckCanDeleteSLOResponseData; } });\nvar CheckStatusWidgetDefinition_1 = require(\"./models/CheckStatusWidgetDefinition\");\nObject.defineProperty(exports, \"CheckStatusWidgetDefinition\", { enumerable: true, get: function () { return CheckStatusWidgetDefinition_1.CheckStatusWidgetDefinition; } });\nvar Creator_1 = require(\"./models/Creator\");\nObject.defineProperty(exports, \"Creator\", { enumerable: true, get: function () { return Creator_1.Creator; } });\nvar Dashboard_1 = require(\"./models/Dashboard\");\nObject.defineProperty(exports, \"Dashboard\", { enumerable: true, get: function () { return Dashboard_1.Dashboard; } });\nvar DashboardBulkActionData_1 = require(\"./models/DashboardBulkActionData\");\nObject.defineProperty(exports, \"DashboardBulkActionData\", { enumerable: true, get: function () { return DashboardBulkActionData_1.DashboardBulkActionData; } });\nvar DashboardBulkDeleteRequest_1 = require(\"./models/DashboardBulkDeleteRequest\");\nObject.defineProperty(exports, \"DashboardBulkDeleteRequest\", { enumerable: true, get: function () { return DashboardBulkDeleteRequest_1.DashboardBulkDeleteRequest; } });\nvar DashboardDeleteResponse_1 = require(\"./models/DashboardDeleteResponse\");\nObject.defineProperty(exports, \"DashboardDeleteResponse\", { enumerable: true, get: function () { return DashboardDeleteResponse_1.DashboardDeleteResponse; } });\nvar DashboardGlobalTime_1 = require(\"./models/DashboardGlobalTime\");\nObject.defineProperty(exports, \"DashboardGlobalTime\", { enumerable: true, get: function () { return DashboardGlobalTime_1.DashboardGlobalTime; } });\nvar DashboardList_1 = require(\"./models/DashboardList\");\nObject.defineProperty(exports, \"DashboardList\", { enumerable: true, get: function () { return DashboardList_1.DashboardList; } });\nvar DashboardListDeleteResponse_1 = require(\"./models/DashboardListDeleteResponse\");\nObject.defineProperty(exports, \"DashboardListDeleteResponse\", { enumerable: true, get: function () { return DashboardListDeleteResponse_1.DashboardListDeleteResponse; } });\nvar DashboardListListResponse_1 = require(\"./models/DashboardListListResponse\");\nObject.defineProperty(exports, \"DashboardListListResponse\", { enumerable: true, get: function () { return DashboardListListResponse_1.DashboardListListResponse; } });\nvar DashboardRestoreRequest_1 = require(\"./models/DashboardRestoreRequest\");\nObject.defineProperty(exports, \"DashboardRestoreRequest\", { enumerable: true, get: function () { return DashboardRestoreRequest_1.DashboardRestoreRequest; } });\nvar DashboardSummary_1 = require(\"./models/DashboardSummary\");\nObject.defineProperty(exports, \"DashboardSummary\", { enumerable: true, get: function () { return DashboardSummary_1.DashboardSummary; } });\nvar DashboardSummaryDefinition_1 = require(\"./models/DashboardSummaryDefinition\");\nObject.defineProperty(exports, \"DashboardSummaryDefinition\", { enumerable: true, get: function () { return DashboardSummaryDefinition_1.DashboardSummaryDefinition; } });\nvar DashboardTemplateVariable_1 = require(\"./models/DashboardTemplateVariable\");\nObject.defineProperty(exports, \"DashboardTemplateVariable\", { enumerable: true, get: function () { return DashboardTemplateVariable_1.DashboardTemplateVariable; } });\nvar DashboardTemplateVariablePreset_1 = require(\"./models/DashboardTemplateVariablePreset\");\nObject.defineProperty(exports, \"DashboardTemplateVariablePreset\", { enumerable: true, get: function () { return DashboardTemplateVariablePreset_1.DashboardTemplateVariablePreset; } });\nvar DashboardTemplateVariablePresetValue_1 = require(\"./models/DashboardTemplateVariablePresetValue\");\nObject.defineProperty(exports, \"DashboardTemplateVariablePresetValue\", { enumerable: true, get: function () { return DashboardTemplateVariablePresetValue_1.DashboardTemplateVariablePresetValue; } });\nvar DeletedMonitor_1 = require(\"./models/DeletedMonitor\");\nObject.defineProperty(exports, \"DeletedMonitor\", { enumerable: true, get: function () { return DeletedMonitor_1.DeletedMonitor; } });\nvar DeleteSharedDashboardResponse_1 = require(\"./models/DeleteSharedDashboardResponse\");\nObject.defineProperty(exports, \"DeleteSharedDashboardResponse\", { enumerable: true, get: function () { return DeleteSharedDashboardResponse_1.DeleteSharedDashboardResponse; } });\nvar DistributionPointsPayload_1 = require(\"./models/DistributionPointsPayload\");\nObject.defineProperty(exports, \"DistributionPointsPayload\", { enumerable: true, get: function () { return DistributionPointsPayload_1.DistributionPointsPayload; } });\nvar DistributionPointsSeries_1 = require(\"./models/DistributionPointsSeries\");\nObject.defineProperty(exports, \"DistributionPointsSeries\", { enumerable: true, get: function () { return DistributionPointsSeries_1.DistributionPointsSeries; } });\nvar DistributionWidgetDefinition_1 = require(\"./models/DistributionWidgetDefinition\");\nObject.defineProperty(exports, \"DistributionWidgetDefinition\", { enumerable: true, get: function () { return DistributionWidgetDefinition_1.DistributionWidgetDefinition; } });\nvar DistributionWidgetRequest_1 = require(\"./models/DistributionWidgetRequest\");\nObject.defineProperty(exports, \"DistributionWidgetRequest\", { enumerable: true, get: function () { return DistributionWidgetRequest_1.DistributionWidgetRequest; } });\nvar DistributionWidgetXAxis_1 = require(\"./models/DistributionWidgetXAxis\");\nObject.defineProperty(exports, \"DistributionWidgetXAxis\", { enumerable: true, get: function () { return DistributionWidgetXAxis_1.DistributionWidgetXAxis; } });\nvar DistributionWidgetYAxis_1 = require(\"./models/DistributionWidgetYAxis\");\nObject.defineProperty(exports, \"DistributionWidgetYAxis\", { enumerable: true, get: function () { return DistributionWidgetYAxis_1.DistributionWidgetYAxis; } });\nvar Downtime_1 = require(\"./models/Downtime\");\nObject.defineProperty(exports, \"Downtime\", { enumerable: true, get: function () { return Downtime_1.Downtime; } });\nvar DowntimeChild_1 = require(\"./models/DowntimeChild\");\nObject.defineProperty(exports, \"DowntimeChild\", { enumerable: true, get: function () { return DowntimeChild_1.DowntimeChild; } });\nvar DowntimeRecurrence_1 = require(\"./models/DowntimeRecurrence\");\nObject.defineProperty(exports, \"DowntimeRecurrence\", { enumerable: true, get: function () { return DowntimeRecurrence_1.DowntimeRecurrence; } });\nvar Event_1 = require(\"./models/Event\");\nObject.defineProperty(exports, \"Event\", { enumerable: true, get: function () { return Event_1.Event; } });\nvar EventCreateRequest_1 = require(\"./models/EventCreateRequest\");\nObject.defineProperty(exports, \"EventCreateRequest\", { enumerable: true, get: function () { return EventCreateRequest_1.EventCreateRequest; } });\nvar EventCreateResponse_1 = require(\"./models/EventCreateResponse\");\nObject.defineProperty(exports, \"EventCreateResponse\", { enumerable: true, get: function () { return EventCreateResponse_1.EventCreateResponse; } });\nvar EventListResponse_1 = require(\"./models/EventListResponse\");\nObject.defineProperty(exports, \"EventListResponse\", { enumerable: true, get: function () { return EventListResponse_1.EventListResponse; } });\nvar EventQueryDefinition_1 = require(\"./models/EventQueryDefinition\");\nObject.defineProperty(exports, \"EventQueryDefinition\", { enumerable: true, get: function () { return EventQueryDefinition_1.EventQueryDefinition; } });\nvar EventResponse_1 = require(\"./models/EventResponse\");\nObject.defineProperty(exports, \"EventResponse\", { enumerable: true, get: function () { return EventResponse_1.EventResponse; } });\nvar EventStreamWidgetDefinition_1 = require(\"./models/EventStreamWidgetDefinition\");\nObject.defineProperty(exports, \"EventStreamWidgetDefinition\", { enumerable: true, get: function () { return EventStreamWidgetDefinition_1.EventStreamWidgetDefinition; } });\nvar EventTimelineWidgetDefinition_1 = require(\"./models/EventTimelineWidgetDefinition\");\nObject.defineProperty(exports, \"EventTimelineWidgetDefinition\", { enumerable: true, get: function () { return EventTimelineWidgetDefinition_1.EventTimelineWidgetDefinition; } });\nvar FormulaAndFunctionApmDependencyStatsQueryDefinition_1 = require(\"./models/FormulaAndFunctionApmDependencyStatsQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionApmDependencyStatsQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionApmDependencyStatsQueryDefinition_1.FormulaAndFunctionApmDependencyStatsQueryDefinition; } });\nvar FormulaAndFunctionApmResourceStatsQueryDefinition_1 = require(\"./models/FormulaAndFunctionApmResourceStatsQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionApmResourceStatsQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionApmResourceStatsQueryDefinition_1.FormulaAndFunctionApmResourceStatsQueryDefinition; } });\nvar FormulaAndFunctionCloudCostQueryDefinition_1 = require(\"./models/FormulaAndFunctionCloudCostQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionCloudCostQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionCloudCostQueryDefinition_1.FormulaAndFunctionCloudCostQueryDefinition; } });\nvar FormulaAndFunctionEventQueryDefinition_1 = require(\"./models/FormulaAndFunctionEventQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionEventQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinition_1.FormulaAndFunctionEventQueryDefinition; } });\nvar FormulaAndFunctionEventQueryDefinitionCompute_1 = require(\"./models/FormulaAndFunctionEventQueryDefinitionCompute\");\nObject.defineProperty(exports, \"FormulaAndFunctionEventQueryDefinitionCompute\", { enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinitionCompute_1.FormulaAndFunctionEventQueryDefinitionCompute; } });\nvar FormulaAndFunctionEventQueryDefinitionSearch_1 = require(\"./models/FormulaAndFunctionEventQueryDefinitionSearch\");\nObject.defineProperty(exports, \"FormulaAndFunctionEventQueryDefinitionSearch\", { enumerable: true, get: function () { return FormulaAndFunctionEventQueryDefinitionSearch_1.FormulaAndFunctionEventQueryDefinitionSearch; } });\nvar FormulaAndFunctionEventQueryGroupBy_1 = require(\"./models/FormulaAndFunctionEventQueryGroupBy\");\nObject.defineProperty(exports, \"FormulaAndFunctionEventQueryGroupBy\", { enumerable: true, get: function () { return FormulaAndFunctionEventQueryGroupBy_1.FormulaAndFunctionEventQueryGroupBy; } });\nvar FormulaAndFunctionEventQueryGroupBySort_1 = require(\"./models/FormulaAndFunctionEventQueryGroupBySort\");\nObject.defineProperty(exports, \"FormulaAndFunctionEventQueryGroupBySort\", { enumerable: true, get: function () { return FormulaAndFunctionEventQueryGroupBySort_1.FormulaAndFunctionEventQueryGroupBySort; } });\nvar FormulaAndFunctionMetricQueryDefinition_1 = require(\"./models/FormulaAndFunctionMetricQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionMetricQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionMetricQueryDefinition_1.FormulaAndFunctionMetricQueryDefinition; } });\nvar FormulaAndFunctionProcessQueryDefinition_1 = require(\"./models/FormulaAndFunctionProcessQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionProcessQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionProcessQueryDefinition_1.FormulaAndFunctionProcessQueryDefinition; } });\nvar FormulaAndFunctionSLOQueryDefinition_1 = require(\"./models/FormulaAndFunctionSLOQueryDefinition\");\nObject.defineProperty(exports, \"FormulaAndFunctionSLOQueryDefinition\", { enumerable: true, get: function () { return FormulaAndFunctionSLOQueryDefinition_1.FormulaAndFunctionSLOQueryDefinition; } });\nvar FreeTextWidgetDefinition_1 = require(\"./models/FreeTextWidgetDefinition\");\nObject.defineProperty(exports, \"FreeTextWidgetDefinition\", { enumerable: true, get: function () { return FreeTextWidgetDefinition_1.FreeTextWidgetDefinition; } });\nvar FunnelQuery_1 = require(\"./models/FunnelQuery\");\nObject.defineProperty(exports, \"FunnelQuery\", { enumerable: true, get: function () { return FunnelQuery_1.FunnelQuery; } });\nvar FunnelStep_1 = require(\"./models/FunnelStep\");\nObject.defineProperty(exports, \"FunnelStep\", { enumerable: true, get: function () { return FunnelStep_1.FunnelStep; } });\nvar FunnelWidgetDefinition_1 = require(\"./models/FunnelWidgetDefinition\");\nObject.defineProperty(exports, \"FunnelWidgetDefinition\", { enumerable: true, get: function () { return FunnelWidgetDefinition_1.FunnelWidgetDefinition; } });\nvar FunnelWidgetRequest_1 = require(\"./models/FunnelWidgetRequest\");\nObject.defineProperty(exports, \"FunnelWidgetRequest\", { enumerable: true, get: function () { return FunnelWidgetRequest_1.FunnelWidgetRequest; } });\nvar GCPAccount_1 = require(\"./models/GCPAccount\");\nObject.defineProperty(exports, \"GCPAccount\", { enumerable: true, get: function () { return GCPAccount_1.GCPAccount; } });\nvar GeomapWidgetDefinition_1 = require(\"./models/GeomapWidgetDefinition\");\nObject.defineProperty(exports, \"GeomapWidgetDefinition\", { enumerable: true, get: function () { return GeomapWidgetDefinition_1.GeomapWidgetDefinition; } });\nvar GeomapWidgetDefinitionStyle_1 = require(\"./models/GeomapWidgetDefinitionStyle\");\nObject.defineProperty(exports, \"GeomapWidgetDefinitionStyle\", { enumerable: true, get: function () { return GeomapWidgetDefinitionStyle_1.GeomapWidgetDefinitionStyle; } });\nvar GeomapWidgetDefinitionView_1 = require(\"./models/GeomapWidgetDefinitionView\");\nObject.defineProperty(exports, \"GeomapWidgetDefinitionView\", { enumerable: true, get: function () { return GeomapWidgetDefinitionView_1.GeomapWidgetDefinitionView; } });\nvar GeomapWidgetRequest_1 = require(\"./models/GeomapWidgetRequest\");\nObject.defineProperty(exports, \"GeomapWidgetRequest\", { enumerable: true, get: function () { return GeomapWidgetRequest_1.GeomapWidgetRequest; } });\nvar GraphSnapshot_1 = require(\"./models/GraphSnapshot\");\nObject.defineProperty(exports, \"GraphSnapshot\", { enumerable: true, get: function () { return GraphSnapshot_1.GraphSnapshot; } });\nvar GroupWidgetDefinition_1 = require(\"./models/GroupWidgetDefinition\");\nObject.defineProperty(exports, \"GroupWidgetDefinition\", { enumerable: true, get: function () { return GroupWidgetDefinition_1.GroupWidgetDefinition; } });\nvar HeatMapWidgetDefinition_1 = require(\"./models/HeatMapWidgetDefinition\");\nObject.defineProperty(exports, \"HeatMapWidgetDefinition\", { enumerable: true, get: function () { return HeatMapWidgetDefinition_1.HeatMapWidgetDefinition; } });\nvar HeatMapWidgetRequest_1 = require(\"./models/HeatMapWidgetRequest\");\nObject.defineProperty(exports, \"HeatMapWidgetRequest\", { enumerable: true, get: function () { return HeatMapWidgetRequest_1.HeatMapWidgetRequest; } });\nvar Host_1 = require(\"./models/Host\");\nObject.defineProperty(exports, \"Host\", { enumerable: true, get: function () { return Host_1.Host; } });\nvar HostListResponse_1 = require(\"./models/HostListResponse\");\nObject.defineProperty(exports, \"HostListResponse\", { enumerable: true, get: function () { return HostListResponse_1.HostListResponse; } });\nvar HostMapRequest_1 = require(\"./models/HostMapRequest\");\nObject.defineProperty(exports, \"HostMapRequest\", { enumerable: true, get: function () { return HostMapRequest_1.HostMapRequest; } });\nvar HostMapWidgetDefinition_1 = require(\"./models/HostMapWidgetDefinition\");\nObject.defineProperty(exports, \"HostMapWidgetDefinition\", { enumerable: true, get: function () { return HostMapWidgetDefinition_1.HostMapWidgetDefinition; } });\nvar HostMapWidgetDefinitionRequests_1 = require(\"./models/HostMapWidgetDefinitionRequests\");\nObject.defineProperty(exports, \"HostMapWidgetDefinitionRequests\", { enumerable: true, get: function () { return HostMapWidgetDefinitionRequests_1.HostMapWidgetDefinitionRequests; } });\nvar HostMapWidgetDefinitionStyle_1 = require(\"./models/HostMapWidgetDefinitionStyle\");\nObject.defineProperty(exports, \"HostMapWidgetDefinitionStyle\", { enumerable: true, get: function () { return HostMapWidgetDefinitionStyle_1.HostMapWidgetDefinitionStyle; } });\nvar HostMeta_1 = require(\"./models/HostMeta\");\nObject.defineProperty(exports, \"HostMeta\", { enumerable: true, get: function () { return HostMeta_1.HostMeta; } });\nvar HostMetaInstallMethod_1 = require(\"./models/HostMetaInstallMethod\");\nObject.defineProperty(exports, \"HostMetaInstallMethod\", { enumerable: true, get: function () { return HostMetaInstallMethod_1.HostMetaInstallMethod; } });\nvar HostMetrics_1 = require(\"./models/HostMetrics\");\nObject.defineProperty(exports, \"HostMetrics\", { enumerable: true, get: function () { return HostMetrics_1.HostMetrics; } });\nvar HostMuteResponse_1 = require(\"./models/HostMuteResponse\");\nObject.defineProperty(exports, \"HostMuteResponse\", { enumerable: true, get: function () { return HostMuteResponse_1.HostMuteResponse; } });\nvar HostMuteSettings_1 = require(\"./models/HostMuteSettings\");\nObject.defineProperty(exports, \"HostMuteSettings\", { enumerable: true, get: function () { return HostMuteSettings_1.HostMuteSettings; } });\nvar HostTags_1 = require(\"./models/HostTags\");\nObject.defineProperty(exports, \"HostTags\", { enumerable: true, get: function () { return HostTags_1.HostTags; } });\nvar HostTotals_1 = require(\"./models/HostTotals\");\nObject.defineProperty(exports, \"HostTotals\", { enumerable: true, get: function () { return HostTotals_1.HostTotals; } });\nvar HourlyUsageAttributionBody_1 = require(\"./models/HourlyUsageAttributionBody\");\nObject.defineProperty(exports, \"HourlyUsageAttributionBody\", { enumerable: true, get: function () { return HourlyUsageAttributionBody_1.HourlyUsageAttributionBody; } });\nvar HourlyUsageAttributionMetadata_1 = require(\"./models/HourlyUsageAttributionMetadata\");\nObject.defineProperty(exports, \"HourlyUsageAttributionMetadata\", { enumerable: true, get: function () { return HourlyUsageAttributionMetadata_1.HourlyUsageAttributionMetadata; } });\nvar HourlyUsageAttributionPagination_1 = require(\"./models/HourlyUsageAttributionPagination\");\nObject.defineProperty(exports, \"HourlyUsageAttributionPagination\", { enumerable: true, get: function () { return HourlyUsageAttributionPagination_1.HourlyUsageAttributionPagination; } });\nvar HourlyUsageAttributionResponse_1 = require(\"./models/HourlyUsageAttributionResponse\");\nObject.defineProperty(exports, \"HourlyUsageAttributionResponse\", { enumerable: true, get: function () { return HourlyUsageAttributionResponse_1.HourlyUsageAttributionResponse; } });\nvar HTTPLogError_1 = require(\"./models/HTTPLogError\");\nObject.defineProperty(exports, \"HTTPLogError\", { enumerable: true, get: function () { return HTTPLogError_1.HTTPLogError; } });\nvar HTTPLogItem_1 = require(\"./models/HTTPLogItem\");\nObject.defineProperty(exports, \"HTTPLogItem\", { enumerable: true, get: function () { return HTTPLogItem_1.HTTPLogItem; } });\nvar IdpFormData_1 = require(\"./models/IdpFormData\");\nObject.defineProperty(exports, \"IdpFormData\", { enumerable: true, get: function () { return IdpFormData_1.IdpFormData; } });\nvar IdpResponse_1 = require(\"./models/IdpResponse\");\nObject.defineProperty(exports, \"IdpResponse\", { enumerable: true, get: function () { return IdpResponse_1.IdpResponse; } });\nvar IFrameWidgetDefinition_1 = require(\"./models/IFrameWidgetDefinition\");\nObject.defineProperty(exports, \"IFrameWidgetDefinition\", { enumerable: true, get: function () { return IFrameWidgetDefinition_1.IFrameWidgetDefinition; } });\nvar ImageWidgetDefinition_1 = require(\"./models/ImageWidgetDefinition\");\nObject.defineProperty(exports, \"ImageWidgetDefinition\", { enumerable: true, get: function () { return ImageWidgetDefinition_1.ImageWidgetDefinition; } });\nvar IntakePayloadAccepted_1 = require(\"./models/IntakePayloadAccepted\");\nObject.defineProperty(exports, \"IntakePayloadAccepted\", { enumerable: true, get: function () { return IntakePayloadAccepted_1.IntakePayloadAccepted; } });\nvar IPPrefixesAgents_1 = require(\"./models/IPPrefixesAgents\");\nObject.defineProperty(exports, \"IPPrefixesAgents\", { enumerable: true, get: function () { return IPPrefixesAgents_1.IPPrefixesAgents; } });\nvar IPPrefixesAPI_1 = require(\"./models/IPPrefixesAPI\");\nObject.defineProperty(exports, \"IPPrefixesAPI\", { enumerable: true, get: function () { return IPPrefixesAPI_1.IPPrefixesAPI; } });\nvar IPPrefixesAPM_1 = require(\"./models/IPPrefixesAPM\");\nObject.defineProperty(exports, \"IPPrefixesAPM\", { enumerable: true, get: function () { return IPPrefixesAPM_1.IPPrefixesAPM; } });\nvar IPPrefixesLogs_1 = require(\"./models/IPPrefixesLogs\");\nObject.defineProperty(exports, \"IPPrefixesLogs\", { enumerable: true, get: function () { return IPPrefixesLogs_1.IPPrefixesLogs; } });\nvar IPPrefixesOrchestrator_1 = require(\"./models/IPPrefixesOrchestrator\");\nObject.defineProperty(exports, \"IPPrefixesOrchestrator\", { enumerable: true, get: function () { return IPPrefixesOrchestrator_1.IPPrefixesOrchestrator; } });\nvar IPPrefixesProcess_1 = require(\"./models/IPPrefixesProcess\");\nObject.defineProperty(exports, \"IPPrefixesProcess\", { enumerable: true, get: function () { return IPPrefixesProcess_1.IPPrefixesProcess; } });\nvar IPPrefixesRemoteConfiguration_1 = require(\"./models/IPPrefixesRemoteConfiguration\");\nObject.defineProperty(exports, \"IPPrefixesRemoteConfiguration\", { enumerable: true, get: function () { return IPPrefixesRemoteConfiguration_1.IPPrefixesRemoteConfiguration; } });\nvar IPPrefixesSynthetics_1 = require(\"./models/IPPrefixesSynthetics\");\nObject.defineProperty(exports, \"IPPrefixesSynthetics\", { enumerable: true, get: function () { return IPPrefixesSynthetics_1.IPPrefixesSynthetics; } });\nvar IPPrefixesSyntheticsPrivateLocations_1 = require(\"./models/IPPrefixesSyntheticsPrivateLocations\");\nObject.defineProperty(exports, \"IPPrefixesSyntheticsPrivateLocations\", { enumerable: true, get: function () { return IPPrefixesSyntheticsPrivateLocations_1.IPPrefixesSyntheticsPrivateLocations; } });\nvar IPPrefixesWebhooks_1 = require(\"./models/IPPrefixesWebhooks\");\nObject.defineProperty(exports, \"IPPrefixesWebhooks\", { enumerable: true, get: function () { return IPPrefixesWebhooks_1.IPPrefixesWebhooks; } });\nvar IPRanges_1 = require(\"./models/IPRanges\");\nObject.defineProperty(exports, \"IPRanges\", { enumerable: true, get: function () { return IPRanges_1.IPRanges; } });\nvar ListStreamColumn_1 = require(\"./models/ListStreamColumn\");\nObject.defineProperty(exports, \"ListStreamColumn\", { enumerable: true, get: function () { return ListStreamColumn_1.ListStreamColumn; } });\nvar ListStreamComputeItems_1 = require(\"./models/ListStreamComputeItems\");\nObject.defineProperty(exports, \"ListStreamComputeItems\", { enumerable: true, get: function () { return ListStreamComputeItems_1.ListStreamComputeItems; } });\nvar ListStreamGroupByItems_1 = require(\"./models/ListStreamGroupByItems\");\nObject.defineProperty(exports, \"ListStreamGroupByItems\", { enumerable: true, get: function () { return ListStreamGroupByItems_1.ListStreamGroupByItems; } });\nvar ListStreamQuery_1 = require(\"./models/ListStreamQuery\");\nObject.defineProperty(exports, \"ListStreamQuery\", { enumerable: true, get: function () { return ListStreamQuery_1.ListStreamQuery; } });\nvar ListStreamWidgetDefinition_1 = require(\"./models/ListStreamWidgetDefinition\");\nObject.defineProperty(exports, \"ListStreamWidgetDefinition\", { enumerable: true, get: function () { return ListStreamWidgetDefinition_1.ListStreamWidgetDefinition; } });\nvar ListStreamWidgetRequest_1 = require(\"./models/ListStreamWidgetRequest\");\nObject.defineProperty(exports, \"ListStreamWidgetRequest\", { enumerable: true, get: function () { return ListStreamWidgetRequest_1.ListStreamWidgetRequest; } });\nvar Log_1 = require(\"./models/Log\");\nObject.defineProperty(exports, \"Log\", { enumerable: true, get: function () { return Log_1.Log; } });\nvar LogContent_1 = require(\"./models/LogContent\");\nObject.defineProperty(exports, \"LogContent\", { enumerable: true, get: function () { return LogContent_1.LogContent; } });\nvar LogQueryDefinition_1 = require(\"./models/LogQueryDefinition\");\nObject.defineProperty(exports, \"LogQueryDefinition\", { enumerable: true, get: function () { return LogQueryDefinition_1.LogQueryDefinition; } });\nvar LogQueryDefinitionGroupBy_1 = require(\"./models/LogQueryDefinitionGroupBy\");\nObject.defineProperty(exports, \"LogQueryDefinitionGroupBy\", { enumerable: true, get: function () { return LogQueryDefinitionGroupBy_1.LogQueryDefinitionGroupBy; } });\nvar LogQueryDefinitionGroupBySort_1 = require(\"./models/LogQueryDefinitionGroupBySort\");\nObject.defineProperty(exports, \"LogQueryDefinitionGroupBySort\", { enumerable: true, get: function () { return LogQueryDefinitionGroupBySort_1.LogQueryDefinitionGroupBySort; } });\nvar LogQueryDefinitionSearch_1 = require(\"./models/LogQueryDefinitionSearch\");\nObject.defineProperty(exports, \"LogQueryDefinitionSearch\", { enumerable: true, get: function () { return LogQueryDefinitionSearch_1.LogQueryDefinitionSearch; } });\nvar LogsAPIError_1 = require(\"./models/LogsAPIError\");\nObject.defineProperty(exports, \"LogsAPIError\", { enumerable: true, get: function () { return LogsAPIError_1.LogsAPIError; } });\nvar LogsAPIErrorResponse_1 = require(\"./models/LogsAPIErrorResponse\");\nObject.defineProperty(exports, \"LogsAPIErrorResponse\", { enumerable: true, get: function () { return LogsAPIErrorResponse_1.LogsAPIErrorResponse; } });\nvar LogsArithmeticProcessor_1 = require(\"./models/LogsArithmeticProcessor\");\nObject.defineProperty(exports, \"LogsArithmeticProcessor\", { enumerable: true, get: function () { return LogsArithmeticProcessor_1.LogsArithmeticProcessor; } });\nvar LogsAttributeRemapper_1 = require(\"./models/LogsAttributeRemapper\");\nObject.defineProperty(exports, \"LogsAttributeRemapper\", { enumerable: true, get: function () { return LogsAttributeRemapper_1.LogsAttributeRemapper; } });\nvar LogsByRetention_1 = require(\"./models/LogsByRetention\");\nObject.defineProperty(exports, \"LogsByRetention\", { enumerable: true, get: function () { return LogsByRetention_1.LogsByRetention; } });\nvar LogsByRetentionMonthlyUsage_1 = require(\"./models/LogsByRetentionMonthlyUsage\");\nObject.defineProperty(exports, \"LogsByRetentionMonthlyUsage\", { enumerable: true, get: function () { return LogsByRetentionMonthlyUsage_1.LogsByRetentionMonthlyUsage; } });\nvar LogsByRetentionOrgs_1 = require(\"./models/LogsByRetentionOrgs\");\nObject.defineProperty(exports, \"LogsByRetentionOrgs\", { enumerable: true, get: function () { return LogsByRetentionOrgs_1.LogsByRetentionOrgs; } });\nvar LogsByRetentionOrgUsage_1 = require(\"./models/LogsByRetentionOrgUsage\");\nObject.defineProperty(exports, \"LogsByRetentionOrgUsage\", { enumerable: true, get: function () { return LogsByRetentionOrgUsage_1.LogsByRetentionOrgUsage; } });\nvar LogsCategoryProcessor_1 = require(\"./models/LogsCategoryProcessor\");\nObject.defineProperty(exports, \"LogsCategoryProcessor\", { enumerable: true, get: function () { return LogsCategoryProcessor_1.LogsCategoryProcessor; } });\nvar LogsCategoryProcessorCategory_1 = require(\"./models/LogsCategoryProcessorCategory\");\nObject.defineProperty(exports, \"LogsCategoryProcessorCategory\", { enumerable: true, get: function () { return LogsCategoryProcessorCategory_1.LogsCategoryProcessorCategory; } });\nvar LogsDateRemapper_1 = require(\"./models/LogsDateRemapper\");\nObject.defineProperty(exports, \"LogsDateRemapper\", { enumerable: true, get: function () { return LogsDateRemapper_1.LogsDateRemapper; } });\nvar LogsExclusion_1 = require(\"./models/LogsExclusion\");\nObject.defineProperty(exports, \"LogsExclusion\", { enumerable: true, get: function () { return LogsExclusion_1.LogsExclusion; } });\nvar LogsExclusionFilter_1 = require(\"./models/LogsExclusionFilter\");\nObject.defineProperty(exports, \"LogsExclusionFilter\", { enumerable: true, get: function () { return LogsExclusionFilter_1.LogsExclusionFilter; } });\nvar LogsFilter_1 = require(\"./models/LogsFilter\");\nObject.defineProperty(exports, \"LogsFilter\", { enumerable: true, get: function () { return LogsFilter_1.LogsFilter; } });\nvar LogsGeoIPParser_1 = require(\"./models/LogsGeoIPParser\");\nObject.defineProperty(exports, \"LogsGeoIPParser\", { enumerable: true, get: function () { return LogsGeoIPParser_1.LogsGeoIPParser; } });\nvar LogsGrokParser_1 = require(\"./models/LogsGrokParser\");\nObject.defineProperty(exports, \"LogsGrokParser\", { enumerable: true, get: function () { return LogsGrokParser_1.LogsGrokParser; } });\nvar LogsGrokParserRules_1 = require(\"./models/LogsGrokParserRules\");\nObject.defineProperty(exports, \"LogsGrokParserRules\", { enumerable: true, get: function () { return LogsGrokParserRules_1.LogsGrokParserRules; } });\nvar LogsIndex_1 = require(\"./models/LogsIndex\");\nObject.defineProperty(exports, \"LogsIndex\", { enumerable: true, get: function () { return LogsIndex_1.LogsIndex; } });\nvar LogsIndexesOrder_1 = require(\"./models/LogsIndexesOrder\");\nObject.defineProperty(exports, \"LogsIndexesOrder\", { enumerable: true, get: function () { return LogsIndexesOrder_1.LogsIndexesOrder; } });\nvar LogsIndexListResponse_1 = require(\"./models/LogsIndexListResponse\");\nObject.defineProperty(exports, \"LogsIndexListResponse\", { enumerable: true, get: function () { return LogsIndexListResponse_1.LogsIndexListResponse; } });\nvar LogsIndexUpdateRequest_1 = require(\"./models/LogsIndexUpdateRequest\");\nObject.defineProperty(exports, \"LogsIndexUpdateRequest\", { enumerable: true, get: function () { return LogsIndexUpdateRequest_1.LogsIndexUpdateRequest; } });\nvar LogsListRequest_1 = require(\"./models/LogsListRequest\");\nObject.defineProperty(exports, \"LogsListRequest\", { enumerable: true, get: function () { return LogsListRequest_1.LogsListRequest; } });\nvar LogsListRequestTime_1 = require(\"./models/LogsListRequestTime\");\nObject.defineProperty(exports, \"LogsListRequestTime\", { enumerable: true, get: function () { return LogsListRequestTime_1.LogsListRequestTime; } });\nvar LogsListResponse_1 = require(\"./models/LogsListResponse\");\nObject.defineProperty(exports, \"LogsListResponse\", { enumerable: true, get: function () { return LogsListResponse_1.LogsListResponse; } });\nvar LogsLookupProcessor_1 = require(\"./models/LogsLookupProcessor\");\nObject.defineProperty(exports, \"LogsLookupProcessor\", { enumerable: true, get: function () { return LogsLookupProcessor_1.LogsLookupProcessor; } });\nvar LogsMessageRemapper_1 = require(\"./models/LogsMessageRemapper\");\nObject.defineProperty(exports, \"LogsMessageRemapper\", { enumerable: true, get: function () { return LogsMessageRemapper_1.LogsMessageRemapper; } });\nvar LogsPipeline_1 = require(\"./models/LogsPipeline\");\nObject.defineProperty(exports, \"LogsPipeline\", { enumerable: true, get: function () { return LogsPipeline_1.LogsPipeline; } });\nvar LogsPipelineProcessor_1 = require(\"./models/LogsPipelineProcessor\");\nObject.defineProperty(exports, \"LogsPipelineProcessor\", { enumerable: true, get: function () { return LogsPipelineProcessor_1.LogsPipelineProcessor; } });\nvar LogsPipelinesOrder_1 = require(\"./models/LogsPipelinesOrder\");\nObject.defineProperty(exports, \"LogsPipelinesOrder\", { enumerable: true, get: function () { return LogsPipelinesOrder_1.LogsPipelinesOrder; } });\nvar LogsQueryCompute_1 = require(\"./models/LogsQueryCompute\");\nObject.defineProperty(exports, \"LogsQueryCompute\", { enumerable: true, get: function () { return LogsQueryCompute_1.LogsQueryCompute; } });\nvar LogsRetentionAggSumUsage_1 = require(\"./models/LogsRetentionAggSumUsage\");\nObject.defineProperty(exports, \"LogsRetentionAggSumUsage\", { enumerable: true, get: function () { return LogsRetentionAggSumUsage_1.LogsRetentionAggSumUsage; } });\nvar LogsRetentionSumUsage_1 = require(\"./models/LogsRetentionSumUsage\");\nObject.defineProperty(exports, \"LogsRetentionSumUsage\", { enumerable: true, get: function () { return LogsRetentionSumUsage_1.LogsRetentionSumUsage; } });\nvar LogsServiceRemapper_1 = require(\"./models/LogsServiceRemapper\");\nObject.defineProperty(exports, \"LogsServiceRemapper\", { enumerable: true, get: function () { return LogsServiceRemapper_1.LogsServiceRemapper; } });\nvar LogsStatusRemapper_1 = require(\"./models/LogsStatusRemapper\");\nObject.defineProperty(exports, \"LogsStatusRemapper\", { enumerable: true, get: function () { return LogsStatusRemapper_1.LogsStatusRemapper; } });\nvar LogsStringBuilderProcessor_1 = require(\"./models/LogsStringBuilderProcessor\");\nObject.defineProperty(exports, \"LogsStringBuilderProcessor\", { enumerable: true, get: function () { return LogsStringBuilderProcessor_1.LogsStringBuilderProcessor; } });\nvar LogsTraceRemapper_1 = require(\"./models/LogsTraceRemapper\");\nObject.defineProperty(exports, \"LogsTraceRemapper\", { enumerable: true, get: function () { return LogsTraceRemapper_1.LogsTraceRemapper; } });\nvar LogStreamWidgetDefinition_1 = require(\"./models/LogStreamWidgetDefinition\");\nObject.defineProperty(exports, \"LogStreamWidgetDefinition\", { enumerable: true, get: function () { return LogStreamWidgetDefinition_1.LogStreamWidgetDefinition; } });\nvar LogsURLParser_1 = require(\"./models/LogsURLParser\");\nObject.defineProperty(exports, \"LogsURLParser\", { enumerable: true, get: function () { return LogsURLParser_1.LogsURLParser; } });\nvar LogsUserAgentParser_1 = require(\"./models/LogsUserAgentParser\");\nObject.defineProperty(exports, \"LogsUserAgentParser\", { enumerable: true, get: function () { return LogsUserAgentParser_1.LogsUserAgentParser; } });\nvar MatchingDowntime_1 = require(\"./models/MatchingDowntime\");\nObject.defineProperty(exports, \"MatchingDowntime\", { enumerable: true, get: function () { return MatchingDowntime_1.MatchingDowntime; } });\nvar MetricMetadata_1 = require(\"./models/MetricMetadata\");\nObject.defineProperty(exports, \"MetricMetadata\", { enumerable: true, get: function () { return MetricMetadata_1.MetricMetadata; } });\nvar MetricSearchResponse_1 = require(\"./models/MetricSearchResponse\");\nObject.defineProperty(exports, \"MetricSearchResponse\", { enumerable: true, get: function () { return MetricSearchResponse_1.MetricSearchResponse; } });\nvar MetricSearchResponseResults_1 = require(\"./models/MetricSearchResponseResults\");\nObject.defineProperty(exports, \"MetricSearchResponseResults\", { enumerable: true, get: function () { return MetricSearchResponseResults_1.MetricSearchResponseResults; } });\nvar MetricsListResponse_1 = require(\"./models/MetricsListResponse\");\nObject.defineProperty(exports, \"MetricsListResponse\", { enumerable: true, get: function () { return MetricsListResponse_1.MetricsListResponse; } });\nvar MetricsPayload_1 = require(\"./models/MetricsPayload\");\nObject.defineProperty(exports, \"MetricsPayload\", { enumerable: true, get: function () { return MetricsPayload_1.MetricsPayload; } });\nvar MetricsQueryMetadata_1 = require(\"./models/MetricsQueryMetadata\");\nObject.defineProperty(exports, \"MetricsQueryMetadata\", { enumerable: true, get: function () { return MetricsQueryMetadata_1.MetricsQueryMetadata; } });\nvar MetricsQueryResponse_1 = require(\"./models/MetricsQueryResponse\");\nObject.defineProperty(exports, \"MetricsQueryResponse\", { enumerable: true, get: function () { return MetricsQueryResponse_1.MetricsQueryResponse; } });\nvar MetricsQueryUnit_1 = require(\"./models/MetricsQueryUnit\");\nObject.defineProperty(exports, \"MetricsQueryUnit\", { enumerable: true, get: function () { return MetricsQueryUnit_1.MetricsQueryUnit; } });\nvar Monitor_1 = require(\"./models/Monitor\");\nObject.defineProperty(exports, \"Monitor\", { enumerable: true, get: function () { return Monitor_1.Monitor; } });\nvar MonitorFormulaAndFunctionEventQueryDefinition_1 = require(\"./models/MonitorFormulaAndFunctionEventQueryDefinition\");\nObject.defineProperty(exports, \"MonitorFormulaAndFunctionEventQueryDefinition\", { enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinition_1.MonitorFormulaAndFunctionEventQueryDefinition; } });\nvar MonitorFormulaAndFunctionEventQueryDefinitionCompute_1 = require(\"./models/MonitorFormulaAndFunctionEventQueryDefinitionCompute\");\nObject.defineProperty(exports, \"MonitorFormulaAndFunctionEventQueryDefinitionCompute\", { enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinitionCompute_1.MonitorFormulaAndFunctionEventQueryDefinitionCompute; } });\nvar MonitorFormulaAndFunctionEventQueryDefinitionSearch_1 = require(\"./models/MonitorFormulaAndFunctionEventQueryDefinitionSearch\");\nObject.defineProperty(exports, \"MonitorFormulaAndFunctionEventQueryDefinitionSearch\", { enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryDefinitionSearch_1.MonitorFormulaAndFunctionEventQueryDefinitionSearch; } });\nvar MonitorFormulaAndFunctionEventQueryGroupBy_1 = require(\"./models/MonitorFormulaAndFunctionEventQueryGroupBy\");\nObject.defineProperty(exports, \"MonitorFormulaAndFunctionEventQueryGroupBy\", { enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryGroupBy_1.MonitorFormulaAndFunctionEventQueryGroupBy; } });\nvar MonitorFormulaAndFunctionEventQueryGroupBySort_1 = require(\"./models/MonitorFormulaAndFunctionEventQueryGroupBySort\");\nObject.defineProperty(exports, \"MonitorFormulaAndFunctionEventQueryGroupBySort\", { enumerable: true, get: function () { return MonitorFormulaAndFunctionEventQueryGroupBySort_1.MonitorFormulaAndFunctionEventQueryGroupBySort; } });\nvar MonitorGroupSearchResponse_1 = require(\"./models/MonitorGroupSearchResponse\");\nObject.defineProperty(exports, \"MonitorGroupSearchResponse\", { enumerable: true, get: function () { return MonitorGroupSearchResponse_1.MonitorGroupSearchResponse; } });\nvar MonitorGroupSearchResponseCounts_1 = require(\"./models/MonitorGroupSearchResponseCounts\");\nObject.defineProperty(exports, \"MonitorGroupSearchResponseCounts\", { enumerable: true, get: function () { return MonitorGroupSearchResponseCounts_1.MonitorGroupSearchResponseCounts; } });\nvar MonitorGroupSearchResult_1 = require(\"./models/MonitorGroupSearchResult\");\nObject.defineProperty(exports, \"MonitorGroupSearchResult\", { enumerable: true, get: function () { return MonitorGroupSearchResult_1.MonitorGroupSearchResult; } });\nvar MonitorOptions_1 = require(\"./models/MonitorOptions\");\nObject.defineProperty(exports, \"MonitorOptions\", { enumerable: true, get: function () { return MonitorOptions_1.MonitorOptions; } });\nvar MonitorOptionsAggregation_1 = require(\"./models/MonitorOptionsAggregation\");\nObject.defineProperty(exports, \"MonitorOptionsAggregation\", { enumerable: true, get: function () { return MonitorOptionsAggregation_1.MonitorOptionsAggregation; } });\nvar MonitorOptionsSchedulingOptions_1 = require(\"./models/MonitorOptionsSchedulingOptions\");\nObject.defineProperty(exports, \"MonitorOptionsSchedulingOptions\", { enumerable: true, get: function () { return MonitorOptionsSchedulingOptions_1.MonitorOptionsSchedulingOptions; } });\nvar MonitorOptionsSchedulingOptionsEvaluationWindow_1 = require(\"./models/MonitorOptionsSchedulingOptionsEvaluationWindow\");\nObject.defineProperty(exports, \"MonitorOptionsSchedulingOptionsEvaluationWindow\", { enumerable: true, get: function () { return MonitorOptionsSchedulingOptionsEvaluationWindow_1.MonitorOptionsSchedulingOptionsEvaluationWindow; } });\nvar MonitorSearchCountItem_1 = require(\"./models/MonitorSearchCountItem\");\nObject.defineProperty(exports, \"MonitorSearchCountItem\", { enumerable: true, get: function () { return MonitorSearchCountItem_1.MonitorSearchCountItem; } });\nvar MonitorSearchResponse_1 = require(\"./models/MonitorSearchResponse\");\nObject.defineProperty(exports, \"MonitorSearchResponse\", { enumerable: true, get: function () { return MonitorSearchResponse_1.MonitorSearchResponse; } });\nvar MonitorSearchResponseCounts_1 = require(\"./models/MonitorSearchResponseCounts\");\nObject.defineProperty(exports, \"MonitorSearchResponseCounts\", { enumerable: true, get: function () { return MonitorSearchResponseCounts_1.MonitorSearchResponseCounts; } });\nvar MonitorSearchResponseMetadata_1 = require(\"./models/MonitorSearchResponseMetadata\");\nObject.defineProperty(exports, \"MonitorSearchResponseMetadata\", { enumerable: true, get: function () { return MonitorSearchResponseMetadata_1.MonitorSearchResponseMetadata; } });\nvar MonitorSearchResult_1 = require(\"./models/MonitorSearchResult\");\nObject.defineProperty(exports, \"MonitorSearchResult\", { enumerable: true, get: function () { return MonitorSearchResult_1.MonitorSearchResult; } });\nvar MonitorSearchResultNotification_1 = require(\"./models/MonitorSearchResultNotification\");\nObject.defineProperty(exports, \"MonitorSearchResultNotification\", { enumerable: true, get: function () { return MonitorSearchResultNotification_1.MonitorSearchResultNotification; } });\nvar MonitorState_1 = require(\"./models/MonitorState\");\nObject.defineProperty(exports, \"MonitorState\", { enumerable: true, get: function () { return MonitorState_1.MonitorState; } });\nvar MonitorStateGroup_1 = require(\"./models/MonitorStateGroup\");\nObject.defineProperty(exports, \"MonitorStateGroup\", { enumerable: true, get: function () { return MonitorStateGroup_1.MonitorStateGroup; } });\nvar MonitorSummaryWidgetDefinition_1 = require(\"./models/MonitorSummaryWidgetDefinition\");\nObject.defineProperty(exports, \"MonitorSummaryWidgetDefinition\", { enumerable: true, get: function () { return MonitorSummaryWidgetDefinition_1.MonitorSummaryWidgetDefinition; } });\nvar MonitorThresholds_1 = require(\"./models/MonitorThresholds\");\nObject.defineProperty(exports, \"MonitorThresholds\", { enumerable: true, get: function () { return MonitorThresholds_1.MonitorThresholds; } });\nvar MonitorThresholdWindowOptions_1 = require(\"./models/MonitorThresholdWindowOptions\");\nObject.defineProperty(exports, \"MonitorThresholdWindowOptions\", { enumerable: true, get: function () { return MonitorThresholdWindowOptions_1.MonitorThresholdWindowOptions; } });\nvar MonitorUpdateRequest_1 = require(\"./models/MonitorUpdateRequest\");\nObject.defineProperty(exports, \"MonitorUpdateRequest\", { enumerable: true, get: function () { return MonitorUpdateRequest_1.MonitorUpdateRequest; } });\nvar MonthlyUsageAttributionBody_1 = require(\"./models/MonthlyUsageAttributionBody\");\nObject.defineProperty(exports, \"MonthlyUsageAttributionBody\", { enumerable: true, get: function () { return MonthlyUsageAttributionBody_1.MonthlyUsageAttributionBody; } });\nvar MonthlyUsageAttributionMetadata_1 = require(\"./models/MonthlyUsageAttributionMetadata\");\nObject.defineProperty(exports, \"MonthlyUsageAttributionMetadata\", { enumerable: true, get: function () { return MonthlyUsageAttributionMetadata_1.MonthlyUsageAttributionMetadata; } });\nvar MonthlyUsageAttributionPagination_1 = require(\"./models/MonthlyUsageAttributionPagination\");\nObject.defineProperty(exports, \"MonthlyUsageAttributionPagination\", { enumerable: true, get: function () { return MonthlyUsageAttributionPagination_1.MonthlyUsageAttributionPagination; } });\nvar MonthlyUsageAttributionResponse_1 = require(\"./models/MonthlyUsageAttributionResponse\");\nObject.defineProperty(exports, \"MonthlyUsageAttributionResponse\", { enumerable: true, get: function () { return MonthlyUsageAttributionResponse_1.MonthlyUsageAttributionResponse; } });\nvar MonthlyUsageAttributionValues_1 = require(\"./models/MonthlyUsageAttributionValues\");\nObject.defineProperty(exports, \"MonthlyUsageAttributionValues\", { enumerable: true, get: function () { return MonthlyUsageAttributionValues_1.MonthlyUsageAttributionValues; } });\nvar NotebookAbsoluteTime_1 = require(\"./models/NotebookAbsoluteTime\");\nObject.defineProperty(exports, \"NotebookAbsoluteTime\", { enumerable: true, get: function () { return NotebookAbsoluteTime_1.NotebookAbsoluteTime; } });\nvar NotebookAuthor_1 = require(\"./models/NotebookAuthor\");\nObject.defineProperty(exports, \"NotebookAuthor\", { enumerable: true, get: function () { return NotebookAuthor_1.NotebookAuthor; } });\nvar NotebookCellCreateRequest_1 = require(\"./models/NotebookCellCreateRequest\");\nObject.defineProperty(exports, \"NotebookCellCreateRequest\", { enumerable: true, get: function () { return NotebookCellCreateRequest_1.NotebookCellCreateRequest; } });\nvar NotebookCellResponse_1 = require(\"./models/NotebookCellResponse\");\nObject.defineProperty(exports, \"NotebookCellResponse\", { enumerable: true, get: function () { return NotebookCellResponse_1.NotebookCellResponse; } });\nvar NotebookCellUpdateRequest_1 = require(\"./models/NotebookCellUpdateRequest\");\nObject.defineProperty(exports, \"NotebookCellUpdateRequest\", { enumerable: true, get: function () { return NotebookCellUpdateRequest_1.NotebookCellUpdateRequest; } });\nvar NotebookCreateData_1 = require(\"./models/NotebookCreateData\");\nObject.defineProperty(exports, \"NotebookCreateData\", { enumerable: true, get: function () { return NotebookCreateData_1.NotebookCreateData; } });\nvar NotebookCreateDataAttributes_1 = require(\"./models/NotebookCreateDataAttributes\");\nObject.defineProperty(exports, \"NotebookCreateDataAttributes\", { enumerable: true, get: function () { return NotebookCreateDataAttributes_1.NotebookCreateDataAttributes; } });\nvar NotebookCreateRequest_1 = require(\"./models/NotebookCreateRequest\");\nObject.defineProperty(exports, \"NotebookCreateRequest\", { enumerable: true, get: function () { return NotebookCreateRequest_1.NotebookCreateRequest; } });\nvar NotebookDistributionCellAttributes_1 = require(\"./models/NotebookDistributionCellAttributes\");\nObject.defineProperty(exports, \"NotebookDistributionCellAttributes\", { enumerable: true, get: function () { return NotebookDistributionCellAttributes_1.NotebookDistributionCellAttributes; } });\nvar NotebookHeatMapCellAttributes_1 = require(\"./models/NotebookHeatMapCellAttributes\");\nObject.defineProperty(exports, \"NotebookHeatMapCellAttributes\", { enumerable: true, get: function () { return NotebookHeatMapCellAttributes_1.NotebookHeatMapCellAttributes; } });\nvar NotebookLogStreamCellAttributes_1 = require(\"./models/NotebookLogStreamCellAttributes\");\nObject.defineProperty(exports, \"NotebookLogStreamCellAttributes\", { enumerable: true, get: function () { return NotebookLogStreamCellAttributes_1.NotebookLogStreamCellAttributes; } });\nvar NotebookMarkdownCellAttributes_1 = require(\"./models/NotebookMarkdownCellAttributes\");\nObject.defineProperty(exports, \"NotebookMarkdownCellAttributes\", { enumerable: true, get: function () { return NotebookMarkdownCellAttributes_1.NotebookMarkdownCellAttributes; } });\nvar NotebookMarkdownCellDefinition_1 = require(\"./models/NotebookMarkdownCellDefinition\");\nObject.defineProperty(exports, \"NotebookMarkdownCellDefinition\", { enumerable: true, get: function () { return NotebookMarkdownCellDefinition_1.NotebookMarkdownCellDefinition; } });\nvar NotebookMetadata_1 = require(\"./models/NotebookMetadata\");\nObject.defineProperty(exports, \"NotebookMetadata\", { enumerable: true, get: function () { return NotebookMetadata_1.NotebookMetadata; } });\nvar NotebookRelativeTime_1 = require(\"./models/NotebookRelativeTime\");\nObject.defineProperty(exports, \"NotebookRelativeTime\", { enumerable: true, get: function () { return NotebookRelativeTime_1.NotebookRelativeTime; } });\nvar NotebookResponse_1 = require(\"./models/NotebookResponse\");\nObject.defineProperty(exports, \"NotebookResponse\", { enumerable: true, get: function () { return NotebookResponse_1.NotebookResponse; } });\nvar NotebookResponseData_1 = require(\"./models/NotebookResponseData\");\nObject.defineProperty(exports, \"NotebookResponseData\", { enumerable: true, get: function () { return NotebookResponseData_1.NotebookResponseData; } });\nvar NotebookResponseDataAttributes_1 = require(\"./models/NotebookResponseDataAttributes\");\nObject.defineProperty(exports, \"NotebookResponseDataAttributes\", { enumerable: true, get: function () { return NotebookResponseDataAttributes_1.NotebookResponseDataAttributes; } });\nvar NotebookSplitBy_1 = require(\"./models/NotebookSplitBy\");\nObject.defineProperty(exports, \"NotebookSplitBy\", { enumerable: true, get: function () { return NotebookSplitBy_1.NotebookSplitBy; } });\nvar NotebooksResponse_1 = require(\"./models/NotebooksResponse\");\nObject.defineProperty(exports, \"NotebooksResponse\", { enumerable: true, get: function () { return NotebooksResponse_1.NotebooksResponse; } });\nvar NotebooksResponseData_1 = require(\"./models/NotebooksResponseData\");\nObject.defineProperty(exports, \"NotebooksResponseData\", { enumerable: true, get: function () { return NotebooksResponseData_1.NotebooksResponseData; } });\nvar NotebooksResponseDataAttributes_1 = require(\"./models/NotebooksResponseDataAttributes\");\nObject.defineProperty(exports, \"NotebooksResponseDataAttributes\", { enumerable: true, get: function () { return NotebooksResponseDataAttributes_1.NotebooksResponseDataAttributes; } });\nvar NotebooksResponseMeta_1 = require(\"./models/NotebooksResponseMeta\");\nObject.defineProperty(exports, \"NotebooksResponseMeta\", { enumerable: true, get: function () { return NotebooksResponseMeta_1.NotebooksResponseMeta; } });\nvar NotebooksResponsePage_1 = require(\"./models/NotebooksResponsePage\");\nObject.defineProperty(exports, \"NotebooksResponsePage\", { enumerable: true, get: function () { return NotebooksResponsePage_1.NotebooksResponsePage; } });\nvar NotebookTimeseriesCellAttributes_1 = require(\"./models/NotebookTimeseriesCellAttributes\");\nObject.defineProperty(exports, \"NotebookTimeseriesCellAttributes\", { enumerable: true, get: function () { return NotebookTimeseriesCellAttributes_1.NotebookTimeseriesCellAttributes; } });\nvar NotebookToplistCellAttributes_1 = require(\"./models/NotebookToplistCellAttributes\");\nObject.defineProperty(exports, \"NotebookToplistCellAttributes\", { enumerable: true, get: function () { return NotebookToplistCellAttributes_1.NotebookToplistCellAttributes; } });\nvar NotebookUpdateData_1 = require(\"./models/NotebookUpdateData\");\nObject.defineProperty(exports, \"NotebookUpdateData\", { enumerable: true, get: function () { return NotebookUpdateData_1.NotebookUpdateData; } });\nvar NotebookUpdateDataAttributes_1 = require(\"./models/NotebookUpdateDataAttributes\");\nObject.defineProperty(exports, \"NotebookUpdateDataAttributes\", { enumerable: true, get: function () { return NotebookUpdateDataAttributes_1.NotebookUpdateDataAttributes; } });\nvar NotebookUpdateRequest_1 = require(\"./models/NotebookUpdateRequest\");\nObject.defineProperty(exports, \"NotebookUpdateRequest\", { enumerable: true, get: function () { return NotebookUpdateRequest_1.NotebookUpdateRequest; } });\nvar NoteWidgetDefinition_1 = require(\"./models/NoteWidgetDefinition\");\nObject.defineProperty(exports, \"NoteWidgetDefinition\", { enumerable: true, get: function () { return NoteWidgetDefinition_1.NoteWidgetDefinition; } });\nvar Organization_1 = require(\"./models/Organization\");\nObject.defineProperty(exports, \"Organization\", { enumerable: true, get: function () { return Organization_1.Organization; } });\nvar OrganizationBilling_1 = require(\"./models/OrganizationBilling\");\nObject.defineProperty(exports, \"OrganizationBilling\", { enumerable: true, get: function () { return OrganizationBilling_1.OrganizationBilling; } });\nvar OrganizationCreateBody_1 = require(\"./models/OrganizationCreateBody\");\nObject.defineProperty(exports, \"OrganizationCreateBody\", { enumerable: true, get: function () { return OrganizationCreateBody_1.OrganizationCreateBody; } });\nvar OrganizationCreateResponse_1 = require(\"./models/OrganizationCreateResponse\");\nObject.defineProperty(exports, \"OrganizationCreateResponse\", { enumerable: true, get: function () { return OrganizationCreateResponse_1.OrganizationCreateResponse; } });\nvar OrganizationListResponse_1 = require(\"./models/OrganizationListResponse\");\nObject.defineProperty(exports, \"OrganizationListResponse\", { enumerable: true, get: function () { return OrganizationListResponse_1.OrganizationListResponse; } });\nvar OrganizationResponse_1 = require(\"./models/OrganizationResponse\");\nObject.defineProperty(exports, \"OrganizationResponse\", { enumerable: true, get: function () { return OrganizationResponse_1.OrganizationResponse; } });\nvar OrganizationSettings_1 = require(\"./models/OrganizationSettings\");\nObject.defineProperty(exports, \"OrganizationSettings\", { enumerable: true, get: function () { return OrganizationSettings_1.OrganizationSettings; } });\nvar OrganizationSettingsSaml_1 = require(\"./models/OrganizationSettingsSaml\");\nObject.defineProperty(exports, \"OrganizationSettingsSaml\", { enumerable: true, get: function () { return OrganizationSettingsSaml_1.OrganizationSettingsSaml; } });\nvar OrganizationSettingsSamlAutocreateUsersDomains_1 = require(\"./models/OrganizationSettingsSamlAutocreateUsersDomains\");\nObject.defineProperty(exports, \"OrganizationSettingsSamlAutocreateUsersDomains\", { enumerable: true, get: function () { return OrganizationSettingsSamlAutocreateUsersDomains_1.OrganizationSettingsSamlAutocreateUsersDomains; } });\nvar OrganizationSettingsSamlIdpInitiatedLogin_1 = require(\"./models/OrganizationSettingsSamlIdpInitiatedLogin\");\nObject.defineProperty(exports, \"OrganizationSettingsSamlIdpInitiatedLogin\", { enumerable: true, get: function () { return OrganizationSettingsSamlIdpInitiatedLogin_1.OrganizationSettingsSamlIdpInitiatedLogin; } });\nvar OrganizationSettingsSamlStrictMode_1 = require(\"./models/OrganizationSettingsSamlStrictMode\");\nObject.defineProperty(exports, \"OrganizationSettingsSamlStrictMode\", { enumerable: true, get: function () { return OrganizationSettingsSamlStrictMode_1.OrganizationSettingsSamlStrictMode; } });\nvar OrganizationSubscription_1 = require(\"./models/OrganizationSubscription\");\nObject.defineProperty(exports, \"OrganizationSubscription\", { enumerable: true, get: function () { return OrganizationSubscription_1.OrganizationSubscription; } });\nvar OrgDowngradedResponse_1 = require(\"./models/OrgDowngradedResponse\");\nObject.defineProperty(exports, \"OrgDowngradedResponse\", { enumerable: true, get: function () { return OrgDowngradedResponse_1.OrgDowngradedResponse; } });\nvar PagerDutyService_1 = require(\"./models/PagerDutyService\");\nObject.defineProperty(exports, \"PagerDutyService\", { enumerable: true, get: function () { return PagerDutyService_1.PagerDutyService; } });\nvar PagerDutyServiceKey_1 = require(\"./models/PagerDutyServiceKey\");\nObject.defineProperty(exports, \"PagerDutyServiceKey\", { enumerable: true, get: function () { return PagerDutyServiceKey_1.PagerDutyServiceKey; } });\nvar PagerDutyServiceName_1 = require(\"./models/PagerDutyServiceName\");\nObject.defineProperty(exports, \"PagerDutyServiceName\", { enumerable: true, get: function () { return PagerDutyServiceName_1.PagerDutyServiceName; } });\nvar Pagination_1 = require(\"./models/Pagination\");\nObject.defineProperty(exports, \"Pagination\", { enumerable: true, get: function () { return Pagination_1.Pagination; } });\nvar ProcessQueryDefinition_1 = require(\"./models/ProcessQueryDefinition\");\nObject.defineProperty(exports, \"ProcessQueryDefinition\", { enumerable: true, get: function () { return ProcessQueryDefinition_1.ProcessQueryDefinition; } });\nvar QueryValueWidgetDefinition_1 = require(\"./models/QueryValueWidgetDefinition\");\nObject.defineProperty(exports, \"QueryValueWidgetDefinition\", { enumerable: true, get: function () { return QueryValueWidgetDefinition_1.QueryValueWidgetDefinition; } });\nvar QueryValueWidgetRequest_1 = require(\"./models/QueryValueWidgetRequest\");\nObject.defineProperty(exports, \"QueryValueWidgetRequest\", { enumerable: true, get: function () { return QueryValueWidgetRequest_1.QueryValueWidgetRequest; } });\nvar ReferenceTableLogsLookupProcessor_1 = require(\"./models/ReferenceTableLogsLookupProcessor\");\nObject.defineProperty(exports, \"ReferenceTableLogsLookupProcessor\", { enumerable: true, get: function () { return ReferenceTableLogsLookupProcessor_1.ReferenceTableLogsLookupProcessor; } });\nvar ResponseMetaAttributes_1 = require(\"./models/ResponseMetaAttributes\");\nObject.defineProperty(exports, \"ResponseMetaAttributes\", { enumerable: true, get: function () { return ResponseMetaAttributes_1.ResponseMetaAttributes; } });\nvar RunWorkflowWidgetDefinition_1 = require(\"./models/RunWorkflowWidgetDefinition\");\nObject.defineProperty(exports, \"RunWorkflowWidgetDefinition\", { enumerable: true, get: function () { return RunWorkflowWidgetDefinition_1.RunWorkflowWidgetDefinition; } });\nvar RunWorkflowWidgetInput_1 = require(\"./models/RunWorkflowWidgetInput\");\nObject.defineProperty(exports, \"RunWorkflowWidgetInput\", { enumerable: true, get: function () { return RunWorkflowWidgetInput_1.RunWorkflowWidgetInput; } });\nvar ScatterPlotRequest_1 = require(\"./models/ScatterPlotRequest\");\nObject.defineProperty(exports, \"ScatterPlotRequest\", { enumerable: true, get: function () { return ScatterPlotRequest_1.ScatterPlotRequest; } });\nvar ScatterplotTableRequest_1 = require(\"./models/ScatterplotTableRequest\");\nObject.defineProperty(exports, \"ScatterplotTableRequest\", { enumerable: true, get: function () { return ScatterplotTableRequest_1.ScatterplotTableRequest; } });\nvar ScatterPlotWidgetDefinition_1 = require(\"./models/ScatterPlotWidgetDefinition\");\nObject.defineProperty(exports, \"ScatterPlotWidgetDefinition\", { enumerable: true, get: function () { return ScatterPlotWidgetDefinition_1.ScatterPlotWidgetDefinition; } });\nvar ScatterPlotWidgetDefinitionRequests_1 = require(\"./models/ScatterPlotWidgetDefinitionRequests\");\nObject.defineProperty(exports, \"ScatterPlotWidgetDefinitionRequests\", { enumerable: true, get: function () { return ScatterPlotWidgetDefinitionRequests_1.ScatterPlotWidgetDefinitionRequests; } });\nvar ScatterplotWidgetFormula_1 = require(\"./models/ScatterplotWidgetFormula\");\nObject.defineProperty(exports, \"ScatterplotWidgetFormula\", { enumerable: true, get: function () { return ScatterplotWidgetFormula_1.ScatterplotWidgetFormula; } });\nvar SearchServiceLevelObjective_1 = require(\"./models/SearchServiceLevelObjective\");\nObject.defineProperty(exports, \"SearchServiceLevelObjective\", { enumerable: true, get: function () { return SearchServiceLevelObjective_1.SearchServiceLevelObjective; } });\nvar SearchServiceLevelObjectiveAttributes_1 = require(\"./models/SearchServiceLevelObjectiveAttributes\");\nObject.defineProperty(exports, \"SearchServiceLevelObjectiveAttributes\", { enumerable: true, get: function () { return SearchServiceLevelObjectiveAttributes_1.SearchServiceLevelObjectiveAttributes; } });\nvar SearchServiceLevelObjectiveData_1 = require(\"./models/SearchServiceLevelObjectiveData\");\nObject.defineProperty(exports, \"SearchServiceLevelObjectiveData\", { enumerable: true, get: function () { return SearchServiceLevelObjectiveData_1.SearchServiceLevelObjectiveData; } });\nvar SearchSLOQuery_1 = require(\"./models/SearchSLOQuery\");\nObject.defineProperty(exports, \"SearchSLOQuery\", { enumerable: true, get: function () { return SearchSLOQuery_1.SearchSLOQuery; } });\nvar SearchSLOResponse_1 = require(\"./models/SearchSLOResponse\");\nObject.defineProperty(exports, \"SearchSLOResponse\", { enumerable: true, get: function () { return SearchSLOResponse_1.SearchSLOResponse; } });\nvar SearchSLOResponseData_1 = require(\"./models/SearchSLOResponseData\");\nObject.defineProperty(exports, \"SearchSLOResponseData\", { enumerable: true, get: function () { return SearchSLOResponseData_1.SearchSLOResponseData; } });\nvar SearchSLOResponseDataAttributes_1 = require(\"./models/SearchSLOResponseDataAttributes\");\nObject.defineProperty(exports, \"SearchSLOResponseDataAttributes\", { enumerable: true, get: function () { return SearchSLOResponseDataAttributes_1.SearchSLOResponseDataAttributes; } });\nvar SearchSLOResponseDataAttributesFacets_1 = require(\"./models/SearchSLOResponseDataAttributesFacets\");\nObject.defineProperty(exports, \"SearchSLOResponseDataAttributesFacets\", { enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacets_1.SearchSLOResponseDataAttributesFacets; } });\nvar SearchSLOResponseDataAttributesFacetsObjectInt_1 = require(\"./models/SearchSLOResponseDataAttributesFacetsObjectInt\");\nObject.defineProperty(exports, \"SearchSLOResponseDataAttributesFacetsObjectInt\", { enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacetsObjectInt_1.SearchSLOResponseDataAttributesFacetsObjectInt; } });\nvar SearchSLOResponseDataAttributesFacetsObjectString_1 = require(\"./models/SearchSLOResponseDataAttributesFacetsObjectString\");\nObject.defineProperty(exports, \"SearchSLOResponseDataAttributesFacetsObjectString\", { enumerable: true, get: function () { return SearchSLOResponseDataAttributesFacetsObjectString_1.SearchSLOResponseDataAttributesFacetsObjectString; } });\nvar SearchSLOResponseLinks_1 = require(\"./models/SearchSLOResponseLinks\");\nObject.defineProperty(exports, \"SearchSLOResponseLinks\", { enumerable: true, get: function () { return SearchSLOResponseLinks_1.SearchSLOResponseLinks; } });\nvar SearchSLOResponseMeta_1 = require(\"./models/SearchSLOResponseMeta\");\nObject.defineProperty(exports, \"SearchSLOResponseMeta\", { enumerable: true, get: function () { return SearchSLOResponseMeta_1.SearchSLOResponseMeta; } });\nvar SearchSLOResponseMetaPage_1 = require(\"./models/SearchSLOResponseMetaPage\");\nObject.defineProperty(exports, \"SearchSLOResponseMetaPage\", { enumerable: true, get: function () { return SearchSLOResponseMetaPage_1.SearchSLOResponseMetaPage; } });\nvar SearchSLOThreshold_1 = require(\"./models/SearchSLOThreshold\");\nObject.defineProperty(exports, \"SearchSLOThreshold\", { enumerable: true, get: function () { return SearchSLOThreshold_1.SearchSLOThreshold; } });\nvar SelectableTemplateVariableItems_1 = require(\"./models/SelectableTemplateVariableItems\");\nObject.defineProperty(exports, \"SelectableTemplateVariableItems\", { enumerable: true, get: function () { return SelectableTemplateVariableItems_1.SelectableTemplateVariableItems; } });\nvar Series_1 = require(\"./models/Series\");\nObject.defineProperty(exports, \"Series\", { enumerable: true, get: function () { return Series_1.Series; } });\nvar ServiceCheck_1 = require(\"./models/ServiceCheck\");\nObject.defineProperty(exports, \"ServiceCheck\", { enumerable: true, get: function () { return ServiceCheck_1.ServiceCheck; } });\nvar ServiceLevelObjective_1 = require(\"./models/ServiceLevelObjective\");\nObject.defineProperty(exports, \"ServiceLevelObjective\", { enumerable: true, get: function () { return ServiceLevelObjective_1.ServiceLevelObjective; } });\nvar ServiceLevelObjectiveQuery_1 = require(\"./models/ServiceLevelObjectiveQuery\");\nObject.defineProperty(exports, \"ServiceLevelObjectiveQuery\", { enumerable: true, get: function () { return ServiceLevelObjectiveQuery_1.ServiceLevelObjectiveQuery; } });\nvar ServiceLevelObjectiveRequest_1 = require(\"./models/ServiceLevelObjectiveRequest\");\nObject.defineProperty(exports, \"ServiceLevelObjectiveRequest\", { enumerable: true, get: function () { return ServiceLevelObjectiveRequest_1.ServiceLevelObjectiveRequest; } });\nvar ServiceMapWidgetDefinition_1 = require(\"./models/ServiceMapWidgetDefinition\");\nObject.defineProperty(exports, \"ServiceMapWidgetDefinition\", { enumerable: true, get: function () { return ServiceMapWidgetDefinition_1.ServiceMapWidgetDefinition; } });\nvar ServiceSummaryWidgetDefinition_1 = require(\"./models/ServiceSummaryWidgetDefinition\");\nObject.defineProperty(exports, \"ServiceSummaryWidgetDefinition\", { enumerable: true, get: function () { return ServiceSummaryWidgetDefinition_1.ServiceSummaryWidgetDefinition; } });\nvar SharedDashboard_1 = require(\"./models/SharedDashboard\");\nObject.defineProperty(exports, \"SharedDashboard\", { enumerable: true, get: function () { return SharedDashboard_1.SharedDashboard; } });\nvar SharedDashboardAuthor_1 = require(\"./models/SharedDashboardAuthor\");\nObject.defineProperty(exports, \"SharedDashboardAuthor\", { enumerable: true, get: function () { return SharedDashboardAuthor_1.SharedDashboardAuthor; } });\nvar SharedDashboardInvites_1 = require(\"./models/SharedDashboardInvites\");\nObject.defineProperty(exports, \"SharedDashboardInvites\", { enumerable: true, get: function () { return SharedDashboardInvites_1.SharedDashboardInvites; } });\nvar SharedDashboardInvitesDataObject_1 = require(\"./models/SharedDashboardInvitesDataObject\");\nObject.defineProperty(exports, \"SharedDashboardInvitesDataObject\", { enumerable: true, get: function () { return SharedDashboardInvitesDataObject_1.SharedDashboardInvitesDataObject; } });\nvar SharedDashboardInvitesDataObjectAttributes_1 = require(\"./models/SharedDashboardInvitesDataObjectAttributes\");\nObject.defineProperty(exports, \"SharedDashboardInvitesDataObjectAttributes\", { enumerable: true, get: function () { return SharedDashboardInvitesDataObjectAttributes_1.SharedDashboardInvitesDataObjectAttributes; } });\nvar SharedDashboardInvitesMeta_1 = require(\"./models/SharedDashboardInvitesMeta\");\nObject.defineProperty(exports, \"SharedDashboardInvitesMeta\", { enumerable: true, get: function () { return SharedDashboardInvitesMeta_1.SharedDashboardInvitesMeta; } });\nvar SharedDashboardInvitesMetaPage_1 = require(\"./models/SharedDashboardInvitesMetaPage\");\nObject.defineProperty(exports, \"SharedDashboardInvitesMetaPage\", { enumerable: true, get: function () { return SharedDashboardInvitesMetaPage_1.SharedDashboardInvitesMetaPage; } });\nvar SharedDashboardUpdateRequest_1 = require(\"./models/SharedDashboardUpdateRequest\");\nObject.defineProperty(exports, \"SharedDashboardUpdateRequest\", { enumerable: true, get: function () { return SharedDashboardUpdateRequest_1.SharedDashboardUpdateRequest; } });\nvar SharedDashboardUpdateRequestGlobalTime_1 = require(\"./models/SharedDashboardUpdateRequestGlobalTime\");\nObject.defineProperty(exports, \"SharedDashboardUpdateRequestGlobalTime\", { enumerable: true, get: function () { return SharedDashboardUpdateRequestGlobalTime_1.SharedDashboardUpdateRequestGlobalTime; } });\nvar SignalAssigneeUpdateRequest_1 = require(\"./models/SignalAssigneeUpdateRequest\");\nObject.defineProperty(exports, \"SignalAssigneeUpdateRequest\", { enumerable: true, get: function () { return SignalAssigneeUpdateRequest_1.SignalAssigneeUpdateRequest; } });\nvar SignalStateUpdateRequest_1 = require(\"./models/SignalStateUpdateRequest\");\nObject.defineProperty(exports, \"SignalStateUpdateRequest\", { enumerable: true, get: function () { return SignalStateUpdateRequest_1.SignalStateUpdateRequest; } });\nvar SlackIntegrationChannel_1 = require(\"./models/SlackIntegrationChannel\");\nObject.defineProperty(exports, \"SlackIntegrationChannel\", { enumerable: true, get: function () { return SlackIntegrationChannel_1.SlackIntegrationChannel; } });\nvar SlackIntegrationChannelDisplay_1 = require(\"./models/SlackIntegrationChannelDisplay\");\nObject.defineProperty(exports, \"SlackIntegrationChannelDisplay\", { enumerable: true, get: function () { return SlackIntegrationChannelDisplay_1.SlackIntegrationChannelDisplay; } });\nvar SLOBulkDeleteError_1 = require(\"./models/SLOBulkDeleteError\");\nObject.defineProperty(exports, \"SLOBulkDeleteError\", { enumerable: true, get: function () { return SLOBulkDeleteError_1.SLOBulkDeleteError; } });\nvar SLOBulkDeleteResponse_1 = require(\"./models/SLOBulkDeleteResponse\");\nObject.defineProperty(exports, \"SLOBulkDeleteResponse\", { enumerable: true, get: function () { return SLOBulkDeleteResponse_1.SLOBulkDeleteResponse; } });\nvar SLOBulkDeleteResponseData_1 = require(\"./models/SLOBulkDeleteResponseData\");\nObject.defineProperty(exports, \"SLOBulkDeleteResponseData\", { enumerable: true, get: function () { return SLOBulkDeleteResponseData_1.SLOBulkDeleteResponseData; } });\nvar SLOCorrection_1 = require(\"./models/SLOCorrection\");\nObject.defineProperty(exports, \"SLOCorrection\", { enumerable: true, get: function () { return SLOCorrection_1.SLOCorrection; } });\nvar SLOCorrectionCreateData_1 = require(\"./models/SLOCorrectionCreateData\");\nObject.defineProperty(exports, \"SLOCorrectionCreateData\", { enumerable: true, get: function () { return SLOCorrectionCreateData_1.SLOCorrectionCreateData; } });\nvar SLOCorrectionCreateRequest_1 = require(\"./models/SLOCorrectionCreateRequest\");\nObject.defineProperty(exports, \"SLOCorrectionCreateRequest\", { enumerable: true, get: function () { return SLOCorrectionCreateRequest_1.SLOCorrectionCreateRequest; } });\nvar SLOCorrectionCreateRequestAttributes_1 = require(\"./models/SLOCorrectionCreateRequestAttributes\");\nObject.defineProperty(exports, \"SLOCorrectionCreateRequestAttributes\", { enumerable: true, get: function () { return SLOCorrectionCreateRequestAttributes_1.SLOCorrectionCreateRequestAttributes; } });\nvar SLOCorrectionListResponse_1 = require(\"./models/SLOCorrectionListResponse\");\nObject.defineProperty(exports, \"SLOCorrectionListResponse\", { enumerable: true, get: function () { return SLOCorrectionListResponse_1.SLOCorrectionListResponse; } });\nvar SLOCorrectionResponse_1 = require(\"./models/SLOCorrectionResponse\");\nObject.defineProperty(exports, \"SLOCorrectionResponse\", { enumerable: true, get: function () { return SLOCorrectionResponse_1.SLOCorrectionResponse; } });\nvar SLOCorrectionResponseAttributes_1 = require(\"./models/SLOCorrectionResponseAttributes\");\nObject.defineProperty(exports, \"SLOCorrectionResponseAttributes\", { enumerable: true, get: function () { return SLOCorrectionResponseAttributes_1.SLOCorrectionResponseAttributes; } });\nvar SLOCorrectionResponseAttributesModifier_1 = require(\"./models/SLOCorrectionResponseAttributesModifier\");\nObject.defineProperty(exports, \"SLOCorrectionResponseAttributesModifier\", { enumerable: true, get: function () { return SLOCorrectionResponseAttributesModifier_1.SLOCorrectionResponseAttributesModifier; } });\nvar SLOCorrectionUpdateData_1 = require(\"./models/SLOCorrectionUpdateData\");\nObject.defineProperty(exports, \"SLOCorrectionUpdateData\", { enumerable: true, get: function () { return SLOCorrectionUpdateData_1.SLOCorrectionUpdateData; } });\nvar SLOCorrectionUpdateRequest_1 = require(\"./models/SLOCorrectionUpdateRequest\");\nObject.defineProperty(exports, \"SLOCorrectionUpdateRequest\", { enumerable: true, get: function () { return SLOCorrectionUpdateRequest_1.SLOCorrectionUpdateRequest; } });\nvar SLOCorrectionUpdateRequestAttributes_1 = require(\"./models/SLOCorrectionUpdateRequestAttributes\");\nObject.defineProperty(exports, \"SLOCorrectionUpdateRequestAttributes\", { enumerable: true, get: function () { return SLOCorrectionUpdateRequestAttributes_1.SLOCorrectionUpdateRequestAttributes; } });\nvar SLOCreator_1 = require(\"./models/SLOCreator\");\nObject.defineProperty(exports, \"SLOCreator\", { enumerable: true, get: function () { return SLOCreator_1.SLOCreator; } });\nvar SLODeleteResponse_1 = require(\"./models/SLODeleteResponse\");\nObject.defineProperty(exports, \"SLODeleteResponse\", { enumerable: true, get: function () { return SLODeleteResponse_1.SLODeleteResponse; } });\nvar SLOHistoryMetrics_1 = require(\"./models/SLOHistoryMetrics\");\nObject.defineProperty(exports, \"SLOHistoryMetrics\", { enumerable: true, get: function () { return SLOHistoryMetrics_1.SLOHistoryMetrics; } });\nvar SLOHistoryMetricsSeries_1 = require(\"./models/SLOHistoryMetricsSeries\");\nObject.defineProperty(exports, \"SLOHistoryMetricsSeries\", { enumerable: true, get: function () { return SLOHistoryMetricsSeries_1.SLOHistoryMetricsSeries; } });\nvar SLOHistoryMetricsSeriesMetadata_1 = require(\"./models/SLOHistoryMetricsSeriesMetadata\");\nObject.defineProperty(exports, \"SLOHistoryMetricsSeriesMetadata\", { enumerable: true, get: function () { return SLOHistoryMetricsSeriesMetadata_1.SLOHistoryMetricsSeriesMetadata; } });\nvar SLOHistoryMetricsSeriesMetadataUnit_1 = require(\"./models/SLOHistoryMetricsSeriesMetadataUnit\");\nObject.defineProperty(exports, \"SLOHistoryMetricsSeriesMetadataUnit\", { enumerable: true, get: function () { return SLOHistoryMetricsSeriesMetadataUnit_1.SLOHistoryMetricsSeriesMetadataUnit; } });\nvar SLOHistoryMonitor_1 = require(\"./models/SLOHistoryMonitor\");\nObject.defineProperty(exports, \"SLOHistoryMonitor\", { enumerable: true, get: function () { return SLOHistoryMonitor_1.SLOHistoryMonitor; } });\nvar SLOHistoryResponse_1 = require(\"./models/SLOHistoryResponse\");\nObject.defineProperty(exports, \"SLOHistoryResponse\", { enumerable: true, get: function () { return SLOHistoryResponse_1.SLOHistoryResponse; } });\nvar SLOHistoryResponseData_1 = require(\"./models/SLOHistoryResponseData\");\nObject.defineProperty(exports, \"SLOHistoryResponseData\", { enumerable: true, get: function () { return SLOHistoryResponseData_1.SLOHistoryResponseData; } });\nvar SLOHistoryResponseError_1 = require(\"./models/SLOHistoryResponseError\");\nObject.defineProperty(exports, \"SLOHistoryResponseError\", { enumerable: true, get: function () { return SLOHistoryResponseError_1.SLOHistoryResponseError; } });\nvar SLOHistoryResponseErrorWithType_1 = require(\"./models/SLOHistoryResponseErrorWithType\");\nObject.defineProperty(exports, \"SLOHistoryResponseErrorWithType\", { enumerable: true, get: function () { return SLOHistoryResponseErrorWithType_1.SLOHistoryResponseErrorWithType; } });\nvar SLOHistorySLIData_1 = require(\"./models/SLOHistorySLIData\");\nObject.defineProperty(exports, \"SLOHistorySLIData\", { enumerable: true, get: function () { return SLOHistorySLIData_1.SLOHistorySLIData; } });\nvar SLOListResponse_1 = require(\"./models/SLOListResponse\");\nObject.defineProperty(exports, \"SLOListResponse\", { enumerable: true, get: function () { return SLOListResponse_1.SLOListResponse; } });\nvar SLOListResponseMetadata_1 = require(\"./models/SLOListResponseMetadata\");\nObject.defineProperty(exports, \"SLOListResponseMetadata\", { enumerable: true, get: function () { return SLOListResponseMetadata_1.SLOListResponseMetadata; } });\nvar SLOListResponseMetadataPage_1 = require(\"./models/SLOListResponseMetadataPage\");\nObject.defineProperty(exports, \"SLOListResponseMetadataPage\", { enumerable: true, get: function () { return SLOListResponseMetadataPage_1.SLOListResponseMetadataPage; } });\nvar SLOListWidgetDefinition_1 = require(\"./models/SLOListWidgetDefinition\");\nObject.defineProperty(exports, \"SLOListWidgetDefinition\", { enumerable: true, get: function () { return SLOListWidgetDefinition_1.SLOListWidgetDefinition; } });\nvar SLOListWidgetQuery_1 = require(\"./models/SLOListWidgetQuery\");\nObject.defineProperty(exports, \"SLOListWidgetQuery\", { enumerable: true, get: function () { return SLOListWidgetQuery_1.SLOListWidgetQuery; } });\nvar SLOListWidgetRequest_1 = require(\"./models/SLOListWidgetRequest\");\nObject.defineProperty(exports, \"SLOListWidgetRequest\", { enumerable: true, get: function () { return SLOListWidgetRequest_1.SLOListWidgetRequest; } });\nvar SLOOverallStatuses_1 = require(\"./models/SLOOverallStatuses\");\nObject.defineProperty(exports, \"SLOOverallStatuses\", { enumerable: true, get: function () { return SLOOverallStatuses_1.SLOOverallStatuses; } });\nvar SLORawErrorBudgetRemaining_1 = require(\"./models/SLORawErrorBudgetRemaining\");\nObject.defineProperty(exports, \"SLORawErrorBudgetRemaining\", { enumerable: true, get: function () { return SLORawErrorBudgetRemaining_1.SLORawErrorBudgetRemaining; } });\nvar SLOResponse_1 = require(\"./models/SLOResponse\");\nObject.defineProperty(exports, \"SLOResponse\", { enumerable: true, get: function () { return SLOResponse_1.SLOResponse; } });\nvar SLOResponseData_1 = require(\"./models/SLOResponseData\");\nObject.defineProperty(exports, \"SLOResponseData\", { enumerable: true, get: function () { return SLOResponseData_1.SLOResponseData; } });\nvar SLOStatus_1 = require(\"./models/SLOStatus\");\nObject.defineProperty(exports, \"SLOStatus\", { enumerable: true, get: function () { return SLOStatus_1.SLOStatus; } });\nvar SLOThreshold_1 = require(\"./models/SLOThreshold\");\nObject.defineProperty(exports, \"SLOThreshold\", { enumerable: true, get: function () { return SLOThreshold_1.SLOThreshold; } });\nvar SLOWidgetDefinition_1 = require(\"./models/SLOWidgetDefinition\");\nObject.defineProperty(exports, \"SLOWidgetDefinition\", { enumerable: true, get: function () { return SLOWidgetDefinition_1.SLOWidgetDefinition; } });\nvar SuccessfulSignalUpdateResponse_1 = require(\"./models/SuccessfulSignalUpdateResponse\");\nObject.defineProperty(exports, \"SuccessfulSignalUpdateResponse\", { enumerable: true, get: function () { return SuccessfulSignalUpdateResponse_1.SuccessfulSignalUpdateResponse; } });\nvar SunburstWidgetDefinition_1 = require(\"./models/SunburstWidgetDefinition\");\nObject.defineProperty(exports, \"SunburstWidgetDefinition\", { enumerable: true, get: function () { return SunburstWidgetDefinition_1.SunburstWidgetDefinition; } });\nvar SunburstWidgetLegendInlineAutomatic_1 = require(\"./models/SunburstWidgetLegendInlineAutomatic\");\nObject.defineProperty(exports, \"SunburstWidgetLegendInlineAutomatic\", { enumerable: true, get: function () { return SunburstWidgetLegendInlineAutomatic_1.SunburstWidgetLegendInlineAutomatic; } });\nvar SunburstWidgetLegendTable_1 = require(\"./models/SunburstWidgetLegendTable\");\nObject.defineProperty(exports, \"SunburstWidgetLegendTable\", { enumerable: true, get: function () { return SunburstWidgetLegendTable_1.SunburstWidgetLegendTable; } });\nvar SunburstWidgetRequest_1 = require(\"./models/SunburstWidgetRequest\");\nObject.defineProperty(exports, \"SunburstWidgetRequest\", { enumerable: true, get: function () { return SunburstWidgetRequest_1.SunburstWidgetRequest; } });\nvar SyntheticsAPIStep_1 = require(\"./models/SyntheticsAPIStep\");\nObject.defineProperty(exports, \"SyntheticsAPIStep\", { enumerable: true, get: function () { return SyntheticsAPIStep_1.SyntheticsAPIStep; } });\nvar SyntheticsAPITest_1 = require(\"./models/SyntheticsAPITest\");\nObject.defineProperty(exports, \"SyntheticsAPITest\", { enumerable: true, get: function () { return SyntheticsAPITest_1.SyntheticsAPITest; } });\nvar SyntheticsAPITestConfig_1 = require(\"./models/SyntheticsAPITestConfig\");\nObject.defineProperty(exports, \"SyntheticsAPITestConfig\", { enumerable: true, get: function () { return SyntheticsAPITestConfig_1.SyntheticsAPITestConfig; } });\nvar SyntheticsAPITestResultData_1 = require(\"./models/SyntheticsAPITestResultData\");\nObject.defineProperty(exports, \"SyntheticsAPITestResultData\", { enumerable: true, get: function () { return SyntheticsAPITestResultData_1.SyntheticsAPITestResultData; } });\nvar SyntheticsApiTestResultFailure_1 = require(\"./models/SyntheticsApiTestResultFailure\");\nObject.defineProperty(exports, \"SyntheticsApiTestResultFailure\", { enumerable: true, get: function () { return SyntheticsApiTestResultFailure_1.SyntheticsApiTestResultFailure; } });\nvar SyntheticsAPITestResultFull_1 = require(\"./models/SyntheticsAPITestResultFull\");\nObject.defineProperty(exports, \"SyntheticsAPITestResultFull\", { enumerable: true, get: function () { return SyntheticsAPITestResultFull_1.SyntheticsAPITestResultFull; } });\nvar SyntheticsAPITestResultFullCheck_1 = require(\"./models/SyntheticsAPITestResultFullCheck\");\nObject.defineProperty(exports, \"SyntheticsAPITestResultFullCheck\", { enumerable: true, get: function () { return SyntheticsAPITestResultFullCheck_1.SyntheticsAPITestResultFullCheck; } });\nvar SyntheticsAPITestResultShort_1 = require(\"./models/SyntheticsAPITestResultShort\");\nObject.defineProperty(exports, \"SyntheticsAPITestResultShort\", { enumerable: true, get: function () { return SyntheticsAPITestResultShort_1.SyntheticsAPITestResultShort; } });\nvar SyntheticsAPITestResultShortResult_1 = require(\"./models/SyntheticsAPITestResultShortResult\");\nObject.defineProperty(exports, \"SyntheticsAPITestResultShortResult\", { enumerable: true, get: function () { return SyntheticsAPITestResultShortResult_1.SyntheticsAPITestResultShortResult; } });\nvar SyntheticsAssertionJSONPathTarget_1 = require(\"./models/SyntheticsAssertionJSONPathTarget\");\nObject.defineProperty(exports, \"SyntheticsAssertionJSONPathTarget\", { enumerable: true, get: function () { return SyntheticsAssertionJSONPathTarget_1.SyntheticsAssertionJSONPathTarget; } });\nvar SyntheticsAssertionJSONPathTargetTarget_1 = require(\"./models/SyntheticsAssertionJSONPathTargetTarget\");\nObject.defineProperty(exports, \"SyntheticsAssertionJSONPathTargetTarget\", { enumerable: true, get: function () { return SyntheticsAssertionJSONPathTargetTarget_1.SyntheticsAssertionJSONPathTargetTarget; } });\nvar SyntheticsAssertionTarget_1 = require(\"./models/SyntheticsAssertionTarget\");\nObject.defineProperty(exports, \"SyntheticsAssertionTarget\", { enumerable: true, get: function () { return SyntheticsAssertionTarget_1.SyntheticsAssertionTarget; } });\nvar SyntheticsAssertionXPathTarget_1 = require(\"./models/SyntheticsAssertionXPathTarget\");\nObject.defineProperty(exports, \"SyntheticsAssertionXPathTarget\", { enumerable: true, get: function () { return SyntheticsAssertionXPathTarget_1.SyntheticsAssertionXPathTarget; } });\nvar SyntheticsAssertionXPathTargetTarget_1 = require(\"./models/SyntheticsAssertionXPathTargetTarget\");\nObject.defineProperty(exports, \"SyntheticsAssertionXPathTargetTarget\", { enumerable: true, get: function () { return SyntheticsAssertionXPathTargetTarget_1.SyntheticsAssertionXPathTargetTarget; } });\nvar SyntheticsBasicAuthDigest_1 = require(\"./models/SyntheticsBasicAuthDigest\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthDigest\", { enumerable: true, get: function () { return SyntheticsBasicAuthDigest_1.SyntheticsBasicAuthDigest; } });\nvar SyntheticsBasicAuthNTLM_1 = require(\"./models/SyntheticsBasicAuthNTLM\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthNTLM\", { enumerable: true, get: function () { return SyntheticsBasicAuthNTLM_1.SyntheticsBasicAuthNTLM; } });\nvar SyntheticsBasicAuthOauthClient_1 = require(\"./models/SyntheticsBasicAuthOauthClient\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthOauthClient\", { enumerable: true, get: function () { return SyntheticsBasicAuthOauthClient_1.SyntheticsBasicAuthOauthClient; } });\nvar SyntheticsBasicAuthOauthROP_1 = require(\"./models/SyntheticsBasicAuthOauthROP\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthOauthROP\", { enumerable: true, get: function () { return SyntheticsBasicAuthOauthROP_1.SyntheticsBasicAuthOauthROP; } });\nvar SyntheticsBasicAuthSigv4_1 = require(\"./models/SyntheticsBasicAuthSigv4\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthSigv4\", { enumerable: true, get: function () { return SyntheticsBasicAuthSigv4_1.SyntheticsBasicAuthSigv4; } });\nvar SyntheticsBasicAuthWeb_1 = require(\"./models/SyntheticsBasicAuthWeb\");\nObject.defineProperty(exports, \"SyntheticsBasicAuthWeb\", { enumerable: true, get: function () { return SyntheticsBasicAuthWeb_1.SyntheticsBasicAuthWeb; } });\nvar SyntheticsBatchDetails_1 = require(\"./models/SyntheticsBatchDetails\");\nObject.defineProperty(exports, \"SyntheticsBatchDetails\", { enumerable: true, get: function () { return SyntheticsBatchDetails_1.SyntheticsBatchDetails; } });\nvar SyntheticsBatchDetailsData_1 = require(\"./models/SyntheticsBatchDetailsData\");\nObject.defineProperty(exports, \"SyntheticsBatchDetailsData\", { enumerable: true, get: function () { return SyntheticsBatchDetailsData_1.SyntheticsBatchDetailsData; } });\nvar SyntheticsBatchResult_1 = require(\"./models/SyntheticsBatchResult\");\nObject.defineProperty(exports, \"SyntheticsBatchResult\", { enumerable: true, get: function () { return SyntheticsBatchResult_1.SyntheticsBatchResult; } });\nvar SyntheticsBrowserError_1 = require(\"./models/SyntheticsBrowserError\");\nObject.defineProperty(exports, \"SyntheticsBrowserError\", { enumerable: true, get: function () { return SyntheticsBrowserError_1.SyntheticsBrowserError; } });\nvar SyntheticsBrowserTest_1 = require(\"./models/SyntheticsBrowserTest\");\nObject.defineProperty(exports, \"SyntheticsBrowserTest\", { enumerable: true, get: function () { return SyntheticsBrowserTest_1.SyntheticsBrowserTest; } });\nvar SyntheticsBrowserTestConfig_1 = require(\"./models/SyntheticsBrowserTestConfig\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestConfig\", { enumerable: true, get: function () { return SyntheticsBrowserTestConfig_1.SyntheticsBrowserTestConfig; } });\nvar SyntheticsBrowserTestResultData_1 = require(\"./models/SyntheticsBrowserTestResultData\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultData\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultData_1.SyntheticsBrowserTestResultData; } });\nvar SyntheticsBrowserTestResultFailure_1 = require(\"./models/SyntheticsBrowserTestResultFailure\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultFailure\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultFailure_1.SyntheticsBrowserTestResultFailure; } });\nvar SyntheticsBrowserTestResultFull_1 = require(\"./models/SyntheticsBrowserTestResultFull\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultFull\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultFull_1.SyntheticsBrowserTestResultFull; } });\nvar SyntheticsBrowserTestResultFullCheck_1 = require(\"./models/SyntheticsBrowserTestResultFullCheck\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultFullCheck\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultFullCheck_1.SyntheticsBrowserTestResultFullCheck; } });\nvar SyntheticsBrowserTestResultShort_1 = require(\"./models/SyntheticsBrowserTestResultShort\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultShort\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultShort_1.SyntheticsBrowserTestResultShort; } });\nvar SyntheticsBrowserTestResultShortResult_1 = require(\"./models/SyntheticsBrowserTestResultShortResult\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestResultShortResult\", { enumerable: true, get: function () { return SyntheticsBrowserTestResultShortResult_1.SyntheticsBrowserTestResultShortResult; } });\nvar SyntheticsBrowserTestRumSettings_1 = require(\"./models/SyntheticsBrowserTestRumSettings\");\nObject.defineProperty(exports, \"SyntheticsBrowserTestRumSettings\", { enumerable: true, get: function () { return SyntheticsBrowserTestRumSettings_1.SyntheticsBrowserTestRumSettings; } });\nvar SyntheticsBrowserVariable_1 = require(\"./models/SyntheticsBrowserVariable\");\nObject.defineProperty(exports, \"SyntheticsBrowserVariable\", { enumerable: true, get: function () { return SyntheticsBrowserVariable_1.SyntheticsBrowserVariable; } });\nvar SyntheticsCIBatchMetadata_1 = require(\"./models/SyntheticsCIBatchMetadata\");\nObject.defineProperty(exports, \"SyntheticsCIBatchMetadata\", { enumerable: true, get: function () { return SyntheticsCIBatchMetadata_1.SyntheticsCIBatchMetadata; } });\nvar SyntheticsCIBatchMetadataCI_1 = require(\"./models/SyntheticsCIBatchMetadataCI\");\nObject.defineProperty(exports, \"SyntheticsCIBatchMetadataCI\", { enumerable: true, get: function () { return SyntheticsCIBatchMetadataCI_1.SyntheticsCIBatchMetadataCI; } });\nvar SyntheticsCIBatchMetadataGit_1 = require(\"./models/SyntheticsCIBatchMetadataGit\");\nObject.defineProperty(exports, \"SyntheticsCIBatchMetadataGit\", { enumerable: true, get: function () { return SyntheticsCIBatchMetadataGit_1.SyntheticsCIBatchMetadataGit; } });\nvar SyntheticsCIBatchMetadataPipeline_1 = require(\"./models/SyntheticsCIBatchMetadataPipeline\");\nObject.defineProperty(exports, \"SyntheticsCIBatchMetadataPipeline\", { enumerable: true, get: function () { return SyntheticsCIBatchMetadataPipeline_1.SyntheticsCIBatchMetadataPipeline; } });\nvar SyntheticsCIBatchMetadataProvider_1 = require(\"./models/SyntheticsCIBatchMetadataProvider\");\nObject.defineProperty(exports, \"SyntheticsCIBatchMetadataProvider\", { enumerable: true, get: function () { return SyntheticsCIBatchMetadataProvider_1.SyntheticsCIBatchMetadataProvider; } });\nvar SyntheticsCITest_1 = require(\"./models/SyntheticsCITest\");\nObject.defineProperty(exports, \"SyntheticsCITest\", { enumerable: true, get: function () { return SyntheticsCITest_1.SyntheticsCITest; } });\nvar SyntheticsCITestBody_1 = require(\"./models/SyntheticsCITestBody\");\nObject.defineProperty(exports, \"SyntheticsCITestBody\", { enumerable: true, get: function () { return SyntheticsCITestBody_1.SyntheticsCITestBody; } });\nvar SyntheticsConfigVariable_1 = require(\"./models/SyntheticsConfigVariable\");\nObject.defineProperty(exports, \"SyntheticsConfigVariable\", { enumerable: true, get: function () { return SyntheticsConfigVariable_1.SyntheticsConfigVariable; } });\nvar SyntheticsCoreWebVitals_1 = require(\"./models/SyntheticsCoreWebVitals\");\nObject.defineProperty(exports, \"SyntheticsCoreWebVitals\", { enumerable: true, get: function () { return SyntheticsCoreWebVitals_1.SyntheticsCoreWebVitals; } });\nvar SyntheticsDeletedTest_1 = require(\"./models/SyntheticsDeletedTest\");\nObject.defineProperty(exports, \"SyntheticsDeletedTest\", { enumerable: true, get: function () { return SyntheticsDeletedTest_1.SyntheticsDeletedTest; } });\nvar SyntheticsDeleteTestsPayload_1 = require(\"./models/SyntheticsDeleteTestsPayload\");\nObject.defineProperty(exports, \"SyntheticsDeleteTestsPayload\", { enumerable: true, get: function () { return SyntheticsDeleteTestsPayload_1.SyntheticsDeleteTestsPayload; } });\nvar SyntheticsDeleteTestsResponse_1 = require(\"./models/SyntheticsDeleteTestsResponse\");\nObject.defineProperty(exports, \"SyntheticsDeleteTestsResponse\", { enumerable: true, get: function () { return SyntheticsDeleteTestsResponse_1.SyntheticsDeleteTestsResponse; } });\nvar SyntheticsDevice_1 = require(\"./models/SyntheticsDevice\");\nObject.defineProperty(exports, \"SyntheticsDevice\", { enumerable: true, get: function () { return SyntheticsDevice_1.SyntheticsDevice; } });\nvar SyntheticsGetAPITestLatestResultsResponse_1 = require(\"./models/SyntheticsGetAPITestLatestResultsResponse\");\nObject.defineProperty(exports, \"SyntheticsGetAPITestLatestResultsResponse\", { enumerable: true, get: function () { return SyntheticsGetAPITestLatestResultsResponse_1.SyntheticsGetAPITestLatestResultsResponse; } });\nvar SyntheticsGetBrowserTestLatestResultsResponse_1 = require(\"./models/SyntheticsGetBrowserTestLatestResultsResponse\");\nObject.defineProperty(exports, \"SyntheticsGetBrowserTestLatestResultsResponse\", { enumerable: true, get: function () { return SyntheticsGetBrowserTestLatestResultsResponse_1.SyntheticsGetBrowserTestLatestResultsResponse; } });\nvar SyntheticsGlobalVariable_1 = require(\"./models/SyntheticsGlobalVariable\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariable\", { enumerable: true, get: function () { return SyntheticsGlobalVariable_1.SyntheticsGlobalVariable; } });\nvar SyntheticsGlobalVariableAttributes_1 = require(\"./models/SyntheticsGlobalVariableAttributes\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariableAttributes\", { enumerable: true, get: function () { return SyntheticsGlobalVariableAttributes_1.SyntheticsGlobalVariableAttributes; } });\nvar SyntheticsGlobalVariableOptions_1 = require(\"./models/SyntheticsGlobalVariableOptions\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariableOptions\", { enumerable: true, get: function () { return SyntheticsGlobalVariableOptions_1.SyntheticsGlobalVariableOptions; } });\nvar SyntheticsGlobalVariableParseTestOptions_1 = require(\"./models/SyntheticsGlobalVariableParseTestOptions\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariableParseTestOptions\", { enumerable: true, get: function () { return SyntheticsGlobalVariableParseTestOptions_1.SyntheticsGlobalVariableParseTestOptions; } });\nvar SyntheticsGlobalVariableTOTPParameters_1 = require(\"./models/SyntheticsGlobalVariableTOTPParameters\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariableTOTPParameters\", { enumerable: true, get: function () { return SyntheticsGlobalVariableTOTPParameters_1.SyntheticsGlobalVariableTOTPParameters; } });\nvar SyntheticsGlobalVariableValue_1 = require(\"./models/SyntheticsGlobalVariableValue\");\nObject.defineProperty(exports, \"SyntheticsGlobalVariableValue\", { enumerable: true, get: function () { return SyntheticsGlobalVariableValue_1.SyntheticsGlobalVariableValue; } });\nvar SyntheticsListGlobalVariablesResponse_1 = require(\"./models/SyntheticsListGlobalVariablesResponse\");\nObject.defineProperty(exports, \"SyntheticsListGlobalVariablesResponse\", { enumerable: true, get: function () { return SyntheticsListGlobalVariablesResponse_1.SyntheticsListGlobalVariablesResponse; } });\nvar SyntheticsListTestsResponse_1 = require(\"./models/SyntheticsListTestsResponse\");\nObject.defineProperty(exports, \"SyntheticsListTestsResponse\", { enumerable: true, get: function () { return SyntheticsListTestsResponse_1.SyntheticsListTestsResponse; } });\nvar SyntheticsLocation_1 = require(\"./models/SyntheticsLocation\");\nObject.defineProperty(exports, \"SyntheticsLocation\", { enumerable: true, get: function () { return SyntheticsLocation_1.SyntheticsLocation; } });\nvar SyntheticsLocations_1 = require(\"./models/SyntheticsLocations\");\nObject.defineProperty(exports, \"SyntheticsLocations\", { enumerable: true, get: function () { return SyntheticsLocations_1.SyntheticsLocations; } });\nvar SyntheticsParsingOptions_1 = require(\"./models/SyntheticsParsingOptions\");\nObject.defineProperty(exports, \"SyntheticsParsingOptions\", { enumerable: true, get: function () { return SyntheticsParsingOptions_1.SyntheticsParsingOptions; } });\nvar SyntheticsPrivateLocation_1 = require(\"./models/SyntheticsPrivateLocation\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocation\", { enumerable: true, get: function () { return SyntheticsPrivateLocation_1.SyntheticsPrivateLocation; } });\nvar SyntheticsPrivateLocationCreationResponse_1 = require(\"./models/SyntheticsPrivateLocationCreationResponse\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationCreationResponse\", { enumerable: true, get: function () { return SyntheticsPrivateLocationCreationResponse_1.SyntheticsPrivateLocationCreationResponse; } });\nvar SyntheticsPrivateLocationCreationResponseResultEncryption_1 = require(\"./models/SyntheticsPrivateLocationCreationResponseResultEncryption\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationCreationResponseResultEncryption\", { enumerable: true, get: function () { return SyntheticsPrivateLocationCreationResponseResultEncryption_1.SyntheticsPrivateLocationCreationResponseResultEncryption; } });\nvar SyntheticsPrivateLocationMetadata_1 = require(\"./models/SyntheticsPrivateLocationMetadata\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationMetadata\", { enumerable: true, get: function () { return SyntheticsPrivateLocationMetadata_1.SyntheticsPrivateLocationMetadata; } });\nvar SyntheticsPrivateLocationSecrets_1 = require(\"./models/SyntheticsPrivateLocationSecrets\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationSecrets\", { enumerable: true, get: function () { return SyntheticsPrivateLocationSecrets_1.SyntheticsPrivateLocationSecrets; } });\nvar SyntheticsPrivateLocationSecretsAuthentication_1 = require(\"./models/SyntheticsPrivateLocationSecretsAuthentication\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationSecretsAuthentication\", { enumerable: true, get: function () { return SyntheticsPrivateLocationSecretsAuthentication_1.SyntheticsPrivateLocationSecretsAuthentication; } });\nvar SyntheticsPrivateLocationSecretsConfigDecryption_1 = require(\"./models/SyntheticsPrivateLocationSecretsConfigDecryption\");\nObject.defineProperty(exports, \"SyntheticsPrivateLocationSecretsConfigDecryption\", { enumerable: true, get: function () { return SyntheticsPrivateLocationSecretsConfigDecryption_1.SyntheticsPrivateLocationSecretsConfigDecryption; } });\nvar SyntheticsSSLCertificate_1 = require(\"./models/SyntheticsSSLCertificate\");\nObject.defineProperty(exports, \"SyntheticsSSLCertificate\", { enumerable: true, get: function () { return SyntheticsSSLCertificate_1.SyntheticsSSLCertificate; } });\nvar SyntheticsSSLCertificateIssuer_1 = require(\"./models/SyntheticsSSLCertificateIssuer\");\nObject.defineProperty(exports, \"SyntheticsSSLCertificateIssuer\", { enumerable: true, get: function () { return SyntheticsSSLCertificateIssuer_1.SyntheticsSSLCertificateIssuer; } });\nvar SyntheticsSSLCertificateSubject_1 = require(\"./models/SyntheticsSSLCertificateSubject\");\nObject.defineProperty(exports, \"SyntheticsSSLCertificateSubject\", { enumerable: true, get: function () { return SyntheticsSSLCertificateSubject_1.SyntheticsSSLCertificateSubject; } });\nvar SyntheticsStep_1 = require(\"./models/SyntheticsStep\");\nObject.defineProperty(exports, \"SyntheticsStep\", { enumerable: true, get: function () { return SyntheticsStep_1.SyntheticsStep; } });\nvar SyntheticsStepDetail_1 = require(\"./models/SyntheticsStepDetail\");\nObject.defineProperty(exports, \"SyntheticsStepDetail\", { enumerable: true, get: function () { return SyntheticsStepDetail_1.SyntheticsStepDetail; } });\nvar SyntheticsStepDetailWarning_1 = require(\"./models/SyntheticsStepDetailWarning\");\nObject.defineProperty(exports, \"SyntheticsStepDetailWarning\", { enumerable: true, get: function () { return SyntheticsStepDetailWarning_1.SyntheticsStepDetailWarning; } });\nvar SyntheticsTestCiOptions_1 = require(\"./models/SyntheticsTestCiOptions\");\nObject.defineProperty(exports, \"SyntheticsTestCiOptions\", { enumerable: true, get: function () { return SyntheticsTestCiOptions_1.SyntheticsTestCiOptions; } });\nvar SyntheticsTestConfig_1 = require(\"./models/SyntheticsTestConfig\");\nObject.defineProperty(exports, \"SyntheticsTestConfig\", { enumerable: true, get: function () { return SyntheticsTestConfig_1.SyntheticsTestConfig; } });\nvar SyntheticsTestDetails_1 = require(\"./models/SyntheticsTestDetails\");\nObject.defineProperty(exports, \"SyntheticsTestDetails\", { enumerable: true, get: function () { return SyntheticsTestDetails_1.SyntheticsTestDetails; } });\nvar SyntheticsTestOptions_1 = require(\"./models/SyntheticsTestOptions\");\nObject.defineProperty(exports, \"SyntheticsTestOptions\", { enumerable: true, get: function () { return SyntheticsTestOptions_1.SyntheticsTestOptions; } });\nvar SyntheticsTestOptionsMonitorOptions_1 = require(\"./models/SyntheticsTestOptionsMonitorOptions\");\nObject.defineProperty(exports, \"SyntheticsTestOptionsMonitorOptions\", { enumerable: true, get: function () { return SyntheticsTestOptionsMonitorOptions_1.SyntheticsTestOptionsMonitorOptions; } });\nvar SyntheticsTestOptionsRetry_1 = require(\"./models/SyntheticsTestOptionsRetry\");\nObject.defineProperty(exports, \"SyntheticsTestOptionsRetry\", { enumerable: true, get: function () { return SyntheticsTestOptionsRetry_1.SyntheticsTestOptionsRetry; } });\nvar SyntheticsTestOptionsScheduling_1 = require(\"./models/SyntheticsTestOptionsScheduling\");\nObject.defineProperty(exports, \"SyntheticsTestOptionsScheduling\", { enumerable: true, get: function () { return SyntheticsTestOptionsScheduling_1.SyntheticsTestOptionsScheduling; } });\nvar SyntheticsTestOptionsSchedulingTimeframe_1 = require(\"./models/SyntheticsTestOptionsSchedulingTimeframe\");\nObject.defineProperty(exports, \"SyntheticsTestOptionsSchedulingTimeframe\", { enumerable: true, get: function () { return SyntheticsTestOptionsSchedulingTimeframe_1.SyntheticsTestOptionsSchedulingTimeframe; } });\nvar SyntheticsTestRequest_1 = require(\"./models/SyntheticsTestRequest\");\nObject.defineProperty(exports, \"SyntheticsTestRequest\", { enumerable: true, get: function () { return SyntheticsTestRequest_1.SyntheticsTestRequest; } });\nvar SyntheticsTestRequestCertificate_1 = require(\"./models/SyntheticsTestRequestCertificate\");\nObject.defineProperty(exports, \"SyntheticsTestRequestCertificate\", { enumerable: true, get: function () { return SyntheticsTestRequestCertificate_1.SyntheticsTestRequestCertificate; } });\nvar SyntheticsTestRequestCertificateItem_1 = require(\"./models/SyntheticsTestRequestCertificateItem\");\nObject.defineProperty(exports, \"SyntheticsTestRequestCertificateItem\", { enumerable: true, get: function () { return SyntheticsTestRequestCertificateItem_1.SyntheticsTestRequestCertificateItem; } });\nvar SyntheticsTestRequestProxy_1 = require(\"./models/SyntheticsTestRequestProxy\");\nObject.defineProperty(exports, \"SyntheticsTestRequestProxy\", { enumerable: true, get: function () { return SyntheticsTestRequestProxy_1.SyntheticsTestRequestProxy; } });\nvar SyntheticsTiming_1 = require(\"./models/SyntheticsTiming\");\nObject.defineProperty(exports, \"SyntheticsTiming\", { enumerable: true, get: function () { return SyntheticsTiming_1.SyntheticsTiming; } });\nvar SyntheticsTriggerBody_1 = require(\"./models/SyntheticsTriggerBody\");\nObject.defineProperty(exports, \"SyntheticsTriggerBody\", { enumerable: true, get: function () { return SyntheticsTriggerBody_1.SyntheticsTriggerBody; } });\nvar SyntheticsTriggerCITestLocation_1 = require(\"./models/SyntheticsTriggerCITestLocation\");\nObject.defineProperty(exports, \"SyntheticsTriggerCITestLocation\", { enumerable: true, get: function () { return SyntheticsTriggerCITestLocation_1.SyntheticsTriggerCITestLocation; } });\nvar SyntheticsTriggerCITestRunResult_1 = require(\"./models/SyntheticsTriggerCITestRunResult\");\nObject.defineProperty(exports, \"SyntheticsTriggerCITestRunResult\", { enumerable: true, get: function () { return SyntheticsTriggerCITestRunResult_1.SyntheticsTriggerCITestRunResult; } });\nvar SyntheticsTriggerCITestsResponse_1 = require(\"./models/SyntheticsTriggerCITestsResponse\");\nObject.defineProperty(exports, \"SyntheticsTriggerCITestsResponse\", { enumerable: true, get: function () { return SyntheticsTriggerCITestsResponse_1.SyntheticsTriggerCITestsResponse; } });\nvar SyntheticsTriggerTest_1 = require(\"./models/SyntheticsTriggerTest\");\nObject.defineProperty(exports, \"SyntheticsTriggerTest\", { enumerable: true, get: function () { return SyntheticsTriggerTest_1.SyntheticsTriggerTest; } });\nvar SyntheticsUpdateTestPauseStatusPayload_1 = require(\"./models/SyntheticsUpdateTestPauseStatusPayload\");\nObject.defineProperty(exports, \"SyntheticsUpdateTestPauseStatusPayload\", { enumerable: true, get: function () { return SyntheticsUpdateTestPauseStatusPayload_1.SyntheticsUpdateTestPauseStatusPayload; } });\nvar SyntheticsVariableParser_1 = require(\"./models/SyntheticsVariableParser\");\nObject.defineProperty(exports, \"SyntheticsVariableParser\", { enumerable: true, get: function () { return SyntheticsVariableParser_1.SyntheticsVariableParser; } });\nvar TableWidgetDefinition_1 = require(\"./models/TableWidgetDefinition\");\nObject.defineProperty(exports, \"TableWidgetDefinition\", { enumerable: true, get: function () { return TableWidgetDefinition_1.TableWidgetDefinition; } });\nvar TableWidgetRequest_1 = require(\"./models/TableWidgetRequest\");\nObject.defineProperty(exports, \"TableWidgetRequest\", { enumerable: true, get: function () { return TableWidgetRequest_1.TableWidgetRequest; } });\nvar TagToHosts_1 = require(\"./models/TagToHosts\");\nObject.defineProperty(exports, \"TagToHosts\", { enumerable: true, get: function () { return TagToHosts_1.TagToHosts; } });\nvar TimeseriesBackground_1 = require(\"./models/TimeseriesBackground\");\nObject.defineProperty(exports, \"TimeseriesBackground\", { enumerable: true, get: function () { return TimeseriesBackground_1.TimeseriesBackground; } });\nvar TimeseriesWidgetDefinition_1 = require(\"./models/TimeseriesWidgetDefinition\");\nObject.defineProperty(exports, \"TimeseriesWidgetDefinition\", { enumerable: true, get: function () { return TimeseriesWidgetDefinition_1.TimeseriesWidgetDefinition; } });\nvar TimeseriesWidgetExpressionAlias_1 = require(\"./models/TimeseriesWidgetExpressionAlias\");\nObject.defineProperty(exports, \"TimeseriesWidgetExpressionAlias\", { enumerable: true, get: function () { return TimeseriesWidgetExpressionAlias_1.TimeseriesWidgetExpressionAlias; } });\nvar TimeseriesWidgetRequest_1 = require(\"./models/TimeseriesWidgetRequest\");\nObject.defineProperty(exports, \"TimeseriesWidgetRequest\", { enumerable: true, get: function () { return TimeseriesWidgetRequest_1.TimeseriesWidgetRequest; } });\nvar ToplistWidgetDefinition_1 = require(\"./models/ToplistWidgetDefinition\");\nObject.defineProperty(exports, \"ToplistWidgetDefinition\", { enumerable: true, get: function () { return ToplistWidgetDefinition_1.ToplistWidgetDefinition; } });\nvar ToplistWidgetRequest_1 = require(\"./models/ToplistWidgetRequest\");\nObject.defineProperty(exports, \"ToplistWidgetRequest\", { enumerable: true, get: function () { return ToplistWidgetRequest_1.ToplistWidgetRequest; } });\nvar TopologyMapWidgetDefinition_1 = require(\"./models/TopologyMapWidgetDefinition\");\nObject.defineProperty(exports, \"TopologyMapWidgetDefinition\", { enumerable: true, get: function () { return TopologyMapWidgetDefinition_1.TopologyMapWidgetDefinition; } });\nvar TopologyQuery_1 = require(\"./models/TopologyQuery\");\nObject.defineProperty(exports, \"TopologyQuery\", { enumerable: true, get: function () { return TopologyQuery_1.TopologyQuery; } });\nvar TopologyRequest_1 = require(\"./models/TopologyRequest\");\nObject.defineProperty(exports, \"TopologyRequest\", { enumerable: true, get: function () { return TopologyRequest_1.TopologyRequest; } });\nvar TreeMapWidgetDefinition_1 = require(\"./models/TreeMapWidgetDefinition\");\nObject.defineProperty(exports, \"TreeMapWidgetDefinition\", { enumerable: true, get: function () { return TreeMapWidgetDefinition_1.TreeMapWidgetDefinition; } });\nvar TreeMapWidgetRequest_1 = require(\"./models/TreeMapWidgetRequest\");\nObject.defineProperty(exports, \"TreeMapWidgetRequest\", { enumerable: true, get: function () { return TreeMapWidgetRequest_1.TreeMapWidgetRequest; } });\nvar UsageAnalyzedLogsHour_1 = require(\"./models/UsageAnalyzedLogsHour\");\nObject.defineProperty(exports, \"UsageAnalyzedLogsHour\", { enumerable: true, get: function () { return UsageAnalyzedLogsHour_1.UsageAnalyzedLogsHour; } });\nvar UsageAnalyzedLogsResponse_1 = require(\"./models/UsageAnalyzedLogsResponse\");\nObject.defineProperty(exports, \"UsageAnalyzedLogsResponse\", { enumerable: true, get: function () { return UsageAnalyzedLogsResponse_1.UsageAnalyzedLogsResponse; } });\nvar UsageAttributionAggregatesBody_1 = require(\"./models/UsageAttributionAggregatesBody\");\nObject.defineProperty(exports, \"UsageAttributionAggregatesBody\", { enumerable: true, get: function () { return UsageAttributionAggregatesBody_1.UsageAttributionAggregatesBody; } });\nvar UsageAttributionBody_1 = require(\"./models/UsageAttributionBody\");\nObject.defineProperty(exports, \"UsageAttributionBody\", { enumerable: true, get: function () { return UsageAttributionBody_1.UsageAttributionBody; } });\nvar UsageAttributionMetadata_1 = require(\"./models/UsageAttributionMetadata\");\nObject.defineProperty(exports, \"UsageAttributionMetadata\", { enumerable: true, get: function () { return UsageAttributionMetadata_1.UsageAttributionMetadata; } });\nvar UsageAttributionPagination_1 = require(\"./models/UsageAttributionPagination\");\nObject.defineProperty(exports, \"UsageAttributionPagination\", { enumerable: true, get: function () { return UsageAttributionPagination_1.UsageAttributionPagination; } });\nvar UsageAttributionResponse_1 = require(\"./models/UsageAttributionResponse\");\nObject.defineProperty(exports, \"UsageAttributionResponse\", { enumerable: true, get: function () { return UsageAttributionResponse_1.UsageAttributionResponse; } });\nvar UsageAttributionValues_1 = require(\"./models/UsageAttributionValues\");\nObject.defineProperty(exports, \"UsageAttributionValues\", { enumerable: true, get: function () { return UsageAttributionValues_1.UsageAttributionValues; } });\nvar UsageAuditLogsHour_1 = require(\"./models/UsageAuditLogsHour\");\nObject.defineProperty(exports, \"UsageAuditLogsHour\", { enumerable: true, get: function () { return UsageAuditLogsHour_1.UsageAuditLogsHour; } });\nvar UsageAuditLogsResponse_1 = require(\"./models/UsageAuditLogsResponse\");\nObject.defineProperty(exports, \"UsageAuditLogsResponse\", { enumerable: true, get: function () { return UsageAuditLogsResponse_1.UsageAuditLogsResponse; } });\nvar UsageBillableSummaryBody_1 = require(\"./models/UsageBillableSummaryBody\");\nObject.defineProperty(exports, \"UsageBillableSummaryBody\", { enumerable: true, get: function () { return UsageBillableSummaryBody_1.UsageBillableSummaryBody; } });\nvar UsageBillableSummaryHour_1 = require(\"./models/UsageBillableSummaryHour\");\nObject.defineProperty(exports, \"UsageBillableSummaryHour\", { enumerable: true, get: function () { return UsageBillableSummaryHour_1.UsageBillableSummaryHour; } });\nvar UsageBillableSummaryKeys_1 = require(\"./models/UsageBillableSummaryKeys\");\nObject.defineProperty(exports, \"UsageBillableSummaryKeys\", { enumerable: true, get: function () { return UsageBillableSummaryKeys_1.UsageBillableSummaryKeys; } });\nvar UsageBillableSummaryResponse_1 = require(\"./models/UsageBillableSummaryResponse\");\nObject.defineProperty(exports, \"UsageBillableSummaryResponse\", { enumerable: true, get: function () { return UsageBillableSummaryResponse_1.UsageBillableSummaryResponse; } });\nvar UsageCIVisibilityHour_1 = require(\"./models/UsageCIVisibilityHour\");\nObject.defineProperty(exports, \"UsageCIVisibilityHour\", { enumerable: true, get: function () { return UsageCIVisibilityHour_1.UsageCIVisibilityHour; } });\nvar UsageCIVisibilityResponse_1 = require(\"./models/UsageCIVisibilityResponse\");\nObject.defineProperty(exports, \"UsageCIVisibilityResponse\", { enumerable: true, get: function () { return UsageCIVisibilityResponse_1.UsageCIVisibilityResponse; } });\nvar UsageCloudSecurityPostureManagementHour_1 = require(\"./models/UsageCloudSecurityPostureManagementHour\");\nObject.defineProperty(exports, \"UsageCloudSecurityPostureManagementHour\", { enumerable: true, get: function () { return UsageCloudSecurityPostureManagementHour_1.UsageCloudSecurityPostureManagementHour; } });\nvar UsageCloudSecurityPostureManagementResponse_1 = require(\"./models/UsageCloudSecurityPostureManagementResponse\");\nObject.defineProperty(exports, \"UsageCloudSecurityPostureManagementResponse\", { enumerable: true, get: function () { return UsageCloudSecurityPostureManagementResponse_1.UsageCloudSecurityPostureManagementResponse; } });\nvar UsageCustomReportsAttributes_1 = require(\"./models/UsageCustomReportsAttributes\");\nObject.defineProperty(exports, \"UsageCustomReportsAttributes\", { enumerable: true, get: function () { return UsageCustomReportsAttributes_1.UsageCustomReportsAttributes; } });\nvar UsageCustomReportsData_1 = require(\"./models/UsageCustomReportsData\");\nObject.defineProperty(exports, \"UsageCustomReportsData\", { enumerable: true, get: function () { return UsageCustomReportsData_1.UsageCustomReportsData; } });\nvar UsageCustomReportsMeta_1 = require(\"./models/UsageCustomReportsMeta\");\nObject.defineProperty(exports, \"UsageCustomReportsMeta\", { enumerable: true, get: function () { return UsageCustomReportsMeta_1.UsageCustomReportsMeta; } });\nvar UsageCustomReportsPage_1 = require(\"./models/UsageCustomReportsPage\");\nObject.defineProperty(exports, \"UsageCustomReportsPage\", { enumerable: true, get: function () { return UsageCustomReportsPage_1.UsageCustomReportsPage; } });\nvar UsageCustomReportsResponse_1 = require(\"./models/UsageCustomReportsResponse\");\nObject.defineProperty(exports, \"UsageCustomReportsResponse\", { enumerable: true, get: function () { return UsageCustomReportsResponse_1.UsageCustomReportsResponse; } });\nvar UsageCWSHour_1 = require(\"./models/UsageCWSHour\");\nObject.defineProperty(exports, \"UsageCWSHour\", { enumerable: true, get: function () { return UsageCWSHour_1.UsageCWSHour; } });\nvar UsageCWSResponse_1 = require(\"./models/UsageCWSResponse\");\nObject.defineProperty(exports, \"UsageCWSResponse\", { enumerable: true, get: function () { return UsageCWSResponse_1.UsageCWSResponse; } });\nvar UsageDBMHour_1 = require(\"./models/UsageDBMHour\");\nObject.defineProperty(exports, \"UsageDBMHour\", { enumerable: true, get: function () { return UsageDBMHour_1.UsageDBMHour; } });\nvar UsageDBMResponse_1 = require(\"./models/UsageDBMResponse\");\nObject.defineProperty(exports, \"UsageDBMResponse\", { enumerable: true, get: function () { return UsageDBMResponse_1.UsageDBMResponse; } });\nvar UsageFargateHour_1 = require(\"./models/UsageFargateHour\");\nObject.defineProperty(exports, \"UsageFargateHour\", { enumerable: true, get: function () { return UsageFargateHour_1.UsageFargateHour; } });\nvar UsageFargateResponse_1 = require(\"./models/UsageFargateResponse\");\nObject.defineProperty(exports, \"UsageFargateResponse\", { enumerable: true, get: function () { return UsageFargateResponse_1.UsageFargateResponse; } });\nvar UsageHostHour_1 = require(\"./models/UsageHostHour\");\nObject.defineProperty(exports, \"UsageHostHour\", { enumerable: true, get: function () { return UsageHostHour_1.UsageHostHour; } });\nvar UsageHostsResponse_1 = require(\"./models/UsageHostsResponse\");\nObject.defineProperty(exports, \"UsageHostsResponse\", { enumerable: true, get: function () { return UsageHostsResponse_1.UsageHostsResponse; } });\nvar UsageIncidentManagementHour_1 = require(\"./models/UsageIncidentManagementHour\");\nObject.defineProperty(exports, \"UsageIncidentManagementHour\", { enumerable: true, get: function () { return UsageIncidentManagementHour_1.UsageIncidentManagementHour; } });\nvar UsageIncidentManagementResponse_1 = require(\"./models/UsageIncidentManagementResponse\");\nObject.defineProperty(exports, \"UsageIncidentManagementResponse\", { enumerable: true, get: function () { return UsageIncidentManagementResponse_1.UsageIncidentManagementResponse; } });\nvar UsageIndexedSpansHour_1 = require(\"./models/UsageIndexedSpansHour\");\nObject.defineProperty(exports, \"UsageIndexedSpansHour\", { enumerable: true, get: function () { return UsageIndexedSpansHour_1.UsageIndexedSpansHour; } });\nvar UsageIndexedSpansResponse_1 = require(\"./models/UsageIndexedSpansResponse\");\nObject.defineProperty(exports, \"UsageIndexedSpansResponse\", { enumerable: true, get: function () { return UsageIndexedSpansResponse_1.UsageIndexedSpansResponse; } });\nvar UsageIngestedSpansHour_1 = require(\"./models/UsageIngestedSpansHour\");\nObject.defineProperty(exports, \"UsageIngestedSpansHour\", { enumerable: true, get: function () { return UsageIngestedSpansHour_1.UsageIngestedSpansHour; } });\nvar UsageIngestedSpansResponse_1 = require(\"./models/UsageIngestedSpansResponse\");\nObject.defineProperty(exports, \"UsageIngestedSpansResponse\", { enumerable: true, get: function () { return UsageIngestedSpansResponse_1.UsageIngestedSpansResponse; } });\nvar UsageIoTHour_1 = require(\"./models/UsageIoTHour\");\nObject.defineProperty(exports, \"UsageIoTHour\", { enumerable: true, get: function () { return UsageIoTHour_1.UsageIoTHour; } });\nvar UsageIoTResponse_1 = require(\"./models/UsageIoTResponse\");\nObject.defineProperty(exports, \"UsageIoTResponse\", { enumerable: true, get: function () { return UsageIoTResponse_1.UsageIoTResponse; } });\nvar UsageLambdaHour_1 = require(\"./models/UsageLambdaHour\");\nObject.defineProperty(exports, \"UsageLambdaHour\", { enumerable: true, get: function () { return UsageLambdaHour_1.UsageLambdaHour; } });\nvar UsageLambdaResponse_1 = require(\"./models/UsageLambdaResponse\");\nObject.defineProperty(exports, \"UsageLambdaResponse\", { enumerable: true, get: function () { return UsageLambdaResponse_1.UsageLambdaResponse; } });\nvar UsageLogsByIndexHour_1 = require(\"./models/UsageLogsByIndexHour\");\nObject.defineProperty(exports, \"UsageLogsByIndexHour\", { enumerable: true, get: function () { return UsageLogsByIndexHour_1.UsageLogsByIndexHour; } });\nvar UsageLogsByIndexResponse_1 = require(\"./models/UsageLogsByIndexResponse\");\nObject.defineProperty(exports, \"UsageLogsByIndexResponse\", { enumerable: true, get: function () { return UsageLogsByIndexResponse_1.UsageLogsByIndexResponse; } });\nvar UsageLogsByRetentionHour_1 = require(\"./models/UsageLogsByRetentionHour\");\nObject.defineProperty(exports, \"UsageLogsByRetentionHour\", { enumerable: true, get: function () { return UsageLogsByRetentionHour_1.UsageLogsByRetentionHour; } });\nvar UsageLogsByRetentionResponse_1 = require(\"./models/UsageLogsByRetentionResponse\");\nObject.defineProperty(exports, \"UsageLogsByRetentionResponse\", { enumerable: true, get: function () { return UsageLogsByRetentionResponse_1.UsageLogsByRetentionResponse; } });\nvar UsageLogsHour_1 = require(\"./models/UsageLogsHour\");\nObject.defineProperty(exports, \"UsageLogsHour\", { enumerable: true, get: function () { return UsageLogsHour_1.UsageLogsHour; } });\nvar UsageLogsResponse_1 = require(\"./models/UsageLogsResponse\");\nObject.defineProperty(exports, \"UsageLogsResponse\", { enumerable: true, get: function () { return UsageLogsResponse_1.UsageLogsResponse; } });\nvar UsageNetworkFlowsHour_1 = require(\"./models/UsageNetworkFlowsHour\");\nObject.defineProperty(exports, \"UsageNetworkFlowsHour\", { enumerable: true, get: function () { return UsageNetworkFlowsHour_1.UsageNetworkFlowsHour; } });\nvar UsageNetworkFlowsResponse_1 = require(\"./models/UsageNetworkFlowsResponse\");\nObject.defineProperty(exports, \"UsageNetworkFlowsResponse\", { enumerable: true, get: function () { return UsageNetworkFlowsResponse_1.UsageNetworkFlowsResponse; } });\nvar UsageNetworkHostsHour_1 = require(\"./models/UsageNetworkHostsHour\");\nObject.defineProperty(exports, \"UsageNetworkHostsHour\", { enumerable: true, get: function () { return UsageNetworkHostsHour_1.UsageNetworkHostsHour; } });\nvar UsageNetworkHostsResponse_1 = require(\"./models/UsageNetworkHostsResponse\");\nObject.defineProperty(exports, \"UsageNetworkHostsResponse\", { enumerable: true, get: function () { return UsageNetworkHostsResponse_1.UsageNetworkHostsResponse; } });\nvar UsageOnlineArchiveHour_1 = require(\"./models/UsageOnlineArchiveHour\");\nObject.defineProperty(exports, \"UsageOnlineArchiveHour\", { enumerable: true, get: function () { return UsageOnlineArchiveHour_1.UsageOnlineArchiveHour; } });\nvar UsageOnlineArchiveResponse_1 = require(\"./models/UsageOnlineArchiveResponse\");\nObject.defineProperty(exports, \"UsageOnlineArchiveResponse\", { enumerable: true, get: function () { return UsageOnlineArchiveResponse_1.UsageOnlineArchiveResponse; } });\nvar UsageProfilingHour_1 = require(\"./models/UsageProfilingHour\");\nObject.defineProperty(exports, \"UsageProfilingHour\", { enumerable: true, get: function () { return UsageProfilingHour_1.UsageProfilingHour; } });\nvar UsageProfilingResponse_1 = require(\"./models/UsageProfilingResponse\");\nObject.defineProperty(exports, \"UsageProfilingResponse\", { enumerable: true, get: function () { return UsageProfilingResponse_1.UsageProfilingResponse; } });\nvar UsageRumSessionsHour_1 = require(\"./models/UsageRumSessionsHour\");\nObject.defineProperty(exports, \"UsageRumSessionsHour\", { enumerable: true, get: function () { return UsageRumSessionsHour_1.UsageRumSessionsHour; } });\nvar UsageRumSessionsResponse_1 = require(\"./models/UsageRumSessionsResponse\");\nObject.defineProperty(exports, \"UsageRumSessionsResponse\", { enumerable: true, get: function () { return UsageRumSessionsResponse_1.UsageRumSessionsResponse; } });\nvar UsageRumUnitsHour_1 = require(\"./models/UsageRumUnitsHour\");\nObject.defineProperty(exports, \"UsageRumUnitsHour\", { enumerable: true, get: function () { return UsageRumUnitsHour_1.UsageRumUnitsHour; } });\nvar UsageRumUnitsResponse_1 = require(\"./models/UsageRumUnitsResponse\");\nObject.defineProperty(exports, \"UsageRumUnitsResponse\", { enumerable: true, get: function () { return UsageRumUnitsResponse_1.UsageRumUnitsResponse; } });\nvar UsageSDSHour_1 = require(\"./models/UsageSDSHour\");\nObject.defineProperty(exports, \"UsageSDSHour\", { enumerable: true, get: function () { return UsageSDSHour_1.UsageSDSHour; } });\nvar UsageSDSResponse_1 = require(\"./models/UsageSDSResponse\");\nObject.defineProperty(exports, \"UsageSDSResponse\", { enumerable: true, get: function () { return UsageSDSResponse_1.UsageSDSResponse; } });\nvar UsageSNMPHour_1 = require(\"./models/UsageSNMPHour\");\nObject.defineProperty(exports, \"UsageSNMPHour\", { enumerable: true, get: function () { return UsageSNMPHour_1.UsageSNMPHour; } });\nvar UsageSNMPResponse_1 = require(\"./models/UsageSNMPResponse\");\nObject.defineProperty(exports, \"UsageSNMPResponse\", { enumerable: true, get: function () { return UsageSNMPResponse_1.UsageSNMPResponse; } });\nvar UsageSpecifiedCustomReportsAttributes_1 = require(\"./models/UsageSpecifiedCustomReportsAttributes\");\nObject.defineProperty(exports, \"UsageSpecifiedCustomReportsAttributes\", { enumerable: true, get: function () { return UsageSpecifiedCustomReportsAttributes_1.UsageSpecifiedCustomReportsAttributes; } });\nvar UsageSpecifiedCustomReportsData_1 = require(\"./models/UsageSpecifiedCustomReportsData\");\nObject.defineProperty(exports, \"UsageSpecifiedCustomReportsData\", { enumerable: true, get: function () { return UsageSpecifiedCustomReportsData_1.UsageSpecifiedCustomReportsData; } });\nvar UsageSpecifiedCustomReportsMeta_1 = require(\"./models/UsageSpecifiedCustomReportsMeta\");\nObject.defineProperty(exports, \"UsageSpecifiedCustomReportsMeta\", { enumerable: true, get: function () { return UsageSpecifiedCustomReportsMeta_1.UsageSpecifiedCustomReportsMeta; } });\nvar UsageSpecifiedCustomReportsPage_1 = require(\"./models/UsageSpecifiedCustomReportsPage\");\nObject.defineProperty(exports, \"UsageSpecifiedCustomReportsPage\", { enumerable: true, get: function () { return UsageSpecifiedCustomReportsPage_1.UsageSpecifiedCustomReportsPage; } });\nvar UsageSpecifiedCustomReportsResponse_1 = require(\"./models/UsageSpecifiedCustomReportsResponse\");\nObject.defineProperty(exports, \"UsageSpecifiedCustomReportsResponse\", { enumerable: true, get: function () { return UsageSpecifiedCustomReportsResponse_1.UsageSpecifiedCustomReportsResponse; } });\nvar UsageSummaryDate_1 = require(\"./models/UsageSummaryDate\");\nObject.defineProperty(exports, \"UsageSummaryDate\", { enumerable: true, get: function () { return UsageSummaryDate_1.UsageSummaryDate; } });\nvar UsageSummaryDateOrg_1 = require(\"./models/UsageSummaryDateOrg\");\nObject.defineProperty(exports, \"UsageSummaryDateOrg\", { enumerable: true, get: function () { return UsageSummaryDateOrg_1.UsageSummaryDateOrg; } });\nvar UsageSummaryResponse_1 = require(\"./models/UsageSummaryResponse\");\nObject.defineProperty(exports, \"UsageSummaryResponse\", { enumerable: true, get: function () { return UsageSummaryResponse_1.UsageSummaryResponse; } });\nvar UsageSyntheticsAPIHour_1 = require(\"./models/UsageSyntheticsAPIHour\");\nObject.defineProperty(exports, \"UsageSyntheticsAPIHour\", { enumerable: true, get: function () { return UsageSyntheticsAPIHour_1.UsageSyntheticsAPIHour; } });\nvar UsageSyntheticsAPIResponse_1 = require(\"./models/UsageSyntheticsAPIResponse\");\nObject.defineProperty(exports, \"UsageSyntheticsAPIResponse\", { enumerable: true, get: function () { return UsageSyntheticsAPIResponse_1.UsageSyntheticsAPIResponse; } });\nvar UsageSyntheticsBrowserHour_1 = require(\"./models/UsageSyntheticsBrowserHour\");\nObject.defineProperty(exports, \"UsageSyntheticsBrowserHour\", { enumerable: true, get: function () { return UsageSyntheticsBrowserHour_1.UsageSyntheticsBrowserHour; } });\nvar UsageSyntheticsBrowserResponse_1 = require(\"./models/UsageSyntheticsBrowserResponse\");\nObject.defineProperty(exports, \"UsageSyntheticsBrowserResponse\", { enumerable: true, get: function () { return UsageSyntheticsBrowserResponse_1.UsageSyntheticsBrowserResponse; } });\nvar UsageSyntheticsHour_1 = require(\"./models/UsageSyntheticsHour\");\nObject.defineProperty(exports, \"UsageSyntheticsHour\", { enumerable: true, get: function () { return UsageSyntheticsHour_1.UsageSyntheticsHour; } });\nvar UsageSyntheticsResponse_1 = require(\"./models/UsageSyntheticsResponse\");\nObject.defineProperty(exports, \"UsageSyntheticsResponse\", { enumerable: true, get: function () { return UsageSyntheticsResponse_1.UsageSyntheticsResponse; } });\nvar UsageTimeseriesHour_1 = require(\"./models/UsageTimeseriesHour\");\nObject.defineProperty(exports, \"UsageTimeseriesHour\", { enumerable: true, get: function () { return UsageTimeseriesHour_1.UsageTimeseriesHour; } });\nvar UsageTimeseriesResponse_1 = require(\"./models/UsageTimeseriesResponse\");\nObject.defineProperty(exports, \"UsageTimeseriesResponse\", { enumerable: true, get: function () { return UsageTimeseriesResponse_1.UsageTimeseriesResponse; } });\nvar UsageTopAvgMetricsHour_1 = require(\"./models/UsageTopAvgMetricsHour\");\nObject.defineProperty(exports, \"UsageTopAvgMetricsHour\", { enumerable: true, get: function () { return UsageTopAvgMetricsHour_1.UsageTopAvgMetricsHour; } });\nvar UsageTopAvgMetricsMetadata_1 = require(\"./models/UsageTopAvgMetricsMetadata\");\nObject.defineProperty(exports, \"UsageTopAvgMetricsMetadata\", { enumerable: true, get: function () { return UsageTopAvgMetricsMetadata_1.UsageTopAvgMetricsMetadata; } });\nvar UsageTopAvgMetricsPagination_1 = require(\"./models/UsageTopAvgMetricsPagination\");\nObject.defineProperty(exports, \"UsageTopAvgMetricsPagination\", { enumerable: true, get: function () { return UsageTopAvgMetricsPagination_1.UsageTopAvgMetricsPagination; } });\nvar UsageTopAvgMetricsResponse_1 = require(\"./models/UsageTopAvgMetricsResponse\");\nObject.defineProperty(exports, \"UsageTopAvgMetricsResponse\", { enumerable: true, get: function () { return UsageTopAvgMetricsResponse_1.UsageTopAvgMetricsResponse; } });\nvar User_1 = require(\"./models/User\");\nObject.defineProperty(exports, \"User\", { enumerable: true, get: function () { return User_1.User; } });\nvar UserDisableResponse_1 = require(\"./models/UserDisableResponse\");\nObject.defineProperty(exports, \"UserDisableResponse\", { enumerable: true, get: function () { return UserDisableResponse_1.UserDisableResponse; } });\nvar UserListResponse_1 = require(\"./models/UserListResponse\");\nObject.defineProperty(exports, \"UserListResponse\", { enumerable: true, get: function () { return UserListResponse_1.UserListResponse; } });\nvar UserResponse_1 = require(\"./models/UserResponse\");\nObject.defineProperty(exports, \"UserResponse\", { enumerable: true, get: function () { return UserResponse_1.UserResponse; } });\nvar WebhooksIntegration_1 = require(\"./models/WebhooksIntegration\");\nObject.defineProperty(exports, \"WebhooksIntegration\", { enumerable: true, get: function () { return WebhooksIntegration_1.WebhooksIntegration; } });\nvar WebhooksIntegrationCustomVariable_1 = require(\"./models/WebhooksIntegrationCustomVariable\");\nObject.defineProperty(exports, \"WebhooksIntegrationCustomVariable\", { enumerable: true, get: function () { return WebhooksIntegrationCustomVariable_1.WebhooksIntegrationCustomVariable; } });\nvar WebhooksIntegrationCustomVariableResponse_1 = require(\"./models/WebhooksIntegrationCustomVariableResponse\");\nObject.defineProperty(exports, \"WebhooksIntegrationCustomVariableResponse\", { enumerable: true, get: function () { return WebhooksIntegrationCustomVariableResponse_1.WebhooksIntegrationCustomVariableResponse; } });\nvar WebhooksIntegrationCustomVariableUpdateRequest_1 = require(\"./models/WebhooksIntegrationCustomVariableUpdateRequest\");\nObject.defineProperty(exports, \"WebhooksIntegrationCustomVariableUpdateRequest\", { enumerable: true, get: function () { return WebhooksIntegrationCustomVariableUpdateRequest_1.WebhooksIntegrationCustomVariableUpdateRequest; } });\nvar WebhooksIntegrationUpdateRequest_1 = require(\"./models/WebhooksIntegrationUpdateRequest\");\nObject.defineProperty(exports, \"WebhooksIntegrationUpdateRequest\", { enumerable: true, get: function () { return WebhooksIntegrationUpdateRequest_1.WebhooksIntegrationUpdateRequest; } });\nvar Widget_1 = require(\"./models/Widget\");\nObject.defineProperty(exports, \"Widget\", { enumerable: true, get: function () { return Widget_1.Widget; } });\nvar WidgetAxis_1 = require(\"./models/WidgetAxis\");\nObject.defineProperty(exports, \"WidgetAxis\", { enumerable: true, get: function () { return WidgetAxis_1.WidgetAxis; } });\nvar WidgetConditionalFormat_1 = require(\"./models/WidgetConditionalFormat\");\nObject.defineProperty(exports, \"WidgetConditionalFormat\", { enumerable: true, get: function () { return WidgetConditionalFormat_1.WidgetConditionalFormat; } });\nvar WidgetCustomLink_1 = require(\"./models/WidgetCustomLink\");\nObject.defineProperty(exports, \"WidgetCustomLink\", { enumerable: true, get: function () { return WidgetCustomLink_1.WidgetCustomLink; } });\nvar WidgetEvent_1 = require(\"./models/WidgetEvent\");\nObject.defineProperty(exports, \"WidgetEvent\", { enumerable: true, get: function () { return WidgetEvent_1.WidgetEvent; } });\nvar WidgetFieldSort_1 = require(\"./models/WidgetFieldSort\");\nObject.defineProperty(exports, \"WidgetFieldSort\", { enumerable: true, get: function () { return WidgetFieldSort_1.WidgetFieldSort; } });\nvar WidgetFormula_1 = require(\"./models/WidgetFormula\");\nObject.defineProperty(exports, \"WidgetFormula\", { enumerable: true, get: function () { return WidgetFormula_1.WidgetFormula; } });\nvar WidgetFormulaLimit_1 = require(\"./models/WidgetFormulaLimit\");\nObject.defineProperty(exports, \"WidgetFormulaLimit\", { enumerable: true, get: function () { return WidgetFormulaLimit_1.WidgetFormulaLimit; } });\nvar WidgetFormulaStyle_1 = require(\"./models/WidgetFormulaStyle\");\nObject.defineProperty(exports, \"WidgetFormulaStyle\", { enumerable: true, get: function () { return WidgetFormulaStyle_1.WidgetFormulaStyle; } });\nvar WidgetLayout_1 = require(\"./models/WidgetLayout\");\nObject.defineProperty(exports, \"WidgetLayout\", { enumerable: true, get: function () { return WidgetLayout_1.WidgetLayout; } });\nvar WidgetMarker_1 = require(\"./models/WidgetMarker\");\nObject.defineProperty(exports, \"WidgetMarker\", { enumerable: true, get: function () { return WidgetMarker_1.WidgetMarker; } });\nvar WidgetRequestStyle_1 = require(\"./models/WidgetRequestStyle\");\nObject.defineProperty(exports, \"WidgetRequestStyle\", { enumerable: true, get: function () { return WidgetRequestStyle_1.WidgetRequestStyle; } });\nvar WidgetStyle_1 = require(\"./models/WidgetStyle\");\nObject.defineProperty(exports, \"WidgetStyle\", { enumerable: true, get: function () { return WidgetStyle_1.WidgetStyle; } });\nvar WidgetTime_1 = require(\"./models/WidgetTime\");\nObject.defineProperty(exports, \"WidgetTime\", { enumerable: true, get: function () { return WidgetTime_1.WidgetTime; } });\nvar ObjectSerializer_1 = require(\"./models/ObjectSerializer\");\nObject.defineProperty(exports, \"ObjectSerializer\", { enumerable: true, get: function () { return ObjectSerializer_1.ObjectSerializer; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIErrorResponse = void 0;\n/**\n * Error response object.\n */\nclass APIErrorResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIErrorResponse.attributeTypeMap;\n    }\n}\nexports.APIErrorResponse = APIErrorResponse;\n/**\n * @ignore\n */\nAPIErrorResponse.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIErrorResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSAccount = void 0;\n/**\n * Returns the AWS account associated with this integration.\n */\nclass AWSAccount {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSAccount.attributeTypeMap;\n    }\n}\nexports.AWSAccount = AWSAccount;\n/**\n * @ignore\n */\nAWSAccount.attributeTypeMap = {\n    accessKeyId: {\n        baseName: \"access_key_id\",\n        type: \"string\",\n    },\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n    },\n    accountSpecificNamespaceRules: {\n        baseName: \"account_specific_namespace_rules\",\n        type: \"{ [key: string]: boolean; }\",\n    },\n    cspmResourceCollectionEnabled: {\n        baseName: \"cspm_resource_collection_enabled\",\n        type: \"boolean\",\n    },\n    excludedRegions: {\n        baseName: \"excluded_regions\",\n        type: \"Array\",\n    },\n    filterTags: {\n        baseName: \"filter_tags\",\n        type: \"Array\",\n    },\n    hostTags: {\n        baseName: \"host_tags\",\n        type: \"Array\",\n    },\n    metricsCollectionEnabled: {\n        baseName: \"metrics_collection_enabled\",\n        type: \"boolean\",\n    },\n    resourceCollectionEnabled: {\n        baseName: \"resource_collection_enabled\",\n        type: \"boolean\",\n    },\n    roleName: {\n        baseName: \"role_name\",\n        type: \"string\",\n    },\n    secretAccessKey: {\n        baseName: \"secret_access_key\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSAccount.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSAccountAndLambdaRequest = void 0;\n/**\n * AWS account ID and Lambda ARN.\n */\nclass AWSAccountAndLambdaRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSAccountAndLambdaRequest.attributeTypeMap;\n    }\n}\nexports.AWSAccountAndLambdaRequest = AWSAccountAndLambdaRequest;\n/**\n * @ignore\n */\nAWSAccountAndLambdaRequest.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n        required: true,\n    },\n    lambdaArn: {\n        baseName: \"lambda_arn\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AWSAccountAndLambdaRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSAccountCreateResponse = void 0;\n/**\n * The Response returned by the AWS Create Account call.\n */\nclass AWSAccountCreateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSAccountCreateResponse.attributeTypeMap;\n    }\n}\nexports.AWSAccountCreateResponse = AWSAccountCreateResponse;\n/**\n * @ignore\n */\nAWSAccountCreateResponse.attributeTypeMap = {\n    externalId: {\n        baseName: \"external_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSAccountCreateResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSAccountDeleteRequest = void 0;\n/**\n * List of AWS accounts to delete.\n */\nclass AWSAccountDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSAccountDeleteRequest.attributeTypeMap;\n    }\n}\nexports.AWSAccountDeleteRequest = AWSAccountDeleteRequest;\n/**\n * @ignore\n */\nAWSAccountDeleteRequest.attributeTypeMap = {\n    accessKeyId: {\n        baseName: \"access_key_id\",\n        type: \"string\",\n    },\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n    },\n    roleName: {\n        baseName: \"role_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSAccountDeleteRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSAccountListResponse = void 0;\n/**\n * List of enabled AWS accounts.\n */\nclass AWSAccountListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSAccountListResponse.attributeTypeMap;\n    }\n}\nexports.AWSAccountListResponse = AWSAccountListResponse;\n/**\n * @ignore\n */\nAWSAccountListResponse.attributeTypeMap = {\n    accounts: {\n        baseName: \"accounts\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=AWSAccountListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsAsyncError = void 0;\n/**\n * Description of errors.\n */\nclass AWSLogsAsyncError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsAsyncError.attributeTypeMap;\n    }\n}\nexports.AWSLogsAsyncError = AWSLogsAsyncError;\n/**\n * @ignore\n */\nAWSLogsAsyncError.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSLogsAsyncError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsAsyncResponse = void 0;\n/**\n * A list of all Datadog-AWS logs integrations available in your Datadog organization.\n */\nclass AWSLogsAsyncResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsAsyncResponse.attributeTypeMap;\n    }\n}\nexports.AWSLogsAsyncResponse = AWSLogsAsyncResponse;\n/**\n * @ignore\n */\nAWSLogsAsyncResponse.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSLogsAsyncResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsLambda = void 0;\n/**\n * Description of the Lambdas.\n */\nclass AWSLogsLambda {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsLambda.attributeTypeMap;\n    }\n}\nexports.AWSLogsLambda = AWSLogsLambda;\n/**\n * @ignore\n */\nAWSLogsLambda.attributeTypeMap = {\n    arn: {\n        baseName: \"arn\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSLogsLambda.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsListResponse = void 0;\n/**\n * A list of all Datadog-AWS logs integrations available in your Datadog organization.\n */\nclass AWSLogsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsListResponse.attributeTypeMap;\n    }\n}\nexports.AWSLogsListResponse = AWSLogsListResponse;\n/**\n * @ignore\n */\nAWSLogsListResponse.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n    },\n    lambdas: {\n        baseName: \"lambdas\",\n        type: \"Array\",\n    },\n    services: {\n        baseName: \"services\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=AWSLogsListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsListServicesResponse = void 0;\n/**\n * The list of current AWS services for which Datadog offers automatic log collection.\n */\nclass AWSLogsListServicesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsListServicesResponse.attributeTypeMap;\n    }\n}\nexports.AWSLogsListServicesResponse = AWSLogsListServicesResponse;\n/**\n * @ignore\n */\nAWSLogsListServicesResponse.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSLogsListServicesResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSLogsServicesRequest = void 0;\n/**\n * A list of current AWS services for which Datadog offers automatic log collection.\n */\nclass AWSLogsServicesRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSLogsServicesRequest.attributeTypeMap;\n    }\n}\nexports.AWSLogsServicesRequest = AWSLogsServicesRequest;\n/**\n * @ignore\n */\nAWSLogsServicesRequest.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n        required: true,\n    },\n    services: {\n        baseName: \"services\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AWSLogsServicesRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSTagFilter = void 0;\n/**\n * A tag filter.\n */\nclass AWSTagFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSTagFilter.attributeTypeMap;\n    }\n}\nexports.AWSTagFilter = AWSTagFilter;\n/**\n * @ignore\n */\nAWSTagFilter.attributeTypeMap = {\n    namespace: {\n        baseName: \"namespace\",\n        type: \"AWSNamespace\",\n    },\n    tagFilterStr: {\n        baseName: \"tag_filter_str\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSTagFilter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSTagFilterCreateRequest = void 0;\n/**\n * The objects used to set an AWS tag filter.\n */\nclass AWSTagFilterCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSTagFilterCreateRequest.attributeTypeMap;\n    }\n}\nexports.AWSTagFilterCreateRequest = AWSTagFilterCreateRequest;\n/**\n * @ignore\n */\nAWSTagFilterCreateRequest.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n    },\n    namespace: {\n        baseName: \"namespace\",\n        type: \"AWSNamespace\",\n    },\n    tagFilterStr: {\n        baseName: \"tag_filter_str\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AWSTagFilterCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSTagFilterDeleteRequest = void 0;\n/**\n * The objects used to delete an AWS tag filter entry.\n */\nclass AWSTagFilterDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSTagFilterDeleteRequest.attributeTypeMap;\n    }\n}\nexports.AWSTagFilterDeleteRequest = AWSTagFilterDeleteRequest;\n/**\n * @ignore\n */\nAWSTagFilterDeleteRequest.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n    },\n    namespace: {\n        baseName: \"namespace\",\n        type: \"AWSNamespace\",\n    },\n};\n//# sourceMappingURL=AWSTagFilterDeleteRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AWSTagFilterListResponse = void 0;\n/**\n * An array of tag filter rules by `namespace` and tag filter string.\n */\nclass AWSTagFilterListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AWSTagFilterListResponse.attributeTypeMap;\n    }\n}\nexports.AWSTagFilterListResponse = AWSTagFilterListResponse;\n/**\n * @ignore\n */\nAWSTagFilterListResponse.attributeTypeMap = {\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=AWSTagFilterListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddSignalToIncidentRequest = void 0;\n/**\n * Attributes describing which incident to add the signal to.\n */\nclass AddSignalToIncidentRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AddSignalToIncidentRequest.attributeTypeMap;\n    }\n}\nexports.AddSignalToIncidentRequest = AddSignalToIncidentRequest;\n/**\n * @ignore\n */\nAddSignalToIncidentRequest.attributeTypeMap = {\n    addToSignalTimeline: {\n        baseName: \"add_to_signal_timeline\",\n        type: \"boolean\",\n    },\n    incidentId: {\n        baseName: \"incident_id\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=AddSignalToIncidentRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AlertGraphWidgetDefinition = void 0;\n/**\n * Alert graphs are timeseries graphs showing the current status of any monitor defined on your system.\n */\nclass AlertGraphWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AlertGraphWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.AlertGraphWidgetDefinition = AlertGraphWidgetDefinition;\n/**\n * @ignore\n */\nAlertGraphWidgetDefinition.attributeTypeMap = {\n    alertId: {\n        baseName: \"alert_id\",\n        type: \"string\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AlertGraphWidgetDefinitionType\",\n        required: true,\n    },\n    vizType: {\n        baseName: \"viz_type\",\n        type: \"WidgetVizType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AlertGraphWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AlertValueWidgetDefinition = void 0;\n/**\n * Alert values are query values showing the current value of the metric in any monitor defined on your system.\n */\nclass AlertValueWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AlertValueWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.AlertValueWidgetDefinition = AlertValueWidgetDefinition;\n/**\n * @ignore\n */\nAlertValueWidgetDefinition.attributeTypeMap = {\n    alertId: {\n        baseName: \"alert_id\",\n        type: \"string\",\n        required: true,\n    },\n    precision: {\n        baseName: \"precision\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    textAlign: {\n        baseName: \"text_align\",\n        type: \"WidgetTextAlign\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AlertValueWidgetDefinitionType\",\n        required: true,\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AlertValueWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiKey = void 0;\n/**\n * Datadog API key.\n */\nclass ApiKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApiKey.attributeTypeMap;\n    }\n}\nexports.ApiKey = ApiKey;\n/**\n * @ignore\n */\nApiKey.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"string\",\n    },\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"string\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ApiKey.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiKeyListResponse = void 0;\n/**\n * List of API and application keys available for a given organization.\n */\nclass ApiKeyListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApiKeyListResponse.attributeTypeMap;\n    }\n}\nexports.ApiKeyListResponse = ApiKeyListResponse;\n/**\n * @ignore\n */\nApiKeyListResponse.attributeTypeMap = {\n    apiKeys: {\n        baseName: \"api_keys\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ApiKeyListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiKeyResponse = void 0;\n/**\n * An API key with its associated metadata.\n */\nclass ApiKeyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApiKeyResponse.attributeTypeMap;\n    }\n}\nexports.ApiKeyResponse = ApiKeyResponse;\n/**\n * @ignore\n */\nApiKeyResponse.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"ApiKey\",\n    },\n};\n//# sourceMappingURL=ApiKeyResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApmStatsQueryColumnType = void 0;\n/**\n * Column properties.\n */\nclass ApmStatsQueryColumnType {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApmStatsQueryColumnType.attributeTypeMap;\n    }\n}\nexports.ApmStatsQueryColumnType = ApmStatsQueryColumnType;\n/**\n * @ignore\n */\nApmStatsQueryColumnType.attributeTypeMap = {\n    alias: {\n        baseName: \"alias\",\n        type: \"string\",\n    },\n    cellDisplayMode: {\n        baseName: \"cell_display_mode\",\n        type: \"TableWidgetCellDisplayMode\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    order: {\n        baseName: \"order\",\n        type: \"WidgetSort\",\n    },\n};\n//# sourceMappingURL=ApmStatsQueryColumnType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApmStatsQueryDefinition = void 0;\n/**\n * The APM stats query for table and distributions widgets.\n */\nclass ApmStatsQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApmStatsQueryDefinition.attributeTypeMap;\n    }\n}\nexports.ApmStatsQueryDefinition = ApmStatsQueryDefinition;\n/**\n * @ignore\n */\nApmStatsQueryDefinition.attributeTypeMap = {\n    columns: {\n        baseName: \"columns\",\n        type: \"Array\",\n    },\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    primaryTag: {\n        baseName: \"primary_tag\",\n        type: \"string\",\n        required: true,\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    rowType: {\n        baseName: \"row_type\",\n        type: \"ApmStatsQueryRowType\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ApmStatsQueryDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKey = void 0;\n/**\n * An application key with its associated metadata.\n */\nclass ApplicationKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKey.attributeTypeMap;\n    }\n}\nexports.ApplicationKey = ApplicationKey;\n/**\n * @ignore\n */\nApplicationKey.attributeTypeMap = {\n    hash: {\n        baseName: \"hash\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    owner: {\n        baseName: \"owner\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ApplicationKey.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyListResponse = void 0;\n/**\n * An application key response.\n */\nclass ApplicationKeyListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyListResponse.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyListResponse = ApplicationKeyListResponse;\n/**\n * @ignore\n */\nApplicationKeyListResponse.attributeTypeMap = {\n    applicationKeys: {\n        baseName: \"application_keys\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyResponse = void 0;\n/**\n * An application key response.\n */\nclass ApplicationKeyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyResponse.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyResponse = ApplicationKeyResponse;\n/**\n * @ignore\n */\nApplicationKeyResponse.attributeTypeMap = {\n    applicationKey: {\n        baseName: \"application_key\",\n        type: \"ApplicationKey\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthenticationValidationResponse = void 0;\n/**\n * Represent validation endpoint responses.\n */\nclass AuthenticationValidationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthenticationValidationResponse.attributeTypeMap;\n    }\n}\nexports.AuthenticationValidationResponse = AuthenticationValidationResponse;\n/**\n * @ignore\n */\nAuthenticationValidationResponse.attributeTypeMap = {\n    valid: {\n        baseName: \"valid\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=AuthenticationValidationResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AzureAccount = void 0;\n/**\n * Datadog-Azure integrations configured for your organization.\n */\nclass AzureAccount {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AzureAccount.attributeTypeMap;\n    }\n}\nexports.AzureAccount = AzureAccount;\n/**\n * @ignore\n */\nAzureAccount.attributeTypeMap = {\n    appServicePlanFilters: {\n        baseName: \"app_service_plan_filters\",\n        type: \"string\",\n    },\n    automute: {\n        baseName: \"automute\",\n        type: \"boolean\",\n    },\n    clientId: {\n        baseName: \"client_id\",\n        type: \"string\",\n    },\n    clientSecret: {\n        baseName: \"client_secret\",\n        type: \"string\",\n    },\n    cspmEnabled: {\n        baseName: \"cspm_enabled\",\n        type: \"boolean\",\n    },\n    customMetricsEnabled: {\n        baseName: \"custom_metrics_enabled\",\n        type: \"boolean\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    hostFilters: {\n        baseName: \"host_filters\",\n        type: \"string\",\n    },\n    newClientId: {\n        baseName: \"new_client_id\",\n        type: \"string\",\n    },\n    newTenantName: {\n        baseName: \"new_tenant_name\",\n        type: \"string\",\n    },\n    tenantName: {\n        baseName: \"tenant_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AzureAccount.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancelDowntimesByScopeRequest = void 0;\n/**\n * Cancel downtimes according to scope.\n */\nclass CancelDowntimesByScopeRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CancelDowntimesByScopeRequest.attributeTypeMap;\n    }\n}\nexports.CancelDowntimesByScopeRequest = CancelDowntimesByScopeRequest;\n/**\n * @ignore\n */\nCancelDowntimesByScopeRequest.attributeTypeMap = {\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CancelDowntimesByScopeRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CanceledDowntimesIds = void 0;\n/**\n * Object containing array of IDs of canceled downtimes.\n */\nclass CanceledDowntimesIds {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CanceledDowntimesIds.attributeTypeMap;\n    }\n}\nexports.CanceledDowntimesIds = CanceledDowntimesIds;\n/**\n * @ignore\n */\nCanceledDowntimesIds.attributeTypeMap = {\n    cancelledIds: {\n        baseName: \"cancelled_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=CanceledDowntimesIds.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChangeWidgetDefinition = void 0;\n/**\n * The Change graph shows you the change in a value over the time period chosen.\n */\nclass ChangeWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ChangeWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ChangeWidgetDefinition = ChangeWidgetDefinition;\n/**\n * @ignore\n */\nChangeWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[ChangeWidgetRequest]\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ChangeWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ChangeWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChangeWidgetRequest = void 0;\n/**\n * Updated change widget.\n */\nclass ChangeWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ChangeWidgetRequest.attributeTypeMap;\n    }\n}\nexports.ChangeWidgetRequest = ChangeWidgetRequest;\n/**\n * @ignore\n */\nChangeWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    changeType: {\n        baseName: \"change_type\",\n        type: \"WidgetChangeType\",\n    },\n    compareTo: {\n        baseName: \"compare_to\",\n        type: \"WidgetCompareTo\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    increaseGood: {\n        baseName: \"increase_good\",\n        type: \"boolean\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    orderBy: {\n        baseName: \"order_by\",\n        type: \"WidgetOrderBy\",\n    },\n    orderDir: {\n        baseName: \"order_dir\",\n        type: \"WidgetSort\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    showPresent: {\n        baseName: \"show_present\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=ChangeWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckCanDeleteMonitorResponse = void 0;\n/**\n * Response of monitor IDs that can or can't be safely deleted.\n */\nclass CheckCanDeleteMonitorResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CheckCanDeleteMonitorResponse.attributeTypeMap;\n    }\n}\nexports.CheckCanDeleteMonitorResponse = CheckCanDeleteMonitorResponse;\n/**\n * @ignore\n */\nCheckCanDeleteMonitorResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CheckCanDeleteMonitorResponseData\",\n        required: true,\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"{ [key: string]: Array; }\",\n    },\n};\n//# sourceMappingURL=CheckCanDeleteMonitorResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckCanDeleteMonitorResponseData = void 0;\n/**\n * Wrapper object with the list of monitor IDs.\n */\nclass CheckCanDeleteMonitorResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CheckCanDeleteMonitorResponseData.attributeTypeMap;\n    }\n}\nexports.CheckCanDeleteMonitorResponseData = CheckCanDeleteMonitorResponseData;\n/**\n * @ignore\n */\nCheckCanDeleteMonitorResponseData.attributeTypeMap = {\n    ok: {\n        baseName: \"ok\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=CheckCanDeleteMonitorResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckCanDeleteSLOResponse = void 0;\n/**\n * A service level objective response containing the requested object.\n */\nclass CheckCanDeleteSLOResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CheckCanDeleteSLOResponse.attributeTypeMap;\n    }\n}\nexports.CheckCanDeleteSLOResponse = CheckCanDeleteSLOResponse;\n/**\n * @ignore\n */\nCheckCanDeleteSLOResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CheckCanDeleteSLOResponseData\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"{ [key: string]: string; }\",\n    },\n};\n//# sourceMappingURL=CheckCanDeleteSLOResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckCanDeleteSLOResponseData = void 0;\n/**\n * An array of service level objective objects.\n */\nclass CheckCanDeleteSLOResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CheckCanDeleteSLOResponseData.attributeTypeMap;\n    }\n}\nexports.CheckCanDeleteSLOResponseData = CheckCanDeleteSLOResponseData;\n/**\n * @ignore\n */\nCheckCanDeleteSLOResponseData.attributeTypeMap = {\n    ok: {\n        baseName: \"ok\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CheckCanDeleteSLOResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckStatusWidgetDefinition = void 0;\n/**\n * Check status shows the current status or number of results for any check performed.\n */\nclass CheckStatusWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CheckStatusWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.CheckStatusWidgetDefinition = CheckStatusWidgetDefinition;\n/**\n * @ignore\n */\nCheckStatusWidgetDefinition.attributeTypeMap = {\n    check: {\n        baseName: \"check\",\n        type: \"string\",\n        required: true,\n    },\n    group: {\n        baseName: \"group\",\n        type: \"string\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    grouping: {\n        baseName: \"grouping\",\n        type: \"WidgetGrouping\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CheckStatusWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CheckStatusWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Creator = void 0;\n/**\n * Object describing the creator of the shared element.\n */\nclass Creator {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Creator.attributeTypeMap;\n    }\n}\nexports.Creator = Creator;\n/**\n * @ignore\n */\nCreator.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dashboard = void 0;\n/**\n * A dashboard is Datadog’s tool for visually tracking, analyzing, and displaying\n * key performance metrics, which enable you to monitor the health of your infrastructure.\n */\nclass Dashboard {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Dashboard.attributeTypeMap;\n    }\n}\nexports.Dashboard = Dashboard;\n/**\n * @ignore\n */\nDashboard.attributeTypeMap = {\n    authorHandle: {\n        baseName: \"author_handle\",\n        type: \"string\",\n    },\n    authorName: {\n        baseName: \"author_name\",\n        type: \"string\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    isReadOnly: {\n        baseName: \"is_read_only\",\n        type: \"boolean\",\n    },\n    layoutType: {\n        baseName: \"layout_type\",\n        type: \"DashboardLayoutType\",\n        required: true,\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    notifyList: {\n        baseName: \"notify_list\",\n        type: \"Array\",\n    },\n    reflowType: {\n        baseName: \"reflow_type\",\n        type: \"DashboardReflowType\",\n    },\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    templateVariablePresets: {\n        baseName: \"template_variable_presets\",\n        type: \"Array\",\n    },\n    templateVariables: {\n        baseName: \"template_variables\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n    widgets: {\n        baseName: \"widgets\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Dashboard.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardBulkActionData = void 0;\n/**\n * Dashboard bulk action request data.\n */\nclass DashboardBulkActionData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardBulkActionData.attributeTypeMap;\n    }\n}\nexports.DashboardBulkActionData = DashboardBulkActionData;\n/**\n * @ignore\n */\nDashboardBulkActionData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DashboardResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DashboardBulkActionData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardBulkDeleteRequest = void 0;\n/**\n * Dashboard bulk delete request body.\n */\nclass DashboardBulkDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardBulkDeleteRequest.attributeTypeMap;\n    }\n}\nexports.DashboardBulkDeleteRequest = DashboardBulkDeleteRequest;\n/**\n * @ignore\n */\nDashboardBulkDeleteRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DashboardBulkDeleteRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardDeleteResponse = void 0;\n/**\n * Response from the delete dashboard call.\n */\nclass DashboardDeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardDeleteResponse.attributeTypeMap;\n    }\n}\nexports.DashboardDeleteResponse = DashboardDeleteResponse;\n/**\n * @ignore\n */\nDashboardDeleteResponse.attributeTypeMap = {\n    deletedDashboardId: {\n        baseName: \"deleted_dashboard_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DashboardDeleteResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardGlobalTime = void 0;\n/**\n * Object containing the live span selection for the dashboard.\n */\nclass DashboardGlobalTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardGlobalTime.attributeTypeMap;\n    }\n}\nexports.DashboardGlobalTime = DashboardGlobalTime;\n/**\n * @ignore\n */\nDashboardGlobalTime.attributeTypeMap = {\n    liveSpan: {\n        baseName: \"live_span\",\n        type: \"DashboardGlobalTimeLiveSpan\",\n    },\n};\n//# sourceMappingURL=DashboardGlobalTime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardList = void 0;\n/**\n * Your Datadog Dashboards.\n */\nclass DashboardList {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardList.attributeTypeMap;\n    }\n}\nexports.DashboardList = DashboardList;\n/**\n * @ignore\n */\nDashboardList.attributeTypeMap = {\n    author: {\n        baseName: \"author\",\n        type: \"Creator\",\n    },\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    dashboardCount: {\n        baseName: \"dashboard_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    isFavorite: {\n        baseName: \"is_favorite\",\n        type: \"boolean\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DashboardList.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListDeleteResponse = void 0;\n/**\n * Deleted dashboard details.\n */\nclass DashboardListDeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListDeleteResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListDeleteResponse = DashboardListDeleteResponse;\n/**\n * @ignore\n */\nDashboardListDeleteResponse.attributeTypeMap = {\n    deletedDashboardListId: {\n        baseName: \"deleted_dashboard_list_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=DashboardListDeleteResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListListResponse = void 0;\n/**\n * Information on your dashboard lists.\n */\nclass DashboardListListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListListResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListListResponse = DashboardListListResponse;\n/**\n * @ignore\n */\nDashboardListListResponse.attributeTypeMap = {\n    dashboardLists: {\n        baseName: \"dashboard_lists\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardRestoreRequest = void 0;\n/**\n * Dashboard restore request body.\n */\nclass DashboardRestoreRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardRestoreRequest.attributeTypeMap;\n    }\n}\nexports.DashboardRestoreRequest = DashboardRestoreRequest;\n/**\n * @ignore\n */\nDashboardRestoreRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DashboardRestoreRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardSummary = void 0;\n/**\n * Dashboard summary response.\n */\nclass DashboardSummary {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardSummary.attributeTypeMap;\n    }\n}\nexports.DashboardSummary = DashboardSummary;\n/**\n * @ignore\n */\nDashboardSummary.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardSummary.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardSummaryDefinition = void 0;\n/**\n * Dashboard definition.\n */\nclass DashboardSummaryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardSummaryDefinition.attributeTypeMap;\n    }\n}\nexports.DashboardSummaryDefinition = DashboardSummaryDefinition;\n/**\n * @ignore\n */\nDashboardSummaryDefinition.attributeTypeMap = {\n    authorHandle: {\n        baseName: \"author_handle\",\n        type: \"string\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    isReadOnly: {\n        baseName: \"is_read_only\",\n        type: \"boolean\",\n    },\n    layoutType: {\n        baseName: \"layout_type\",\n        type: \"DashboardLayoutType\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DashboardSummaryDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardTemplateVariable = void 0;\n/**\n * Template variable.\n */\nclass DashboardTemplateVariable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardTemplateVariable.attributeTypeMap;\n    }\n}\nexports.DashboardTemplateVariable = DashboardTemplateVariable;\n/**\n * @ignore\n */\nDashboardTemplateVariable.attributeTypeMap = {\n    availableValues: {\n        baseName: \"available_values\",\n        type: \"Array\",\n    },\n    _default: {\n        baseName: \"default\",\n        type: \"string\",\n    },\n    defaults: {\n        baseName: \"defaults\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    prefix: {\n        baseName: \"prefix\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DashboardTemplateVariable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardTemplateVariablePreset = void 0;\n/**\n * Template variables saved views.\n */\nclass DashboardTemplateVariablePreset {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardTemplateVariablePreset.attributeTypeMap;\n    }\n}\nexports.DashboardTemplateVariablePreset = DashboardTemplateVariablePreset;\n/**\n * @ignore\n */\nDashboardTemplateVariablePreset.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    templateVariables: {\n        baseName: \"template_variables\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardTemplateVariablePreset.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardTemplateVariablePresetValue = void 0;\n/**\n * Template variables saved views.\n */\nclass DashboardTemplateVariablePresetValue {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardTemplateVariablePresetValue.attributeTypeMap;\n    }\n}\nexports.DashboardTemplateVariablePresetValue = DashboardTemplateVariablePresetValue;\n/**\n * @ignore\n */\nDashboardTemplateVariablePresetValue.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardTemplateVariablePresetValue.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeleteSharedDashboardResponse = void 0;\n/**\n * Response containing token of deleted shared dashboard.\n */\nclass DeleteSharedDashboardResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DeleteSharedDashboardResponse.attributeTypeMap;\n    }\n}\nexports.DeleteSharedDashboardResponse = DeleteSharedDashboardResponse;\n/**\n * @ignore\n */\nDeleteSharedDashboardResponse.attributeTypeMap = {\n    deletedPublicDashboardToken: {\n        baseName: \"deleted_public_dashboard_token\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DeleteSharedDashboardResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DeletedMonitor = void 0;\n/**\n * Response from the delete monitor call.\n */\nclass DeletedMonitor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DeletedMonitor.attributeTypeMap;\n    }\n}\nexports.DeletedMonitor = DeletedMonitor;\n/**\n * @ignore\n */\nDeletedMonitor.attributeTypeMap = {\n    deletedMonitorId: {\n        baseName: \"deleted_monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=DeletedMonitor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionPointsPayload = void 0;\n/**\n * The distribution points payload.\n */\nclass DistributionPointsPayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionPointsPayload.attributeTypeMap;\n    }\n}\nexports.DistributionPointsPayload = DistributionPointsPayload;\n/**\n * @ignore\n */\nDistributionPointsPayload.attributeTypeMap = {\n    series: {\n        baseName: \"series\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DistributionPointsPayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionPointsSeries = void 0;\n/**\n * A distribution points metric to submit to Datadog.\n */\nclass DistributionPointsSeries {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionPointsSeries.attributeTypeMap;\n    }\n}\nexports.DistributionPointsSeries = DistributionPointsSeries;\n/**\n * @ignore\n */\nDistributionPointsSeries.attributeTypeMap = {\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n        required: true,\n    },\n    points: {\n        baseName: \"points\",\n        type: \"Array<[DistributionPointItem, DistributionPointItem]>\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DistributionPointsType\",\n    },\n};\n//# sourceMappingURL=DistributionPointsSeries.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionWidgetDefinition = void 0;\n/**\n * The Distribution visualization is another way of showing metrics\n * aggregated across one or several tags, such as hosts.\n * Unlike the heat map, a distribution graph’s x-axis is quantity rather than time.\n */\nclass DistributionWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.DistributionWidgetDefinition = DistributionWidgetDefinition;\n/**\n * @ignore\n */\nDistributionWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    legendSize: {\n        baseName: \"legend_size\",\n        type: \"string\",\n    },\n    markers: {\n        baseName: \"markers\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[DistributionWidgetRequest]\",\n        required: true,\n    },\n    showLegend: {\n        baseName: \"show_legend\",\n        type: \"boolean\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DistributionWidgetDefinitionType\",\n        required: true,\n    },\n    xaxis: {\n        baseName: \"xaxis\",\n        type: \"DistributionWidgetXAxis\",\n    },\n    yaxis: {\n        baseName: \"yaxis\",\n        type: \"DistributionWidgetYAxis\",\n    },\n};\n//# sourceMappingURL=DistributionWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionWidgetRequest = void 0;\n/**\n * Updated distribution widget.\n */\nclass DistributionWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionWidgetRequest.attributeTypeMap;\n    }\n}\nexports.DistributionWidgetRequest = DistributionWidgetRequest;\n/**\n * @ignore\n */\nDistributionWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    apmStatsQuery: {\n        baseName: \"apm_stats_query\",\n        type: \"ApmStatsQueryDefinition\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"DistributionWidgetHistogramRequestQuery\",\n    },\n    requestType: {\n        baseName: \"request_type\",\n        type: \"DistributionWidgetHistogramRequestType\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetStyle\",\n    },\n};\n//# sourceMappingURL=DistributionWidgetRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionWidgetXAxis = void 0;\n/**\n * X Axis controls for the distribution widget.\n */\nclass DistributionWidgetXAxis {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionWidgetXAxis.attributeTypeMap;\n    }\n}\nexports.DistributionWidgetXAxis = DistributionWidgetXAxis;\n/**\n * @ignore\n */\nDistributionWidgetXAxis.attributeTypeMap = {\n    includeZero: {\n        baseName: \"include_zero\",\n        type: \"boolean\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"string\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"string\",\n    },\n    scale: {\n        baseName: \"scale\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DistributionWidgetXAxis.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistributionWidgetYAxis = void 0;\n/**\n * Y Axis controls for the distribution widget.\n */\nclass DistributionWidgetYAxis {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DistributionWidgetYAxis.attributeTypeMap;\n    }\n}\nexports.DistributionWidgetYAxis = DistributionWidgetYAxis;\n/**\n * @ignore\n */\nDistributionWidgetYAxis.attributeTypeMap = {\n    includeZero: {\n        baseName: \"include_zero\",\n        type: \"boolean\",\n    },\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"string\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"string\",\n    },\n    scale: {\n        baseName: \"scale\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DistributionWidgetYAxis.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Downtime = void 0;\n/**\n * Downtiming gives you greater control over monitor notifications by\n * allowing you to globally exclude scopes from alerting.\n * Downtime settings, which can be scheduled with start and end times,\n * prevent all alerting related to specified Datadog tags.\n */\nclass Downtime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Downtime.attributeTypeMap;\n    }\n}\nexports.Downtime = Downtime;\n/**\n * @ignore\n */\nDowntime.attributeTypeMap = {\n    active: {\n        baseName: \"active\",\n        type: \"boolean\",\n    },\n    activeChild: {\n        baseName: \"active_child\",\n        type: \"DowntimeChild\",\n    },\n    canceled: {\n        baseName: \"canceled\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creatorId: {\n        baseName: \"creator_id\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    downtimeType: {\n        baseName: \"downtime_type\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorTags: {\n        baseName: \"monitor_tags\",\n        type: \"Array\",\n    },\n    muteFirstRecoveryNotification: {\n        baseName: \"mute_first_recovery_notification\",\n        type: \"boolean\",\n    },\n    notifyEndStates: {\n        baseName: \"notify_end_states\",\n        type: \"Array\",\n    },\n    notifyEndTypes: {\n        baseName: \"notify_end_types\",\n        type: \"Array\",\n    },\n    parentId: {\n        baseName: \"parent_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    recurrence: {\n        baseName: \"recurrence\",\n        type: \"DowntimeRecurrence\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"Array\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n    updaterId: {\n        baseName: \"updater_id\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=Downtime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeChild = void 0;\n/**\n * The downtime object definition of the active child for the original parent recurring downtime. This\n * field will only exist on recurring downtimes.\n */\nclass DowntimeChild {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeChild.attributeTypeMap;\n    }\n}\nexports.DowntimeChild = DowntimeChild;\n/**\n * @ignore\n */\nDowntimeChild.attributeTypeMap = {\n    active: {\n        baseName: \"active\",\n        type: \"boolean\",\n    },\n    canceled: {\n        baseName: \"canceled\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creatorId: {\n        baseName: \"creator_id\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    downtimeType: {\n        baseName: \"downtime_type\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorTags: {\n        baseName: \"monitor_tags\",\n        type: \"Array\",\n    },\n    muteFirstRecoveryNotification: {\n        baseName: \"mute_first_recovery_notification\",\n        type: \"boolean\",\n    },\n    notifyEndStates: {\n        baseName: \"notify_end_states\",\n        type: \"Array\",\n    },\n    notifyEndTypes: {\n        baseName: \"notify_end_types\",\n        type: \"Array\",\n    },\n    parentId: {\n        baseName: \"parent_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    recurrence: {\n        baseName: \"recurrence\",\n        type: \"DowntimeRecurrence\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"Array\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n    updaterId: {\n        baseName: \"updater_id\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=DowntimeChild.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRecurrence = void 0;\n/**\n * An object defining the recurrence of the downtime.\n */\nclass DowntimeRecurrence {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRecurrence.attributeTypeMap;\n    }\n}\nexports.DowntimeRecurrence = DowntimeRecurrence;\n/**\n * @ignore\n */\nDowntimeRecurrence.attributeTypeMap = {\n    period: {\n        baseName: \"period\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n    untilDate: {\n        baseName: \"until_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    untilOccurrences: {\n        baseName: \"until_occurrences\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    weekDays: {\n        baseName: \"week_days\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DowntimeRecurrence.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Event = void 0;\n/**\n * Object representing an event.\n */\nclass Event {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Event.attributeTypeMap;\n    }\n}\nexports.Event = Event;\n/**\n * @ignore\n */\nEvent.attributeTypeMap = {\n    alertType: {\n        baseName: \"alert_type\",\n        type: \"EventAlertType\",\n    },\n    dateHappened: {\n        baseName: \"date_happened\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    deviceName: {\n        baseName: \"device_name\",\n        type: \"string\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    idStr: {\n        baseName: \"id_str\",\n        type: \"string\",\n    },\n    payload: {\n        baseName: \"payload\",\n        type: \"string\",\n    },\n    priority: {\n        baseName: \"priority\",\n        type: \"EventPriority\",\n    },\n    sourceTypeName: {\n        baseName: \"source_type_name\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    text: {\n        baseName: \"text\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Event.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventCreateRequest = void 0;\n/**\n * Object representing an event.\n */\nclass EventCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventCreateRequest.attributeTypeMap;\n    }\n}\nexports.EventCreateRequest = EventCreateRequest;\n/**\n * @ignore\n */\nEventCreateRequest.attributeTypeMap = {\n    aggregationKey: {\n        baseName: \"aggregation_key\",\n        type: \"string\",\n    },\n    alertType: {\n        baseName: \"alert_type\",\n        type: \"EventAlertType\",\n    },\n    dateHappened: {\n        baseName: \"date_happened\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    deviceName: {\n        baseName: \"device_name\",\n        type: \"string\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    priority: {\n        baseName: \"priority\",\n        type: \"EventPriority\",\n    },\n    relatedEventId: {\n        baseName: \"related_event_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sourceTypeName: {\n        baseName: \"source_type_name\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    text: {\n        baseName: \"text\",\n        type: \"string\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=EventCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventCreateResponse = void 0;\n/**\n * Object containing an event response.\n */\nclass EventCreateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventCreateResponse.attributeTypeMap;\n    }\n}\nexports.EventCreateResponse = EventCreateResponse;\n/**\n * @ignore\n */\nEventCreateResponse.attributeTypeMap = {\n    event: {\n        baseName: \"event\",\n        type: \"Event\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventCreateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventListResponse = void 0;\n/**\n * An event list response.\n */\nclass EventListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventListResponse.attributeTypeMap;\n    }\n}\nexports.EventListResponse = EventListResponse;\n/**\n * @ignore\n */\nEventListResponse.attributeTypeMap = {\n    events: {\n        baseName: \"events\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventQueryDefinition = void 0;\n/**\n * The event query.\n */\nclass EventQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventQueryDefinition.attributeTypeMap;\n    }\n}\nexports.EventQueryDefinition = EventQueryDefinition;\n/**\n * @ignore\n */\nEventQueryDefinition.attributeTypeMap = {\n    search: {\n        baseName: \"search\",\n        type: \"string\",\n        required: true,\n    },\n    tagsExecution: {\n        baseName: \"tags_execution\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=EventQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventResponse = void 0;\n/**\n * Object containing an event response.\n */\nclass EventResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventResponse.attributeTypeMap;\n    }\n}\nexports.EventResponse = EventResponse;\n/**\n * @ignore\n */\nEventResponse.attributeTypeMap = {\n    event: {\n        baseName: \"event\",\n        type: \"Event\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamWidgetDefinition = void 0;\n/**\n * The event stream is a widget version of the stream of events\n * on the Event Stream view. Only available on FREE layout dashboards.\n */\nclass EventStreamWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventStreamWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.EventStreamWidgetDefinition = EventStreamWidgetDefinition;\n/**\n * @ignore\n */\nEventStreamWidgetDefinition.attributeTypeMap = {\n    eventSize: {\n        baseName: \"event_size\",\n        type: \"WidgetEventSize\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    tagsExecution: {\n        baseName: \"tags_execution\",\n        type: \"string\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"EventStreamWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=EventStreamWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTimelineWidgetDefinition = void 0;\n/**\n * The event timeline is a widget version of the timeline that appears at the top of the Event Stream view. Only available on FREE layout dashboards.\n */\nclass EventTimelineWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventTimelineWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.EventTimelineWidgetDefinition = EventTimelineWidgetDefinition;\n/**\n * @ignore\n */\nEventTimelineWidgetDefinition.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    tagsExecution: {\n        baseName: \"tags_execution\",\n        type: \"string\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"EventTimelineWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=EventTimelineWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionApmDependencyStatsQueryDefinition = void 0;\n/**\n * A formula and functions APM dependency stats query.\n */\nclass FormulaAndFunctionApmDependencyStatsQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionApmDependencyStatsQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionApmDependencyStatsQueryDefinition = FormulaAndFunctionApmDependencyStatsQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionApmDependencyStatsQueryDefinition.attributeTypeMap = {\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionApmDependencyStatsDataSource\",\n        required: true,\n    },\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n        required: true,\n    },\n    isUpstream: {\n        baseName: \"is_upstream\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    operationName: {\n        baseName: \"operation_name\",\n        type: \"string\",\n        required: true,\n    },\n    primaryTagName: {\n        baseName: \"primary_tag_name\",\n        type: \"string\",\n    },\n    primaryTagValue: {\n        baseName: \"primary_tag_value\",\n        type: \"string\",\n    },\n    resourceName: {\n        baseName: \"resource_name\",\n        type: \"string\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n        required: true,\n    },\n    stat: {\n        baseName: \"stat\",\n        type: \"FormulaAndFunctionApmDependencyStatName\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionApmDependencyStatsQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionApmResourceStatsQueryDefinition = void 0;\n/**\n * APM resource stats query using formulas and functions.\n */\nclass FormulaAndFunctionApmResourceStatsQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionApmResourceStatsQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionApmResourceStatsQueryDefinition = FormulaAndFunctionApmResourceStatsQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionApmResourceStatsQueryDefinition.attributeTypeMap = {\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionApmResourceStatsDataSource\",\n        required: true,\n    },\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n        required: true,\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    operationName: {\n        baseName: \"operation_name\",\n        type: \"string\",\n    },\n    primaryTagName: {\n        baseName: \"primary_tag_name\",\n        type: \"string\",\n    },\n    primaryTagValue: {\n        baseName: \"primary_tag_value\",\n        type: \"string\",\n    },\n    resourceName: {\n        baseName: \"resource_name\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n        required: true,\n    },\n    stat: {\n        baseName: \"stat\",\n        type: \"FormulaAndFunctionApmResourceStatName\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionApmResourceStatsQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionCloudCostQueryDefinition = void 0;\n/**\n * A formula and functions Cloud Cost query.\n */\nclass FormulaAndFunctionCloudCostQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionCloudCostQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionCloudCostQueryDefinition = FormulaAndFunctionCloudCostQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionCloudCostQueryDefinition.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"WidgetAggregator\",\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionCloudCostDataSource\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionCloudCostQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionEventQueryDefinition = void 0;\n/**\n * A formula and functions events query.\n */\nclass FormulaAndFunctionEventQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionEventQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionEventQueryDefinition = FormulaAndFunctionEventQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionEventQueryDefinition.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"FormulaAndFunctionEventQueryDefinitionCompute\",\n        required: true,\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionEventsDataSource\",\n        required: true,\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    search: {\n        baseName: \"search\",\n        type: \"FormulaAndFunctionEventQueryDefinitionSearch\",\n    },\n    storage: {\n        baseName: \"storage\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionEventQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionEventQueryDefinitionCompute = void 0;\n/**\n * Compute options.\n */\nclass FormulaAndFunctionEventQueryDefinitionCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionEventQueryDefinitionCompute = FormulaAndFunctionEventQueryDefinitionCompute;\n/**\n * @ignore\n */\nFormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"FormulaAndFunctionEventAggregation\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionEventQueryDefinitionCompute.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionEventQueryDefinitionSearch = void 0;\n/**\n * Search options.\n */\nclass FormulaAndFunctionEventQueryDefinitionSearch {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionEventQueryDefinitionSearch = FormulaAndFunctionEventQueryDefinitionSearch;\n/**\n * @ignore\n */\nFormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionEventQueryDefinitionSearch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionEventQueryGroupBy = void 0;\n/**\n * List of objects used to group by.\n */\nclass FormulaAndFunctionEventQueryGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionEventQueryGroupBy.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionEventQueryGroupBy = FormulaAndFunctionEventQueryGroupBy;\n/**\n * @ignore\n */\nFormulaAndFunctionEventQueryGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"FormulaAndFunctionEventQueryGroupBySort\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionEventQueryGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionEventQueryGroupBySort = void 0;\n/**\n * Options for sorting group by results.\n */\nclass FormulaAndFunctionEventQueryGroupBySort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionEventQueryGroupBySort.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionEventQueryGroupBySort = FormulaAndFunctionEventQueryGroupBySort;\n/**\n * @ignore\n */\nFormulaAndFunctionEventQueryGroupBySort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"FormulaAndFunctionEventAggregation\",\n        required: true,\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"QuerySortOrder\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionEventQueryGroupBySort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionMetricQueryDefinition = void 0;\n/**\n * A formula and functions metrics query.\n */\nclass FormulaAndFunctionMetricQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionMetricQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionMetricQueryDefinition = FormulaAndFunctionMetricQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionMetricQueryDefinition.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"FormulaAndFunctionMetricAggregation\",\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionMetricDataSource\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionMetricQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionProcessQueryDefinition = void 0;\n/**\n * Process query using formulas and functions.\n */\nclass FormulaAndFunctionProcessQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionProcessQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionProcessQueryDefinition = FormulaAndFunctionProcessQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionProcessQueryDefinition.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"FormulaAndFunctionMetricAggregation\",\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionProcessQueryDataSource\",\n        required: true,\n    },\n    isNormalizedCpu: {\n        baseName: \"is_normalized_cpu\",\n        type: \"boolean\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"QuerySortOrder\",\n    },\n    tagFilters: {\n        baseName: \"tag_filters\",\n        type: \"Array\",\n    },\n    textFilter: {\n        baseName: \"text_filter\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionProcessQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaAndFunctionSLOQueryDefinition = void 0;\n/**\n * A formula and functions metrics query.\n */\nclass FormulaAndFunctionSLOQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaAndFunctionSLOQueryDefinition.attributeTypeMap;\n    }\n}\nexports.FormulaAndFunctionSLOQueryDefinition = FormulaAndFunctionSLOQueryDefinition;\n/**\n * @ignore\n */\nFormulaAndFunctionSLOQueryDefinition.attributeTypeMap = {\n    additionalQueryFilters: {\n        baseName: \"additional_query_filters\",\n        type: \"string\",\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FormulaAndFunctionSLODataSource\",\n        required: true,\n    },\n    groupMode: {\n        baseName: \"group_mode\",\n        type: \"FormulaAndFunctionSLOGroupMode\",\n    },\n    measure: {\n        baseName: \"measure\",\n        type: \"FormulaAndFunctionSLOMeasure\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sloId: {\n        baseName: \"slo_id\",\n        type: \"string\",\n        required: true,\n    },\n    sloQueryType: {\n        baseName: \"slo_query_type\",\n        type: \"FormulaAndFunctionSLOQueryType\",\n    },\n};\n//# sourceMappingURL=FormulaAndFunctionSLOQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FreeTextWidgetDefinition = void 0;\n/**\n * Free text is a widget that allows you to add headings to your screenboard. Commonly used to state the overall purpose of the dashboard. Only available on FREE layout dashboards.\n */\nclass FreeTextWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FreeTextWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.FreeTextWidgetDefinition = FreeTextWidgetDefinition;\n/**\n * @ignore\n */\nFreeTextWidgetDefinition.attributeTypeMap = {\n    color: {\n        baseName: \"color\",\n        type: \"string\",\n    },\n    fontSize: {\n        baseName: \"font_size\",\n        type: \"string\",\n    },\n    text: {\n        baseName: \"text\",\n        type: \"string\",\n        required: true,\n    },\n    textAlign: {\n        baseName: \"text_align\",\n        type: \"WidgetTextAlign\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FreeTextWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FreeTextWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunnelQuery = void 0;\n/**\n * Updated funnel widget.\n */\nclass FunnelQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FunnelQuery.attributeTypeMap;\n    }\n}\nexports.FunnelQuery = FunnelQuery;\n/**\n * @ignore\n */\nFunnelQuery.attributeTypeMap = {\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"FunnelSource\",\n        required: true,\n    },\n    queryString: {\n        baseName: \"query_string\",\n        type: \"string\",\n        required: true,\n    },\n    steps: {\n        baseName: \"steps\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FunnelQuery.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunnelStep = void 0;\n/**\n * The funnel step.\n */\nclass FunnelStep {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FunnelStep.attributeTypeMap;\n    }\n}\nexports.FunnelStep = FunnelStep;\n/**\n * @ignore\n */\nFunnelStep.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FunnelStep.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunnelWidgetDefinition = void 0;\n/**\n * The funnel visualization displays a funnel of user sessions that maps a sequence of view navigation and user interaction in your application.\n */\nclass FunnelWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FunnelWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.FunnelWidgetDefinition = FunnelWidgetDefinition;\n/**\n * @ignore\n */\nFunnelWidgetDefinition.attributeTypeMap = {\n    requests: {\n        baseName: \"requests\",\n        type: \"[FunnelWidgetRequest]\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FunnelWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FunnelWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunnelWidgetRequest = void 0;\n/**\n * Updated funnel widget.\n */\nclass FunnelWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FunnelWidgetRequest.attributeTypeMap;\n    }\n}\nexports.FunnelWidgetRequest = FunnelWidgetRequest;\n/**\n * @ignore\n */\nFunnelWidgetRequest.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"FunnelQuery\",\n        required: true,\n    },\n    requestType: {\n        baseName: \"request_type\",\n        type: \"FunnelRequestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FunnelWidgetRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPAccount = void 0;\n/**\n * Your Google Cloud Platform Account.\n */\nclass GCPAccount {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPAccount.attributeTypeMap;\n    }\n}\nexports.GCPAccount = GCPAccount;\n/**\n * @ignore\n */\nGCPAccount.attributeTypeMap = {\n    authProviderX509CertUrl: {\n        baseName: \"auth_provider_x509_cert_url\",\n        type: \"string\",\n    },\n    authUri: {\n        baseName: \"auth_uri\",\n        type: \"string\",\n    },\n    automute: {\n        baseName: \"automute\",\n        type: \"boolean\",\n    },\n    clientEmail: {\n        baseName: \"client_email\",\n        type: \"string\",\n    },\n    clientId: {\n        baseName: \"client_id\",\n        type: \"string\",\n    },\n    clientX509CertUrl: {\n        baseName: \"client_x509_cert_url\",\n        type: \"string\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    hostFilters: {\n        baseName: \"host_filters\",\n        type: \"string\",\n    },\n    isCspmEnabled: {\n        baseName: \"is_cspm_enabled\",\n        type: \"boolean\",\n    },\n    privateKey: {\n        baseName: \"private_key\",\n        type: \"string\",\n    },\n    privateKeyId: {\n        baseName: \"private_key_id\",\n        type: \"string\",\n    },\n    projectId: {\n        baseName: \"project_id\",\n        type: \"string\",\n    },\n    tokenUri: {\n        baseName: \"token_uri\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=GCPAccount.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeomapWidgetDefinition = void 0;\n/**\n * This visualization displays a series of values by country on a world map.\n */\nclass GeomapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GeomapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.GeomapWidgetDefinition = GeomapWidgetDefinition;\n/**\n * @ignore\n */\nGeomapWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[GeomapWidgetRequest]\",\n        required: true,\n    },\n    style: {\n        baseName: \"style\",\n        type: \"GeomapWidgetDefinitionStyle\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GeomapWidgetDefinitionType\",\n        required: true,\n    },\n    view: {\n        baseName: \"view\",\n        type: \"GeomapWidgetDefinitionView\",\n        required: true,\n    },\n};\n//# sourceMappingURL=GeomapWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeomapWidgetDefinitionStyle = void 0;\n/**\n * The style to apply to the widget.\n */\nclass GeomapWidgetDefinitionStyle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GeomapWidgetDefinitionStyle.attributeTypeMap;\n    }\n}\nexports.GeomapWidgetDefinitionStyle = GeomapWidgetDefinitionStyle;\n/**\n * @ignore\n */\nGeomapWidgetDefinitionStyle.attributeTypeMap = {\n    palette: {\n        baseName: \"palette\",\n        type: \"string\",\n        required: true,\n    },\n    paletteFlip: {\n        baseName: \"palette_flip\",\n        type: \"boolean\",\n        required: true,\n    },\n};\n//# sourceMappingURL=GeomapWidgetDefinitionStyle.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeomapWidgetDefinitionView = void 0;\n/**\n * The view of the world that the map should render.\n */\nclass GeomapWidgetDefinitionView {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GeomapWidgetDefinitionView.attributeTypeMap;\n    }\n}\nexports.GeomapWidgetDefinitionView = GeomapWidgetDefinitionView;\n/**\n * @ignore\n */\nGeomapWidgetDefinitionView.attributeTypeMap = {\n    focus: {\n        baseName: \"focus\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=GeomapWidgetDefinitionView.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeomapWidgetRequest = void 0;\n/**\n * An updated geomap widget.\n */\nclass GeomapWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GeomapWidgetRequest.attributeTypeMap;\n    }\n}\nexports.GeomapWidgetRequest = GeomapWidgetRequest;\n/**\n * @ignore\n */\nGeomapWidgetRequest.attributeTypeMap = {\n    columns: {\n        baseName: \"columns\",\n        type: \"Array\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"ListStreamQuery\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n};\n//# sourceMappingURL=GeomapWidgetRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GraphSnapshot = void 0;\n/**\n * Object representing a graph snapshot.\n */\nclass GraphSnapshot {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GraphSnapshot.attributeTypeMap;\n    }\n}\nexports.GraphSnapshot = GraphSnapshot;\n/**\n * @ignore\n */\nGraphSnapshot.attributeTypeMap = {\n    graphDef: {\n        baseName: \"graph_def\",\n        type: \"string\",\n    },\n    metricQuery: {\n        baseName: \"metric_query\",\n        type: \"string\",\n    },\n    snapshotUrl: {\n        baseName: \"snapshot_url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=GraphSnapshot.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GroupWidgetDefinition = void 0;\n/**\n * The groups widget allows you to keep similar graphs together on your timeboard. Each group has a custom header, can hold one to many graphs, and is collapsible.\n */\nclass GroupWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GroupWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.GroupWidgetDefinition = GroupWidgetDefinition;\n/**\n * @ignore\n */\nGroupWidgetDefinition.attributeTypeMap = {\n    backgroundColor: {\n        baseName: \"background_color\",\n        type: \"string\",\n    },\n    bannerImg: {\n        baseName: \"banner_img\",\n        type: \"string\",\n    },\n    layoutType: {\n        baseName: \"layout_type\",\n        type: \"WidgetLayoutType\",\n        required: true,\n    },\n    showTitle: {\n        baseName: \"show_title\",\n        type: \"boolean\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GroupWidgetDefinitionType\",\n        required: true,\n    },\n    widgets: {\n        baseName: \"widgets\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=GroupWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPLogError = void 0;\n/**\n * Invalid query performed.\n */\nclass HTTPLogError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPLogError.attributeTypeMap;\n    }\n}\nexports.HTTPLogError = HTTPLogError;\n/**\n * @ignore\n */\nHTTPLogError.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"number\",\n        required: true,\n        format: \"int32\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=HTTPLogError.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPLogItem = void 0;\n/**\n * Logs that are sent over HTTP.\n */\nclass HTTPLogItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPLogItem.attributeTypeMap;\n    }\n}\nexports.HTTPLogItem = HTTPLogItem;\n/**\n * @ignore\n */\nHTTPLogItem.attributeTypeMap = {\n    ddsource: {\n        baseName: \"ddsource\",\n        type: \"string\",\n    },\n    ddtags: {\n        baseName: \"ddtags\",\n        type: \"string\",\n    },\n    hostname: {\n        baseName: \"hostname\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    additionalProperties: {\n        baseName: \"additionalProperties\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HTTPLogItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeatMapWidgetDefinition = void 0;\n/**\n * The heat map visualization shows metrics aggregated across many tags, such as hosts. The more hosts that have a particular value, the darker that square is.\n */\nclass HeatMapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HeatMapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.HeatMapWidgetDefinition = HeatMapWidgetDefinition;\n/**\n * @ignore\n */\nHeatMapWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    events: {\n        baseName: \"events\",\n        type: \"Array\",\n    },\n    legendSize: {\n        baseName: \"legend_size\",\n        type: \"string\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[HeatMapWidgetRequest]\",\n        required: true,\n    },\n    showLegend: {\n        baseName: \"show_legend\",\n        type: \"boolean\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"HeatMapWidgetDefinitionType\",\n        required: true,\n    },\n    yaxis: {\n        baseName: \"yaxis\",\n        type: \"WidgetAxis\",\n    },\n};\n//# sourceMappingURL=HeatMapWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeatMapWidgetRequest = void 0;\n/**\n * Updated heat map widget.\n */\nclass HeatMapWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HeatMapWidgetRequest.attributeTypeMap;\n    }\n}\nexports.HeatMapWidgetRequest = HeatMapWidgetRequest;\n/**\n * @ignore\n */\nHeatMapWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"EventQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetStyle\",\n    },\n};\n//# sourceMappingURL=HeatMapWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Host = void 0;\n/**\n * Object representing a host.\n */\nclass Host {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Host.attributeTypeMap;\n    }\n}\nexports.Host = Host;\n/**\n * @ignore\n */\nHost.attributeTypeMap = {\n    aliases: {\n        baseName: \"aliases\",\n        type: \"Array\",\n    },\n    apps: {\n        baseName: \"apps\",\n        type: \"Array\",\n    },\n    awsName: {\n        baseName: \"aws_name\",\n        type: \"string\",\n    },\n    hostName: {\n        baseName: \"host_name\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    isMuted: {\n        baseName: \"is_muted\",\n        type: \"boolean\",\n    },\n    lastReportedTime: {\n        baseName: \"last_reported_time\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"HostMeta\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"HostMetrics\",\n    },\n    muteTimeout: {\n        baseName: \"mute_timeout\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n    },\n    tagsBySource: {\n        baseName: \"tags_by_source\",\n        type: \"{ [key: string]: Array; }\",\n    },\n    up: {\n        baseName: \"up\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=Host.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostListResponse = void 0;\n/**\n * Response with Host information from Datadog.\n */\nclass HostListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostListResponse.attributeTypeMap;\n    }\n}\nexports.HostListResponse = HostListResponse;\n/**\n * @ignore\n */\nHostListResponse.attributeTypeMap = {\n    hostList: {\n        baseName: \"host_list\",\n        type: \"Array\",\n    },\n    totalMatching: {\n        baseName: \"total_matching\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalReturned: {\n        baseName: \"total_returned\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=HostListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMapRequest = void 0;\n/**\n * Updated host map.\n */\nclass HostMapRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMapRequest.attributeTypeMap;\n    }\n}\nexports.HostMapRequest = HostMapRequest;\n/**\n * @ignore\n */\nHostMapRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n};\n//# sourceMappingURL=HostMapRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMapWidgetDefinition = void 0;\n/**\n * The host map widget graphs any metric across your hosts using the same visualization available from the main Host Map page.\n */\nclass HostMapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.HostMapWidgetDefinition = HostMapWidgetDefinition;\n/**\n * @ignore\n */\nHostMapWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    group: {\n        baseName: \"group\",\n        type: \"Array\",\n    },\n    noGroupHosts: {\n        baseName: \"no_group_hosts\",\n        type: \"boolean\",\n    },\n    noMetricHosts: {\n        baseName: \"no_metric_hosts\",\n        type: \"boolean\",\n    },\n    nodeType: {\n        baseName: \"node_type\",\n        type: \"WidgetNodeType\",\n    },\n    notes: {\n        baseName: \"notes\",\n        type: \"string\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"HostMapWidgetDefinitionRequests\",\n        required: true,\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"Array\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"HostMapWidgetDefinitionStyle\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"HostMapWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=HostMapWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMapWidgetDefinitionRequests = void 0;\n/**\n * List of definitions.\n */\nclass HostMapWidgetDefinitionRequests {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMapWidgetDefinitionRequests.attributeTypeMap;\n    }\n}\nexports.HostMapWidgetDefinitionRequests = HostMapWidgetDefinitionRequests;\n/**\n * @ignore\n */\nHostMapWidgetDefinitionRequests.attributeTypeMap = {\n    fill: {\n        baseName: \"fill\",\n        type: \"HostMapRequest\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"HostMapRequest\",\n    },\n};\n//# sourceMappingURL=HostMapWidgetDefinitionRequests.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMapWidgetDefinitionStyle = void 0;\n/**\n * The style to apply to the widget.\n */\nclass HostMapWidgetDefinitionStyle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMapWidgetDefinitionStyle.attributeTypeMap;\n    }\n}\nexports.HostMapWidgetDefinitionStyle = HostMapWidgetDefinitionStyle;\n/**\n * @ignore\n */\nHostMapWidgetDefinitionStyle.attributeTypeMap = {\n    fillMax: {\n        baseName: \"fill_max\",\n        type: \"string\",\n    },\n    fillMin: {\n        baseName: \"fill_min\",\n        type: \"string\",\n    },\n    palette: {\n        baseName: \"palette\",\n        type: \"string\",\n    },\n    paletteFlip: {\n        baseName: \"palette_flip\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=HostMapWidgetDefinitionStyle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMeta = void 0;\n/**\n * Metadata associated with your host.\n */\nclass HostMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMeta.attributeTypeMap;\n    }\n}\nexports.HostMeta = HostMeta;\n/**\n * @ignore\n */\nHostMeta.attributeTypeMap = {\n    agentChecks: {\n        baseName: \"agent_checks\",\n        type: \"Array>\",\n    },\n    agentVersion: {\n        baseName: \"agent_version\",\n        type: \"string\",\n    },\n    cpuCores: {\n        baseName: \"cpuCores\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fbsdV: {\n        baseName: \"fbsdV\",\n        type: \"Array\",\n    },\n    gohai: {\n        baseName: \"gohai\",\n        type: \"string\",\n    },\n    installMethod: {\n        baseName: \"install_method\",\n        type: \"HostMetaInstallMethod\",\n    },\n    macV: {\n        baseName: \"macV\",\n        type: \"Array\",\n    },\n    machine: {\n        baseName: \"machine\",\n        type: \"string\",\n    },\n    nixV: {\n        baseName: \"nixV\",\n        type: \"Array\",\n    },\n    platform: {\n        baseName: \"platform\",\n        type: \"string\",\n    },\n    processor: {\n        baseName: \"processor\",\n        type: \"string\",\n    },\n    pythonV: {\n        baseName: \"pythonV\",\n        type: \"string\",\n    },\n    socketFqdn: {\n        baseName: \"socket-fqdn\",\n        type: \"string\",\n    },\n    socketHostname: {\n        baseName: \"socket-hostname\",\n        type: \"string\",\n    },\n    winV: {\n        baseName: \"winV\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=HostMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMetaInstallMethod = void 0;\n/**\n * Agent install method.\n */\nclass HostMetaInstallMethod {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMetaInstallMethod.attributeTypeMap;\n    }\n}\nexports.HostMetaInstallMethod = HostMetaInstallMethod;\n/**\n * @ignore\n */\nHostMetaInstallMethod.attributeTypeMap = {\n    installerVersion: {\n        baseName: \"installer_version\",\n        type: \"string\",\n    },\n    tool: {\n        baseName: \"tool\",\n        type: \"string\",\n    },\n    toolVersion: {\n        baseName: \"tool_version\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HostMetaInstallMethod.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMetrics = void 0;\n/**\n * Host Metrics collected.\n */\nclass HostMetrics {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMetrics.attributeTypeMap;\n    }\n}\nexports.HostMetrics = HostMetrics;\n/**\n * @ignore\n */\nHostMetrics.attributeTypeMap = {\n    cpu: {\n        baseName: \"cpu\",\n        type: \"number\",\n        format: \"double\",\n    },\n    iowait: {\n        baseName: \"iowait\",\n        type: \"number\",\n        format: \"double\",\n    },\n    load: {\n        baseName: \"load\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=HostMetrics.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMuteResponse = void 0;\n/**\n * Response with the list of muted host for your organization.\n */\nclass HostMuteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMuteResponse.attributeTypeMap;\n    }\n}\nexports.HostMuteResponse = HostMuteResponse;\n/**\n * @ignore\n */\nHostMuteResponse.attributeTypeMap = {\n    action: {\n        baseName: \"action\",\n        type: \"string\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hostname: {\n        baseName: \"hostname\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HostMuteResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostMuteSettings = void 0;\n/**\n * Combination of settings to mute a host.\n */\nclass HostMuteSettings {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostMuteSettings.attributeTypeMap;\n    }\n}\nexports.HostMuteSettings = HostMuteSettings;\n/**\n * @ignore\n */\nHostMuteSettings.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    override: {\n        baseName: \"override\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=HostMuteSettings.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostTags = void 0;\n/**\n * Set of tags to associate with your host.\n */\nclass HostTags {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostTags.attributeTypeMap;\n    }\n}\nexports.HostTags = HostTags;\n/**\n * @ignore\n */\nHostTags.attributeTypeMap = {\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=HostTags.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostTotals = void 0;\n/**\n * Total number of host currently monitored by Datadog.\n */\nclass HostTotals {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HostTotals.attributeTypeMap;\n    }\n}\nexports.HostTotals = HostTotals;\n/**\n * @ignore\n */\nHostTotals.attributeTypeMap = {\n    totalActive: {\n        baseName: \"total_active\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalUp: {\n        baseName: \"total_up\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=HostTotals.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageAttributionBody = void 0;\n/**\n * The usage for one set of tags for one hour.\n */\nclass HourlyUsageAttributionBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageAttributionBody.attributeTypeMap;\n    }\n}\nexports.HourlyUsageAttributionBody = HourlyUsageAttributionBody;\n/**\n * @ignore\n */\nHourlyUsageAttributionBody.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    tagConfigSource: {\n        baseName: \"tag_config_source\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"{ [key: string]: Array; }\",\n    },\n    totalUsageSum: {\n        baseName: \"total_usage_sum\",\n        type: \"number\",\n        format: \"double\",\n    },\n    updatedAt: {\n        baseName: \"updated_at\",\n        type: \"string\",\n    },\n    usageType: {\n        baseName: \"usage_type\",\n        type: \"HourlyUsageAttributionUsageType\",\n    },\n};\n//# sourceMappingURL=HourlyUsageAttributionBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageAttributionMetadata = void 0;\n/**\n * The object containing document metadata.\n */\nclass HourlyUsageAttributionMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageAttributionMetadata.attributeTypeMap;\n    }\n}\nexports.HourlyUsageAttributionMetadata = HourlyUsageAttributionMetadata;\n/**\n * @ignore\n */\nHourlyUsageAttributionMetadata.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"HourlyUsageAttributionPagination\",\n    },\n};\n//# sourceMappingURL=HourlyUsageAttributionMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageAttributionPagination = void 0;\n/**\n * The metadata for the current pagination.\n */\nclass HourlyUsageAttributionPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageAttributionPagination.attributeTypeMap;\n    }\n}\nexports.HourlyUsageAttributionPagination = HourlyUsageAttributionPagination;\n/**\n * @ignore\n */\nHourlyUsageAttributionPagination.attributeTypeMap = {\n    nextRecordId: {\n        baseName: \"next_record_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HourlyUsageAttributionPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageAttributionResponse = void 0;\n/**\n * Response containing the hourly usage attribution by tag(s).\n */\nclass HourlyUsageAttributionResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageAttributionResponse.attributeTypeMap;\n    }\n}\nexports.HourlyUsageAttributionResponse = HourlyUsageAttributionResponse;\n/**\n * @ignore\n */\nHourlyUsageAttributionResponse.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"HourlyUsageAttributionMetadata\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=HourlyUsageAttributionResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IFrameWidgetDefinition = void 0;\n/**\n * The iframe widget allows you to embed a portion of any other web page on your dashboard. Only available on FREE layout dashboards.\n */\nclass IFrameWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IFrameWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.IFrameWidgetDefinition = IFrameWidgetDefinition;\n/**\n * @ignore\n */\nIFrameWidgetDefinition.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"IFrameWidgetDefinitionType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IFrameWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesAPI = void 0;\n/**\n * Available prefix information for the API endpoints.\n */\nclass IPPrefixesAPI {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesAPI.attributeTypeMap;\n    }\n}\nexports.IPPrefixesAPI = IPPrefixesAPI;\n/**\n * @ignore\n */\nIPPrefixesAPI.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesAPI.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesAPM = void 0;\n/**\n * Available prefix information for the APM endpoints.\n */\nclass IPPrefixesAPM {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesAPM.attributeTypeMap;\n    }\n}\nexports.IPPrefixesAPM = IPPrefixesAPM;\n/**\n * @ignore\n */\nIPPrefixesAPM.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesAPM.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesAgents = void 0;\n/**\n * Available prefix information for the Agent endpoints.\n */\nclass IPPrefixesAgents {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesAgents.attributeTypeMap;\n    }\n}\nexports.IPPrefixesAgents = IPPrefixesAgents;\n/**\n * @ignore\n */\nIPPrefixesAgents.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesAgents.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesLogs = void 0;\n/**\n * Available prefix information for the Logs endpoints.\n */\nclass IPPrefixesLogs {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesLogs.attributeTypeMap;\n    }\n}\nexports.IPPrefixesLogs = IPPrefixesLogs;\n/**\n * @ignore\n */\nIPPrefixesLogs.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesLogs.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesOrchestrator = void 0;\n/**\n * Available prefix information for the Orchestrator endpoints.\n */\nclass IPPrefixesOrchestrator {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesOrchestrator.attributeTypeMap;\n    }\n}\nexports.IPPrefixesOrchestrator = IPPrefixesOrchestrator;\n/**\n * @ignore\n */\nIPPrefixesOrchestrator.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesOrchestrator.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesProcess = void 0;\n/**\n * Available prefix information for the Process endpoints.\n */\nclass IPPrefixesProcess {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesProcess.attributeTypeMap;\n    }\n}\nexports.IPPrefixesProcess = IPPrefixesProcess;\n/**\n * @ignore\n */\nIPPrefixesProcess.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesProcess.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesRemoteConfiguration = void 0;\n/**\n * Available prefix information for the Remote Configuration endpoints.\n */\nclass IPPrefixesRemoteConfiguration {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesRemoteConfiguration.attributeTypeMap;\n    }\n}\nexports.IPPrefixesRemoteConfiguration = IPPrefixesRemoteConfiguration;\n/**\n * @ignore\n */\nIPPrefixesRemoteConfiguration.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesRemoteConfiguration.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesSynthetics = void 0;\n/**\n * Available prefix information for the Synthetics endpoints.\n */\nclass IPPrefixesSynthetics {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesSynthetics.attributeTypeMap;\n    }\n}\nexports.IPPrefixesSynthetics = IPPrefixesSynthetics;\n/**\n * @ignore\n */\nIPPrefixesSynthetics.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv4ByLocation: {\n        baseName: \"prefixes_ipv4_by_location\",\n        type: \"{ [key: string]: Array; }\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n    prefixesIpv6ByLocation: {\n        baseName: \"prefixes_ipv6_by_location\",\n        type: \"{ [key: string]: Array; }\",\n    },\n};\n//# sourceMappingURL=IPPrefixesSynthetics.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesSyntheticsPrivateLocations = void 0;\n/**\n * Available prefix information for the Synthetics Private Locations endpoints.\n */\nclass IPPrefixesSyntheticsPrivateLocations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesSyntheticsPrivateLocations.attributeTypeMap;\n    }\n}\nexports.IPPrefixesSyntheticsPrivateLocations = IPPrefixesSyntheticsPrivateLocations;\n/**\n * @ignore\n */\nIPPrefixesSyntheticsPrivateLocations.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesSyntheticsPrivateLocations.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPPrefixesWebhooks = void 0;\n/**\n * Available prefix information for the Webhook endpoints.\n */\nclass IPPrefixesWebhooks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPPrefixesWebhooks.attributeTypeMap;\n    }\n}\nexports.IPPrefixesWebhooks = IPPrefixesWebhooks;\n/**\n * @ignore\n */\nIPPrefixesWebhooks.attributeTypeMap = {\n    prefixesIpv4: {\n        baseName: \"prefixes_ipv4\",\n        type: \"Array\",\n    },\n    prefixesIpv6: {\n        baseName: \"prefixes_ipv6\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPPrefixesWebhooks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPRanges = void 0;\n/**\n * IP ranges.\n */\nclass IPRanges {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPRanges.attributeTypeMap;\n    }\n}\nexports.IPRanges = IPRanges;\n/**\n * @ignore\n */\nIPRanges.attributeTypeMap = {\n    agents: {\n        baseName: \"agents\",\n        type: \"IPPrefixesAgents\",\n    },\n    api: {\n        baseName: \"api\",\n        type: \"IPPrefixesAPI\",\n    },\n    apm: {\n        baseName: \"apm\",\n        type: \"IPPrefixesAPM\",\n    },\n    logs: {\n        baseName: \"logs\",\n        type: \"IPPrefixesLogs\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"string\",\n    },\n    orchestrator: {\n        baseName: \"orchestrator\",\n        type: \"IPPrefixesOrchestrator\",\n    },\n    process: {\n        baseName: \"process\",\n        type: \"IPPrefixesProcess\",\n    },\n    remoteConfiguration: {\n        baseName: \"remote-configuration\",\n        type: \"IPPrefixesRemoteConfiguration\",\n    },\n    synthetics: {\n        baseName: \"synthetics\",\n        type: \"IPPrefixesSynthetics\",\n    },\n    syntheticsPrivateLocations: {\n        baseName: \"synthetics-private-locations\",\n        type: \"IPPrefixesSyntheticsPrivateLocations\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    webhooks: {\n        baseName: \"webhooks\",\n        type: \"IPPrefixesWebhooks\",\n    },\n};\n//# sourceMappingURL=IPRanges.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdpFormData = void 0;\n/**\n * Object describing the IdP configuration.\n */\nclass IdpFormData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IdpFormData.attributeTypeMap;\n    }\n}\nexports.IdpFormData = IdpFormData;\n/**\n * @ignore\n */\nIdpFormData.attributeTypeMap = {\n    idpFile: {\n        baseName: \"idp_file\",\n        type: \"HttpFile\",\n        required: true,\n        format: \"binary\",\n    },\n};\n//# sourceMappingURL=IdpFormData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdpResponse = void 0;\n/**\n * The IdP response object.\n */\nclass IdpResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IdpResponse.attributeTypeMap;\n    }\n}\nexports.IdpResponse = IdpResponse;\n/**\n * @ignore\n */\nIdpResponse.attributeTypeMap = {\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IdpResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageWidgetDefinition = void 0;\n/**\n * The image widget allows you to embed an image on your dashboard. An image can be a PNG, JPG, or animated GIF. Only available on FREE layout dashboards.\n */\nclass ImageWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ImageWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ImageWidgetDefinition = ImageWidgetDefinition;\n/**\n * @ignore\n */\nImageWidgetDefinition.attributeTypeMap = {\n    hasBackground: {\n        baseName: \"has_background\",\n        type: \"boolean\",\n    },\n    hasBorder: {\n        baseName: \"has_border\",\n        type: \"boolean\",\n    },\n    horizontalAlign: {\n        baseName: \"horizontal_align\",\n        type: \"WidgetHorizontalAlign\",\n    },\n    margin: {\n        baseName: \"margin\",\n        type: \"WidgetMargin\",\n    },\n    sizing: {\n        baseName: \"sizing\",\n        type: \"WidgetImageSizing\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ImageWidgetDefinitionType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n    urlDarkTheme: {\n        baseName: \"url_dark_theme\",\n        type: \"string\",\n    },\n    verticalAlign: {\n        baseName: \"vertical_align\",\n        type: \"WidgetVerticalAlign\",\n    },\n};\n//# sourceMappingURL=ImageWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntakePayloadAccepted = void 0;\n/**\n * The payload accepted for intake.\n */\nclass IntakePayloadAccepted {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IntakePayloadAccepted.attributeTypeMap;\n    }\n}\nexports.IntakePayloadAccepted = IntakePayloadAccepted;\n/**\n * @ignore\n */\nIntakePayloadAccepted.attributeTypeMap = {\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IntakePayloadAccepted.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamColumn = void 0;\n/**\n * Widget column.\n */\nclass ListStreamColumn {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamColumn.attributeTypeMap;\n    }\n}\nexports.ListStreamColumn = ListStreamColumn;\n/**\n * @ignore\n */\nListStreamColumn.attributeTypeMap = {\n    field: {\n        baseName: \"field\",\n        type: \"string\",\n        required: true,\n    },\n    width: {\n        baseName: \"width\",\n        type: \"ListStreamColumnWidth\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ListStreamColumn.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamComputeItems = void 0;\n/**\n * List of facets and aggregations which to compute.\n */\nclass ListStreamComputeItems {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamComputeItems.attributeTypeMap;\n    }\n}\nexports.ListStreamComputeItems = ListStreamComputeItems;\n/**\n * @ignore\n */\nListStreamComputeItems.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"ListStreamComputeAggregation\",\n        required: true,\n    },\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ListStreamComputeItems.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamGroupByItems = void 0;\n/**\n * List of facets on which to group.\n */\nclass ListStreamGroupByItems {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamGroupByItems.attributeTypeMap;\n    }\n}\nexports.ListStreamGroupByItems = ListStreamGroupByItems;\n/**\n * @ignore\n */\nListStreamGroupByItems.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ListStreamGroupByItems.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamQuery = void 0;\n/**\n * Updated list stream widget.\n */\nclass ListStreamQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamQuery.attributeTypeMap;\n    }\n}\nexports.ListStreamQuery = ListStreamQuery;\n/**\n * @ignore\n */\nListStreamQuery.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"ListStreamSource\",\n        required: true,\n    },\n    eventSize: {\n        baseName: \"event_size\",\n        type: \"WidgetEventSize\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    queryString: {\n        baseName: \"query_string\",\n        type: \"string\",\n        required: true,\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"WidgetFieldSort\",\n    },\n    storage: {\n        baseName: \"storage\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ListStreamQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamWidgetDefinition = void 0;\n/**\n * The list stream visualization displays a table of recent events in your application that\n * match a search criteria using user-defined columns.\n */\nclass ListStreamWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ListStreamWidgetDefinition = ListStreamWidgetDefinition;\n/**\n * @ignore\n */\nListStreamWidgetDefinition.attributeTypeMap = {\n    legendSize: {\n        baseName: \"legend_size\",\n        type: \"string\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[ListStreamWidgetRequest]\",\n        required: true,\n    },\n    showLegend: {\n        baseName: \"show_legend\",\n        type: \"boolean\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ListStreamWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ListStreamWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListStreamWidgetRequest = void 0;\n/**\n * Updated list stream widget.\n */\nclass ListStreamWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListStreamWidgetRequest.attributeTypeMap;\n    }\n}\nexports.ListStreamWidgetRequest = ListStreamWidgetRequest;\n/**\n * @ignore\n */\nListStreamWidgetRequest.attributeTypeMap = {\n    columns: {\n        baseName: \"columns\",\n        type: \"Array\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"ListStreamQuery\",\n        required: true,\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"ListStreamResponseFormat\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ListStreamWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Log = void 0;\n/**\n * Object describing a log after being processed and stored by Datadog.\n */\nclass Log {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Log.attributeTypeMap;\n    }\n}\nexports.Log = Log;\n/**\n * @ignore\n */\nLog.attributeTypeMap = {\n    content: {\n        baseName: \"content\",\n        type: \"LogContent\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Log.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogContent = void 0;\n/**\n * JSON object containing all log attributes and their associated values.\n */\nclass LogContent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogContent.attributeTypeMap;\n    }\n}\nexports.LogContent = LogContent;\n/**\n * @ignore\n */\nLogContent.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=LogContent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogQueryDefinition = void 0;\n/**\n * The log query.\n */\nclass LogQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogQueryDefinition.attributeTypeMap;\n    }\n}\nexports.LogQueryDefinition = LogQueryDefinition;\n/**\n * @ignore\n */\nLogQueryDefinition.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"LogsQueryCompute\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    index: {\n        baseName: \"index\",\n        type: \"string\",\n    },\n    multiCompute: {\n        baseName: \"multi_compute\",\n        type: \"Array\",\n    },\n    search: {\n        baseName: \"search\",\n        type: \"LogQueryDefinitionSearch\",\n    },\n};\n//# sourceMappingURL=LogQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogQueryDefinitionGroupBy = void 0;\n/**\n * Defined items in the group.\n */\nclass LogQueryDefinitionGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogQueryDefinitionGroupBy.attributeTypeMap;\n    }\n}\nexports.LogQueryDefinitionGroupBy = LogQueryDefinitionGroupBy;\n/**\n * @ignore\n */\nLogQueryDefinitionGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"LogQueryDefinitionGroupBySort\",\n    },\n};\n//# sourceMappingURL=LogQueryDefinitionGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogQueryDefinitionGroupBySort = void 0;\n/**\n * Define a sorting method.\n */\nclass LogQueryDefinitionGroupBySort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogQueryDefinitionGroupBySort.attributeTypeMap;\n    }\n}\nexports.LogQueryDefinitionGroupBySort = LogQueryDefinitionGroupBySort;\n/**\n * @ignore\n */\nLogQueryDefinitionGroupBySort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"string\",\n        required: true,\n    },\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"WidgetSort\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogQueryDefinitionGroupBySort.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogQueryDefinitionSearch = void 0;\n/**\n * The query being made on the logs.\n */\nclass LogQueryDefinitionSearch {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogQueryDefinitionSearch.attributeTypeMap;\n    }\n}\nexports.LogQueryDefinitionSearch = LogQueryDefinitionSearch;\n/**\n * @ignore\n */\nLogQueryDefinitionSearch.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogQueryDefinitionSearch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogStreamWidgetDefinition = void 0;\n/**\n * The Log Stream displays a log flow matching the defined query. Only available on FREE layout dashboards.\n */\nclass LogStreamWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogStreamWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.LogStreamWidgetDefinition = LogStreamWidgetDefinition;\n/**\n * @ignore\n */\nLogStreamWidgetDefinition.attributeTypeMap = {\n    columns: {\n        baseName: \"columns\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    logset: {\n        baseName: \"logset\",\n        type: \"string\",\n    },\n    messageDisplay: {\n        baseName: \"message_display\",\n        type: \"WidgetMessageDisplay\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    showDateColumn: {\n        baseName: \"show_date_column\",\n        type: \"boolean\",\n    },\n    showMessageColumn: {\n        baseName: \"show_message_column\",\n        type: \"boolean\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"WidgetFieldSort\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogStreamWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogStreamWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAPIError = void 0;\n/**\n * Error returned by the Logs API\n */\nclass LogsAPIError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAPIError.attributeTypeMap;\n    }\n}\nexports.LogsAPIError = LogsAPIError;\n/**\n * @ignore\n */\nLogsAPIError.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    details: {\n        baseName: \"details\",\n        type: \"Array\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsAPIError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAPIErrorResponse = void 0;\n/**\n * Response returned by the Logs API when errors occur.\n */\nclass LogsAPIErrorResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAPIErrorResponse.attributeTypeMap;\n    }\n}\nexports.LogsAPIErrorResponse = LogsAPIErrorResponse;\n/**\n * @ignore\n */\nLogsAPIErrorResponse.attributeTypeMap = {\n    error: {\n        baseName: \"error\",\n        type: \"LogsAPIError\",\n    },\n};\n//# sourceMappingURL=LogsAPIErrorResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArithmeticProcessor = void 0;\n/**\n * Use the Arithmetic Processor to add a new attribute (without spaces or special characters\n * in the new attribute name) to a log with the result of the provided formula.\n * This enables you to remap different time attributes with different units into a single attribute,\n * or to compute operations on attributes within the same log.\n *\n * The formula can use parentheses and the basic arithmetic operators `-`, `+`, `*`, `/`.\n *\n * By default, the calculation is skipped if an attribute is missing.\n * Select “Replace missing attribute by 0” to automatically populate\n * missing attribute values with 0 to ensure that the calculation is done.\n * An attribute is missing if it is not found in the log attributes,\n * or if it cannot be converted to a number.\n *\n * *Notes*:\n *\n * - The operator `-` needs to be space split in the formula as it can also be contained in attribute names.\n * - If the target attribute already exists, it is overwritten by the result of the formula.\n * - Results are rounded up to the 9th decimal. For example, if the result of the formula is `0.1234567891`,\n *   the actual value stored for the attribute is `0.123456789`.\n * - If you need to scale a unit of measure,\n *   see [Scale Filter](https://docs.datadoghq.com/logs/log_configuration/parsing/?tab=filter#matcher-and-filter).\n */\nclass LogsArithmeticProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArithmeticProcessor.attributeTypeMap;\n    }\n}\nexports.LogsArithmeticProcessor = LogsArithmeticProcessor;\n/**\n * @ignore\n */\nLogsArithmeticProcessor.attributeTypeMap = {\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n        required: true,\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    isReplaceMissing: {\n        baseName: \"is_replace_missing\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsArithmeticProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArithmeticProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAttributeRemapper = void 0;\n/**\n * The remapper processor remaps any source attribute(s) or tag to another target attribute or tag.\n * Constraints on the tag/attribute name are explained in the [Tag Best Practice documentation](https://docs.datadoghq.com/logs/guide/log-parsing-best-practice).\n * Some additional constraints are applied as `:` or `,` are not allowed in the target tag/attribute name.\n */\nclass LogsAttributeRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAttributeRemapper.attributeTypeMap;\n    }\n}\nexports.LogsAttributeRemapper = LogsAttributeRemapper;\n/**\n * @ignore\n */\nLogsAttributeRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    overrideOnConflict: {\n        baseName: \"override_on_conflict\",\n        type: \"boolean\",\n    },\n    preserveSource: {\n        baseName: \"preserve_source\",\n        type: \"boolean\",\n    },\n    sourceType: {\n        baseName: \"source_type\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    targetFormat: {\n        baseName: \"target_format\",\n        type: \"TargetFormatType\",\n    },\n    targetType: {\n        baseName: \"target_type\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsAttributeRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsAttributeRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsByRetention = void 0;\n/**\n * Object containing logs usage data broken down by retention period.\n */\nclass LogsByRetention {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsByRetention.attributeTypeMap;\n    }\n}\nexports.LogsByRetention = LogsByRetention;\n/**\n * @ignore\n */\nLogsByRetention.attributeTypeMap = {\n    orgs: {\n        baseName: \"orgs\",\n        type: \"LogsByRetentionOrgs\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n    usageByMonth: {\n        baseName: \"usage_by_month\",\n        type: \"LogsByRetentionMonthlyUsage\",\n    },\n};\n//# sourceMappingURL=LogsByRetention.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsByRetentionMonthlyUsage = void 0;\n/**\n * Object containing a summary of indexed logs usage by retention period for a single month.\n */\nclass LogsByRetentionMonthlyUsage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsByRetentionMonthlyUsage.attributeTypeMap;\n    }\n}\nexports.LogsByRetentionMonthlyUsage = LogsByRetentionMonthlyUsage;\n/**\n * @ignore\n */\nLogsByRetentionMonthlyUsage.attributeTypeMap = {\n    date: {\n        baseName: \"date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsByRetentionMonthlyUsage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsByRetentionOrgUsage = void 0;\n/**\n * Indexed logs usage by retention for a single organization.\n */\nclass LogsByRetentionOrgUsage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsByRetentionOrgUsage.attributeTypeMap;\n    }\n}\nexports.LogsByRetentionOrgUsage = LogsByRetentionOrgUsage;\n/**\n * @ignore\n */\nLogsByRetentionOrgUsage.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsByRetentionOrgUsage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsByRetentionOrgs = void 0;\n/**\n * Indexed logs usage summary for each organization for each retention period with usage.\n */\nclass LogsByRetentionOrgs {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsByRetentionOrgs.attributeTypeMap;\n    }\n}\nexports.LogsByRetentionOrgs = LogsByRetentionOrgs;\n/**\n * @ignore\n */\nLogsByRetentionOrgs.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsByRetentionOrgs.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsCategoryProcessor = void 0;\n/**\n * Use the Category Processor to add a new attribute (without spaces or special characters in the new attribute name)\n * to a log matching a provided search query. Use categories to create groups for an analytical view.\n * For example, URL groups, machine groups, environments, and response time buckets.\n *\n * **Notes**:\n *\n * - The syntax of the query is the one of Logs Explorer search bar.\n *   The query can be done on any log attribute or tag, whether it is a facet or not.\n *   Wildcards can also be used inside your query.\n * - Once the log has matched one of the Processor queries, it stops.\n *   Make sure they are properly ordered in case a log could match several queries.\n * - The names of the categories must be unique.\n * - Once defined in the Category Processor, you can map categories to log status using the Log Status Remapper.\n */\nclass LogsCategoryProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsCategoryProcessor.attributeTypeMap;\n    }\n}\nexports.LogsCategoryProcessor = LogsCategoryProcessor;\n/**\n * @ignore\n */\nLogsCategoryProcessor.attributeTypeMap = {\n    categories: {\n        baseName: \"categories\",\n        type: \"Array\",\n        required: true,\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsCategoryProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsCategoryProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsCategoryProcessorCategory = void 0;\n/**\n * Object describing the logs filter.\n */\nclass LogsCategoryProcessorCategory {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsCategoryProcessorCategory.attributeTypeMap;\n    }\n}\nexports.LogsCategoryProcessorCategory = LogsCategoryProcessorCategory;\n/**\n * @ignore\n */\nLogsCategoryProcessorCategory.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsFilter\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsCategoryProcessorCategory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsDateRemapper = void 0;\n/**\n * As Datadog receives logs, it timestamps them using the value(s) from any of these default attributes.\n *\n *   - `timestamp`\n *   - `date`\n *   - `_timestamp`\n *   - `Timestamp`\n *   - `eventTime`\n *   - `published_date`\n *\n *   If your logs put their dates in an attribute not in this list,\n *   use the log date Remapper Processor to define their date attribute as the official log timestamp.\n *   The recognized date formats are ISO8601, UNIX (the milliseconds EPOCH format), and RFC3164.\n *\n *   **Note:** If your logs don’t contain any of the default attributes\n *   and you haven’t defined your own date attribute, Datadog timestamps\n *   the logs with the date it received them.\n *\n *   If multiple log date remapper processors can be applied to a given log,\n *   only the first one (according to the pipelines order) is taken into account.\n */\nclass LogsDateRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsDateRemapper.attributeTypeMap;\n    }\n}\nexports.LogsDateRemapper = LogsDateRemapper;\n/**\n * @ignore\n */\nLogsDateRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsDateRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsDateRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsExclusion = void 0;\n/**\n * Represents the index exclusion filter object from configuration API.\n */\nclass LogsExclusion {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsExclusion.attributeTypeMap;\n    }\n}\nexports.LogsExclusion = LogsExclusion;\n/**\n * @ignore\n */\nLogsExclusion.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsExclusionFilter\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsExclusion.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsExclusionFilter = void 0;\n/**\n * Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle.\n */\nclass LogsExclusionFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsExclusionFilter.attributeTypeMap;\n    }\n}\nexports.LogsExclusionFilter = LogsExclusionFilter;\n/**\n * @ignore\n */\nLogsExclusionFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    sampleRate: {\n        baseName: \"sample_rate\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=LogsExclusionFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsFilter = void 0;\n/**\n * Filter for logs.\n */\nclass LogsFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsFilter.attributeTypeMap;\n    }\n}\nexports.LogsFilter = LogsFilter;\n/**\n * @ignore\n */\nLogsFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsFilter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsGeoIPParser = void 0;\n/**\n * The GeoIP parser takes an IP address attribute and extracts if available\n * the Continent, Country, Subdivision, and City information in the target attribute path.\n */\nclass LogsGeoIPParser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsGeoIPParser.attributeTypeMap;\n    }\n}\nexports.LogsGeoIPParser = LogsGeoIPParser;\n/**\n * @ignore\n */\nLogsGeoIPParser.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsGeoIPParserType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsGeoIPParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsGrokParser = void 0;\n/**\n * Create custom grok rules to parse the full message or [a specific attribute of your raw event](https://docs.datadoghq.com/logs/log_configuration/parsing/#advanced-settings).\n * For more information, see the [parsing section](https://docs.datadoghq.com/logs/log_configuration/parsing).\n */\nclass LogsGrokParser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsGrokParser.attributeTypeMap;\n    }\n}\nexports.LogsGrokParser = LogsGrokParser;\n/**\n * @ignore\n */\nLogsGrokParser.attributeTypeMap = {\n    grok: {\n        baseName: \"grok\",\n        type: \"LogsGrokParserRules\",\n        required: true,\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    samples: {\n        baseName: \"samples\",\n        type: \"Array\",\n    },\n    source: {\n        baseName: \"source\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsGrokParserType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsGrokParser.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsGrokParserRules = void 0;\n/**\n * Set of rules for the grok parser.\n */\nclass LogsGrokParserRules {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsGrokParserRules.attributeTypeMap;\n    }\n}\nexports.LogsGrokParserRules = LogsGrokParserRules;\n/**\n * @ignore\n */\nLogsGrokParserRules.attributeTypeMap = {\n    matchRules: {\n        baseName: \"match_rules\",\n        type: \"string\",\n        required: true,\n    },\n    supportRules: {\n        baseName: \"support_rules\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsGrokParserRules.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsIndex = void 0;\n/**\n * Object describing a Datadog Log index.\n */\nclass LogsIndex {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsIndex.attributeTypeMap;\n    }\n}\nexports.LogsIndex = LogsIndex;\n/**\n * @ignore\n */\nLogsIndex.attributeTypeMap = {\n    dailyLimit: {\n        baseName: \"daily_limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    exclusionFilters: {\n        baseName: \"exclusion_filters\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsFilter\",\n        required: true,\n    },\n    isRateLimited: {\n        baseName: \"is_rate_limited\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    numRetentionDays: {\n        baseName: \"num_retention_days\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=LogsIndex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsIndexListResponse = void 0;\n/**\n * Object with all Index configurations for a given organization.\n */\nclass LogsIndexListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsIndexListResponse.attributeTypeMap;\n    }\n}\nexports.LogsIndexListResponse = LogsIndexListResponse;\n/**\n * @ignore\n */\nLogsIndexListResponse.attributeTypeMap = {\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsIndexListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsIndexUpdateRequest = void 0;\n/**\n * Object for updating a Datadog Log index.\n */\nclass LogsIndexUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsIndexUpdateRequest.attributeTypeMap;\n    }\n}\nexports.LogsIndexUpdateRequest = LogsIndexUpdateRequest;\n/**\n * @ignore\n */\nLogsIndexUpdateRequest.attributeTypeMap = {\n    dailyLimit: {\n        baseName: \"daily_limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    disableDailyLimit: {\n        baseName: \"disable_daily_limit\",\n        type: \"boolean\",\n    },\n    exclusionFilters: {\n        baseName: \"exclusion_filters\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsFilter\",\n        required: true,\n    },\n    numRetentionDays: {\n        baseName: \"num_retention_days\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=LogsIndexUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsIndexesOrder = void 0;\n/**\n * Object containing the ordered list of log index names.\n */\nclass LogsIndexesOrder {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsIndexesOrder.attributeTypeMap;\n    }\n}\nexports.LogsIndexesOrder = LogsIndexesOrder;\n/**\n * @ignore\n */\nLogsIndexesOrder.attributeTypeMap = {\n    indexNames: {\n        baseName: \"index_names\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsIndexesOrder.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListRequest = void 0;\n/**\n * Object to send with the request to retrieve a list of logs from your Organization.\n */\nclass LogsListRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListRequest.attributeTypeMap;\n    }\n}\nexports.LogsListRequest = LogsListRequest;\n/**\n * @ignore\n */\nLogsListRequest.attributeTypeMap = {\n    index: {\n        baseName: \"index\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"LogsSort\",\n    },\n    startAt: {\n        baseName: \"startAt\",\n        type: \"string\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"LogsListRequestTime\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsListRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListRequestTime = void 0;\n/**\n * Timeframe to retrieve the log from.\n */\nclass LogsListRequestTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListRequestTime.attributeTypeMap;\n    }\n}\nexports.LogsListRequestTime = LogsListRequestTime;\n/**\n * @ignore\n */\nLogsListRequestTime.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=LogsListRequestTime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListResponse = void 0;\n/**\n * Response object with all logs matching the request and pagination information.\n */\nclass LogsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListResponse.attributeTypeMap;\n    }\n}\nexports.LogsListResponse = LogsListResponse;\n/**\n * @ignore\n */\nLogsListResponse.attributeTypeMap = {\n    logs: {\n        baseName: \"logs\",\n        type: \"Array\",\n    },\n    nextLogId: {\n        baseName: \"nextLogId\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsLookupProcessor = void 0;\n/**\n * Use the Lookup Processor to define a mapping between a log attribute\n * and a human readable value saved in the processors mapping table.\n * For example, you can use the Lookup Processor to map an internal service ID\n * into a human readable service name. Alternatively, you could also use it to check\n * if the MAC address that just attempted to connect to the production\n * environment belongs to your list of stolen machines.\n */\nclass LogsLookupProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsLookupProcessor.attributeTypeMap;\n    }\n}\nexports.LogsLookupProcessor = LogsLookupProcessor;\n/**\n * @ignore\n */\nLogsLookupProcessor.attributeTypeMap = {\n    defaultLookup: {\n        baseName: \"default_lookup\",\n        type: \"string\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    lookupTable: {\n        baseName: \"lookup_table\",\n        type: \"Array\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    source: {\n        baseName: \"source\",\n        type: \"string\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsLookupProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsLookupProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMessageRemapper = void 0;\n/**\n * The message is a key attribute in Datadog.\n * It is displayed in the message column of the Log Explorer and you can do full string search on it.\n * Use this Processor to define one or more attributes as the official log message.\n *\n * **Note:** If multiple log message remapper processors can be applied to a given log,\n * only the first one (according to the pipeline order) is taken into account.\n */\nclass LogsMessageRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMessageRemapper.attributeTypeMap;\n    }\n}\nexports.LogsMessageRemapper = LogsMessageRemapper;\n/**\n * @ignore\n */\nLogsMessageRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsMessageRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsMessageRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsPipeline = void 0;\n/**\n * Pipelines and processors operate on incoming logs,\n * parsing and transforming them into structured attributes for easier querying.\n *\n * **Note**: These endpoints are only available for admin users.\n * Make sure to use an application key created by an admin.\n */\nclass LogsPipeline {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsPipeline.attributeTypeMap;\n    }\n}\nexports.LogsPipeline = LogsPipeline;\n/**\n * @ignore\n */\nLogsPipeline.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsFilter\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    isReadOnly: {\n        baseName: \"is_read_only\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    processors: {\n        baseName: \"processors\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsPipeline.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsPipelineProcessor = void 0;\n/**\n * Nested Pipelines are pipelines within a pipeline. Use Nested Pipelines to split the processing into two steps.\n * For example, first use a high-level filtering such as team and then a second level of filtering based on the\n * integration, service, or any other tag or attribute.\n *\n * A pipeline can contain Nested Pipelines and Processors whereas a Nested Pipeline can only contain Processors.\n */\nclass LogsPipelineProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsPipelineProcessor.attributeTypeMap;\n    }\n}\nexports.LogsPipelineProcessor = LogsPipelineProcessor;\n/**\n * @ignore\n */\nLogsPipelineProcessor.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsFilter\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    processors: {\n        baseName: \"processors\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsPipelineProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsPipelineProcessor.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsPipelinesOrder = void 0;\n/**\n * Object containing the ordered list of pipeline IDs.\n */\nclass LogsPipelinesOrder {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsPipelinesOrder.attributeTypeMap;\n    }\n}\nexports.LogsPipelinesOrder = LogsPipelinesOrder;\n/**\n * @ignore\n */\nLogsPipelinesOrder.attributeTypeMap = {\n    pipelineIds: {\n        baseName: \"pipeline_ids\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsPipelinesOrder.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsQueryCompute = void 0;\n/**\n * Define computation for a log query.\n */\nclass LogsQueryCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsQueryCompute.attributeTypeMap;\n    }\n}\nexports.LogsQueryCompute = LogsQueryCompute;\n/**\n * @ignore\n */\nLogsQueryCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"string\",\n        required: true,\n    },\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=LogsQueryCompute.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsRetentionAggSumUsage = void 0;\n/**\n * Object containing indexed logs usage aggregated across organizations and months for a retention period.\n */\nclass LogsRetentionAggSumUsage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsRetentionAggSumUsage.attributeTypeMap;\n    }\n}\nexports.LogsRetentionAggSumUsage = LogsRetentionAggSumUsage;\n/**\n * @ignore\n */\nLogsRetentionAggSumUsage.attributeTypeMap = {\n    logsIndexedLogsUsageAggSum: {\n        baseName: \"logs_indexed_logs_usage_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsLiveIndexedLogsUsageAggSum: {\n        baseName: \"logs_live_indexed_logs_usage_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsRehydratedIndexedLogsUsageAggSum: {\n        baseName: \"logs_rehydrated_indexed_logs_usage_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    retention: {\n        baseName: \"retention\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsRetentionAggSumUsage.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsRetentionSumUsage = void 0;\n/**\n * Object containing indexed logs usage grouped by retention period and summed.\n */\nclass LogsRetentionSumUsage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsRetentionSumUsage.attributeTypeMap;\n    }\n}\nexports.LogsRetentionSumUsage = LogsRetentionSumUsage;\n/**\n * @ignore\n */\nLogsRetentionSumUsage.attributeTypeMap = {\n    logsIndexedLogsUsageSum: {\n        baseName: \"logs_indexed_logs_usage_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsLiveIndexedLogsUsageSum: {\n        baseName: \"logs_live_indexed_logs_usage_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsRehydratedIndexedLogsUsageSum: {\n        baseName: \"logs_rehydrated_indexed_logs_usage_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    retention: {\n        baseName: \"retention\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsRetentionSumUsage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsServiceRemapper = void 0;\n/**\n * Use this processor if you want to assign one or more attributes as the official service.\n *\n * **Note:** If multiple service remapper processors can be applied to a given log,\n * only the first one (according to the pipeline order) is taken into account.\n */\nclass LogsServiceRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsServiceRemapper.attributeTypeMap;\n    }\n}\nexports.LogsServiceRemapper = LogsServiceRemapper;\n/**\n * @ignore\n */\nLogsServiceRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsServiceRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsServiceRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsStatusRemapper = void 0;\n/**\n * Use this Processor if you want to assign some attributes as the official status.\n *\n * Each incoming status value is mapped as follows.\n *\n *   - Integers from 0 to 7 map to the Syslog severity standards\n *   - Strings beginning with `emerg` or f (case-insensitive) map to `emerg` (0)\n *   - Strings beginning with `a` (case-insensitive) map to `alert` (1)\n *   - Strings beginning with `c` (case-insensitive) map to `critical` (2)\n *   - Strings beginning with `err` (case-insensitive) map to `error` (3)\n *   - Strings beginning with `w` (case-insensitive) map to `warning` (4)\n *   - Strings beginning with `n` (case-insensitive) map to `notice` (5)\n *   - Strings beginning with `i` (case-insensitive) map to `info` (6)\n *   - Strings beginning with `d`, `trace` or `verbose` (case-insensitive) map to `debug` (7)\n *   - Strings beginning with `o` or matching `OK` or `Success` (case-insensitive) map to OK\n *   - All others map to `info` (6)\n *\n *   **Note:** If multiple log status remapper processors can be applied to a given log,\n *   only the first one (according to the pipelines order) is taken into account.\n */\nclass LogsStatusRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsStatusRemapper.attributeTypeMap;\n    }\n}\nexports.LogsStatusRemapper = LogsStatusRemapper;\n/**\n * @ignore\n */\nLogsStatusRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsStatusRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsStatusRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsStringBuilderProcessor = void 0;\n/**\n * Use the string builder processor to add a new attribute (without spaces or special characters)\n * to a log with the result of the provided template.\n * This enables aggregation of different attributes or raw strings into a single attribute.\n *\n * The template is defined by both raw text and blocks with the syntax `%{attribute_path}`.\n *\n * **Notes**:\n *\n * - The processor only accepts attributes with values or an array of values in the blocks.\n * - If an attribute cannot be used (object or array of object),\n *   it is replaced by an empty string or the entire operation is skipped depending on your selection.\n * - If the target attribute already exists, it is overwritten by the result of the template.\n * - Results of the template cannot exceed 256 characters.\n */\nclass LogsStringBuilderProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsStringBuilderProcessor.attributeTypeMap;\n    }\n}\nexports.LogsStringBuilderProcessor = LogsStringBuilderProcessor;\n/**\n * @ignore\n */\nLogsStringBuilderProcessor.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    isReplaceMissing: {\n        baseName: \"is_replace_missing\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    template: {\n        baseName: \"template\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsStringBuilderProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsStringBuilderProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsTraceRemapper = void 0;\n/**\n * There are two ways to improve correlation between application traces and logs.\n *\n *   1. Follow the documentation on [how to inject a trace ID in the application logs](https://docs.datadoghq.com/tracing/connect_logs_and_traces)\n *   and by default log integrations take care of all the rest of the setup.\n *\n *   2. Use the Trace remapper processor to define a log attribute as its associated trace ID.\n */\nclass LogsTraceRemapper {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsTraceRemapper.attributeTypeMap;\n    }\n}\nexports.LogsTraceRemapper = LogsTraceRemapper;\n/**\n * @ignore\n */\nLogsTraceRemapper.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsTraceRemapperType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsTraceRemapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsURLParser = void 0;\n/**\n * This processor extracts query parameters and other important parameters from a URL.\n */\nclass LogsURLParser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsURLParser.attributeTypeMap;\n    }\n}\nexports.LogsURLParser = LogsURLParser;\n/**\n * @ignore\n */\nLogsURLParser.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    normalizeEndingSlashes: {\n        baseName: \"normalize_ending_slashes\",\n        type: \"boolean\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsURLParserType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsURLParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsUserAgentParser = void 0;\n/**\n * The User-Agent parser takes a User-Agent attribute and extracts the OS, browser, device, and other user data.\n * It recognizes major bots like the Google Bot, Yahoo Slurp, and Bing.\n */\nclass LogsUserAgentParser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsUserAgentParser.attributeTypeMap;\n    }\n}\nexports.LogsUserAgentParser = LogsUserAgentParser;\n/**\n * @ignore\n */\nLogsUserAgentParser.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    isEncoded: {\n        baseName: \"is_encoded\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sources: {\n        baseName: \"sources\",\n        type: \"Array\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsUserAgentParserType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsUserAgentParser.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MatchingDowntime = void 0;\n/**\n * Object describing a downtime that matches this monitor.\n */\nclass MatchingDowntime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MatchingDowntime.attributeTypeMap;\n    }\n}\nexports.MatchingDowntime = MatchingDowntime;\n/**\n * @ignore\n */\nMatchingDowntime.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"Array\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MatchingDowntime.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricMetadata = void 0;\n/**\n * Object with all metric related metadata.\n */\nclass MetricMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricMetadata.attributeTypeMap;\n    }\n}\nexports.MetricMetadata = MetricMetadata;\n/**\n * @ignore\n */\nMetricMetadata.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    integration: {\n        baseName: \"integration\",\n        type: \"string\",\n    },\n    perUnit: {\n        baseName: \"per_unit\",\n        type: \"string\",\n    },\n    shortName: {\n        baseName: \"short_name\",\n        type: \"string\",\n    },\n    statsdInterval: {\n        baseName: \"statsd_interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MetricMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSearchResponse = void 0;\n/**\n * Object containing the list of metrics matching the search query.\n */\nclass MetricSearchResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSearchResponse.attributeTypeMap;\n    }\n}\nexports.MetricSearchResponse = MetricSearchResponse;\n/**\n * @ignore\n */\nMetricSearchResponse.attributeTypeMap = {\n    results: {\n        baseName: \"results\",\n        type: \"MetricSearchResponseResults\",\n    },\n};\n//# sourceMappingURL=MetricSearchResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSearchResponseResults = void 0;\n/**\n * Search result.\n */\nclass MetricSearchResponseResults {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSearchResponseResults.attributeTypeMap;\n    }\n}\nexports.MetricSearchResponseResults = MetricSearchResponseResults;\n/**\n * @ignore\n */\nMetricSearchResponseResults.attributeTypeMap = {\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricSearchResponseResults.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsListResponse = void 0;\n/**\n * Object listing all metric names stored by Datadog since a given time.\n */\nclass MetricsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsListResponse.attributeTypeMap;\n    }\n}\nexports.MetricsListResponse = MetricsListResponse;\n/**\n * @ignore\n */\nMetricsListResponse.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricsListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsPayload = void 0;\n/**\n * The metrics' payload.\n */\nclass MetricsPayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsPayload.attributeTypeMap;\n    }\n}\nexports.MetricsPayload = MetricsPayload;\n/**\n * @ignore\n */\nMetricsPayload.attributeTypeMap = {\n    series: {\n        baseName: \"series\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricsPayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsQueryMetadata = void 0;\n/**\n * Object containing all metric names returned and their associated metadata.\n */\nclass MetricsQueryMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsQueryMetadata.attributeTypeMap;\n    }\n}\nexports.MetricsQueryMetadata = MetricsQueryMetadata;\n/**\n * @ignore\n */\nMetricsQueryMetadata.attributeTypeMap = {\n    aggr: {\n        baseName: \"aggr\",\n        type: \"string\",\n    },\n    displayName: {\n        baseName: \"display_name\",\n        type: \"string\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    length: {\n        baseName: \"length\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    pointlist: {\n        baseName: \"pointlist\",\n        type: \"Array<[number, number]>\",\n        format: \"double\",\n    },\n    queryIndex: {\n        baseName: \"query_index\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    tagSet: {\n        baseName: \"tag_set\",\n        type: \"Array\",\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"[MetricsQueryUnit, MetricsQueryUnit]\",\n    },\n};\n//# sourceMappingURL=MetricsQueryMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsQueryResponse = void 0;\n/**\n * Response Object that includes your query and the list of metrics retrieved.\n */\nclass MetricsQueryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsQueryResponse.attributeTypeMap;\n    }\n}\nexports.MetricsQueryResponse = MetricsQueryResponse;\n/**\n * @ignore\n */\nMetricsQueryResponse.attributeTypeMap = {\n    error: {\n        baseName: \"error\",\n        type: \"string\",\n    },\n    fromDate: {\n        baseName: \"from_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    resType: {\n        baseName: \"res_type\",\n        type: \"string\",\n    },\n    series: {\n        baseName: \"series\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    toDate: {\n        baseName: \"to_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MetricsQueryResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsQueryUnit = void 0;\n/**\n * Object containing the metric unit family, scale factor, name, and short name.\n */\nclass MetricsQueryUnit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsQueryUnit.attributeTypeMap;\n    }\n}\nexports.MetricsQueryUnit = MetricsQueryUnit;\n/**\n * @ignore\n */\nMetricsQueryUnit.attributeTypeMap = {\n    family: {\n        baseName: \"family\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    plural: {\n        baseName: \"plural\",\n        type: \"string\",\n    },\n    scaleFactor: {\n        baseName: \"scale_factor\",\n        type: \"number\",\n        format: \"double\",\n    },\n    shortName: {\n        baseName: \"short_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MetricsQueryUnit.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Monitor = void 0;\n/**\n * Object describing a monitor.\n */\nclass Monitor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Monitor.attributeTypeMap;\n    }\n}\nexports.Monitor = Monitor;\n/**\n * @ignore\n */\nMonitor.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    deleted: {\n        baseName: \"deleted\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    matchingDowntimes: {\n        baseName: \"matching_downtimes\",\n        type: \"Array\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    multi: {\n        baseName: \"multi\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"MonitorOptions\",\n    },\n    overallState: {\n        baseName: \"overall_state\",\n        type: \"MonitorOverallStates\",\n    },\n    priority: {\n        baseName: \"priority\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"MonitorState\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Monitor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorFormulaAndFunctionEventQueryDefinition = void 0;\n/**\n * A formula and functions events query.\n */\nclass MonitorFormulaAndFunctionEventQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorFormulaAndFunctionEventQueryDefinition.attributeTypeMap;\n    }\n}\nexports.MonitorFormulaAndFunctionEventQueryDefinition = MonitorFormulaAndFunctionEventQueryDefinition;\n/**\n * @ignore\n */\nMonitorFormulaAndFunctionEventQueryDefinition.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"MonitorFormulaAndFunctionEventQueryDefinitionCompute\",\n        required: true,\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"MonitorFormulaAndFunctionEventsDataSource\",\n        required: true,\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    search: {\n        baseName: \"search\",\n        type: \"MonitorFormulaAndFunctionEventQueryDefinitionSearch\",\n    },\n};\n//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = void 0;\n/**\n * Compute options.\n */\nclass MonitorFormulaAndFunctionEventQueryDefinitionCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorFormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap;\n    }\n}\nexports.MonitorFormulaAndFunctionEventQueryDefinitionCompute = MonitorFormulaAndFunctionEventQueryDefinitionCompute;\n/**\n * @ignore\n */\nMonitorFormulaAndFunctionEventQueryDefinitionCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"MonitorFormulaAndFunctionEventAggregation\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinitionCompute.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = void 0;\n/**\n * Search options.\n */\nclass MonitorFormulaAndFunctionEventQueryDefinitionSearch {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorFormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap;\n    }\n}\nexports.MonitorFormulaAndFunctionEventQueryDefinitionSearch = MonitorFormulaAndFunctionEventQueryDefinitionSearch;\n/**\n * @ignore\n */\nMonitorFormulaAndFunctionEventQueryDefinitionSearch.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryDefinitionSearch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorFormulaAndFunctionEventQueryGroupBy = void 0;\n/**\n * List of objects used to group by.\n */\nclass MonitorFormulaAndFunctionEventQueryGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorFormulaAndFunctionEventQueryGroupBy.attributeTypeMap;\n    }\n}\nexports.MonitorFormulaAndFunctionEventQueryGroupBy = MonitorFormulaAndFunctionEventQueryGroupBy;\n/**\n * @ignore\n */\nMonitorFormulaAndFunctionEventQueryGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"MonitorFormulaAndFunctionEventQueryGroupBySort\",\n    },\n};\n//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorFormulaAndFunctionEventQueryGroupBySort = void 0;\n/**\n * Options for sorting group by results.\n */\nclass MonitorFormulaAndFunctionEventQueryGroupBySort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorFormulaAndFunctionEventQueryGroupBySort.attributeTypeMap;\n    }\n}\nexports.MonitorFormulaAndFunctionEventQueryGroupBySort = MonitorFormulaAndFunctionEventQueryGroupBySort;\n/**\n * @ignore\n */\nMonitorFormulaAndFunctionEventQueryGroupBySort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"MonitorFormulaAndFunctionEventAggregation\",\n        required: true,\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"QuerySortOrder\",\n    },\n};\n//# sourceMappingURL=MonitorFormulaAndFunctionEventQueryGroupBySort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorGroupSearchResponse = void 0;\n/**\n * The response of a monitor group search.\n */\nclass MonitorGroupSearchResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorGroupSearchResponse.attributeTypeMap;\n    }\n}\nexports.MonitorGroupSearchResponse = MonitorGroupSearchResponse;\n/**\n * @ignore\n */\nMonitorGroupSearchResponse.attributeTypeMap = {\n    counts: {\n        baseName: \"counts\",\n        type: \"MonitorGroupSearchResponseCounts\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"MonitorSearchResponseMetadata\",\n    },\n};\n//# sourceMappingURL=MonitorGroupSearchResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorGroupSearchResponseCounts = void 0;\n/**\n * The counts of monitor groups per different criteria.\n */\nclass MonitorGroupSearchResponseCounts {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorGroupSearchResponseCounts.attributeTypeMap;\n    }\n}\nexports.MonitorGroupSearchResponseCounts = MonitorGroupSearchResponseCounts;\n/**\n * @ignore\n */\nMonitorGroupSearchResponseCounts.attributeTypeMap = {\n    status: {\n        baseName: \"status\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorGroupSearchResponseCounts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorGroupSearchResult = void 0;\n/**\n * A single monitor group search result.\n */\nclass MonitorGroupSearchResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorGroupSearchResult.attributeTypeMap;\n    }\n}\nexports.MonitorGroupSearchResult = MonitorGroupSearchResult;\n/**\n * @ignore\n */\nMonitorGroupSearchResult.attributeTypeMap = {\n    group: {\n        baseName: \"group\",\n        type: \"string\",\n    },\n    groupTags: {\n        baseName: \"group_tags\",\n        type: \"Array\",\n    },\n    lastNodataTs: {\n        baseName: \"last_nodata_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastTriggeredTs: {\n        baseName: \"last_triggered_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorName: {\n        baseName: \"monitor_name\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"MonitorOverallStates\",\n    },\n};\n//# sourceMappingURL=MonitorGroupSearchResult.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorOptions = void 0;\n/**\n * List of options associated with your monitor.\n */\nclass MonitorOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorOptions.attributeTypeMap;\n    }\n}\nexports.MonitorOptions = MonitorOptions;\n/**\n * @ignore\n */\nMonitorOptions.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"MonitorOptionsAggregation\",\n    },\n    deviceIds: {\n        baseName: \"device_ids\",\n        type: \"Array\",\n    },\n    enableLogsSample: {\n        baseName: \"enable_logs_sample\",\n        type: \"boolean\",\n    },\n    enableSamples: {\n        baseName: \"enable_samples\",\n        type: \"boolean\",\n    },\n    escalationMessage: {\n        baseName: \"escalation_message\",\n        type: \"string\",\n    },\n    evaluationDelay: {\n        baseName: \"evaluation_delay\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    groupRetentionDuration: {\n        baseName: \"group_retention_duration\",\n        type: \"string\",\n    },\n    groupbySimpleMonitor: {\n        baseName: \"groupby_simple_monitor\",\n        type: \"boolean\",\n    },\n    includeTags: {\n        baseName: \"include_tags\",\n        type: \"boolean\",\n    },\n    locked: {\n        baseName: \"locked\",\n        type: \"boolean\",\n    },\n    minFailureDuration: {\n        baseName: \"min_failure_duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    minLocationFailed: {\n        baseName: \"min_location_failed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    newGroupDelay: {\n        baseName: \"new_group_delay\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    newHostDelay: {\n        baseName: \"new_host_delay\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    noDataTimeframe: {\n        baseName: \"no_data_timeframe\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    notificationPresetName: {\n        baseName: \"notification_preset_name\",\n        type: \"MonitorOptionsNotificationPresets\",\n    },\n    notifyAudit: {\n        baseName: \"notify_audit\",\n        type: \"boolean\",\n    },\n    notifyBy: {\n        baseName: \"notify_by\",\n        type: \"Array\",\n    },\n    notifyNoData: {\n        baseName: \"notify_no_data\",\n        type: \"boolean\",\n    },\n    onMissingData: {\n        baseName: \"on_missing_data\",\n        type: \"OnMissingDataOption\",\n    },\n    renotifyInterval: {\n        baseName: \"renotify_interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    renotifyOccurrences: {\n        baseName: \"renotify_occurrences\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    renotifyStatuses: {\n        baseName: \"renotify_statuses\",\n        type: \"Array\",\n    },\n    requireFullWindow: {\n        baseName: \"require_full_window\",\n        type: \"boolean\",\n    },\n    schedulingOptions: {\n        baseName: \"scheduling_options\",\n        type: \"MonitorOptionsSchedulingOptions\",\n    },\n    silenced: {\n        baseName: \"silenced\",\n        type: \"{ [key: string]: number; }\",\n    },\n    syntheticsCheckId: {\n        baseName: \"synthetics_check_id\",\n        type: \"string\",\n    },\n    thresholdWindows: {\n        baseName: \"threshold_windows\",\n        type: \"MonitorThresholdWindowOptions\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"MonitorThresholds\",\n    },\n    timeoutH: {\n        baseName: \"timeout_h\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    variables: {\n        baseName: \"variables\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorOptionsAggregation = void 0;\n/**\n * Type of aggregation performed in the monitor query.\n */\nclass MonitorOptionsAggregation {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorOptionsAggregation.attributeTypeMap;\n    }\n}\nexports.MonitorOptionsAggregation = MonitorOptionsAggregation;\n/**\n * @ignore\n */\nMonitorOptionsAggregation.attributeTypeMap = {\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonitorOptionsAggregation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorOptionsSchedulingOptions = void 0;\n/**\n * Configuration options for scheduling.\n */\nclass MonitorOptionsSchedulingOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorOptionsSchedulingOptions.attributeTypeMap;\n    }\n}\nexports.MonitorOptionsSchedulingOptions = MonitorOptionsSchedulingOptions;\n/**\n * @ignore\n */\nMonitorOptionsSchedulingOptions.attributeTypeMap = {\n    evaluationWindow: {\n        baseName: \"evaluation_window\",\n        type: \"MonitorOptionsSchedulingOptionsEvaluationWindow\",\n    },\n};\n//# sourceMappingURL=MonitorOptionsSchedulingOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorOptionsSchedulingOptionsEvaluationWindow = void 0;\n/**\n * Configuration options for the evaluation window. If `hour_starts` is set, no other fields may be set. Otherwise, `day_starts` and `month_starts` must be set together.\n */\nclass MonitorOptionsSchedulingOptionsEvaluationWindow {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorOptionsSchedulingOptionsEvaluationWindow.attributeTypeMap;\n    }\n}\nexports.MonitorOptionsSchedulingOptionsEvaluationWindow = MonitorOptionsSchedulingOptionsEvaluationWindow;\n/**\n * @ignore\n */\nMonitorOptionsSchedulingOptionsEvaluationWindow.attributeTypeMap = {\n    dayStarts: {\n        baseName: \"day_starts\",\n        type: \"string\",\n    },\n    hourStarts: {\n        baseName: \"hour_starts\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    monthStarts: {\n        baseName: \"month_starts\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=MonitorOptionsSchedulingOptionsEvaluationWindow.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchCountItem = void 0;\n/**\n * A facet item.\n */\nclass MonitorSearchCountItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchCountItem.attributeTypeMap;\n    }\n}\nexports.MonitorSearchCountItem = MonitorSearchCountItem;\n/**\n * @ignore\n */\nMonitorSearchCountItem.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"any\",\n    },\n};\n//# sourceMappingURL=MonitorSearchCountItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchResponse = void 0;\n/**\n * The response form a monitor search.\n */\nclass MonitorSearchResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchResponse.attributeTypeMap;\n    }\n}\nexports.MonitorSearchResponse = MonitorSearchResponse;\n/**\n * @ignore\n */\nMonitorSearchResponse.attributeTypeMap = {\n    counts: {\n        baseName: \"counts\",\n        type: \"MonitorSearchResponseCounts\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"MonitorSearchResponseMetadata\",\n    },\n    monitors: {\n        baseName: \"monitors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorSearchResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchResponseCounts = void 0;\n/**\n * The counts of monitors per different criteria.\n */\nclass MonitorSearchResponseCounts {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchResponseCounts.attributeTypeMap;\n    }\n}\nexports.MonitorSearchResponseCounts = MonitorSearchResponseCounts;\n/**\n * @ignore\n */\nMonitorSearchResponseCounts.attributeTypeMap = {\n    muted: {\n        baseName: \"muted\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"Array\",\n    },\n    tag: {\n        baseName: \"tag\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorSearchResponseCounts.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchResponseMetadata = void 0;\n/**\n * Metadata about the response.\n */\nclass MonitorSearchResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchResponseMetadata.attributeTypeMap;\n    }\n}\nexports.MonitorSearchResponseMetadata = MonitorSearchResponseMetadata;\n/**\n * @ignore\n */\nMonitorSearchResponseMetadata.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    pageCount: {\n        baseName: \"page_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    perPage: {\n        baseName: \"per_page\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MonitorSearchResponseMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchResult = void 0;\n/**\n * Holds search results.\n */\nclass MonitorSearchResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchResult.attributeTypeMap;\n    }\n}\nexports.MonitorSearchResult = MonitorSearchResult;\n/**\n * @ignore\n */\nMonitorSearchResult.attributeTypeMap = {\n    classification: {\n        baseName: \"classification\",\n        type: \"string\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastTriggeredTs: {\n        baseName: \"last_triggered_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    notifications: {\n        baseName: \"notifications\",\n        type: \"Array\",\n    },\n    orgId: {\n        baseName: \"org_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    scopes: {\n        baseName: \"scopes\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"MonitorOverallStates\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorType\",\n    },\n};\n//# sourceMappingURL=MonitorSearchResult.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSearchResultNotification = void 0;\n/**\n * A notification triggered by the monitor.\n */\nclass MonitorSearchResultNotification {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSearchResultNotification.attributeTypeMap;\n    }\n}\nexports.MonitorSearchResultNotification = MonitorSearchResultNotification;\n/**\n * @ignore\n */\nMonitorSearchResultNotification.attributeTypeMap = {\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonitorSearchResultNotification.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorState = void 0;\n/**\n * Wrapper object with the different monitor states.\n */\nclass MonitorState {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorState.attributeTypeMap;\n    }\n}\nexports.MonitorState = MonitorState;\n/**\n * @ignore\n */\nMonitorState.attributeTypeMap = {\n    groups: {\n        baseName: \"groups\",\n        type: \"{ [key: string]: MonitorStateGroup; }\",\n    },\n};\n//# sourceMappingURL=MonitorState.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorStateGroup = void 0;\n/**\n * Monitor state for a single group.\n */\nclass MonitorStateGroup {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorStateGroup.attributeTypeMap;\n    }\n}\nexports.MonitorStateGroup = MonitorStateGroup;\n/**\n * @ignore\n */\nMonitorStateGroup.attributeTypeMap = {\n    lastNodataTs: {\n        baseName: \"last_nodata_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastNotifiedTs: {\n        baseName: \"last_notified_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastResolvedTs: {\n        baseName: \"last_resolved_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastTriggeredTs: {\n        baseName: \"last_triggered_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"MonitorOverallStates\",\n    },\n};\n//# sourceMappingURL=MonitorStateGroup.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorSummaryWidgetDefinition = void 0;\n/**\n * The monitor summary widget displays a summary view of all your Datadog monitors, or a subset based on a query. Only available on FREE layout dashboards.\n */\nclass MonitorSummaryWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorSummaryWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.MonitorSummaryWidgetDefinition = MonitorSummaryWidgetDefinition;\n/**\n * @ignore\n */\nMonitorSummaryWidgetDefinition.attributeTypeMap = {\n    colorPreference: {\n        baseName: \"color_preference\",\n        type: \"WidgetColorPreference\",\n    },\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    displayFormat: {\n        baseName: \"display_format\",\n        type: \"WidgetMonitorSummaryDisplayFormat\",\n    },\n    hideZeroCounts: {\n        baseName: \"hide_zero_counts\",\n        type: \"boolean\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    showLastTriggered: {\n        baseName: \"show_last_triggered\",\n        type: \"boolean\",\n    },\n    showPriority: {\n        baseName: \"show_priority\",\n        type: \"boolean\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"WidgetMonitorSummarySort\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    summaryType: {\n        baseName: \"summary_type\",\n        type: \"WidgetSummaryType\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorSummaryWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorSummaryWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorThresholdWindowOptions = void 0;\n/**\n * Alerting time window options.\n */\nclass MonitorThresholdWindowOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorThresholdWindowOptions.attributeTypeMap;\n    }\n}\nexports.MonitorThresholdWindowOptions = MonitorThresholdWindowOptions;\n/**\n * @ignore\n */\nMonitorThresholdWindowOptions.attributeTypeMap = {\n    recoveryWindow: {\n        baseName: \"recovery_window\",\n        type: \"string\",\n    },\n    triggerWindow: {\n        baseName: \"trigger_window\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonitorThresholdWindowOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorThresholds = void 0;\n/**\n * List of the different monitor threshold available.\n */\nclass MonitorThresholds {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorThresholds.attributeTypeMap;\n    }\n}\nexports.MonitorThresholds = MonitorThresholds;\n/**\n * @ignore\n */\nMonitorThresholds.attributeTypeMap = {\n    critical: {\n        baseName: \"critical\",\n        type: \"number\",\n        format: \"double\",\n    },\n    criticalRecovery: {\n        baseName: \"critical_recovery\",\n        type: \"number\",\n        format: \"double\",\n    },\n    ok: {\n        baseName: \"ok\",\n        type: \"number\",\n        format: \"double\",\n    },\n    unknown: {\n        baseName: \"unknown\",\n        type: \"number\",\n        format: \"double\",\n    },\n    warning: {\n        baseName: \"warning\",\n        type: \"number\",\n        format: \"double\",\n    },\n    warningRecovery: {\n        baseName: \"warning_recovery\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=MonitorThresholds.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorUpdateRequest = void 0;\n/**\n * Object describing a monitor update request.\n */\nclass MonitorUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorUpdateRequest.attributeTypeMap;\n    }\n}\nexports.MonitorUpdateRequest = MonitorUpdateRequest;\n/**\n * @ignore\n */\nMonitorUpdateRequest.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    deleted: {\n        baseName: \"deleted\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    multi: {\n        baseName: \"multi\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"MonitorOptions\",\n    },\n    overallState: {\n        baseName: \"overall_state\",\n        type: \"MonitorOverallStates\",\n    },\n    priority: {\n        baseName: \"priority\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"MonitorState\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorType\",\n    },\n};\n//# sourceMappingURL=MonitorUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonthlyUsageAttributionBody = void 0;\n/**\n * Usage Summary by tag for a given organization.\n */\nclass MonthlyUsageAttributionBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonthlyUsageAttributionBody.attributeTypeMap;\n    }\n}\nexports.MonthlyUsageAttributionBody = MonthlyUsageAttributionBody;\n/**\n * @ignore\n */\nMonthlyUsageAttributionBody.attributeTypeMap = {\n    month: {\n        baseName: \"month\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    tagConfigSource: {\n        baseName: \"tag_config_source\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"{ [key: string]: Array; }\",\n    },\n    updatedAt: {\n        baseName: \"updated_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"MonthlyUsageAttributionValues\",\n    },\n};\n//# sourceMappingURL=MonthlyUsageAttributionBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonthlyUsageAttributionMetadata = void 0;\n/**\n * The object containing document metadata.\n */\nclass MonthlyUsageAttributionMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonthlyUsageAttributionMetadata.attributeTypeMap;\n    }\n}\nexports.MonthlyUsageAttributionMetadata = MonthlyUsageAttributionMetadata;\n/**\n * @ignore\n */\nMonthlyUsageAttributionMetadata.attributeTypeMap = {\n    aggregates: {\n        baseName: \"aggregates\",\n        type: \"Array\",\n    },\n    pagination: {\n        baseName: \"pagination\",\n        type: \"MonthlyUsageAttributionPagination\",\n    },\n};\n//# sourceMappingURL=MonthlyUsageAttributionMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonthlyUsageAttributionPagination = void 0;\n/**\n * The metadata for the current pagination.\n */\nclass MonthlyUsageAttributionPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonthlyUsageAttributionPagination.attributeTypeMap;\n    }\n}\nexports.MonthlyUsageAttributionPagination = MonthlyUsageAttributionPagination;\n/**\n * @ignore\n */\nMonthlyUsageAttributionPagination.attributeTypeMap = {\n    nextRecordId: {\n        baseName: \"next_record_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonthlyUsageAttributionPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonthlyUsageAttributionResponse = void 0;\n/**\n * Response containing the monthly Usage Summary by tag(s).\n */\nclass MonthlyUsageAttributionResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonthlyUsageAttributionResponse.attributeTypeMap;\n    }\n}\nexports.MonthlyUsageAttributionResponse = MonthlyUsageAttributionResponse;\n/**\n * @ignore\n */\nMonthlyUsageAttributionResponse.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"MonthlyUsageAttributionMetadata\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonthlyUsageAttributionResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonthlyUsageAttributionValues = void 0;\n/**\n * Fields in Usage Summary by tag(s).\n */\nclass MonthlyUsageAttributionValues {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonthlyUsageAttributionValues.attributeTypeMap;\n    }\n}\nexports.MonthlyUsageAttributionValues = MonthlyUsageAttributionValues;\n/**\n * @ignore\n */\nMonthlyUsageAttributionValues.attributeTypeMap = {\n    apiPercentage: {\n        baseName: \"api_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apiUsage: {\n        baseName: \"api_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmFargatePercentage: {\n        baseName: \"apm_fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmFargateUsage: {\n        baseName: \"apm_fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmHostPercentage: {\n        baseName: \"apm_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmHostUsage: {\n        baseName: \"apm_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmUsmPercentage: {\n        baseName: \"apm_usm_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmUsmUsage: {\n        baseName: \"apm_usm_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecFargatePercentage: {\n        baseName: \"appsec_fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecFargateUsage: {\n        baseName: \"appsec_fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecPercentage: {\n        baseName: \"appsec_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecUsage: {\n        baseName: \"appsec_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    browserPercentage: {\n        baseName: \"browser_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    browserUsage: {\n        baseName: \"browser_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    ciVisibilityItrPercentage: {\n        baseName: \"ci_visibility_itr_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    ciVisibilityItrUsage: {\n        baseName: \"ci_visibility_itr_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerExclAgentPercentage: {\n        baseName: \"container_excl_agent_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerExclAgentUsage: {\n        baseName: \"container_excl_agent_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerPercentage: {\n        baseName: \"container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerUsage: {\n        baseName: \"container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmContainersPercentage: {\n        baseName: \"cspm_containers_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmContainersUsage: {\n        baseName: \"cspm_containers_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmHostsPercentage: {\n        baseName: \"cspm_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmHostsUsage: {\n        baseName: \"cspm_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customIngestedTimeseriesPercentage: {\n        baseName: \"custom_ingested_timeseries_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customIngestedTimeseriesUsage: {\n        baseName: \"custom_ingested_timeseries_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customTimeseriesPercentage: {\n        baseName: \"custom_timeseries_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customTimeseriesUsage: {\n        baseName: \"custom_timeseries_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsContainersPercentage: {\n        baseName: \"cws_containers_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsContainersUsage: {\n        baseName: \"cws_containers_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsHostsPercentage: {\n        baseName: \"cws_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsHostsUsage: {\n        baseName: \"cws_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmHostsPercentage: {\n        baseName: \"dbm_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmHostsUsage: {\n        baseName: \"dbm_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmQueriesPercentage: {\n        baseName: \"dbm_queries_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmQueriesUsage: {\n        baseName: \"dbm_queries_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedLogsPercentage: {\n        baseName: \"estimated_indexed_logs_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedLogsUsage: {\n        baseName: \"estimated_indexed_logs_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedSpansPercentage: {\n        baseName: \"estimated_indexed_spans_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedSpansUsage: {\n        baseName: \"estimated_indexed_spans_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedLogsPercentage: {\n        baseName: \"estimated_ingested_logs_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedLogsUsage: {\n        baseName: \"estimated_ingested_logs_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedSpansPercentage: {\n        baseName: \"estimated_ingested_spans_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedSpansUsage: {\n        baseName: \"estimated_ingested_spans_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedRumSessionsPercentage: {\n        baseName: \"estimated_rum_sessions_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedRumSessionsUsage: {\n        baseName: \"estimated_rum_sessions_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    fargatePercentage: {\n        baseName: \"fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    fargateUsage: {\n        baseName: \"fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    functionsPercentage: {\n        baseName: \"functions_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    functionsUsage: {\n        baseName: \"functions_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    infraHostPercentage: {\n        baseName: \"infra_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    infraHostUsage: {\n        baseName: \"infra_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    invocationsPercentage: {\n        baseName: \"invocations_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    invocationsUsage: {\n        baseName: \"invocations_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    mobileAppTestingPercentage: {\n        baseName: \"mobile_app_testing_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    mobileAppTestingUsage: {\n        baseName: \"mobile_app_testing_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    npmHostPercentage: {\n        baseName: \"npm_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    npmHostUsage: {\n        baseName: \"npm_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    obsPipelineBytesPercentage: {\n        baseName: \"obs_pipeline_bytes_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    obsPipelineBytesUsage: {\n        baseName: \"obs_pipeline_bytes_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledContainerPercentage: {\n        baseName: \"profiled_container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledContainerUsage: {\n        baseName: \"profiled_container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledFargatePercentage: {\n        baseName: \"profiled_fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledFargateUsage: {\n        baseName: \"profiled_fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledHostPercentage: {\n        baseName: \"profiled_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledHostUsage: {\n        baseName: \"profiled_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    sdsScannedBytesPercentage: {\n        baseName: \"sds_scanned_bytes_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    sdsScannedBytesUsage: {\n        baseName: \"sds_scanned_bytes_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    snmpPercentage: {\n        baseName: \"snmp_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    snmpUsage: {\n        baseName: \"snmp_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    universalServiceMonitoringPercentage: {\n        baseName: \"universal_service_monitoring_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    universalServiceMonitoringUsage: {\n        baseName: \"universal_service_monitoring_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    vulnManagementHostsPercentage: {\n        baseName: \"vuln_management_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    vulnManagementHostsUsage: {\n        baseName: \"vuln_management_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=MonthlyUsageAttributionValues.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoteWidgetDefinition = void 0;\n/**\n * The notes and links widget is similar to free text widget, but allows for more formatting options.\n */\nclass NoteWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NoteWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.NoteWidgetDefinition = NoteWidgetDefinition;\n/**\n * @ignore\n */\nNoteWidgetDefinition.attributeTypeMap = {\n    backgroundColor: {\n        baseName: \"background_color\",\n        type: \"string\",\n    },\n    content: {\n        baseName: \"content\",\n        type: \"string\",\n        required: true,\n    },\n    fontSize: {\n        baseName: \"font_size\",\n        type: \"string\",\n    },\n    hasPadding: {\n        baseName: \"has_padding\",\n        type: \"boolean\",\n    },\n    showTick: {\n        baseName: \"show_tick\",\n        type: \"boolean\",\n    },\n    textAlign: {\n        baseName: \"text_align\",\n        type: \"WidgetTextAlign\",\n    },\n    tickEdge: {\n        baseName: \"tick_edge\",\n        type: \"WidgetTickEdge\",\n    },\n    tickPos: {\n        baseName: \"tick_pos\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NoteWidgetDefinitionType\",\n        required: true,\n    },\n    verticalAlign: {\n        baseName: \"vertical_align\",\n        type: \"WidgetVerticalAlign\",\n    },\n};\n//# sourceMappingURL=NoteWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookAbsoluteTime = void 0;\n/**\n * Absolute timeframe.\n */\nclass NotebookAbsoluteTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookAbsoluteTime.attributeTypeMap;\n    }\n}\nexports.NotebookAbsoluteTime = NotebookAbsoluteTime;\n/**\n * @ignore\n */\nNotebookAbsoluteTime.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    live: {\n        baseName: \"live\",\n        type: \"boolean\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=NotebookAbsoluteTime.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookAuthor = void 0;\n/**\n * Attributes of user object returned by the API.\n */\nclass NotebookAuthor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookAuthor.attributeTypeMap;\n    }\n}\nexports.NotebookAuthor = NotebookAuthor;\n/**\n * @ignore\n */\nNotebookAuthor.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    verified: {\n        baseName: \"verified\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=NotebookAuthor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCellCreateRequest = void 0;\n/**\n * The description of a notebook cell create request.\n */\nclass NotebookCellCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCellCreateRequest.attributeTypeMap;\n    }\n}\nexports.NotebookCellCreateRequest = NotebookCellCreateRequest;\n/**\n * @ignore\n */\nNotebookCellCreateRequest.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookCellCreateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookCellResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCellCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCellResponse = void 0;\n/**\n * The description of a notebook cell response.\n */\nclass NotebookCellResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCellResponse.attributeTypeMap;\n    }\n}\nexports.NotebookCellResponse = NotebookCellResponse;\n/**\n * @ignore\n */\nNotebookCellResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookCellResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookCellResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCellResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCellUpdateRequest = void 0;\n/**\n * The description of a notebook cell update request.\n */\nclass NotebookCellUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCellUpdateRequest.attributeTypeMap;\n    }\n}\nexports.NotebookCellUpdateRequest = NotebookCellUpdateRequest;\n/**\n * @ignore\n */\nNotebookCellUpdateRequest.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookCellUpdateRequestAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookCellResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCellUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCreateData = void 0;\n/**\n * The data for a notebook create request.\n */\nclass NotebookCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCreateData.attributeTypeMap;\n    }\n}\nexports.NotebookCreateData = NotebookCreateData;\n/**\n * @ignore\n */\nNotebookCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookCreateDataAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCreateDataAttributes = void 0;\n/**\n * The data attributes of a notebook.\n */\nclass NotebookCreateDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCreateDataAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookCreateDataAttributes = NotebookCreateDataAttributes;\n/**\n * @ignore\n */\nNotebookCreateDataAttributes.attributeTypeMap = {\n    cells: {\n        baseName: \"cells\",\n        type: \"Array\",\n        required: true,\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"NotebookMetadata\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"NotebookStatus\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookGlobalTime\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCreateDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookCreateRequest = void 0;\n/**\n * The description of a notebook create request.\n */\nclass NotebookCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookCreateRequest.attributeTypeMap;\n    }\n}\nexports.NotebookCreateRequest = NotebookCreateRequest;\n/**\n * @ignore\n */\nNotebookCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"NotebookCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookDistributionCellAttributes = void 0;\n/**\n * The attributes of a notebook `distribution` cell.\n */\nclass NotebookDistributionCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookDistributionCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookDistributionCellAttributes = NotebookDistributionCellAttributes;\n/**\n * @ignore\n */\nNotebookDistributionCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"DistributionWidgetDefinition\",\n        required: true,\n    },\n    graphSize: {\n        baseName: \"graph_size\",\n        type: \"NotebookGraphSize\",\n    },\n    splitBy: {\n        baseName: \"split_by\",\n        type: \"NotebookSplitBy\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookCellTime\",\n    },\n};\n//# sourceMappingURL=NotebookDistributionCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookHeatMapCellAttributes = void 0;\n/**\n * The attributes of a notebook `heatmap` cell.\n */\nclass NotebookHeatMapCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookHeatMapCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookHeatMapCellAttributes = NotebookHeatMapCellAttributes;\n/**\n * @ignore\n */\nNotebookHeatMapCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"HeatMapWidgetDefinition\",\n        required: true,\n    },\n    graphSize: {\n        baseName: \"graph_size\",\n        type: \"NotebookGraphSize\",\n    },\n    splitBy: {\n        baseName: \"split_by\",\n        type: \"NotebookSplitBy\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookCellTime\",\n    },\n};\n//# sourceMappingURL=NotebookHeatMapCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookLogStreamCellAttributes = void 0;\n/**\n * The attributes of a notebook `log_stream` cell.\n */\nclass NotebookLogStreamCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookLogStreamCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookLogStreamCellAttributes = NotebookLogStreamCellAttributes;\n/**\n * @ignore\n */\nNotebookLogStreamCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"LogStreamWidgetDefinition\",\n        required: true,\n    },\n    graphSize: {\n        baseName: \"graph_size\",\n        type: \"NotebookGraphSize\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookCellTime\",\n    },\n};\n//# sourceMappingURL=NotebookLogStreamCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookMarkdownCellAttributes = void 0;\n/**\n * The attributes of a notebook `markdown` cell.\n */\nclass NotebookMarkdownCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookMarkdownCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookMarkdownCellAttributes = NotebookMarkdownCellAttributes;\n/**\n * @ignore\n */\nNotebookMarkdownCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"NotebookMarkdownCellDefinition\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookMarkdownCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookMarkdownCellDefinition = void 0;\n/**\n * Text in a notebook is formatted with [Markdown](https://daringfireball.net/projects/markdown/), which enables the use of headings, subheadings, links, images, lists, and code blocks.\n */\nclass NotebookMarkdownCellDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookMarkdownCellDefinition.attributeTypeMap;\n    }\n}\nexports.NotebookMarkdownCellDefinition = NotebookMarkdownCellDefinition;\n/**\n * @ignore\n */\nNotebookMarkdownCellDefinition.attributeTypeMap = {\n    text: {\n        baseName: \"text\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookMarkdownCellDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookMarkdownCellDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookMetadata = void 0;\n/**\n * Metadata associated with the notebook.\n */\nclass NotebookMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookMetadata.attributeTypeMap;\n    }\n}\nexports.NotebookMetadata = NotebookMetadata;\n/**\n * @ignore\n */\nNotebookMetadata.attributeTypeMap = {\n    isTemplate: {\n        baseName: \"is_template\",\n        type: \"boolean\",\n    },\n    takeSnapshots: {\n        baseName: \"take_snapshots\",\n        type: \"boolean\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookMetadataType\",\n    },\n};\n//# sourceMappingURL=NotebookMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookRelativeTime = void 0;\n/**\n * Relative timeframe.\n */\nclass NotebookRelativeTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookRelativeTime.attributeTypeMap;\n    }\n}\nexports.NotebookRelativeTime = NotebookRelativeTime;\n/**\n * @ignore\n */\nNotebookRelativeTime.attributeTypeMap = {\n    liveSpan: {\n        baseName: \"live_span\",\n        type: \"WidgetLiveSpan\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookRelativeTime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookResponse = void 0;\n/**\n * The description of a notebook response.\n */\nclass NotebookResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookResponse.attributeTypeMap;\n    }\n}\nexports.NotebookResponse = NotebookResponse;\n/**\n * @ignore\n */\nNotebookResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"NotebookResponseData\",\n    },\n};\n//# sourceMappingURL=NotebookResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookResponseData = void 0;\n/**\n * The data for a notebook.\n */\nclass NotebookResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookResponseData.attributeTypeMap;\n    }\n}\nexports.NotebookResponseData = NotebookResponseData;\n/**\n * @ignore\n */\nNotebookResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookResponseDataAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookResponseDataAttributes = void 0;\n/**\n * The attributes of a notebook.\n */\nclass NotebookResponseDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookResponseDataAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookResponseDataAttributes = NotebookResponseDataAttributes;\n/**\n * @ignore\n */\nNotebookResponseDataAttributes.attributeTypeMap = {\n    author: {\n        baseName: \"author\",\n        type: \"NotebookAuthor\",\n    },\n    cells: {\n        baseName: \"cells\",\n        type: \"Array\",\n        required: true,\n    },\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"NotebookMetadata\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"NotebookStatus\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookGlobalTime\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookResponseDataAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookSplitBy = void 0;\n/**\n * Object describing how to split the graph to display multiple visualizations per request.\n */\nclass NotebookSplitBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookSplitBy.attributeTypeMap;\n    }\n}\nexports.NotebookSplitBy = NotebookSplitBy;\n/**\n * @ignore\n */\nNotebookSplitBy.attributeTypeMap = {\n    keys: {\n        baseName: \"keys\",\n        type: \"Array\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookSplitBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookTimeseriesCellAttributes = void 0;\n/**\n * The attributes of a notebook `timeseries` cell.\n */\nclass NotebookTimeseriesCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookTimeseriesCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookTimeseriesCellAttributes = NotebookTimeseriesCellAttributes;\n/**\n * @ignore\n */\nNotebookTimeseriesCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"TimeseriesWidgetDefinition\",\n        required: true,\n    },\n    graphSize: {\n        baseName: \"graph_size\",\n        type: \"NotebookGraphSize\",\n    },\n    splitBy: {\n        baseName: \"split_by\",\n        type: \"NotebookSplitBy\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookCellTime\",\n    },\n};\n//# sourceMappingURL=NotebookTimeseriesCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookToplistCellAttributes = void 0;\n/**\n * The attributes of a notebook `toplist` cell.\n */\nclass NotebookToplistCellAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookToplistCellAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookToplistCellAttributes = NotebookToplistCellAttributes;\n/**\n * @ignore\n */\nNotebookToplistCellAttributes.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"ToplistWidgetDefinition\",\n        required: true,\n    },\n    graphSize: {\n        baseName: \"graph_size\",\n        type: \"NotebookGraphSize\",\n    },\n    splitBy: {\n        baseName: \"split_by\",\n        type: \"NotebookSplitBy\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookCellTime\",\n    },\n};\n//# sourceMappingURL=NotebookToplistCellAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookUpdateData = void 0;\n/**\n * The data for a notebook update request.\n */\nclass NotebookUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookUpdateData.attributeTypeMap;\n    }\n}\nexports.NotebookUpdateData = NotebookUpdateData;\n/**\n * @ignore\n */\nNotebookUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebookUpdateDataAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookUpdateDataAttributes = void 0;\n/**\n * The data attributes of a notebook.\n */\nclass NotebookUpdateDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookUpdateDataAttributes.attributeTypeMap;\n    }\n}\nexports.NotebookUpdateDataAttributes = NotebookUpdateDataAttributes;\n/**\n * @ignore\n */\nNotebookUpdateDataAttributes.attributeTypeMap = {\n    cells: {\n        baseName: \"cells\",\n        type: \"Array\",\n        required: true,\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"NotebookMetadata\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"NotebookStatus\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookGlobalTime\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookUpdateDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebookUpdateRequest = void 0;\n/**\n * The description of a notebook update request.\n */\nclass NotebookUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebookUpdateRequest.attributeTypeMap;\n    }\n}\nexports.NotebookUpdateRequest = NotebookUpdateRequest;\n/**\n * @ignore\n */\nNotebookUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"NotebookUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebookUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksResponse = void 0;\n/**\n * Notebooks get all response.\n */\nclass NotebooksResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebooksResponse.attributeTypeMap;\n    }\n}\nexports.NotebooksResponse = NotebooksResponse;\n/**\n * @ignore\n */\nNotebooksResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"NotebooksResponseMeta\",\n    },\n};\n//# sourceMappingURL=NotebooksResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksResponseData = void 0;\n/**\n * The data for a notebook in get all response.\n */\nclass NotebooksResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebooksResponseData.attributeTypeMap;\n    }\n}\nexports.NotebooksResponseData = NotebooksResponseData;\n/**\n * @ignore\n */\nNotebooksResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"NotebooksResponseDataAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"NotebookResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NotebooksResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksResponseDataAttributes = void 0;\n/**\n * The attributes of a notebook in get all response.\n */\nclass NotebooksResponseDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebooksResponseDataAttributes.attributeTypeMap;\n    }\n}\nexports.NotebooksResponseDataAttributes = NotebooksResponseDataAttributes;\n/**\n * @ignore\n */\nNotebooksResponseDataAttributes.attributeTypeMap = {\n    author: {\n        baseName: \"author\",\n        type: \"NotebookAuthor\",\n    },\n    cells: {\n        baseName: \"cells\",\n        type: \"Array\",\n    },\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"NotebookMetadata\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"NotebookStatus\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"NotebookGlobalTime\",\n    },\n};\n//# sourceMappingURL=NotebooksResponseDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksResponseMeta = void 0;\n/**\n * Searches metadata returned by the API.\n */\nclass NotebooksResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebooksResponseMeta.attributeTypeMap;\n    }\n}\nexports.NotebooksResponseMeta = NotebooksResponseMeta;\n/**\n * @ignore\n */\nNotebooksResponseMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"NotebooksResponsePage\",\n    },\n};\n//# sourceMappingURL=NotebooksResponseMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NotebooksResponsePage = void 0;\n/**\n * Pagination metadata returned by the API.\n */\nclass NotebooksResponsePage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NotebooksResponsePage.attributeTypeMap;\n    }\n}\nexports.NotebooksResponsePage = NotebooksResponsePage;\n/**\n * @ignore\n */\nNotebooksResponsePage.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=NotebooksResponsePage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectSerializer = void 0;\nconst APIErrorResponse_1 = require(\"./APIErrorResponse\");\nconst AWSAccount_1 = require(\"./AWSAccount\");\nconst AWSAccountAndLambdaRequest_1 = require(\"./AWSAccountAndLambdaRequest\");\nconst AWSAccountCreateResponse_1 = require(\"./AWSAccountCreateResponse\");\nconst AWSAccountDeleteRequest_1 = require(\"./AWSAccountDeleteRequest\");\nconst AWSAccountListResponse_1 = require(\"./AWSAccountListResponse\");\nconst AWSLogsAsyncError_1 = require(\"./AWSLogsAsyncError\");\nconst AWSLogsAsyncResponse_1 = require(\"./AWSLogsAsyncResponse\");\nconst AWSLogsLambda_1 = require(\"./AWSLogsLambda\");\nconst AWSLogsListResponse_1 = require(\"./AWSLogsListResponse\");\nconst AWSLogsListServicesResponse_1 = require(\"./AWSLogsListServicesResponse\");\nconst AWSLogsServicesRequest_1 = require(\"./AWSLogsServicesRequest\");\nconst AWSTagFilter_1 = require(\"./AWSTagFilter\");\nconst AWSTagFilterCreateRequest_1 = require(\"./AWSTagFilterCreateRequest\");\nconst AWSTagFilterDeleteRequest_1 = require(\"./AWSTagFilterDeleteRequest\");\nconst AWSTagFilterListResponse_1 = require(\"./AWSTagFilterListResponse\");\nconst AddSignalToIncidentRequest_1 = require(\"./AddSignalToIncidentRequest\");\nconst AlertGraphWidgetDefinition_1 = require(\"./AlertGraphWidgetDefinition\");\nconst AlertValueWidgetDefinition_1 = require(\"./AlertValueWidgetDefinition\");\nconst ApiKey_1 = require(\"./ApiKey\");\nconst ApiKeyListResponse_1 = require(\"./ApiKeyListResponse\");\nconst ApiKeyResponse_1 = require(\"./ApiKeyResponse\");\nconst ApmStatsQueryColumnType_1 = require(\"./ApmStatsQueryColumnType\");\nconst ApmStatsQueryDefinition_1 = require(\"./ApmStatsQueryDefinition\");\nconst ApplicationKey_1 = require(\"./ApplicationKey\");\nconst ApplicationKeyListResponse_1 = require(\"./ApplicationKeyListResponse\");\nconst ApplicationKeyResponse_1 = require(\"./ApplicationKeyResponse\");\nconst AuthenticationValidationResponse_1 = require(\"./AuthenticationValidationResponse\");\nconst AzureAccount_1 = require(\"./AzureAccount\");\nconst CancelDowntimesByScopeRequest_1 = require(\"./CancelDowntimesByScopeRequest\");\nconst CanceledDowntimesIds_1 = require(\"./CanceledDowntimesIds\");\nconst ChangeWidgetDefinition_1 = require(\"./ChangeWidgetDefinition\");\nconst ChangeWidgetRequest_1 = require(\"./ChangeWidgetRequest\");\nconst CheckCanDeleteMonitorResponse_1 = require(\"./CheckCanDeleteMonitorResponse\");\nconst CheckCanDeleteMonitorResponseData_1 = require(\"./CheckCanDeleteMonitorResponseData\");\nconst CheckCanDeleteSLOResponse_1 = require(\"./CheckCanDeleteSLOResponse\");\nconst CheckCanDeleteSLOResponseData_1 = require(\"./CheckCanDeleteSLOResponseData\");\nconst CheckStatusWidgetDefinition_1 = require(\"./CheckStatusWidgetDefinition\");\nconst Creator_1 = require(\"./Creator\");\nconst Dashboard_1 = require(\"./Dashboard\");\nconst DashboardBulkActionData_1 = require(\"./DashboardBulkActionData\");\nconst DashboardBulkDeleteRequest_1 = require(\"./DashboardBulkDeleteRequest\");\nconst DashboardDeleteResponse_1 = require(\"./DashboardDeleteResponse\");\nconst DashboardGlobalTime_1 = require(\"./DashboardGlobalTime\");\nconst DashboardList_1 = require(\"./DashboardList\");\nconst DashboardListDeleteResponse_1 = require(\"./DashboardListDeleteResponse\");\nconst DashboardListListResponse_1 = require(\"./DashboardListListResponse\");\nconst DashboardRestoreRequest_1 = require(\"./DashboardRestoreRequest\");\nconst DashboardSummary_1 = require(\"./DashboardSummary\");\nconst DashboardSummaryDefinition_1 = require(\"./DashboardSummaryDefinition\");\nconst DashboardTemplateVariable_1 = require(\"./DashboardTemplateVariable\");\nconst DashboardTemplateVariablePreset_1 = require(\"./DashboardTemplateVariablePreset\");\nconst DashboardTemplateVariablePresetValue_1 = require(\"./DashboardTemplateVariablePresetValue\");\nconst DeleteSharedDashboardResponse_1 = require(\"./DeleteSharedDashboardResponse\");\nconst DeletedMonitor_1 = require(\"./DeletedMonitor\");\nconst DistributionPointsPayload_1 = require(\"./DistributionPointsPayload\");\nconst DistributionPointsSeries_1 = require(\"./DistributionPointsSeries\");\nconst DistributionWidgetDefinition_1 = require(\"./DistributionWidgetDefinition\");\nconst DistributionWidgetRequest_1 = require(\"./DistributionWidgetRequest\");\nconst DistributionWidgetXAxis_1 = require(\"./DistributionWidgetXAxis\");\nconst DistributionWidgetYAxis_1 = require(\"./DistributionWidgetYAxis\");\nconst Downtime_1 = require(\"./Downtime\");\nconst DowntimeChild_1 = require(\"./DowntimeChild\");\nconst DowntimeRecurrence_1 = require(\"./DowntimeRecurrence\");\nconst Event_1 = require(\"./Event\");\nconst EventCreateRequest_1 = require(\"./EventCreateRequest\");\nconst EventCreateResponse_1 = require(\"./EventCreateResponse\");\nconst EventListResponse_1 = require(\"./EventListResponse\");\nconst EventQueryDefinition_1 = require(\"./EventQueryDefinition\");\nconst EventResponse_1 = require(\"./EventResponse\");\nconst EventStreamWidgetDefinition_1 = require(\"./EventStreamWidgetDefinition\");\nconst EventTimelineWidgetDefinition_1 = require(\"./EventTimelineWidgetDefinition\");\nconst FormulaAndFunctionApmDependencyStatsQueryDefinition_1 = require(\"./FormulaAndFunctionApmDependencyStatsQueryDefinition\");\nconst FormulaAndFunctionApmResourceStatsQueryDefinition_1 = require(\"./FormulaAndFunctionApmResourceStatsQueryDefinition\");\nconst FormulaAndFunctionCloudCostQueryDefinition_1 = require(\"./FormulaAndFunctionCloudCostQueryDefinition\");\nconst FormulaAndFunctionEventQueryDefinition_1 = require(\"./FormulaAndFunctionEventQueryDefinition\");\nconst FormulaAndFunctionEventQueryDefinitionCompute_1 = require(\"./FormulaAndFunctionEventQueryDefinitionCompute\");\nconst FormulaAndFunctionEventQueryDefinitionSearch_1 = require(\"./FormulaAndFunctionEventQueryDefinitionSearch\");\nconst FormulaAndFunctionEventQueryGroupBy_1 = require(\"./FormulaAndFunctionEventQueryGroupBy\");\nconst FormulaAndFunctionEventQueryGroupBySort_1 = require(\"./FormulaAndFunctionEventQueryGroupBySort\");\nconst FormulaAndFunctionMetricQueryDefinition_1 = require(\"./FormulaAndFunctionMetricQueryDefinition\");\nconst FormulaAndFunctionProcessQueryDefinition_1 = require(\"./FormulaAndFunctionProcessQueryDefinition\");\nconst FormulaAndFunctionSLOQueryDefinition_1 = require(\"./FormulaAndFunctionSLOQueryDefinition\");\nconst FreeTextWidgetDefinition_1 = require(\"./FreeTextWidgetDefinition\");\nconst FunnelQuery_1 = require(\"./FunnelQuery\");\nconst FunnelStep_1 = require(\"./FunnelStep\");\nconst FunnelWidgetDefinition_1 = require(\"./FunnelWidgetDefinition\");\nconst FunnelWidgetRequest_1 = require(\"./FunnelWidgetRequest\");\nconst GCPAccount_1 = require(\"./GCPAccount\");\nconst GeomapWidgetDefinition_1 = require(\"./GeomapWidgetDefinition\");\nconst GeomapWidgetDefinitionStyle_1 = require(\"./GeomapWidgetDefinitionStyle\");\nconst GeomapWidgetDefinitionView_1 = require(\"./GeomapWidgetDefinitionView\");\nconst GeomapWidgetRequest_1 = require(\"./GeomapWidgetRequest\");\nconst GraphSnapshot_1 = require(\"./GraphSnapshot\");\nconst GroupWidgetDefinition_1 = require(\"./GroupWidgetDefinition\");\nconst HTTPLogError_1 = require(\"./HTTPLogError\");\nconst HTTPLogItem_1 = require(\"./HTTPLogItem\");\nconst HeatMapWidgetDefinition_1 = require(\"./HeatMapWidgetDefinition\");\nconst HeatMapWidgetRequest_1 = require(\"./HeatMapWidgetRequest\");\nconst Host_1 = require(\"./Host\");\nconst HostListResponse_1 = require(\"./HostListResponse\");\nconst HostMapRequest_1 = require(\"./HostMapRequest\");\nconst HostMapWidgetDefinition_1 = require(\"./HostMapWidgetDefinition\");\nconst HostMapWidgetDefinitionRequests_1 = require(\"./HostMapWidgetDefinitionRequests\");\nconst HostMapWidgetDefinitionStyle_1 = require(\"./HostMapWidgetDefinitionStyle\");\nconst HostMeta_1 = require(\"./HostMeta\");\nconst HostMetaInstallMethod_1 = require(\"./HostMetaInstallMethod\");\nconst HostMetrics_1 = require(\"./HostMetrics\");\nconst HostMuteResponse_1 = require(\"./HostMuteResponse\");\nconst HostMuteSettings_1 = require(\"./HostMuteSettings\");\nconst HostTags_1 = require(\"./HostTags\");\nconst HostTotals_1 = require(\"./HostTotals\");\nconst HourlyUsageAttributionBody_1 = require(\"./HourlyUsageAttributionBody\");\nconst HourlyUsageAttributionMetadata_1 = require(\"./HourlyUsageAttributionMetadata\");\nconst HourlyUsageAttributionPagination_1 = require(\"./HourlyUsageAttributionPagination\");\nconst HourlyUsageAttributionResponse_1 = require(\"./HourlyUsageAttributionResponse\");\nconst IFrameWidgetDefinition_1 = require(\"./IFrameWidgetDefinition\");\nconst IPPrefixesAPI_1 = require(\"./IPPrefixesAPI\");\nconst IPPrefixesAPM_1 = require(\"./IPPrefixesAPM\");\nconst IPPrefixesAgents_1 = require(\"./IPPrefixesAgents\");\nconst IPPrefixesLogs_1 = require(\"./IPPrefixesLogs\");\nconst IPPrefixesOrchestrator_1 = require(\"./IPPrefixesOrchestrator\");\nconst IPPrefixesProcess_1 = require(\"./IPPrefixesProcess\");\nconst IPPrefixesRemoteConfiguration_1 = require(\"./IPPrefixesRemoteConfiguration\");\nconst IPPrefixesSynthetics_1 = require(\"./IPPrefixesSynthetics\");\nconst IPPrefixesSyntheticsPrivateLocations_1 = require(\"./IPPrefixesSyntheticsPrivateLocations\");\nconst IPPrefixesWebhooks_1 = require(\"./IPPrefixesWebhooks\");\nconst IPRanges_1 = require(\"./IPRanges\");\nconst IdpFormData_1 = require(\"./IdpFormData\");\nconst IdpResponse_1 = require(\"./IdpResponse\");\nconst ImageWidgetDefinition_1 = require(\"./ImageWidgetDefinition\");\nconst IntakePayloadAccepted_1 = require(\"./IntakePayloadAccepted\");\nconst ListStreamColumn_1 = require(\"./ListStreamColumn\");\nconst ListStreamComputeItems_1 = require(\"./ListStreamComputeItems\");\nconst ListStreamGroupByItems_1 = require(\"./ListStreamGroupByItems\");\nconst ListStreamQuery_1 = require(\"./ListStreamQuery\");\nconst ListStreamWidgetDefinition_1 = require(\"./ListStreamWidgetDefinition\");\nconst ListStreamWidgetRequest_1 = require(\"./ListStreamWidgetRequest\");\nconst Log_1 = require(\"./Log\");\nconst LogContent_1 = require(\"./LogContent\");\nconst LogQueryDefinition_1 = require(\"./LogQueryDefinition\");\nconst LogQueryDefinitionGroupBy_1 = require(\"./LogQueryDefinitionGroupBy\");\nconst LogQueryDefinitionGroupBySort_1 = require(\"./LogQueryDefinitionGroupBySort\");\nconst LogQueryDefinitionSearch_1 = require(\"./LogQueryDefinitionSearch\");\nconst LogStreamWidgetDefinition_1 = require(\"./LogStreamWidgetDefinition\");\nconst LogsAPIError_1 = require(\"./LogsAPIError\");\nconst LogsAPIErrorResponse_1 = require(\"./LogsAPIErrorResponse\");\nconst LogsArithmeticProcessor_1 = require(\"./LogsArithmeticProcessor\");\nconst LogsAttributeRemapper_1 = require(\"./LogsAttributeRemapper\");\nconst LogsByRetention_1 = require(\"./LogsByRetention\");\nconst LogsByRetentionMonthlyUsage_1 = require(\"./LogsByRetentionMonthlyUsage\");\nconst LogsByRetentionOrgUsage_1 = require(\"./LogsByRetentionOrgUsage\");\nconst LogsByRetentionOrgs_1 = require(\"./LogsByRetentionOrgs\");\nconst LogsCategoryProcessor_1 = require(\"./LogsCategoryProcessor\");\nconst LogsCategoryProcessorCategory_1 = require(\"./LogsCategoryProcessorCategory\");\nconst LogsDateRemapper_1 = require(\"./LogsDateRemapper\");\nconst LogsExclusion_1 = require(\"./LogsExclusion\");\nconst LogsExclusionFilter_1 = require(\"./LogsExclusionFilter\");\nconst LogsFilter_1 = require(\"./LogsFilter\");\nconst LogsGeoIPParser_1 = require(\"./LogsGeoIPParser\");\nconst LogsGrokParser_1 = require(\"./LogsGrokParser\");\nconst LogsGrokParserRules_1 = require(\"./LogsGrokParserRules\");\nconst LogsIndex_1 = require(\"./LogsIndex\");\nconst LogsIndexListResponse_1 = require(\"./LogsIndexListResponse\");\nconst LogsIndexUpdateRequest_1 = require(\"./LogsIndexUpdateRequest\");\nconst LogsIndexesOrder_1 = require(\"./LogsIndexesOrder\");\nconst LogsListRequest_1 = require(\"./LogsListRequest\");\nconst LogsListRequestTime_1 = require(\"./LogsListRequestTime\");\nconst LogsListResponse_1 = require(\"./LogsListResponse\");\nconst LogsLookupProcessor_1 = require(\"./LogsLookupProcessor\");\nconst LogsMessageRemapper_1 = require(\"./LogsMessageRemapper\");\nconst LogsPipeline_1 = require(\"./LogsPipeline\");\nconst LogsPipelineProcessor_1 = require(\"./LogsPipelineProcessor\");\nconst LogsPipelinesOrder_1 = require(\"./LogsPipelinesOrder\");\nconst LogsQueryCompute_1 = require(\"./LogsQueryCompute\");\nconst LogsRetentionAggSumUsage_1 = require(\"./LogsRetentionAggSumUsage\");\nconst LogsRetentionSumUsage_1 = require(\"./LogsRetentionSumUsage\");\nconst LogsServiceRemapper_1 = require(\"./LogsServiceRemapper\");\nconst LogsStatusRemapper_1 = require(\"./LogsStatusRemapper\");\nconst LogsStringBuilderProcessor_1 = require(\"./LogsStringBuilderProcessor\");\nconst LogsTraceRemapper_1 = require(\"./LogsTraceRemapper\");\nconst LogsURLParser_1 = require(\"./LogsURLParser\");\nconst LogsUserAgentParser_1 = require(\"./LogsUserAgentParser\");\nconst MatchingDowntime_1 = require(\"./MatchingDowntime\");\nconst MetricMetadata_1 = require(\"./MetricMetadata\");\nconst MetricSearchResponse_1 = require(\"./MetricSearchResponse\");\nconst MetricSearchResponseResults_1 = require(\"./MetricSearchResponseResults\");\nconst MetricsListResponse_1 = require(\"./MetricsListResponse\");\nconst MetricsPayload_1 = require(\"./MetricsPayload\");\nconst MetricsQueryMetadata_1 = require(\"./MetricsQueryMetadata\");\nconst MetricsQueryResponse_1 = require(\"./MetricsQueryResponse\");\nconst MetricsQueryUnit_1 = require(\"./MetricsQueryUnit\");\nconst Monitor_1 = require(\"./Monitor\");\nconst MonitorFormulaAndFunctionEventQueryDefinition_1 = require(\"./MonitorFormulaAndFunctionEventQueryDefinition\");\nconst MonitorFormulaAndFunctionEventQueryDefinitionCompute_1 = require(\"./MonitorFormulaAndFunctionEventQueryDefinitionCompute\");\nconst MonitorFormulaAndFunctionEventQueryDefinitionSearch_1 = require(\"./MonitorFormulaAndFunctionEventQueryDefinitionSearch\");\nconst MonitorFormulaAndFunctionEventQueryGroupBy_1 = require(\"./MonitorFormulaAndFunctionEventQueryGroupBy\");\nconst MonitorFormulaAndFunctionEventQueryGroupBySort_1 = require(\"./MonitorFormulaAndFunctionEventQueryGroupBySort\");\nconst MonitorGroupSearchResponse_1 = require(\"./MonitorGroupSearchResponse\");\nconst MonitorGroupSearchResponseCounts_1 = require(\"./MonitorGroupSearchResponseCounts\");\nconst MonitorGroupSearchResult_1 = require(\"./MonitorGroupSearchResult\");\nconst MonitorOptions_1 = require(\"./MonitorOptions\");\nconst MonitorOptionsAggregation_1 = require(\"./MonitorOptionsAggregation\");\nconst MonitorOptionsSchedulingOptions_1 = require(\"./MonitorOptionsSchedulingOptions\");\nconst MonitorOptionsSchedulingOptionsEvaluationWindow_1 = require(\"./MonitorOptionsSchedulingOptionsEvaluationWindow\");\nconst MonitorSearchCountItem_1 = require(\"./MonitorSearchCountItem\");\nconst MonitorSearchResponse_1 = require(\"./MonitorSearchResponse\");\nconst MonitorSearchResponseCounts_1 = require(\"./MonitorSearchResponseCounts\");\nconst MonitorSearchResponseMetadata_1 = require(\"./MonitorSearchResponseMetadata\");\nconst MonitorSearchResult_1 = require(\"./MonitorSearchResult\");\nconst MonitorSearchResultNotification_1 = require(\"./MonitorSearchResultNotification\");\nconst MonitorState_1 = require(\"./MonitorState\");\nconst MonitorStateGroup_1 = require(\"./MonitorStateGroup\");\nconst MonitorSummaryWidgetDefinition_1 = require(\"./MonitorSummaryWidgetDefinition\");\nconst MonitorThresholdWindowOptions_1 = require(\"./MonitorThresholdWindowOptions\");\nconst MonitorThresholds_1 = require(\"./MonitorThresholds\");\nconst MonitorUpdateRequest_1 = require(\"./MonitorUpdateRequest\");\nconst MonthlyUsageAttributionBody_1 = require(\"./MonthlyUsageAttributionBody\");\nconst MonthlyUsageAttributionMetadata_1 = require(\"./MonthlyUsageAttributionMetadata\");\nconst MonthlyUsageAttributionPagination_1 = require(\"./MonthlyUsageAttributionPagination\");\nconst MonthlyUsageAttributionResponse_1 = require(\"./MonthlyUsageAttributionResponse\");\nconst MonthlyUsageAttributionValues_1 = require(\"./MonthlyUsageAttributionValues\");\nconst NoteWidgetDefinition_1 = require(\"./NoteWidgetDefinition\");\nconst NotebookAbsoluteTime_1 = require(\"./NotebookAbsoluteTime\");\nconst NotebookAuthor_1 = require(\"./NotebookAuthor\");\nconst NotebookCellCreateRequest_1 = require(\"./NotebookCellCreateRequest\");\nconst NotebookCellResponse_1 = require(\"./NotebookCellResponse\");\nconst NotebookCellUpdateRequest_1 = require(\"./NotebookCellUpdateRequest\");\nconst NotebookCreateData_1 = require(\"./NotebookCreateData\");\nconst NotebookCreateDataAttributes_1 = require(\"./NotebookCreateDataAttributes\");\nconst NotebookCreateRequest_1 = require(\"./NotebookCreateRequest\");\nconst NotebookDistributionCellAttributes_1 = require(\"./NotebookDistributionCellAttributes\");\nconst NotebookHeatMapCellAttributes_1 = require(\"./NotebookHeatMapCellAttributes\");\nconst NotebookLogStreamCellAttributes_1 = require(\"./NotebookLogStreamCellAttributes\");\nconst NotebookMarkdownCellAttributes_1 = require(\"./NotebookMarkdownCellAttributes\");\nconst NotebookMarkdownCellDefinition_1 = require(\"./NotebookMarkdownCellDefinition\");\nconst NotebookMetadata_1 = require(\"./NotebookMetadata\");\nconst NotebookRelativeTime_1 = require(\"./NotebookRelativeTime\");\nconst NotebookResponse_1 = require(\"./NotebookResponse\");\nconst NotebookResponseData_1 = require(\"./NotebookResponseData\");\nconst NotebookResponseDataAttributes_1 = require(\"./NotebookResponseDataAttributes\");\nconst NotebookSplitBy_1 = require(\"./NotebookSplitBy\");\nconst NotebookTimeseriesCellAttributes_1 = require(\"./NotebookTimeseriesCellAttributes\");\nconst NotebookToplistCellAttributes_1 = require(\"./NotebookToplistCellAttributes\");\nconst NotebookUpdateData_1 = require(\"./NotebookUpdateData\");\nconst NotebookUpdateDataAttributes_1 = require(\"./NotebookUpdateDataAttributes\");\nconst NotebookUpdateRequest_1 = require(\"./NotebookUpdateRequest\");\nconst NotebooksResponse_1 = require(\"./NotebooksResponse\");\nconst NotebooksResponseData_1 = require(\"./NotebooksResponseData\");\nconst NotebooksResponseDataAttributes_1 = require(\"./NotebooksResponseDataAttributes\");\nconst NotebooksResponseMeta_1 = require(\"./NotebooksResponseMeta\");\nconst NotebooksResponsePage_1 = require(\"./NotebooksResponsePage\");\nconst OrgDowngradedResponse_1 = require(\"./OrgDowngradedResponse\");\nconst Organization_1 = require(\"./Organization\");\nconst OrganizationBilling_1 = require(\"./OrganizationBilling\");\nconst OrganizationCreateBody_1 = require(\"./OrganizationCreateBody\");\nconst OrganizationCreateResponse_1 = require(\"./OrganizationCreateResponse\");\nconst OrganizationListResponse_1 = require(\"./OrganizationListResponse\");\nconst OrganizationResponse_1 = require(\"./OrganizationResponse\");\nconst OrganizationSettings_1 = require(\"./OrganizationSettings\");\nconst OrganizationSettingsSaml_1 = require(\"./OrganizationSettingsSaml\");\nconst OrganizationSettingsSamlAutocreateUsersDomains_1 = require(\"./OrganizationSettingsSamlAutocreateUsersDomains\");\nconst OrganizationSettingsSamlIdpInitiatedLogin_1 = require(\"./OrganizationSettingsSamlIdpInitiatedLogin\");\nconst OrganizationSettingsSamlStrictMode_1 = require(\"./OrganizationSettingsSamlStrictMode\");\nconst OrganizationSubscription_1 = require(\"./OrganizationSubscription\");\nconst PagerDutyService_1 = require(\"./PagerDutyService\");\nconst PagerDutyServiceKey_1 = require(\"./PagerDutyServiceKey\");\nconst PagerDutyServiceName_1 = require(\"./PagerDutyServiceName\");\nconst Pagination_1 = require(\"./Pagination\");\nconst ProcessQueryDefinition_1 = require(\"./ProcessQueryDefinition\");\nconst QueryValueWidgetDefinition_1 = require(\"./QueryValueWidgetDefinition\");\nconst QueryValueWidgetRequest_1 = require(\"./QueryValueWidgetRequest\");\nconst ReferenceTableLogsLookupProcessor_1 = require(\"./ReferenceTableLogsLookupProcessor\");\nconst ResponseMetaAttributes_1 = require(\"./ResponseMetaAttributes\");\nconst RunWorkflowWidgetDefinition_1 = require(\"./RunWorkflowWidgetDefinition\");\nconst RunWorkflowWidgetInput_1 = require(\"./RunWorkflowWidgetInput\");\nconst SLOBulkDeleteError_1 = require(\"./SLOBulkDeleteError\");\nconst SLOBulkDeleteResponse_1 = require(\"./SLOBulkDeleteResponse\");\nconst SLOBulkDeleteResponseData_1 = require(\"./SLOBulkDeleteResponseData\");\nconst SLOCorrection_1 = require(\"./SLOCorrection\");\nconst SLOCorrectionCreateData_1 = require(\"./SLOCorrectionCreateData\");\nconst SLOCorrectionCreateRequest_1 = require(\"./SLOCorrectionCreateRequest\");\nconst SLOCorrectionCreateRequestAttributes_1 = require(\"./SLOCorrectionCreateRequestAttributes\");\nconst SLOCorrectionListResponse_1 = require(\"./SLOCorrectionListResponse\");\nconst SLOCorrectionResponse_1 = require(\"./SLOCorrectionResponse\");\nconst SLOCorrectionResponseAttributes_1 = require(\"./SLOCorrectionResponseAttributes\");\nconst SLOCorrectionResponseAttributesModifier_1 = require(\"./SLOCorrectionResponseAttributesModifier\");\nconst SLOCorrectionUpdateData_1 = require(\"./SLOCorrectionUpdateData\");\nconst SLOCorrectionUpdateRequest_1 = require(\"./SLOCorrectionUpdateRequest\");\nconst SLOCorrectionUpdateRequestAttributes_1 = require(\"./SLOCorrectionUpdateRequestAttributes\");\nconst SLOCreator_1 = require(\"./SLOCreator\");\nconst SLODeleteResponse_1 = require(\"./SLODeleteResponse\");\nconst SLOHistoryMetrics_1 = require(\"./SLOHistoryMetrics\");\nconst SLOHistoryMetricsSeries_1 = require(\"./SLOHistoryMetricsSeries\");\nconst SLOHistoryMetricsSeriesMetadata_1 = require(\"./SLOHistoryMetricsSeriesMetadata\");\nconst SLOHistoryMetricsSeriesMetadataUnit_1 = require(\"./SLOHistoryMetricsSeriesMetadataUnit\");\nconst SLOHistoryMonitor_1 = require(\"./SLOHistoryMonitor\");\nconst SLOHistoryResponse_1 = require(\"./SLOHistoryResponse\");\nconst SLOHistoryResponseData_1 = require(\"./SLOHistoryResponseData\");\nconst SLOHistoryResponseError_1 = require(\"./SLOHistoryResponseError\");\nconst SLOHistoryResponseErrorWithType_1 = require(\"./SLOHistoryResponseErrorWithType\");\nconst SLOHistorySLIData_1 = require(\"./SLOHistorySLIData\");\nconst SLOListResponse_1 = require(\"./SLOListResponse\");\nconst SLOListResponseMetadata_1 = require(\"./SLOListResponseMetadata\");\nconst SLOListResponseMetadataPage_1 = require(\"./SLOListResponseMetadataPage\");\nconst SLOListWidgetDefinition_1 = require(\"./SLOListWidgetDefinition\");\nconst SLOListWidgetQuery_1 = require(\"./SLOListWidgetQuery\");\nconst SLOListWidgetRequest_1 = require(\"./SLOListWidgetRequest\");\nconst SLOOverallStatuses_1 = require(\"./SLOOverallStatuses\");\nconst SLORawErrorBudgetRemaining_1 = require(\"./SLORawErrorBudgetRemaining\");\nconst SLOResponse_1 = require(\"./SLOResponse\");\nconst SLOResponseData_1 = require(\"./SLOResponseData\");\nconst SLOStatus_1 = require(\"./SLOStatus\");\nconst SLOThreshold_1 = require(\"./SLOThreshold\");\nconst SLOWidgetDefinition_1 = require(\"./SLOWidgetDefinition\");\nconst ScatterPlotRequest_1 = require(\"./ScatterPlotRequest\");\nconst ScatterPlotWidgetDefinition_1 = require(\"./ScatterPlotWidgetDefinition\");\nconst ScatterPlotWidgetDefinitionRequests_1 = require(\"./ScatterPlotWidgetDefinitionRequests\");\nconst ScatterplotTableRequest_1 = require(\"./ScatterplotTableRequest\");\nconst ScatterplotWidgetFormula_1 = require(\"./ScatterplotWidgetFormula\");\nconst SearchSLOQuery_1 = require(\"./SearchSLOQuery\");\nconst SearchSLOResponse_1 = require(\"./SearchSLOResponse\");\nconst SearchSLOResponseData_1 = require(\"./SearchSLOResponseData\");\nconst SearchSLOResponseDataAttributes_1 = require(\"./SearchSLOResponseDataAttributes\");\nconst SearchSLOResponseDataAttributesFacets_1 = require(\"./SearchSLOResponseDataAttributesFacets\");\nconst SearchSLOResponseDataAttributesFacetsObjectInt_1 = require(\"./SearchSLOResponseDataAttributesFacetsObjectInt\");\nconst SearchSLOResponseDataAttributesFacetsObjectString_1 = require(\"./SearchSLOResponseDataAttributesFacetsObjectString\");\nconst SearchSLOResponseLinks_1 = require(\"./SearchSLOResponseLinks\");\nconst SearchSLOResponseMeta_1 = require(\"./SearchSLOResponseMeta\");\nconst SearchSLOResponseMetaPage_1 = require(\"./SearchSLOResponseMetaPage\");\nconst SearchSLOThreshold_1 = require(\"./SearchSLOThreshold\");\nconst SearchServiceLevelObjective_1 = require(\"./SearchServiceLevelObjective\");\nconst SearchServiceLevelObjectiveAttributes_1 = require(\"./SearchServiceLevelObjectiveAttributes\");\nconst SearchServiceLevelObjectiveData_1 = require(\"./SearchServiceLevelObjectiveData\");\nconst SelectableTemplateVariableItems_1 = require(\"./SelectableTemplateVariableItems\");\nconst Series_1 = require(\"./Series\");\nconst ServiceCheck_1 = require(\"./ServiceCheck\");\nconst ServiceLevelObjective_1 = require(\"./ServiceLevelObjective\");\nconst ServiceLevelObjectiveQuery_1 = require(\"./ServiceLevelObjectiveQuery\");\nconst ServiceLevelObjectiveRequest_1 = require(\"./ServiceLevelObjectiveRequest\");\nconst ServiceMapWidgetDefinition_1 = require(\"./ServiceMapWidgetDefinition\");\nconst ServiceSummaryWidgetDefinition_1 = require(\"./ServiceSummaryWidgetDefinition\");\nconst SharedDashboard_1 = require(\"./SharedDashboard\");\nconst SharedDashboardAuthor_1 = require(\"./SharedDashboardAuthor\");\nconst SharedDashboardInvites_1 = require(\"./SharedDashboardInvites\");\nconst SharedDashboardInvitesDataObject_1 = require(\"./SharedDashboardInvitesDataObject\");\nconst SharedDashboardInvitesDataObjectAttributes_1 = require(\"./SharedDashboardInvitesDataObjectAttributes\");\nconst SharedDashboardInvitesMeta_1 = require(\"./SharedDashboardInvitesMeta\");\nconst SharedDashboardInvitesMetaPage_1 = require(\"./SharedDashboardInvitesMetaPage\");\nconst SharedDashboardUpdateRequest_1 = require(\"./SharedDashboardUpdateRequest\");\nconst SharedDashboardUpdateRequestGlobalTime_1 = require(\"./SharedDashboardUpdateRequestGlobalTime\");\nconst SignalAssigneeUpdateRequest_1 = require(\"./SignalAssigneeUpdateRequest\");\nconst SignalStateUpdateRequest_1 = require(\"./SignalStateUpdateRequest\");\nconst SlackIntegrationChannel_1 = require(\"./SlackIntegrationChannel\");\nconst SlackIntegrationChannelDisplay_1 = require(\"./SlackIntegrationChannelDisplay\");\nconst SuccessfulSignalUpdateResponse_1 = require(\"./SuccessfulSignalUpdateResponse\");\nconst SunburstWidgetDefinition_1 = require(\"./SunburstWidgetDefinition\");\nconst SunburstWidgetLegendInlineAutomatic_1 = require(\"./SunburstWidgetLegendInlineAutomatic\");\nconst SunburstWidgetLegendTable_1 = require(\"./SunburstWidgetLegendTable\");\nconst SunburstWidgetRequest_1 = require(\"./SunburstWidgetRequest\");\nconst SyntheticsAPIStep_1 = require(\"./SyntheticsAPIStep\");\nconst SyntheticsAPITest_1 = require(\"./SyntheticsAPITest\");\nconst SyntheticsAPITestConfig_1 = require(\"./SyntheticsAPITestConfig\");\nconst SyntheticsAPITestResultData_1 = require(\"./SyntheticsAPITestResultData\");\nconst SyntheticsAPITestResultFull_1 = require(\"./SyntheticsAPITestResultFull\");\nconst SyntheticsAPITestResultFullCheck_1 = require(\"./SyntheticsAPITestResultFullCheck\");\nconst SyntheticsAPITestResultShort_1 = require(\"./SyntheticsAPITestResultShort\");\nconst SyntheticsAPITestResultShortResult_1 = require(\"./SyntheticsAPITestResultShortResult\");\nconst SyntheticsApiTestResultFailure_1 = require(\"./SyntheticsApiTestResultFailure\");\nconst SyntheticsAssertionJSONPathTarget_1 = require(\"./SyntheticsAssertionJSONPathTarget\");\nconst SyntheticsAssertionJSONPathTargetTarget_1 = require(\"./SyntheticsAssertionJSONPathTargetTarget\");\nconst SyntheticsAssertionTarget_1 = require(\"./SyntheticsAssertionTarget\");\nconst SyntheticsAssertionXPathTarget_1 = require(\"./SyntheticsAssertionXPathTarget\");\nconst SyntheticsAssertionXPathTargetTarget_1 = require(\"./SyntheticsAssertionXPathTargetTarget\");\nconst SyntheticsBasicAuthDigest_1 = require(\"./SyntheticsBasicAuthDigest\");\nconst SyntheticsBasicAuthNTLM_1 = require(\"./SyntheticsBasicAuthNTLM\");\nconst SyntheticsBasicAuthOauthClient_1 = require(\"./SyntheticsBasicAuthOauthClient\");\nconst SyntheticsBasicAuthOauthROP_1 = require(\"./SyntheticsBasicAuthOauthROP\");\nconst SyntheticsBasicAuthSigv4_1 = require(\"./SyntheticsBasicAuthSigv4\");\nconst SyntheticsBasicAuthWeb_1 = require(\"./SyntheticsBasicAuthWeb\");\nconst SyntheticsBatchDetails_1 = require(\"./SyntheticsBatchDetails\");\nconst SyntheticsBatchDetailsData_1 = require(\"./SyntheticsBatchDetailsData\");\nconst SyntheticsBatchResult_1 = require(\"./SyntheticsBatchResult\");\nconst SyntheticsBrowserError_1 = require(\"./SyntheticsBrowserError\");\nconst SyntheticsBrowserTest_1 = require(\"./SyntheticsBrowserTest\");\nconst SyntheticsBrowserTestConfig_1 = require(\"./SyntheticsBrowserTestConfig\");\nconst SyntheticsBrowserTestResultData_1 = require(\"./SyntheticsBrowserTestResultData\");\nconst SyntheticsBrowserTestResultFailure_1 = require(\"./SyntheticsBrowserTestResultFailure\");\nconst SyntheticsBrowserTestResultFull_1 = require(\"./SyntheticsBrowserTestResultFull\");\nconst SyntheticsBrowserTestResultFullCheck_1 = require(\"./SyntheticsBrowserTestResultFullCheck\");\nconst SyntheticsBrowserTestResultShort_1 = require(\"./SyntheticsBrowserTestResultShort\");\nconst SyntheticsBrowserTestResultShortResult_1 = require(\"./SyntheticsBrowserTestResultShortResult\");\nconst SyntheticsBrowserTestRumSettings_1 = require(\"./SyntheticsBrowserTestRumSettings\");\nconst SyntheticsBrowserVariable_1 = require(\"./SyntheticsBrowserVariable\");\nconst SyntheticsCIBatchMetadata_1 = require(\"./SyntheticsCIBatchMetadata\");\nconst SyntheticsCIBatchMetadataCI_1 = require(\"./SyntheticsCIBatchMetadataCI\");\nconst SyntheticsCIBatchMetadataGit_1 = require(\"./SyntheticsCIBatchMetadataGit\");\nconst SyntheticsCIBatchMetadataPipeline_1 = require(\"./SyntheticsCIBatchMetadataPipeline\");\nconst SyntheticsCIBatchMetadataProvider_1 = require(\"./SyntheticsCIBatchMetadataProvider\");\nconst SyntheticsCITest_1 = require(\"./SyntheticsCITest\");\nconst SyntheticsCITestBody_1 = require(\"./SyntheticsCITestBody\");\nconst SyntheticsConfigVariable_1 = require(\"./SyntheticsConfigVariable\");\nconst SyntheticsCoreWebVitals_1 = require(\"./SyntheticsCoreWebVitals\");\nconst SyntheticsDeleteTestsPayload_1 = require(\"./SyntheticsDeleteTestsPayload\");\nconst SyntheticsDeleteTestsResponse_1 = require(\"./SyntheticsDeleteTestsResponse\");\nconst SyntheticsDeletedTest_1 = require(\"./SyntheticsDeletedTest\");\nconst SyntheticsDevice_1 = require(\"./SyntheticsDevice\");\nconst SyntheticsGetAPITestLatestResultsResponse_1 = require(\"./SyntheticsGetAPITestLatestResultsResponse\");\nconst SyntheticsGetBrowserTestLatestResultsResponse_1 = require(\"./SyntheticsGetBrowserTestLatestResultsResponse\");\nconst SyntheticsGlobalVariable_1 = require(\"./SyntheticsGlobalVariable\");\nconst SyntheticsGlobalVariableAttributes_1 = require(\"./SyntheticsGlobalVariableAttributes\");\nconst SyntheticsGlobalVariableOptions_1 = require(\"./SyntheticsGlobalVariableOptions\");\nconst SyntheticsGlobalVariableParseTestOptions_1 = require(\"./SyntheticsGlobalVariableParseTestOptions\");\nconst SyntheticsGlobalVariableTOTPParameters_1 = require(\"./SyntheticsGlobalVariableTOTPParameters\");\nconst SyntheticsGlobalVariableValue_1 = require(\"./SyntheticsGlobalVariableValue\");\nconst SyntheticsListGlobalVariablesResponse_1 = require(\"./SyntheticsListGlobalVariablesResponse\");\nconst SyntheticsListTestsResponse_1 = require(\"./SyntheticsListTestsResponse\");\nconst SyntheticsLocation_1 = require(\"./SyntheticsLocation\");\nconst SyntheticsLocations_1 = require(\"./SyntheticsLocations\");\nconst SyntheticsParsingOptions_1 = require(\"./SyntheticsParsingOptions\");\nconst SyntheticsPrivateLocation_1 = require(\"./SyntheticsPrivateLocation\");\nconst SyntheticsPrivateLocationCreationResponse_1 = require(\"./SyntheticsPrivateLocationCreationResponse\");\nconst SyntheticsPrivateLocationCreationResponseResultEncryption_1 = require(\"./SyntheticsPrivateLocationCreationResponseResultEncryption\");\nconst SyntheticsPrivateLocationMetadata_1 = require(\"./SyntheticsPrivateLocationMetadata\");\nconst SyntheticsPrivateLocationSecrets_1 = require(\"./SyntheticsPrivateLocationSecrets\");\nconst SyntheticsPrivateLocationSecretsAuthentication_1 = require(\"./SyntheticsPrivateLocationSecretsAuthentication\");\nconst SyntheticsPrivateLocationSecretsConfigDecryption_1 = require(\"./SyntheticsPrivateLocationSecretsConfigDecryption\");\nconst SyntheticsSSLCertificate_1 = require(\"./SyntheticsSSLCertificate\");\nconst SyntheticsSSLCertificateIssuer_1 = require(\"./SyntheticsSSLCertificateIssuer\");\nconst SyntheticsSSLCertificateSubject_1 = require(\"./SyntheticsSSLCertificateSubject\");\nconst SyntheticsStep_1 = require(\"./SyntheticsStep\");\nconst SyntheticsStepDetail_1 = require(\"./SyntheticsStepDetail\");\nconst SyntheticsStepDetailWarning_1 = require(\"./SyntheticsStepDetailWarning\");\nconst SyntheticsTestCiOptions_1 = require(\"./SyntheticsTestCiOptions\");\nconst SyntheticsTestConfig_1 = require(\"./SyntheticsTestConfig\");\nconst SyntheticsTestDetails_1 = require(\"./SyntheticsTestDetails\");\nconst SyntheticsTestOptions_1 = require(\"./SyntheticsTestOptions\");\nconst SyntheticsTestOptionsMonitorOptions_1 = require(\"./SyntheticsTestOptionsMonitorOptions\");\nconst SyntheticsTestOptionsRetry_1 = require(\"./SyntheticsTestOptionsRetry\");\nconst SyntheticsTestOptionsScheduling_1 = require(\"./SyntheticsTestOptionsScheduling\");\nconst SyntheticsTestOptionsSchedulingTimeframe_1 = require(\"./SyntheticsTestOptionsSchedulingTimeframe\");\nconst SyntheticsTestRequest_1 = require(\"./SyntheticsTestRequest\");\nconst SyntheticsTestRequestCertificate_1 = require(\"./SyntheticsTestRequestCertificate\");\nconst SyntheticsTestRequestCertificateItem_1 = require(\"./SyntheticsTestRequestCertificateItem\");\nconst SyntheticsTestRequestProxy_1 = require(\"./SyntheticsTestRequestProxy\");\nconst SyntheticsTiming_1 = require(\"./SyntheticsTiming\");\nconst SyntheticsTriggerBody_1 = require(\"./SyntheticsTriggerBody\");\nconst SyntheticsTriggerCITestLocation_1 = require(\"./SyntheticsTriggerCITestLocation\");\nconst SyntheticsTriggerCITestRunResult_1 = require(\"./SyntheticsTriggerCITestRunResult\");\nconst SyntheticsTriggerCITestsResponse_1 = require(\"./SyntheticsTriggerCITestsResponse\");\nconst SyntheticsTriggerTest_1 = require(\"./SyntheticsTriggerTest\");\nconst SyntheticsUpdateTestPauseStatusPayload_1 = require(\"./SyntheticsUpdateTestPauseStatusPayload\");\nconst SyntheticsVariableParser_1 = require(\"./SyntheticsVariableParser\");\nconst TableWidgetDefinition_1 = require(\"./TableWidgetDefinition\");\nconst TableWidgetRequest_1 = require(\"./TableWidgetRequest\");\nconst TagToHosts_1 = require(\"./TagToHosts\");\nconst TimeseriesBackground_1 = require(\"./TimeseriesBackground\");\nconst TimeseriesWidgetDefinition_1 = require(\"./TimeseriesWidgetDefinition\");\nconst TimeseriesWidgetExpressionAlias_1 = require(\"./TimeseriesWidgetExpressionAlias\");\nconst TimeseriesWidgetRequest_1 = require(\"./TimeseriesWidgetRequest\");\nconst ToplistWidgetDefinition_1 = require(\"./ToplistWidgetDefinition\");\nconst ToplistWidgetRequest_1 = require(\"./ToplistWidgetRequest\");\nconst TopologyMapWidgetDefinition_1 = require(\"./TopologyMapWidgetDefinition\");\nconst TopologyQuery_1 = require(\"./TopologyQuery\");\nconst TopologyRequest_1 = require(\"./TopologyRequest\");\nconst TreeMapWidgetDefinition_1 = require(\"./TreeMapWidgetDefinition\");\nconst TreeMapWidgetRequest_1 = require(\"./TreeMapWidgetRequest\");\nconst UsageAnalyzedLogsHour_1 = require(\"./UsageAnalyzedLogsHour\");\nconst UsageAnalyzedLogsResponse_1 = require(\"./UsageAnalyzedLogsResponse\");\nconst UsageAttributionAggregatesBody_1 = require(\"./UsageAttributionAggregatesBody\");\nconst UsageAttributionBody_1 = require(\"./UsageAttributionBody\");\nconst UsageAttributionMetadata_1 = require(\"./UsageAttributionMetadata\");\nconst UsageAttributionPagination_1 = require(\"./UsageAttributionPagination\");\nconst UsageAttributionResponse_1 = require(\"./UsageAttributionResponse\");\nconst UsageAttributionValues_1 = require(\"./UsageAttributionValues\");\nconst UsageAuditLogsHour_1 = require(\"./UsageAuditLogsHour\");\nconst UsageAuditLogsResponse_1 = require(\"./UsageAuditLogsResponse\");\nconst UsageBillableSummaryBody_1 = require(\"./UsageBillableSummaryBody\");\nconst UsageBillableSummaryHour_1 = require(\"./UsageBillableSummaryHour\");\nconst UsageBillableSummaryKeys_1 = require(\"./UsageBillableSummaryKeys\");\nconst UsageBillableSummaryResponse_1 = require(\"./UsageBillableSummaryResponse\");\nconst UsageCIVisibilityHour_1 = require(\"./UsageCIVisibilityHour\");\nconst UsageCIVisibilityResponse_1 = require(\"./UsageCIVisibilityResponse\");\nconst UsageCWSHour_1 = require(\"./UsageCWSHour\");\nconst UsageCWSResponse_1 = require(\"./UsageCWSResponse\");\nconst UsageCloudSecurityPostureManagementHour_1 = require(\"./UsageCloudSecurityPostureManagementHour\");\nconst UsageCloudSecurityPostureManagementResponse_1 = require(\"./UsageCloudSecurityPostureManagementResponse\");\nconst UsageCustomReportsAttributes_1 = require(\"./UsageCustomReportsAttributes\");\nconst UsageCustomReportsData_1 = require(\"./UsageCustomReportsData\");\nconst UsageCustomReportsMeta_1 = require(\"./UsageCustomReportsMeta\");\nconst UsageCustomReportsPage_1 = require(\"./UsageCustomReportsPage\");\nconst UsageCustomReportsResponse_1 = require(\"./UsageCustomReportsResponse\");\nconst UsageDBMHour_1 = require(\"./UsageDBMHour\");\nconst UsageDBMResponse_1 = require(\"./UsageDBMResponse\");\nconst UsageFargateHour_1 = require(\"./UsageFargateHour\");\nconst UsageFargateResponse_1 = require(\"./UsageFargateResponse\");\nconst UsageHostHour_1 = require(\"./UsageHostHour\");\nconst UsageHostsResponse_1 = require(\"./UsageHostsResponse\");\nconst UsageIncidentManagementHour_1 = require(\"./UsageIncidentManagementHour\");\nconst UsageIncidentManagementResponse_1 = require(\"./UsageIncidentManagementResponse\");\nconst UsageIndexedSpansHour_1 = require(\"./UsageIndexedSpansHour\");\nconst UsageIndexedSpansResponse_1 = require(\"./UsageIndexedSpansResponse\");\nconst UsageIngestedSpansHour_1 = require(\"./UsageIngestedSpansHour\");\nconst UsageIngestedSpansResponse_1 = require(\"./UsageIngestedSpansResponse\");\nconst UsageIoTHour_1 = require(\"./UsageIoTHour\");\nconst UsageIoTResponse_1 = require(\"./UsageIoTResponse\");\nconst UsageLambdaHour_1 = require(\"./UsageLambdaHour\");\nconst UsageLambdaResponse_1 = require(\"./UsageLambdaResponse\");\nconst UsageLogsByIndexHour_1 = require(\"./UsageLogsByIndexHour\");\nconst UsageLogsByIndexResponse_1 = require(\"./UsageLogsByIndexResponse\");\nconst UsageLogsByRetentionHour_1 = require(\"./UsageLogsByRetentionHour\");\nconst UsageLogsByRetentionResponse_1 = require(\"./UsageLogsByRetentionResponse\");\nconst UsageLogsHour_1 = require(\"./UsageLogsHour\");\nconst UsageLogsResponse_1 = require(\"./UsageLogsResponse\");\nconst UsageNetworkFlowsHour_1 = require(\"./UsageNetworkFlowsHour\");\nconst UsageNetworkFlowsResponse_1 = require(\"./UsageNetworkFlowsResponse\");\nconst UsageNetworkHostsHour_1 = require(\"./UsageNetworkHostsHour\");\nconst UsageNetworkHostsResponse_1 = require(\"./UsageNetworkHostsResponse\");\nconst UsageOnlineArchiveHour_1 = require(\"./UsageOnlineArchiveHour\");\nconst UsageOnlineArchiveResponse_1 = require(\"./UsageOnlineArchiveResponse\");\nconst UsageProfilingHour_1 = require(\"./UsageProfilingHour\");\nconst UsageProfilingResponse_1 = require(\"./UsageProfilingResponse\");\nconst UsageRumSessionsHour_1 = require(\"./UsageRumSessionsHour\");\nconst UsageRumSessionsResponse_1 = require(\"./UsageRumSessionsResponse\");\nconst UsageRumUnitsHour_1 = require(\"./UsageRumUnitsHour\");\nconst UsageRumUnitsResponse_1 = require(\"./UsageRumUnitsResponse\");\nconst UsageSDSHour_1 = require(\"./UsageSDSHour\");\nconst UsageSDSResponse_1 = require(\"./UsageSDSResponse\");\nconst UsageSNMPHour_1 = require(\"./UsageSNMPHour\");\nconst UsageSNMPResponse_1 = require(\"./UsageSNMPResponse\");\nconst UsageSpecifiedCustomReportsAttributes_1 = require(\"./UsageSpecifiedCustomReportsAttributes\");\nconst UsageSpecifiedCustomReportsData_1 = require(\"./UsageSpecifiedCustomReportsData\");\nconst UsageSpecifiedCustomReportsMeta_1 = require(\"./UsageSpecifiedCustomReportsMeta\");\nconst UsageSpecifiedCustomReportsPage_1 = require(\"./UsageSpecifiedCustomReportsPage\");\nconst UsageSpecifiedCustomReportsResponse_1 = require(\"./UsageSpecifiedCustomReportsResponse\");\nconst UsageSummaryDate_1 = require(\"./UsageSummaryDate\");\nconst UsageSummaryDateOrg_1 = require(\"./UsageSummaryDateOrg\");\nconst UsageSummaryResponse_1 = require(\"./UsageSummaryResponse\");\nconst UsageSyntheticsAPIHour_1 = require(\"./UsageSyntheticsAPIHour\");\nconst UsageSyntheticsAPIResponse_1 = require(\"./UsageSyntheticsAPIResponse\");\nconst UsageSyntheticsBrowserHour_1 = require(\"./UsageSyntheticsBrowserHour\");\nconst UsageSyntheticsBrowserResponse_1 = require(\"./UsageSyntheticsBrowserResponse\");\nconst UsageSyntheticsHour_1 = require(\"./UsageSyntheticsHour\");\nconst UsageSyntheticsResponse_1 = require(\"./UsageSyntheticsResponse\");\nconst UsageTimeseriesHour_1 = require(\"./UsageTimeseriesHour\");\nconst UsageTimeseriesResponse_1 = require(\"./UsageTimeseriesResponse\");\nconst UsageTopAvgMetricsHour_1 = require(\"./UsageTopAvgMetricsHour\");\nconst UsageTopAvgMetricsMetadata_1 = require(\"./UsageTopAvgMetricsMetadata\");\nconst UsageTopAvgMetricsPagination_1 = require(\"./UsageTopAvgMetricsPagination\");\nconst UsageTopAvgMetricsResponse_1 = require(\"./UsageTopAvgMetricsResponse\");\nconst User_1 = require(\"./User\");\nconst UserDisableResponse_1 = require(\"./UserDisableResponse\");\nconst UserListResponse_1 = require(\"./UserListResponse\");\nconst UserResponse_1 = require(\"./UserResponse\");\nconst WebhooksIntegration_1 = require(\"./WebhooksIntegration\");\nconst WebhooksIntegrationCustomVariable_1 = require(\"./WebhooksIntegrationCustomVariable\");\nconst WebhooksIntegrationCustomVariableResponse_1 = require(\"./WebhooksIntegrationCustomVariableResponse\");\nconst WebhooksIntegrationCustomVariableUpdateRequest_1 = require(\"./WebhooksIntegrationCustomVariableUpdateRequest\");\nconst WebhooksIntegrationUpdateRequest_1 = require(\"./WebhooksIntegrationUpdateRequest\");\nconst Widget_1 = require(\"./Widget\");\nconst WidgetAxis_1 = require(\"./WidgetAxis\");\nconst WidgetConditionalFormat_1 = require(\"./WidgetConditionalFormat\");\nconst WidgetCustomLink_1 = require(\"./WidgetCustomLink\");\nconst WidgetEvent_1 = require(\"./WidgetEvent\");\nconst WidgetFieldSort_1 = require(\"./WidgetFieldSort\");\nconst WidgetFormula_1 = require(\"./WidgetFormula\");\nconst WidgetFormulaLimit_1 = require(\"./WidgetFormulaLimit\");\nconst WidgetFormulaStyle_1 = require(\"./WidgetFormulaStyle\");\nconst WidgetLayout_1 = require(\"./WidgetLayout\");\nconst WidgetMarker_1 = require(\"./WidgetMarker\");\nconst WidgetRequestStyle_1 = require(\"./WidgetRequestStyle\");\nconst WidgetStyle_1 = require(\"./WidgetStyle\");\nconst WidgetTime_1 = require(\"./WidgetTime\");\nconst util_1 = require(\"../../datadog-api-client-common/util\");\nconst logger_1 = require(\"../../../logger\");\nconst primitives = [\n    \"string\",\n    \"boolean\",\n    \"double\",\n    \"integer\",\n    \"long\",\n    \"float\",\n    \"number\",\n];\nconst ARRAY_PREFIX = \"Array<\";\nconst MAP_PREFIX = \"{ [key: string]: \";\nconst TUPLE_PREFIX = \"[\";\nconst supportedMediaTypes = {\n    \"application/json\": Infinity,\n    \"text/json\": 100,\n    \"application/octet-stream\": 0,\n};\nconst enumsMap = {\n    AWSNamespace: [\n        \"elb\",\n        \"application_elb\",\n        \"sqs\",\n        \"rds\",\n        \"custom\",\n        \"network_elb\",\n        \"lambda\",\n    ],\n    AccessRole: [\"st\", \"adm\", \"ro\", \"ERROR\"],\n    AlertGraphWidgetDefinitionType: [\"alert_graph\"],\n    AlertValueWidgetDefinitionType: [\"alert_value\"],\n    ApmStatsQueryRowType: [\"service\", \"resource\", \"span\"],\n    ChangeWidgetDefinitionType: [\"change\"],\n    CheckStatusWidgetDefinitionType: [\"check_status\"],\n    ContentEncoding: [\"gzip\", \"deflate\"],\n    DashboardGlobalTimeLiveSpan: [\n        \"15m\",\n        \"1h\",\n        \"4h\",\n        \"1d\",\n        \"2d\",\n        \"1w\",\n        \"1mo\",\n        \"3mo\",\n    ],\n    DashboardInviteType: [\"public_dashboard_invitation\"],\n    DashboardLayoutType: [\"ordered\", \"free\"],\n    DashboardReflowType: [\"auto\", \"fixed\"],\n    DashboardResourceType: [\"dashboard\"],\n    DashboardShareType: [\"open\", \"invite\"],\n    DashboardType: [\"custom_timeboard\", \"custom_screenboard\"],\n    DistributionPointsContentEncoding: [\"deflate\"],\n    DistributionPointsType: [\"distribution\"],\n    DistributionWidgetDefinitionType: [\"distribution\"],\n    DistributionWidgetHistogramRequestType: [\"histogram\"],\n    EventAlertType: [\n        \"error\",\n        \"warning\",\n        \"info\",\n        \"success\",\n        \"user_update\",\n        \"recommendation\",\n        \"snapshot\",\n    ],\n    EventPriority: [\"normal\", \"low\"],\n    EventStreamWidgetDefinitionType: [\"event_stream\"],\n    EventTimelineWidgetDefinitionType: [\"event_timeline\"],\n    FormulaAndFunctionApmDependencyStatName: [\n        \"avg_duration\",\n        \"avg_root_duration\",\n        \"avg_spans_per_trace\",\n        \"error_rate\",\n        \"pct_exec_time\",\n        \"pct_of_traces\",\n        \"total_traces_count\",\n    ],\n    FormulaAndFunctionApmDependencyStatsDataSource: [\"apm_dependency_stats\"],\n    FormulaAndFunctionApmResourceStatName: [\n        \"errors\",\n        \"error_rate\",\n        \"hits\",\n        \"latency_avg\",\n        \"latency_distribution\",\n        \"latency_max\",\n        \"latency_p50\",\n        \"latency_p75\",\n        \"latency_p90\",\n        \"latency_p95\",\n        \"latency_p99\",\n    ],\n    FormulaAndFunctionApmResourceStatsDataSource: [\"apm_resource_stats\"],\n    FormulaAndFunctionCloudCostDataSource: [\"cloud_cost\"],\n    FormulaAndFunctionEventAggregation: [\n        \"count\",\n        \"cardinality\",\n        \"median\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n    ],\n    FormulaAndFunctionEventsDataSource: [\n        \"logs\",\n        \"spans\",\n        \"network\",\n        \"rum\",\n        \"security_signals\",\n        \"profiles\",\n        \"audit\",\n        \"events\",\n        \"ci_tests\",\n        \"ci_pipelines\",\n    ],\n    FormulaAndFunctionMetricAggregation: [\n        \"avg\",\n        \"min\",\n        \"max\",\n        \"sum\",\n        \"last\",\n        \"area\",\n        \"l2norm\",\n        \"percentile\",\n    ],\n    FormulaAndFunctionMetricDataSource: [\"metrics\"],\n    FormulaAndFunctionProcessQueryDataSource: [\"process\", \"container\"],\n    FormulaAndFunctionResponseFormat: [\"timeseries\", \"scalar\", \"event_list\"],\n    FormulaAndFunctionSLODataSource: [\"slo\"],\n    FormulaAndFunctionSLOGroupMode: [\"overall\", \"components\"],\n    FormulaAndFunctionSLOMeasure: [\n        \"good_events\",\n        \"bad_events\",\n        \"slo_status\",\n        \"error_budget_remaining\",\n        \"burn_rate\",\n        \"error_budget_burndown\",\n    ],\n    FormulaAndFunctionSLOQueryType: [\"metric\"],\n    FreeTextWidgetDefinitionType: [\"free_text\"],\n    FunnelRequestType: [\"funnel\"],\n    FunnelSource: [\"rum\"],\n    FunnelWidgetDefinitionType: [\"funnel\"],\n    GeomapWidgetDefinitionType: [\"geomap\"],\n    GroupWidgetDefinitionType: [\"group\"],\n    HeatMapWidgetDefinitionType: [\"heatmap\"],\n    HostMapWidgetDefinitionType: [\"hostmap\"],\n    HourlyUsageAttributionUsageType: [\n        \"api_usage\",\n        \"apm_fargate_usage\",\n        \"apm_host_usage\",\n        \"apm_usm_usage\",\n        \"appsec_fargate_usage\",\n        \"appsec_usage\",\n        \"browser_usage\",\n        \"container_excl_agent_usage\",\n        \"ci_visibility_itr_usage\",\n        \"container_usage\",\n        \"cspm_containers_usage\",\n        \"cspm_hosts_usage\",\n        \"custom_ingested_timeseries_usage\",\n        \"custom_timeseries_usage\",\n        \"cws_containers_usage\",\n        \"cws_hosts_usage\",\n        \"dbm_hosts_usage\",\n        \"dbm_queries_usage\",\n        \"estimated_indexed_logs_usage\",\n        \"estimated_ingested_logs_usage\",\n        \"estimated_indexed_spans_usage\",\n        \"estimated_ingested_spans_usage\",\n        \"fargate_usage\",\n        \"functions_usage\",\n        \"infra_host_usage\",\n        \"invocations_usage\",\n        \"mobile_app_testing_usage\",\n        \"npm_host_usage\",\n        \"obs_pipeline_bytes_usage\",\n        \"profiled_container_usage\",\n        \"profiled_fargate_usage\",\n        \"profiled_host_usage\",\n        \"snmp_usage\",\n        \"estimated_rum_sessions_usage\",\n        \"universal_service_monitoring_usage\",\n        \"vuln_management_hosts_usage\",\n        \"sds_scanned_bytes_usage\",\n    ],\n    IFrameWidgetDefinitionType: [\"iframe\"],\n    ImageWidgetDefinitionType: [\"image\"],\n    ListStreamColumnWidth: [\"auto\", \"compact\", \"full\"],\n    ListStreamComputeAggregation: [\n        \"count\",\n        \"cardinality\",\n        \"median\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n        \"earliest\",\n        \"latest\",\n        \"most_frequent\",\n    ],\n    ListStreamResponseFormat: [\"event_list\"],\n    ListStreamSource: [\n        \"logs_stream\",\n        \"audit_stream\",\n        \"ci_pipeline_stream\",\n        \"ci_test_stream\",\n        \"rum_issue_stream\",\n        \"apm_issue_stream\",\n        \"trace_stream\",\n        \"logs_issue_stream\",\n        \"logs_pattern_stream\",\n        \"logs_transaction_stream\",\n        \"event_stream\",\n    ],\n    ListStreamWidgetDefinitionType: [\"list_stream\"],\n    LogStreamWidgetDefinitionType: [\"log_stream\"],\n    LogsArithmeticProcessorType: [\"arithmetic-processor\"],\n    LogsAttributeRemapperType: [\"attribute-remapper\"],\n    LogsCategoryProcessorType: [\"category-processor\"],\n    LogsDateRemapperType: [\"date-remapper\"],\n    LogsGeoIPParserType: [\"geo-ip-parser\"],\n    LogsGrokParserType: [\"grok-parser\"],\n    LogsLookupProcessorType: [\"lookup-processor\"],\n    LogsMessageRemapperType: [\"message-remapper\"],\n    LogsPipelineProcessorType: [\"pipeline\"],\n    LogsServiceRemapperType: [\"service-remapper\"],\n    LogsSort: [\"asc\", \"desc\"],\n    LogsStatusRemapperType: [\"status-remapper\"],\n    LogsStringBuilderProcessorType: [\"string-builder-processor\"],\n    LogsTraceRemapperType: [\"trace-id-remapper\"],\n    LogsURLParserType: [\"url-parser\"],\n    LogsUserAgentParserType: [\"user-agent-parser\"],\n    MetricContentEncoding: [\"deflate\", \"gzip\"],\n    MonitorDeviceID: [\n        \"laptop_large\",\n        \"tablet\",\n        \"mobile_small\",\n        \"chrome.laptop_large\",\n        \"chrome.tablet\",\n        \"chrome.mobile_small\",\n        \"firefox.laptop_large\",\n        \"firefox.tablet\",\n        \"firefox.mobile_small\",\n    ],\n    MonitorFormulaAndFunctionEventAggregation: [\n        \"count\",\n        \"cardinality\",\n        \"median\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n    ],\n    MonitorFormulaAndFunctionEventsDataSource: [\n        \"rum\",\n        \"ci_pipelines\",\n        \"ci_tests\",\n        \"audit\",\n        \"events\",\n        \"logs\",\n        \"spans\",\n    ],\n    MonitorOptionsNotificationPresets: [\n        \"show_all\",\n        \"hide_query\",\n        \"hide_handles\",\n        \"hide_all\",\n    ],\n    MonitorOverallStates: [\n        \"Alert\",\n        \"Ignored\",\n        \"No Data\",\n        \"OK\",\n        \"Skipped\",\n        \"Unknown\",\n        \"Warn\",\n    ],\n    MonitorRenotifyStatusType: [\"alert\", \"warn\", \"no data\"],\n    MonitorSummaryWidgetDefinitionType: [\"manage_status\"],\n    MonitorType: [\n        \"composite\",\n        \"event alert\",\n        \"log alert\",\n        \"metric alert\",\n        \"process alert\",\n        \"query alert\",\n        \"rum alert\",\n        \"service check\",\n        \"synthetics alert\",\n        \"trace-analytics alert\",\n        \"slo alert\",\n        \"event-v2 alert\",\n        \"audit alert\",\n        \"ci-pipelines alert\",\n        \"ci-tests alert\",\n        \"error-tracking alert\",\n        \"database-monitoring alert\",\n    ],\n    MonthlyUsageAttributionSupportedMetrics: [\n        \"api_usage\",\n        \"api_percentage\",\n        \"apm_fargate_usage\",\n        \"apm_fargate_percentage\",\n        \"appsec_fargate_usage\",\n        \"appsec_fargate_percentage\",\n        \"apm_host_usage\",\n        \"apm_host_percentage\",\n        \"apm_usm_usage\",\n        \"apm_usm_percentage\",\n        \"appsec_usage\",\n        \"appsec_percentage\",\n        \"browser_usage\",\n        \"browser_percentage\",\n        \"ci_visibility_itr_usage\",\n        \"ci_visibility_itr_percentage\",\n        \"container_excl_agent_usage\",\n        \"container_excl_agent_percentage\",\n        \"container_usage\",\n        \"container_percentage\",\n        \"cspm_containers_percentage\",\n        \"cspm_containers_usage\",\n        \"cspm_hosts_percentage\",\n        \"cspm_hosts_usage\",\n        \"custom_timeseries_usage\",\n        \"custom_timeseries_percentage\",\n        \"custom_ingested_timeseries_usage\",\n        \"custom_ingested_timeseries_percentage\",\n        \"cws_containers_percentage\",\n        \"cws_containers_usage\",\n        \"cws_hosts_percentage\",\n        \"cws_hosts_usage\",\n        \"dbm_hosts_percentage\",\n        \"dbm_hosts_usage\",\n        \"dbm_queries_percentage\",\n        \"dbm_queries_usage\",\n        \"estimated_indexed_logs_usage\",\n        \"estimated_indexed_logs_percentage\",\n        \"estimated_ingested_logs_usage\",\n        \"estimated_ingested_logs_percentage\",\n        \"estimated_indexed_spans_usage\",\n        \"estimated_indexed_spans_percentage\",\n        \"estimated_ingested_spans_usage\",\n        \"estimated_ingested_spans_percentage\",\n        \"fargate_usage\",\n        \"fargate_percentage\",\n        \"functions_usage\",\n        \"functions_percentage\",\n        \"infra_host_usage\",\n        \"infra_host_percentage\",\n        \"invocations_usage\",\n        \"invocations_percentage\",\n        \"mobile_app_testing_percentage\",\n        \"mobile_app_testing_usage\",\n        \"npm_host_usage\",\n        \"npm_host_percentage\",\n        \"obs_pipeline_bytes_usage\",\n        \"obs_pipeline_bytes_percentage\",\n        \"profiled_container_usage\",\n        \"profiled_container_percentage\",\n        \"profiled_fargate_usage\",\n        \"profiled_fargate_percentage\",\n        \"profiled_host_usage\",\n        \"profiled_host_percentage\",\n        \"snmp_usage\",\n        \"snmp_percentage\",\n        \"estimated_rum_sessions_usage\",\n        \"estimated_rum_sessions_percentage\",\n        \"universal_service_monitoring_usage\",\n        \"universal_service_monitoring_percentage\",\n        \"vuln_management_hosts_usage\",\n        \"vuln_management_hosts_percentage\",\n        \"sds_scanned_bytes_usage\",\n        \"sds_scanned_bytes_percentage\",\n        \"*\",\n    ],\n    NoteWidgetDefinitionType: [\"note\"],\n    NotebookCellResourceType: [\"notebook_cells\"],\n    NotebookGraphSize: [\"xs\", \"s\", \"m\", \"l\", \"xl\"],\n    NotebookMarkdownCellDefinitionType: [\"markdown\"],\n    NotebookMetadataType: [\n        \"postmortem\",\n        \"runbook\",\n        \"investigation\",\n        \"documentation\",\n        \"report\",\n    ],\n    NotebookResourceType: [\"notebooks\"],\n    NotebookStatus: [\"published\"],\n    NotifyEndState: [\"alert\", \"no data\", \"warn\"],\n    NotifyEndType: [\"canceled\", \"expired\"],\n    OnMissingDataOption: [\n        \"default\",\n        \"show_no_data\",\n        \"show_and_notify_no_data\",\n        \"resolve\",\n    ],\n    QuerySortOrder: [\"asc\", \"desc\"],\n    QueryValueWidgetDefinitionType: [\"query_value\"],\n    RunWorkflowWidgetDefinitionType: [\"run_workflow\"],\n    SLOCorrectionCategory: [\n        \"Scheduled Maintenance\",\n        \"Outside Business Hours\",\n        \"Deployment\",\n        \"Other\",\n    ],\n    SLOCorrectionType: [\"correction\"],\n    SLOErrorTimeframe: [\"7d\", \"30d\", \"90d\", \"all\"],\n    SLOListWidgetDefinitionType: [\"slo_list\"],\n    SLOListWidgetRequestType: [\"slo_list\"],\n    SLOState: [\"breached\", \"warning\", \"ok\", \"no_data\"],\n    SLOTimeframe: [\"7d\", \"30d\", \"90d\", \"custom\"],\n    SLOType: [\"metric\", \"monitor\"],\n    SLOTypeNumeric: [0, 1],\n    SLOWidgetDefinitionType: [\"slo\"],\n    ScatterPlotWidgetDefinitionType: [\"scatterplot\"],\n    ScatterplotDimension: [\"x\", \"y\", \"radius\", \"color\"],\n    ScatterplotWidgetAggregator: [\"avg\", \"last\", \"max\", \"min\", \"sum\"],\n    SearchSLOTimeframe: [\"7d\", \"30d\", \"90d\"],\n    ServiceCheckStatus: [0, 1, 2, 3],\n    ServiceMapWidgetDefinitionType: [\"servicemap\"],\n    ServiceSummaryWidgetDefinitionType: [\"trace_service\"],\n    SignalArchiveReason: [\n        \"none\",\n        \"false_positive\",\n        \"testing_or_maintenance\",\n        \"investigated_case_opened\",\n        \"other\",\n    ],\n    SignalTriageState: [\"open\", \"archived\", \"under_review\"],\n    SunburstWidgetDefinitionType: [\"sunburst\"],\n    SunburstWidgetLegendInlineAutomaticType: [\"inline\", \"automatic\"],\n    SunburstWidgetLegendTableType: [\"table\", \"none\"],\n    SyntheticsAPIStepSubtype: [\"http\"],\n    SyntheticsAPITestType: [\"api\"],\n    SyntheticsApiTestFailureCode: [\n        \"BODY_TOO_LARGE\",\n        \"DENIED\",\n        \"TOO_MANY_REDIRECTS\",\n        \"AUTHENTICATION_ERROR\",\n        \"DECRYPTION\",\n        \"INVALID_CHAR_IN_HEADER\",\n        \"HEADER_TOO_LARGE\",\n        \"HEADERS_INCOMPATIBLE_CONTENT_LENGTH\",\n        \"INVALID_REQUEST\",\n        \"REQUIRES_UPDATE\",\n        \"UNESCAPED_CHARACTERS_IN_REQUEST_PATH\",\n        \"MALFORMED_RESPONSE\",\n        \"INCORRECT_ASSERTION\",\n        \"CONNREFUSED\",\n        \"CONNRESET\",\n        \"DNS\",\n        \"HOSTUNREACH\",\n        \"NETUNREACH\",\n        \"TIMEOUT\",\n        \"SSL\",\n        \"OCSP\",\n        \"INVALID_TEST\",\n        \"TUNNEL\",\n        \"WEBSOCKET\",\n        \"UNKNOWN\",\n        \"INTERNAL_ERROR\",\n    ],\n    SyntheticsAssertionJSONPathOperator: [\"validatesJSONPath\"],\n    SyntheticsAssertionOperator: [\n        \"contains\",\n        \"doesNotContain\",\n        \"is\",\n        \"isNot\",\n        \"lessThan\",\n        \"lessThanOrEqual\",\n        \"moreThan\",\n        \"moreThanOrEqual\",\n        \"matches\",\n        \"doesNotMatch\",\n        \"validates\",\n        \"isInMoreThan\",\n        \"isInLessThan\",\n        \"doesNotExist\",\n        \"isUndefined\",\n    ],\n    SyntheticsAssertionTimingsScope: [\"all\", \"withoutDNS\"],\n    SyntheticsAssertionType: [\n        \"body\",\n        \"header\",\n        \"statusCode\",\n        \"certificate\",\n        \"responseTime\",\n        \"property\",\n        \"recordEvery\",\n        \"recordSome\",\n        \"tlsVersion\",\n        \"minTlsVersion\",\n        \"latency\",\n        \"packetLossPercentage\",\n        \"packetsReceived\",\n        \"networkHop\",\n        \"receivedMessage\",\n        \"grpcHealthcheckStatus\",\n        \"grpcMetadata\",\n        \"grpcProto\",\n        \"connection\",\n    ],\n    SyntheticsAssertionXPathOperator: [\"validatesXPath\"],\n    SyntheticsBasicAuthDigestType: [\"digest\"],\n    SyntheticsBasicAuthNTLMType: [\"ntlm\"],\n    SyntheticsBasicAuthOauthClientType: [\"oauth-client\"],\n    SyntheticsBasicAuthOauthROPType: [\"oauth-rop\"],\n    SyntheticsBasicAuthOauthTokenApiAuthentication: [\"header\", \"body\"],\n    SyntheticsBasicAuthSigv4Type: [\"sigv4\"],\n    SyntheticsBasicAuthWebType: [\"web\"],\n    SyntheticsBrowserErrorType: [\"network\", \"js\"],\n    SyntheticsBrowserTestFailureCode: [\n        \"API_REQUEST_FAILURE\",\n        \"ASSERTION_FAILURE\",\n        \"DOWNLOAD_FILE_TOO_LARGE\",\n        \"ELEMENT_NOT_INTERACTABLE\",\n        \"EMAIL_VARIABLE_NOT_DEFINED\",\n        \"EVALUATE_JAVASCRIPT\",\n        \"EVALUATE_JAVASCRIPT_CONTEXT\",\n        \"EXTRACT_VARIABLE\",\n        \"FORBIDDEN_URL\",\n        \"FRAME_DETACHED\",\n        \"INCONSISTENCIES\",\n        \"INTERNAL_ERROR\",\n        \"INVALID_TYPE_TEXT_DELAY\",\n        \"INVALID_URL\",\n        \"INVALID_VARIABLE_PATTERN\",\n        \"INVISIBLE_ELEMENT\",\n        \"LOCATE_ELEMENT\",\n        \"NAVIGATE_TO_LINK\",\n        \"OPEN_URL\",\n        \"PRESS_KEY\",\n        \"SERVER_CERTIFICATE\",\n        \"SELECT_OPTION\",\n        \"STEP_TIMEOUT\",\n        \"SUB_TEST_NOT_PASSED\",\n        \"TEST_TIMEOUT\",\n        \"TOO_MANY_HTTP_REQUESTS\",\n        \"UNAVAILABLE_BROWSER\",\n        \"UNKNOWN\",\n        \"UNSUPPORTED_AUTH_SCHEMA\",\n        \"UPLOAD_FILES_ELEMENT_TYPE\",\n        \"UPLOAD_FILES_DIALOG\",\n        \"UPLOAD_FILES_DYNAMIC_ELEMENT\",\n        \"UPLOAD_FILES_NAME\",\n    ],\n    SyntheticsBrowserTestType: [\"browser\"],\n    SyntheticsBrowserVariableType: [\n        \"element\",\n        \"email\",\n        \"global\",\n        \"javascript\",\n        \"text\",\n    ],\n    SyntheticsCheckType: [\n        \"equals\",\n        \"notEquals\",\n        \"contains\",\n        \"notContains\",\n        \"startsWith\",\n        \"notStartsWith\",\n        \"greater\",\n        \"lower\",\n        \"greaterEquals\",\n        \"lowerEquals\",\n        \"matchRegex\",\n        \"between\",\n        \"isEmpty\",\n        \"notIsEmpty\",\n    ],\n    SyntheticsConfigVariableType: [\"global\", \"text\"],\n    SyntheticsDeviceID: [\n        \"laptop_large\",\n        \"tablet\",\n        \"mobile_small\",\n        \"chrome.laptop_large\",\n        \"chrome.tablet\",\n        \"chrome.mobile_small\",\n        \"firefox.laptop_large\",\n        \"firefox.tablet\",\n        \"firefox.mobile_small\",\n        \"edge.laptop_large\",\n        \"edge.tablet\",\n        \"edge.mobile_small\",\n    ],\n    SyntheticsGlobalVariableParseTestOptionsType: [\n        \"http_body\",\n        \"http_header\",\n        \"local_variable\",\n    ],\n    SyntheticsGlobalVariableParserType: [\"raw\", \"json_path\", \"regex\", \"x_path\"],\n    SyntheticsPlayingTab: [-1, 0, 1, 2, 3],\n    SyntheticsStatus: [\"passed\", \"skipped\", \"failed\"],\n    SyntheticsStepType: [\n        \"assertCurrentUrl\",\n        \"assertElementAttribute\",\n        \"assertElementContent\",\n        \"assertElementPresent\",\n        \"assertEmail\",\n        \"assertFileDownload\",\n        \"assertFromJavascript\",\n        \"assertPageContains\",\n        \"assertPageLacks\",\n        \"click\",\n        \"extractFromJavascript\",\n        \"extractVariable\",\n        \"goToEmailLink\",\n        \"goToUrl\",\n        \"goToUrlAndMeasureTti\",\n        \"hover\",\n        \"playSubTest\",\n        \"pressKey\",\n        \"refresh\",\n        \"runApiTest\",\n        \"scroll\",\n        \"selectOption\",\n        \"typeText\",\n        \"uploadFiles\",\n        \"wait\",\n    ],\n    SyntheticsTestCallType: [\"healthcheck\", \"unary\"],\n    SyntheticsTestDetailsSubType: [\n        \"http\",\n        \"ssl\",\n        \"tcp\",\n        \"dns\",\n        \"multi\",\n        \"icmp\",\n        \"udp\",\n        \"websocket\",\n        \"grpc\",\n    ],\n    SyntheticsTestDetailsType: [\"api\", \"browser\"],\n    SyntheticsTestExecutionRule: [\"blocking\", \"non_blocking\", \"skipped\"],\n    SyntheticsTestMonitorStatus: [0, 1, 2],\n    SyntheticsTestOptionsHTTPVersion: [\"http1\", \"http2\", \"any\"],\n    SyntheticsTestPauseStatus: [\"live\", \"paused\"],\n    SyntheticsTestProcessStatus: [\n        \"not_scheduled\",\n        \"scheduled\",\n        \"finished\",\n        \"finished_with_error\",\n    ],\n    SyntheticsTestRequestBodyType: [\n        \"text/plain\",\n        \"application/json\",\n        \"text/xml\",\n        \"text/html\",\n        \"application/x-www-form-urlencoded\",\n        \"graphql\",\n    ],\n    SyntheticsWarningType: [\"user_locator\"],\n    TableWidgetCellDisplayMode: [\"number\", \"bar\"],\n    TableWidgetDefinitionType: [\"query_table\"],\n    TableWidgetHasSearchBar: [\"always\", \"never\", \"auto\"],\n    TargetFormatType: [\"auto\", \"string\", \"integer\", \"double\"],\n    TimeseriesBackgroundType: [\"bars\", \"area\"],\n    TimeseriesWidgetDefinitionType: [\"timeseries\"],\n    TimeseriesWidgetLegendColumn: [\"value\", \"avg\", \"sum\", \"min\", \"max\"],\n    TimeseriesWidgetLegendLayout: [\"auto\", \"horizontal\", \"vertical\"],\n    ToplistWidgetDefinitionType: [\"toplist\"],\n    TopologyMapWidgetDefinitionType: [\"topology_map\"],\n    TopologyQueryDataSource: [\"data_streams\", \"service_map\"],\n    TopologyRequestType: [\"topology\"],\n    TreeMapColorBy: [\"user\"],\n    TreeMapGroupBy: [\"user\", \"family\", \"process\"],\n    TreeMapSizeBy: [\"pct_cpu\", \"pct_mem\"],\n    TreeMapWidgetDefinitionType: [\"treemap\"],\n    UsageAttributionSort: [\n        \"api_percentage\",\n        \"snmp_usage\",\n        \"apm_host_usage\",\n        \"api_usage\",\n        \"appsec_usage\",\n        \"appsec_percentage\",\n        \"container_usage\",\n        \"custom_timeseries_percentage\",\n        \"container_percentage\",\n        \"apm_host_percentage\",\n        \"npm_host_percentage\",\n        \"browser_percentage\",\n        \"browser_usage\",\n        \"infra_host_percentage\",\n        \"snmp_percentage\",\n        \"npm_host_usage\",\n        \"infra_host_usage\",\n        \"custom_timeseries_usage\",\n        \"lambda_functions_usage\",\n        \"lambda_functions_percentage\",\n        \"lambda_invocations_usage\",\n        \"lambda_invocations_percentage\",\n        \"estimated_indexed_logs_usage\",\n        \"estimated_indexed_logs_percentage\",\n        \"estimated_ingested_logs_usage\",\n        \"estimated_ingested_logs_percentage\",\n        \"estimated_indexed_spans_usage\",\n        \"estimated_indexed_spans_percentage\",\n        \"estimated_ingested_spans_usage\",\n        \"estimated_ingested_spans_percentage\",\n        \"apm_fargate_usage\",\n        \"apm_fargate_percentage\",\n        \"appsec_fargate_usage\",\n        \"appsec_fargate_percentage\",\n        \"estimated_rum_usage_attribution_usage\",\n        \"estimated_rum_usage_attribution_percentage\",\n    ],\n    UsageAttributionSupportedMetrics: [\n        \"custom_timeseries_usage\",\n        \"container_usage\",\n        \"snmp_percentage\",\n        \"apm_host_usage\",\n        \"browser_usage\",\n        \"npm_host_percentage\",\n        \"infra_host_usage\",\n        \"custom_timeseries_percentage\",\n        \"container_percentage\",\n        \"api_usage\",\n        \"apm_host_percentage\",\n        \"infra_host_percentage\",\n        \"snmp_usage\",\n        \"browser_percentage\",\n        \"api_percentage\",\n        \"npm_host_usage\",\n        \"lambda_functions_usage\",\n        \"lambda_functions_percentage\",\n        \"lambda_invocations_usage\",\n        \"lambda_invocations_percentage\",\n        \"fargate_usage\",\n        \"fargate_percentage\",\n        \"profiled_host_usage\",\n        \"profiled_host_percentage\",\n        \"profiled_container_usage\",\n        \"profiled_container_percentage\",\n        \"dbm_hosts_usage\",\n        \"dbm_hosts_percentage\",\n        \"dbm_queries_usage\",\n        \"dbm_queries_percentage\",\n        \"estimated_indexed_logs_usage\",\n        \"estimated_indexed_logs_percentage\",\n        \"estimated_ingested_logs_usage\",\n        \"estimated_ingested_logs_percentage\",\n        \"appsec_usage\",\n        \"appsec_percentage\",\n        \"estimated_indexed_spans_usage\",\n        \"estimated_indexed_spans_percentage\",\n        \"estimated_ingested_spans_usage\",\n        \"estimated_ingested_spans_percentage\",\n        \"apm_fargate_usage\",\n        \"apm_fargate_percentage\",\n        \"appsec_fargate_usage\",\n        \"appsec_fargate_percentage\",\n        \"estimated_rum_usage_attribution_usage\",\n        \"estimated_rum_usage_attribution_percentage\",\n        \"*\",\n    ],\n    UsageMetricCategory: [\"standard\", \"custom\"],\n    UsageReportsType: [\"reports\"],\n    UsageSort: [\"computed_on\", \"size\", \"start_date\", \"end_date\"],\n    UsageSortDirection: [\"desc\", \"asc\"],\n    WebhooksIntegrationEncoding: [\"json\", \"form\"],\n    WidgetAggregator: [\"avg\", \"last\", \"max\", \"min\", \"sum\", \"percentile\"],\n    WidgetChangeType: [\"absolute\", \"relative\"],\n    WidgetColorPreference: [\"background\", \"text\"],\n    WidgetComparator: [\"=\", \">\", \">=\", \"<\", \"<=\"],\n    WidgetCompareTo: [\"hour_before\", \"day_before\", \"week_before\", \"month_before\"],\n    WidgetDisplayType: [\"area\", \"bars\", \"line\", \"overlay\"],\n    WidgetEventSize: [\"s\", \"l\"],\n    WidgetGrouping: [\"check\", \"cluster\"],\n    WidgetHorizontalAlign: [\"center\", \"left\", \"right\"],\n    WidgetImageSizing: [\n        \"fill\",\n        \"contain\",\n        \"cover\",\n        \"none\",\n        \"scale-down\",\n        \"zoom\",\n        \"fit\",\n        \"center\",\n    ],\n    WidgetLayoutType: [\"ordered\"],\n    WidgetLineType: [\"dashed\", \"dotted\", \"solid\"],\n    WidgetLineWidth: [\"normal\", \"thick\", \"thin\"],\n    WidgetLiveSpan: [\n        \"1m\",\n        \"5m\",\n        \"10m\",\n        \"15m\",\n        \"30m\",\n        \"1h\",\n        \"4h\",\n        \"1d\",\n        \"2d\",\n        \"1w\",\n        \"1mo\",\n        \"3mo\",\n        \"6mo\",\n        \"1y\",\n        \"alert\",\n    ],\n    WidgetMargin: [\"sm\", \"md\", \"lg\", \"small\", \"large\"],\n    WidgetMessageDisplay: [\"inline\", \"expanded-md\", \"expanded-lg\"],\n    WidgetMonitorSummaryDisplayFormat: [\"counts\", \"countsAndList\", \"list\"],\n    WidgetMonitorSummarySort: [\n        \"name\",\n        \"group\",\n        \"status\",\n        \"tags\",\n        \"triggered\",\n        \"group,asc\",\n        \"group,desc\",\n        \"name,asc\",\n        \"name,desc\",\n        \"status,asc\",\n        \"status,desc\",\n        \"tags,asc\",\n        \"tags,desc\",\n        \"triggered,asc\",\n        \"triggered,desc\",\n        \"priority,asc\",\n        \"priority,desc\",\n    ],\n    WidgetNodeType: [\"host\", \"container\"],\n    WidgetOrderBy: [\"change\", \"name\", \"present\", \"past\"],\n    WidgetPalette: [\n        \"blue\",\n        \"custom_bg\",\n        \"custom_image\",\n        \"custom_text\",\n        \"gray_on_white\",\n        \"grey\",\n        \"green\",\n        \"orange\",\n        \"red\",\n        \"red_on_white\",\n        \"white_on_gray\",\n        \"white_on_green\",\n        \"green_on_white\",\n        \"white_on_red\",\n        \"white_on_yellow\",\n        \"yellow_on_white\",\n        \"black_on_light_yellow\",\n        \"black_on_light_green\",\n        \"black_on_light_red\",\n    ],\n    WidgetServiceSummaryDisplayFormat: [\n        \"one_column\",\n        \"two_column\",\n        \"three_column\",\n    ],\n    WidgetSizeFormat: [\"small\", \"medium\", \"large\"],\n    WidgetSort: [\"asc\", \"desc\"],\n    WidgetSummaryType: [\"monitors\", \"groups\", \"combined\"],\n    WidgetTextAlign: [\"center\", \"left\", \"right\"],\n    WidgetTickEdge: [\"bottom\", \"left\", \"right\", \"top\"],\n    WidgetTimeWindows: [\n        \"7d\",\n        \"30d\",\n        \"90d\",\n        \"week_to_date\",\n        \"previous_week\",\n        \"month_to_date\",\n        \"previous_month\",\n        \"global_time\",\n    ],\n    WidgetVerticalAlign: [\"center\", \"top\", \"bottom\"],\n    WidgetViewMode: [\"overall\", \"component\", \"both\"],\n    WidgetVizType: [\"timeseries\", \"toplist\"],\n};\nconst typeMap = {\n    APIErrorResponse: APIErrorResponse_1.APIErrorResponse,\n    AWSAccount: AWSAccount_1.AWSAccount,\n    AWSAccountAndLambdaRequest: AWSAccountAndLambdaRequest_1.AWSAccountAndLambdaRequest,\n    AWSAccountCreateResponse: AWSAccountCreateResponse_1.AWSAccountCreateResponse,\n    AWSAccountDeleteRequest: AWSAccountDeleteRequest_1.AWSAccountDeleteRequest,\n    AWSAccountListResponse: AWSAccountListResponse_1.AWSAccountListResponse,\n    AWSLogsAsyncError: AWSLogsAsyncError_1.AWSLogsAsyncError,\n    AWSLogsAsyncResponse: AWSLogsAsyncResponse_1.AWSLogsAsyncResponse,\n    AWSLogsLambda: AWSLogsLambda_1.AWSLogsLambda,\n    AWSLogsListResponse: AWSLogsListResponse_1.AWSLogsListResponse,\n    AWSLogsListServicesResponse: AWSLogsListServicesResponse_1.AWSLogsListServicesResponse,\n    AWSLogsServicesRequest: AWSLogsServicesRequest_1.AWSLogsServicesRequest,\n    AWSTagFilter: AWSTagFilter_1.AWSTagFilter,\n    AWSTagFilterCreateRequest: AWSTagFilterCreateRequest_1.AWSTagFilterCreateRequest,\n    AWSTagFilterDeleteRequest: AWSTagFilterDeleteRequest_1.AWSTagFilterDeleteRequest,\n    AWSTagFilterListResponse: AWSTagFilterListResponse_1.AWSTagFilterListResponse,\n    AddSignalToIncidentRequest: AddSignalToIncidentRequest_1.AddSignalToIncidentRequest,\n    AlertGraphWidgetDefinition: AlertGraphWidgetDefinition_1.AlertGraphWidgetDefinition,\n    AlertValueWidgetDefinition: AlertValueWidgetDefinition_1.AlertValueWidgetDefinition,\n    ApiKey: ApiKey_1.ApiKey,\n    ApiKeyListResponse: ApiKeyListResponse_1.ApiKeyListResponse,\n    ApiKeyResponse: ApiKeyResponse_1.ApiKeyResponse,\n    ApmStatsQueryColumnType: ApmStatsQueryColumnType_1.ApmStatsQueryColumnType,\n    ApmStatsQueryDefinition: ApmStatsQueryDefinition_1.ApmStatsQueryDefinition,\n    ApplicationKey: ApplicationKey_1.ApplicationKey,\n    ApplicationKeyListResponse: ApplicationKeyListResponse_1.ApplicationKeyListResponse,\n    ApplicationKeyResponse: ApplicationKeyResponse_1.ApplicationKeyResponse,\n    AuthenticationValidationResponse: AuthenticationValidationResponse_1.AuthenticationValidationResponse,\n    AzureAccount: AzureAccount_1.AzureAccount,\n    CancelDowntimesByScopeRequest: CancelDowntimesByScopeRequest_1.CancelDowntimesByScopeRequest,\n    CanceledDowntimesIds: CanceledDowntimesIds_1.CanceledDowntimesIds,\n    ChangeWidgetDefinition: ChangeWidgetDefinition_1.ChangeWidgetDefinition,\n    ChangeWidgetRequest: ChangeWidgetRequest_1.ChangeWidgetRequest,\n    CheckCanDeleteMonitorResponse: CheckCanDeleteMonitorResponse_1.CheckCanDeleteMonitorResponse,\n    CheckCanDeleteMonitorResponseData: CheckCanDeleteMonitorResponseData_1.CheckCanDeleteMonitorResponseData,\n    CheckCanDeleteSLOResponse: CheckCanDeleteSLOResponse_1.CheckCanDeleteSLOResponse,\n    CheckCanDeleteSLOResponseData: CheckCanDeleteSLOResponseData_1.CheckCanDeleteSLOResponseData,\n    CheckStatusWidgetDefinition: CheckStatusWidgetDefinition_1.CheckStatusWidgetDefinition,\n    Creator: Creator_1.Creator,\n    Dashboard: Dashboard_1.Dashboard,\n    DashboardBulkActionData: DashboardBulkActionData_1.DashboardBulkActionData,\n    DashboardBulkDeleteRequest: DashboardBulkDeleteRequest_1.DashboardBulkDeleteRequest,\n    DashboardDeleteResponse: DashboardDeleteResponse_1.DashboardDeleteResponse,\n    DashboardGlobalTime: DashboardGlobalTime_1.DashboardGlobalTime,\n    DashboardList: DashboardList_1.DashboardList,\n    DashboardListDeleteResponse: DashboardListDeleteResponse_1.DashboardListDeleteResponse,\n    DashboardListListResponse: DashboardListListResponse_1.DashboardListListResponse,\n    DashboardRestoreRequest: DashboardRestoreRequest_1.DashboardRestoreRequest,\n    DashboardSummary: DashboardSummary_1.DashboardSummary,\n    DashboardSummaryDefinition: DashboardSummaryDefinition_1.DashboardSummaryDefinition,\n    DashboardTemplateVariable: DashboardTemplateVariable_1.DashboardTemplateVariable,\n    DashboardTemplateVariablePreset: DashboardTemplateVariablePreset_1.DashboardTemplateVariablePreset,\n    DashboardTemplateVariablePresetValue: DashboardTemplateVariablePresetValue_1.DashboardTemplateVariablePresetValue,\n    DeleteSharedDashboardResponse: DeleteSharedDashboardResponse_1.DeleteSharedDashboardResponse,\n    DeletedMonitor: DeletedMonitor_1.DeletedMonitor,\n    DistributionPointsPayload: DistributionPointsPayload_1.DistributionPointsPayload,\n    DistributionPointsSeries: DistributionPointsSeries_1.DistributionPointsSeries,\n    DistributionWidgetDefinition: DistributionWidgetDefinition_1.DistributionWidgetDefinition,\n    DistributionWidgetRequest: DistributionWidgetRequest_1.DistributionWidgetRequest,\n    DistributionWidgetXAxis: DistributionWidgetXAxis_1.DistributionWidgetXAxis,\n    DistributionWidgetYAxis: DistributionWidgetYAxis_1.DistributionWidgetYAxis,\n    Downtime: Downtime_1.Downtime,\n    DowntimeChild: DowntimeChild_1.DowntimeChild,\n    DowntimeRecurrence: DowntimeRecurrence_1.DowntimeRecurrence,\n    Event: Event_1.Event,\n    EventCreateRequest: EventCreateRequest_1.EventCreateRequest,\n    EventCreateResponse: EventCreateResponse_1.EventCreateResponse,\n    EventListResponse: EventListResponse_1.EventListResponse,\n    EventQueryDefinition: EventQueryDefinition_1.EventQueryDefinition,\n    EventResponse: EventResponse_1.EventResponse,\n    EventStreamWidgetDefinition: EventStreamWidgetDefinition_1.EventStreamWidgetDefinition,\n    EventTimelineWidgetDefinition: EventTimelineWidgetDefinition_1.EventTimelineWidgetDefinition,\n    FormulaAndFunctionApmDependencyStatsQueryDefinition: FormulaAndFunctionApmDependencyStatsQueryDefinition_1.FormulaAndFunctionApmDependencyStatsQueryDefinition,\n    FormulaAndFunctionApmResourceStatsQueryDefinition: FormulaAndFunctionApmResourceStatsQueryDefinition_1.FormulaAndFunctionApmResourceStatsQueryDefinition,\n    FormulaAndFunctionCloudCostQueryDefinition: FormulaAndFunctionCloudCostQueryDefinition_1.FormulaAndFunctionCloudCostQueryDefinition,\n    FormulaAndFunctionEventQueryDefinition: FormulaAndFunctionEventQueryDefinition_1.FormulaAndFunctionEventQueryDefinition,\n    FormulaAndFunctionEventQueryDefinitionCompute: FormulaAndFunctionEventQueryDefinitionCompute_1.FormulaAndFunctionEventQueryDefinitionCompute,\n    FormulaAndFunctionEventQueryDefinitionSearch: FormulaAndFunctionEventQueryDefinitionSearch_1.FormulaAndFunctionEventQueryDefinitionSearch,\n    FormulaAndFunctionEventQueryGroupBy: FormulaAndFunctionEventQueryGroupBy_1.FormulaAndFunctionEventQueryGroupBy,\n    FormulaAndFunctionEventQueryGroupBySort: FormulaAndFunctionEventQueryGroupBySort_1.FormulaAndFunctionEventQueryGroupBySort,\n    FormulaAndFunctionMetricQueryDefinition: FormulaAndFunctionMetricQueryDefinition_1.FormulaAndFunctionMetricQueryDefinition,\n    FormulaAndFunctionProcessQueryDefinition: FormulaAndFunctionProcessQueryDefinition_1.FormulaAndFunctionProcessQueryDefinition,\n    FormulaAndFunctionSLOQueryDefinition: FormulaAndFunctionSLOQueryDefinition_1.FormulaAndFunctionSLOQueryDefinition,\n    FreeTextWidgetDefinition: FreeTextWidgetDefinition_1.FreeTextWidgetDefinition,\n    FunnelQuery: FunnelQuery_1.FunnelQuery,\n    FunnelStep: FunnelStep_1.FunnelStep,\n    FunnelWidgetDefinition: FunnelWidgetDefinition_1.FunnelWidgetDefinition,\n    FunnelWidgetRequest: FunnelWidgetRequest_1.FunnelWidgetRequest,\n    GCPAccount: GCPAccount_1.GCPAccount,\n    GeomapWidgetDefinition: GeomapWidgetDefinition_1.GeomapWidgetDefinition,\n    GeomapWidgetDefinitionStyle: GeomapWidgetDefinitionStyle_1.GeomapWidgetDefinitionStyle,\n    GeomapWidgetDefinitionView: GeomapWidgetDefinitionView_1.GeomapWidgetDefinitionView,\n    GeomapWidgetRequest: GeomapWidgetRequest_1.GeomapWidgetRequest,\n    GraphSnapshot: GraphSnapshot_1.GraphSnapshot,\n    GroupWidgetDefinition: GroupWidgetDefinition_1.GroupWidgetDefinition,\n    HTTPLogError: HTTPLogError_1.HTTPLogError,\n    HTTPLogItem: HTTPLogItem_1.HTTPLogItem,\n    HeatMapWidgetDefinition: HeatMapWidgetDefinition_1.HeatMapWidgetDefinition,\n    HeatMapWidgetRequest: HeatMapWidgetRequest_1.HeatMapWidgetRequest,\n    Host: Host_1.Host,\n    HostListResponse: HostListResponse_1.HostListResponse,\n    HostMapRequest: HostMapRequest_1.HostMapRequest,\n    HostMapWidgetDefinition: HostMapWidgetDefinition_1.HostMapWidgetDefinition,\n    HostMapWidgetDefinitionRequests: HostMapWidgetDefinitionRequests_1.HostMapWidgetDefinitionRequests,\n    HostMapWidgetDefinitionStyle: HostMapWidgetDefinitionStyle_1.HostMapWidgetDefinitionStyle,\n    HostMeta: HostMeta_1.HostMeta,\n    HostMetaInstallMethod: HostMetaInstallMethod_1.HostMetaInstallMethod,\n    HostMetrics: HostMetrics_1.HostMetrics,\n    HostMuteResponse: HostMuteResponse_1.HostMuteResponse,\n    HostMuteSettings: HostMuteSettings_1.HostMuteSettings,\n    HostTags: HostTags_1.HostTags,\n    HostTotals: HostTotals_1.HostTotals,\n    HourlyUsageAttributionBody: HourlyUsageAttributionBody_1.HourlyUsageAttributionBody,\n    HourlyUsageAttributionMetadata: HourlyUsageAttributionMetadata_1.HourlyUsageAttributionMetadata,\n    HourlyUsageAttributionPagination: HourlyUsageAttributionPagination_1.HourlyUsageAttributionPagination,\n    HourlyUsageAttributionResponse: HourlyUsageAttributionResponse_1.HourlyUsageAttributionResponse,\n    IFrameWidgetDefinition: IFrameWidgetDefinition_1.IFrameWidgetDefinition,\n    IPPrefixesAPI: IPPrefixesAPI_1.IPPrefixesAPI,\n    IPPrefixesAPM: IPPrefixesAPM_1.IPPrefixesAPM,\n    IPPrefixesAgents: IPPrefixesAgents_1.IPPrefixesAgents,\n    IPPrefixesLogs: IPPrefixesLogs_1.IPPrefixesLogs,\n    IPPrefixesOrchestrator: IPPrefixesOrchestrator_1.IPPrefixesOrchestrator,\n    IPPrefixesProcess: IPPrefixesProcess_1.IPPrefixesProcess,\n    IPPrefixesRemoteConfiguration: IPPrefixesRemoteConfiguration_1.IPPrefixesRemoteConfiguration,\n    IPPrefixesSynthetics: IPPrefixesSynthetics_1.IPPrefixesSynthetics,\n    IPPrefixesSyntheticsPrivateLocations: IPPrefixesSyntheticsPrivateLocations_1.IPPrefixesSyntheticsPrivateLocations,\n    IPPrefixesWebhooks: IPPrefixesWebhooks_1.IPPrefixesWebhooks,\n    IPRanges: IPRanges_1.IPRanges,\n    IdpFormData: IdpFormData_1.IdpFormData,\n    IdpResponse: IdpResponse_1.IdpResponse,\n    ImageWidgetDefinition: ImageWidgetDefinition_1.ImageWidgetDefinition,\n    IntakePayloadAccepted: IntakePayloadAccepted_1.IntakePayloadAccepted,\n    ListStreamColumn: ListStreamColumn_1.ListStreamColumn,\n    ListStreamComputeItems: ListStreamComputeItems_1.ListStreamComputeItems,\n    ListStreamGroupByItems: ListStreamGroupByItems_1.ListStreamGroupByItems,\n    ListStreamQuery: ListStreamQuery_1.ListStreamQuery,\n    ListStreamWidgetDefinition: ListStreamWidgetDefinition_1.ListStreamWidgetDefinition,\n    ListStreamWidgetRequest: ListStreamWidgetRequest_1.ListStreamWidgetRequest,\n    Log: Log_1.Log,\n    LogContent: LogContent_1.LogContent,\n    LogQueryDefinition: LogQueryDefinition_1.LogQueryDefinition,\n    LogQueryDefinitionGroupBy: LogQueryDefinitionGroupBy_1.LogQueryDefinitionGroupBy,\n    LogQueryDefinitionGroupBySort: LogQueryDefinitionGroupBySort_1.LogQueryDefinitionGroupBySort,\n    LogQueryDefinitionSearch: LogQueryDefinitionSearch_1.LogQueryDefinitionSearch,\n    LogStreamWidgetDefinition: LogStreamWidgetDefinition_1.LogStreamWidgetDefinition,\n    LogsAPIError: LogsAPIError_1.LogsAPIError,\n    LogsAPIErrorResponse: LogsAPIErrorResponse_1.LogsAPIErrorResponse,\n    LogsArithmeticProcessor: LogsArithmeticProcessor_1.LogsArithmeticProcessor,\n    LogsAttributeRemapper: LogsAttributeRemapper_1.LogsAttributeRemapper,\n    LogsByRetention: LogsByRetention_1.LogsByRetention,\n    LogsByRetentionMonthlyUsage: LogsByRetentionMonthlyUsage_1.LogsByRetentionMonthlyUsage,\n    LogsByRetentionOrgUsage: LogsByRetentionOrgUsage_1.LogsByRetentionOrgUsage,\n    LogsByRetentionOrgs: LogsByRetentionOrgs_1.LogsByRetentionOrgs,\n    LogsCategoryProcessor: LogsCategoryProcessor_1.LogsCategoryProcessor,\n    LogsCategoryProcessorCategory: LogsCategoryProcessorCategory_1.LogsCategoryProcessorCategory,\n    LogsDateRemapper: LogsDateRemapper_1.LogsDateRemapper,\n    LogsExclusion: LogsExclusion_1.LogsExclusion,\n    LogsExclusionFilter: LogsExclusionFilter_1.LogsExclusionFilter,\n    LogsFilter: LogsFilter_1.LogsFilter,\n    LogsGeoIPParser: LogsGeoIPParser_1.LogsGeoIPParser,\n    LogsGrokParser: LogsGrokParser_1.LogsGrokParser,\n    LogsGrokParserRules: LogsGrokParserRules_1.LogsGrokParserRules,\n    LogsIndex: LogsIndex_1.LogsIndex,\n    LogsIndexListResponse: LogsIndexListResponse_1.LogsIndexListResponse,\n    LogsIndexUpdateRequest: LogsIndexUpdateRequest_1.LogsIndexUpdateRequest,\n    LogsIndexesOrder: LogsIndexesOrder_1.LogsIndexesOrder,\n    LogsListRequest: LogsListRequest_1.LogsListRequest,\n    LogsListRequestTime: LogsListRequestTime_1.LogsListRequestTime,\n    LogsListResponse: LogsListResponse_1.LogsListResponse,\n    LogsLookupProcessor: LogsLookupProcessor_1.LogsLookupProcessor,\n    LogsMessageRemapper: LogsMessageRemapper_1.LogsMessageRemapper,\n    LogsPipeline: LogsPipeline_1.LogsPipeline,\n    LogsPipelineProcessor: LogsPipelineProcessor_1.LogsPipelineProcessor,\n    LogsPipelinesOrder: LogsPipelinesOrder_1.LogsPipelinesOrder,\n    LogsQueryCompute: LogsQueryCompute_1.LogsQueryCompute,\n    LogsRetentionAggSumUsage: LogsRetentionAggSumUsage_1.LogsRetentionAggSumUsage,\n    LogsRetentionSumUsage: LogsRetentionSumUsage_1.LogsRetentionSumUsage,\n    LogsServiceRemapper: LogsServiceRemapper_1.LogsServiceRemapper,\n    LogsStatusRemapper: LogsStatusRemapper_1.LogsStatusRemapper,\n    LogsStringBuilderProcessor: LogsStringBuilderProcessor_1.LogsStringBuilderProcessor,\n    LogsTraceRemapper: LogsTraceRemapper_1.LogsTraceRemapper,\n    LogsURLParser: LogsURLParser_1.LogsURLParser,\n    LogsUserAgentParser: LogsUserAgentParser_1.LogsUserAgentParser,\n    MatchingDowntime: MatchingDowntime_1.MatchingDowntime,\n    MetricMetadata: MetricMetadata_1.MetricMetadata,\n    MetricSearchResponse: MetricSearchResponse_1.MetricSearchResponse,\n    MetricSearchResponseResults: MetricSearchResponseResults_1.MetricSearchResponseResults,\n    MetricsListResponse: MetricsListResponse_1.MetricsListResponse,\n    MetricsPayload: MetricsPayload_1.MetricsPayload,\n    MetricsQueryMetadata: MetricsQueryMetadata_1.MetricsQueryMetadata,\n    MetricsQueryResponse: MetricsQueryResponse_1.MetricsQueryResponse,\n    MetricsQueryUnit: MetricsQueryUnit_1.MetricsQueryUnit,\n    Monitor: Monitor_1.Monitor,\n    MonitorFormulaAndFunctionEventQueryDefinition: MonitorFormulaAndFunctionEventQueryDefinition_1.MonitorFormulaAndFunctionEventQueryDefinition,\n    MonitorFormulaAndFunctionEventQueryDefinitionCompute: MonitorFormulaAndFunctionEventQueryDefinitionCompute_1.MonitorFormulaAndFunctionEventQueryDefinitionCompute,\n    MonitorFormulaAndFunctionEventQueryDefinitionSearch: MonitorFormulaAndFunctionEventQueryDefinitionSearch_1.MonitorFormulaAndFunctionEventQueryDefinitionSearch,\n    MonitorFormulaAndFunctionEventQueryGroupBy: MonitorFormulaAndFunctionEventQueryGroupBy_1.MonitorFormulaAndFunctionEventQueryGroupBy,\n    MonitorFormulaAndFunctionEventQueryGroupBySort: MonitorFormulaAndFunctionEventQueryGroupBySort_1.MonitorFormulaAndFunctionEventQueryGroupBySort,\n    MonitorGroupSearchResponse: MonitorGroupSearchResponse_1.MonitorGroupSearchResponse,\n    MonitorGroupSearchResponseCounts: MonitorGroupSearchResponseCounts_1.MonitorGroupSearchResponseCounts,\n    MonitorGroupSearchResult: MonitorGroupSearchResult_1.MonitorGroupSearchResult,\n    MonitorOptions: MonitorOptions_1.MonitorOptions,\n    MonitorOptionsAggregation: MonitorOptionsAggregation_1.MonitorOptionsAggregation,\n    MonitorOptionsSchedulingOptions: MonitorOptionsSchedulingOptions_1.MonitorOptionsSchedulingOptions,\n    MonitorOptionsSchedulingOptionsEvaluationWindow: MonitorOptionsSchedulingOptionsEvaluationWindow_1.MonitorOptionsSchedulingOptionsEvaluationWindow,\n    MonitorSearchCountItem: MonitorSearchCountItem_1.MonitorSearchCountItem,\n    MonitorSearchResponse: MonitorSearchResponse_1.MonitorSearchResponse,\n    MonitorSearchResponseCounts: MonitorSearchResponseCounts_1.MonitorSearchResponseCounts,\n    MonitorSearchResponseMetadata: MonitorSearchResponseMetadata_1.MonitorSearchResponseMetadata,\n    MonitorSearchResult: MonitorSearchResult_1.MonitorSearchResult,\n    MonitorSearchResultNotification: MonitorSearchResultNotification_1.MonitorSearchResultNotification,\n    MonitorState: MonitorState_1.MonitorState,\n    MonitorStateGroup: MonitorStateGroup_1.MonitorStateGroup,\n    MonitorSummaryWidgetDefinition: MonitorSummaryWidgetDefinition_1.MonitorSummaryWidgetDefinition,\n    MonitorThresholdWindowOptions: MonitorThresholdWindowOptions_1.MonitorThresholdWindowOptions,\n    MonitorThresholds: MonitorThresholds_1.MonitorThresholds,\n    MonitorUpdateRequest: MonitorUpdateRequest_1.MonitorUpdateRequest,\n    MonthlyUsageAttributionBody: MonthlyUsageAttributionBody_1.MonthlyUsageAttributionBody,\n    MonthlyUsageAttributionMetadata: MonthlyUsageAttributionMetadata_1.MonthlyUsageAttributionMetadata,\n    MonthlyUsageAttributionPagination: MonthlyUsageAttributionPagination_1.MonthlyUsageAttributionPagination,\n    MonthlyUsageAttributionResponse: MonthlyUsageAttributionResponse_1.MonthlyUsageAttributionResponse,\n    MonthlyUsageAttributionValues: MonthlyUsageAttributionValues_1.MonthlyUsageAttributionValues,\n    NoteWidgetDefinition: NoteWidgetDefinition_1.NoteWidgetDefinition,\n    NotebookAbsoluteTime: NotebookAbsoluteTime_1.NotebookAbsoluteTime,\n    NotebookAuthor: NotebookAuthor_1.NotebookAuthor,\n    NotebookCellCreateRequest: NotebookCellCreateRequest_1.NotebookCellCreateRequest,\n    NotebookCellResponse: NotebookCellResponse_1.NotebookCellResponse,\n    NotebookCellUpdateRequest: NotebookCellUpdateRequest_1.NotebookCellUpdateRequest,\n    NotebookCreateData: NotebookCreateData_1.NotebookCreateData,\n    NotebookCreateDataAttributes: NotebookCreateDataAttributes_1.NotebookCreateDataAttributes,\n    NotebookCreateRequest: NotebookCreateRequest_1.NotebookCreateRequest,\n    NotebookDistributionCellAttributes: NotebookDistributionCellAttributes_1.NotebookDistributionCellAttributes,\n    NotebookHeatMapCellAttributes: NotebookHeatMapCellAttributes_1.NotebookHeatMapCellAttributes,\n    NotebookLogStreamCellAttributes: NotebookLogStreamCellAttributes_1.NotebookLogStreamCellAttributes,\n    NotebookMarkdownCellAttributes: NotebookMarkdownCellAttributes_1.NotebookMarkdownCellAttributes,\n    NotebookMarkdownCellDefinition: NotebookMarkdownCellDefinition_1.NotebookMarkdownCellDefinition,\n    NotebookMetadata: NotebookMetadata_1.NotebookMetadata,\n    NotebookRelativeTime: NotebookRelativeTime_1.NotebookRelativeTime,\n    NotebookResponse: NotebookResponse_1.NotebookResponse,\n    NotebookResponseData: NotebookResponseData_1.NotebookResponseData,\n    NotebookResponseDataAttributes: NotebookResponseDataAttributes_1.NotebookResponseDataAttributes,\n    NotebookSplitBy: NotebookSplitBy_1.NotebookSplitBy,\n    NotebookTimeseriesCellAttributes: NotebookTimeseriesCellAttributes_1.NotebookTimeseriesCellAttributes,\n    NotebookToplistCellAttributes: NotebookToplistCellAttributes_1.NotebookToplistCellAttributes,\n    NotebookUpdateData: NotebookUpdateData_1.NotebookUpdateData,\n    NotebookUpdateDataAttributes: NotebookUpdateDataAttributes_1.NotebookUpdateDataAttributes,\n    NotebookUpdateRequest: NotebookUpdateRequest_1.NotebookUpdateRequest,\n    NotebooksResponse: NotebooksResponse_1.NotebooksResponse,\n    NotebooksResponseData: NotebooksResponseData_1.NotebooksResponseData,\n    NotebooksResponseDataAttributes: NotebooksResponseDataAttributes_1.NotebooksResponseDataAttributes,\n    NotebooksResponseMeta: NotebooksResponseMeta_1.NotebooksResponseMeta,\n    NotebooksResponsePage: NotebooksResponsePage_1.NotebooksResponsePage,\n    OrgDowngradedResponse: OrgDowngradedResponse_1.OrgDowngradedResponse,\n    Organization: Organization_1.Organization,\n    OrganizationBilling: OrganizationBilling_1.OrganizationBilling,\n    OrganizationCreateBody: OrganizationCreateBody_1.OrganizationCreateBody,\n    OrganizationCreateResponse: OrganizationCreateResponse_1.OrganizationCreateResponse,\n    OrganizationListResponse: OrganizationListResponse_1.OrganizationListResponse,\n    OrganizationResponse: OrganizationResponse_1.OrganizationResponse,\n    OrganizationSettings: OrganizationSettings_1.OrganizationSettings,\n    OrganizationSettingsSaml: OrganizationSettingsSaml_1.OrganizationSettingsSaml,\n    OrganizationSettingsSamlAutocreateUsersDomains: OrganizationSettingsSamlAutocreateUsersDomains_1.OrganizationSettingsSamlAutocreateUsersDomains,\n    OrganizationSettingsSamlIdpInitiatedLogin: OrganizationSettingsSamlIdpInitiatedLogin_1.OrganizationSettingsSamlIdpInitiatedLogin,\n    OrganizationSettingsSamlStrictMode: OrganizationSettingsSamlStrictMode_1.OrganizationSettingsSamlStrictMode,\n    OrganizationSubscription: OrganizationSubscription_1.OrganizationSubscription,\n    PagerDutyService: PagerDutyService_1.PagerDutyService,\n    PagerDutyServiceKey: PagerDutyServiceKey_1.PagerDutyServiceKey,\n    PagerDutyServiceName: PagerDutyServiceName_1.PagerDutyServiceName,\n    Pagination: Pagination_1.Pagination,\n    ProcessQueryDefinition: ProcessQueryDefinition_1.ProcessQueryDefinition,\n    QueryValueWidgetDefinition: QueryValueWidgetDefinition_1.QueryValueWidgetDefinition,\n    QueryValueWidgetRequest: QueryValueWidgetRequest_1.QueryValueWidgetRequest,\n    ReferenceTableLogsLookupProcessor: ReferenceTableLogsLookupProcessor_1.ReferenceTableLogsLookupProcessor,\n    ResponseMetaAttributes: ResponseMetaAttributes_1.ResponseMetaAttributes,\n    RunWorkflowWidgetDefinition: RunWorkflowWidgetDefinition_1.RunWorkflowWidgetDefinition,\n    RunWorkflowWidgetInput: RunWorkflowWidgetInput_1.RunWorkflowWidgetInput,\n    SLOBulkDeleteError: SLOBulkDeleteError_1.SLOBulkDeleteError,\n    SLOBulkDeleteResponse: SLOBulkDeleteResponse_1.SLOBulkDeleteResponse,\n    SLOBulkDeleteResponseData: SLOBulkDeleteResponseData_1.SLOBulkDeleteResponseData,\n    SLOCorrection: SLOCorrection_1.SLOCorrection,\n    SLOCorrectionCreateData: SLOCorrectionCreateData_1.SLOCorrectionCreateData,\n    SLOCorrectionCreateRequest: SLOCorrectionCreateRequest_1.SLOCorrectionCreateRequest,\n    SLOCorrectionCreateRequestAttributes: SLOCorrectionCreateRequestAttributes_1.SLOCorrectionCreateRequestAttributes,\n    SLOCorrectionListResponse: SLOCorrectionListResponse_1.SLOCorrectionListResponse,\n    SLOCorrectionResponse: SLOCorrectionResponse_1.SLOCorrectionResponse,\n    SLOCorrectionResponseAttributes: SLOCorrectionResponseAttributes_1.SLOCorrectionResponseAttributes,\n    SLOCorrectionResponseAttributesModifier: SLOCorrectionResponseAttributesModifier_1.SLOCorrectionResponseAttributesModifier,\n    SLOCorrectionUpdateData: SLOCorrectionUpdateData_1.SLOCorrectionUpdateData,\n    SLOCorrectionUpdateRequest: SLOCorrectionUpdateRequest_1.SLOCorrectionUpdateRequest,\n    SLOCorrectionUpdateRequestAttributes: SLOCorrectionUpdateRequestAttributes_1.SLOCorrectionUpdateRequestAttributes,\n    SLOCreator: SLOCreator_1.SLOCreator,\n    SLODeleteResponse: SLODeleteResponse_1.SLODeleteResponse,\n    SLOHistoryMetrics: SLOHistoryMetrics_1.SLOHistoryMetrics,\n    SLOHistoryMetricsSeries: SLOHistoryMetricsSeries_1.SLOHistoryMetricsSeries,\n    SLOHistoryMetricsSeriesMetadata: SLOHistoryMetricsSeriesMetadata_1.SLOHistoryMetricsSeriesMetadata,\n    SLOHistoryMetricsSeriesMetadataUnit: SLOHistoryMetricsSeriesMetadataUnit_1.SLOHistoryMetricsSeriesMetadataUnit,\n    SLOHistoryMonitor: SLOHistoryMonitor_1.SLOHistoryMonitor,\n    SLOHistoryResponse: SLOHistoryResponse_1.SLOHistoryResponse,\n    SLOHistoryResponseData: SLOHistoryResponseData_1.SLOHistoryResponseData,\n    SLOHistoryResponseError: SLOHistoryResponseError_1.SLOHistoryResponseError,\n    SLOHistoryResponseErrorWithType: SLOHistoryResponseErrorWithType_1.SLOHistoryResponseErrorWithType,\n    SLOHistorySLIData: SLOHistorySLIData_1.SLOHistorySLIData,\n    SLOListResponse: SLOListResponse_1.SLOListResponse,\n    SLOListResponseMetadata: SLOListResponseMetadata_1.SLOListResponseMetadata,\n    SLOListResponseMetadataPage: SLOListResponseMetadataPage_1.SLOListResponseMetadataPage,\n    SLOListWidgetDefinition: SLOListWidgetDefinition_1.SLOListWidgetDefinition,\n    SLOListWidgetQuery: SLOListWidgetQuery_1.SLOListWidgetQuery,\n    SLOListWidgetRequest: SLOListWidgetRequest_1.SLOListWidgetRequest,\n    SLOOverallStatuses: SLOOverallStatuses_1.SLOOverallStatuses,\n    SLORawErrorBudgetRemaining: SLORawErrorBudgetRemaining_1.SLORawErrorBudgetRemaining,\n    SLOResponse: SLOResponse_1.SLOResponse,\n    SLOResponseData: SLOResponseData_1.SLOResponseData,\n    SLOStatus: SLOStatus_1.SLOStatus,\n    SLOThreshold: SLOThreshold_1.SLOThreshold,\n    SLOWidgetDefinition: SLOWidgetDefinition_1.SLOWidgetDefinition,\n    ScatterPlotRequest: ScatterPlotRequest_1.ScatterPlotRequest,\n    ScatterPlotWidgetDefinition: ScatterPlotWidgetDefinition_1.ScatterPlotWidgetDefinition,\n    ScatterPlotWidgetDefinitionRequests: ScatterPlotWidgetDefinitionRequests_1.ScatterPlotWidgetDefinitionRequests,\n    ScatterplotTableRequest: ScatterplotTableRequest_1.ScatterplotTableRequest,\n    ScatterplotWidgetFormula: ScatterplotWidgetFormula_1.ScatterplotWidgetFormula,\n    SearchSLOQuery: SearchSLOQuery_1.SearchSLOQuery,\n    SearchSLOResponse: SearchSLOResponse_1.SearchSLOResponse,\n    SearchSLOResponseData: SearchSLOResponseData_1.SearchSLOResponseData,\n    SearchSLOResponseDataAttributes: SearchSLOResponseDataAttributes_1.SearchSLOResponseDataAttributes,\n    SearchSLOResponseDataAttributesFacets: SearchSLOResponseDataAttributesFacets_1.SearchSLOResponseDataAttributesFacets,\n    SearchSLOResponseDataAttributesFacetsObjectInt: SearchSLOResponseDataAttributesFacetsObjectInt_1.SearchSLOResponseDataAttributesFacetsObjectInt,\n    SearchSLOResponseDataAttributesFacetsObjectString: SearchSLOResponseDataAttributesFacetsObjectString_1.SearchSLOResponseDataAttributesFacetsObjectString,\n    SearchSLOResponseLinks: SearchSLOResponseLinks_1.SearchSLOResponseLinks,\n    SearchSLOResponseMeta: SearchSLOResponseMeta_1.SearchSLOResponseMeta,\n    SearchSLOResponseMetaPage: SearchSLOResponseMetaPage_1.SearchSLOResponseMetaPage,\n    SearchSLOThreshold: SearchSLOThreshold_1.SearchSLOThreshold,\n    SearchServiceLevelObjective: SearchServiceLevelObjective_1.SearchServiceLevelObjective,\n    SearchServiceLevelObjectiveAttributes: SearchServiceLevelObjectiveAttributes_1.SearchServiceLevelObjectiveAttributes,\n    SearchServiceLevelObjectiveData: SearchServiceLevelObjectiveData_1.SearchServiceLevelObjectiveData,\n    SelectableTemplateVariableItems: SelectableTemplateVariableItems_1.SelectableTemplateVariableItems,\n    Series: Series_1.Series,\n    ServiceCheck: ServiceCheck_1.ServiceCheck,\n    ServiceLevelObjective: ServiceLevelObjective_1.ServiceLevelObjective,\n    ServiceLevelObjectiveQuery: ServiceLevelObjectiveQuery_1.ServiceLevelObjectiveQuery,\n    ServiceLevelObjectiveRequest: ServiceLevelObjectiveRequest_1.ServiceLevelObjectiveRequest,\n    ServiceMapWidgetDefinition: ServiceMapWidgetDefinition_1.ServiceMapWidgetDefinition,\n    ServiceSummaryWidgetDefinition: ServiceSummaryWidgetDefinition_1.ServiceSummaryWidgetDefinition,\n    SharedDashboard: SharedDashboard_1.SharedDashboard,\n    SharedDashboardAuthor: SharedDashboardAuthor_1.SharedDashboardAuthor,\n    SharedDashboardInvites: SharedDashboardInvites_1.SharedDashboardInvites,\n    SharedDashboardInvitesDataObject: SharedDashboardInvitesDataObject_1.SharedDashboardInvitesDataObject,\n    SharedDashboardInvitesDataObjectAttributes: SharedDashboardInvitesDataObjectAttributes_1.SharedDashboardInvitesDataObjectAttributes,\n    SharedDashboardInvitesMeta: SharedDashboardInvitesMeta_1.SharedDashboardInvitesMeta,\n    SharedDashboardInvitesMetaPage: SharedDashboardInvitesMetaPage_1.SharedDashboardInvitesMetaPage,\n    SharedDashboardUpdateRequest: SharedDashboardUpdateRequest_1.SharedDashboardUpdateRequest,\n    SharedDashboardUpdateRequestGlobalTime: SharedDashboardUpdateRequestGlobalTime_1.SharedDashboardUpdateRequestGlobalTime,\n    SignalAssigneeUpdateRequest: SignalAssigneeUpdateRequest_1.SignalAssigneeUpdateRequest,\n    SignalStateUpdateRequest: SignalStateUpdateRequest_1.SignalStateUpdateRequest,\n    SlackIntegrationChannel: SlackIntegrationChannel_1.SlackIntegrationChannel,\n    SlackIntegrationChannelDisplay: SlackIntegrationChannelDisplay_1.SlackIntegrationChannelDisplay,\n    SuccessfulSignalUpdateResponse: SuccessfulSignalUpdateResponse_1.SuccessfulSignalUpdateResponse,\n    SunburstWidgetDefinition: SunburstWidgetDefinition_1.SunburstWidgetDefinition,\n    SunburstWidgetLegendInlineAutomatic: SunburstWidgetLegendInlineAutomatic_1.SunburstWidgetLegendInlineAutomatic,\n    SunburstWidgetLegendTable: SunburstWidgetLegendTable_1.SunburstWidgetLegendTable,\n    SunburstWidgetRequest: SunburstWidgetRequest_1.SunburstWidgetRequest,\n    SyntheticsAPIStep: SyntheticsAPIStep_1.SyntheticsAPIStep,\n    SyntheticsAPITest: SyntheticsAPITest_1.SyntheticsAPITest,\n    SyntheticsAPITestConfig: SyntheticsAPITestConfig_1.SyntheticsAPITestConfig,\n    SyntheticsAPITestResultData: SyntheticsAPITestResultData_1.SyntheticsAPITestResultData,\n    SyntheticsAPITestResultFull: SyntheticsAPITestResultFull_1.SyntheticsAPITestResultFull,\n    SyntheticsAPITestResultFullCheck: SyntheticsAPITestResultFullCheck_1.SyntheticsAPITestResultFullCheck,\n    SyntheticsAPITestResultShort: SyntheticsAPITestResultShort_1.SyntheticsAPITestResultShort,\n    SyntheticsAPITestResultShortResult: SyntheticsAPITestResultShortResult_1.SyntheticsAPITestResultShortResult,\n    SyntheticsApiTestResultFailure: SyntheticsApiTestResultFailure_1.SyntheticsApiTestResultFailure,\n    SyntheticsAssertionJSONPathTarget: SyntheticsAssertionJSONPathTarget_1.SyntheticsAssertionJSONPathTarget,\n    SyntheticsAssertionJSONPathTargetTarget: SyntheticsAssertionJSONPathTargetTarget_1.SyntheticsAssertionJSONPathTargetTarget,\n    SyntheticsAssertionTarget: SyntheticsAssertionTarget_1.SyntheticsAssertionTarget,\n    SyntheticsAssertionXPathTarget: SyntheticsAssertionXPathTarget_1.SyntheticsAssertionXPathTarget,\n    SyntheticsAssertionXPathTargetTarget: SyntheticsAssertionXPathTargetTarget_1.SyntheticsAssertionXPathTargetTarget,\n    SyntheticsBasicAuthDigest: SyntheticsBasicAuthDigest_1.SyntheticsBasicAuthDigest,\n    SyntheticsBasicAuthNTLM: SyntheticsBasicAuthNTLM_1.SyntheticsBasicAuthNTLM,\n    SyntheticsBasicAuthOauthClient: SyntheticsBasicAuthOauthClient_1.SyntheticsBasicAuthOauthClient,\n    SyntheticsBasicAuthOauthROP: SyntheticsBasicAuthOauthROP_1.SyntheticsBasicAuthOauthROP,\n    SyntheticsBasicAuthSigv4: SyntheticsBasicAuthSigv4_1.SyntheticsBasicAuthSigv4,\n    SyntheticsBasicAuthWeb: SyntheticsBasicAuthWeb_1.SyntheticsBasicAuthWeb,\n    SyntheticsBatchDetails: SyntheticsBatchDetails_1.SyntheticsBatchDetails,\n    SyntheticsBatchDetailsData: SyntheticsBatchDetailsData_1.SyntheticsBatchDetailsData,\n    SyntheticsBatchResult: SyntheticsBatchResult_1.SyntheticsBatchResult,\n    SyntheticsBrowserError: SyntheticsBrowserError_1.SyntheticsBrowserError,\n    SyntheticsBrowserTest: SyntheticsBrowserTest_1.SyntheticsBrowserTest,\n    SyntheticsBrowserTestConfig: SyntheticsBrowserTestConfig_1.SyntheticsBrowserTestConfig,\n    SyntheticsBrowserTestResultData: SyntheticsBrowserTestResultData_1.SyntheticsBrowserTestResultData,\n    SyntheticsBrowserTestResultFailure: SyntheticsBrowserTestResultFailure_1.SyntheticsBrowserTestResultFailure,\n    SyntheticsBrowserTestResultFull: SyntheticsBrowserTestResultFull_1.SyntheticsBrowserTestResultFull,\n    SyntheticsBrowserTestResultFullCheck: SyntheticsBrowserTestResultFullCheck_1.SyntheticsBrowserTestResultFullCheck,\n    SyntheticsBrowserTestResultShort: SyntheticsBrowserTestResultShort_1.SyntheticsBrowserTestResultShort,\n    SyntheticsBrowserTestResultShortResult: SyntheticsBrowserTestResultShortResult_1.SyntheticsBrowserTestResultShortResult,\n    SyntheticsBrowserTestRumSettings: SyntheticsBrowserTestRumSettings_1.SyntheticsBrowserTestRumSettings,\n    SyntheticsBrowserVariable: SyntheticsBrowserVariable_1.SyntheticsBrowserVariable,\n    SyntheticsCIBatchMetadata: SyntheticsCIBatchMetadata_1.SyntheticsCIBatchMetadata,\n    SyntheticsCIBatchMetadataCI: SyntheticsCIBatchMetadataCI_1.SyntheticsCIBatchMetadataCI,\n    SyntheticsCIBatchMetadataGit: SyntheticsCIBatchMetadataGit_1.SyntheticsCIBatchMetadataGit,\n    SyntheticsCIBatchMetadataPipeline: SyntheticsCIBatchMetadataPipeline_1.SyntheticsCIBatchMetadataPipeline,\n    SyntheticsCIBatchMetadataProvider: SyntheticsCIBatchMetadataProvider_1.SyntheticsCIBatchMetadataProvider,\n    SyntheticsCITest: SyntheticsCITest_1.SyntheticsCITest,\n    SyntheticsCITestBody: SyntheticsCITestBody_1.SyntheticsCITestBody,\n    SyntheticsConfigVariable: SyntheticsConfigVariable_1.SyntheticsConfigVariable,\n    SyntheticsCoreWebVitals: SyntheticsCoreWebVitals_1.SyntheticsCoreWebVitals,\n    SyntheticsDeleteTestsPayload: SyntheticsDeleteTestsPayload_1.SyntheticsDeleteTestsPayload,\n    SyntheticsDeleteTestsResponse: SyntheticsDeleteTestsResponse_1.SyntheticsDeleteTestsResponse,\n    SyntheticsDeletedTest: SyntheticsDeletedTest_1.SyntheticsDeletedTest,\n    SyntheticsDevice: SyntheticsDevice_1.SyntheticsDevice,\n    SyntheticsGetAPITestLatestResultsResponse: SyntheticsGetAPITestLatestResultsResponse_1.SyntheticsGetAPITestLatestResultsResponse,\n    SyntheticsGetBrowserTestLatestResultsResponse: SyntheticsGetBrowserTestLatestResultsResponse_1.SyntheticsGetBrowserTestLatestResultsResponse,\n    SyntheticsGlobalVariable: SyntheticsGlobalVariable_1.SyntheticsGlobalVariable,\n    SyntheticsGlobalVariableAttributes: SyntheticsGlobalVariableAttributes_1.SyntheticsGlobalVariableAttributes,\n    SyntheticsGlobalVariableOptions: SyntheticsGlobalVariableOptions_1.SyntheticsGlobalVariableOptions,\n    SyntheticsGlobalVariableParseTestOptions: SyntheticsGlobalVariableParseTestOptions_1.SyntheticsGlobalVariableParseTestOptions,\n    SyntheticsGlobalVariableTOTPParameters: SyntheticsGlobalVariableTOTPParameters_1.SyntheticsGlobalVariableTOTPParameters,\n    SyntheticsGlobalVariableValue: SyntheticsGlobalVariableValue_1.SyntheticsGlobalVariableValue,\n    SyntheticsListGlobalVariablesResponse: SyntheticsListGlobalVariablesResponse_1.SyntheticsListGlobalVariablesResponse,\n    SyntheticsListTestsResponse: SyntheticsListTestsResponse_1.SyntheticsListTestsResponse,\n    SyntheticsLocation: SyntheticsLocation_1.SyntheticsLocation,\n    SyntheticsLocations: SyntheticsLocations_1.SyntheticsLocations,\n    SyntheticsParsingOptions: SyntheticsParsingOptions_1.SyntheticsParsingOptions,\n    SyntheticsPrivateLocation: SyntheticsPrivateLocation_1.SyntheticsPrivateLocation,\n    SyntheticsPrivateLocationCreationResponse: SyntheticsPrivateLocationCreationResponse_1.SyntheticsPrivateLocationCreationResponse,\n    SyntheticsPrivateLocationCreationResponseResultEncryption: SyntheticsPrivateLocationCreationResponseResultEncryption_1.SyntheticsPrivateLocationCreationResponseResultEncryption,\n    SyntheticsPrivateLocationMetadata: SyntheticsPrivateLocationMetadata_1.SyntheticsPrivateLocationMetadata,\n    SyntheticsPrivateLocationSecrets: SyntheticsPrivateLocationSecrets_1.SyntheticsPrivateLocationSecrets,\n    SyntheticsPrivateLocationSecretsAuthentication: SyntheticsPrivateLocationSecretsAuthentication_1.SyntheticsPrivateLocationSecretsAuthentication,\n    SyntheticsPrivateLocationSecretsConfigDecryption: SyntheticsPrivateLocationSecretsConfigDecryption_1.SyntheticsPrivateLocationSecretsConfigDecryption,\n    SyntheticsSSLCertificate: SyntheticsSSLCertificate_1.SyntheticsSSLCertificate,\n    SyntheticsSSLCertificateIssuer: SyntheticsSSLCertificateIssuer_1.SyntheticsSSLCertificateIssuer,\n    SyntheticsSSLCertificateSubject: SyntheticsSSLCertificateSubject_1.SyntheticsSSLCertificateSubject,\n    SyntheticsStep: SyntheticsStep_1.SyntheticsStep,\n    SyntheticsStepDetail: SyntheticsStepDetail_1.SyntheticsStepDetail,\n    SyntheticsStepDetailWarning: SyntheticsStepDetailWarning_1.SyntheticsStepDetailWarning,\n    SyntheticsTestCiOptions: SyntheticsTestCiOptions_1.SyntheticsTestCiOptions,\n    SyntheticsTestConfig: SyntheticsTestConfig_1.SyntheticsTestConfig,\n    SyntheticsTestDetails: SyntheticsTestDetails_1.SyntheticsTestDetails,\n    SyntheticsTestOptions: SyntheticsTestOptions_1.SyntheticsTestOptions,\n    SyntheticsTestOptionsMonitorOptions: SyntheticsTestOptionsMonitorOptions_1.SyntheticsTestOptionsMonitorOptions,\n    SyntheticsTestOptionsRetry: SyntheticsTestOptionsRetry_1.SyntheticsTestOptionsRetry,\n    SyntheticsTestOptionsScheduling: SyntheticsTestOptionsScheduling_1.SyntheticsTestOptionsScheduling,\n    SyntheticsTestOptionsSchedulingTimeframe: SyntheticsTestOptionsSchedulingTimeframe_1.SyntheticsTestOptionsSchedulingTimeframe,\n    SyntheticsTestRequest: SyntheticsTestRequest_1.SyntheticsTestRequest,\n    SyntheticsTestRequestCertificate: SyntheticsTestRequestCertificate_1.SyntheticsTestRequestCertificate,\n    SyntheticsTestRequestCertificateItem: SyntheticsTestRequestCertificateItem_1.SyntheticsTestRequestCertificateItem,\n    SyntheticsTestRequestProxy: SyntheticsTestRequestProxy_1.SyntheticsTestRequestProxy,\n    SyntheticsTiming: SyntheticsTiming_1.SyntheticsTiming,\n    SyntheticsTriggerBody: SyntheticsTriggerBody_1.SyntheticsTriggerBody,\n    SyntheticsTriggerCITestLocation: SyntheticsTriggerCITestLocation_1.SyntheticsTriggerCITestLocation,\n    SyntheticsTriggerCITestRunResult: SyntheticsTriggerCITestRunResult_1.SyntheticsTriggerCITestRunResult,\n    SyntheticsTriggerCITestsResponse: SyntheticsTriggerCITestsResponse_1.SyntheticsTriggerCITestsResponse,\n    SyntheticsTriggerTest: SyntheticsTriggerTest_1.SyntheticsTriggerTest,\n    SyntheticsUpdateTestPauseStatusPayload: SyntheticsUpdateTestPauseStatusPayload_1.SyntheticsUpdateTestPauseStatusPayload,\n    SyntheticsVariableParser: SyntheticsVariableParser_1.SyntheticsVariableParser,\n    TableWidgetDefinition: TableWidgetDefinition_1.TableWidgetDefinition,\n    TableWidgetRequest: TableWidgetRequest_1.TableWidgetRequest,\n    TagToHosts: TagToHosts_1.TagToHosts,\n    TimeseriesBackground: TimeseriesBackground_1.TimeseriesBackground,\n    TimeseriesWidgetDefinition: TimeseriesWidgetDefinition_1.TimeseriesWidgetDefinition,\n    TimeseriesWidgetExpressionAlias: TimeseriesWidgetExpressionAlias_1.TimeseriesWidgetExpressionAlias,\n    TimeseriesWidgetRequest: TimeseriesWidgetRequest_1.TimeseriesWidgetRequest,\n    ToplistWidgetDefinition: ToplistWidgetDefinition_1.ToplistWidgetDefinition,\n    ToplistWidgetRequest: ToplistWidgetRequest_1.ToplistWidgetRequest,\n    TopologyMapWidgetDefinition: TopologyMapWidgetDefinition_1.TopologyMapWidgetDefinition,\n    TopologyQuery: TopologyQuery_1.TopologyQuery,\n    TopologyRequest: TopologyRequest_1.TopologyRequest,\n    TreeMapWidgetDefinition: TreeMapWidgetDefinition_1.TreeMapWidgetDefinition,\n    TreeMapWidgetRequest: TreeMapWidgetRequest_1.TreeMapWidgetRequest,\n    UsageAnalyzedLogsHour: UsageAnalyzedLogsHour_1.UsageAnalyzedLogsHour,\n    UsageAnalyzedLogsResponse: UsageAnalyzedLogsResponse_1.UsageAnalyzedLogsResponse,\n    UsageAttributionAggregatesBody: UsageAttributionAggregatesBody_1.UsageAttributionAggregatesBody,\n    UsageAttributionBody: UsageAttributionBody_1.UsageAttributionBody,\n    UsageAttributionMetadata: UsageAttributionMetadata_1.UsageAttributionMetadata,\n    UsageAttributionPagination: UsageAttributionPagination_1.UsageAttributionPagination,\n    UsageAttributionResponse: UsageAttributionResponse_1.UsageAttributionResponse,\n    UsageAttributionValues: UsageAttributionValues_1.UsageAttributionValues,\n    UsageAuditLogsHour: UsageAuditLogsHour_1.UsageAuditLogsHour,\n    UsageAuditLogsResponse: UsageAuditLogsResponse_1.UsageAuditLogsResponse,\n    UsageBillableSummaryBody: UsageBillableSummaryBody_1.UsageBillableSummaryBody,\n    UsageBillableSummaryHour: UsageBillableSummaryHour_1.UsageBillableSummaryHour,\n    UsageBillableSummaryKeys: UsageBillableSummaryKeys_1.UsageBillableSummaryKeys,\n    UsageBillableSummaryResponse: UsageBillableSummaryResponse_1.UsageBillableSummaryResponse,\n    UsageCIVisibilityHour: UsageCIVisibilityHour_1.UsageCIVisibilityHour,\n    UsageCIVisibilityResponse: UsageCIVisibilityResponse_1.UsageCIVisibilityResponse,\n    UsageCWSHour: UsageCWSHour_1.UsageCWSHour,\n    UsageCWSResponse: UsageCWSResponse_1.UsageCWSResponse,\n    UsageCloudSecurityPostureManagementHour: UsageCloudSecurityPostureManagementHour_1.UsageCloudSecurityPostureManagementHour,\n    UsageCloudSecurityPostureManagementResponse: UsageCloudSecurityPostureManagementResponse_1.UsageCloudSecurityPostureManagementResponse,\n    UsageCustomReportsAttributes: UsageCustomReportsAttributes_1.UsageCustomReportsAttributes,\n    UsageCustomReportsData: UsageCustomReportsData_1.UsageCustomReportsData,\n    UsageCustomReportsMeta: UsageCustomReportsMeta_1.UsageCustomReportsMeta,\n    UsageCustomReportsPage: UsageCustomReportsPage_1.UsageCustomReportsPage,\n    UsageCustomReportsResponse: UsageCustomReportsResponse_1.UsageCustomReportsResponse,\n    UsageDBMHour: UsageDBMHour_1.UsageDBMHour,\n    UsageDBMResponse: UsageDBMResponse_1.UsageDBMResponse,\n    UsageFargateHour: UsageFargateHour_1.UsageFargateHour,\n    UsageFargateResponse: UsageFargateResponse_1.UsageFargateResponse,\n    UsageHostHour: UsageHostHour_1.UsageHostHour,\n    UsageHostsResponse: UsageHostsResponse_1.UsageHostsResponse,\n    UsageIncidentManagementHour: UsageIncidentManagementHour_1.UsageIncidentManagementHour,\n    UsageIncidentManagementResponse: UsageIncidentManagementResponse_1.UsageIncidentManagementResponse,\n    UsageIndexedSpansHour: UsageIndexedSpansHour_1.UsageIndexedSpansHour,\n    UsageIndexedSpansResponse: UsageIndexedSpansResponse_1.UsageIndexedSpansResponse,\n    UsageIngestedSpansHour: UsageIngestedSpansHour_1.UsageIngestedSpansHour,\n    UsageIngestedSpansResponse: UsageIngestedSpansResponse_1.UsageIngestedSpansResponse,\n    UsageIoTHour: UsageIoTHour_1.UsageIoTHour,\n    UsageIoTResponse: UsageIoTResponse_1.UsageIoTResponse,\n    UsageLambdaHour: UsageLambdaHour_1.UsageLambdaHour,\n    UsageLambdaResponse: UsageLambdaResponse_1.UsageLambdaResponse,\n    UsageLogsByIndexHour: UsageLogsByIndexHour_1.UsageLogsByIndexHour,\n    UsageLogsByIndexResponse: UsageLogsByIndexResponse_1.UsageLogsByIndexResponse,\n    UsageLogsByRetentionHour: UsageLogsByRetentionHour_1.UsageLogsByRetentionHour,\n    UsageLogsByRetentionResponse: UsageLogsByRetentionResponse_1.UsageLogsByRetentionResponse,\n    UsageLogsHour: UsageLogsHour_1.UsageLogsHour,\n    UsageLogsResponse: UsageLogsResponse_1.UsageLogsResponse,\n    UsageNetworkFlowsHour: UsageNetworkFlowsHour_1.UsageNetworkFlowsHour,\n    UsageNetworkFlowsResponse: UsageNetworkFlowsResponse_1.UsageNetworkFlowsResponse,\n    UsageNetworkHostsHour: UsageNetworkHostsHour_1.UsageNetworkHostsHour,\n    UsageNetworkHostsResponse: UsageNetworkHostsResponse_1.UsageNetworkHostsResponse,\n    UsageOnlineArchiveHour: UsageOnlineArchiveHour_1.UsageOnlineArchiveHour,\n    UsageOnlineArchiveResponse: UsageOnlineArchiveResponse_1.UsageOnlineArchiveResponse,\n    UsageProfilingHour: UsageProfilingHour_1.UsageProfilingHour,\n    UsageProfilingResponse: UsageProfilingResponse_1.UsageProfilingResponse,\n    UsageRumSessionsHour: UsageRumSessionsHour_1.UsageRumSessionsHour,\n    UsageRumSessionsResponse: UsageRumSessionsResponse_1.UsageRumSessionsResponse,\n    UsageRumUnitsHour: UsageRumUnitsHour_1.UsageRumUnitsHour,\n    UsageRumUnitsResponse: UsageRumUnitsResponse_1.UsageRumUnitsResponse,\n    UsageSDSHour: UsageSDSHour_1.UsageSDSHour,\n    UsageSDSResponse: UsageSDSResponse_1.UsageSDSResponse,\n    UsageSNMPHour: UsageSNMPHour_1.UsageSNMPHour,\n    UsageSNMPResponse: UsageSNMPResponse_1.UsageSNMPResponse,\n    UsageSpecifiedCustomReportsAttributes: UsageSpecifiedCustomReportsAttributes_1.UsageSpecifiedCustomReportsAttributes,\n    UsageSpecifiedCustomReportsData: UsageSpecifiedCustomReportsData_1.UsageSpecifiedCustomReportsData,\n    UsageSpecifiedCustomReportsMeta: UsageSpecifiedCustomReportsMeta_1.UsageSpecifiedCustomReportsMeta,\n    UsageSpecifiedCustomReportsPage: UsageSpecifiedCustomReportsPage_1.UsageSpecifiedCustomReportsPage,\n    UsageSpecifiedCustomReportsResponse: UsageSpecifiedCustomReportsResponse_1.UsageSpecifiedCustomReportsResponse,\n    UsageSummaryDate: UsageSummaryDate_1.UsageSummaryDate,\n    UsageSummaryDateOrg: UsageSummaryDateOrg_1.UsageSummaryDateOrg,\n    UsageSummaryResponse: UsageSummaryResponse_1.UsageSummaryResponse,\n    UsageSyntheticsAPIHour: UsageSyntheticsAPIHour_1.UsageSyntheticsAPIHour,\n    UsageSyntheticsAPIResponse: UsageSyntheticsAPIResponse_1.UsageSyntheticsAPIResponse,\n    UsageSyntheticsBrowserHour: UsageSyntheticsBrowserHour_1.UsageSyntheticsBrowserHour,\n    UsageSyntheticsBrowserResponse: UsageSyntheticsBrowserResponse_1.UsageSyntheticsBrowserResponse,\n    UsageSyntheticsHour: UsageSyntheticsHour_1.UsageSyntheticsHour,\n    UsageSyntheticsResponse: UsageSyntheticsResponse_1.UsageSyntheticsResponse,\n    UsageTimeseriesHour: UsageTimeseriesHour_1.UsageTimeseriesHour,\n    UsageTimeseriesResponse: UsageTimeseriesResponse_1.UsageTimeseriesResponse,\n    UsageTopAvgMetricsHour: UsageTopAvgMetricsHour_1.UsageTopAvgMetricsHour,\n    UsageTopAvgMetricsMetadata: UsageTopAvgMetricsMetadata_1.UsageTopAvgMetricsMetadata,\n    UsageTopAvgMetricsPagination: UsageTopAvgMetricsPagination_1.UsageTopAvgMetricsPagination,\n    UsageTopAvgMetricsResponse: UsageTopAvgMetricsResponse_1.UsageTopAvgMetricsResponse,\n    User: User_1.User,\n    UserDisableResponse: UserDisableResponse_1.UserDisableResponse,\n    UserListResponse: UserListResponse_1.UserListResponse,\n    UserResponse: UserResponse_1.UserResponse,\n    WebhooksIntegration: WebhooksIntegration_1.WebhooksIntegration,\n    WebhooksIntegrationCustomVariable: WebhooksIntegrationCustomVariable_1.WebhooksIntegrationCustomVariable,\n    WebhooksIntegrationCustomVariableResponse: WebhooksIntegrationCustomVariableResponse_1.WebhooksIntegrationCustomVariableResponse,\n    WebhooksIntegrationCustomVariableUpdateRequest: WebhooksIntegrationCustomVariableUpdateRequest_1.WebhooksIntegrationCustomVariableUpdateRequest,\n    WebhooksIntegrationUpdateRequest: WebhooksIntegrationUpdateRequest_1.WebhooksIntegrationUpdateRequest,\n    Widget: Widget_1.Widget,\n    WidgetAxis: WidgetAxis_1.WidgetAxis,\n    WidgetConditionalFormat: WidgetConditionalFormat_1.WidgetConditionalFormat,\n    WidgetCustomLink: WidgetCustomLink_1.WidgetCustomLink,\n    WidgetEvent: WidgetEvent_1.WidgetEvent,\n    WidgetFieldSort: WidgetFieldSort_1.WidgetFieldSort,\n    WidgetFormula: WidgetFormula_1.WidgetFormula,\n    WidgetFormulaLimit: WidgetFormulaLimit_1.WidgetFormulaLimit,\n    WidgetFormulaStyle: WidgetFormulaStyle_1.WidgetFormulaStyle,\n    WidgetLayout: WidgetLayout_1.WidgetLayout,\n    WidgetMarker: WidgetMarker_1.WidgetMarker,\n    WidgetRequestStyle: WidgetRequestStyle_1.WidgetRequestStyle,\n    WidgetStyle: WidgetStyle_1.WidgetStyle,\n    WidgetTime: WidgetTime_1.WidgetTime,\n};\nconst oneOfMap = {\n    DistributionPointItem: [\"number\", \"Array\"],\n    DistributionWidgetHistogramRequestQuery: [\n        \"FormulaAndFunctionMetricQueryDefinition\",\n        \"FormulaAndFunctionEventQueryDefinition\",\n        \"FormulaAndFunctionApmResourceStatsQueryDefinition\",\n    ],\n    FormulaAndFunctionQueryDefinition: [\n        \"FormulaAndFunctionMetricQueryDefinition\",\n        \"FormulaAndFunctionEventQueryDefinition\",\n        \"FormulaAndFunctionProcessQueryDefinition\",\n        \"FormulaAndFunctionApmDependencyStatsQueryDefinition\",\n        \"FormulaAndFunctionApmResourceStatsQueryDefinition\",\n        \"FormulaAndFunctionSLOQueryDefinition\",\n        \"FormulaAndFunctionCloudCostQueryDefinition\",\n    ],\n    LogsProcessor: [\n        \"LogsGrokParser\",\n        \"LogsDateRemapper\",\n        \"LogsStatusRemapper\",\n        \"LogsServiceRemapper\",\n        \"LogsMessageRemapper\",\n        \"LogsAttributeRemapper\",\n        \"LogsURLParser\",\n        \"LogsUserAgentParser\",\n        \"LogsCategoryProcessor\",\n        \"LogsArithmeticProcessor\",\n        \"LogsStringBuilderProcessor\",\n        \"LogsPipelineProcessor\",\n        \"LogsGeoIPParser\",\n        \"LogsLookupProcessor\",\n        \"ReferenceTableLogsLookupProcessor\",\n        \"LogsTraceRemapper\",\n    ],\n    MonitorFormulaAndFunctionQueryDefinition: [\n        \"MonitorFormulaAndFunctionEventQueryDefinition\",\n    ],\n    NotebookCellCreateRequestAttributes: [\n        \"NotebookMarkdownCellAttributes\",\n        \"NotebookTimeseriesCellAttributes\",\n        \"NotebookToplistCellAttributes\",\n        \"NotebookHeatMapCellAttributes\",\n        \"NotebookDistributionCellAttributes\",\n        \"NotebookLogStreamCellAttributes\",\n    ],\n    NotebookCellResponseAttributes: [\n        \"NotebookMarkdownCellAttributes\",\n        \"NotebookTimeseriesCellAttributes\",\n        \"NotebookToplistCellAttributes\",\n        \"NotebookHeatMapCellAttributes\",\n        \"NotebookDistributionCellAttributes\",\n        \"NotebookLogStreamCellAttributes\",\n    ],\n    NotebookCellTime: [\"NotebookRelativeTime\", \"NotebookAbsoluteTime\"],\n    NotebookCellUpdateRequestAttributes: [\n        \"NotebookMarkdownCellAttributes\",\n        \"NotebookTimeseriesCellAttributes\",\n        \"NotebookToplistCellAttributes\",\n        \"NotebookHeatMapCellAttributes\",\n        \"NotebookDistributionCellAttributes\",\n        \"NotebookLogStreamCellAttributes\",\n    ],\n    NotebookGlobalTime: [\"NotebookRelativeTime\", \"NotebookAbsoluteTime\"],\n    NotebookUpdateCell: [\n        \"NotebookCellCreateRequest\",\n        \"NotebookCellUpdateRequest\",\n    ],\n    SharedDashboardInvitesData: [\n        \"SharedDashboardInvitesDataObject\",\n        \"Array\",\n    ],\n    SunburstWidgetLegend: [\n        \"SunburstWidgetLegendTable\",\n        \"SunburstWidgetLegendInlineAutomatic\",\n    ],\n    SyntheticsAssertion: [\n        \"SyntheticsAssertionTarget\",\n        \"SyntheticsAssertionJSONPathTarget\",\n        \"SyntheticsAssertionXPathTarget\",\n    ],\n    SyntheticsBasicAuth: [\n        \"SyntheticsBasicAuthWeb\",\n        \"SyntheticsBasicAuthSigv4\",\n        \"SyntheticsBasicAuthNTLM\",\n        \"SyntheticsBasicAuthDigest\",\n        \"SyntheticsBasicAuthOauthClient\",\n        \"SyntheticsBasicAuthOauthROP\",\n    ],\n    WidgetDefinition: [\n        \"AlertGraphWidgetDefinition\",\n        \"AlertValueWidgetDefinition\",\n        \"ChangeWidgetDefinition\",\n        \"CheckStatusWidgetDefinition\",\n        \"DistributionWidgetDefinition\",\n        \"EventStreamWidgetDefinition\",\n        \"EventTimelineWidgetDefinition\",\n        \"FreeTextWidgetDefinition\",\n        \"GeomapWidgetDefinition\",\n        \"GroupWidgetDefinition\",\n        \"HeatMapWidgetDefinition\",\n        \"HostMapWidgetDefinition\",\n        \"IFrameWidgetDefinition\",\n        \"ImageWidgetDefinition\",\n        \"LogStreamWidgetDefinition\",\n        \"MonitorSummaryWidgetDefinition\",\n        \"NoteWidgetDefinition\",\n        \"QueryValueWidgetDefinition\",\n        \"RunWorkflowWidgetDefinition\",\n        \"ScatterPlotWidgetDefinition\",\n        \"SLOWidgetDefinition\",\n        \"SLOListWidgetDefinition\",\n        \"ServiceMapWidgetDefinition\",\n        \"ServiceSummaryWidgetDefinition\",\n        \"SunburstWidgetDefinition\",\n        \"TableWidgetDefinition\",\n        \"TimeseriesWidgetDefinition\",\n        \"ToplistWidgetDefinition\",\n        \"TreeMapWidgetDefinition\",\n        \"ListStreamWidgetDefinition\",\n        \"FunnelWidgetDefinition\",\n        \"TopologyMapWidgetDefinition\",\n    ],\n};\nclass ObjectSerializer {\n    static serialize(data, type, format) {\n        if (data == undefined || type == \"any\") {\n            return data;\n        }\n        else if (data instanceof util_1.UnparsedObject) {\n            return data._data;\n        }\n        else if (primitives.includes(type.toLowerCase()) &&\n            typeof data == type.toLowerCase()) {\n            return data;\n        }\n        else if (type.startsWith(ARRAY_PREFIX)) {\n            if (!Array.isArray(data)) {\n                throw new TypeError(`mismatch types '${data}' and '${type}'`);\n            }\n            // Array => Type\n            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.serialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(TUPLE_PREFIX)) {\n            // We only support homegeneus tuples\n            const subType = type\n                .substring(TUPLE_PREFIX.length, type.length - 1)\n                .split(\", \")[0];\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.serialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(MAP_PREFIX)) {\n            // { [key: string]: Type; } => Type\n            const subType = type.substring(MAP_PREFIX.length, type.length - 3);\n            const transformedData = {};\n            for (const key in data) {\n                transformedData[key] = ObjectSerializer.serialize(data[key], subType, format);\n            }\n            return transformedData;\n        }\n        else if (type === \"Date\") {\n            if (\"string\" == typeof data) {\n                return data;\n            }\n            if (format == \"date\" || format == \"date-time\") {\n                return (0, util_1.dateToRFC3339String)(data);\n            }\n            else {\n                return data.toISOString();\n            }\n        }\n        else {\n            if (enumsMap[type]) {\n                if (enumsMap[type].includes(data)) {\n                    return data;\n                }\n                throw new TypeError(`unknown enum value '${data}'`);\n            }\n            if (oneOfMap[type]) {\n                const oneOfs = [];\n                for (const oneOf of oneOfMap[type]) {\n                    try {\n                        oneOfs.push(ObjectSerializer.serialize(data, oneOf, format));\n                    }\n                    catch (e) {\n                        logger_1.logger.debug(`could not serialize ${oneOf} (${e})`);\n                    }\n                }\n                if (oneOfs.length > 1) {\n                    throw new TypeError(`${data} matches multiple types from ${oneOfMap[type]} ${oneOfs}`);\n                }\n                if (oneOfs.length == 0) {\n                    throw new TypeError(`${data} doesn't match any type from ${oneOfMap[type]} ${oneOfs}`);\n                }\n                return oneOfs[0];\n            }\n            if (!typeMap[type]) {\n                // dont know the type\n                throw new TypeError(`unknown type '${type}'`);\n            }\n            // get the map for the correct type.\n            const attributesMap = typeMap[type].getAttributeTypeMap();\n            const instance = {};\n            for (const attributeName in attributesMap) {\n                const attributeObj = attributesMap[attributeName];\n                if (attributeName == \"additionalProperties\") {\n                    if (data.additionalProperties) {\n                        for (const key in data.additionalProperties) {\n                            instance[key] = ObjectSerializer.serialize(data.additionalProperties[key], attributeObj.type, attributeObj.format);\n                        }\n                    }\n                    continue;\n                }\n                instance[attributeObj.baseName] = ObjectSerializer.serialize(data[attributeName], attributeObj.type, attributeObj.format);\n                // check for required properties\n                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) &&\n                    instance[attributeObj.baseName] === undefined) {\n                    throw new Error(`missing required property '${attributeObj.baseName}'`);\n                }\n            }\n            return instance;\n        }\n    }\n    static deserialize(data, type, format = \"\") {\n        var _a;\n        if (data == undefined || type == \"any\") {\n            return data;\n        }\n        else if (primitives.includes(type.toLowerCase()) &&\n            typeof data == type.toLowerCase()) {\n            return data;\n        }\n        else if (type.startsWith(ARRAY_PREFIX)) {\n            // Assert the passed data is Array type\n            if (!Array.isArray(data)) {\n                throw new TypeError(`mismatch types '${data}' and '${type}'`);\n            }\n            // Array => Type\n            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.deserialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(TUPLE_PREFIX)) {\n            // [Type,...] => Type\n            const subType = type\n                .substring(TUPLE_PREFIX.length, type.length - 1)\n                .split(\", \")[0];\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.deserialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(MAP_PREFIX)) {\n            // { [key: string]: Type; } => Type\n            const subType = type.substring(MAP_PREFIX.length, type.length - 3);\n            const transformedData = {};\n            for (const key in data) {\n                transformedData[key] = ObjectSerializer.deserialize(data[key], subType, format);\n            }\n            return transformedData;\n        }\n        else if (type === \"Date\") {\n            try {\n                return (0, util_1.dateFromRFC3339String)(data);\n            }\n            catch (_b) {\n                return new Date(data);\n            }\n        }\n        else {\n            if (enumsMap[type]) {\n                if (enumsMap[type].includes(data)) {\n                    return data;\n                }\n                return new util_1.UnparsedObject(data);\n            }\n            if (oneOfMap[type]) {\n                const oneOfs = [];\n                for (const oneOf of oneOfMap[type]) {\n                    try {\n                        const d = ObjectSerializer.deserialize(data, oneOf, format);\n                        if (!(d === null || d === void 0 ? void 0 : d._unparsed)) {\n                            oneOfs.push(d);\n                        }\n                    }\n                    catch (e) {\n                        logger_1.logger.debug(`could not deserialize ${oneOf} (${e})`);\n                    }\n                }\n                if (oneOfs.length != 1) {\n                    return new util_1.UnparsedObject(data);\n                }\n                return oneOfs[0];\n            }\n            if (!typeMap[type]) {\n                // dont know the type\n                throw new TypeError(`unknown type '${type}'`);\n            }\n            const instance = new typeMap[type]();\n            const attributesMap = typeMap[type].getAttributeTypeMap();\n            let extraAttributes = [];\n            if (\"additionalProperties\" in attributesMap) {\n                const attributesBaseNames = Object.keys(attributesMap).reduce((o, key) => Object.assign(o, { [attributesMap[key].baseName]: \"\" }), {});\n                extraAttributes = Object.keys(data).filter((key) => !Object.prototype.hasOwnProperty.call(attributesBaseNames, key));\n            }\n            for (const attributeName in attributesMap) {\n                const attributeObj = attributesMap[attributeName];\n                if (attributeName == \"additionalProperties\") {\n                    if (extraAttributes.length > 0) {\n                        if (!instance.additionalProperties) {\n                            instance.additionalProperties = {};\n                        }\n                        for (const key in extraAttributes) {\n                            instance.additionalProperties[extraAttributes[key]] =\n                                ObjectSerializer.deserialize(data[extraAttributes[key]], attributeObj.type, attributeObj.format);\n                        }\n                    }\n                    continue;\n                }\n                instance[attributeName] = ObjectSerializer.deserialize(data[attributeObj.baseName], attributeObj.type, attributeObj.format);\n                // check for required properties\n                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) && instance[attributeName] === undefined) {\n                    throw new Error(`missing required property '${attributeName}'`);\n                }\n                if (instance[attributeName] instanceof util_1.UnparsedObject ||\n                    ((_a = instance[attributeName]) === null || _a === void 0 ? void 0 : _a._unparsed)) {\n                    instance._unparsed = true;\n                }\n                if (Array.isArray(instance[attributeName])) {\n                    for (const d of instance[attributeName]) {\n                        if (d instanceof util_1.UnparsedObject || (d === null || d === void 0 ? void 0 : d._unparsed)) {\n                            instance._unparsed = true;\n                            break;\n                        }\n                    }\n                }\n            }\n            return instance;\n        }\n    }\n    /**\n     * Normalize media type\n     *\n     * We currently do not handle any media types attributes, i.e. anything\n     * after a semicolon. All content is assumed to be UTF-8 compatible.\n     */\n    static normalizeMediaType(mediaType) {\n        if (mediaType === undefined) {\n            return undefined;\n        }\n        return mediaType.split(\";\")[0].trim().toLowerCase();\n    }\n    /**\n     * From a list of possible media types, choose the one we can handle best.\n     *\n     * The order of the given media types does not have any impact on the choice\n     * made.\n     */\n    static getPreferredMediaType(mediaTypes) {\n        /** According to OAS 3 we should default to json */\n        if (!mediaTypes) {\n            return \"application/json\";\n        }\n        const normalMediaTypes = mediaTypes.map(this.normalizeMediaType);\n        let selectedMediaType = undefined;\n        let selectedRank = -Infinity;\n        for (const mediaType of normalMediaTypes) {\n            if (mediaType === undefined) {\n                continue;\n            }\n            const supported = supportedMediaTypes[mediaType];\n            if (supported !== undefined && supported > selectedRank) {\n                selectedMediaType = mediaType;\n                selectedRank = supported;\n            }\n        }\n        if (selectedMediaType === undefined) {\n            throw new Error(\"None of the given media types are supported: \" + mediaTypes.join(\", \"));\n        }\n        return selectedMediaType;\n    }\n    /**\n     * Convert data to a string according the given media type\n     */\n    static stringify(data, mediaType) {\n        if (mediaType === \"application/json\" || mediaType === \"text/json\") {\n            return JSON.stringify(data);\n        }\n        throw new Error(\"The mediaType \" +\n            mediaType +\n            \" is not supported by ObjectSerializer.stringify.\");\n    }\n    /**\n     * Parse data from a string according to the given media type\n     */\n    static parse(rawData, mediaType) {\n        try {\n            return JSON.parse(rawData);\n        }\n        catch (error) {\n            logger_1.logger.debug(`could not parse ${mediaType}: ${error}`);\n            return rawData;\n        }\n    }\n}\nexports.ObjectSerializer = ObjectSerializer;\n//# sourceMappingURL=ObjectSerializer.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrgDowngradedResponse = void 0;\n/**\n * Status of downgrade\n */\nclass OrgDowngradedResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrgDowngradedResponse.attributeTypeMap;\n    }\n}\nexports.OrgDowngradedResponse = OrgDowngradedResponse;\n/**\n * @ignore\n */\nOrgDowngradedResponse.attributeTypeMap = {\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=OrgDowngradedResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Organization = void 0;\n/**\n * Create, edit, and manage organizations.\n */\nclass Organization {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Organization.attributeTypeMap;\n    }\n}\nexports.Organization = Organization;\n/**\n * @ignore\n */\nOrganization.attributeTypeMap = {\n    billing: {\n        baseName: \"billing\",\n        type: \"OrganizationBilling\",\n    },\n    created: {\n        baseName: \"created\",\n        type: \"string\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    settings: {\n        baseName: \"settings\",\n        type: \"OrganizationSettings\",\n    },\n    subscription: {\n        baseName: \"subscription\",\n        type: \"OrganizationSubscription\",\n    },\n    trial: {\n        baseName: \"trial\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=Organization.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationBilling = void 0;\n/**\n * A JSON array of billing type.\n */\nclass OrganizationBilling {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationBilling.attributeTypeMap;\n    }\n}\nexports.OrganizationBilling = OrganizationBilling;\n/**\n * @ignore\n */\nOrganizationBilling.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=OrganizationBilling.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationCreateBody = void 0;\n/**\n * Object describing an organization to create.\n */\nclass OrganizationCreateBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationCreateBody.attributeTypeMap;\n    }\n}\nexports.OrganizationCreateBody = OrganizationCreateBody;\n/**\n * @ignore\n */\nOrganizationCreateBody.attributeTypeMap = {\n    billing: {\n        baseName: \"billing\",\n        type: \"OrganizationBilling\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    subscription: {\n        baseName: \"subscription\",\n        type: \"OrganizationSubscription\",\n    },\n};\n//# sourceMappingURL=OrganizationCreateBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationCreateResponse = void 0;\n/**\n * Response object for an organization creation.\n */\nclass OrganizationCreateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationCreateResponse.attributeTypeMap;\n    }\n}\nexports.OrganizationCreateResponse = OrganizationCreateResponse;\n/**\n * @ignore\n */\nOrganizationCreateResponse.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"ApiKey\",\n    },\n    applicationKey: {\n        baseName: \"application_key\",\n        type: \"ApplicationKey\",\n    },\n    org: {\n        baseName: \"org\",\n        type: \"Organization\",\n    },\n    user: {\n        baseName: \"user\",\n        type: \"User\",\n    },\n};\n//# sourceMappingURL=OrganizationCreateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationListResponse = void 0;\n/**\n * Response with the list of organizations.\n */\nclass OrganizationListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationListResponse.attributeTypeMap;\n    }\n}\nexports.OrganizationListResponse = OrganizationListResponse;\n/**\n * @ignore\n */\nOrganizationListResponse.attributeTypeMap = {\n    orgs: {\n        baseName: \"orgs\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=OrganizationListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationResponse = void 0;\n/**\n * Response with an organization.\n */\nclass OrganizationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationResponse.attributeTypeMap;\n    }\n}\nexports.OrganizationResponse = OrganizationResponse;\n/**\n * @ignore\n */\nOrganizationResponse.attributeTypeMap = {\n    org: {\n        baseName: \"org\",\n        type: \"Organization\",\n    },\n};\n//# sourceMappingURL=OrganizationResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSettings = void 0;\n/**\n * A JSON array of settings.\n */\nclass OrganizationSettings {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSettings.attributeTypeMap;\n    }\n}\nexports.OrganizationSettings = OrganizationSettings;\n/**\n * @ignore\n */\nOrganizationSettings.attributeTypeMap = {\n    privateWidgetShare: {\n        baseName: \"private_widget_share\",\n        type: \"boolean\",\n    },\n    saml: {\n        baseName: \"saml\",\n        type: \"OrganizationSettingsSaml\",\n    },\n    samlAutocreateAccessRole: {\n        baseName: \"saml_autocreate_access_role\",\n        type: \"AccessRole\",\n    },\n    samlAutocreateUsersDomains: {\n        baseName: \"saml_autocreate_users_domains\",\n        type: \"OrganizationSettingsSamlAutocreateUsersDomains\",\n    },\n    samlCanBeEnabled: {\n        baseName: \"saml_can_be_enabled\",\n        type: \"boolean\",\n    },\n    samlIdpEndpoint: {\n        baseName: \"saml_idp_endpoint\",\n        type: \"string\",\n    },\n    samlIdpInitiatedLogin: {\n        baseName: \"saml_idp_initiated_login\",\n        type: \"OrganizationSettingsSamlIdpInitiatedLogin\",\n    },\n    samlIdpMetadataUploaded: {\n        baseName: \"saml_idp_metadata_uploaded\",\n        type: \"boolean\",\n    },\n    samlLoginUrl: {\n        baseName: \"saml_login_url\",\n        type: \"string\",\n    },\n    samlStrictMode: {\n        baseName: \"saml_strict_mode\",\n        type: \"OrganizationSettingsSamlStrictMode\",\n    },\n};\n//# sourceMappingURL=OrganizationSettings.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSettingsSaml = void 0;\n/**\n * Set the boolean property enabled to enable or disable single sign on with SAML.\n * See the SAML documentation for more information about all SAML settings.\n */\nclass OrganizationSettingsSaml {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSettingsSaml.attributeTypeMap;\n    }\n}\nexports.OrganizationSettingsSaml = OrganizationSettingsSaml;\n/**\n * @ignore\n */\nOrganizationSettingsSaml.attributeTypeMap = {\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=OrganizationSettingsSaml.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSettingsSamlAutocreateUsersDomains = void 0;\n/**\n * Has two properties, `enabled` (boolean) and `domains`, which is a list of domains without the @ symbol.\n */\nclass OrganizationSettingsSamlAutocreateUsersDomains {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSettingsSamlAutocreateUsersDomains.attributeTypeMap;\n    }\n}\nexports.OrganizationSettingsSamlAutocreateUsersDomains = OrganizationSettingsSamlAutocreateUsersDomains;\n/**\n * @ignore\n */\nOrganizationSettingsSamlAutocreateUsersDomains.attributeTypeMap = {\n    domains: {\n        baseName: \"domains\",\n        type: \"Array\",\n    },\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=OrganizationSettingsSamlAutocreateUsersDomains.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSettingsSamlIdpInitiatedLogin = void 0;\n/**\n * Has one property enabled (boolean).\n */\nclass OrganizationSettingsSamlIdpInitiatedLogin {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSettingsSamlIdpInitiatedLogin.attributeTypeMap;\n    }\n}\nexports.OrganizationSettingsSamlIdpInitiatedLogin = OrganizationSettingsSamlIdpInitiatedLogin;\n/**\n * @ignore\n */\nOrganizationSettingsSamlIdpInitiatedLogin.attributeTypeMap = {\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=OrganizationSettingsSamlIdpInitiatedLogin.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSettingsSamlStrictMode = void 0;\n/**\n * Has one property enabled (boolean).\n */\nclass OrganizationSettingsSamlStrictMode {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSettingsSamlStrictMode.attributeTypeMap;\n    }\n}\nexports.OrganizationSettingsSamlStrictMode = OrganizationSettingsSamlStrictMode;\n/**\n * @ignore\n */\nOrganizationSettingsSamlStrictMode.attributeTypeMap = {\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=OrganizationSettingsSamlStrictMode.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationSubscription = void 0;\n/**\n * Subscription definition.\n */\nclass OrganizationSubscription {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationSubscription.attributeTypeMap;\n    }\n}\nexports.OrganizationSubscription = OrganizationSubscription;\n/**\n * @ignore\n */\nOrganizationSubscription.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=OrganizationSubscription.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PagerDutyService = void 0;\n/**\n * The PagerDuty service that is available for integration with Datadog.\n */\nclass PagerDutyService {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PagerDutyService.attributeTypeMap;\n    }\n}\nexports.PagerDutyService = PagerDutyService;\n/**\n * @ignore\n */\nPagerDutyService.attributeTypeMap = {\n    serviceKey: {\n        baseName: \"service_key\",\n        type: \"string\",\n        required: true,\n    },\n    serviceName: {\n        baseName: \"service_name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=PagerDutyService.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PagerDutyServiceKey = void 0;\n/**\n * PagerDuty service object key.\n */\nclass PagerDutyServiceKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PagerDutyServiceKey.attributeTypeMap;\n    }\n}\nexports.PagerDutyServiceKey = PagerDutyServiceKey;\n/**\n * @ignore\n */\nPagerDutyServiceKey.attributeTypeMap = {\n    serviceKey: {\n        baseName: \"service_key\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=PagerDutyServiceKey.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PagerDutyServiceName = void 0;\n/**\n * PagerDuty service object name.\n */\nclass PagerDutyServiceName {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PagerDutyServiceName.attributeTypeMap;\n    }\n}\nexports.PagerDutyServiceName = PagerDutyServiceName;\n/**\n * @ignore\n */\nPagerDutyServiceName.attributeTypeMap = {\n    serviceName: {\n        baseName: \"service_name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=PagerDutyServiceName.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pagination = void 0;\n/**\n * Pagination object.\n */\nclass Pagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Pagination.attributeTypeMap;\n    }\n}\nexports.Pagination = Pagination;\n/**\n * @ignore\n */\nPagination.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=Pagination.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessQueryDefinition = void 0;\n/**\n * The process query to use in the widget.\n */\nclass ProcessQueryDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessQueryDefinition.attributeTypeMap;\n    }\n}\nexports.ProcessQueryDefinition = ProcessQueryDefinition;\n/**\n * @ignore\n */\nProcessQueryDefinition.attributeTypeMap = {\n    filterBy: {\n        baseName: \"filter_by\",\n        type: \"Array\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n        required: true,\n    },\n    searchBy: {\n        baseName: \"search_by\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ProcessQueryDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryValueWidgetDefinition = void 0;\n/**\n * Query values display the current value of a given metric, APM, or log query.\n */\nclass QueryValueWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return QueryValueWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.QueryValueWidgetDefinition = QueryValueWidgetDefinition;\n/**\n * @ignore\n */\nQueryValueWidgetDefinition.attributeTypeMap = {\n    autoscale: {\n        baseName: \"autoscale\",\n        type: \"boolean\",\n    },\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    customUnit: {\n        baseName: \"custom_unit\",\n        type: \"string\",\n    },\n    precision: {\n        baseName: \"precision\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[QueryValueWidgetRequest]\",\n        required: true,\n    },\n    textAlign: {\n        baseName: \"text_align\",\n        type: \"WidgetTextAlign\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    timeseriesBackground: {\n        baseName: \"timeseries_background\",\n        type: \"TimeseriesBackground\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"QueryValueWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=QueryValueWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryValueWidgetRequest = void 0;\n/**\n * Updated query value widget.\n */\nclass QueryValueWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return QueryValueWidgetRequest.attributeTypeMap;\n    }\n}\nexports.QueryValueWidgetRequest = QueryValueWidgetRequest;\n/**\n * @ignore\n */\nQueryValueWidgetRequest.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"WidgetAggregator\",\n    },\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    auditQuery: {\n        baseName: \"audit_query\",\n        type: \"LogQueryDefinition\",\n    },\n    conditionalFormats: {\n        baseName: \"conditional_formats\",\n        type: \"Array\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n};\n//# sourceMappingURL=QueryValueWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReferenceTableLogsLookupProcessor = void 0;\n/**\n * **Note**: Reference Tables are in public beta.\n * Use the Lookup Processor to define a mapping between a log attribute\n * and a human readable value saved in a Reference Table.\n * For example, you can use the Lookup Processor to map an internal service ID\n * into a human readable service name. Alternatively, you could also use it to check\n * if the MAC address that just attempted to connect to the production\n * environment belongs to your list of stolen machines.\n */\nclass ReferenceTableLogsLookupProcessor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ReferenceTableLogsLookupProcessor.attributeTypeMap;\n    }\n}\nexports.ReferenceTableLogsLookupProcessor = ReferenceTableLogsLookupProcessor;\n/**\n * @ignore\n */\nReferenceTableLogsLookupProcessor.attributeTypeMap = {\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    lookupEnrichmentTable: {\n        baseName: \"lookup_enrichment_table\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    source: {\n        baseName: \"source\",\n        type: \"string\",\n        required: true,\n    },\n    target: {\n        baseName: \"target\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsLookupProcessorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ReferenceTableLogsLookupProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseMetaAttributes = void 0;\n/**\n * Object describing meta attributes of response.\n */\nclass ResponseMetaAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ResponseMetaAttributes.attributeTypeMap;\n    }\n}\nexports.ResponseMetaAttributes = ResponseMetaAttributes;\n/**\n * @ignore\n */\nResponseMetaAttributes.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"Pagination\",\n    },\n};\n//# sourceMappingURL=ResponseMetaAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RunWorkflowWidgetDefinition = void 0;\n/**\n * Run workflow is widget that allows you to run a workflow from a dashboard.\n */\nclass RunWorkflowWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RunWorkflowWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.RunWorkflowWidgetDefinition = RunWorkflowWidgetDefinition;\n/**\n * @ignore\n */\nRunWorkflowWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    inputs: {\n        baseName: \"inputs\",\n        type: \"Array\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RunWorkflowWidgetDefinitionType\",\n        required: true,\n    },\n    workflowId: {\n        baseName: \"workflow_id\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RunWorkflowWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RunWorkflowWidgetInput = void 0;\n/**\n * Object to map a dashboard template variable to a workflow input.\n */\nclass RunWorkflowWidgetInput {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RunWorkflowWidgetInput.attributeTypeMap;\n    }\n}\nexports.RunWorkflowWidgetInput = RunWorkflowWidgetInput;\n/**\n * @ignore\n */\nRunWorkflowWidgetInput.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RunWorkflowWidgetInput.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOBulkDeleteError = void 0;\n/**\n * Object describing the error.\n */\nclass SLOBulkDeleteError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOBulkDeleteError.attributeTypeMap;\n    }\n}\nexports.SLOBulkDeleteError = SLOBulkDeleteError;\n/**\n * @ignore\n */\nSLOBulkDeleteError.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOErrorTimeframe\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOBulkDeleteError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOBulkDeleteResponse = void 0;\n/**\n * The bulk partial delete service level objective object endpoint\n * response.\n *\n * This endpoint operates on multiple service level objective objects, so\n * it may be partially successful. In such cases, the \"data\" and \"error\"\n * fields in this response indicate which deletions succeeded and failed.\n */\nclass SLOBulkDeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOBulkDeleteResponse.attributeTypeMap;\n    }\n}\nexports.SLOBulkDeleteResponse = SLOBulkDeleteResponse;\n/**\n * @ignore\n */\nSLOBulkDeleteResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOBulkDeleteResponseData\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOBulkDeleteResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOBulkDeleteResponseData = void 0;\n/**\n * An array of service level objective objects.\n */\nclass SLOBulkDeleteResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOBulkDeleteResponseData.attributeTypeMap;\n    }\n}\nexports.SLOBulkDeleteResponseData = SLOBulkDeleteResponseData;\n/**\n * @ignore\n */\nSLOBulkDeleteResponseData.attributeTypeMap = {\n    deleted: {\n        baseName: \"deleted\",\n        type: \"Array\",\n    },\n    updated: {\n        baseName: \"updated\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOBulkDeleteResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrection = void 0;\n/**\n * The response object of a list of SLO corrections.\n */\nclass SLOCorrection {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrection.attributeTypeMap;\n    }\n}\nexports.SLOCorrection = SLOCorrection;\n/**\n * @ignore\n */\nSLOCorrection.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SLOCorrectionResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOCorrectionType\",\n    },\n};\n//# sourceMappingURL=SLOCorrection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionCreateData = void 0;\n/**\n * The data object associated with the SLO correction to be created.\n */\nclass SLOCorrectionCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionCreateData.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionCreateData = SLOCorrectionCreateData;\n/**\n * @ignore\n */\nSLOCorrectionCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SLOCorrectionCreateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOCorrectionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOCorrectionCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionCreateRequest = void 0;\n/**\n * An object that defines a correction to be applied to an SLO.\n */\nclass SLOCorrectionCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionCreateRequest.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionCreateRequest = SLOCorrectionCreateRequest;\n/**\n * @ignore\n */\nSLOCorrectionCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOCorrectionCreateData\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionCreateRequestAttributes = void 0;\n/**\n * The attribute object associated with the SLO correction to be created.\n */\nclass SLOCorrectionCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionCreateRequestAttributes = SLOCorrectionCreateRequestAttributes;\n/**\n * @ignore\n */\nSLOCorrectionCreateRequestAttributes.attributeTypeMap = {\n    category: {\n        baseName: \"category\",\n        type: \"SLOCorrectionCategory\",\n        required: true,\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n    },\n    sloId: {\n        baseName: \"slo_id\",\n        type: \"string\",\n        required: true,\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionListResponse = void 0;\n/**\n * A list of  SLO correction objects.\n */\nclass SLOCorrectionListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionListResponse.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionListResponse = SLOCorrectionListResponse;\n/**\n * @ignore\n */\nSLOCorrectionListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ResponseMetaAttributes\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionResponse = void 0;\n/**\n * The response object of an SLO correction.\n */\nclass SLOCorrectionResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionResponse.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionResponse = SLOCorrectionResponse;\n/**\n * @ignore\n */\nSLOCorrectionResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOCorrection\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionResponseAttributes = void 0;\n/**\n * The attribute object associated with the SLO correction.\n */\nclass SLOCorrectionResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionResponseAttributes.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionResponseAttributes = SLOCorrectionResponseAttributes;\n/**\n * @ignore\n */\nSLOCorrectionResponseAttributes.attributeTypeMap = {\n    category: {\n        baseName: \"category\",\n        type: \"SLOCorrectionCategory\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    modifier: {\n        baseName: \"modifier\",\n        type: \"SLOCorrectionResponseAttributesModifier\",\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n    },\n    sloId: {\n        baseName: \"slo_id\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionResponseAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionResponseAttributesModifier = void 0;\n/**\n * Modifier of the object.\n */\nclass SLOCorrectionResponseAttributesModifier {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionResponseAttributesModifier.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionResponseAttributesModifier = SLOCorrectionResponseAttributesModifier;\n/**\n * @ignore\n */\nSLOCorrectionResponseAttributesModifier.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionResponseAttributesModifier.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionUpdateData = void 0;\n/**\n * The data object associated with the SLO correction to be updated.\n */\nclass SLOCorrectionUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionUpdateData.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionUpdateData = SLOCorrectionUpdateData;\n/**\n * @ignore\n */\nSLOCorrectionUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SLOCorrectionUpdateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOCorrectionType\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionUpdateRequest = void 0;\n/**\n * An object that defines a correction to be applied to an SLO.\n */\nclass SLOCorrectionUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionUpdateRequest = SLOCorrectionUpdateRequest;\n/**\n * @ignore\n */\nSLOCorrectionUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOCorrectionUpdateData\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCorrectionUpdateRequestAttributes = void 0;\n/**\n * The attribute object associated with the SLO correction to be updated.\n */\nclass SLOCorrectionUpdateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCorrectionUpdateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.SLOCorrectionUpdateRequestAttributes = SLOCorrectionUpdateRequestAttributes;\n/**\n * @ignore\n */\nSLOCorrectionUpdateRequestAttributes.attributeTypeMap = {\n    category: {\n        baseName: \"category\",\n        type: \"SLOCorrectionCategory\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOCorrectionUpdateRequestAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOCreator = void 0;\n/**\n * The creator of the SLO\n */\nclass SLOCreator {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOCreator.attributeTypeMap;\n    }\n}\nexports.SLOCreator = SLOCreator;\n/**\n * @ignore\n */\nSLOCreator.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOCreator.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLODeleteResponse = void 0;\n/**\n * A response list of all service level objective deleted.\n */\nclass SLODeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLODeleteResponse.attributeTypeMap;\n    }\n}\nexports.SLODeleteResponse = SLODeleteResponse;\n/**\n * @ignore\n */\nSLODeleteResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"{ [key: string]: string; }\",\n    },\n};\n//# sourceMappingURL=SLODeleteResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryMetrics = void 0;\n/**\n * A `metric` based SLO history response.\n *\n * This is not included in responses for `monitor` based SLOs.\n */\nclass SLOHistoryMetrics {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryMetrics.attributeTypeMap;\n    }\n}\nexports.SLOHistoryMetrics = SLOHistoryMetrics;\n/**\n * @ignore\n */\nSLOHistoryMetrics.attributeTypeMap = {\n    denominator: {\n        baseName: \"denominator\",\n        type: \"SLOHistoryMetricsSeries\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    numerator: {\n        baseName: \"numerator\",\n        type: \"SLOHistoryMetricsSeries\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    resType: {\n        baseName: \"res_type\",\n        type: \"string\",\n        required: true,\n    },\n    respVersion: {\n        baseName: \"resp_version\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    times: {\n        baseName: \"times\",\n        type: \"Array\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLOHistoryMetrics.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryMetricsSeries = void 0;\n/**\n * A representation of `metric` based SLO time series for the provided queries.\n * This is the same response type from `batch_query` endpoint.\n */\nclass SLOHistoryMetricsSeries {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryMetricsSeries.attributeTypeMap;\n    }\n}\nexports.SLOHistoryMetricsSeries = SLOHistoryMetricsSeries;\n/**\n * @ignore\n */\nSLOHistoryMetricsSeries.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SLOHistoryMetricsSeriesMetadata\",\n    },\n    sum: {\n        baseName: \"sum\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"Array\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLOHistoryMetricsSeries.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryMetricsSeriesMetadata = void 0;\n/**\n * Query metadata.\n */\nclass SLOHistoryMetricsSeriesMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryMetricsSeriesMetadata.attributeTypeMap;\n    }\n}\nexports.SLOHistoryMetricsSeriesMetadata = SLOHistoryMetricsSeriesMetadata;\n/**\n * @ignore\n */\nSLOHistoryMetricsSeriesMetadata.attributeTypeMap = {\n    aggr: {\n        baseName: \"aggr\",\n        type: \"string\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    queryIndex: {\n        baseName: \"query_index\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOHistoryMetricsSeriesMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryMetricsSeriesMetadataUnit = void 0;\n/**\n * An Object of metric units.\n */\nclass SLOHistoryMetricsSeriesMetadataUnit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryMetricsSeriesMetadataUnit.attributeTypeMap;\n    }\n}\nexports.SLOHistoryMetricsSeriesMetadataUnit = SLOHistoryMetricsSeriesMetadataUnit;\n/**\n * @ignore\n */\nSLOHistoryMetricsSeriesMetadataUnit.attributeTypeMap = {\n    family: {\n        baseName: \"family\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    plural: {\n        baseName: \"plural\",\n        type: \"string\",\n    },\n    scaleFactor: {\n        baseName: \"scale_factor\",\n        type: \"number\",\n        format: \"double\",\n    },\n    shortName: {\n        baseName: \"short_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOHistoryMetricsSeriesMetadataUnit.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryMonitor = void 0;\n/**\n * An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value.\n * This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs.\n */\nclass SLOHistoryMonitor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryMonitor.attributeTypeMap;\n    }\n}\nexports.SLOHistoryMonitor = SLOHistoryMonitor;\n/**\n * @ignore\n */\nSLOHistoryMonitor.attributeTypeMap = {\n    errorBudgetRemaining: {\n        baseName: \"error_budget_remaining\",\n        type: \"{ [key: string]: number; }\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    group: {\n        baseName: \"group\",\n        type: \"string\",\n    },\n    history: {\n        baseName: \"history\",\n        type: \"Array<[number, number]>\",\n        format: \"double\",\n    },\n    monitorModified: {\n        baseName: \"monitor_modified\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorType: {\n        baseName: \"monitor_type\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    precision: {\n        baseName: \"precision\",\n        type: \"number\",\n        format: \"double\",\n    },\n    preview: {\n        baseName: \"preview\",\n        type: \"boolean\",\n    },\n    sliValue: {\n        baseName: \"sli_value\",\n        type: \"number\",\n        format: \"double\",\n    },\n    spanPrecision: {\n        baseName: \"span_precision\",\n        type: \"number\",\n        format: \"double\",\n    },\n    uptime: {\n        baseName: \"uptime\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLOHistoryMonitor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryResponse = void 0;\n/**\n * A service level objective history response.\n */\nclass SLOHistoryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryResponse.attributeTypeMap;\n    }\n}\nexports.SLOHistoryResponse = SLOHistoryResponse;\n/**\n * @ignore\n */\nSLOHistoryResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOHistoryResponseData\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOHistoryResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryResponseData = void 0;\n/**\n * An array of service level objective objects.\n */\nclass SLOHistoryResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryResponseData.attributeTypeMap;\n    }\n}\nexports.SLOHistoryResponseData = SLOHistoryResponseData;\n/**\n * @ignore\n */\nSLOHistoryResponseData.attributeTypeMap = {\n    fromTs: {\n        baseName: \"from_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    monitors: {\n        baseName: \"monitors\",\n        type: \"Array\",\n    },\n    overall: {\n        baseName: \"overall\",\n        type: \"SLOHistorySLIData\",\n    },\n    series: {\n        baseName: \"series\",\n        type: \"SLOHistoryMetrics\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"{ [key: string]: SLOThreshold; }\",\n    },\n    toTs: {\n        baseName: \"to_ts\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOType\",\n    },\n    typeId: {\n        baseName: \"type_id\",\n        type: \"SLOTypeNumeric\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SLOHistoryResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryResponseError = void 0;\n/**\n * A list of errors while querying the history data for the service level objective.\n */\nclass SLOHistoryResponseError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryResponseError.attributeTypeMap;\n    }\n}\nexports.SLOHistoryResponseError = SLOHistoryResponseError;\n/**\n * @ignore\n */\nSLOHistoryResponseError.attributeTypeMap = {\n    error: {\n        baseName: \"error\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOHistoryResponseError.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistoryResponseErrorWithType = void 0;\n/**\n * An object describing the error with error type and error message.\n */\nclass SLOHistoryResponseErrorWithType {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistoryResponseErrorWithType.attributeTypeMap;\n    }\n}\nexports.SLOHistoryResponseErrorWithType = SLOHistoryResponseErrorWithType;\n/**\n * @ignore\n */\nSLOHistoryResponseErrorWithType.attributeTypeMap = {\n    errorMessage: {\n        baseName: \"error_message\",\n        type: \"string\",\n        required: true,\n    },\n    errorType: {\n        baseName: \"error_type\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOHistoryResponseErrorWithType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOHistorySLIData = void 0;\n/**\n * An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value.\n * This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs.\n */\nclass SLOHistorySLIData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOHistorySLIData.attributeTypeMap;\n    }\n}\nexports.SLOHistorySLIData = SLOHistorySLIData;\n/**\n * @ignore\n */\nSLOHistorySLIData.attributeTypeMap = {\n    errorBudgetRemaining: {\n        baseName: \"error_budget_remaining\",\n        type: \"{ [key: string]: number; }\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    group: {\n        baseName: \"group\",\n        type: \"string\",\n    },\n    history: {\n        baseName: \"history\",\n        type: \"Array<[number, number]>\",\n        format: \"double\",\n    },\n    monitorModified: {\n        baseName: \"monitor_modified\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorType: {\n        baseName: \"monitor_type\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    precision: {\n        baseName: \"precision\",\n        type: \"{ [key: string]: number; }\",\n    },\n    preview: {\n        baseName: \"preview\",\n        type: \"boolean\",\n    },\n    sliValue: {\n        baseName: \"sli_value\",\n        type: \"number\",\n        format: \"double\",\n    },\n    spanPrecision: {\n        baseName: \"span_precision\",\n        type: \"number\",\n        format: \"double\",\n    },\n    uptime: {\n        baseName: \"uptime\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLOHistorySLIData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListResponse = void 0;\n/**\n * A response with one or more service level objective.\n */\nclass SLOListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListResponse.attributeTypeMap;\n    }\n}\nexports.SLOListResponse = SLOListResponse;\n/**\n * @ignore\n */\nSLOListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SLOListResponseMetadata\",\n    },\n};\n//# sourceMappingURL=SLOListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListResponseMetadata = void 0;\n/**\n * The metadata object containing additional information about the list of SLOs.\n */\nclass SLOListResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListResponseMetadata.attributeTypeMap;\n    }\n}\nexports.SLOListResponseMetadata = SLOListResponseMetadata;\n/**\n * @ignore\n */\nSLOListResponseMetadata.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"SLOListResponseMetadataPage\",\n    },\n};\n//# sourceMappingURL=SLOListResponseMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListResponseMetadataPage = void 0;\n/**\n * The object containing information about the pages of the list of SLOs.\n */\nclass SLOListResponseMetadataPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListResponseMetadataPage.attributeTypeMap;\n    }\n}\nexports.SLOListResponseMetadataPage = SLOListResponseMetadataPage;\n/**\n * @ignore\n */\nSLOListResponseMetadataPage.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SLOListResponseMetadataPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListWidgetDefinition = void 0;\n/**\n * Use the SLO List widget to track your SLOs (Service Level Objectives) on dashboards.\n */\nclass SLOListWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.SLOListWidgetDefinition = SLOListWidgetDefinition;\n/**\n * @ignore\n */\nSLOListWidgetDefinition.attributeTypeMap = {\n    requests: {\n        baseName: \"requests\",\n        type: \"[SLOListWidgetRequest]\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOListWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOListWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListWidgetQuery = void 0;\n/**\n * Updated SLO List widget.\n */\nclass SLOListWidgetQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListWidgetQuery.attributeTypeMap;\n    }\n}\nexports.SLOListWidgetQuery = SLOListWidgetQuery;\n/**\n * @ignore\n */\nSLOListWidgetQuery.attributeTypeMap = {\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    queryString: {\n        baseName: \"query_string\",\n        type: \"string\",\n        required: true,\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOListWidgetQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOListWidgetRequest = void 0;\n/**\n * Updated SLO List widget.\n */\nclass SLOListWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOListWidgetRequest.attributeTypeMap;\n    }\n}\nexports.SLOListWidgetRequest = SLOListWidgetRequest;\n/**\n * @ignore\n */\nSLOListWidgetRequest.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"SLOListWidgetQuery\",\n        required: true,\n    },\n    requestType: {\n        baseName: \"request_type\",\n        type: \"SLOListWidgetRequestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOListWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOOverallStatuses = void 0;\n/**\n * Overall status of the SLO by timeframes.\n */\nclass SLOOverallStatuses {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOOverallStatuses.attributeTypeMap;\n    }\n}\nexports.SLOOverallStatuses = SLOOverallStatuses;\n/**\n * @ignore\n */\nSLOOverallStatuses.attributeTypeMap = {\n    error: {\n        baseName: \"error\",\n        type: \"string\",\n    },\n    errorBudgetRemaining: {\n        baseName: \"error_budget_remaining\",\n        type: \"number\",\n        format: \"double\",\n    },\n    indexedAt: {\n        baseName: \"indexed_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rawErrorBudgetRemaining: {\n        baseName: \"raw_error_budget_remaining\",\n        type: \"SLORawErrorBudgetRemaining\",\n    },\n    spanPrecision: {\n        baseName: \"span_precision\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"SLOState\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"number\",\n        format: \"double\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"number\",\n        format: \"double\",\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOTimeframe\",\n    },\n};\n//# sourceMappingURL=SLOOverallStatuses.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLORawErrorBudgetRemaining = void 0;\n/**\n * Error budget remaining for an SLO.\n */\nclass SLORawErrorBudgetRemaining {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLORawErrorBudgetRemaining.attributeTypeMap;\n    }\n}\nexports.SLORawErrorBudgetRemaining = SLORawErrorBudgetRemaining;\n/**\n * @ignore\n */\nSLORawErrorBudgetRemaining.attributeTypeMap = {\n    unit: {\n        baseName: \"unit\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLORawErrorBudgetRemaining.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOResponse = void 0;\n/**\n * A service level objective response containing a single service level objective.\n */\nclass SLOResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOResponse.attributeTypeMap;\n    }\n}\nexports.SLOResponse = SLOResponse;\n/**\n * @ignore\n */\nSLOResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SLOResponseData\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SLOResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOResponseData = void 0;\n/**\n * A service level objective object includes a service level indicator, thresholds\n * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).\n */\nclass SLOResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOResponseData.attributeTypeMap;\n    }\n}\nexports.SLOResponseData = SLOResponseData;\n/**\n * @ignore\n */\nSLOResponseData.attributeTypeMap = {\n    configuredAlertIds: {\n        baseName: \"configured_alert_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorIds: {\n        baseName: \"monitor_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    monitorTags: {\n        baseName: \"monitor_tags\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"ServiceLevelObjectiveQuery\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    targetThreshold: {\n        baseName: \"target_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"Array\",\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOTimeframe\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOType\",\n    },\n    warningThreshold: {\n        baseName: \"warning_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SLOResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOStatus = void 0;\n/**\n * Status of the SLO's primary timeframe.\n */\nclass SLOStatus {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOStatus.attributeTypeMap;\n    }\n}\nexports.SLOStatus = SLOStatus;\n/**\n * @ignore\n */\nSLOStatus.attributeTypeMap = {\n    calculationError: {\n        baseName: \"calculation_error\",\n        type: \"string\",\n    },\n    errorBudgetRemaining: {\n        baseName: \"error_budget_remaining\",\n        type: \"number\",\n        format: \"double\",\n    },\n    indexedAt: {\n        baseName: \"indexed_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rawErrorBudgetRemaining: {\n        baseName: \"raw_error_budget_remaining\",\n        type: \"SLORawErrorBudgetRemaining\",\n    },\n    sli: {\n        baseName: \"sli\",\n        type: \"number\",\n        format: \"double\",\n    },\n    spanPrecision: {\n        baseName: \"span_precision\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"SLOState\",\n    },\n};\n//# sourceMappingURL=SLOStatus.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOThreshold = void 0;\n/**\n * SLO thresholds (target and optionally warning) for a single time window.\n */\nclass SLOThreshold {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOThreshold.attributeTypeMap;\n    }\n}\nexports.SLOThreshold = SLOThreshold;\n/**\n * @ignore\n */\nSLOThreshold.attributeTypeMap = {\n    target: {\n        baseName: \"target\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    targetDisplay: {\n        baseName: \"target_display\",\n        type: \"string\",\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOTimeframe\",\n        required: true,\n    },\n    warning: {\n        baseName: \"warning\",\n        type: \"number\",\n        format: \"double\",\n    },\n    warningDisplay: {\n        baseName: \"warning_display\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SLOThreshold.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SLOWidgetDefinition = void 0;\n/**\n * Use the SLO and uptime widget to track your SLOs (Service Level Objectives) and uptime on screenboards and timeboards.\n */\nclass SLOWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SLOWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.SLOWidgetDefinition = SLOWidgetDefinition;\n/**\n * @ignore\n */\nSLOWidgetDefinition.attributeTypeMap = {\n    additionalQueryFilters: {\n        baseName: \"additional_query_filters\",\n        type: \"string\",\n    },\n    globalTimeTarget: {\n        baseName: \"global_time_target\",\n        type: \"string\",\n    },\n    showErrorBudget: {\n        baseName: \"show_error_budget\",\n        type: \"boolean\",\n    },\n    sloId: {\n        baseName: \"slo_id\",\n        type: \"string\",\n    },\n    timeWindows: {\n        baseName: \"time_windows\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOWidgetDefinitionType\",\n        required: true,\n    },\n    viewMode: {\n        baseName: \"view_mode\",\n        type: \"WidgetViewMode\",\n    },\n    viewType: {\n        baseName: \"view_type\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SLOWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterPlotRequest = void 0;\n/**\n * Updated scatter plot.\n */\nclass ScatterPlotRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScatterPlotRequest.attributeTypeMap;\n    }\n}\nexports.ScatterPlotRequest = ScatterPlotRequest;\n/**\n * @ignore\n */\nScatterPlotRequest.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"ScatterplotWidgetAggregator\",\n    },\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n};\n//# sourceMappingURL=ScatterPlotRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterPlotWidgetDefinition = void 0;\n/**\n * The scatter plot visualization allows you to graph a chosen scope over two different metrics with their respective aggregation.\n */\nclass ScatterPlotWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScatterPlotWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ScatterPlotWidgetDefinition = ScatterPlotWidgetDefinition;\n/**\n * @ignore\n */\nScatterPlotWidgetDefinition.attributeTypeMap = {\n    colorByGroups: {\n        baseName: \"color_by_groups\",\n        type: \"Array\",\n    },\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"ScatterPlotWidgetDefinitionRequests\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ScatterPlotWidgetDefinitionType\",\n        required: true,\n    },\n    xaxis: {\n        baseName: \"xaxis\",\n        type: \"WidgetAxis\",\n    },\n    yaxis: {\n        baseName: \"yaxis\",\n        type: \"WidgetAxis\",\n    },\n};\n//# sourceMappingURL=ScatterPlotWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterPlotWidgetDefinitionRequests = void 0;\n/**\n * Widget definition.\n */\nclass ScatterPlotWidgetDefinitionRequests {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScatterPlotWidgetDefinitionRequests.attributeTypeMap;\n    }\n}\nexports.ScatterPlotWidgetDefinitionRequests = ScatterPlotWidgetDefinitionRequests;\n/**\n * @ignore\n */\nScatterPlotWidgetDefinitionRequests.attributeTypeMap = {\n    table: {\n        baseName: \"table\",\n        type: \"ScatterplotTableRequest\",\n    },\n    x: {\n        baseName: \"x\",\n        type: \"ScatterPlotRequest\",\n    },\n    y: {\n        baseName: \"y\",\n        type: \"ScatterPlotRequest\",\n    },\n};\n//# sourceMappingURL=ScatterPlotWidgetDefinitionRequests.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterplotTableRequest = void 0;\n/**\n * Scatterplot request containing formulas and functions.\n */\nclass ScatterplotTableRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScatterplotTableRequest.attributeTypeMap;\n    }\n}\nexports.ScatterplotTableRequest = ScatterplotTableRequest;\n/**\n * @ignore\n */\nScatterplotTableRequest.attributeTypeMap = {\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n};\n//# sourceMappingURL=ScatterplotTableRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterplotWidgetFormula = void 0;\n/**\n * Formula to be used in a Scatterplot widget query.\n */\nclass ScatterplotWidgetFormula {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScatterplotWidgetFormula.attributeTypeMap;\n    }\n}\nexports.ScatterplotWidgetFormula = ScatterplotWidgetFormula;\n/**\n * @ignore\n */\nScatterplotWidgetFormula.attributeTypeMap = {\n    alias: {\n        baseName: \"alias\",\n        type: \"string\",\n    },\n    dimension: {\n        baseName: \"dimension\",\n        type: \"ScatterplotDimension\",\n        required: true,\n    },\n    formula: {\n        baseName: \"formula\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ScatterplotWidgetFormula.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOQuery = void 0;\n/**\n * A metric-based SLO. **Required if type is `metric`**. Note that Datadog only allows the sum by aggregator\n * to be used because this will sum up all request counts instead of averaging them, or taking the max or\n * min of all of those requests.\n */\nclass SearchSLOQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOQuery.attributeTypeMap;\n    }\n}\nexports.SearchSLOQuery = SearchSLOQuery;\n/**\n * @ignore\n */\nSearchSLOQuery.attributeTypeMap = {\n    denominator: {\n        baseName: \"denominator\",\n        type: \"string\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    numerator: {\n        baseName: \"numerator\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponse = void 0;\n/**\n * A search SLO response containing results from the search query.\n */\nclass SearchSLOResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponse.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponse = SearchSLOResponse;\n/**\n * @ignore\n */\nSearchSLOResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SearchSLOResponseData\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"SearchSLOResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SearchSLOResponseMeta\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseData = void 0;\n/**\n * Data from search SLO response.\n */\nclass SearchSLOResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseData.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseData = SearchSLOResponseData;\n/**\n * @ignore\n */\nSearchSLOResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SearchSLOResponseDataAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseDataAttributes = void 0;\n/**\n * Attributes\n */\nclass SearchSLOResponseDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseDataAttributes.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseDataAttributes = SearchSLOResponseDataAttributes;\n/**\n * @ignore\n */\nSearchSLOResponseDataAttributes.attributeTypeMap = {\n    facets: {\n        baseName: \"facets\",\n        type: \"SearchSLOResponseDataAttributesFacets\",\n    },\n    slos: {\n        baseName: \"slos\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseDataAttributesFacets = void 0;\n/**\n * Facets\n */\nclass SearchSLOResponseDataAttributesFacets {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseDataAttributesFacets.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseDataAttributesFacets = SearchSLOResponseDataAttributesFacets;\n/**\n * @ignore\n */\nSearchSLOResponseDataAttributesFacets.attributeTypeMap = {\n    allTags: {\n        baseName: \"all_tags\",\n        type: \"Array\",\n    },\n    creatorName: {\n        baseName: \"creator_name\",\n        type: \"Array\",\n    },\n    envTags: {\n        baseName: \"env_tags\",\n        type: \"Array\",\n    },\n    serviceTags: {\n        baseName: \"service_tags\",\n        type: \"Array\",\n    },\n    sloType: {\n        baseName: \"slo_type\",\n        type: \"Array\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"Array\",\n    },\n    teamTags: {\n        baseName: \"team_tags\",\n        type: \"Array\",\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseDataAttributesFacets.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseDataAttributesFacetsObjectInt = void 0;\n/**\n * Facet\n */\nclass SearchSLOResponseDataAttributesFacetsObjectInt {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseDataAttributesFacetsObjectInt.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseDataAttributesFacetsObjectInt = SearchSLOResponseDataAttributesFacetsObjectInt;\n/**\n * @ignore\n */\nSearchSLOResponseDataAttributesFacetsObjectInt.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseDataAttributesFacetsObjectInt.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseDataAttributesFacetsObjectString = void 0;\n/**\n * Facet\n */\nclass SearchSLOResponseDataAttributesFacetsObjectString {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseDataAttributesFacetsObjectString.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseDataAttributesFacetsObjectString = SearchSLOResponseDataAttributesFacetsObjectString;\n/**\n * @ignore\n */\nSearchSLOResponseDataAttributesFacetsObjectString.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseDataAttributesFacetsObjectString.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseLinks = void 0;\n/**\n * Pagination links.\n */\nclass SearchSLOResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseLinks.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseLinks = SearchSLOResponseLinks;\n/**\n * @ignore\n */\nSearchSLOResponseLinks.attributeTypeMap = {\n    first: {\n        baseName: \"first\",\n        type: \"string\",\n    },\n    last: {\n        baseName: \"last\",\n        type: \"string\",\n    },\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n    prev: {\n        baseName: \"prev\",\n        type: \"string\",\n    },\n    self: {\n        baseName: \"self\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseMeta = void 0;\n/**\n * Searches metadata returned by the API.\n */\nclass SearchSLOResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseMeta.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseMeta = SearchSLOResponseMeta;\n/**\n * @ignore\n */\nSearchSLOResponseMeta.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"SearchSLOResponseMetaPage\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOResponseMetaPage = void 0;\n/**\n * Pagination metadata returned by the API.\n */\nclass SearchSLOResponseMetaPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOResponseMetaPage.attributeTypeMap;\n    }\n}\nexports.SearchSLOResponseMetaPage = SearchSLOResponseMetaPage;\n/**\n * @ignore\n */\nSearchSLOResponseMetaPage.attributeTypeMap = {\n    firstNumber: {\n        baseName: \"first_number\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastNumber: {\n        baseName: \"last_number\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    nextNumber: {\n        baseName: \"next_number\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    number: {\n        baseName: \"number\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    prevNumber: {\n        baseName: \"prev_number\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOResponseMetaPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchSLOThreshold = void 0;\n/**\n * SLO thresholds (target and optionally warning) for a single time window.\n */\nclass SearchSLOThreshold {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchSLOThreshold.attributeTypeMap;\n    }\n}\nexports.SearchSLOThreshold = SearchSLOThreshold;\n/**\n * @ignore\n */\nSearchSLOThreshold.attributeTypeMap = {\n    target: {\n        baseName: \"target\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    targetDisplay: {\n        baseName: \"target_display\",\n        type: \"string\",\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SearchSLOTimeframe\",\n        required: true,\n    },\n    warning: {\n        baseName: \"warning\",\n        type: \"number\",\n        format: \"double\",\n    },\n    warningDisplay: {\n        baseName: \"warning_display\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchSLOThreshold.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchServiceLevelObjective = void 0;\n/**\n * A service level objective data container.\n */\nclass SearchServiceLevelObjective {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchServiceLevelObjective.attributeTypeMap;\n    }\n}\nexports.SearchServiceLevelObjective = SearchServiceLevelObjective;\n/**\n * @ignore\n */\nSearchServiceLevelObjective.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SearchServiceLevelObjectiveData\",\n    },\n};\n//# sourceMappingURL=SearchServiceLevelObjective.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchServiceLevelObjectiveAttributes = void 0;\n/**\n * A service level objective object includes a service level indicator, thresholds\n * for one or more timeframes, and metadata (`name`, `description`, and `tags`).\n */\nclass SearchServiceLevelObjectiveAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchServiceLevelObjectiveAttributes.attributeTypeMap;\n    }\n}\nexports.SearchServiceLevelObjectiveAttributes = SearchServiceLevelObjectiveAttributes;\n/**\n * @ignore\n */\nSearchServiceLevelObjectiveAttributes.attributeTypeMap = {\n    allTags: {\n        baseName: \"all_tags\",\n        type: \"Array\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"SLOCreator\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    envTags: {\n        baseName: \"env_tags\",\n        type: \"Array\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorIds: {\n        baseName: \"monitor_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    overallStatus: {\n        baseName: \"overall_status\",\n        type: \"Array\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"SearchSLOQuery\",\n    },\n    serviceTags: {\n        baseName: \"service_tags\",\n        type: \"Array\",\n    },\n    sloType: {\n        baseName: \"slo_type\",\n        type: \"SLOType\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SLOStatus\",\n    },\n    teamTags: {\n        baseName: \"team_tags\",\n        type: \"Array\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SearchServiceLevelObjectiveAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchServiceLevelObjectiveData = void 0;\n/**\n * A service level objective ID and attributes.\n */\nclass SearchServiceLevelObjectiveData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SearchServiceLevelObjectiveData.attributeTypeMap;\n    }\n}\nexports.SearchServiceLevelObjectiveData = SearchServiceLevelObjectiveData;\n/**\n * @ignore\n */\nSearchServiceLevelObjectiveData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SearchServiceLevelObjectiveAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SearchServiceLevelObjectiveData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SelectableTemplateVariableItems = void 0;\n/**\n * Object containing the template variable's name, associated tag/attribute, default value and selectable values.\n */\nclass SelectableTemplateVariableItems {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SelectableTemplateVariableItems.attributeTypeMap;\n    }\n}\nexports.SelectableTemplateVariableItems = SelectableTemplateVariableItems;\n/**\n * @ignore\n */\nSelectableTemplateVariableItems.attributeTypeMap = {\n    defaultValue: {\n        baseName: \"default_value\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    prefix: {\n        baseName: \"prefix\",\n        type: \"string\",\n    },\n    visibleTags: {\n        baseName: \"visible_tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SelectableTemplateVariableItems.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Series = void 0;\n/**\n * A metric to submit to Datadog.\n * See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties).\n */\nclass Series {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Series.attributeTypeMap;\n    }\n}\nexports.Series = Series;\n/**\n * @ignore\n */\nSeries.attributeTypeMap = {\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n        required: true,\n    },\n    points: {\n        baseName: \"points\",\n        type: \"Array<[number, number]>\",\n        required: true,\n        format: \"double\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Series.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceCheck = void 0;\n/**\n * An object containing service check and status.\n */\nclass ServiceCheck {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceCheck.attributeTypeMap;\n    }\n}\nexports.ServiceCheck = ServiceCheck;\n/**\n * @ignore\n */\nServiceCheck.attributeTypeMap = {\n    check: {\n        baseName: \"check\",\n        type: \"string\",\n        required: true,\n    },\n    hostName: {\n        baseName: \"host_name\",\n        type: \"string\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"ServiceCheckStatus\",\n        required: true,\n        format: \"int32\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n        required: true,\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=ServiceCheck.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceLevelObjective = void 0;\n/**\n * A service level objective object includes a service level indicator, thresholds\n * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).\n */\nclass ServiceLevelObjective {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceLevelObjective.attributeTypeMap;\n    }\n}\nexports.ServiceLevelObjective = ServiceLevelObjective;\n/**\n * @ignore\n */\nServiceLevelObjective.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorIds: {\n        baseName: \"monitor_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    monitorTags: {\n        baseName: \"monitor_tags\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"ServiceLevelObjectiveQuery\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    targetThreshold: {\n        baseName: \"target_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"Array\",\n        required: true,\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOTimeframe\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOType\",\n        required: true,\n    },\n    warningThreshold: {\n        baseName: \"warning_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=ServiceLevelObjective.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceLevelObjectiveQuery = void 0;\n/**\n * A metric-based SLO. **Required if type is `metric`**. Note that Datadog only allows the sum by aggregator\n * to be used because this will sum up all request counts instead of averaging them, or taking the max or\n * min of all of those requests.\n */\nclass ServiceLevelObjectiveQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceLevelObjectiveQuery.attributeTypeMap;\n    }\n}\nexports.ServiceLevelObjectiveQuery = ServiceLevelObjectiveQuery;\n/**\n * @ignore\n */\nServiceLevelObjectiveQuery.attributeTypeMap = {\n    denominator: {\n        baseName: \"denominator\",\n        type: \"string\",\n        required: true,\n    },\n    numerator: {\n        baseName: \"numerator\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceLevelObjectiveQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceLevelObjectiveRequest = void 0;\n/**\n * A service level objective object includes a service level indicator, thresholds\n * for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.).\n */\nclass ServiceLevelObjectiveRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceLevelObjectiveRequest.attributeTypeMap;\n    }\n}\nexports.ServiceLevelObjectiveRequest = ServiceLevelObjectiveRequest;\n/**\n * @ignore\n */\nServiceLevelObjectiveRequest.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    monitorIds: {\n        baseName: \"monitor_ids\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"ServiceLevelObjectiveQuery\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    targetThreshold: {\n        baseName: \"target_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n    thresholds: {\n        baseName: \"thresholds\",\n        type: \"Array\",\n        required: true,\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"SLOTimeframe\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SLOType\",\n        required: true,\n    },\n    warningThreshold: {\n        baseName: \"warning_threshold\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=ServiceLevelObjectiveRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceMapWidgetDefinition = void 0;\n/**\n * This widget displays a map of a service to all of the services that call it, and all of the services that it calls.\n */\nclass ServiceMapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceMapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ServiceMapWidgetDefinition = ServiceMapWidgetDefinition;\n/**\n * @ignore\n */\nServiceMapWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceMapWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceMapWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceSummaryWidgetDefinition = void 0;\n/**\n * The service summary displays the graphs of a chosen service in your screenboard. Only available on FREE layout dashboards.\n */\nclass ServiceSummaryWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceSummaryWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ServiceSummaryWidgetDefinition = ServiceSummaryWidgetDefinition;\n/**\n * @ignore\n */\nServiceSummaryWidgetDefinition.attributeTypeMap = {\n    displayFormat: {\n        baseName: \"display_format\",\n        type: \"WidgetServiceSummaryDisplayFormat\",\n    },\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n        required: true,\n    },\n    showBreakdown: {\n        baseName: \"show_breakdown\",\n        type: \"boolean\",\n    },\n    showDistribution: {\n        baseName: \"show_distribution\",\n        type: \"boolean\",\n    },\n    showErrors: {\n        baseName: \"show_errors\",\n        type: \"boolean\",\n    },\n    showHits: {\n        baseName: \"show_hits\",\n        type: \"boolean\",\n    },\n    showLatency: {\n        baseName: \"show_latency\",\n        type: \"boolean\",\n    },\n    showResourceList: {\n        baseName: \"show_resource_list\",\n        type: \"boolean\",\n    },\n    sizeFormat: {\n        baseName: \"size_format\",\n        type: \"WidgetSizeFormat\",\n    },\n    spanName: {\n        baseName: \"span_name\",\n        type: \"string\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceSummaryWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceSummaryWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboard = void 0;\n/**\n * The metadata object associated with how a dashboard has been/will be shared.\n */\nclass SharedDashboard {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboard.attributeTypeMap;\n    }\n}\nexports.SharedDashboard = SharedDashboard;\n/**\n * @ignore\n */\nSharedDashboard.attributeTypeMap = {\n    author: {\n        baseName: \"author\",\n        type: \"SharedDashboardAuthor\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    dashboardId: {\n        baseName: \"dashboard_id\",\n        type: \"string\",\n        required: true,\n    },\n    dashboardType: {\n        baseName: \"dashboard_type\",\n        type: \"DashboardType\",\n        required: true,\n    },\n    globalTime: {\n        baseName: \"global_time\",\n        type: \"DashboardGlobalTime\",\n    },\n    globalTimeSelectableEnabled: {\n        baseName: \"global_time_selectable_enabled\",\n        type: \"boolean\",\n    },\n    publicUrl: {\n        baseName: \"public_url\",\n        type: \"string\",\n    },\n    selectableTemplateVars: {\n        baseName: \"selectable_template_vars\",\n        type: \"Array\",\n    },\n    shareList: {\n        baseName: \"share_list\",\n        type: \"Array\",\n        format: \"email\",\n    },\n    shareType: {\n        baseName: \"share_type\",\n        type: \"DashboardShareType\",\n    },\n    token: {\n        baseName: \"token\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SharedDashboard.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardAuthor = void 0;\n/**\n * User who shared the dashboard.\n */\nclass SharedDashboardAuthor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardAuthor.attributeTypeMap;\n    }\n}\nexports.SharedDashboardAuthor = SharedDashboardAuthor;\n/**\n * @ignore\n */\nSharedDashboardAuthor.attributeTypeMap = {\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SharedDashboardAuthor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardInvites = void 0;\n/**\n * Invitations data and metadata that exists for a shared dashboard returned by the API.\n */\nclass SharedDashboardInvites {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardInvites.attributeTypeMap;\n    }\n}\nexports.SharedDashboardInvites = SharedDashboardInvites;\n/**\n * @ignore\n */\nSharedDashboardInvites.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SharedDashboardInvitesData\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SharedDashboardInvitesMeta\",\n    },\n};\n//# sourceMappingURL=SharedDashboardInvites.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardInvitesDataObject = void 0;\n/**\n * Object containing the information for an invitation to a shared dashboard.\n */\nclass SharedDashboardInvitesDataObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardInvitesDataObject.attributeTypeMap;\n    }\n}\nexports.SharedDashboardInvitesDataObject = SharedDashboardInvitesDataObject;\n/**\n * @ignore\n */\nSharedDashboardInvitesDataObject.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SharedDashboardInvitesDataObjectAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DashboardInviteType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SharedDashboardInvitesDataObject.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardInvitesDataObjectAttributes = void 0;\n/**\n * Attributes of the shared dashboard invitation\n */\nclass SharedDashboardInvitesDataObjectAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardInvitesDataObjectAttributes.attributeTypeMap;\n    }\n}\nexports.SharedDashboardInvitesDataObjectAttributes = SharedDashboardInvitesDataObjectAttributes;\n/**\n * @ignore\n */\nSharedDashboardInvitesDataObjectAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    hasSession: {\n        baseName: \"has_session\",\n        type: \"boolean\",\n    },\n    invitationExpiry: {\n        baseName: \"invitation_expiry\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    sessionExpiry: {\n        baseName: \"session_expiry\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    shareToken: {\n        baseName: \"share_token\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SharedDashboardInvitesDataObjectAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardInvitesMeta = void 0;\n/**\n * Pagination metadata returned by the API.\n */\nclass SharedDashboardInvitesMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardInvitesMeta.attributeTypeMap;\n    }\n}\nexports.SharedDashboardInvitesMeta = SharedDashboardInvitesMeta;\n/**\n * @ignore\n */\nSharedDashboardInvitesMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"SharedDashboardInvitesMetaPage\",\n    },\n};\n//# sourceMappingURL=SharedDashboardInvitesMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardInvitesMetaPage = void 0;\n/**\n * Object containing the total count of invitations across all pages\n */\nclass SharedDashboardInvitesMetaPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardInvitesMetaPage.attributeTypeMap;\n    }\n}\nexports.SharedDashboardInvitesMetaPage = SharedDashboardInvitesMetaPage;\n/**\n * @ignore\n */\nSharedDashboardInvitesMetaPage.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SharedDashboardInvitesMetaPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardUpdateRequest = void 0;\n/**\n * Update a shared dashboard's settings.\n */\nclass SharedDashboardUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SharedDashboardUpdateRequest = SharedDashboardUpdateRequest;\n/**\n * @ignore\n */\nSharedDashboardUpdateRequest.attributeTypeMap = {\n    globalTime: {\n        baseName: \"global_time\",\n        type: \"SharedDashboardUpdateRequestGlobalTime\",\n        required: true,\n    },\n    globalTimeSelectableEnabled: {\n        baseName: \"global_time_selectable_enabled\",\n        type: \"boolean\",\n    },\n    selectableTemplateVars: {\n        baseName: \"selectable_template_vars\",\n        type: \"Array\",\n    },\n    shareList: {\n        baseName: \"share_list\",\n        type: \"Array\",\n        format: \"email\",\n    },\n    shareType: {\n        baseName: \"share_type\",\n        type: \"DashboardShareType\",\n    },\n};\n//# sourceMappingURL=SharedDashboardUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SharedDashboardUpdateRequestGlobalTime = void 0;\n/**\n * Timeframe setting for the shared dashboard.\n */\nclass SharedDashboardUpdateRequestGlobalTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SharedDashboardUpdateRequestGlobalTime.attributeTypeMap;\n    }\n}\nexports.SharedDashboardUpdateRequestGlobalTime = SharedDashboardUpdateRequestGlobalTime;\n/**\n * @ignore\n */\nSharedDashboardUpdateRequestGlobalTime.attributeTypeMap = {\n    liveSpan: {\n        baseName: \"live_span\",\n        type: \"DashboardGlobalTimeLiveSpan\",\n    },\n};\n//# sourceMappingURL=SharedDashboardUpdateRequestGlobalTime.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignalAssigneeUpdateRequest = void 0;\n/**\n * Attributes describing an assignee update operation over a security signal.\n */\nclass SignalAssigneeUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SignalAssigneeUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SignalAssigneeUpdateRequest = SignalAssigneeUpdateRequest;\n/**\n * @ignore\n */\nSignalAssigneeUpdateRequest.attributeTypeMap = {\n    assignee: {\n        baseName: \"assignee\",\n        type: \"string\",\n        required: true,\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SignalAssigneeUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignalStateUpdateRequest = void 0;\n/**\n * Attributes describing the change of state for a given state.\n */\nclass SignalStateUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SignalStateUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SignalStateUpdateRequest = SignalStateUpdateRequest;\n/**\n * @ignore\n */\nSignalStateUpdateRequest.attributeTypeMap = {\n    archiveComment: {\n        baseName: \"archiveComment\",\n        type: \"string\",\n    },\n    archiveReason: {\n        baseName: \"archiveReason\",\n        type: \"SignalArchiveReason\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"SignalTriageState\",\n        required: true,\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SignalStateUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackIntegrationChannel = void 0;\n/**\n * The Slack channel configuration.\n */\nclass SlackIntegrationChannel {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SlackIntegrationChannel.attributeTypeMap;\n    }\n}\nexports.SlackIntegrationChannel = SlackIntegrationChannel;\n/**\n * @ignore\n */\nSlackIntegrationChannel.attributeTypeMap = {\n    display: {\n        baseName: \"display\",\n        type: \"SlackIntegrationChannelDisplay\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SlackIntegrationChannel.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackIntegrationChannelDisplay = void 0;\n/**\n * Configuration options for what is shown in an alert event message.\n */\nclass SlackIntegrationChannelDisplay {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SlackIntegrationChannelDisplay.attributeTypeMap;\n    }\n}\nexports.SlackIntegrationChannelDisplay = SlackIntegrationChannelDisplay;\n/**\n * @ignore\n */\nSlackIntegrationChannelDisplay.attributeTypeMap = {\n    message: {\n        baseName: \"message\",\n        type: \"boolean\",\n    },\n    notified: {\n        baseName: \"notified\",\n        type: \"boolean\",\n    },\n    snapshot: {\n        baseName: \"snapshot\",\n        type: \"boolean\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=SlackIntegrationChannelDisplay.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SuccessfulSignalUpdateResponse = void 0;\n/**\n * Updated signal data following a successfully performed update.\n */\nclass SuccessfulSignalUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SuccessfulSignalUpdateResponse.attributeTypeMap;\n    }\n}\nexports.SuccessfulSignalUpdateResponse = SuccessfulSignalUpdateResponse;\n/**\n * @ignore\n */\nSuccessfulSignalUpdateResponse.attributeTypeMap = {\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SuccessfulSignalUpdateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SunburstWidgetDefinition = void 0;\n/**\n * Sunbursts are spot on to highlight how groups contribute to the total of a query.\n */\nclass SunburstWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SunburstWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.SunburstWidgetDefinition = SunburstWidgetDefinition;\n/**\n * @ignore\n */\nSunburstWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    hideTotal: {\n        baseName: \"hide_total\",\n        type: \"boolean\",\n    },\n    legend: {\n        baseName: \"legend\",\n        type: \"SunburstWidgetLegend\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"Array\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SunburstWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SunburstWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SunburstWidgetLegendInlineAutomatic = void 0;\n/**\n * Configuration of inline or automatic legends.\n */\nclass SunburstWidgetLegendInlineAutomatic {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SunburstWidgetLegendInlineAutomatic.attributeTypeMap;\n    }\n}\nexports.SunburstWidgetLegendInlineAutomatic = SunburstWidgetLegendInlineAutomatic;\n/**\n * @ignore\n */\nSunburstWidgetLegendInlineAutomatic.attributeTypeMap = {\n    hidePercent: {\n        baseName: \"hide_percent\",\n        type: \"boolean\",\n    },\n    hideValue: {\n        baseName: \"hide_value\",\n        type: \"boolean\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SunburstWidgetLegendInlineAutomaticType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SunburstWidgetLegendInlineAutomatic.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SunburstWidgetLegendTable = void 0;\n/**\n * Configuration of table-based legend.\n */\nclass SunburstWidgetLegendTable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SunburstWidgetLegendTable.attributeTypeMap;\n    }\n}\nexports.SunburstWidgetLegendTable = SunburstWidgetLegendTable;\n/**\n * @ignore\n */\nSunburstWidgetLegendTable.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"SunburstWidgetLegendTableType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SunburstWidgetLegendTable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SunburstWidgetRequest = void 0;\n/**\n * Request definition of sunburst widget.\n */\nclass SunburstWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SunburstWidgetRequest.attributeTypeMap;\n    }\n}\nexports.SunburstWidgetRequest = SunburstWidgetRequest;\n/**\n * @ignore\n */\nSunburstWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    auditQuery: {\n        baseName: \"audit_query\",\n        type: \"LogQueryDefinition\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetStyle\",\n    },\n};\n//# sourceMappingURL=SunburstWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPIStep = void 0;\n/**\n * The steps used in a Synthetic multistep API test.\n */\nclass SyntheticsAPIStep {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPIStep.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPIStep = SyntheticsAPIStep;\n/**\n * @ignore\n */\nSyntheticsAPIStep.attributeTypeMap = {\n    allowFailure: {\n        baseName: \"allowFailure\",\n        type: \"boolean\",\n    },\n    assertions: {\n        baseName: \"assertions\",\n        type: \"Array\",\n        required: true,\n    },\n    extractedValues: {\n        baseName: \"extractedValues\",\n        type: \"Array\",\n    },\n    isCritical: {\n        baseName: \"isCritical\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    request: {\n        baseName: \"request\",\n        type: \"SyntheticsTestRequest\",\n        required: true,\n    },\n    retry: {\n        baseName: \"retry\",\n        type: \"SyntheticsTestOptionsRetry\",\n    },\n    subtype: {\n        baseName: \"subtype\",\n        type: \"SyntheticsAPIStepSubtype\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAPIStep.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITest = void 0;\n/**\n * Object containing details about a Synthetic API test.\n */\nclass SyntheticsAPITest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITest.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITest = SyntheticsAPITest;\n/**\n * @ignore\n */\nSyntheticsAPITest.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"SyntheticsAPITestConfig\",\n        required: true,\n    },\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SyntheticsTestOptions\",\n        required: true,\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestPauseStatus\",\n    },\n    subtype: {\n        baseName: \"subtype\",\n        type: \"SyntheticsTestDetailsSubType\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsAPITestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAPITest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestConfig = void 0;\n/**\n * Configuration object for a Synthetic API test.\n */\nclass SyntheticsAPITestConfig {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestConfig.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestConfig = SyntheticsAPITestConfig;\n/**\n * @ignore\n */\nSyntheticsAPITestConfig.attributeTypeMap = {\n    assertions: {\n        baseName: \"assertions\",\n        type: \"Array\",\n    },\n    configVariables: {\n        baseName: \"configVariables\",\n        type: \"Array\",\n    },\n    request: {\n        baseName: \"request\",\n        type: \"SyntheticsTestRequest\",\n    },\n    steps: {\n        baseName: \"steps\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestConfig.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestResultData = void 0;\n/**\n * Object containing results for your Synthetic API test.\n */\nclass SyntheticsAPITestResultData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestResultData.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestResultData = SyntheticsAPITestResultData;\n/**\n * @ignore\n */\nSyntheticsAPITestResultData.attributeTypeMap = {\n    cert: {\n        baseName: \"cert\",\n        type: \"SyntheticsSSLCertificate\",\n    },\n    eventType: {\n        baseName: \"eventType\",\n        type: \"SyntheticsTestProcessStatus\",\n    },\n    failure: {\n        baseName: \"failure\",\n        type: \"SyntheticsApiTestResultFailure\",\n    },\n    httpStatusCode: {\n        baseName: \"httpStatusCode\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    requestHeaders: {\n        baseName: \"requestHeaders\",\n        type: \"{ [key: string]: any; }\",\n    },\n    responseBody: {\n        baseName: \"responseBody\",\n        type: \"string\",\n    },\n    responseHeaders: {\n        baseName: \"responseHeaders\",\n        type: \"{ [key: string]: any; }\",\n    },\n    responseSize: {\n        baseName: \"responseSize\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timings: {\n        baseName: \"timings\",\n        type: \"SyntheticsTiming\",\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestResultData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestResultFull = void 0;\n/**\n * Object returned describing a API test result.\n */\nclass SyntheticsAPITestResultFull {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestResultFull.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestResultFull = SyntheticsAPITestResultFull;\n/**\n * @ignore\n */\nSyntheticsAPITestResultFull.attributeTypeMap = {\n    check: {\n        baseName: \"check\",\n        type: \"SyntheticsAPITestResultFullCheck\",\n    },\n    checkTime: {\n        baseName: \"check_time\",\n        type: \"number\",\n        format: \"double\",\n    },\n    checkVersion: {\n        baseName: \"check_version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    probeDc: {\n        baseName: \"probe_dc\",\n        type: \"string\",\n    },\n    result: {\n        baseName: \"result\",\n        type: \"SyntheticsAPITestResultData\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestMonitorStatus\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestResultFull.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestResultFullCheck = void 0;\n/**\n * Object describing the API test configuration.\n */\nclass SyntheticsAPITestResultFullCheck {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestResultFullCheck.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestResultFullCheck = SyntheticsAPITestResultFullCheck;\n/**\n * @ignore\n */\nSyntheticsAPITestResultFullCheck.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"SyntheticsTestConfig\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestResultFullCheck.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestResultShort = void 0;\n/**\n * Object with the results of a single Synthetic API test.\n */\nclass SyntheticsAPITestResultShort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestResultShort.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestResultShort = SyntheticsAPITestResultShort;\n/**\n * @ignore\n */\nSyntheticsAPITestResultShort.attributeTypeMap = {\n    checkTime: {\n        baseName: \"check_time\",\n        type: \"number\",\n        format: \"double\",\n    },\n    probeDc: {\n        baseName: \"probe_dc\",\n        type: \"string\",\n    },\n    result: {\n        baseName: \"result\",\n        type: \"SyntheticsAPITestResultShortResult\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestMonitorStatus\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestResultShort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAPITestResultShortResult = void 0;\n/**\n * Result of the last API test run.\n */\nclass SyntheticsAPITestResultShortResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAPITestResultShortResult.attributeTypeMap;\n    }\n}\nexports.SyntheticsAPITestResultShortResult = SyntheticsAPITestResultShortResult;\n/**\n * @ignore\n */\nSyntheticsAPITestResultShortResult.attributeTypeMap = {\n    passed: {\n        baseName: \"passed\",\n        type: \"boolean\",\n    },\n    timings: {\n        baseName: \"timings\",\n        type: \"SyntheticsTiming\",\n    },\n};\n//# sourceMappingURL=SyntheticsAPITestResultShortResult.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsApiTestResultFailure = void 0;\n/**\n * The API test failure details.\n */\nclass SyntheticsApiTestResultFailure {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsApiTestResultFailure.attributeTypeMap;\n    }\n}\nexports.SyntheticsApiTestResultFailure = SyntheticsApiTestResultFailure;\n/**\n * @ignore\n */\nSyntheticsApiTestResultFailure.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"SyntheticsApiTestFailureCode\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsApiTestResultFailure.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAssertionJSONPathTarget = void 0;\n/**\n * An assertion for the `validatesJSONPath` operator.\n */\nclass SyntheticsAssertionJSONPathTarget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAssertionJSONPathTarget.attributeTypeMap;\n    }\n}\nexports.SyntheticsAssertionJSONPathTarget = SyntheticsAssertionJSONPathTarget;\n/**\n * @ignore\n */\nSyntheticsAssertionJSONPathTarget.attributeTypeMap = {\n    operator: {\n        baseName: \"operator\",\n        type: \"SyntheticsAssertionJSONPathOperator\",\n        required: true,\n    },\n    property: {\n        baseName: \"property\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"SyntheticsAssertionJSONPathTargetTarget\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsAssertionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAssertionJSONPathTarget.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAssertionJSONPathTargetTarget = void 0;\n/**\n * Composed target for `validatesJSONPath` operator.\n */\nclass SyntheticsAssertionJSONPathTargetTarget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAssertionJSONPathTargetTarget.attributeTypeMap;\n    }\n}\nexports.SyntheticsAssertionJSONPathTargetTarget = SyntheticsAssertionJSONPathTargetTarget;\n/**\n * @ignore\n */\nSyntheticsAssertionJSONPathTargetTarget.attributeTypeMap = {\n    jsonPath: {\n        baseName: \"jsonPath\",\n        type: \"string\",\n    },\n    operator: {\n        baseName: \"operator\",\n        type: \"string\",\n    },\n    targetValue: {\n        baseName: \"targetValue\",\n        type: \"any\",\n    },\n};\n//# sourceMappingURL=SyntheticsAssertionJSONPathTargetTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAssertionTarget = void 0;\n/**\n * An assertion which uses a simple target.\n */\nclass SyntheticsAssertionTarget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAssertionTarget.attributeTypeMap;\n    }\n}\nexports.SyntheticsAssertionTarget = SyntheticsAssertionTarget;\n/**\n * @ignore\n */\nSyntheticsAssertionTarget.attributeTypeMap = {\n    operator: {\n        baseName: \"operator\",\n        type: \"SyntheticsAssertionOperator\",\n        required: true,\n    },\n    property: {\n        baseName: \"property\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"any\",\n        required: true,\n    },\n    timingsScope: {\n        baseName: \"timingsScope\",\n        type: \"SyntheticsAssertionTimingsScope\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsAssertionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAssertionTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAssertionXPathTarget = void 0;\n/**\n * An assertion for the `validatesXPath` operator.\n */\nclass SyntheticsAssertionXPathTarget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAssertionXPathTarget.attributeTypeMap;\n    }\n}\nexports.SyntheticsAssertionXPathTarget = SyntheticsAssertionXPathTarget;\n/**\n * @ignore\n */\nSyntheticsAssertionXPathTarget.attributeTypeMap = {\n    operator: {\n        baseName: \"operator\",\n        type: \"SyntheticsAssertionXPathOperator\",\n        required: true,\n    },\n    property: {\n        baseName: \"property\",\n        type: \"string\",\n    },\n    target: {\n        baseName: \"target\",\n        type: \"SyntheticsAssertionXPathTargetTarget\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsAssertionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsAssertionXPathTarget.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsAssertionXPathTargetTarget = void 0;\n/**\n * Composed target for `validatesXPath` operator.\n */\nclass SyntheticsAssertionXPathTargetTarget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsAssertionXPathTargetTarget.attributeTypeMap;\n    }\n}\nexports.SyntheticsAssertionXPathTargetTarget = SyntheticsAssertionXPathTargetTarget;\n/**\n * @ignore\n */\nSyntheticsAssertionXPathTargetTarget.attributeTypeMap = {\n    operator: {\n        baseName: \"operator\",\n        type: \"string\",\n    },\n    targetValue: {\n        baseName: \"targetValue\",\n        type: \"any\",\n    },\n    xPath: {\n        baseName: \"xPath\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsAssertionXPathTargetTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthDigest = void 0;\n/**\n * Object to handle digest authentication when performing the test.\n */\nclass SyntheticsBasicAuthDigest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthDigest.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthDigest = SyntheticsBasicAuthDigest;\n/**\n * @ignore\n */\nSyntheticsBasicAuthDigest.attributeTypeMap = {\n    password: {\n        baseName: \"password\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthDigestType\",\n    },\n    username: {\n        baseName: \"username\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthDigest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthNTLM = void 0;\n/**\n * Object to handle `NTLM` authentication when performing the test.\n */\nclass SyntheticsBasicAuthNTLM {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthNTLM.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthNTLM = SyntheticsBasicAuthNTLM;\n/**\n * @ignore\n */\nSyntheticsBasicAuthNTLM.attributeTypeMap = {\n    domain: {\n        baseName: \"domain\",\n        type: \"string\",\n    },\n    password: {\n        baseName: \"password\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthNTLMType\",\n        required: true,\n    },\n    username: {\n        baseName: \"username\",\n        type: \"string\",\n    },\n    workstation: {\n        baseName: \"workstation\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthNTLM.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthOauthClient = void 0;\n/**\n * Object to handle `oauth client` authentication when performing the test.\n */\nclass SyntheticsBasicAuthOauthClient {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthOauthClient.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthOauthClient = SyntheticsBasicAuthOauthClient;\n/**\n * @ignore\n */\nSyntheticsBasicAuthOauthClient.attributeTypeMap = {\n    accessTokenUrl: {\n        baseName: \"accessTokenUrl\",\n        type: \"string\",\n        required: true,\n    },\n    audience: {\n        baseName: \"audience\",\n        type: \"string\",\n    },\n    clientId: {\n        baseName: \"clientId\",\n        type: \"string\",\n        required: true,\n    },\n    clientSecret: {\n        baseName: \"clientSecret\",\n        type: \"string\",\n        required: true,\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    tokenApiAuthentication: {\n        baseName: \"tokenApiAuthentication\",\n        type: \"SyntheticsBasicAuthOauthTokenApiAuthentication\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthOauthClientType\",\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthOauthClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthOauthROP = void 0;\n/**\n * Object to handle `oauth rop` authentication when performing the test.\n */\nclass SyntheticsBasicAuthOauthROP {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthOauthROP.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthOauthROP = SyntheticsBasicAuthOauthROP;\n/**\n * @ignore\n */\nSyntheticsBasicAuthOauthROP.attributeTypeMap = {\n    accessTokenUrl: {\n        baseName: \"accessTokenUrl\",\n        type: \"string\",\n        required: true,\n    },\n    audience: {\n        baseName: \"audience\",\n        type: \"string\",\n    },\n    clientId: {\n        baseName: \"clientId\",\n        type: \"string\",\n    },\n    clientSecret: {\n        baseName: \"clientSecret\",\n        type: \"string\",\n    },\n    password: {\n        baseName: \"password\",\n        type: \"string\",\n        required: true,\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    tokenApiAuthentication: {\n        baseName: \"tokenApiAuthentication\",\n        type: \"SyntheticsBasicAuthOauthTokenApiAuthentication\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthOauthROPType\",\n    },\n    username: {\n        baseName: \"username\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthOauthROP.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthSigv4 = void 0;\n/**\n * Object to handle `SIGV4` authentication when performing the test.\n */\nclass SyntheticsBasicAuthSigv4 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthSigv4.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthSigv4 = SyntheticsBasicAuthSigv4;\n/**\n * @ignore\n */\nSyntheticsBasicAuthSigv4.attributeTypeMap = {\n    accessKey: {\n        baseName: \"accessKey\",\n        type: \"string\",\n        required: true,\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    secretKey: {\n        baseName: \"secretKey\",\n        type: \"string\",\n        required: true,\n    },\n    serviceName: {\n        baseName: \"serviceName\",\n        type: \"string\",\n    },\n    sessionToken: {\n        baseName: \"sessionToken\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthSigv4Type\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthSigv4.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBasicAuthWeb = void 0;\n/**\n * Object to handle basic authentication when performing the test.\n */\nclass SyntheticsBasicAuthWeb {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBasicAuthWeb.attributeTypeMap;\n    }\n}\nexports.SyntheticsBasicAuthWeb = SyntheticsBasicAuthWeb;\n/**\n * @ignore\n */\nSyntheticsBasicAuthWeb.attributeTypeMap = {\n    password: {\n        baseName: \"password\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBasicAuthWebType\",\n    },\n    username: {\n        baseName: \"username\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBasicAuthWeb.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBatchDetails = void 0;\n/**\n * Details about a batch response.\n */\nclass SyntheticsBatchDetails {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBatchDetails.attributeTypeMap;\n    }\n}\nexports.SyntheticsBatchDetails = SyntheticsBatchDetails;\n/**\n * @ignore\n */\nSyntheticsBatchDetails.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SyntheticsBatchDetailsData\",\n    },\n};\n//# sourceMappingURL=SyntheticsBatchDetails.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBatchDetailsData = void 0;\n/**\n * Wrapper object that contains the details of a batch.\n */\nclass SyntheticsBatchDetailsData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBatchDetailsData.attributeTypeMap;\n    }\n}\nexports.SyntheticsBatchDetailsData = SyntheticsBatchDetailsData;\n/**\n * @ignore\n */\nSyntheticsBatchDetailsData.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SyntheticsCIBatchMetadata\",\n    },\n    results: {\n        baseName: \"results\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsStatus\",\n    },\n};\n//# sourceMappingURL=SyntheticsBatchDetailsData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBatchResult = void 0;\n/**\n * Object with the results of a Synthetic batch.\n */\nclass SyntheticsBatchResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBatchResult.attributeTypeMap;\n    }\n}\nexports.SyntheticsBatchResult = SyntheticsBatchResult;\n/**\n * @ignore\n */\nSyntheticsBatchResult.attributeTypeMap = {\n    device: {\n        baseName: \"device\",\n        type: \"SyntheticsDeviceID\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"double\",\n    },\n    executionRule: {\n        baseName: \"execution_rule\",\n        type: \"SyntheticsTestExecutionRule\",\n    },\n    location: {\n        baseName: \"location\",\n        type: \"string\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n    retries: {\n        baseName: \"retries\",\n        type: \"number\",\n        format: \"double\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsStatus\",\n    },\n    testName: {\n        baseName: \"test_name\",\n        type: \"string\",\n    },\n    testPublicId: {\n        baseName: \"test_public_id\",\n        type: \"string\",\n    },\n    testType: {\n        baseName: \"test_type\",\n        type: \"SyntheticsTestDetailsType\",\n    },\n};\n//# sourceMappingURL=SyntheticsBatchResult.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserError = void 0;\n/**\n * Error response object for a browser test.\n */\nclass SyntheticsBrowserError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserError.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserError = SyntheticsBrowserError;\n/**\n * @ignore\n */\nSyntheticsBrowserError.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBrowserErrorType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTest = void 0;\n/**\n * Object containing details about a Synthetic browser test.\n */\nclass SyntheticsBrowserTest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTest.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTest = SyntheticsBrowserTest;\n/**\n * @ignore\n */\nSyntheticsBrowserTest.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"SyntheticsBrowserTestConfig\",\n        required: true,\n    },\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SyntheticsTestOptions\",\n        required: true,\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestPauseStatus\",\n    },\n    steps: {\n        baseName: \"steps\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBrowserTestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestConfig = void 0;\n/**\n * Configuration object for a Synthetic browser test.\n */\nclass SyntheticsBrowserTestConfig {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestConfig.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestConfig = SyntheticsBrowserTestConfig;\n/**\n * @ignore\n */\nSyntheticsBrowserTestConfig.attributeTypeMap = {\n    assertions: {\n        baseName: \"assertions\",\n        type: \"Array\",\n        required: true,\n    },\n    configVariables: {\n        baseName: \"configVariables\",\n        type: \"Array\",\n    },\n    request: {\n        baseName: \"request\",\n        type: \"SyntheticsTestRequest\",\n        required: true,\n    },\n    setCookie: {\n        baseName: \"setCookie\",\n        type: \"string\",\n    },\n    variables: {\n        baseName: \"variables\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestConfig.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultData = void 0;\n/**\n * Object containing results for your Synthetic browser test.\n */\nclass SyntheticsBrowserTestResultData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultData.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultData = SyntheticsBrowserTestResultData;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultData.attributeTypeMap = {\n    browserType: {\n        baseName: \"browserType\",\n        type: \"string\",\n    },\n    browserVersion: {\n        baseName: \"browserVersion\",\n        type: \"string\",\n    },\n    device: {\n        baseName: \"device\",\n        type: \"SyntheticsDevice\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"double\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"string\",\n    },\n    failure: {\n        baseName: \"failure\",\n        type: \"SyntheticsBrowserTestResultFailure\",\n    },\n    passed: {\n        baseName: \"passed\",\n        type: \"boolean\",\n    },\n    receivedEmailCount: {\n        baseName: \"receivedEmailCount\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    startUrl: {\n        baseName: \"startUrl\",\n        type: \"string\",\n    },\n    stepDetails: {\n        baseName: \"stepDetails\",\n        type: \"Array\",\n    },\n    thumbnailsBucketKey: {\n        baseName: \"thumbnailsBucketKey\",\n        type: \"boolean\",\n    },\n    timeToInteractive: {\n        baseName: \"timeToInteractive\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultFailure = void 0;\n/**\n * The browser test failure details.\n */\nclass SyntheticsBrowserTestResultFailure {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultFailure.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultFailure = SyntheticsBrowserTestResultFailure;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultFailure.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"SyntheticsBrowserTestFailureCode\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultFailure.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultFull = void 0;\n/**\n * Object returned describing a browser test result.\n */\nclass SyntheticsBrowserTestResultFull {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultFull.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultFull = SyntheticsBrowserTestResultFull;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultFull.attributeTypeMap = {\n    check: {\n        baseName: \"check\",\n        type: \"SyntheticsBrowserTestResultFullCheck\",\n    },\n    checkTime: {\n        baseName: \"check_time\",\n        type: \"number\",\n        format: \"double\",\n    },\n    checkVersion: {\n        baseName: \"check_version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    probeDc: {\n        baseName: \"probe_dc\",\n        type: \"string\",\n    },\n    result: {\n        baseName: \"result\",\n        type: \"SyntheticsBrowserTestResultData\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestMonitorStatus\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultFull.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultFullCheck = void 0;\n/**\n * Object describing the browser test configuration.\n */\nclass SyntheticsBrowserTestResultFullCheck {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultFullCheck.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultFullCheck = SyntheticsBrowserTestResultFullCheck;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultFullCheck.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"SyntheticsTestConfig\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultFullCheck.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultShort = void 0;\n/**\n * Object with the results of a single Synthetic browser test.\n */\nclass SyntheticsBrowserTestResultShort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultShort.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultShort = SyntheticsBrowserTestResultShort;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultShort.attributeTypeMap = {\n    checkTime: {\n        baseName: \"check_time\",\n        type: \"number\",\n        format: \"double\",\n    },\n    probeDc: {\n        baseName: \"probe_dc\",\n        type: \"string\",\n    },\n    result: {\n        baseName: \"result\",\n        type: \"SyntheticsBrowserTestResultShortResult\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestMonitorStatus\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultShort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestResultShortResult = void 0;\n/**\n * Object with the result of the last browser test run.\n */\nclass SyntheticsBrowserTestResultShortResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestResultShortResult.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestResultShortResult = SyntheticsBrowserTestResultShortResult;\n/**\n * @ignore\n */\nSyntheticsBrowserTestResultShortResult.attributeTypeMap = {\n    device: {\n        baseName: \"device\",\n        type: \"SyntheticsDevice\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"double\",\n    },\n    errorCount: {\n        baseName: \"errorCount\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    stepCountCompleted: {\n        baseName: \"stepCountCompleted\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    stepCountTotal: {\n        baseName: \"stepCountTotal\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestResultShortResult.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserTestRumSettings = void 0;\n/**\n * The RUM data collection settings for the Synthetic browser test.\n * **Note:** There are 3 ways to format RUM settings:\n *\n * `{ isEnabled: false }`\n * RUM data is not collected.\n *\n * `{ isEnabled: true }`\n * RUM data is collected from the Synthetic test's default application.\n *\n * `{ isEnabled: true, applicationId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\", clientTokenId: 12345 }`\n * RUM data is collected using the specified application.\n */\nclass SyntheticsBrowserTestRumSettings {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserTestRumSettings.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserTestRumSettings = SyntheticsBrowserTestRumSettings;\n/**\n * @ignore\n */\nSyntheticsBrowserTestRumSettings.attributeTypeMap = {\n    applicationId: {\n        baseName: \"applicationId\",\n        type: \"string\",\n    },\n    clientTokenId: {\n        baseName: \"clientTokenId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserTestRumSettings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsBrowserVariable = void 0;\n/**\n * Object defining a variable that can be used in your browser test.\n * See the [Recording Steps documentation](https://docs.datadoghq.com/synthetics/browser_tests/actions/?tab=testanelementontheactivepage#variables).\n */\nclass SyntheticsBrowserVariable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsBrowserVariable.attributeTypeMap;\n    }\n}\nexports.SyntheticsBrowserVariable = SyntheticsBrowserVariable;\n/**\n * @ignore\n */\nSyntheticsBrowserVariable.attributeTypeMap = {\n    example: {\n        baseName: \"example\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    pattern: {\n        baseName: \"pattern\",\n        type: \"string\",\n    },\n    secure: {\n        baseName: \"secure\",\n        type: \"boolean\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsBrowserVariableType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsBrowserVariable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCIBatchMetadata = void 0;\n/**\n * Metadata for the Synthetic tests run.\n */\nclass SyntheticsCIBatchMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCIBatchMetadata.attributeTypeMap;\n    }\n}\nexports.SyntheticsCIBatchMetadata = SyntheticsCIBatchMetadata;\n/**\n * @ignore\n */\nSyntheticsCIBatchMetadata.attributeTypeMap = {\n    ci: {\n        baseName: \"ci\",\n        type: \"SyntheticsCIBatchMetadataCI\",\n    },\n    git: {\n        baseName: \"git\",\n        type: \"SyntheticsCIBatchMetadataGit\",\n    },\n};\n//# sourceMappingURL=SyntheticsCIBatchMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCIBatchMetadataCI = void 0;\n/**\n * Description of the CI provider.\n */\nclass SyntheticsCIBatchMetadataCI {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCIBatchMetadataCI.attributeTypeMap;\n    }\n}\nexports.SyntheticsCIBatchMetadataCI = SyntheticsCIBatchMetadataCI;\n/**\n * @ignore\n */\nSyntheticsCIBatchMetadataCI.attributeTypeMap = {\n    pipeline: {\n        baseName: \"pipeline\",\n        type: \"SyntheticsCIBatchMetadataPipeline\",\n    },\n    provider: {\n        baseName: \"provider\",\n        type: \"SyntheticsCIBatchMetadataProvider\",\n    },\n};\n//# sourceMappingURL=SyntheticsCIBatchMetadataCI.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCIBatchMetadataGit = void 0;\n/**\n * Git information.\n */\nclass SyntheticsCIBatchMetadataGit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCIBatchMetadataGit.attributeTypeMap;\n    }\n}\nexports.SyntheticsCIBatchMetadataGit = SyntheticsCIBatchMetadataGit;\n/**\n * @ignore\n */\nSyntheticsCIBatchMetadataGit.attributeTypeMap = {\n    branch: {\n        baseName: \"branch\",\n        type: \"string\",\n    },\n    commitSha: {\n        baseName: \"commitSha\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsCIBatchMetadataGit.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCIBatchMetadataPipeline = void 0;\n/**\n * Description of the CI pipeline.\n */\nclass SyntheticsCIBatchMetadataPipeline {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCIBatchMetadataPipeline.attributeTypeMap;\n    }\n}\nexports.SyntheticsCIBatchMetadataPipeline = SyntheticsCIBatchMetadataPipeline;\n/**\n * @ignore\n */\nSyntheticsCIBatchMetadataPipeline.attributeTypeMap = {\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsCIBatchMetadataPipeline.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCIBatchMetadataProvider = void 0;\n/**\n * Description of the CI provider.\n */\nclass SyntheticsCIBatchMetadataProvider {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCIBatchMetadataProvider.attributeTypeMap;\n    }\n}\nexports.SyntheticsCIBatchMetadataProvider = SyntheticsCIBatchMetadataProvider;\n/**\n * @ignore\n */\nSyntheticsCIBatchMetadataProvider.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsCIBatchMetadataProvider.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCITest = void 0;\n/**\n * Configuration for Continuous Testing.\n */\nclass SyntheticsCITest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCITest.attributeTypeMap;\n    }\n}\nexports.SyntheticsCITest = SyntheticsCITest;\n/**\n * @ignore\n */\nSyntheticsCITest.attributeTypeMap = {\n    allowInsecureCertificates: {\n        baseName: \"allowInsecureCertificates\",\n        type: \"boolean\",\n    },\n    basicAuth: {\n        baseName: \"basicAuth\",\n        type: \"SyntheticsBasicAuth\",\n    },\n    body: {\n        baseName: \"body\",\n        type: \"string\",\n    },\n    bodyType: {\n        baseName: \"bodyType\",\n        type: \"string\",\n    },\n    cookies: {\n        baseName: \"cookies\",\n        type: \"string\",\n    },\n    deviceIds: {\n        baseName: \"deviceIds\",\n        type: \"Array\",\n    },\n    followRedirects: {\n        baseName: \"followRedirects\",\n        type: \"boolean\",\n    },\n    headers: {\n        baseName: \"headers\",\n        type: \"{ [key: string]: string; }\",\n    },\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SyntheticsCIBatchMetadata\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n        required: true,\n    },\n    retry: {\n        baseName: \"retry\",\n        type: \"SyntheticsTestOptionsRetry\",\n    },\n    startUrl: {\n        baseName: \"startUrl\",\n        type: \"string\",\n    },\n    variables: {\n        baseName: \"variables\",\n        type: \"{ [key: string]: string; }\",\n    },\n};\n//# sourceMappingURL=SyntheticsCITest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCITestBody = void 0;\n/**\n * Object describing the synthetics tests to trigger.\n */\nclass SyntheticsCITestBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCITestBody.attributeTypeMap;\n    }\n}\nexports.SyntheticsCITestBody = SyntheticsCITestBody;\n/**\n * @ignore\n */\nSyntheticsCITestBody.attributeTypeMap = {\n    tests: {\n        baseName: \"tests\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsCITestBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsConfigVariable = void 0;\n/**\n * Object defining a variable that can be used in your test configuration.\n */\nclass SyntheticsConfigVariable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsConfigVariable.attributeTypeMap;\n    }\n}\nexports.SyntheticsConfigVariable = SyntheticsConfigVariable;\n/**\n * @ignore\n */\nSyntheticsConfigVariable.attributeTypeMap = {\n    example: {\n        baseName: \"example\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    pattern: {\n        baseName: \"pattern\",\n        type: \"string\",\n    },\n    secure: {\n        baseName: \"secure\",\n        type: \"boolean\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsConfigVariableType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsConfigVariable.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsCoreWebVitals = void 0;\n/**\n * Core Web Vitals attached to a browser test step.\n */\nclass SyntheticsCoreWebVitals {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsCoreWebVitals.attributeTypeMap;\n    }\n}\nexports.SyntheticsCoreWebVitals = SyntheticsCoreWebVitals;\n/**\n * @ignore\n */\nSyntheticsCoreWebVitals.attributeTypeMap = {\n    cls: {\n        baseName: \"cls\",\n        type: \"number\",\n        format: \"double\",\n    },\n    lcp: {\n        baseName: \"lcp\",\n        type: \"number\",\n        format: \"double\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsCoreWebVitals.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsDeleteTestsPayload = void 0;\n/**\n * A JSON list of the ID or IDs of the Synthetic tests that you want\n * to delete.\n */\nclass SyntheticsDeleteTestsPayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsDeleteTestsPayload.attributeTypeMap;\n    }\n}\nexports.SyntheticsDeleteTestsPayload = SyntheticsDeleteTestsPayload;\n/**\n * @ignore\n */\nSyntheticsDeleteTestsPayload.attributeTypeMap = {\n    publicIds: {\n        baseName: \"public_ids\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsDeleteTestsPayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsDeleteTestsResponse = void 0;\n/**\n * Response object for deleting Synthetic tests.\n */\nclass SyntheticsDeleteTestsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsDeleteTestsResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsDeleteTestsResponse = SyntheticsDeleteTestsResponse;\n/**\n * @ignore\n */\nSyntheticsDeleteTestsResponse.attributeTypeMap = {\n    deletedTests: {\n        baseName: \"deleted_tests\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsDeleteTestsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsDeletedTest = void 0;\n/**\n * Object containing a deleted Synthetic test ID with the associated\n * deletion timestamp.\n */\nclass SyntheticsDeletedTest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsDeletedTest.attributeTypeMap;\n    }\n}\nexports.SyntheticsDeletedTest = SyntheticsDeletedTest;\n/**\n * @ignore\n */\nSyntheticsDeletedTest.attributeTypeMap = {\n    deletedAt: {\n        baseName: \"deleted_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsDeletedTest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsDevice = void 0;\n/**\n * Object describing the device used to perform the Synthetic test.\n */\nclass SyntheticsDevice {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsDevice.attributeTypeMap;\n    }\n}\nexports.SyntheticsDevice = SyntheticsDevice;\n/**\n * @ignore\n */\nSyntheticsDevice.attributeTypeMap = {\n    height: {\n        baseName: \"height\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"SyntheticsDeviceID\",\n        required: true,\n    },\n    isMobile: {\n        baseName: \"isMobile\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    width: {\n        baseName: \"width\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsDevice.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGetAPITestLatestResultsResponse = void 0;\n/**\n * Object with the latest Synthetic API test run.\n */\nclass SyntheticsGetAPITestLatestResultsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGetAPITestLatestResultsResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsGetAPITestLatestResultsResponse = SyntheticsGetAPITestLatestResultsResponse;\n/**\n * @ignore\n */\nSyntheticsGetAPITestLatestResultsResponse.attributeTypeMap = {\n    lastTimestampFetched: {\n        baseName: \"last_timestamp_fetched\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    results: {\n        baseName: \"results\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsGetAPITestLatestResultsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGetBrowserTestLatestResultsResponse = void 0;\n/**\n * Object with the latest Synthetic browser test run.\n */\nclass SyntheticsGetBrowserTestLatestResultsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGetBrowserTestLatestResultsResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsGetBrowserTestLatestResultsResponse = SyntheticsGetBrowserTestLatestResultsResponse;\n/**\n * @ignore\n */\nSyntheticsGetBrowserTestLatestResultsResponse.attributeTypeMap = {\n    lastTimestampFetched: {\n        baseName: \"last_timestamp_fetched\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    results: {\n        baseName: \"results\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsGetBrowserTestLatestResultsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariable = void 0;\n/**\n * Synthetic global variable.\n */\nclass SyntheticsGlobalVariable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariable.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariable = SyntheticsGlobalVariable;\n/**\n * @ignore\n */\nSyntheticsGlobalVariable.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SyntheticsGlobalVariableAttributes\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    parseTestOptions: {\n        baseName: \"parse_test_options\",\n        type: \"SyntheticsGlobalVariableParseTestOptions\",\n    },\n    parseTestPublicId: {\n        baseName: \"parse_test_public_id\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"SyntheticsGlobalVariableValue\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariable.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariableAttributes = void 0;\n/**\n * Attributes of the global variable.\n */\nclass SyntheticsGlobalVariableAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariableAttributes.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariableAttributes = SyntheticsGlobalVariableAttributes;\n/**\n * @ignore\n */\nSyntheticsGlobalVariableAttributes.attributeTypeMap = {\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariableAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariableOptions = void 0;\n/**\n * Options for the Global Variable for MFA.\n */\nclass SyntheticsGlobalVariableOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariableOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariableOptions = SyntheticsGlobalVariableOptions;\n/**\n * @ignore\n */\nSyntheticsGlobalVariableOptions.attributeTypeMap = {\n    totpParameters: {\n        baseName: \"totp_parameters\",\n        type: \"SyntheticsGlobalVariableTOTPParameters\",\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariableOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariableParseTestOptions = void 0;\n/**\n * Parser options to use for retrieving a Synthetic global variable from a Synthetic test. Used in conjunction with `parse_test_public_id`.\n */\nclass SyntheticsGlobalVariableParseTestOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariableParseTestOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariableParseTestOptions = SyntheticsGlobalVariableParseTestOptions;\n/**\n * @ignore\n */\nSyntheticsGlobalVariableParseTestOptions.attributeTypeMap = {\n    field: {\n        baseName: \"field\",\n        type: \"string\",\n    },\n    localVariableName: {\n        baseName: \"localVariableName\",\n        type: \"string\",\n    },\n    parser: {\n        baseName: \"parser\",\n        type: \"SyntheticsVariableParser\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsGlobalVariableParseTestOptionsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariableParseTestOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariableTOTPParameters = void 0;\n/**\n * Parameters for the TOTP/MFA variable\n */\nclass SyntheticsGlobalVariableTOTPParameters {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariableTOTPParameters.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariableTOTPParameters = SyntheticsGlobalVariableTOTPParameters;\n/**\n * @ignore\n */\nSyntheticsGlobalVariableTOTPParameters.attributeTypeMap = {\n    digits: {\n        baseName: \"digits\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    refreshInterval: {\n        baseName: \"refresh_interval\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariableTOTPParameters.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsGlobalVariableValue = void 0;\n/**\n * Value of the global variable.\n */\nclass SyntheticsGlobalVariableValue {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsGlobalVariableValue.attributeTypeMap;\n    }\n}\nexports.SyntheticsGlobalVariableValue = SyntheticsGlobalVariableValue;\n/**\n * @ignore\n */\nSyntheticsGlobalVariableValue.attributeTypeMap = {\n    options: {\n        baseName: \"options\",\n        type: \"SyntheticsGlobalVariableOptions\",\n    },\n    secure: {\n        baseName: \"secure\",\n        type: \"boolean\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsGlobalVariableValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsListGlobalVariablesResponse = void 0;\n/**\n * Object containing an array of Synthetic global variables.\n */\nclass SyntheticsListGlobalVariablesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsListGlobalVariablesResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsListGlobalVariablesResponse = SyntheticsListGlobalVariablesResponse;\n/**\n * @ignore\n */\nSyntheticsListGlobalVariablesResponse.attributeTypeMap = {\n    variables: {\n        baseName: \"variables\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsListGlobalVariablesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsListTestsResponse = void 0;\n/**\n * Object containing an array of Synthetic tests configuration.\n */\nclass SyntheticsListTestsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsListTestsResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsListTestsResponse = SyntheticsListTestsResponse;\n/**\n * @ignore\n */\nSyntheticsListTestsResponse.attributeTypeMap = {\n    tests: {\n        baseName: \"tests\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsListTestsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsLocation = void 0;\n/**\n * Synthetic location that can be used when creating or editing a\n * test.\n */\nclass SyntheticsLocation {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsLocation.attributeTypeMap;\n    }\n}\nexports.SyntheticsLocation = SyntheticsLocation;\n/**\n * @ignore\n */\nSyntheticsLocation.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsLocation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsLocations = void 0;\n/**\n * List of Synthetic locations.\n */\nclass SyntheticsLocations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsLocations.attributeTypeMap;\n    }\n}\nexports.SyntheticsLocations = SyntheticsLocations;\n/**\n * @ignore\n */\nSyntheticsLocations.attributeTypeMap = {\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsLocations.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsParsingOptions = void 0;\n/**\n * Parsing options for variables to extract.\n */\nclass SyntheticsParsingOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsParsingOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsParsingOptions = SyntheticsParsingOptions;\n/**\n * @ignore\n */\nSyntheticsParsingOptions.attributeTypeMap = {\n    field: {\n        baseName: \"field\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    parser: {\n        baseName: \"parser\",\n        type: \"SyntheticsVariableParser\",\n    },\n    secure: {\n        baseName: \"secure\",\n        type: \"boolean\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsGlobalVariableParseTestOptionsType\",\n    },\n};\n//# sourceMappingURL=SyntheticsParsingOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocation = void 0;\n/**\n * Object containing information about the private location to create.\n */\nclass SyntheticsPrivateLocation {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocation.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocation = SyntheticsPrivateLocation;\n/**\n * @ignore\n */\nSyntheticsPrivateLocation.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SyntheticsPrivateLocationMetadata\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    secrets: {\n        baseName: \"secrets\",\n        type: \"SyntheticsPrivateLocationSecrets\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationCreationResponse = void 0;\n/**\n * Object that contains the new private location, the public key for result encryption, and the configuration skeleton.\n */\nclass SyntheticsPrivateLocationCreationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationCreationResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationCreationResponse = SyntheticsPrivateLocationCreationResponse;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationCreationResponse.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"any\",\n    },\n    privateLocation: {\n        baseName: \"private_location\",\n        type: \"SyntheticsPrivateLocation\",\n    },\n    resultEncryption: {\n        baseName: \"result_encryption\",\n        type: \"SyntheticsPrivateLocationCreationResponseResultEncryption\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationCreationResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationCreationResponseResultEncryption = void 0;\n/**\n * Public key for the result encryption.\n */\nclass SyntheticsPrivateLocationCreationResponseResultEncryption {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationCreationResponseResultEncryption.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationCreationResponseResultEncryption = SyntheticsPrivateLocationCreationResponseResultEncryption;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationCreationResponseResultEncryption.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationCreationResponseResultEncryption.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationMetadata = void 0;\n/**\n * Object containing metadata about the private location.\n */\nclass SyntheticsPrivateLocationMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationMetadata.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationMetadata = SyntheticsPrivateLocationMetadata;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationMetadata.attributeTypeMap = {\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationSecrets = void 0;\n/**\n * Secrets for the private location. Only present in the response when creating the private location.\n */\nclass SyntheticsPrivateLocationSecrets {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationSecrets.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationSecrets = SyntheticsPrivateLocationSecrets;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationSecrets.attributeTypeMap = {\n    authentication: {\n        baseName: \"authentication\",\n        type: \"SyntheticsPrivateLocationSecretsAuthentication\",\n    },\n    configDecryption: {\n        baseName: \"config_decryption\",\n        type: \"SyntheticsPrivateLocationSecretsConfigDecryption\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationSecrets.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationSecretsAuthentication = void 0;\n/**\n * Authentication part of the secrets.\n */\nclass SyntheticsPrivateLocationSecretsAuthentication {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationSecretsAuthentication.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationSecretsAuthentication = SyntheticsPrivateLocationSecretsAuthentication;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationSecretsAuthentication.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationSecretsAuthentication.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsPrivateLocationSecretsConfigDecryption = void 0;\n/**\n * Private key for the private location.\n */\nclass SyntheticsPrivateLocationSecretsConfigDecryption {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsPrivateLocationSecretsConfigDecryption.attributeTypeMap;\n    }\n}\nexports.SyntheticsPrivateLocationSecretsConfigDecryption = SyntheticsPrivateLocationSecretsConfigDecryption;\n/**\n * @ignore\n */\nSyntheticsPrivateLocationSecretsConfigDecryption.attributeTypeMap = {\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsPrivateLocationSecretsConfigDecryption.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsSSLCertificate = void 0;\n/**\n * Object describing the SSL certificate used for a Synthetic test.\n */\nclass SyntheticsSSLCertificate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsSSLCertificate.attributeTypeMap;\n    }\n}\nexports.SyntheticsSSLCertificate = SyntheticsSSLCertificate;\n/**\n * @ignore\n */\nSyntheticsSSLCertificate.attributeTypeMap = {\n    cipher: {\n        baseName: \"cipher\",\n        type: \"string\",\n    },\n    exponent: {\n        baseName: \"exponent\",\n        type: \"number\",\n        format: \"double\",\n    },\n    extKeyUsage: {\n        baseName: \"extKeyUsage\",\n        type: \"Array\",\n    },\n    fingerprint: {\n        baseName: \"fingerprint\",\n        type: \"string\",\n    },\n    fingerprint256: {\n        baseName: \"fingerprint256\",\n        type: \"string\",\n    },\n    issuer: {\n        baseName: \"issuer\",\n        type: \"SyntheticsSSLCertificateIssuer\",\n    },\n    modulus: {\n        baseName: \"modulus\",\n        type: \"string\",\n    },\n    protocol: {\n        baseName: \"protocol\",\n        type: \"string\",\n    },\n    serialNumber: {\n        baseName: \"serialNumber\",\n        type: \"string\",\n    },\n    subject: {\n        baseName: \"subject\",\n        type: \"SyntheticsSSLCertificateSubject\",\n    },\n    validFrom: {\n        baseName: \"validFrom\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    validTo: {\n        baseName: \"validTo\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=SyntheticsSSLCertificate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsSSLCertificateIssuer = void 0;\n/**\n * Object describing the issuer of a SSL certificate.\n */\nclass SyntheticsSSLCertificateIssuer {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsSSLCertificateIssuer.attributeTypeMap;\n    }\n}\nexports.SyntheticsSSLCertificateIssuer = SyntheticsSSLCertificateIssuer;\n/**\n * @ignore\n */\nSyntheticsSSLCertificateIssuer.attributeTypeMap = {\n    C: {\n        baseName: \"C\",\n        type: \"string\",\n    },\n    CN: {\n        baseName: \"CN\",\n        type: \"string\",\n    },\n    L: {\n        baseName: \"L\",\n        type: \"string\",\n    },\n    O: {\n        baseName: \"O\",\n        type: \"string\",\n    },\n    OU: {\n        baseName: \"OU\",\n        type: \"string\",\n    },\n    ST: {\n        baseName: \"ST\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsSSLCertificateIssuer.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsSSLCertificateSubject = void 0;\n/**\n * Object describing the SSL certificate used for the test.\n */\nclass SyntheticsSSLCertificateSubject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsSSLCertificateSubject.attributeTypeMap;\n    }\n}\nexports.SyntheticsSSLCertificateSubject = SyntheticsSSLCertificateSubject;\n/**\n * @ignore\n */\nSyntheticsSSLCertificateSubject.attributeTypeMap = {\n    C: {\n        baseName: \"C\",\n        type: \"string\",\n    },\n    CN: {\n        baseName: \"CN\",\n        type: \"string\",\n    },\n    L: {\n        baseName: \"L\",\n        type: \"string\",\n    },\n    O: {\n        baseName: \"O\",\n        type: \"string\",\n    },\n    OU: {\n        baseName: \"OU\",\n        type: \"string\",\n    },\n    ST: {\n        baseName: \"ST\",\n        type: \"string\",\n    },\n    altName: {\n        baseName: \"altName\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsSSLCertificateSubject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsStep = void 0;\n/**\n * The steps used in a Synthetic browser test.\n */\nclass SyntheticsStep {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsStep.attributeTypeMap;\n    }\n}\nexports.SyntheticsStep = SyntheticsStep;\n/**\n * @ignore\n */\nSyntheticsStep.attributeTypeMap = {\n    allowFailure: {\n        baseName: \"allowFailure\",\n        type: \"boolean\",\n    },\n    isCritical: {\n        baseName: \"isCritical\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    noScreenshot: {\n        baseName: \"noScreenshot\",\n        type: \"boolean\",\n    },\n    params: {\n        baseName: \"params\",\n        type: \"any\",\n    },\n    timeout: {\n        baseName: \"timeout\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsStepType\",\n    },\n};\n//# sourceMappingURL=SyntheticsStep.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsStepDetail = void 0;\n/**\n * Object describing a step for a Synthetic test.\n */\nclass SyntheticsStepDetail {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsStepDetail.attributeTypeMap;\n    }\n}\nexports.SyntheticsStepDetail = SyntheticsStepDetail;\n/**\n * @ignore\n */\nSyntheticsStepDetail.attributeTypeMap = {\n    browserErrors: {\n        baseName: \"browserErrors\",\n        type: \"Array\",\n    },\n    checkType: {\n        baseName: \"checkType\",\n        type: \"SyntheticsCheckType\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"double\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"string\",\n    },\n    playingTab: {\n        baseName: \"playingTab\",\n        type: \"SyntheticsPlayingTab\",\n        format: \"int64\",\n    },\n    screenshotBucketKey: {\n        baseName: \"screenshotBucketKey\",\n        type: \"boolean\",\n    },\n    skipped: {\n        baseName: \"skipped\",\n        type: \"boolean\",\n    },\n    snapshotBucketKey: {\n        baseName: \"snapshotBucketKey\",\n        type: \"boolean\",\n    },\n    stepId: {\n        baseName: \"stepId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    subTestStepDetails: {\n        baseName: \"subTestStepDetails\",\n        type: \"Array\",\n    },\n    timeToInteractive: {\n        baseName: \"timeToInteractive\",\n        type: \"number\",\n        format: \"double\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsStepType\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"any\",\n    },\n    vitalsMetrics: {\n        baseName: \"vitalsMetrics\",\n        type: \"Array\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsStepDetail.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsStepDetailWarning = void 0;\n/**\n * Object collecting warnings for a given step.\n */\nclass SyntheticsStepDetailWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsStepDetailWarning.attributeTypeMap;\n    }\n}\nexports.SyntheticsStepDetailWarning = SyntheticsStepDetailWarning;\n/**\n * @ignore\n */\nSyntheticsStepDetailWarning.attributeTypeMap = {\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsWarningType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsStepDetailWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestCiOptions = void 0;\n/**\n * CI/CD options for a Synthetic test.\n */\nclass SyntheticsTestCiOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestCiOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestCiOptions = SyntheticsTestCiOptions;\n/**\n * @ignore\n */\nSyntheticsTestCiOptions.attributeTypeMap = {\n    executionRule: {\n        baseName: \"executionRule\",\n        type: \"SyntheticsTestExecutionRule\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestCiOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestConfig = void 0;\n/**\n * Configuration object for a Synthetic test.\n */\nclass SyntheticsTestConfig {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestConfig.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestConfig = SyntheticsTestConfig;\n/**\n * @ignore\n */\nSyntheticsTestConfig.attributeTypeMap = {\n    assertions: {\n        baseName: \"assertions\",\n        type: \"Array\",\n    },\n    configVariables: {\n        baseName: \"configVariables\",\n        type: \"Array\",\n    },\n    request: {\n        baseName: \"request\",\n        type: \"SyntheticsTestRequest\",\n    },\n    variables: {\n        baseName: \"variables\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestConfig.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestDetails = void 0;\n/**\n * Object containing details about your Synthetic test.\n */\nclass SyntheticsTestDetails {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestDetails.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestDetails = SyntheticsTestDetails;\n/**\n * @ignore\n */\nSyntheticsTestDetails.attributeTypeMap = {\n    config: {\n        baseName: \"config\",\n        type: \"SyntheticsTestConfig\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"Creator\",\n    },\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SyntheticsTestOptions\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SyntheticsTestPauseStatus\",\n    },\n    steps: {\n        baseName: \"steps\",\n        type: \"Array\",\n    },\n    subtype: {\n        baseName: \"subtype\",\n        type: \"SyntheticsTestDetailsSubType\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsTestDetailsType\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestDetails.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestOptions = void 0;\n/**\n * Object describing the extra options for a Synthetic test.\n */\nclass SyntheticsTestOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestOptions = SyntheticsTestOptions;\n/**\n * @ignore\n */\nSyntheticsTestOptions.attributeTypeMap = {\n    acceptSelfSigned: {\n        baseName: \"accept_self_signed\",\n        type: \"boolean\",\n    },\n    allowInsecure: {\n        baseName: \"allow_insecure\",\n        type: \"boolean\",\n    },\n    checkCertificateRevocation: {\n        baseName: \"checkCertificateRevocation\",\n        type: \"boolean\",\n    },\n    ci: {\n        baseName: \"ci\",\n        type: \"SyntheticsTestCiOptions\",\n    },\n    deviceIds: {\n        baseName: \"device_ids\",\n        type: \"Array\",\n    },\n    disableCors: {\n        baseName: \"disableCors\",\n        type: \"boolean\",\n    },\n    disableCsp: {\n        baseName: \"disableCsp\",\n        type: \"boolean\",\n    },\n    followRedirects: {\n        baseName: \"follow_redirects\",\n        type: \"boolean\",\n    },\n    httpVersion: {\n        baseName: \"httpVersion\",\n        type: \"SyntheticsTestOptionsHTTPVersion\",\n    },\n    ignoreServerCertificateError: {\n        baseName: \"ignoreServerCertificateError\",\n        type: \"boolean\",\n    },\n    initialNavigationTimeout: {\n        baseName: \"initialNavigationTimeout\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    minFailureDuration: {\n        baseName: \"min_failure_duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    minLocationFailed: {\n        baseName: \"min_location_failed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    monitorName: {\n        baseName: \"monitor_name\",\n        type: \"string\",\n    },\n    monitorOptions: {\n        baseName: \"monitor_options\",\n        type: \"SyntheticsTestOptionsMonitorOptions\",\n    },\n    monitorPriority: {\n        baseName: \"monitor_priority\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    noScreenshot: {\n        baseName: \"noScreenshot\",\n        type: \"boolean\",\n    },\n    restrictedRoles: {\n        baseName: \"restricted_roles\",\n        type: \"Array\",\n    },\n    retry: {\n        baseName: \"retry\",\n        type: \"SyntheticsTestOptionsRetry\",\n    },\n    rumSettings: {\n        baseName: \"rumSettings\",\n        type: \"SyntheticsBrowserTestRumSettings\",\n    },\n    scheduling: {\n        baseName: \"scheduling\",\n        type: \"SyntheticsTestOptionsScheduling\",\n    },\n    tickEvery: {\n        baseName: \"tick_every\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestOptionsMonitorOptions = void 0;\n/**\n * Object containing the options for a Synthetic test as a monitor\n * (for example, renotification).\n */\nclass SyntheticsTestOptionsMonitorOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestOptionsMonitorOptions.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestOptionsMonitorOptions = SyntheticsTestOptionsMonitorOptions;\n/**\n * @ignore\n */\nSyntheticsTestOptionsMonitorOptions.attributeTypeMap = {\n    renotifyInterval: {\n        baseName: \"renotify_interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestOptionsMonitorOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestOptionsRetry = void 0;\n/**\n * Object describing the retry strategy to apply to a Synthetic test.\n */\nclass SyntheticsTestOptionsRetry {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestOptionsRetry.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestOptionsRetry = SyntheticsTestOptionsRetry;\n/**\n * @ignore\n */\nSyntheticsTestOptionsRetry.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestOptionsRetry.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestOptionsScheduling = void 0;\n/**\n * Object containing timeframes and timezone used for advanced scheduling.\n */\nclass SyntheticsTestOptionsScheduling {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestOptionsScheduling.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestOptionsScheduling = SyntheticsTestOptionsScheduling;\n/**\n * @ignore\n */\nSyntheticsTestOptionsScheduling.attributeTypeMap = {\n    timeframes: {\n        baseName: \"timeframes\",\n        type: \"Array\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestOptionsScheduling.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestOptionsSchedulingTimeframe = void 0;\n/**\n * Object describing a timeframe.\n */\nclass SyntheticsTestOptionsSchedulingTimeframe {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestOptionsSchedulingTimeframe.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestOptionsSchedulingTimeframe = SyntheticsTestOptionsSchedulingTimeframe;\n/**\n * @ignore\n */\nSyntheticsTestOptionsSchedulingTimeframe.attributeTypeMap = {\n    day: {\n        baseName: \"day\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestOptionsSchedulingTimeframe.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestRequest = void 0;\n/**\n * Object describing the Synthetic test request.\n */\nclass SyntheticsTestRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestRequest.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestRequest = SyntheticsTestRequest;\n/**\n * @ignore\n */\nSyntheticsTestRequest.attributeTypeMap = {\n    allowInsecure: {\n        baseName: \"allow_insecure\",\n        type: \"boolean\",\n    },\n    basicAuth: {\n        baseName: \"basicAuth\",\n        type: \"SyntheticsBasicAuth\",\n    },\n    body: {\n        baseName: \"body\",\n        type: \"string\",\n    },\n    bodyType: {\n        baseName: \"bodyType\",\n        type: \"SyntheticsTestRequestBodyType\",\n    },\n    callType: {\n        baseName: \"callType\",\n        type: \"SyntheticsTestCallType\",\n    },\n    certificate: {\n        baseName: \"certificate\",\n        type: \"SyntheticsTestRequestCertificate\",\n    },\n    certificateDomains: {\n        baseName: \"certificateDomains\",\n        type: \"Array\",\n    },\n    compressedJsonDescriptor: {\n        baseName: \"compressedJsonDescriptor\",\n        type: \"string\",\n    },\n    dnsServer: {\n        baseName: \"dnsServer\",\n        type: \"string\",\n    },\n    dnsServerPort: {\n        baseName: \"dnsServerPort\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    followRedirects: {\n        baseName: \"follow_redirects\",\n        type: \"boolean\",\n    },\n    headers: {\n        baseName: \"headers\",\n        type: \"{ [key: string]: string; }\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"{ [key: string]: string; }\",\n    },\n    method: {\n        baseName: \"method\",\n        type: \"string\",\n    },\n    noSavingResponseBody: {\n        baseName: \"noSavingResponseBody\",\n        type: \"boolean\",\n    },\n    numberOfPackets: {\n        baseName: \"numberOfPackets\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    persistCookies: {\n        baseName: \"persistCookies\",\n        type: \"boolean\",\n    },\n    port: {\n        baseName: \"port\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    proxy: {\n        baseName: \"proxy\",\n        type: \"SyntheticsTestRequestProxy\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"any\",\n    },\n    servername: {\n        baseName: \"servername\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    shouldTrackHops: {\n        baseName: \"shouldTrackHops\",\n        type: \"boolean\",\n    },\n    timeout: {\n        baseName: \"timeout\",\n        type: \"number\",\n        format: \"double\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestRequestCertificate = void 0;\n/**\n * Client certificate to use when performing the test request.\n */\nclass SyntheticsTestRequestCertificate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestRequestCertificate.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestRequestCertificate = SyntheticsTestRequestCertificate;\n/**\n * @ignore\n */\nSyntheticsTestRequestCertificate.attributeTypeMap = {\n    cert: {\n        baseName: \"cert\",\n        type: \"SyntheticsTestRequestCertificateItem\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"SyntheticsTestRequestCertificateItem\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestRequestCertificate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestRequestCertificateItem = void 0;\n/**\n * Define a request certificate.\n */\nclass SyntheticsTestRequestCertificateItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestRequestCertificateItem.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestRequestCertificateItem = SyntheticsTestRequestCertificateItem;\n/**\n * @ignore\n */\nSyntheticsTestRequestCertificateItem.attributeTypeMap = {\n    content: {\n        baseName: \"content\",\n        type: \"string\",\n    },\n    filename: {\n        baseName: \"filename\",\n        type: \"string\",\n    },\n    updatedAt: {\n        baseName: \"updatedAt\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTestRequestCertificateItem.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTestRequestProxy = void 0;\n/**\n * The proxy to perform the test.\n */\nclass SyntheticsTestRequestProxy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTestRequestProxy.attributeTypeMap;\n    }\n}\nexports.SyntheticsTestRequestProxy = SyntheticsTestRequestProxy;\n/**\n * @ignore\n */\nSyntheticsTestRequestProxy.attributeTypeMap = {\n    headers: {\n        baseName: \"headers\",\n        type: \"{ [key: string]: string; }\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsTestRequestProxy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTiming = void 0;\n/**\n * Object containing all metrics and their values collected for a Synthetic API test.\n * See the [Synthetic Monitoring Metrics documentation](https://docs.datadoghq.com/synthetics/metrics/).\n */\nclass SyntheticsTiming {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTiming.attributeTypeMap;\n    }\n}\nexports.SyntheticsTiming = SyntheticsTiming;\n/**\n * @ignore\n */\nSyntheticsTiming.attributeTypeMap = {\n    dns: {\n        baseName: \"dns\",\n        type: \"number\",\n        format: \"double\",\n    },\n    download: {\n        baseName: \"download\",\n        type: \"number\",\n        format: \"double\",\n    },\n    firstByte: {\n        baseName: \"firstByte\",\n        type: \"number\",\n        format: \"double\",\n    },\n    handshake: {\n        baseName: \"handshake\",\n        type: \"number\",\n        format: \"double\",\n    },\n    redirect: {\n        baseName: \"redirect\",\n        type: \"number\",\n        format: \"double\",\n    },\n    ssl: {\n        baseName: \"ssl\",\n        type: \"number\",\n        format: \"double\",\n    },\n    tcp: {\n        baseName: \"tcp\",\n        type: \"number\",\n        format: \"double\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"number\",\n        format: \"double\",\n    },\n    wait: {\n        baseName: \"wait\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SyntheticsTiming.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTriggerBody = void 0;\n/**\n * Object describing the Synthetic tests to trigger.\n */\nclass SyntheticsTriggerBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTriggerBody.attributeTypeMap;\n    }\n}\nexports.SyntheticsTriggerBody = SyntheticsTriggerBody;\n/**\n * @ignore\n */\nSyntheticsTriggerBody.attributeTypeMap = {\n    tests: {\n        baseName: \"tests\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsTriggerBody.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTriggerCITestLocation = void 0;\n/**\n * Synthetic location.\n */\nclass SyntheticsTriggerCITestLocation {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTriggerCITestLocation.attributeTypeMap;\n    }\n}\nexports.SyntheticsTriggerCITestLocation = SyntheticsTriggerCITestLocation;\n/**\n * @ignore\n */\nSyntheticsTriggerCITestLocation.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTriggerCITestLocation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTriggerCITestRunResult = void 0;\n/**\n * Information about a single test run.\n */\nclass SyntheticsTriggerCITestRunResult {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTriggerCITestRunResult.attributeTypeMap;\n    }\n}\nexports.SyntheticsTriggerCITestRunResult = SyntheticsTriggerCITestRunResult;\n/**\n * @ignore\n */\nSyntheticsTriggerCITestRunResult.attributeTypeMap = {\n    device: {\n        baseName: \"device\",\n        type: \"SyntheticsDeviceID\",\n    },\n    location: {\n        baseName: \"location\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    resultId: {\n        baseName: \"result_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsTriggerCITestRunResult.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTriggerCITestsResponse = void 0;\n/**\n * Object containing information about the tests triggered.\n */\nclass SyntheticsTriggerCITestsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTriggerCITestsResponse.attributeTypeMap;\n    }\n}\nexports.SyntheticsTriggerCITestsResponse = SyntheticsTriggerCITestsResponse;\n/**\n * @ignore\n */\nSyntheticsTriggerCITestsResponse.attributeTypeMap = {\n    batchId: {\n        baseName: \"batch_id\",\n        type: \"string\",\n    },\n    locations: {\n        baseName: \"locations\",\n        type: \"Array\",\n    },\n    results: {\n        baseName: \"results\",\n        type: \"Array\",\n    },\n    triggeredCheckIds: {\n        baseName: \"triggered_check_ids\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SyntheticsTriggerCITestsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsTriggerTest = void 0;\n/**\n * Test configuration for Synthetics\n */\nclass SyntheticsTriggerTest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsTriggerTest.attributeTypeMap;\n    }\n}\nexports.SyntheticsTriggerTest = SyntheticsTriggerTest;\n/**\n * @ignore\n */\nSyntheticsTriggerTest.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"SyntheticsCIBatchMetadata\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SyntheticsTriggerTest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsUpdateTestPauseStatusPayload = void 0;\n/**\n * Object to start or pause an existing Synthetic test.\n */\nclass SyntheticsUpdateTestPauseStatusPayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsUpdateTestPauseStatusPayload.attributeTypeMap;\n    }\n}\nexports.SyntheticsUpdateTestPauseStatusPayload = SyntheticsUpdateTestPauseStatusPayload;\n/**\n * @ignore\n */\nSyntheticsUpdateTestPauseStatusPayload.attributeTypeMap = {\n    newStatus: {\n        baseName: \"new_status\",\n        type: \"SyntheticsTestPauseStatus\",\n    },\n};\n//# sourceMappingURL=SyntheticsUpdateTestPauseStatusPayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsVariableParser = void 0;\n/**\n * Details of the parser to use for the global variable.\n */\nclass SyntheticsVariableParser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SyntheticsVariableParser.attributeTypeMap;\n    }\n}\nexports.SyntheticsVariableParser = SyntheticsVariableParser;\n/**\n * @ignore\n */\nSyntheticsVariableParser.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"SyntheticsGlobalVariableParserType\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SyntheticsVariableParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TableWidgetDefinition = void 0;\n/**\n * The table visualization is available on timeboards and screenboards. It displays columns of metrics grouped by tag key.\n */\nclass TableWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TableWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.TableWidgetDefinition = TableWidgetDefinition;\n/**\n * @ignore\n */\nTableWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    hasSearchBar: {\n        baseName: \"has_search_bar\",\n        type: \"TableWidgetHasSearchBar\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"Array\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TableWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TableWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TableWidgetRequest = void 0;\n/**\n * Updated table widget.\n */\nclass TableWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TableWidgetRequest.attributeTypeMap;\n    }\n}\nexports.TableWidgetRequest = TableWidgetRequest;\n/**\n * @ignore\n */\nTableWidgetRequest.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"WidgetAggregator\",\n    },\n    alias: {\n        baseName: \"alias\",\n        type: \"string\",\n    },\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    apmStatsQuery: {\n        baseName: \"apm_stats_query\",\n        type: \"ApmStatsQueryDefinition\",\n    },\n    cellDisplayMode: {\n        baseName: \"cell_display_mode\",\n        type: \"Array\",\n    },\n    conditionalFormats: {\n        baseName: \"conditional_formats\",\n        type: \"Array\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"WidgetSort\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n};\n//# sourceMappingURL=TableWidgetRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TagToHosts = void 0;\n/**\n * In this object, the key is the tag, the value is a list of host names that are reporting that tag.\n */\nclass TagToHosts {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TagToHosts.attributeTypeMap;\n    }\n}\nexports.TagToHosts = TagToHosts;\n/**\n * @ignore\n */\nTagToHosts.attributeTypeMap = {\n    tags: {\n        baseName: \"tags\",\n        type: \"{ [key: string]: Array; }\",\n    },\n};\n//# sourceMappingURL=TagToHosts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesBackground = void 0;\n/**\n * Set a timeseries on the widget background.\n */\nclass TimeseriesBackground {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesBackground.attributeTypeMap;\n    }\n}\nexports.TimeseriesBackground = TimeseriesBackground;\n/**\n * @ignore\n */\nTimeseriesBackground.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"TimeseriesBackgroundType\",\n        required: true,\n    },\n    yaxis: {\n        baseName: \"yaxis\",\n        type: \"WidgetAxis\",\n    },\n};\n//# sourceMappingURL=TimeseriesBackground.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesWidgetDefinition = void 0;\n/**\n * The timeseries visualization allows you to display the evolution of one or more metrics, log events, or Indexed Spans over time.\n */\nclass TimeseriesWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.TimeseriesWidgetDefinition = TimeseriesWidgetDefinition;\n/**\n * @ignore\n */\nTimeseriesWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    events: {\n        baseName: \"events\",\n        type: \"Array\",\n    },\n    legendColumns: {\n        baseName: \"legend_columns\",\n        type: \"Array\",\n    },\n    legendLayout: {\n        baseName: \"legend_layout\",\n        type: \"TimeseriesWidgetLegendLayout\",\n    },\n    legendSize: {\n        baseName: \"legend_size\",\n        type: \"string\",\n    },\n    markers: {\n        baseName: \"markers\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"Array\",\n        required: true,\n    },\n    rightYaxis: {\n        baseName: \"right_yaxis\",\n        type: \"WidgetAxis\",\n    },\n    showLegend: {\n        baseName: \"show_legend\",\n        type: \"boolean\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TimeseriesWidgetDefinitionType\",\n        required: true,\n    },\n    yaxis: {\n        baseName: \"yaxis\",\n        type: \"WidgetAxis\",\n    },\n};\n//# sourceMappingURL=TimeseriesWidgetDefinition.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesWidgetExpressionAlias = void 0;\n/**\n * Define an expression alias.\n */\nclass TimeseriesWidgetExpressionAlias {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesWidgetExpressionAlias.attributeTypeMap;\n    }\n}\nexports.TimeseriesWidgetExpressionAlias = TimeseriesWidgetExpressionAlias;\n/**\n * @ignore\n */\nTimeseriesWidgetExpressionAlias.attributeTypeMap = {\n    aliasName: {\n        baseName: \"alias_name\",\n        type: \"string\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TimeseriesWidgetExpressionAlias.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesWidgetRequest = void 0;\n/**\n * Updated timeseries widget.\n */\nclass TimeseriesWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesWidgetRequest.attributeTypeMap;\n    }\n}\nexports.TimeseriesWidgetRequest = TimeseriesWidgetRequest;\n/**\n * @ignore\n */\nTimeseriesWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    auditQuery: {\n        baseName: \"audit_query\",\n        type: \"LogQueryDefinition\",\n    },\n    displayType: {\n        baseName: \"display_type\",\n        type: \"WidgetDisplayType\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"Array\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    onRightYaxis: {\n        baseName: \"on_right_yaxis\",\n        type: \"boolean\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetRequestStyle\",\n    },\n};\n//# sourceMappingURL=TimeseriesWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToplistWidgetDefinition = void 0;\n/**\n * The top list visualization enables you to display a list of Tag value like hostname or service with the most or least of any metric value, such as highest consumers of CPU, hosts with the least disk space, etc.\n */\nclass ToplistWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ToplistWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.ToplistWidgetDefinition = ToplistWidgetDefinition;\n/**\n * @ignore\n */\nToplistWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"Array\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ToplistWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ToplistWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToplistWidgetRequest = void 0;\n/**\n * Updated top list widget.\n */\nclass ToplistWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ToplistWidgetRequest.attributeTypeMap;\n    }\n}\nexports.ToplistWidgetRequest = ToplistWidgetRequest;\n/**\n * @ignore\n */\nToplistWidgetRequest.attributeTypeMap = {\n    apmQuery: {\n        baseName: \"apm_query\",\n        type: \"LogQueryDefinition\",\n    },\n    auditQuery: {\n        baseName: \"audit_query\",\n        type: \"LogQueryDefinition\",\n    },\n    conditionalFormats: {\n        baseName: \"conditional_formats\",\n        type: \"Array\",\n    },\n    eventQuery: {\n        baseName: \"event_query\",\n        type: \"LogQueryDefinition\",\n    },\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    logQuery: {\n        baseName: \"log_query\",\n        type: \"LogQueryDefinition\",\n    },\n    networkQuery: {\n        baseName: \"network_query\",\n        type: \"LogQueryDefinition\",\n    },\n    processQuery: {\n        baseName: \"process_query\",\n        type: \"ProcessQueryDefinition\",\n    },\n    profileMetricsQuery: {\n        baseName: \"profile_metrics_query\",\n        type: \"LogQueryDefinition\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n    rumQuery: {\n        baseName: \"rum_query\",\n        type: \"LogQueryDefinition\",\n    },\n    securityQuery: {\n        baseName: \"security_query\",\n        type: \"LogQueryDefinition\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetRequestStyle\",\n    },\n};\n//# sourceMappingURL=ToplistWidgetRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TopologyMapWidgetDefinition = void 0;\n/**\n * This widget displays a topology of nodes and edges for different data sources. It replaces the service map widget.\n */\nclass TopologyMapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TopologyMapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.TopologyMapWidgetDefinition = TopologyMapWidgetDefinition;\n/**\n * @ignore\n */\nTopologyMapWidgetDefinition.attributeTypeMap = {\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"Array\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    titleAlign: {\n        baseName: \"title_align\",\n        type: \"WidgetTextAlign\",\n    },\n    titleSize: {\n        baseName: \"title_size\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TopologyMapWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TopologyMapWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TopologyQuery = void 0;\n/**\n * Query to service-based topology data sources like the service map or data streams.\n */\nclass TopologyQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TopologyQuery.attributeTypeMap;\n    }\n}\nexports.TopologyQuery = TopologyQuery;\n/**\n * @ignore\n */\nTopologyQuery.attributeTypeMap = {\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"TopologyQueryDataSource\",\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=TopologyQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TopologyRequest = void 0;\n/**\n * Request that will return nodes and edges to be used by topology map.\n */\nclass TopologyRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TopologyRequest.attributeTypeMap;\n    }\n}\nexports.TopologyRequest = TopologyRequest;\n/**\n * @ignore\n */\nTopologyRequest.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"TopologyQuery\",\n    },\n    requestType: {\n        baseName: \"request_type\",\n        type: \"TopologyRequestType\",\n    },\n};\n//# sourceMappingURL=TopologyRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TreeMapWidgetDefinition = void 0;\n/**\n * The treemap visualization enables you to display hierarchical and nested data. It is well suited for queries that describe part-whole relationships, such as resource usage by availability zone, data center, or team.\n */\nclass TreeMapWidgetDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TreeMapWidgetDefinition.attributeTypeMap;\n    }\n}\nexports.TreeMapWidgetDefinition = TreeMapWidgetDefinition;\n/**\n * @ignore\n */\nTreeMapWidgetDefinition.attributeTypeMap = {\n    colorBy: {\n        baseName: \"color_by\",\n        type: \"TreeMapColorBy\",\n    },\n    customLinks: {\n        baseName: \"custom_links\",\n        type: \"Array\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"TreeMapGroupBy\",\n    },\n    requests: {\n        baseName: \"requests\",\n        type: \"[TreeMapWidgetRequest]\",\n        required: true,\n    },\n    sizeBy: {\n        baseName: \"size_by\",\n        type: \"TreeMapSizeBy\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"WidgetTime\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TreeMapWidgetDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TreeMapWidgetDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TreeMapWidgetRequest = void 0;\n/**\n * An updated treemap widget.\n */\nclass TreeMapWidgetRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TreeMapWidgetRequest.attributeTypeMap;\n    }\n}\nexports.TreeMapWidgetRequest = TreeMapWidgetRequest;\n/**\n * @ignore\n */\nTreeMapWidgetRequest.attributeTypeMap = {\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    responseFormat: {\n        baseName: \"response_format\",\n        type: \"FormulaAndFunctionResponseFormat\",\n    },\n};\n//# sourceMappingURL=TreeMapWidgetRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAnalyzedLogsHour = void 0;\n/**\n * The number of analyzed logs for each hour for a given organization.\n */\nclass UsageAnalyzedLogsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAnalyzedLogsHour.attributeTypeMap;\n    }\n}\nexports.UsageAnalyzedLogsHour = UsageAnalyzedLogsHour;\n/**\n * @ignore\n */\nUsageAnalyzedLogsHour.attributeTypeMap = {\n    analyzedLogs: {\n        baseName: \"analyzed_logs\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageAnalyzedLogsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAnalyzedLogsResponse = void 0;\n/**\n * A response containing the number of analyzed logs for each hour for a given organization.\n */\nclass UsageAnalyzedLogsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAnalyzedLogsResponse.attributeTypeMap;\n    }\n}\nexports.UsageAnalyzedLogsResponse = UsageAnalyzedLogsResponse;\n/**\n * @ignore\n */\nUsageAnalyzedLogsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageAnalyzedLogsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionAggregatesBody = void 0;\n/**\n * The object containing the aggregates.\n */\nclass UsageAttributionAggregatesBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionAggregatesBody.attributeTypeMap;\n    }\n}\nexports.UsageAttributionAggregatesBody = UsageAttributionAggregatesBody;\n/**\n * @ignore\n */\nUsageAttributionAggregatesBody.attributeTypeMap = {\n    aggType: {\n        baseName: \"agg_type\",\n        type: \"string\",\n    },\n    field: {\n        baseName: \"field\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=UsageAttributionAggregatesBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionBody = void 0;\n/**\n * Usage Summary by tag for a given organization.\n */\nclass UsageAttributionBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionBody.attributeTypeMap;\n    }\n}\nexports.UsageAttributionBody = UsageAttributionBody;\n/**\n * @ignore\n */\nUsageAttributionBody.attributeTypeMap = {\n    month: {\n        baseName: \"month\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    tagConfigSource: {\n        baseName: \"tag_config_source\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"{ [key: string]: Array; }\",\n    },\n    updatedAt: {\n        baseName: \"updated_at\",\n        type: \"string\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"UsageAttributionValues\",\n    },\n};\n//# sourceMappingURL=UsageAttributionBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionMetadata = void 0;\n/**\n * The object containing document metadata.\n */\nclass UsageAttributionMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionMetadata.attributeTypeMap;\n    }\n}\nexports.UsageAttributionMetadata = UsageAttributionMetadata;\n/**\n * @ignore\n */\nUsageAttributionMetadata.attributeTypeMap = {\n    aggregates: {\n        baseName: \"aggregates\",\n        type: \"Array\",\n    },\n    pagination: {\n        baseName: \"pagination\",\n        type: \"UsageAttributionPagination\",\n    },\n};\n//# sourceMappingURL=UsageAttributionMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionPagination = void 0;\n/**\n * The metadata for the current pagination.\n */\nclass UsageAttributionPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionPagination.attributeTypeMap;\n    }\n}\nexports.UsageAttributionPagination = UsageAttributionPagination;\n/**\n * @ignore\n */\nUsageAttributionPagination.attributeTypeMap = {\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    offset: {\n        baseName: \"offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sortDirection: {\n        baseName: \"sort_direction\",\n        type: \"string\",\n    },\n    sortName: {\n        baseName: \"sort_name\",\n        type: \"string\",\n    },\n    totalNumberOfRecords: {\n        baseName: \"total_number_of_records\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageAttributionPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionResponse = void 0;\n/**\n * Response containing the Usage Summary by tag(s).\n */\nclass UsageAttributionResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionResponse.attributeTypeMap;\n    }\n}\nexports.UsageAttributionResponse = UsageAttributionResponse;\n/**\n * @ignore\n */\nUsageAttributionResponse.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"UsageAttributionMetadata\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageAttributionResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributionValues = void 0;\n/**\n * Fields in Usage Summary by tag(s).\n */\nclass UsageAttributionValues {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributionValues.attributeTypeMap;\n    }\n}\nexports.UsageAttributionValues = UsageAttributionValues;\n/**\n * @ignore\n */\nUsageAttributionValues.attributeTypeMap = {\n    apiPercentage: {\n        baseName: \"api_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apiUsage: {\n        baseName: \"api_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmFargatePercentage: {\n        baseName: \"apm_fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmFargateUsage: {\n        baseName: \"apm_fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmHostPercentage: {\n        baseName: \"apm_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    apmHostUsage: {\n        baseName: \"apm_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecFargatePercentage: {\n        baseName: \"appsec_fargate_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecFargateUsage: {\n        baseName: \"appsec_fargate_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecPercentage: {\n        baseName: \"appsec_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    appsecUsage: {\n        baseName: \"appsec_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    browserPercentage: {\n        baseName: \"browser_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    browserUsage: {\n        baseName: \"browser_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerPercentage: {\n        baseName: \"container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerUsage: {\n        baseName: \"container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmContainerPercentage: {\n        baseName: \"cspm_container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmContainerUsage: {\n        baseName: \"cspm_container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmHostPercentage: {\n        baseName: \"cspm_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cspmHostUsage: {\n        baseName: \"cspm_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customTimeseriesPercentage: {\n        baseName: \"custom_timeseries_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    customTimeseriesUsage: {\n        baseName: \"custom_timeseries_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsContainerPercentage: {\n        baseName: \"cws_container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsContainerUsage: {\n        baseName: \"cws_container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsHostPercentage: {\n        baseName: \"cws_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    cwsHostUsage: {\n        baseName: \"cws_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmHostsPercentage: {\n        baseName: \"dbm_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmHostsUsage: {\n        baseName: \"dbm_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmQueriesPercentage: {\n        baseName: \"dbm_queries_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    dbmQueriesUsage: {\n        baseName: \"dbm_queries_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedLogsPercentage: {\n        baseName: \"estimated_indexed_logs_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedLogsUsage: {\n        baseName: \"estimated_indexed_logs_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedSpansPercentage: {\n        baseName: \"estimated_indexed_spans_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIndexedSpansUsage: {\n        baseName: \"estimated_indexed_spans_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedLogsPercentage: {\n        baseName: \"estimated_ingested_logs_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedLogsUsage: {\n        baseName: \"estimated_ingested_logs_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedSpansPercentage: {\n        baseName: \"estimated_ingested_spans_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedIngestedSpansUsage: {\n        baseName: \"estimated_ingested_spans_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedRumSessionsPercentage: {\n        baseName: \"estimated_rum_sessions_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    estimatedRumSessionsUsage: {\n        baseName: \"estimated_rum_sessions_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    infraHostPercentage: {\n        baseName: \"infra_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    infraHostUsage: {\n        baseName: \"infra_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    lambdaFunctionsPercentage: {\n        baseName: \"lambda_functions_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    lambdaFunctionsUsage: {\n        baseName: \"lambda_functions_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    lambdaInvocationsPercentage: {\n        baseName: \"lambda_invocations_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    lambdaInvocationsUsage: {\n        baseName: \"lambda_invocations_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    npmHostPercentage: {\n        baseName: \"npm_host_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    npmHostUsage: {\n        baseName: \"npm_host_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledContainerPercentage: {\n        baseName: \"profiled_container_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledContainerUsage: {\n        baseName: \"profiled_container_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledHostsPercentage: {\n        baseName: \"profiled_hosts_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    profiledHostsUsage: {\n        baseName: \"profiled_hosts_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    snmpPercentage: {\n        baseName: \"snmp_percentage\",\n        type: \"number\",\n        format: \"double\",\n    },\n    snmpUsage: {\n        baseName: \"snmp_usage\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=UsageAttributionValues.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAuditLogsHour = void 0;\n/**\n * Audit logs usage for a given organization for a given hour.\n */\nclass UsageAuditLogsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAuditLogsHour.attributeTypeMap;\n    }\n}\nexports.UsageAuditLogsHour = UsageAuditLogsHour;\n/**\n * @ignore\n */\nUsageAuditLogsHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    linesIndexed: {\n        baseName: \"lines_indexed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageAuditLogsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAuditLogsResponse = void 0;\n/**\n * Response containing the audit logs usage for each hour for a given organization.\n */\nclass UsageAuditLogsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAuditLogsResponse.attributeTypeMap;\n    }\n}\nexports.UsageAuditLogsResponse = UsageAuditLogsResponse;\n/**\n * @ignore\n */\nUsageAuditLogsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageAuditLogsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageBillableSummaryBody = void 0;\n/**\n * Response with properties for each aggregated usage type.\n */\nclass UsageBillableSummaryBody {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageBillableSummaryBody.attributeTypeMap;\n    }\n}\nexports.UsageBillableSummaryBody = UsageBillableSummaryBody;\n/**\n * @ignore\n */\nUsageBillableSummaryBody.attributeTypeMap = {\n    accountBillableUsage: {\n        baseName: \"account_billable_usage\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    elapsedUsageHours: {\n        baseName: \"elapsed_usage_hours\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    firstBillableUsageHour: {\n        baseName: \"first_billable_usage_hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    lastBillableUsageHour: {\n        baseName: \"last_billable_usage_hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgBillableUsage: {\n        baseName: \"org_billable_usage\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    percentageInAccount: {\n        baseName: \"percentage_in_account\",\n        type: \"number\",\n        format: \"double\",\n    },\n    usageUnit: {\n        baseName: \"usage_unit\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageBillableSummaryBody.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageBillableSummaryHour = void 0;\n/**\n * Response with monthly summary of data billed by Datadog.\n */\nclass UsageBillableSummaryHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageBillableSummaryHour.attributeTypeMap;\n    }\n}\nexports.UsageBillableSummaryHour = UsageBillableSummaryHour;\n/**\n * @ignore\n */\nUsageBillableSummaryHour.attributeTypeMap = {\n    billingPlan: {\n        baseName: \"billing_plan\",\n        type: \"string\",\n    },\n    endDate: {\n        baseName: \"end_date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    numOrgs: {\n        baseName: \"num_orgs\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    ratioInMonth: {\n        baseName: \"ratio_in_month\",\n        type: \"number\",\n        format: \"double\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    startDate: {\n        baseName: \"start_date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"UsageBillableSummaryKeys\",\n    },\n};\n//# sourceMappingURL=UsageBillableSummaryHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageBillableSummaryKeys = void 0;\n/**\n * Response with aggregated usage types.\n */\nclass UsageBillableSummaryKeys {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageBillableSummaryKeys.attributeTypeMap;\n    }\n}\nexports.UsageBillableSummaryKeys = UsageBillableSummaryKeys;\n/**\n * @ignore\n */\nUsageBillableSummaryKeys.attributeTypeMap = {\n    apmFargateAverage: {\n        baseName: \"apm_fargate_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmFargateSum: {\n        baseName: \"apm_fargate_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmHostSum: {\n        baseName: \"apm_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmHostTop99p: {\n        baseName: \"apm_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmProfilerHostSum: {\n        baseName: \"apm_profiler_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmProfilerHostTop99p: {\n        baseName: \"apm_profiler_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    apmTraceSearchSum: {\n        baseName: \"apm_trace_search_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    applicationSecurityFargateAverage: {\n        baseName: \"application_security_fargate_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    applicationSecurityHostSum: {\n        baseName: \"application_security_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    applicationSecurityHostTop99p: {\n        baseName: \"application_security_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciPipelineIndexedSpansSum: {\n        baseName: \"ci_pipeline_indexed_spans_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciPipelineMaximum: {\n        baseName: \"ci_pipeline_maximum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciPipelineSum: {\n        baseName: \"ci_pipeline_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciTestIndexedSpansSum: {\n        baseName: \"ci_test_indexed_spans_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciTestingMaximum: {\n        baseName: \"ci_testing_maximum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ciTestingSum: {\n        baseName: \"ci_testing_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cloudCostManagementAverage: {\n        baseName: \"cloud_cost_management_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cloudCostManagementSum: {\n        baseName: \"cloud_cost_management_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cspmContainerSum: {\n        baseName: \"cspm_container_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cspmHostSum: {\n        baseName: \"cspm_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cspmHostTop99p: {\n        baseName: \"cspm_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    customEventSum: {\n        baseName: \"custom_event_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cwsContainerSum: {\n        baseName: \"cws_container_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cwsHostSum: {\n        baseName: \"cws_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    cwsHostTop99p: {\n        baseName: \"cws_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    dbmHostSum: {\n        baseName: \"dbm_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    dbmHostTop99p: {\n        baseName: \"dbm_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    dbmNormalizedQueriesAverage: {\n        baseName: \"dbm_normalized_queries_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    dbmNormalizedQueriesSum: {\n        baseName: \"dbm_normalized_queries_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerApmAndProfilerAverage: {\n        baseName: \"fargate_container_apm_and_profiler_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerApmAndProfilerSum: {\n        baseName: \"fargate_container_apm_and_profiler_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerAverage: {\n        baseName: \"fargate_container_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerProfilerAverage: {\n        baseName: \"fargate_container_profiler_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerProfilerSum: {\n        baseName: \"fargate_container_profiler_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    fargateContainerSum: {\n        baseName: \"fargate_container_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    incidentManagementMaximum: {\n        baseName: \"incident_management_maximum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    incidentManagementSum: {\n        baseName: \"incident_management_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    infraAndApmHostSum: {\n        baseName: \"infra_and_apm_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    infraAndApmHostTop99p: {\n        baseName: \"infra_and_apm_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    infraContainerSum: {\n        baseName: \"infra_container_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    infraHostSum: {\n        baseName: \"infra_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    infraHostTop99p: {\n        baseName: \"infra_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ingestedSpansSum: {\n        baseName: \"ingested_spans_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ingestedTimeseriesAverage: {\n        baseName: \"ingested_timeseries_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    ingestedTimeseriesSum: {\n        baseName: \"ingested_timeseries_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    iotSum: {\n        baseName: \"iot_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    iotTop99p: {\n        baseName: \"iot_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    lambdaFunctionAverage: {\n        baseName: \"lambda_function_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    lambdaFunctionSum: {\n        baseName: \"lambda_function_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsForwardingSum: {\n        baseName: \"logs_forwarding_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed15daySum: {\n        baseName: \"logs_indexed_15day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed180daySum: {\n        baseName: \"logs_indexed_180day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed30daySum: {\n        baseName: \"logs_indexed_30day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed360daySum: {\n        baseName: \"logs_indexed_360day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed3daySum: {\n        baseName: \"logs_indexed_3day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed45daySum: {\n        baseName: \"logs_indexed_45day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed60daySum: {\n        baseName: \"logs_indexed_60day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed7daySum: {\n        baseName: \"logs_indexed_7day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexed90daySum: {\n        baseName: \"logs_indexed_90day_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexedCustomRetentionSum: {\n        baseName: \"logs_indexed_custom_retention_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIndexedSum: {\n        baseName: \"logs_indexed_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    logsIngestedSum: {\n        baseName: \"logs_ingested_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    networkDeviceSum: {\n        baseName: \"network_device_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    networkDeviceTop99p: {\n        baseName: \"network_device_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    npmFlowSum: {\n        baseName: \"npm_flow_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    npmHostSum: {\n        baseName: \"npm_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    npmHostTop99p: {\n        baseName: \"npm_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    observabilityPipelineSum: {\n        baseName: \"observability_pipeline_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    onlineArchiveSum: {\n        baseName: \"online_archive_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    profContainerSum: {\n        baseName: \"prof_container_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    profHostSum: {\n        baseName: \"prof_host_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    profHostTop99p: {\n        baseName: \"prof_host_top99p\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    rumLiteSum: {\n        baseName: \"rum_lite_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    rumReplaySum: {\n        baseName: \"rum_replay_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    rumSum: {\n        baseName: \"rum_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    rumUnitsSum: {\n        baseName: \"rum_units_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    sensitiveDataScannerSum: {\n        baseName: \"sensitive_data_scanner_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    serverlessApmSum: {\n        baseName: \"serverless_apm_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    serverlessInfraAverage: {\n        baseName: \"serverless_infra_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    serverlessInfraSum: {\n        baseName: \"serverless_infra_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    serverlessInvocationSum: {\n        baseName: \"serverless_invocation_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    siemSum: {\n        baseName: \"siem_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    standardTimeseriesAverage: {\n        baseName: \"standard_timeseries_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    syntheticsApiTestsSum: {\n        baseName: \"synthetics_api_tests_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    syntheticsAppTestingMaximum: {\n        baseName: \"synthetics_app_testing_maximum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    syntheticsBrowserChecksSum: {\n        baseName: \"synthetics_browser_checks_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    timeseriesAverage: {\n        baseName: \"timeseries_average\",\n        type: \"UsageBillableSummaryBody\",\n    },\n    timeseriesSum: {\n        baseName: \"timeseries_sum\",\n        type: \"UsageBillableSummaryBody\",\n    },\n};\n//# sourceMappingURL=UsageBillableSummaryKeys.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageBillableSummaryResponse = void 0;\n/**\n * Response with monthly summary of data billed by Datadog.\n */\nclass UsageBillableSummaryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageBillableSummaryResponse.attributeTypeMap;\n    }\n}\nexports.UsageBillableSummaryResponse = UsageBillableSummaryResponse;\n/**\n * @ignore\n */\nUsageBillableSummaryResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageBillableSummaryResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCIVisibilityHour = void 0;\n/**\n * CI visibility usage in a given hour.\n */\nclass UsageCIVisibilityHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCIVisibilityHour.attributeTypeMap;\n    }\n}\nexports.UsageCIVisibilityHour = UsageCIVisibilityHour;\n/**\n * @ignore\n */\nUsageCIVisibilityHour.attributeTypeMap = {\n    ciPipelineIndexedSpans: {\n        baseName: \"ci_pipeline_indexed_spans\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciTestIndexedSpans: {\n        baseName: \"ci_test_indexed_spans\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityItrCommitters: {\n        baseName: \"ci_visibility_itr_committers\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityPipelineCommitters: {\n        baseName: \"ci_visibility_pipeline_committers\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityTestCommitters: {\n        baseName: \"ci_visibility_test_committers\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageCIVisibilityHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCIVisibilityResponse = void 0;\n/**\n * CI visibility usage response\n */\nclass UsageCIVisibilityResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCIVisibilityResponse.attributeTypeMap;\n    }\n}\nexports.UsageCIVisibilityResponse = UsageCIVisibilityResponse;\n/**\n * @ignore\n */\nUsageCIVisibilityResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageCIVisibilityResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCWSHour = void 0;\n/**\n * Cloud Workload Security usage for a given organization for a given hour.\n */\nclass UsageCWSHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCWSHour.attributeTypeMap;\n    }\n}\nexports.UsageCWSHour = UsageCWSHour;\n/**\n * @ignore\n */\nUsageCWSHour.attributeTypeMap = {\n    cwsContainerCount: {\n        baseName: \"cws_container_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsHostCount: {\n        baseName: \"cws_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageCWSHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCWSResponse = void 0;\n/**\n * Response containing the Cloud Workload Security usage for each hour for a given organization.\n */\nclass UsageCWSResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCWSResponse.attributeTypeMap;\n    }\n}\nexports.UsageCWSResponse = UsageCWSResponse;\n/**\n * @ignore\n */\nUsageCWSResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageCWSResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCloudSecurityPostureManagementHour = void 0;\n/**\n * Cloud Security Posture Management usage for a given organization for a given hour.\n */\nclass UsageCloudSecurityPostureManagementHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCloudSecurityPostureManagementHour.attributeTypeMap;\n    }\n}\nexports.UsageCloudSecurityPostureManagementHour = UsageCloudSecurityPostureManagementHour;\n/**\n * @ignore\n */\nUsageCloudSecurityPostureManagementHour.attributeTypeMap = {\n    aasHostCount: {\n        baseName: \"aas_host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    awsHostCount: {\n        baseName: \"aws_host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    azureHostCount: {\n        baseName: \"azure_host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    complianceHostCount: {\n        baseName: \"compliance_host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    containerCount: {\n        baseName: \"container_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    gcpHostCount: {\n        baseName: \"gcp_host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    hostCount: {\n        baseName: \"host_count\",\n        type: \"number\",\n        format: \"double\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageCloudSecurityPostureManagementHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCloudSecurityPostureManagementResponse = void 0;\n/**\n * The response containing the Cloud Security Posture Management usage for each hour for a given organization.\n */\nclass UsageCloudSecurityPostureManagementResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCloudSecurityPostureManagementResponse.attributeTypeMap;\n    }\n}\nexports.UsageCloudSecurityPostureManagementResponse = UsageCloudSecurityPostureManagementResponse;\n/**\n * @ignore\n */\nUsageCloudSecurityPostureManagementResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageCloudSecurityPostureManagementResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCustomReportsAttributes = void 0;\n/**\n * The response containing attributes for custom reports.\n */\nclass UsageCustomReportsAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCustomReportsAttributes.attributeTypeMap;\n    }\n}\nexports.UsageCustomReportsAttributes = UsageCustomReportsAttributes;\n/**\n * @ignore\n */\nUsageCustomReportsAttributes.attributeTypeMap = {\n    computedOn: {\n        baseName: \"computed_on\",\n        type: \"string\",\n    },\n    endDate: {\n        baseName: \"end_date\",\n        type: \"string\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    startDate: {\n        baseName: \"start_date\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageCustomReportsAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCustomReportsData = void 0;\n/**\n * The response containing the date and type for custom reports.\n */\nclass UsageCustomReportsData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCustomReportsData.attributeTypeMap;\n    }\n}\nexports.UsageCustomReportsData = UsageCustomReportsData;\n/**\n * @ignore\n */\nUsageCustomReportsData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UsageCustomReportsAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsageReportsType\",\n    },\n};\n//# sourceMappingURL=UsageCustomReportsData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCustomReportsMeta = void 0;\n/**\n * The object containing document metadata.\n */\nclass UsageCustomReportsMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCustomReportsMeta.attributeTypeMap;\n    }\n}\nexports.UsageCustomReportsMeta = UsageCustomReportsMeta;\n/**\n * @ignore\n */\nUsageCustomReportsMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"UsageCustomReportsPage\",\n    },\n};\n//# sourceMappingURL=UsageCustomReportsMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCustomReportsPage = void 0;\n/**\n * The object containing page total count.\n */\nclass UsageCustomReportsPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCustomReportsPage.attributeTypeMap;\n    }\n}\nexports.UsageCustomReportsPage = UsageCustomReportsPage;\n/**\n * @ignore\n */\nUsageCustomReportsPage.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageCustomReportsPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageCustomReportsResponse = void 0;\n/**\n * Response containing available custom reports.\n */\nclass UsageCustomReportsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageCustomReportsResponse.attributeTypeMap;\n    }\n}\nexports.UsageCustomReportsResponse = UsageCustomReportsResponse;\n/**\n * @ignore\n */\nUsageCustomReportsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"UsageCustomReportsMeta\",\n    },\n};\n//# sourceMappingURL=UsageCustomReportsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageDBMHour = void 0;\n/**\n * Database Monitoring usage for a given organization for a given hour.\n */\nclass UsageDBMHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageDBMHour.attributeTypeMap;\n    }\n}\nexports.UsageDBMHour = UsageDBMHour;\n/**\n * @ignore\n */\nUsageDBMHour.attributeTypeMap = {\n    dbmHostCount: {\n        baseName: \"dbm_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmQueriesCount: {\n        baseName: \"dbm_queries_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageDBMHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageDBMResponse = void 0;\n/**\n * Response containing the Database Monitoring usage for each hour for a given organization.\n */\nclass UsageDBMResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageDBMResponse.attributeTypeMap;\n    }\n}\nexports.UsageDBMResponse = UsageDBMResponse;\n/**\n * @ignore\n */\nUsageDBMResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageDBMResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageFargateHour = void 0;\n/**\n * Number of Fargate tasks run and hourly usage.\n */\nclass UsageFargateHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageFargateHour.attributeTypeMap;\n    }\n}\nexports.UsageFargateHour = UsageFargateHour;\n/**\n * @ignore\n */\nUsageFargateHour.attributeTypeMap = {\n    apmFargateCount: {\n        baseName: \"apm_fargate_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    appsecFargateCount: {\n        baseName: \"appsec_fargate_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    avgProfiledFargateTasks: {\n        baseName: \"avg_profiled_fargate_tasks\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    tasksCount: {\n        baseName: \"tasks_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageFargateHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageFargateResponse = void 0;\n/**\n * Response containing the number of Fargate tasks run and hourly usage.\n */\nclass UsageFargateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageFargateResponse.attributeTypeMap;\n    }\n}\nexports.UsageFargateResponse = UsageFargateResponse;\n/**\n * @ignore\n */\nUsageFargateResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageFargateResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageHostHour = void 0;\n/**\n * Number of hosts/containers recorded for each hour for a given organization.\n */\nclass UsageHostHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageHostHour.attributeTypeMap;\n    }\n}\nexports.UsageHostHour = UsageHostHour;\n/**\n * @ignore\n */\nUsageHostHour.attributeTypeMap = {\n    agentHostCount: {\n        baseName: \"agent_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    alibabaHostCount: {\n        baseName: \"alibaba_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmAzureAppServiceHostCount: {\n        baseName: \"apm_azure_app_service_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmHostCount: {\n        baseName: \"apm_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsHostCount: {\n        baseName: \"aws_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    azureHostCount: {\n        baseName: \"azure_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerCount: {\n        baseName: \"container_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    gcpHostCount: {\n        baseName: \"gcp_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    herokuHostCount: {\n        baseName: \"heroku_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hostCount: {\n        baseName: \"host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    infraAzureAppService: {\n        baseName: \"infra_azure_app_service\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryApmHostCount: {\n        baseName: \"opentelemetry_apm_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryHostCount: {\n        baseName: \"opentelemetry_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    vsphereHostCount: {\n        baseName: \"vsphere_host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageHostHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageHostsResponse = void 0;\n/**\n * Host usage response.\n */\nclass UsageHostsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageHostsResponse.attributeTypeMap;\n    }\n}\nexports.UsageHostsResponse = UsageHostsResponse;\n/**\n * @ignore\n */\nUsageHostsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageHostsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIncidentManagementHour = void 0;\n/**\n * Incident management usage for a given organization for a given hour.\n */\nclass UsageIncidentManagementHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIncidentManagementHour.attributeTypeMap;\n    }\n}\nexports.UsageIncidentManagementHour = UsageIncidentManagementHour;\n/**\n * @ignore\n */\nUsageIncidentManagementHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    monthlyActiveUsers: {\n        baseName: \"monthly_active_users\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageIncidentManagementHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIncidentManagementResponse = void 0;\n/**\n * Response containing the incident management usage for each hour for a given organization.\n */\nclass UsageIncidentManagementResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIncidentManagementResponse.attributeTypeMap;\n    }\n}\nexports.UsageIncidentManagementResponse = UsageIncidentManagementResponse;\n/**\n * @ignore\n */\nUsageIncidentManagementResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageIncidentManagementResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIndexedSpansHour = void 0;\n/**\n * The hours of indexed spans usage.\n */\nclass UsageIndexedSpansHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIndexedSpansHour.attributeTypeMap;\n    }\n}\nexports.UsageIndexedSpansHour = UsageIndexedSpansHour;\n/**\n * @ignore\n */\nUsageIndexedSpansHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    indexedEventsCount: {\n        baseName: \"indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageIndexedSpansHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIndexedSpansResponse = void 0;\n/**\n * A response containing indexed spans usage.\n */\nclass UsageIndexedSpansResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIndexedSpansResponse.attributeTypeMap;\n    }\n}\nexports.UsageIndexedSpansResponse = UsageIndexedSpansResponse;\n/**\n * @ignore\n */\nUsageIndexedSpansResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageIndexedSpansResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIngestedSpansHour = void 0;\n/**\n * Ingested spans usage for a given organization for a given hour.\n */\nclass UsageIngestedSpansHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIngestedSpansHour.attributeTypeMap;\n    }\n}\nexports.UsageIngestedSpansHour = UsageIngestedSpansHour;\n/**\n * @ignore\n */\nUsageIngestedSpansHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    ingestedEventsBytes: {\n        baseName: \"ingested_events_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageIngestedSpansHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIngestedSpansResponse = void 0;\n/**\n * Response containing the ingested spans usage for each hour for a given organization.\n */\nclass UsageIngestedSpansResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIngestedSpansResponse.attributeTypeMap;\n    }\n}\nexports.UsageIngestedSpansResponse = UsageIngestedSpansResponse;\n/**\n * @ignore\n */\nUsageIngestedSpansResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageIngestedSpansResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIoTHour = void 0;\n/**\n * IoT usage for a given organization for a given hour.\n */\nclass UsageIoTHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIoTHour.attributeTypeMap;\n    }\n}\nexports.UsageIoTHour = UsageIoTHour;\n/**\n * @ignore\n */\nUsageIoTHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    iotDeviceCount: {\n        baseName: \"iot_device_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageIoTHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageIoTResponse = void 0;\n/**\n * Response containing the IoT usage for each hour for a given organization.\n */\nclass UsageIoTResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageIoTResponse.attributeTypeMap;\n    }\n}\nexports.UsageIoTResponse = UsageIoTResponse;\n/**\n * @ignore\n */\nUsageIoTResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageIoTResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLambdaHour = void 0;\n/**\n * Number of lambda functions and sum of the invocations of all lambda functions\n * for each hour for a given organization.\n */\nclass UsageLambdaHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLambdaHour.attributeTypeMap;\n    }\n}\nexports.UsageLambdaHour = UsageLambdaHour;\n/**\n * @ignore\n */\nUsageLambdaHour.attributeTypeMap = {\n    funcCount: {\n        baseName: \"func_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    invocationsSum: {\n        baseName: \"invocations_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageLambdaHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLambdaResponse = void 0;\n/**\n * Response containing the number of lambda functions and sum of the invocations of all lambda functions\n * for each hour for a given organization.\n */\nclass UsageLambdaResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLambdaResponse.attributeTypeMap;\n    }\n}\nexports.UsageLambdaResponse = UsageLambdaResponse;\n/**\n * @ignore\n */\nUsageLambdaResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageLambdaResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsByIndexHour = void 0;\n/**\n * Number of indexed logs for each hour and index for a given organization.\n */\nclass UsageLogsByIndexHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsByIndexHour.attributeTypeMap;\n    }\n}\nexports.UsageLogsByIndexHour = UsageLogsByIndexHour;\n/**\n * @ignore\n */\nUsageLogsByIndexHour.attributeTypeMap = {\n    eventCount: {\n        baseName: \"event_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    indexId: {\n        baseName: \"index_id\",\n        type: \"string\",\n    },\n    indexName: {\n        baseName: \"index_name\",\n        type: \"string\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    retention: {\n        baseName: \"retention\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageLogsByIndexHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsByIndexResponse = void 0;\n/**\n * Response containing the number of indexed logs for each hour and index for a given organization.\n */\nclass UsageLogsByIndexResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsByIndexResponse.attributeTypeMap;\n    }\n}\nexports.UsageLogsByIndexResponse = UsageLogsByIndexResponse;\n/**\n * @ignore\n */\nUsageLogsByIndexResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageLogsByIndexResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsByRetentionHour = void 0;\n/**\n * The number of indexed logs for each hour for a given organization broken down by retention period.\n */\nclass UsageLogsByRetentionHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsByRetentionHour.attributeTypeMap;\n    }\n}\nexports.UsageLogsByRetentionHour = UsageLogsByRetentionHour;\n/**\n * @ignore\n */\nUsageLogsByRetentionHour.attributeTypeMap = {\n    indexedEventsCount: {\n        baseName: \"indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    liveIndexedEventsCount: {\n        baseName: \"live_indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    rehydratedIndexedEventsCount: {\n        baseName: \"rehydrated_indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    retention: {\n        baseName: \"retention\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageLogsByRetentionHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsByRetentionResponse = void 0;\n/**\n * Response containing the indexed logs usage broken down by retention period for an organization during a given hour.\n */\nclass UsageLogsByRetentionResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsByRetentionResponse.attributeTypeMap;\n    }\n}\nexports.UsageLogsByRetentionResponse = UsageLogsByRetentionResponse;\n/**\n * @ignore\n */\nUsageLogsByRetentionResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageLogsByRetentionResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsHour = void 0;\n/**\n * Hour usage for logs.\n */\nclass UsageLogsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsHour.attributeTypeMap;\n    }\n}\nexports.UsageLogsHour = UsageLogsHour;\n/**\n * @ignore\n */\nUsageLogsHour.attributeTypeMap = {\n    billableIngestedBytes: {\n        baseName: \"billable_ingested_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    indexedEventsCount: {\n        baseName: \"indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ingestedEventsBytes: {\n        baseName: \"ingested_events_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsForwardingEventsBytes: {\n        baseName: \"logs_forwarding_events_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsLiveIndexedCount: {\n        baseName: \"logs_live_indexed_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsLiveIngestedBytes: {\n        baseName: \"logs_live_ingested_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsRehydratedIndexedCount: {\n        baseName: \"logs_rehydrated_indexed_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsRehydratedIngestedBytes: {\n        baseName: \"logs_rehydrated_ingested_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageLogsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLogsResponse = void 0;\n/**\n * Response containing the number of logs for each hour.\n */\nclass UsageLogsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLogsResponse.attributeTypeMap;\n    }\n}\nexports.UsageLogsResponse = UsageLogsResponse;\n/**\n * @ignore\n */\nUsageLogsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageLogsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageNetworkFlowsHour = void 0;\n/**\n * Number of netflow events indexed for each hour for a given organization.\n */\nclass UsageNetworkFlowsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageNetworkFlowsHour.attributeTypeMap;\n    }\n}\nexports.UsageNetworkFlowsHour = UsageNetworkFlowsHour;\n/**\n * @ignore\n */\nUsageNetworkFlowsHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    indexedEventsCount: {\n        baseName: \"indexed_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageNetworkFlowsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageNetworkFlowsResponse = void 0;\n/**\n * Response containing the number of netflow events indexed for each hour for a given organization.\n */\nclass UsageNetworkFlowsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageNetworkFlowsResponse.attributeTypeMap;\n    }\n}\nexports.UsageNetworkFlowsResponse = UsageNetworkFlowsResponse;\n/**\n * @ignore\n */\nUsageNetworkFlowsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageNetworkFlowsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageNetworkHostsHour = void 0;\n/**\n * Number of active NPM hosts for each hour for a given organization.\n */\nclass UsageNetworkHostsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageNetworkHostsHour.attributeTypeMap;\n    }\n}\nexports.UsageNetworkHostsHour = UsageNetworkHostsHour;\n/**\n * @ignore\n */\nUsageNetworkHostsHour.attributeTypeMap = {\n    hostCount: {\n        baseName: \"host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageNetworkHostsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageNetworkHostsResponse = void 0;\n/**\n * Response containing the number of active NPM hosts for each hour for a given organization.\n */\nclass UsageNetworkHostsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageNetworkHostsResponse.attributeTypeMap;\n    }\n}\nexports.UsageNetworkHostsResponse = UsageNetworkHostsResponse;\n/**\n * @ignore\n */\nUsageNetworkHostsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageNetworkHostsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageOnlineArchiveHour = void 0;\n/**\n * Online Archive usage in a given hour.\n */\nclass UsageOnlineArchiveHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageOnlineArchiveHour.attributeTypeMap;\n    }\n}\nexports.UsageOnlineArchiveHour = UsageOnlineArchiveHour;\n/**\n * @ignore\n */\nUsageOnlineArchiveHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    onlineArchiveEventsCount: {\n        baseName: \"online_archive_events_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageOnlineArchiveHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageOnlineArchiveResponse = void 0;\n/**\n * Online Archive usage response.\n */\nclass UsageOnlineArchiveResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageOnlineArchiveResponse.attributeTypeMap;\n    }\n}\nexports.UsageOnlineArchiveResponse = UsageOnlineArchiveResponse;\n/**\n * @ignore\n */\nUsageOnlineArchiveResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageOnlineArchiveResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageProfilingHour = void 0;\n/**\n * The number of profiled hosts for each hour for a given organization.\n */\nclass UsageProfilingHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageProfilingHour.attributeTypeMap;\n    }\n}\nexports.UsageProfilingHour = UsageProfilingHour;\n/**\n * @ignore\n */\nUsageProfilingHour.attributeTypeMap = {\n    aasCount: {\n        baseName: \"aas_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    avgContainerAgentCount: {\n        baseName: \"avg_container_agent_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hostCount: {\n        baseName: \"host_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageProfilingHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageProfilingResponse = void 0;\n/**\n * Response containing the number of profiled hosts for each hour for a given organization.\n */\nclass UsageProfilingResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageProfilingResponse.attributeTypeMap;\n    }\n}\nexports.UsageProfilingResponse = UsageProfilingResponse;\n/**\n * @ignore\n */\nUsageProfilingResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageProfilingResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageRumSessionsHour = void 0;\n/**\n * Number of RUM Sessions recorded for each hour for a given organization.\n */\nclass UsageRumSessionsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageRumSessionsHour.attributeTypeMap;\n    }\n}\nexports.UsageRumSessionsHour = UsageRumSessionsHour;\n/**\n * @ignore\n */\nUsageRumSessionsHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    replaySessionCount: {\n        baseName: \"replay_session_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sessionCount: {\n        baseName: \"session_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sessionCountAndroid: {\n        baseName: \"session_count_android\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sessionCountFlutter: {\n        baseName: \"session_count_flutter\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sessionCountIos: {\n        baseName: \"session_count_ios\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sessionCountReactnative: {\n        baseName: \"session_count_reactnative\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageRumSessionsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageRumSessionsResponse = void 0;\n/**\n * Response containing the number of RUM Sessions for each hour for a given organization.\n */\nclass UsageRumSessionsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageRumSessionsResponse.attributeTypeMap;\n    }\n}\nexports.UsageRumSessionsResponse = UsageRumSessionsResponse;\n/**\n * @ignore\n */\nUsageRumSessionsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageRumSessionsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageRumUnitsHour = void 0;\n/**\n * Number of RUM Units used for each hour for a given organization (data available as of November 1, 2021).\n */\nclass UsageRumUnitsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageRumUnitsHour.attributeTypeMap;\n    }\n}\nexports.UsageRumUnitsHour = UsageRumUnitsHour;\n/**\n * @ignore\n */\nUsageRumUnitsHour.attributeTypeMap = {\n    browserRumUnits: {\n        baseName: \"browser_rum_units\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumUnits: {\n        baseName: \"mobile_rum_units\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    rumUnits: {\n        baseName: \"rum_units\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageRumUnitsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageRumUnitsResponse = void 0;\n/**\n * Response containing the number of RUM Units for each hour for a given organization.\n */\nclass UsageRumUnitsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageRumUnitsResponse.attributeTypeMap;\n    }\n}\nexports.UsageRumUnitsResponse = UsageRumUnitsResponse;\n/**\n * @ignore\n */\nUsageRumUnitsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageRumUnitsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSDSHour = void 0;\n/**\n * Sensitive Data Scanner usage for a given organization for a given hour.\n */\nclass UsageSDSHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSDSHour.attributeTypeMap;\n    }\n}\nexports.UsageSDSHour = UsageSDSHour;\n/**\n * @ignore\n */\nUsageSDSHour.attributeTypeMap = {\n    apmScannedBytes: {\n        baseName: \"apm_scanned_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    eventsScannedBytes: {\n        baseName: \"events_scanned_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    logsScannedBytes: {\n        baseName: \"logs_scanned_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    rumScannedBytes: {\n        baseName: \"rum_scanned_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalScannedBytes: {\n        baseName: \"total_scanned_bytes\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSDSHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSDSResponse = void 0;\n/**\n * Response containing the Sensitive Data Scanner usage for each hour for a given organization.\n */\nclass UsageSDSResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSDSResponse.attributeTypeMap;\n    }\n}\nexports.UsageSDSResponse = UsageSDSResponse;\n/**\n * @ignore\n */\nUsageSDSResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSDSResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSNMPHour = void 0;\n/**\n * The number of SNMP devices for each hour for a given organization.\n */\nclass UsageSNMPHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSNMPHour.attributeTypeMap;\n    }\n}\nexports.UsageSNMPHour = UsageSNMPHour;\n/**\n * @ignore\n */\nUsageSNMPHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    snmpDevices: {\n        baseName: \"snmp_devices\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSNMPHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSNMPResponse = void 0;\n/**\n * Response containing the number of SNMP devices for each hour for a given organization.\n */\nclass UsageSNMPResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSNMPResponse.attributeTypeMap;\n    }\n}\nexports.UsageSNMPResponse = UsageSNMPResponse;\n/**\n * @ignore\n */\nUsageSNMPResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSNMPResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSpecifiedCustomReportsAttributes = void 0;\n/**\n * The response containing attributes for specified custom reports.\n */\nclass UsageSpecifiedCustomReportsAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSpecifiedCustomReportsAttributes.attributeTypeMap;\n    }\n}\nexports.UsageSpecifiedCustomReportsAttributes = UsageSpecifiedCustomReportsAttributes;\n/**\n * @ignore\n */\nUsageSpecifiedCustomReportsAttributes.attributeTypeMap = {\n    computedOn: {\n        baseName: \"computed_on\",\n        type: \"string\",\n    },\n    endDate: {\n        baseName: \"end_date\",\n        type: \"string\",\n    },\n    location: {\n        baseName: \"location\",\n        type: \"string\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    startDate: {\n        baseName: \"start_date\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSpecifiedCustomReportsAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSpecifiedCustomReportsData = void 0;\n/**\n * Response containing date and type for specified custom reports.\n */\nclass UsageSpecifiedCustomReportsData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSpecifiedCustomReportsData.attributeTypeMap;\n    }\n}\nexports.UsageSpecifiedCustomReportsData = UsageSpecifiedCustomReportsData;\n/**\n * @ignore\n */\nUsageSpecifiedCustomReportsData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UsageSpecifiedCustomReportsAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsageReportsType\",\n    },\n};\n//# sourceMappingURL=UsageSpecifiedCustomReportsData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSpecifiedCustomReportsMeta = void 0;\n/**\n * The object containing document metadata.\n */\nclass UsageSpecifiedCustomReportsMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSpecifiedCustomReportsMeta.attributeTypeMap;\n    }\n}\nexports.UsageSpecifiedCustomReportsMeta = UsageSpecifiedCustomReportsMeta;\n/**\n * @ignore\n */\nUsageSpecifiedCustomReportsMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"UsageSpecifiedCustomReportsPage\",\n    },\n};\n//# sourceMappingURL=UsageSpecifiedCustomReportsMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSpecifiedCustomReportsPage = void 0;\n/**\n * The object containing page total count for specified ID.\n */\nclass UsageSpecifiedCustomReportsPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSpecifiedCustomReportsPage.attributeTypeMap;\n    }\n}\nexports.UsageSpecifiedCustomReportsPage = UsageSpecifiedCustomReportsPage;\n/**\n * @ignore\n */\nUsageSpecifiedCustomReportsPage.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSpecifiedCustomReportsPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSpecifiedCustomReportsResponse = void 0;\n/**\n * Returns available specified custom reports.\n */\nclass UsageSpecifiedCustomReportsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSpecifiedCustomReportsResponse.attributeTypeMap;\n    }\n}\nexports.UsageSpecifiedCustomReportsResponse = UsageSpecifiedCustomReportsResponse;\n/**\n * @ignore\n */\nUsageSpecifiedCustomReportsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UsageSpecifiedCustomReportsData\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"UsageSpecifiedCustomReportsMeta\",\n    },\n};\n//# sourceMappingURL=UsageSpecifiedCustomReportsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSummaryDate = void 0;\n/**\n * Response with hourly report of all data billed by Datadog all organizations.\n */\nclass UsageSummaryDate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSummaryDate.attributeTypeMap;\n    }\n}\nexports.UsageSummaryDate = UsageSummaryDate;\n/**\n * @ignore\n */\nUsageSummaryDate.attributeTypeMap = {\n    agentHostTop99p: {\n        baseName: \"agent_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmAzureAppServiceHostTop99p: {\n        baseName: \"apm_azure_app_service_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmFargateCountAvg: {\n        baseName: \"apm_fargate_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmHostTop99p: {\n        baseName: \"apm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    appsecFargateCountAvg: {\n        baseName: \"appsec_fargate_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditLogsLinesIndexedSum: {\n        baseName: \"audit_logs_lines_indexed_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditTrailEnabledHwm: {\n        baseName: \"audit_trail_enabled_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    avgProfiledFargateTasks: {\n        baseName: \"avg_profiled_fargate_tasks\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsHostTop99p: {\n        baseName: \"aws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaFuncCount: {\n        baseName: \"aws_lambda_func_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaInvocationsSum: {\n        baseName: \"aws_lambda_invocations_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    azureAppServiceTop99p: {\n        baseName: \"azure_app_service_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    billableIngestedBytesSum: {\n        baseName: \"billable_ingested_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumLiteSessionCountSum: {\n        baseName: \"browser_rum_lite_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumReplaySessionCountSum: {\n        baseName: \"browser_rum_replay_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumUnitsSum: {\n        baseName: \"browser_rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciPipelineIndexedSpansSum: {\n        baseName: \"ci_pipeline_indexed_spans_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciTestIndexedSpansSum: {\n        baseName: \"ci_test_indexed_spans_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityItrCommittersHwm: {\n        baseName: \"ci_visibility_itr_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityPipelineCommittersHwm: {\n        baseName: \"ci_visibility_pipeline_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityTestCommittersHwm: {\n        baseName: \"ci_visibility_test_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAwsHostCountAvg: {\n        baseName: \"cloud_cost_management_aws_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAzureHostCountAvg: {\n        baseName: \"cloud_cost_management_azure_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementHostCountAvg: {\n        baseName: \"cloud_cost_management_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerAvg: {\n        baseName: \"container_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerExclAgentAvg: {\n        baseName: \"container_excl_agent_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerHwm: {\n        baseName: \"container_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAasHostTop99p: {\n        baseName: \"cspm_aas_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAwsHostTop99p: {\n        baseName: \"cspm_aws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAzureHostTop99p: {\n        baseName: \"cspm_azure_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerAvg: {\n        baseName: \"cspm_container_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerHwm: {\n        baseName: \"cspm_container_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmGcpHostTop99p: {\n        baseName: \"cspm_gcp_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmHostTop99p: {\n        baseName: \"cspm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    customTsAvg: {\n        baseName: \"custom_ts_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsContainerCountAvg: {\n        baseName: \"cws_container_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsHostTop99p: {\n        baseName: \"cws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    date: {\n        baseName: \"date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    dbmHostTop99p: {\n        baseName: \"dbm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmQueriesCountAvg: {\n        baseName: \"dbm_queries_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fargateTasksCountAvg: {\n        baseName: \"fargate_tasks_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fargateTasksCountHwm: {\n        baseName: \"fargate_tasks_count_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    forwardingEventsBytesSum: {\n        baseName: \"forwarding_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    gcpHostTop99p: {\n        baseName: \"gcp_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    herokuHostTop99p: {\n        baseName: \"heroku_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    incidentManagementMonthlyActiveUsersHwm: {\n        baseName: \"incident_management_monthly_active_users_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    indexedEventsCountSum: {\n        baseName: \"indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    infraHostTop99p: {\n        baseName: \"infra_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ingestedEventsBytesSum: {\n        baseName: \"ingested_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceSum: {\n        baseName: \"iot_device_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceTop99p: {\n        baseName: \"iot_device_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumLiteSessionCountSum: {\n        baseName: \"mobile_rum_lite_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountAndroidSum: {\n        baseName: \"mobile_rum_session_count_android_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountFlutterSum: {\n        baseName: \"mobile_rum_session_count_flutter_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountIosSum: {\n        baseName: \"mobile_rum_session_count_ios_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountReactnativeSum: {\n        baseName: \"mobile_rum_session_count_reactnative_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountRokuSum: {\n        baseName: \"mobile_rum_session_count_roku_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountSum: {\n        baseName: \"mobile_rum_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumUnitsSum: {\n        baseName: \"mobile_rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    netflowIndexedEventsCountSum: {\n        baseName: \"netflow_indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    npmHostTop99p: {\n        baseName: \"npm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    observabilityPipelinesBytesProcessedSum: {\n        baseName: \"observability_pipelines_bytes_processed_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    onlineArchiveEventsCountSum: {\n        baseName: \"online_archive_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryApmHostTop99p: {\n        baseName: \"opentelemetry_apm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryHostTop99p: {\n        baseName: \"opentelemetry_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgs: {\n        baseName: \"orgs\",\n        type: \"Array\",\n    },\n    profilingAasCountTop99p: {\n        baseName: \"profiling_aas_count_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingHostTop99p: {\n        baseName: \"profiling_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumBrowserAndMobileSessionCount: {\n        baseName: \"rum_browser_and_mobile_session_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumSessionCountSum: {\n        baseName: \"rum_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumTotalSessionCountSum: {\n        baseName: \"rum_total_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumUnitsSum: {\n        baseName: \"rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsApmScannedBytesSum: {\n        baseName: \"sds_apm_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsEventsScannedBytesSum: {\n        baseName: \"sds_events_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsLogsScannedBytesSum: {\n        baseName: \"sds_logs_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsRumScannedBytesSum: {\n        baseName: \"sds_rum_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsTotalScannedBytesSum: {\n        baseName: \"sds_total_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsBrowserCheckCallsCountSum: {\n        baseName: \"synthetics_browser_check_calls_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsCheckCallsCountSum: {\n        baseName: \"synthetics_check_calls_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsMobileTestRunsSum: {\n        baseName: \"synthetics_mobile_test_runs_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsParallelTestingMaxSlotsHwm: {\n        baseName: \"synthetics_parallel_testing_max_slots_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    traceSearchIndexedEventsCountSum: {\n        baseName: \"trace_search_indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    twolIngestedEventsBytesSum: {\n        baseName: \"twol_ingested_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    universalServiceMonitoringHostTop99p: {\n        baseName: \"universal_service_monitoring_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    vsphereHostTop99p: {\n        baseName: \"vsphere_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    vulnManagementHostCountTop99p: {\n        baseName: \"vuln_management_host_count_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    workflowExecutionsUsageSum: {\n        baseName: \"workflow_executions_usage_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSummaryDate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSummaryDateOrg = void 0;\n/**\n * Global hourly report of all data billed by Datadog for a given organization.\n */\nclass UsageSummaryDateOrg {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSummaryDateOrg.attributeTypeMap;\n    }\n}\nexports.UsageSummaryDateOrg = UsageSummaryDateOrg;\n/**\n * @ignore\n */\nUsageSummaryDateOrg.attributeTypeMap = {\n    agentHostTop99p: {\n        baseName: \"agent_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmAzureAppServiceHostTop99p: {\n        baseName: \"apm_azure_app_service_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmFargateCountAvg: {\n        baseName: \"apm_fargate_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmHostTop99p: {\n        baseName: \"apm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    appsecFargateCountAvg: {\n        baseName: \"appsec_fargate_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditLogsLinesIndexedSum: {\n        baseName: \"audit_logs_lines_indexed_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditTrailEnabledHwm: {\n        baseName: \"audit_trail_enabled_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    avgProfiledFargateTasks: {\n        baseName: \"avg_profiled_fargate_tasks\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsHostTop99p: {\n        baseName: \"aws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaFuncCount: {\n        baseName: \"aws_lambda_func_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaInvocationsSum: {\n        baseName: \"aws_lambda_invocations_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    azureAppServiceTop99p: {\n        baseName: \"azure_app_service_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    billableIngestedBytesSum: {\n        baseName: \"billable_ingested_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumLiteSessionCountSum: {\n        baseName: \"browser_rum_lite_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumReplaySessionCountSum: {\n        baseName: \"browser_rum_replay_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumUnitsSum: {\n        baseName: \"browser_rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciPipelineIndexedSpansSum: {\n        baseName: \"ci_pipeline_indexed_spans_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciTestIndexedSpansSum: {\n        baseName: \"ci_test_indexed_spans_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityItrCommittersHwm: {\n        baseName: \"ci_visibility_itr_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityPipelineCommittersHwm: {\n        baseName: \"ci_visibility_pipeline_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityTestCommittersHwm: {\n        baseName: \"ci_visibility_test_committers_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAwsHostCountAvg: {\n        baseName: \"cloud_cost_management_aws_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAzureHostCountAvg: {\n        baseName: \"cloud_cost_management_azure_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementHostCountAvg: {\n        baseName: \"cloud_cost_management_host_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerAvg: {\n        baseName: \"container_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerExclAgentAvg: {\n        baseName: \"container_excl_agent_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerHwm: {\n        baseName: \"container_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAasHostTop99p: {\n        baseName: \"cspm_aas_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAwsHostTop99p: {\n        baseName: \"cspm_aws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAzureHostTop99p: {\n        baseName: \"cspm_azure_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerAvg: {\n        baseName: \"cspm_container_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerHwm: {\n        baseName: \"cspm_container_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmGcpHostTop99p: {\n        baseName: \"cspm_gcp_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmHostTop99p: {\n        baseName: \"cspm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    customTsAvg: {\n        baseName: \"custom_ts_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsContainerCountAvg: {\n        baseName: \"cws_container_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsHostTop99p: {\n        baseName: \"cws_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmHostTop99pSum: {\n        baseName: \"dbm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmQueriesAvgSum: {\n        baseName: \"dbm_queries_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fargateTasksCountAvg: {\n        baseName: \"fargate_tasks_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fargateTasksCountHwm: {\n        baseName: \"fargate_tasks_count_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    forwardingEventsBytesSum: {\n        baseName: \"forwarding_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    gcpHostTop99p: {\n        baseName: \"gcp_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    herokuHostTop99p: {\n        baseName: \"heroku_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    incidentManagementMonthlyActiveUsersHwm: {\n        baseName: \"incident_management_monthly_active_users_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    indexedEventsCountSum: {\n        baseName: \"indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    infraHostTop99p: {\n        baseName: \"infra_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ingestedEventsBytesSum: {\n        baseName: \"ingested_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceAggSum: {\n        baseName: \"iot_device_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceTop99pSum: {\n        baseName: \"iot_device_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumLiteSessionCountSum: {\n        baseName: \"mobile_rum_lite_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountAndroidSum: {\n        baseName: \"mobile_rum_session_count_android_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountFlutterSum: {\n        baseName: \"mobile_rum_session_count_flutter_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountIosSum: {\n        baseName: \"mobile_rum_session_count_ios_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountReactnativeSum: {\n        baseName: \"mobile_rum_session_count_reactnative_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountRokuSum: {\n        baseName: \"mobile_rum_session_count_roku_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountSum: {\n        baseName: \"mobile_rum_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumUnitsSum: {\n        baseName: \"mobile_rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    netflowIndexedEventsCountSum: {\n        baseName: \"netflow_indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    npmHostTop99p: {\n        baseName: \"npm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    observabilityPipelinesBytesProcessedSum: {\n        baseName: \"observability_pipelines_bytes_processed_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    onlineArchiveEventsCountSum: {\n        baseName: \"online_archive_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryApmHostTop99p: {\n        baseName: \"opentelemetry_apm_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryHostTop99p: {\n        baseName: \"opentelemetry_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingAasCountTop99p: {\n        baseName: \"profiling_aas_count_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingHostTop99p: {\n        baseName: \"profiling_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    rumBrowserAndMobileSessionCount: {\n        baseName: \"rum_browser_and_mobile_session_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumSessionCountSum: {\n        baseName: \"rum_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumTotalSessionCountSum: {\n        baseName: \"rum_total_session_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumUnitsSum: {\n        baseName: \"rum_units_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsApmScannedBytesSum: {\n        baseName: \"sds_apm_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsEventsScannedBytesSum: {\n        baseName: \"sds_events_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsLogsScannedBytesSum: {\n        baseName: \"sds_logs_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsRumScannedBytesSum: {\n        baseName: \"sds_rum_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsTotalScannedBytesSum: {\n        baseName: \"sds_total_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsBrowserCheckCallsCountSum: {\n        baseName: \"synthetics_browser_check_calls_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsCheckCallsCountSum: {\n        baseName: \"synthetics_check_calls_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsMobileTestRunsSum: {\n        baseName: \"synthetics_mobile_test_runs_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsParallelTestingMaxSlotsHwm: {\n        baseName: \"synthetics_parallel_testing_max_slots_hwm\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    traceSearchIndexedEventsCountSum: {\n        baseName: \"trace_search_indexed_events_count_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    twolIngestedEventsBytesSum: {\n        baseName: \"twol_ingested_events_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    universalServiceMonitoringHostTop99p: {\n        baseName: \"universal_service_monitoring_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    vsphereHostTop99p: {\n        baseName: \"vsphere_host_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    vulnManagementHostCountTop99p: {\n        baseName: \"vuln_management_host_count_top99p\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    workflowExecutionsUsageSum: {\n        baseName: \"workflow_executions_usage_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSummaryDateOrg.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSummaryResponse = void 0;\n/**\n * Response summarizing all usage aggregated across the months in the request for all organizations, and broken down by month and by organization.\n */\nclass UsageSummaryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSummaryResponse.attributeTypeMap;\n    }\n}\nexports.UsageSummaryResponse = UsageSummaryResponse;\n/**\n * @ignore\n */\nUsageSummaryResponse.attributeTypeMap = {\n    agentHostTop99pSum: {\n        baseName: \"agent_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmAzureAppServiceHostTop99pSum: {\n        baseName: \"apm_azure_app_service_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmFargateCountAvgSum: {\n        baseName: \"apm_fargate_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    apmHostTop99pSum: {\n        baseName: \"apm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    appsecFargateCountAvgSum: {\n        baseName: \"appsec_fargate_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditLogsLinesIndexedAggSum: {\n        baseName: \"audit_logs_lines_indexed_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    auditTrailEnabledHwmSum: {\n        baseName: \"audit_trail_enabled_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    avgProfiledFargateTasksSum: {\n        baseName: \"avg_profiled_fargate_tasks_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsHostTop99pSum: {\n        baseName: \"aws_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaFuncCount: {\n        baseName: \"aws_lambda_func_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    awsLambdaInvocationsSum: {\n        baseName: \"aws_lambda_invocations_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    azureAppServiceTop99pSum: {\n        baseName: \"azure_app_service_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    azureHostTop99pSum: {\n        baseName: \"azure_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    billableIngestedBytesAggSum: {\n        baseName: \"billable_ingested_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumLiteSessionCountAggSum: {\n        baseName: \"browser_rum_lite_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumReplaySessionCountAggSum: {\n        baseName: \"browser_rum_replay_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    browserRumUnitsAggSum: {\n        baseName: \"browser_rum_units_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciPipelineIndexedSpansAggSum: {\n        baseName: \"ci_pipeline_indexed_spans_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciTestIndexedSpansAggSum: {\n        baseName: \"ci_test_indexed_spans_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityItrCommittersHwmSum: {\n        baseName: \"ci_visibility_itr_committers_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityPipelineCommittersHwmSum: {\n        baseName: \"ci_visibility_pipeline_committers_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ciVisibilityTestCommittersHwmSum: {\n        baseName: \"ci_visibility_test_committers_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAwsHostCountAvgSum: {\n        baseName: \"cloud_cost_management_aws_host_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementAzureHostCountAvgSum: {\n        baseName: \"cloud_cost_management_azure_host_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cloudCostManagementHostCountAvgSum: {\n        baseName: \"cloud_cost_management_host_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerAvgSum: {\n        baseName: \"container_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerExclAgentAvgSum: {\n        baseName: \"container_excl_agent_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    containerHwmSum: {\n        baseName: \"container_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAasHostTop99pSum: {\n        baseName: \"cspm_aas_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAwsHostTop99pSum: {\n        baseName: \"cspm_aws_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmAzureHostTop99pSum: {\n        baseName: \"cspm_azure_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerAvgSum: {\n        baseName: \"cspm_container_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmContainerHwmSum: {\n        baseName: \"cspm_container_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmGcpHostTop99pSum: {\n        baseName: \"cspm_gcp_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cspmHostTop99pSum: {\n        baseName: \"cspm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    customTsSum: {\n        baseName: \"custom_ts_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsContainersAvgSum: {\n        baseName: \"cws_containers_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    cwsHostTop99pSum: {\n        baseName: \"cws_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmHostTop99pSum: {\n        baseName: \"dbm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    dbmQueriesAvgSum: {\n        baseName: \"dbm_queries_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    endDate: {\n        baseName: \"end_date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    fargateTasksCountAvgSum: {\n        baseName: \"fargate_tasks_count_avg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    fargateTasksCountHwmSum: {\n        baseName: \"fargate_tasks_count_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    forwardingEventsBytesAggSum: {\n        baseName: \"forwarding_events_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    gcpHostTop99pSum: {\n        baseName: \"gcp_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    herokuHostTop99pSum: {\n        baseName: \"heroku_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    incidentManagementMonthlyActiveUsersHwmSum: {\n        baseName: \"incident_management_monthly_active_users_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    indexedEventsCountAggSum: {\n        baseName: \"indexed_events_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    infraHostTop99pSum: {\n        baseName: \"infra_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ingestedEventsBytesAggSum: {\n        baseName: \"ingested_events_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceAggSum: {\n        baseName: \"iot_device_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    iotDeviceTop99pSum: {\n        baseName: \"iot_device_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastUpdated: {\n        baseName: \"last_updated\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    liveIndexedEventsAggSum: {\n        baseName: \"live_indexed_events_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    liveIngestedBytesAggSum: {\n        baseName: \"live_ingested_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    logsByRetention: {\n        baseName: \"logs_by_retention\",\n        type: \"LogsByRetention\",\n    },\n    mobileRumLiteSessionCountAggSum: {\n        baseName: \"mobile_rum_lite_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountAggSum: {\n        baseName: \"mobile_rum_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountAndroidAggSum: {\n        baseName: \"mobile_rum_session_count_android_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountFlutterAggSum: {\n        baseName: \"mobile_rum_session_count_flutter_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountIosAggSum: {\n        baseName: \"mobile_rum_session_count_ios_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountReactnativeAggSum: {\n        baseName: \"mobile_rum_session_count_reactnative_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumSessionCountRokuAggSum: {\n        baseName: \"mobile_rum_session_count_roku_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mobileRumUnitsAggSum: {\n        baseName: \"mobile_rum_units_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    netflowIndexedEventsCountAggSum: {\n        baseName: \"netflow_indexed_events_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    npmHostTop99pSum: {\n        baseName: \"npm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    observabilityPipelinesBytesProcessedAggSum: {\n        baseName: \"observability_pipelines_bytes_processed_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    onlineArchiveEventsCountAggSum: {\n        baseName: \"online_archive_events_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryApmHostTop99pSum: {\n        baseName: \"opentelemetry_apm_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    opentelemetryHostTop99pSum: {\n        baseName: \"opentelemetry_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingAasCountTop99pSum: {\n        baseName: \"profiling_aas_count_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingContainerAgentCountAvg: {\n        baseName: \"profiling_container_agent_count_avg\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    profilingHostCountTop99pSum: {\n        baseName: \"profiling_host_count_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rehydratedIndexedEventsAggSum: {\n        baseName: \"rehydrated_indexed_events_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rehydratedIngestedBytesAggSum: {\n        baseName: \"rehydrated_ingested_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumBrowserAndMobileSessionCount: {\n        baseName: \"rum_browser_and_mobile_session_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumSessionCountAggSum: {\n        baseName: \"rum_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumTotalSessionCountAggSum: {\n        baseName: \"rum_total_session_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rumUnitsAggSum: {\n        baseName: \"rum_units_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsApmScannedBytesSum: {\n        baseName: \"sds_apm_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsEventsScannedBytesSum: {\n        baseName: \"sds_events_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsLogsScannedBytesSum: {\n        baseName: \"sds_logs_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsRumScannedBytesSum: {\n        baseName: \"sds_rum_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    sdsTotalScannedBytesSum: {\n        baseName: \"sds_total_scanned_bytes_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    startDate: {\n        baseName: \"start_date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    syntheticsBrowserCheckCallsCountAggSum: {\n        baseName: \"synthetics_browser_check_calls_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsCheckCallsCountAggSum: {\n        baseName: \"synthetics_check_calls_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsMobileTestRunsAggSum: {\n        baseName: \"synthetics_mobile_test_runs_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    syntheticsParallelTestingMaxSlotsHwmSum: {\n        baseName: \"synthetics_parallel_testing_max_slots_hwm_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    traceSearchIndexedEventsCountAggSum: {\n        baseName: \"trace_search_indexed_events_count_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    twolIngestedEventsBytesAggSum: {\n        baseName: \"twol_ingested_events_bytes_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    universalServiceMonitoringHostTop99pSum: {\n        baseName: \"universal_service_monitoring_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n    vsphereHostTop99pSum: {\n        baseName: \"vsphere_host_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    vulnManagementHostCountTop99pSum: {\n        baseName: \"vuln_management_host_count_top99p_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    workflowExecutionsUsageAggSum: {\n        baseName: \"workflow_executions_usage_agg_sum\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageSummaryResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsAPIHour = void 0;\n/**\n * Number of Synthetics API tests run for each hour for a given organization.\n */\nclass UsageSyntheticsAPIHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsAPIHour.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsAPIHour = UsageSyntheticsAPIHour;\n/**\n * @ignore\n */\nUsageSyntheticsAPIHour.attributeTypeMap = {\n    checkCallsCount: {\n        baseName: \"check_calls_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsAPIHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsAPIResponse = void 0;\n/**\n * Response containing the number of Synthetics API tests run for each hour for a given organization.\n */\nclass UsageSyntheticsAPIResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsAPIResponse.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsAPIResponse = UsageSyntheticsAPIResponse;\n/**\n * @ignore\n */\nUsageSyntheticsAPIResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsAPIResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsBrowserHour = void 0;\n/**\n * Number of Synthetics Browser tests run for each hour for a given organization.\n */\nclass UsageSyntheticsBrowserHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsBrowserHour.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsBrowserHour = UsageSyntheticsBrowserHour;\n/**\n * @ignore\n */\nUsageSyntheticsBrowserHour.attributeTypeMap = {\n    browserCheckCallsCount: {\n        baseName: \"browser_check_calls_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsBrowserHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsBrowserResponse = void 0;\n/**\n * Response containing the number of Synthetics Browser tests run for each hour for a given organization.\n */\nclass UsageSyntheticsBrowserResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsBrowserResponse.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsBrowserResponse = UsageSyntheticsBrowserResponse;\n/**\n * @ignore\n */\nUsageSyntheticsBrowserResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsBrowserResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsHour = void 0;\n/**\n * The number of synthetics tests run for each hour for a given organization.\n */\nclass UsageSyntheticsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsHour.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsHour = UsageSyntheticsHour;\n/**\n * @ignore\n */\nUsageSyntheticsHour.attributeTypeMap = {\n    checkCallsCount: {\n        baseName: \"check_calls_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageSyntheticsResponse = void 0;\n/**\n * Response containing the number of Synthetics API tests run for each hour for a given organization.\n */\nclass UsageSyntheticsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageSyntheticsResponse.attributeTypeMap;\n    }\n}\nexports.UsageSyntheticsResponse = UsageSyntheticsResponse;\n/**\n * @ignore\n */\nUsageSyntheticsResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageSyntheticsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTimeseriesHour = void 0;\n/**\n * The hourly usage of timeseries.\n */\nclass UsageTimeseriesHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTimeseriesHour.attributeTypeMap;\n    }\n}\nexports.UsageTimeseriesHour = UsageTimeseriesHour;\n/**\n * @ignore\n */\nUsageTimeseriesHour.attributeTypeMap = {\n    hour: {\n        baseName: \"hour\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    numCustomInputTimeseries: {\n        baseName: \"num_custom_input_timeseries\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    numCustomOutputTimeseries: {\n        baseName: \"num_custom_output_timeseries\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    numCustomTimeseries: {\n        baseName: \"num_custom_timeseries\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageTimeseriesHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTimeseriesResponse = void 0;\n/**\n * Response containing hourly usage of timeseries.\n */\nclass UsageTimeseriesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTimeseriesResponse.attributeTypeMap;\n    }\n}\nexports.UsageTimeseriesResponse = UsageTimeseriesResponse;\n/**\n * @ignore\n */\nUsageTimeseriesResponse.attributeTypeMap = {\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageTimeseriesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTopAvgMetricsHour = void 0;\n/**\n * Number of hourly recorded custom metrics for a given organization.\n */\nclass UsageTopAvgMetricsHour {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTopAvgMetricsHour.attributeTypeMap;\n    }\n}\nexports.UsageTopAvgMetricsHour = UsageTopAvgMetricsHour;\n/**\n * @ignore\n */\nUsageTopAvgMetricsHour.attributeTypeMap = {\n    avgMetricHour: {\n        baseName: \"avg_metric_hour\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    maxMetricHour: {\n        baseName: \"max_metric_hour\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metricCategory: {\n        baseName: \"metric_category\",\n        type: \"UsageMetricCategory\",\n    },\n    metricName: {\n        baseName: \"metric_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UsageTopAvgMetricsHour.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTopAvgMetricsMetadata = void 0;\n/**\n * The object containing document metadata.\n */\nclass UsageTopAvgMetricsMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTopAvgMetricsMetadata.attributeTypeMap;\n    }\n}\nexports.UsageTopAvgMetricsMetadata = UsageTopAvgMetricsMetadata;\n/**\n * @ignore\n */\nUsageTopAvgMetricsMetadata.attributeTypeMap = {\n    day: {\n        baseName: \"day\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    month: {\n        baseName: \"month\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    pagination: {\n        baseName: \"pagination\",\n        type: \"UsageTopAvgMetricsPagination\",\n    },\n};\n//# sourceMappingURL=UsageTopAvgMetricsMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTopAvgMetricsPagination = void 0;\n/**\n * The metadata for the current pagination.\n */\nclass UsageTopAvgMetricsPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTopAvgMetricsPagination.attributeTypeMap;\n    }\n}\nexports.UsageTopAvgMetricsPagination = UsageTopAvgMetricsPagination;\n/**\n * @ignore\n */\nUsageTopAvgMetricsPagination.attributeTypeMap = {\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    nextRecordId: {\n        baseName: \"next_record_id\",\n        type: \"string\",\n    },\n    totalNumberOfRecords: {\n        baseName: \"total_number_of_records\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageTopAvgMetricsPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTopAvgMetricsResponse = void 0;\n/**\n * Response containing the number of hourly recorded custom metrics for a given organization.\n */\nclass UsageTopAvgMetricsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTopAvgMetricsResponse.attributeTypeMap;\n    }\n}\nexports.UsageTopAvgMetricsResponse = UsageTopAvgMetricsResponse;\n/**\n * @ignore\n */\nUsageTopAvgMetricsResponse.attributeTypeMap = {\n    metadata: {\n        baseName: \"metadata\",\n        type: \"UsageTopAvgMetricsMetadata\",\n    },\n    usage: {\n        baseName: \"usage\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageTopAvgMetricsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.User = void 0;\n/**\n * Create, edit, and disable users.\n */\nclass User {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return User.attributeTypeMap;\n    }\n}\nexports.User = User;\n/**\n * @ignore\n */\nUser.attributeTypeMap = {\n    accessRole: {\n        baseName: \"access_role\",\n        type: \"AccessRole\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n        format: \"email\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n        format: \"email\",\n    },\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    verified: {\n        baseName: \"verified\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=User.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserDisableResponse = void 0;\n/**\n * Array of user disabled for a given organization.\n */\nclass UserDisableResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserDisableResponse.attributeTypeMap;\n    }\n}\nexports.UserDisableResponse = UserDisableResponse;\n/**\n * @ignore\n */\nUserDisableResponse.attributeTypeMap = {\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UserDisableResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserListResponse = void 0;\n/**\n * Array of Datadog users for a given organization.\n */\nclass UserListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserListResponse.attributeTypeMap;\n    }\n}\nexports.UserListResponse = UserListResponse;\n/**\n * @ignore\n */\nUserListResponse.attributeTypeMap = {\n    users: {\n        baseName: \"users\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UserListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserResponse = void 0;\n/**\n * A Datadog User.\n */\nclass UserResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserResponse.attributeTypeMap;\n    }\n}\nexports.UserResponse = UserResponse;\n/**\n * @ignore\n */\nUserResponse.attributeTypeMap = {\n    user: {\n        baseName: \"user\",\n        type: \"User\",\n    },\n};\n//# sourceMappingURL=UserResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegration = void 0;\n/**\n * Datadog-Webhooks integration.\n */\nclass WebhooksIntegration {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WebhooksIntegration.attributeTypeMap;\n    }\n}\nexports.WebhooksIntegration = WebhooksIntegration;\n/**\n * @ignore\n */\nWebhooksIntegration.attributeTypeMap = {\n    customHeaders: {\n        baseName: \"custom_headers\",\n        type: \"string\",\n    },\n    encodeAs: {\n        baseName: \"encode_as\",\n        type: \"WebhooksIntegrationEncoding\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    payload: {\n        baseName: \"payload\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=WebhooksIntegration.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegrationCustomVariable = void 0;\n/**\n * Custom variable for Webhook integration.\n */\nclass WebhooksIntegrationCustomVariable {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WebhooksIntegrationCustomVariable.attributeTypeMap;\n    }\n}\nexports.WebhooksIntegrationCustomVariable = WebhooksIntegrationCustomVariable;\n/**\n * @ignore\n */\nWebhooksIntegrationCustomVariable.attributeTypeMap = {\n    isSecret: {\n        baseName: \"is_secret\",\n        type: \"boolean\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=WebhooksIntegrationCustomVariable.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegrationCustomVariableResponse = void 0;\n/**\n * Custom variable for Webhook integration.\n */\nclass WebhooksIntegrationCustomVariableResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WebhooksIntegrationCustomVariableResponse.attributeTypeMap;\n    }\n}\nexports.WebhooksIntegrationCustomVariableResponse = WebhooksIntegrationCustomVariableResponse;\n/**\n * @ignore\n */\nWebhooksIntegrationCustomVariableResponse.attributeTypeMap = {\n    isSecret: {\n        baseName: \"is_secret\",\n        type: \"boolean\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WebhooksIntegrationCustomVariableResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegrationCustomVariableUpdateRequest = void 0;\n/**\n * Update request of a custom variable object.\n *\n * *All properties are optional.*\n */\nclass WebhooksIntegrationCustomVariableUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WebhooksIntegrationCustomVariableUpdateRequest.attributeTypeMap;\n    }\n}\nexports.WebhooksIntegrationCustomVariableUpdateRequest = WebhooksIntegrationCustomVariableUpdateRequest;\n/**\n * @ignore\n */\nWebhooksIntegrationCustomVariableUpdateRequest.attributeTypeMap = {\n    isSecret: {\n        baseName: \"is_secret\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WebhooksIntegrationCustomVariableUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebhooksIntegrationUpdateRequest = void 0;\n/**\n * Update request of a Webhooks integration object.\n *\n * *All properties are optional.*\n */\nclass WebhooksIntegrationUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WebhooksIntegrationUpdateRequest.attributeTypeMap;\n    }\n}\nexports.WebhooksIntegrationUpdateRequest = WebhooksIntegrationUpdateRequest;\n/**\n * @ignore\n */\nWebhooksIntegrationUpdateRequest.attributeTypeMap = {\n    customHeaders: {\n        baseName: \"custom_headers\",\n        type: \"string\",\n    },\n    encodeAs: {\n        baseName: \"encode_as\",\n        type: \"WebhooksIntegrationEncoding\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    payload: {\n        baseName: \"payload\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WebhooksIntegrationUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Widget = void 0;\n/**\n * Information about widget.\n *\n * **Note**: The `layout` property is required for widgets in dashboards with `free` `layout_type`.\n *       For the **new dashboard layout**, the `layout` property depends on the `reflow_type` of the dashboard.\n *       - If `reflow_type` is `fixed`, `layout` is required.\n *       - If `reflow_type` is `auto`, `layout` should not be set.\n */\nclass Widget {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Widget.attributeTypeMap;\n    }\n}\nexports.Widget = Widget;\n/**\n * @ignore\n */\nWidget.attributeTypeMap = {\n    definition: {\n        baseName: \"definition\",\n        type: \"WidgetDefinition\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    layout: {\n        baseName: \"layout\",\n        type: \"WidgetLayout\",\n    },\n};\n//# sourceMappingURL=Widget.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetAxis = void 0;\n/**\n * Axis controls for the widget.\n */\nclass WidgetAxis {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetAxis.attributeTypeMap;\n    }\n}\nexports.WidgetAxis = WidgetAxis;\n/**\n * @ignore\n */\nWidgetAxis.attributeTypeMap = {\n    includeZero: {\n        baseName: \"include_zero\",\n        type: \"boolean\",\n    },\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"string\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"string\",\n    },\n    scale: {\n        baseName: \"scale\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WidgetAxis.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetConditionalFormat = void 0;\n/**\n * Define a conditional format for the widget.\n */\nclass WidgetConditionalFormat {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetConditionalFormat.attributeTypeMap;\n    }\n}\nexports.WidgetConditionalFormat = WidgetConditionalFormat;\n/**\n * @ignore\n */\nWidgetConditionalFormat.attributeTypeMap = {\n    comparator: {\n        baseName: \"comparator\",\n        type: \"WidgetComparator\",\n        required: true,\n    },\n    customBgColor: {\n        baseName: \"custom_bg_color\",\n        type: \"string\",\n    },\n    customFgColor: {\n        baseName: \"custom_fg_color\",\n        type: \"string\",\n    },\n    hideValue: {\n        baseName: \"hide_value\",\n        type: \"boolean\",\n    },\n    imageUrl: {\n        baseName: \"image_url\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    palette: {\n        baseName: \"palette\",\n        type: \"WidgetPalette\",\n        required: true,\n    },\n    timeframe: {\n        baseName: \"timeframe\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=WidgetConditionalFormat.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetCustomLink = void 0;\n/**\n * Custom links help you connect a data value to a URL, like a Datadog page or your AWS console.\n */\nclass WidgetCustomLink {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetCustomLink.attributeTypeMap;\n    }\n}\nexports.WidgetCustomLink = WidgetCustomLink;\n/**\n * @ignore\n */\nWidgetCustomLink.attributeTypeMap = {\n    isHidden: {\n        baseName: \"is_hidden\",\n        type: \"boolean\",\n    },\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n    },\n    link: {\n        baseName: \"link\",\n        type: \"string\",\n    },\n    overrideLabel: {\n        baseName: \"override_label\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WidgetCustomLink.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetEvent = void 0;\n/**\n * Event overlay control options.\n *\n * See the dedicated [Events JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/widget_json/#events-schema)\n * to learn how to build the ``.\n */\nclass WidgetEvent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetEvent.attributeTypeMap;\n    }\n}\nexports.WidgetEvent = WidgetEvent;\n/**\n * @ignore\n */\nWidgetEvent.attributeTypeMap = {\n    q: {\n        baseName: \"q\",\n        type: \"string\",\n        required: true,\n    },\n    tagsExecution: {\n        baseName: \"tags_execution\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WidgetEvent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetFieldSort = void 0;\n/**\n * Which column and order to sort by\n */\nclass WidgetFieldSort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetFieldSort.attributeTypeMap;\n    }\n}\nexports.WidgetFieldSort = WidgetFieldSort;\n/**\n * @ignore\n */\nWidgetFieldSort.attributeTypeMap = {\n    column: {\n        baseName: \"column\",\n        type: \"string\",\n        required: true,\n    },\n    order: {\n        baseName: \"order\",\n        type: \"WidgetSort\",\n        required: true,\n    },\n};\n//# sourceMappingURL=WidgetFieldSort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetFormula = void 0;\n/**\n * Formula to be used in a widget query.\n */\nclass WidgetFormula {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetFormula.attributeTypeMap;\n    }\n}\nexports.WidgetFormula = WidgetFormula;\n/**\n * @ignore\n */\nWidgetFormula.attributeTypeMap = {\n    alias: {\n        baseName: \"alias\",\n        type: \"string\",\n    },\n    cellDisplayMode: {\n        baseName: \"cell_display_mode\",\n        type: \"TableWidgetCellDisplayMode\",\n    },\n    conditionalFormats: {\n        baseName: \"conditional_formats\",\n        type: \"Array\",\n    },\n    formula: {\n        baseName: \"formula\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"WidgetFormulaLimit\",\n    },\n    style: {\n        baseName: \"style\",\n        type: \"WidgetFormulaStyle\",\n    },\n};\n//# sourceMappingURL=WidgetFormula.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetFormulaLimit = void 0;\n/**\n * Options for limiting results returned.\n */\nclass WidgetFormulaLimit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetFormulaLimit.attributeTypeMap;\n    }\n}\nexports.WidgetFormulaLimit = WidgetFormulaLimit;\n/**\n * @ignore\n */\nWidgetFormulaLimit.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"QuerySortOrder\",\n    },\n};\n//# sourceMappingURL=WidgetFormulaLimit.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetFormulaStyle = void 0;\n/**\n * Styling options for widget formulas.\n */\nclass WidgetFormulaStyle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetFormulaStyle.attributeTypeMap;\n    }\n}\nexports.WidgetFormulaStyle = WidgetFormulaStyle;\n/**\n * @ignore\n */\nWidgetFormulaStyle.attributeTypeMap = {\n    palette: {\n        baseName: \"palette\",\n        type: \"string\",\n    },\n    paletteIndex: {\n        baseName: \"palette_index\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=WidgetFormulaStyle.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetLayout = void 0;\n/**\n * The layout for a widget on a `free` or **new dashboard layout** dashboard.\n */\nclass WidgetLayout {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetLayout.attributeTypeMap;\n    }\n}\nexports.WidgetLayout = WidgetLayout;\n/**\n * @ignore\n */\nWidgetLayout.attributeTypeMap = {\n    height: {\n        baseName: \"height\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    isColumnBreak: {\n        baseName: \"is_column_break\",\n        type: \"boolean\",\n    },\n    width: {\n        baseName: \"width\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    x: {\n        baseName: \"x\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    y: {\n        baseName: \"y\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=WidgetLayout.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetMarker = void 0;\n/**\n * Markers allow you to add visual conditional formatting for your graphs.\n */\nclass WidgetMarker {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetMarker.attributeTypeMap;\n    }\n}\nexports.WidgetMarker = WidgetMarker;\n/**\n * @ignore\n */\nWidgetMarker.attributeTypeMap = {\n    displayType: {\n        baseName: \"display_type\",\n        type: \"string\",\n    },\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n    },\n    time: {\n        baseName: \"time\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=WidgetMarker.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetRequestStyle = void 0;\n/**\n * Define request widget style.\n */\nclass WidgetRequestStyle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetRequestStyle.attributeTypeMap;\n    }\n}\nexports.WidgetRequestStyle = WidgetRequestStyle;\n/**\n * @ignore\n */\nWidgetRequestStyle.attributeTypeMap = {\n    lineType: {\n        baseName: \"line_type\",\n        type: \"WidgetLineType\",\n    },\n    lineWidth: {\n        baseName: \"line_width\",\n        type: \"WidgetLineWidth\",\n    },\n    palette: {\n        baseName: \"palette\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WidgetRequestStyle.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetStyle = void 0;\n/**\n * Widget style definition.\n */\nclass WidgetStyle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetStyle.attributeTypeMap;\n    }\n}\nexports.WidgetStyle = WidgetStyle;\n/**\n * @ignore\n */\nWidgetStyle.attributeTypeMap = {\n    palette: {\n        baseName: \"palette\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=WidgetStyle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WidgetTime = void 0;\n/**\n * Time setting for the widget.\n */\nclass WidgetTime {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return WidgetTime.attributeTypeMap;\n    }\n}\nexports.WidgetTime = WidgetTime;\n/**\n * @ignore\n */\nWidgetTime.attributeTypeMap = {\n    liveSpan: {\n        baseName: \"live_span\",\n        type: \"WidgetLiveSpan\",\n    },\n};\n//# sourceMappingURL=WidgetTime.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditApi = exports.AuditApiResponseProcessor = exports.AuditApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst AuditLogsQueryPageOptions_1 = require(\"../models/AuditLogsQueryPageOptions\");\nconst AuditLogsSearchEventsRequest_1 = require(\"../models/AuditLogsSearchEventsRequest\");\nclass AuditApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    listAuditLogs(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/audit/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuditApi.listAuditLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"AuditLogsSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchAuditLogs(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/audit/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuditApi.searchAuditLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AuditLogsSearchEventsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AuditApiRequestFactory = AuditApiRequestFactory;\nclass AuditApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAuditLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAuditLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuditLogsEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuditLogsEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchAuditLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchAuditLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuditLogsEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuditLogsEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AuditApiResponseProcessor = AuditApiResponseProcessor;\nclass AuditApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AuditApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AuditApiResponseProcessor();\n    }\n    /**\n     * List endpoint returns events that match a Audit Logs search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to see your latest Audit Logs events.\n     *\n     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination\n     * @param param The request object\n     */\n    listAuditLogs(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listAuditLogs(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAuditLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listAuditLogs returning a generator with all the items.\n     */\n    listAuditLogsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listAuditLogsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listAuditLogs(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listAuditLogs(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns Audit Logs events that match an Audit search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to build complex Audit Logs events filtering and search.\n     *\n     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination\n     * @param param The request object\n     */\n    searchAuditLogs(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchAuditLogs(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchAuditLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchAuditLogs returning a generator with all the items.\n     */\n    searchAuditLogsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* searchAuditLogsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchAuditLogs(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchAuditLogs(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.AuditApi = AuditApi;\n//# sourceMappingURL=AuditApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingsApi = exports.AuthNMappingsApiResponseProcessor = exports.AuthNMappingsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass AuthNMappingsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createAuthNMapping(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAuthNMapping\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/authn_mappings\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuthNMappingsApi.createAuthNMapping\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AuthNMappingCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAuthNMapping(authnMappingId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'authnMappingId' is not null or undefined\n            if (authnMappingId === null || authnMappingId === undefined) {\n                throw new baseapi_1.RequiredError(\"authnMappingId\", \"deleteAuthNMapping\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/authn_mappings/{authn_mapping_id}\".replace(\"{authn_mapping_id}\", encodeURIComponent(String(authnMappingId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuthNMappingsApi.deleteAuthNMapping\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAuthNMapping(authnMappingId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'authnMappingId' is not null or undefined\n            if (authnMappingId === null || authnMappingId === undefined) {\n                throw new baseapi_1.RequiredError(\"authnMappingId\", \"getAuthNMapping\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/authn_mappings/{authn_mapping_id}\".replace(\"{authn_mapping_id}\", encodeURIComponent(String(authnMappingId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuthNMappingsApi.getAuthNMapping\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAuthNMappings(pageSize, pageNumber, sort, filter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/authn_mappings\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuthNMappingsApi.listAuthNMappings\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"AuthNMappingsSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAuthNMapping(authnMappingId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'authnMappingId' is not null or undefined\n            if (authnMappingId === null || authnMappingId === undefined) {\n                throw new baseapi_1.RequiredError(\"authnMappingId\", \"updateAuthNMapping\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAuthNMapping\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/authn_mappings/{authn_mapping_id}\".replace(\"{authn_mapping_id}\", encodeURIComponent(String(authnMappingId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.AuthNMappingsApi.updateAuthNMapping\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"AuthNMappingUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.AuthNMappingsApiRequestFactory = AuthNMappingsApiRequestFactory;\nclass AuthNMappingsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAuthNMapping\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAuthNMapping(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAuthNMapping\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAuthNMapping(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAuthNMapping\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAuthNMapping(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAuthNMappings\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAuthNMappings(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAuthNMapping\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAuthNMapping(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"AuthNMappingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.AuthNMappingsApiResponseProcessor = AuthNMappingsApiResponseProcessor;\nclass AuthNMappingsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new AuthNMappingsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new AuthNMappingsApiResponseProcessor();\n    }\n    /**\n     * Create an AuthN Mapping.\n     * @param param The request object\n     */\n    createAuthNMapping(param, options) {\n        const requestContextPromise = this.requestFactory.createAuthNMapping(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAuthNMapping(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an AuthN Mapping specified by AuthN Mapping UUID.\n     * @param param The request object\n     */\n    deleteAuthNMapping(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAuthNMapping(param.authnMappingId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAuthNMapping(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an AuthN Mapping specified by the AuthN Mapping UUID.\n     * @param param The request object\n     */\n    getAuthNMapping(param, options) {\n        const requestContextPromise = this.requestFactory.getAuthNMapping(param.authnMappingId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAuthNMapping(responseContext);\n            });\n        });\n    }\n    /**\n     * List all AuthN Mappings in the org.\n     * @param param The request object\n     */\n    listAuthNMappings(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listAuthNMappings(param.pageSize, param.pageNumber, param.sort, param.filter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAuthNMappings(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an AuthN Mapping.\n     * @param param The request object\n     */\n    updateAuthNMapping(param, options) {\n        const requestContextPromise = this.requestFactory.updateAuthNMapping(param.authnMappingId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAuthNMapping(responseContext);\n            });\n        });\n    }\n}\nexports.AuthNMappingsApi = AuthNMappingsApi;\n//# sourceMappingURL=AuthNMappingsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIVisibilityPipelinesApi = exports.CIVisibilityPipelinesApiResponseProcessor = exports.CIVisibilityPipelinesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst CIAppPipelineEventsRequest_1 = require(\"../models/CIAppPipelineEventsRequest\");\nconst CIAppQueryPageOptions_1 = require(\"../models/CIAppQueryPageOptions\");\nclass CIVisibilityPipelinesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    aggregateCIAppPipelineEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"aggregateCIAppPipelineEvents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/ci/pipelines/analytics/aggregate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityPipelinesApi.aggregateCIAppPipelineEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CIAppPipelinesAggregateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createCIAppPipelineEvent(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createCIAppPipelineEvent'\");\n            if (!_config.unstableOperations[\"v2.createCIAppPipelineEvent\"]) {\n                throw new Error(\"Unstable operation 'createCIAppPipelineEvent' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createCIAppPipelineEvent\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/ci/pipeline\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityPipelinesApi.createCIAppPipelineEvent\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CIAppCreatePipelineEventRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listCIAppPipelineEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/ci/pipelines/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityPipelinesApi.listCIAppPipelineEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"CIAppSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchCIAppPipelineEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/ci/pipelines/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityPipelinesApi.searchCIAppPipelineEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CIAppPipelineEventsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.CIVisibilityPipelinesApiRequestFactory = CIVisibilityPipelinesApiRequestFactory;\nclass CIVisibilityPipelinesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to aggregateCIAppPipelineEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    aggregateCIAppPipelineEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelinesAnalyticsAggregateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelinesAnalyticsAggregateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createCIAppPipelineEvent\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createCIAppPipelineEvent(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429 ||\n                response.httpStatusCode == 500 ||\n                response.httpStatusCode == 503) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"HTTPCIAppErrors\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listCIAppPipelineEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listCIAppPipelineEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelineEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelineEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchCIAppPipelineEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchCIAppPipelineEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelineEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppPipelineEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.CIVisibilityPipelinesApiResponseProcessor = CIVisibilityPipelinesApiResponseProcessor;\nclass CIVisibilityPipelinesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new CIVisibilityPipelinesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new CIVisibilityPipelinesApiResponseProcessor();\n    }\n    /**\n     * Use this API endpoint to aggregate CI Visibility pipeline events into buckets of computed metrics and timeseries.\n     * @param param The request object\n     */\n    aggregateCIAppPipelineEvents(param, options) {\n        const requestContextPromise = this.requestFactory.aggregateCIAppPipelineEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.aggregateCIAppPipelineEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/).\n     *\n     * Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.\n     * @param param The request object\n     */\n    createCIAppPipelineEvent(param, options) {\n        const requestContextPromise = this.requestFactory.createCIAppPipelineEvent(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createCIAppPipelineEvent(responseContext);\n            });\n        });\n    }\n    /**\n     * List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to see your latest pipeline events.\n     * @param param The request object\n     */\n    listCIAppPipelineEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listCIAppPipelineEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listCIAppPipelineEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listCIAppPipelineEvents returning a generator with all the items.\n     */\n    listCIAppPipelineEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listCIAppPipelineEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listCIAppPipelineEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listCIAppPipelineEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to build complex events filtering and search.\n     * @param param The request object\n     */\n    searchCIAppPipelineEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchCIAppPipelineEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchCIAppPipelineEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchCIAppPipelineEvents returning a generator with all the items.\n     */\n    searchCIAppPipelineEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* searchCIAppPipelineEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new CIAppQueryPageOptions_1.CIAppQueryPageOptions();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchCIAppPipelineEvents(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchCIAppPipelineEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.CIVisibilityPipelinesApi = CIVisibilityPipelinesApi;\n//# sourceMappingURL=CIVisibilityPipelinesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIVisibilityTestsApi = exports.CIVisibilityTestsApiResponseProcessor = exports.CIVisibilityTestsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst CIAppQueryPageOptions_1 = require(\"../models/CIAppQueryPageOptions\");\nconst CIAppTestEventsRequest_1 = require(\"../models/CIAppTestEventsRequest\");\nclass CIVisibilityTestsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    aggregateCIAppTestEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"aggregateCIAppTestEvents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/ci/tests/analytics/aggregate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityTestsApi.aggregateCIAppTestEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CIAppTestsAggregateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listCIAppTestEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/ci/tests/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityTestsApi.listCIAppTestEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"CIAppSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchCIAppTestEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/ci/tests/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CIVisibilityTestsApi.searchCIAppTestEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CIAppTestEventsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.CIVisibilityTestsApiRequestFactory = CIVisibilityTestsApiRequestFactory;\nclass CIVisibilityTestsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to aggregateCIAppTestEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    aggregateCIAppTestEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestsAnalyticsAggregateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestsAnalyticsAggregateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listCIAppTestEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listCIAppTestEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchCIAppTestEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchCIAppTestEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CIAppTestEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.CIVisibilityTestsApiResponseProcessor = CIVisibilityTestsApiResponseProcessor;\nclass CIVisibilityTestsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new CIVisibilityTestsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new CIVisibilityTestsApiResponseProcessor();\n    }\n    /**\n     * The API endpoint to aggregate CI Visibility test events into buckets of computed metrics and timeseries.\n     * @param param The request object\n     */\n    aggregateCIAppTestEvents(param, options) {\n        const requestContextPromise = this.requestFactory.aggregateCIAppTestEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.aggregateCIAppTestEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * List endpoint returns CI Visibility test events that match a [log search query](https://docs.datadoghq.com/logs/explorer/search_syntax/).\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to see your latest test events.\n     * @param param The request object\n     */\n    listCIAppTestEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listCIAppTestEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listCIAppTestEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listCIAppTestEvents returning a generator with all the items.\n     */\n    listCIAppTestEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listCIAppTestEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listCIAppTestEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listCIAppTestEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns CI Visibility test events that match a [log search query](https://docs.datadoghq.com/logs/explorer/search_syntax/).\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to build complex events filtering and search.\n     * @param param The request object\n     */\n    searchCIAppTestEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchCIAppTestEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchCIAppTestEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchCIAppTestEvents returning a generator with all the items.\n     */\n    searchCIAppTestEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* searchCIAppTestEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new CIAppTestEventsRequest_1.CIAppTestEventsRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new CIAppQueryPageOptions_1.CIAppQueryPageOptions();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchCIAppTestEvents(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchCIAppTestEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.CIVisibilityTestsApi = CIVisibilityTestsApi;\n//# sourceMappingURL=CIVisibilityTestsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityApi = exports.CloudWorkloadSecurityApiResponseProcessor = exports.CloudWorkloadSecurityApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass CloudWorkloadSecurityApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createCloudWorkloadSecurityAgentRule(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createCloudWorkloadSecurityAgentRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/cloud_workload_security/agent_rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.createCloudWorkloadSecurityAgentRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CloudWorkloadSecurityAgentRuleCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteCloudWorkloadSecurityAgentRule(agentRuleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'agentRuleId' is not null or undefined\n            if (agentRuleId === null || agentRuleId === undefined) {\n                throw new baseapi_1.RequiredError(\"agentRuleId\", \"deleteCloudWorkloadSecurityAgentRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}\".replace(\"{agent_rule_id}\", encodeURIComponent(String(agentRuleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.deleteCloudWorkloadSecurityAgentRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    downloadCloudWorkloadPolicyFile(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security/cloud_workload/policy/download\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.downloadCloudWorkloadPolicyFile\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/yaml, application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getCloudWorkloadSecurityAgentRule(agentRuleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'agentRuleId' is not null or undefined\n            if (agentRuleId === null || agentRuleId === undefined) {\n                throw new baseapi_1.RequiredError(\"agentRuleId\", \"getCloudWorkloadSecurityAgentRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}\".replace(\"{agent_rule_id}\", encodeURIComponent(String(agentRuleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.getCloudWorkloadSecurityAgentRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listCloudWorkloadSecurityAgentRules(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/cloud_workload_security/agent_rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.listCloudWorkloadSecurityAgentRules\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateCloudWorkloadSecurityAgentRule(agentRuleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'agentRuleId' is not null or undefined\n            if (agentRuleId === null || agentRuleId === undefined) {\n                throw new baseapi_1.RequiredError(\"agentRuleId\", \"updateCloudWorkloadSecurityAgentRule\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateCloudWorkloadSecurityAgentRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}\".replace(\"{agent_rule_id}\", encodeURIComponent(String(agentRuleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudWorkloadSecurityApi.updateCloudWorkloadSecurityAgentRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CloudWorkloadSecurityAgentRuleUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.CloudWorkloadSecurityApiRequestFactory = CloudWorkloadSecurityApiRequestFactory;\nclass CloudWorkloadSecurityApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createCloudWorkloadSecurityAgentRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createCloudWorkloadSecurityAgentRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteCloudWorkloadSecurityAgentRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteCloudWorkloadSecurityAgentRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to downloadCloudWorkloadPolicyFile\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    downloadCloudWorkloadPolicyFile(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = (yield response.getBodyAsFile());\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = (yield response.getBodyAsFile());\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getCloudWorkloadSecurityAgentRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getCloudWorkloadSecurityAgentRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listCloudWorkloadSecurityAgentRules\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listCloudWorkloadSecurityAgentRules(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRulesListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRulesListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateCloudWorkloadSecurityAgentRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateCloudWorkloadSecurityAgentRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudWorkloadSecurityAgentRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.CloudWorkloadSecurityApiResponseProcessor = CloudWorkloadSecurityApiResponseProcessor;\nclass CloudWorkloadSecurityApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new CloudWorkloadSecurityApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new CloudWorkloadSecurityApiResponseProcessor();\n    }\n    /**\n     * Create a new Agent rule with the given parameters.\n     * @param param The request object\n     */\n    createCloudWorkloadSecurityAgentRule(param, options) {\n        const requestContextPromise = this.requestFactory.createCloudWorkloadSecurityAgentRule(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createCloudWorkloadSecurityAgentRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a specific Agent rule.\n     * @param param The request object\n     */\n    deleteCloudWorkloadSecurityAgentRule(param, options) {\n        const requestContextPromise = this.requestFactory.deleteCloudWorkloadSecurityAgentRule(param.agentRuleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteCloudWorkloadSecurityAgentRule(responseContext);\n            });\n        });\n    }\n    /**\n     * The download endpoint generates a Cloud Workload Security policy file from your currently active\n     * Cloud Workload Security rules, and downloads them as a .policy file. This file can then be deployed to\n     * your Agents to update the policy running in your environment.\n     * @param param The request object\n     */\n    downloadCloudWorkloadPolicyFile(options) {\n        const requestContextPromise = this.requestFactory.downloadCloudWorkloadPolicyFile(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.downloadCloudWorkloadPolicyFile(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the details of a specific Agent rule.\n     * @param param The request object\n     */\n    getCloudWorkloadSecurityAgentRule(param, options) {\n        const requestContextPromise = this.requestFactory.getCloudWorkloadSecurityAgentRule(param.agentRuleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getCloudWorkloadSecurityAgentRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of Agent rules.\n     * @param param The request object\n     */\n    listCloudWorkloadSecurityAgentRules(options) {\n        const requestContextPromise = this.requestFactory.listCloudWorkloadSecurityAgentRules(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listCloudWorkloadSecurityAgentRules(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a specific Agent rule.\n     * Returns the Agent rule object when the request is successful.\n     * @param param The request object\n     */\n    updateCloudWorkloadSecurityAgentRule(param, options) {\n        const requestContextPromise = this.requestFactory.updateCloudWorkloadSecurityAgentRule(param.agentRuleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateCloudWorkloadSecurityAgentRule(responseContext);\n            });\n        });\n    }\n}\nexports.CloudWorkloadSecurityApi = CloudWorkloadSecurityApi;\n//# sourceMappingURL=CloudWorkloadSecurityApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareIntegrationApi = exports.CloudflareIntegrationApiResponseProcessor = exports.CloudflareIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass CloudflareIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createCloudflareAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createCloudflareAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/cloudflare/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudflareIntegrationApi.createCloudflareAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CloudflareAccountCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteCloudflareAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteCloudflareAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/cloudflare/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudflareIntegrationApi.deleteCloudflareAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getCloudflareAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"getCloudflareAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/cloudflare/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudflareIntegrationApi.getCloudflareAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listCloudflareAccounts(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/cloudflare/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudflareIntegrationApi.listCloudflareAccounts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateCloudflareAccount(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateCloudflareAccount\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateCloudflareAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/cloudflare/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.CloudflareIntegrationApi.updateCloudflareAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"CloudflareAccountUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.CloudflareIntegrationApiRequestFactory = CloudflareIntegrationApiRequestFactory;\nclass CloudflareIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createCloudflareAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createCloudflareAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteCloudflareAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteCloudflareAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getCloudflareAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getCloudflareAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listCloudflareAccounts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listCloudflareAccounts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateCloudflareAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateCloudflareAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CloudflareAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.CloudflareIntegrationApiResponseProcessor = CloudflareIntegrationApiResponseProcessor;\nclass CloudflareIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new CloudflareIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new CloudflareIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a Cloudflare account.\n     * @param param The request object\n     */\n    createCloudflareAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createCloudflareAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createCloudflareAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Cloudflare account.\n     * @param param The request object\n     */\n    deleteCloudflareAccount(param, options) {\n        const requestContextPromise = this.requestFactory.deleteCloudflareAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteCloudflareAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Cloudflare account.\n     * @param param The request object\n     */\n    getCloudflareAccount(param, options) {\n        const requestContextPromise = this.requestFactory.getCloudflareAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getCloudflareAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * List Cloudflare accounts.\n     * @param param The request object\n     */\n    listCloudflareAccounts(options) {\n        const requestContextPromise = this.requestFactory.listCloudflareAccounts(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listCloudflareAccounts(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Cloudflare account.\n     * @param param The request object\n     */\n    updateCloudflareAccount(param, options) {\n        const requestContextPromise = this.requestFactory.updateCloudflareAccount(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateCloudflareAccount(responseContext);\n            });\n        });\n    }\n}\nexports.CloudflareIntegrationApi = CloudflareIntegrationApi;\n//# sourceMappingURL=CloudflareIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentCloudApi = exports.ConfluentCloudApiResponseProcessor = exports.ConfluentCloudApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ConfluentCloudApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createConfluentAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createConfluentAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.createConfluentAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ConfluentAccountCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createConfluentResource(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"createConfluentResource\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createConfluentResource\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.createConfluentResource\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ConfluentResourceRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteConfluentAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteConfluentAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.deleteConfluentAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteConfluentResource(accountId, resourceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteConfluentResource\");\n            }\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"deleteConfluentResource\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.deleteConfluentResource\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getConfluentAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"getConfluentAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.getConfluentAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getConfluentResource(accountId, resourceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"getConfluentResource\");\n            }\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"getConfluentResource\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.getConfluentResource\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listConfluentAccount(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.listConfluentAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listConfluentResource(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"listConfluentResource\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.listConfluentResource\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateConfluentAccount(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateConfluentAccount\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateConfluentAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.updateConfluentAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ConfluentAccountUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateConfluentResource(accountId, resourceId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateConfluentResource\");\n            }\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"updateConfluentResource\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateConfluentResource\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ConfluentCloudApi.updateConfluentResource\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ConfluentResourceRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ConfluentCloudApiRequestFactory = ConfluentCloudApiRequestFactory;\nclass ConfluentCloudApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createConfluentAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createConfluentAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createConfluentResource\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createConfluentResource(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteConfluentAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteConfluentAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteConfluentResource\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteConfluentResource(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getConfluentAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getConfluentAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getConfluentResource\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getConfluentResource(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listConfluentAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listConfluentAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listConfluentResource\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listConfluentResource(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourcesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourcesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateConfluentAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateConfluentAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateConfluentResource\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateConfluentResource(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ConfluentResourceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ConfluentCloudApiResponseProcessor = ConfluentCloudApiResponseProcessor;\nclass ConfluentCloudApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new ConfluentCloudApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ConfluentCloudApiResponseProcessor();\n    }\n    /**\n     * Create a Confluent account.\n     * @param param The request object\n     */\n    createConfluentAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createConfluentAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createConfluentAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a Confluent resource for the account associated with the provided ID.\n     * @param param The request object\n     */\n    createConfluentResource(param, options) {\n        const requestContextPromise = this.requestFactory.createConfluentResource(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createConfluentResource(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Confluent account with the provided account ID.\n     * @param param The request object\n     */\n    deleteConfluentAccount(param, options) {\n        const requestContextPromise = this.requestFactory.deleteConfluentAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteConfluentAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Confluent resource with the provided resource id for the account associated with the provided account ID.\n     * @param param The request object\n     */\n    deleteConfluentResource(param, options) {\n        const requestContextPromise = this.requestFactory.deleteConfluentResource(param.accountId, param.resourceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteConfluentResource(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the Confluent account with the provided account ID.\n     * @param param The request object\n     */\n    getConfluentAccount(param, options) {\n        const requestContextPromise = this.requestFactory.getConfluentAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getConfluentAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Confluent resource with the provided resource id for the account associated with the provided account ID.\n     * @param param The request object\n     */\n    getConfluentResource(param, options) {\n        const requestContextPromise = this.requestFactory.getConfluentResource(param.accountId, param.resourceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getConfluentResource(responseContext);\n            });\n        });\n    }\n    /**\n     * List Confluent accounts.\n     * @param param The request object\n     */\n    listConfluentAccount(options) {\n        const requestContextPromise = this.requestFactory.listConfluentAccount(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listConfluentAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Confluent resource for the account associated with the provided ID.\n     * @param param The request object\n     */\n    listConfluentResource(param, options) {\n        const requestContextPromise = this.requestFactory.listConfluentResource(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listConfluentResource(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the Confluent account with the provided account ID.\n     * @param param The request object\n     */\n    updateConfluentAccount(param, options) {\n        const requestContextPromise = this.requestFactory.updateConfluentAccount(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateConfluentAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Confluent resource with the provided resource id for the account associated with the provided account ID.\n     * @param param The request object\n     */\n    updateConfluentResource(param, options) {\n        const requestContextPromise = this.requestFactory.updateConfluentResource(param.accountId, param.resourceId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateConfluentResource(responseContext);\n            });\n        });\n    }\n}\nexports.ConfluentCloudApi = ConfluentCloudApi;\n//# sourceMappingURL=ConfluentCloudApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListsApi = exports.DashboardListsApiResponseProcessor = exports.DashboardListsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass DashboardListsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createDashboardListItems(dashboardListId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardListId' is not null or undefined\n            if (dashboardListId === null || dashboardListId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardListId\", \"createDashboardListItems\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createDashboardListItems\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards\".replace(\"{dashboard_list_id}\", encodeURIComponent(String(dashboardListId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DashboardListsApi.createDashboardListItems\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardListAddItemsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteDashboardListItems(dashboardListId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardListId' is not null or undefined\n            if (dashboardListId === null || dashboardListId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardListId\", \"deleteDashboardListItems\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteDashboardListItems\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards\".replace(\"{dashboard_list_id}\", encodeURIComponent(String(dashboardListId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DashboardListsApi.deleteDashboardListItems\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardListDeleteItemsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getDashboardListItems(dashboardListId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardListId' is not null or undefined\n            if (dashboardListId === null || dashboardListId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardListId\", \"getDashboardListItems\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards\".replace(\"{dashboard_list_id}\", encodeURIComponent(String(dashboardListId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DashboardListsApi.getDashboardListItems\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateDashboardListItems(dashboardListId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'dashboardListId' is not null or undefined\n            if (dashboardListId === null || dashboardListId === undefined) {\n                throw new baseapi_1.RequiredError(\"dashboardListId\", \"updateDashboardListItems\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateDashboardListItems\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards\".replace(\"{dashboard_list_id}\", encodeURIComponent(String(dashboardListId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DashboardListsApi.updateDashboardListItems\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DashboardListUpdateItemsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.DashboardListsApiRequestFactory = DashboardListsApiRequestFactory;\nclass DashboardListsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createDashboardListItems\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createDashboardListItems(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListAddItemsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListAddItemsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteDashboardListItems\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteDashboardListItems(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListDeleteItemsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListDeleteItemsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDashboardListItems\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDashboardListItems(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListItems\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListItems\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateDashboardListItems\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateDashboardListItems(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListUpdateItemsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DashboardListUpdateItemsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.DashboardListsApiResponseProcessor = DashboardListsApiResponseProcessor;\nclass DashboardListsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new DashboardListsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new DashboardListsApiResponseProcessor();\n    }\n    /**\n     * Add dashboards to an existing dashboard list.\n     * @param param The request object\n     */\n    createDashboardListItems(param, options) {\n        const requestContextPromise = this.requestFactory.createDashboardListItems(param.dashboardListId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createDashboardListItems(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete dashboards from an existing dashboard list.\n     * @param param The request object\n     */\n    deleteDashboardListItems(param, options) {\n        const requestContextPromise = this.requestFactory.deleteDashboardListItems(param.dashboardListId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteDashboardListItems(responseContext);\n            });\n        });\n    }\n    /**\n     * Fetch the dashboard list’s dashboard definitions.\n     * @param param The request object\n     */\n    getDashboardListItems(param, options) {\n        const requestContextPromise = this.requestFactory.getDashboardListItems(param.dashboardListId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDashboardListItems(responseContext);\n            });\n        });\n    }\n    /**\n     * Update dashboards of an existing dashboard list.\n     * @param param The request object\n     */\n    updateDashboardListItems(param, options) {\n        const requestContextPromise = this.requestFactory.updateDashboardListItems(param.dashboardListId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateDashboardListItems(responseContext);\n            });\n        });\n    }\n}\nexports.DashboardListsApi = DashboardListsApi;\n//# sourceMappingURL=DashboardListsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimesApi = exports.DowntimesApiResponseProcessor = exports.DowntimesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass DowntimesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    cancelDowntime(downtimeId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"cancelDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.cancelDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createDowntime(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/downtime\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.createDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DowntimeCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getDowntime(downtimeId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"getDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.getDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listDowntimes(currentOnly, include, pageOffset, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/downtime\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.listDowntimes\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (currentOnly !== undefined) {\n                requestContext.setQueryParam(\"current_only\", ObjectSerializer_1.ObjectSerializer.serialize(currentOnly, \"boolean\", \"\"));\n            }\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"string\", \"\"));\n            }\n            if (pageOffset !== undefined) {\n                requestContext.setQueryParam(\"page[offset]\", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, \"number\", \"int64\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listMonitorDowntimes(monitorId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'monitorId' is not null or undefined\n            if (monitorId === null || monitorId === undefined) {\n                throw new baseapi_1.RequiredError(\"monitorId\", \"listMonitorDowntimes\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/{monitor_id}/downtime_matches\".replace(\"{monitor_id}\", encodeURIComponent(String(monitorId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.listMonitorDowntimes\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateDowntime(downtimeId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'downtimeId' is not null or undefined\n            if (downtimeId === null || downtimeId === undefined) {\n                throw new baseapi_1.RequiredError(\"downtimeId\", \"updateDowntime\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateDowntime\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/downtime/{downtime_id}\".replace(\"{downtime_id}\", encodeURIComponent(String(downtimeId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.DowntimesApi.updateDowntime\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"DowntimeUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.DowntimesApiRequestFactory = DowntimesApiRequestFactory;\nclass DowntimesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to cancelDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    cancelDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listDowntimes\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listDowntimes(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListDowntimesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListDowntimesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listMonitorDowntimes\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listMonitorDowntimes(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorDowntimeMatchResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorDowntimeMatchResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateDowntime\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateDowntime(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"DowntimeResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.DowntimesApiResponseProcessor = DowntimesApiResponseProcessor;\nclass DowntimesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new DowntimesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new DowntimesApiResponseProcessor();\n    }\n    /**\n     * Cancel a downtime.\n     * @param param The request object\n     */\n    cancelDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.cancelDowntime(param.downtimeId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.cancelDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Schedule a downtime.\n     * @param param The request object\n     */\n    createDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.createDowntime(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Get downtime detail by `downtime_id`.\n     * @param param The request object\n     */\n    getDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.getDowntime(param.downtimeId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getDowntime(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all scheduled downtimes.\n     * @param param The request object\n     */\n    listDowntimes(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listDowntimes(param.currentOnly, param.include, param.pageOffset, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listDowntimes(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listDowntimes returning a generator with all the items.\n     */\n    listDowntimesWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listDowntimesWithPagination_1() {\n            let pageSize = 30;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listDowntimes(param.currentOnly, param.include, param.pageOffset, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listDowntimes(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.pageOffset === undefined) {\n                    param.pageOffset = pageSize;\n                }\n                else {\n                    param.pageOffset = param.pageOffset + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Get all active downtimes for the specified monitor.\n     * @param param The request object\n     */\n    listMonitorDowntimes(param, options) {\n        const requestContextPromise = this.requestFactory.listMonitorDowntimes(param.monitorId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listMonitorDowntimes(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a downtime by `downtime_id`.\n     * @param param The request object\n     */\n    updateDowntime(param, options) {\n        const requestContextPromise = this.requestFactory.updateDowntime(param.downtimeId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateDowntime(responseContext);\n            });\n        });\n    }\n}\nexports.DowntimesApi = DowntimesApi;\n//# sourceMappingURL=DowntimesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsApi = exports.EventsApiResponseProcessor = exports.EventsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst EventsListRequest_1 = require(\"../models/EventsListRequest\");\nconst EventsRequestPage_1 = require(\"../models/EventsRequestPage\");\nclass EventsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    listEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listEvents'\");\n            if (!_config.unstableOperations[\"v2.listEvents\"]) {\n                throw new Error(\"Unstable operation 'listEvents' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.EventsApi.listEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"string\", \"\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"string\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"EventsSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'searchEvents'\");\n            if (!_config.unstableOperations[\"v2.searchEvents\"]) {\n                throw new Error(\"Unstable operation 'searchEvents' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.EventsApi.searchEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"EventsListRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.EventsApiRequestFactory = EventsApiRequestFactory;\nclass EventsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"EventsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.EventsApiResponseProcessor = EventsApiResponseProcessor;\nclass EventsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new EventsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new EventsApiResponseProcessor();\n    }\n    /**\n     * List endpoint returns events that match an events search query.\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to see your latest events.\n     * @param param The request object\n     */\n    listEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listEvents returning a generator with all the items.\n     */\n    listEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns events that match an events search query.\n     * [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).\n     *\n     * Use this endpoint to build complex events filtering and search.\n     * @param param The request object\n     */\n    searchEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchEvents returning a generator with all the items.\n     */\n    searchEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* searchEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new EventsListRequest_1.EventsListRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new EventsRequestPage_1.EventsRequestPage();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchEvents(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.EventsApi = EventsApi;\n//# sourceMappingURL=EventsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyIntegrationApi = exports.FastlyIntegrationApiResponseProcessor = exports.FastlyIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass FastlyIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createFastlyAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createFastlyAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.createFastlyAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"FastlyAccountCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createFastlyService(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"createFastlyService\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createFastlyService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}/services\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.createFastlyService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"FastlyServiceRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteFastlyAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteFastlyAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.deleteFastlyAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteFastlyService(accountId, serviceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteFastlyService\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"deleteFastlyService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.deleteFastlyService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getFastlyAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"getFastlyAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.getFastlyAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getFastlyService(accountId, serviceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"getFastlyService\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"getFastlyService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.getFastlyService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listFastlyAccounts(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.listFastlyAccounts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listFastlyServices(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"listFastlyServices\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}/services\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.listFastlyServices\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateFastlyAccount(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateFastlyAccount\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateFastlyAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.updateFastlyAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"FastlyAccountUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateFastlyService(accountId, serviceId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateFastlyService\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"updateFastlyService\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateFastlyService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}\"\n                .replace(\"{account_id}\", encodeURIComponent(String(accountId)))\n                .replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.FastlyIntegrationApi.updateFastlyService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"FastlyServiceRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.FastlyIntegrationApiRequestFactory = FastlyIntegrationApiRequestFactory;\nclass FastlyIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createFastlyAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createFastlyAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createFastlyService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createFastlyService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteFastlyAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteFastlyAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteFastlyService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteFastlyService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getFastlyAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getFastlyAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getFastlyService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getFastlyService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listFastlyAccounts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listFastlyAccounts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listFastlyServices\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listFastlyServices(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServicesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServicesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateFastlyAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateFastlyAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateFastlyService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateFastlyService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"FastlyServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.FastlyIntegrationApiResponseProcessor = FastlyIntegrationApiResponseProcessor;\nclass FastlyIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new FastlyIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new FastlyIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a Fastly account.\n     * @param param The request object\n     */\n    createFastlyAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createFastlyAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createFastlyAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a Fastly service for an account.\n     * @param param The request object\n     */\n    createFastlyService(param, options) {\n        const requestContextPromise = this.requestFactory.createFastlyService(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createFastlyService(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Fastly account.\n     * @param param The request object\n     */\n    deleteFastlyAccount(param, options) {\n        const requestContextPromise = this.requestFactory.deleteFastlyAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteFastlyAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a Fastly service for an account.\n     * @param param The request object\n     */\n    deleteFastlyService(param, options) {\n        const requestContextPromise = this.requestFactory.deleteFastlyService(param.accountId, param.serviceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteFastlyService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Fastly account.\n     * @param param The request object\n     */\n    getFastlyAccount(param, options) {\n        const requestContextPromise = this.requestFactory.getFastlyAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getFastlyAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a Fastly service for an account.\n     * @param param The request object\n     */\n    getFastlyService(param, options) {\n        const requestContextPromise = this.requestFactory.getFastlyService(param.accountId, param.serviceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getFastlyService(responseContext);\n            });\n        });\n    }\n    /**\n     * List Fastly accounts.\n     * @param param The request object\n     */\n    listFastlyAccounts(options) {\n        const requestContextPromise = this.requestFactory.listFastlyAccounts(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listFastlyAccounts(responseContext);\n            });\n        });\n    }\n    /**\n     * List Fastly services for an account.\n     * @param param The request object\n     */\n    listFastlyServices(param, options) {\n        const requestContextPromise = this.requestFactory.listFastlyServices(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listFastlyServices(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Fastly account.\n     * @param param The request object\n     */\n    updateFastlyAccount(param, options) {\n        const requestContextPromise = this.requestFactory.updateFastlyAccount(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateFastlyAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a Fastly service for an account.\n     * @param param The request object\n     */\n    updateFastlyService(param, options) {\n        const requestContextPromise = this.requestFactory.updateFastlyService(param.accountId, param.serviceId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateFastlyService(responseContext);\n            });\n        });\n    }\n}\nexports.FastlyIntegrationApi = FastlyIntegrationApi;\n//# sourceMappingURL=FastlyIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPIntegrationApi = exports.GCPIntegrationApiResponseProcessor = exports.GCPIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass GCPIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createGCPSTSAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createGCPSTSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.createGCPSTSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"GCPSTSServiceAccountCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteGCPSTSAccount(accountId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"deleteGCPSTSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.deleteGCPSTSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getGCPSTSDelegate(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/sts_delegate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.getGCPSTSDelegate\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listGCPSTSAccounts(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.listGCPSTSAccounts\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    makeGCPSTSDelegate(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/sts_delegate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.makeGCPSTSDelegate\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"any\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateGCPSTSAccount(accountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'accountId' is not null or undefined\n            if (accountId === null || accountId === undefined) {\n                throw new baseapi_1.RequiredError(\"accountId\", \"updateGCPSTSAccount\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateGCPSTSAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/gcp/accounts/{account_id}\".replace(\"{account_id}\", encodeURIComponent(String(accountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.GCPIntegrationApi.updateGCPSTSAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"GCPSTSServiceAccountUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.GCPIntegrationApiRequestFactory = GCPIntegrationApiRequestFactory;\nclass GCPIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createGCPSTSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createGCPSTSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteGCPSTSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteGCPSTSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getGCPSTSDelegate\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getGCPSTSDelegate(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSDelegateAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSDelegateAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listGCPSTSAccounts\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listGCPSTSAccounts(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to makeGCPSTSDelegate\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    makeGCPSTSDelegate(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSDelegateAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSDelegateAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateGCPSTSAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateGCPSTSAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GCPSTSServiceAccountResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.GCPIntegrationApiResponseProcessor = GCPIntegrationApiResponseProcessor;\nclass GCPIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new GCPIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new GCPIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a new entry within Datadog for your STS enabled service account.\n     * @param param The request object\n     */\n    createGCPSTSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createGCPSTSAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createGCPSTSAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an STS enabled GCP account from within Datadog.\n     * @param param The request object\n     */\n    deleteGCPSTSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.deleteGCPSTSAccount(param.accountId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteGCPSTSAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * List your Datadog-GCP STS delegate account configured in your Datadog account.\n     * @param param The request object\n     */\n    getGCPSTSDelegate(options) {\n        const requestContextPromise = this.requestFactory.getGCPSTSDelegate(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getGCPSTSDelegate(responseContext);\n            });\n        });\n    }\n    /**\n     * List all GCP STS-enabled service accounts configured in your Datadog account.\n     * @param param The request object\n     */\n    listGCPSTSAccounts(options) {\n        const requestContextPromise = this.requestFactory.listGCPSTSAccounts(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listGCPSTSAccounts(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a Datadog GCP principal.\n     * @param param The request object\n     */\n    makeGCPSTSDelegate(param = {}, options) {\n        const requestContextPromise = this.requestFactory.makeGCPSTSDelegate(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.makeGCPSTSDelegate(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an STS enabled service account.\n     * @param param The request object\n     */\n    updateGCPSTSAccount(param, options) {\n        const requestContextPromise = this.requestFactory.updateGCPSTSAccount(param.accountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateGCPSTSAccount(responseContext);\n            });\n        });\n    }\n}\nexports.GCPIntegrationApi = GCPIntegrationApi;\n//# sourceMappingURL=GCPIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistApi = exports.IPAllowlistApiResponseProcessor = exports.IPAllowlistApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass IPAllowlistApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getIPAllowlist(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/ip_allowlist\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IPAllowlistApi.getIPAllowlist\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIPAllowlist(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIPAllowlist\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/ip_allowlist\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IPAllowlistApi.updateIPAllowlist\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IPAllowlistUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.IPAllowlistApiRequestFactory = IPAllowlistApiRequestFactory;\nclass IPAllowlistApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIPAllowlist\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIPAllowlist(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPAllowlistResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPAllowlistResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIPAllowlist\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIPAllowlist(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPAllowlistResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IPAllowlistResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.IPAllowlistApiResponseProcessor = IPAllowlistApiResponseProcessor;\nclass IPAllowlistApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new IPAllowlistApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new IPAllowlistApiResponseProcessor();\n    }\n    /**\n     * Returns the IP allowlist and its enabled or disabled state.\n     * @param param The request object\n     */\n    getIPAllowlist(options) {\n        const requestContextPromise = this.requestFactory.getIPAllowlist(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIPAllowlist(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit the entries in the IP allowlist, and enable or disable it.\n     * @param param The request object\n     */\n    updateIPAllowlist(param, options) {\n        const requestContextPromise = this.requestFactory.updateIPAllowlist(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIPAllowlist(responseContext);\n            });\n        });\n    }\n}\nexports.IPAllowlistApi = IPAllowlistApi;\n//# sourceMappingURL=IPAllowlistApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServicesApi = exports.IncidentServicesApiResponseProcessor = exports.IncidentServicesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass IncidentServicesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createIncidentService(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createIncidentService'\");\n            if (!_config.unstableOperations[\"v2.createIncidentService\"]) {\n                throw new Error(\"Unstable operation 'createIncidentService' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createIncidentService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentServicesApi.createIncidentService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentServiceCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteIncidentService(serviceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'deleteIncidentService'\");\n            if (!_config.unstableOperations[\"v2.deleteIncidentService\"]) {\n                throw new Error(\"Unstable operation 'deleteIncidentService' is disabled\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"deleteIncidentService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/{service_id}\".replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentServicesApi.deleteIncidentService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncidentService(serviceId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getIncidentService'\");\n            if (!_config.unstableOperations[\"v2.getIncidentService\"]) {\n                throw new Error(\"Unstable operation 'getIncidentService' is disabled\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"getIncidentService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/{service_id}\".replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentServicesApi.getIncidentService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"IncidentRelatedObject\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidentServices(include, pageSize, pageOffset, filter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidentServices'\");\n            if (!_config.unstableOperations[\"v2.listIncidentServices\"]) {\n                throw new Error(\"Unstable operation 'listIncidentServices' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentServicesApi.listIncidentServices\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"IncidentRelatedObject\", \"\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageOffset !== undefined) {\n                requestContext.setQueryParam(\"page[offset]\", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, \"number\", \"int64\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncidentService(serviceId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncidentService'\");\n            if (!_config.unstableOperations[\"v2.updateIncidentService\"]) {\n                throw new Error(\"Unstable operation 'updateIncidentService' is disabled\");\n            }\n            // verify required parameter 'serviceId' is not null or undefined\n            if (serviceId === null || serviceId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceId\", \"updateIncidentService\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncidentService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/{service_id}\".replace(\"{service_id}\", encodeURIComponent(String(serviceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentServicesApi.updateIncidentService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentServiceUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.IncidentServicesApiRequestFactory = IncidentServicesApiRequestFactory;\nclass IncidentServicesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createIncidentService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createIncidentService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteIncidentService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteIncidentService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncidentService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncidentService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidentServices\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidentServices(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServicesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServicesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncidentService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncidentService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.IncidentServicesApiResponseProcessor = IncidentServicesApiResponseProcessor;\nclass IncidentServicesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new IncidentServicesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new IncidentServicesApiResponseProcessor();\n    }\n    /**\n     * Creates a new incident service.\n     * @param param The request object\n     */\n    createIncidentService(param, options) {\n        const requestContextPromise = this.requestFactory.createIncidentService(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createIncidentService(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes an existing incident service.\n     * @param param The request object\n     */\n    deleteIncidentService(param, options) {\n        const requestContextPromise = this.requestFactory.deleteIncidentService(param.serviceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteIncidentService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get details of an incident service. If the `include[users]` query parameter is provided,\n     * the included attribute will contain the users related to these incident services.\n     * @param param The request object\n     */\n    getIncidentService(param, options) {\n        const requestContextPromise = this.requestFactory.getIncidentService(param.serviceId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncidentService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all incident services uploaded for the requesting user's organization. If the `include[users]` query parameter is provided, the included attribute will contain the users related to these incident services.\n     * @param param The request object\n     */\n    listIncidentServices(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listIncidentServices(param.include, param.pageSize, param.pageOffset, param.filter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidentServices(responseContext);\n            });\n        });\n    }\n    /**\n     * Updates an existing incident service. Only provide the attributes which should be updated as this request is a partial update.\n     * @param param The request object\n     */\n    updateIncidentService(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncidentService(param.serviceId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncidentService(responseContext);\n            });\n        });\n    }\n}\nexports.IncidentServicesApi = IncidentServicesApi;\n//# sourceMappingURL=IncidentServicesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamsApi = exports.IncidentTeamsApiResponseProcessor = exports.IncidentTeamsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass IncidentTeamsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createIncidentTeam(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createIncidentTeam'\");\n            if (!_config.unstableOperations[\"v2.createIncidentTeam\"]) {\n                throw new Error(\"Unstable operation 'createIncidentTeam' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createIncidentTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/teams\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentTeamsApi.createIncidentTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentTeamCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteIncidentTeam(teamId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'deleteIncidentTeam'\");\n            if (!_config.unstableOperations[\"v2.deleteIncidentTeam\"]) {\n                throw new Error(\"Unstable operation 'deleteIncidentTeam' is disabled\");\n            }\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"deleteIncidentTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/teams/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentTeamsApi.deleteIncidentTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncidentTeam(teamId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getIncidentTeam'\");\n            if (!_config.unstableOperations[\"v2.getIncidentTeam\"]) {\n                throw new Error(\"Unstable operation 'getIncidentTeam' is disabled\");\n            }\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getIncidentTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/teams/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentTeamsApi.getIncidentTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"IncidentRelatedObject\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidentTeams(include, pageSize, pageOffset, filter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidentTeams'\");\n            if (!_config.unstableOperations[\"v2.listIncidentTeams\"]) {\n                throw new Error(\"Unstable operation 'listIncidentTeams' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/teams\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentTeamsApi.listIncidentTeams\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"IncidentRelatedObject\", \"\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageOffset !== undefined) {\n                requestContext.setQueryParam(\"page[offset]\", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, \"number\", \"int64\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncidentTeam(teamId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncidentTeam'\");\n            if (!_config.unstableOperations[\"v2.updateIncidentTeam\"]) {\n                throw new Error(\"Unstable operation 'updateIncidentTeam' is disabled\");\n            }\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"updateIncidentTeam\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncidentTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/teams/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentTeamsApi.updateIncidentTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentTeamUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.IncidentTeamsApiRequestFactory = IncidentTeamsApiRequestFactory;\nclass IncidentTeamsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createIncidentTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createIncidentTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteIncidentTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteIncidentTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncidentTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncidentTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidentTeams\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidentTeams(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncidentTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncidentTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.IncidentTeamsApiResponseProcessor = IncidentTeamsApiResponseProcessor;\nclass IncidentTeamsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new IncidentTeamsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new IncidentTeamsApiResponseProcessor();\n    }\n    /**\n     * Creates a new incident team.\n     * @param param The request object\n     */\n    createIncidentTeam(param, options) {\n        const requestContextPromise = this.requestFactory.createIncidentTeam(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createIncidentTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes an existing incident team.\n     * @param param The request object\n     */\n    deleteIncidentTeam(param, options) {\n        const requestContextPromise = this.requestFactory.deleteIncidentTeam(param.teamId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteIncidentTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Get details of an incident team. If the `include[users]` query parameter is provided,\n     * the included attribute will contain the users related to these incident teams.\n     * @param param The request object\n     */\n    getIncidentTeam(param, options) {\n        const requestContextPromise = this.requestFactory.getIncidentTeam(param.teamId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncidentTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all incident teams for the requesting user's organization. If the `include[users]` query parameter is provided, the included attribute will contain the users related to these incident teams.\n     * @param param The request object\n     */\n    listIncidentTeams(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listIncidentTeams(param.include, param.pageSize, param.pageOffset, param.filter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidentTeams(responseContext);\n            });\n        });\n    }\n    /**\n     * Updates an existing incident team. Only provide the attributes which should be updated as this request is a partial update.\n     * @param param The request object\n     */\n    updateIncidentTeam(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncidentTeam(param.teamId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncidentTeam(responseContext);\n            });\n        });\n    }\n}\nexports.IncidentTeamsApi = IncidentTeamsApi;\n//# sourceMappingURL=IncidentTeamsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentsApi = exports.IncidentsApiResponseProcessor = exports.IncidentsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass IncidentsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createIncident(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createIncident'\");\n            if (!_config.unstableOperations[\"v2.createIncident\"]) {\n                throw new Error(\"Unstable operation 'createIncident' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createIncident\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.createIncident\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createIncidentIntegration(incidentId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createIncidentIntegration'\");\n            if (!_config.unstableOperations[\"v2.createIncidentIntegration\"]) {\n                throw new Error(\"Unstable operation 'createIncidentIntegration' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"createIncidentIntegration\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createIncidentIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/integrations\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.createIncidentIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentIntegrationMetadataCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createIncidentTodo(incidentId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'createIncidentTodo'\");\n            if (!_config.unstableOperations[\"v2.createIncidentTodo\"]) {\n                throw new Error(\"Unstable operation 'createIncidentTodo' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"createIncidentTodo\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createIncidentTodo\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/todos\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.createIncidentTodo\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentTodoCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteIncident(incidentId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'deleteIncident'\");\n            if (!_config.unstableOperations[\"v2.deleteIncident\"]) {\n                throw new Error(\"Unstable operation 'deleteIncident' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"deleteIncident\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.deleteIncident\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteIncidentIntegration(incidentId, integrationMetadataId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'deleteIncidentIntegration'\");\n            if (!_config.unstableOperations[\"v2.deleteIncidentIntegration\"]) {\n                throw new Error(\"Unstable operation 'deleteIncidentIntegration' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"deleteIncidentIntegration\");\n            }\n            // verify required parameter 'integrationMetadataId' is not null or undefined\n            if (integrationMetadataId === null || integrationMetadataId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationMetadataId\", \"deleteIncidentIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{integration_metadata_id}\", encodeURIComponent(String(integrationMetadataId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.deleteIncidentIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteIncidentTodo(incidentId, todoId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'deleteIncidentTodo'\");\n            if (!_config.unstableOperations[\"v2.deleteIncidentTodo\"]) {\n                throw new Error(\"Unstable operation 'deleteIncidentTodo' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"deleteIncidentTodo\");\n            }\n            // verify required parameter 'todoId' is not null or undefined\n            if (todoId === null || todoId === undefined) {\n                throw new baseapi_1.RequiredError(\"todoId\", \"deleteIncidentTodo\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{todo_id}\", encodeURIComponent(String(todoId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.deleteIncidentTodo\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncident(incidentId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getIncident'\");\n            if (!_config.unstableOperations[\"v2.getIncident\"]) {\n                throw new Error(\"Unstable operation 'getIncident' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"getIncident\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.getIncident\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncidentIntegration(incidentId, integrationMetadataId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getIncidentIntegration'\");\n            if (!_config.unstableOperations[\"v2.getIncidentIntegration\"]) {\n                throw new Error(\"Unstable operation 'getIncidentIntegration' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"getIncidentIntegration\");\n            }\n            // verify required parameter 'integrationMetadataId' is not null or undefined\n            if (integrationMetadataId === null || integrationMetadataId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationMetadataId\", \"getIncidentIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{integration_metadata_id}\", encodeURIComponent(String(integrationMetadataId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.getIncidentIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getIncidentTodo(incidentId, todoId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getIncidentTodo'\");\n            if (!_config.unstableOperations[\"v2.getIncidentTodo\"]) {\n                throw new Error(\"Unstable operation 'getIncidentTodo' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"getIncidentTodo\");\n            }\n            // verify required parameter 'todoId' is not null or undefined\n            if (todoId === null || todoId === undefined) {\n                throw new baseapi_1.RequiredError(\"todoId\", \"getIncidentTodo\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{todo_id}\", encodeURIComponent(String(todoId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.getIncidentTodo\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidentAttachments(incidentId, include, filterAttachmentType, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidentAttachments'\");\n            if (!_config.unstableOperations[\"v2.listIncidentAttachments\"]) {\n                throw new Error(\"Unstable operation 'listIncidentAttachments' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"listIncidentAttachments\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/attachments\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.listIncidentAttachments\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            if (filterAttachmentType !== undefined) {\n                requestContext.setQueryParam(\"filter[attachment_type]\", ObjectSerializer_1.ObjectSerializer.serialize(filterAttachmentType, \"Array\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidentIntegrations(incidentId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidentIntegrations'\");\n            if (!_config.unstableOperations[\"v2.listIncidentIntegrations\"]) {\n                throw new Error(\"Unstable operation 'listIncidentIntegrations' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"listIncidentIntegrations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/integrations\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.listIncidentIntegrations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidents(include, pageSize, pageOffset, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidents'\");\n            if (!_config.unstableOperations[\"v2.listIncidents\"]) {\n                throw new Error(\"Unstable operation 'listIncidents' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.listIncidents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageOffset !== undefined) {\n                requestContext.setQueryParam(\"page[offset]\", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listIncidentTodos(incidentId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listIncidentTodos'\");\n            if (!_config.unstableOperations[\"v2.listIncidentTodos\"]) {\n                throw new Error(\"Unstable operation 'listIncidentTodos' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"listIncidentTodos\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/todos\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.listIncidentTodos\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchIncidents(query, include, sort, pageSize, pageOffset, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'searchIncidents'\");\n            if (!_config.unstableOperations[\"v2.searchIncidents\"]) {\n                throw new Error(\"Unstable operation 'searchIncidents' is disabled\");\n            }\n            // verify required parameter 'query' is not null or undefined\n            if (query === null || query === undefined) {\n                throw new baseapi_1.RequiredError(\"query\", \"searchIncidents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.searchIncidents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"IncidentRelatedObject\", \"\"));\n            }\n            if (query !== undefined) {\n                requestContext.setQueryParam(\"query\", ObjectSerializer_1.ObjectSerializer.serialize(query, \"string\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"IncidentSearchSortOrder\", \"\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageOffset !== undefined) {\n                requestContext.setQueryParam(\"page[offset]\", ObjectSerializer_1.ObjectSerializer.serialize(pageOffset, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncident(incidentId, body, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncident'\");\n            if (!_config.unstableOperations[\"v2.updateIncident\"]) {\n                throw new Error(\"Unstable operation 'updateIncident' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"updateIncident\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncident\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.updateIncident\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncidentAttachments(incidentId, body, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncidentAttachments'\");\n            if (!_config.unstableOperations[\"v2.updateIncidentAttachments\"]) {\n                throw new Error(\"Unstable operation 'updateIncidentAttachments' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"updateIncidentAttachments\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncidentAttachments\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/attachments\".replace(\"{incident_id}\", encodeURIComponent(String(incidentId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.updateIncidentAttachments\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentAttachmentUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncidentIntegration(incidentId, integrationMetadataId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncidentIntegration'\");\n            if (!_config.unstableOperations[\"v2.updateIncidentIntegration\"]) {\n                throw new Error(\"Unstable operation 'updateIncidentIntegration' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"updateIncidentIntegration\");\n            }\n            // verify required parameter 'integrationMetadataId' is not null or undefined\n            if (integrationMetadataId === null || integrationMetadataId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationMetadataId\", \"updateIncidentIntegration\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncidentIntegration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{integration_metadata_id}\", encodeURIComponent(String(integrationMetadataId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.updateIncidentIntegration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentIntegrationMetadataPatchRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateIncidentTodo(incidentId, todoId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateIncidentTodo'\");\n            if (!_config.unstableOperations[\"v2.updateIncidentTodo\"]) {\n                throw new Error(\"Unstable operation 'updateIncidentTodo' is disabled\");\n            }\n            // verify required parameter 'incidentId' is not null or undefined\n            if (incidentId === null || incidentId === undefined) {\n                throw new baseapi_1.RequiredError(\"incidentId\", \"updateIncidentTodo\");\n            }\n            // verify required parameter 'todoId' is not null or undefined\n            if (todoId === null || todoId === undefined) {\n                throw new baseapi_1.RequiredError(\"todoId\", \"updateIncidentTodo\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateIncidentTodo\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}\"\n                .replace(\"{incident_id}\", encodeURIComponent(String(incidentId)))\n                .replace(\"{todo_id}\", encodeURIComponent(String(todoId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.IncidentsApi.updateIncidentTodo\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"IncidentTodoPatchRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.IncidentsApiRequestFactory = IncidentsApiRequestFactory;\nclass IncidentsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createIncident\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createIncident(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createIncidentIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createIncidentIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createIncidentTodo\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createIncidentTodo(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteIncident\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteIncident(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteIncidentIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteIncidentIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteIncidentTodo\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteIncidentTodo(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncident\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncident(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncidentIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncidentIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getIncidentTodo\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getIncidentTodo(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidentAttachments\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidentAttachments(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentAttachmentsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentAttachmentsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidentIntegrations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidentIntegrations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listIncidentTodos\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listIncidentTodos(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchIncidents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchIncidents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentSearchResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentSearchResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncident\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncident(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncidentAttachments\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncidentAttachments(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentAttachmentUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentAttachmentUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncidentIntegration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncidentIntegration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentIntegrationMetadataResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateIncidentTodo\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateIncidentTodo(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IncidentTodoResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.IncidentsApiResponseProcessor = IncidentsApiResponseProcessor;\nclass IncidentsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new IncidentsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new IncidentsApiResponseProcessor();\n    }\n    /**\n     * Create an incident.\n     * @param param The request object\n     */\n    createIncident(param, options) {\n        const requestContextPromise = this.requestFactory.createIncident(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createIncident(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an incident integration metadata.\n     * @param param The request object\n     */\n    createIncidentIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.createIncidentIntegration(param.incidentId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createIncidentIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an incident todo.\n     * @param param The request object\n     */\n    createIncidentTodo(param, options) {\n        const requestContextPromise = this.requestFactory.createIncidentTodo(param.incidentId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createIncidentTodo(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes an existing incident from the users organization.\n     * @param param The request object\n     */\n    deleteIncident(param, options) {\n        const requestContextPromise = this.requestFactory.deleteIncident(param.incidentId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteIncident(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an incident integration metadata.\n     * @param param The request object\n     */\n    deleteIncidentIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteIncidentIntegration(param.incidentId, param.integrationMetadataId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteIncidentIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an incident todo.\n     * @param param The request object\n     */\n    deleteIncidentTodo(param, options) {\n        const requestContextPromise = this.requestFactory.deleteIncidentTodo(param.incidentId, param.todoId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteIncidentTodo(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the details of an incident by `incident_id`.\n     * @param param The request object\n     */\n    getIncident(param, options) {\n        const requestContextPromise = this.requestFactory.getIncident(param.incidentId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncident(responseContext);\n            });\n        });\n    }\n    /**\n     * Get incident integration metadata details.\n     * @param param The request object\n     */\n    getIncidentIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.getIncidentIntegration(param.incidentId, param.integrationMetadataId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncidentIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Get incident todo details.\n     * @param param The request object\n     */\n    getIncidentTodo(param, options) {\n        const requestContextPromise = this.requestFactory.getIncidentTodo(param.incidentId, param.todoId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getIncidentTodo(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all attachments for a given incident.\n     * @param param The request object\n     */\n    listIncidentAttachments(param, options) {\n        const requestContextPromise = this.requestFactory.listIncidentAttachments(param.incidentId, param.include, param.filterAttachmentType, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidentAttachments(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all integration metadata for an incident.\n     * @param param The request object\n     */\n    listIncidentIntegrations(param, options) {\n        const requestContextPromise = this.requestFactory.listIncidentIntegrations(param.incidentId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidentIntegrations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all incidents for the user's organization.\n     * @param param The request object\n     */\n    listIncidents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listIncidents(param.include, param.pageSize, param.pageOffset, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listIncidents returning a generator with all the items.\n     */\n    listIncidentsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listIncidentsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listIncidents(param.include, param.pageSize, param.pageOffset, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listIncidents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.pageOffset === undefined) {\n                    param.pageOffset = pageSize;\n                }\n                else {\n                    param.pageOffset = param.pageOffset + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Get all todos for an incident.\n     * @param param The request object\n     */\n    listIncidentTodos(param, options) {\n        const requestContextPromise = this.requestFactory.listIncidentTodos(param.incidentId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listIncidentTodos(responseContext);\n            });\n        });\n    }\n    /**\n     * Search for incidents matching a certain query.\n     * @param param The request object\n     */\n    searchIncidents(param, options) {\n        const requestContextPromise = this.requestFactory.searchIncidents(param.query, param.include, param.sort, param.pageSize, param.pageOffset, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchIncidents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchIncidents returning a generator with all the items.\n     */\n    searchIncidentsWithPagination(param, options) {\n        return __asyncGenerator(this, arguments, function* searchIncidentsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchIncidents(param.query, param.include, param.sort, param.pageSize, param.pageOffset, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchIncidents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const responseDataAttributes = responseData.attributes;\n                if (responseDataAttributes === undefined) {\n                    break;\n                }\n                const responseDataAttributesIncidents = responseDataAttributes.incidents;\n                if (responseDataAttributesIncidents === undefined) {\n                    break;\n                }\n                const results = responseDataAttributesIncidents;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.pageOffset === undefined) {\n                    param.pageOffset = pageSize;\n                }\n                else {\n                    param.pageOffset = param.pageOffset + pageSize;\n                }\n            }\n        });\n    }\n    /**\n     * Updates an incident. Provide only the attributes that should be updated as this request is a partial update.\n     * @param param The request object\n     */\n    updateIncident(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncident(param.incidentId, param.body, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncident(responseContext);\n            });\n        });\n    }\n    /**\n     * The bulk update endpoint for creating, updating, and deleting attachments for a given incident.\n     * @param param The request object\n     */\n    updateIncidentAttachments(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncidentAttachments(param.incidentId, param.body, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncidentAttachments(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an existing incident integration metadata.\n     * @param param The request object\n     */\n    updateIncidentIntegration(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncidentIntegration(param.incidentId, param.integrationMetadataId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncidentIntegration(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an incident todo.\n     * @param param The request object\n     */\n    updateIncidentTodo(param, options) {\n        const requestContextPromise = this.requestFactory.updateIncidentTodo(param.incidentId, param.todoId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateIncidentTodo(responseContext);\n            });\n        });\n    }\n}\nexports.IncidentsApi = IncidentsApi;\n//# sourceMappingURL=IncidentsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyManagementApi = exports.KeyManagementApiResponseProcessor = exports.KeyManagementApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass KeyManagementApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createAPIKey(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/api_keys\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.createAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"APIKeyCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createCurrentUserApplicationKey(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createCurrentUserApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/current_user/application_keys\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.createCurrentUserApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKeyCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteAPIKey(apiKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'apiKeyId' is not null or undefined\n            if (apiKeyId === null || apiKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"apiKeyId\", \"deleteAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/api_keys/{api_key_id}\".replace(\"{api_key_id}\", encodeURIComponent(String(apiKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.deleteAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteApplicationKey(appKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"deleteApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.deleteApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteCurrentUserApplicationKey(appKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"deleteCurrentUserApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/current_user/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.deleteCurrentUserApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getAPIKey(apiKeyId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'apiKeyId' is not null or undefined\n            if (apiKeyId === null || apiKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"apiKeyId\", \"getAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/api_keys/{api_key_id}\".replace(\"{api_key_id}\", encodeURIComponent(String(apiKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.getAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getApplicationKey(appKeyId, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"getApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.getApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getCurrentUserApplicationKey(appKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"getCurrentUserApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/current_user/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.getCurrentUserApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listAPIKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, filterModifiedAtStart, filterModifiedAtEnd, include, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/api_keys\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.listAPIKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"APIKeysSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (filterCreatedAtStart !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, \"string\", \"\"));\n            }\n            if (filterCreatedAtEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, \"string\", \"\"));\n            }\n            if (filterModifiedAtStart !== undefined) {\n                requestContext.setQueryParam(\"filter[modified_at][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterModifiedAtStart, \"string\", \"\"));\n            }\n            if (filterModifiedAtEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[modified_at][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterModifiedAtEnd, \"string\", \"\"));\n            }\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listApplicationKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/application_keys\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.listApplicationKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"ApplicationKeysSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (filterCreatedAtStart !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, \"string\", \"\"));\n            }\n            if (filterCreatedAtEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listCurrentUserApplicationKeys(pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/current_user/application_keys\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.listCurrentUserApplicationKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"ApplicationKeysSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (filterCreatedAtStart !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, \"string\", \"\"));\n            }\n            if (filterCreatedAtEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateAPIKey(apiKeyId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'apiKeyId' is not null or undefined\n            if (apiKeyId === null || apiKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"apiKeyId\", \"updateAPIKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateAPIKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/api_keys/{api_key_id}\".replace(\"{api_key_id}\", encodeURIComponent(String(apiKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.updateAPIKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"APIKeyUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateApplicationKey(appKeyId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"updateApplicationKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.updateApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKeyUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateCurrentUserApplicationKey(appKeyId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"updateCurrentUserApplicationKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateCurrentUserApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/current_user/application_keys/{app_key_id}\".replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.KeyManagementApi.updateCurrentUserApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKeyUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.KeyManagementApiRequestFactory = KeyManagementApiRequestFactory;\nclass KeyManagementApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createCurrentUserApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createCurrentUserApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteCurrentUserApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteCurrentUserApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getCurrentUserApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getCurrentUserApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listAPIKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listAPIKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeysResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeysResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listApplicationKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listApplicationKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listCurrentUserApplicationKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listCurrentUserApplicationKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateAPIKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateAPIKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"APIKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateCurrentUserApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateCurrentUserApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.KeyManagementApiResponseProcessor = KeyManagementApiResponseProcessor;\nclass KeyManagementApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new KeyManagementApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new KeyManagementApiResponseProcessor();\n    }\n    /**\n     * Create an API key.\n     * @param param The request object\n     */\n    createAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.createAPIKey(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an application key for current user\n     * @param param The request object\n     */\n    createCurrentUserApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.createCurrentUserApplicationKey(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createCurrentUserApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an API key.\n     * @param param The request object\n     */\n    deleteAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteAPIKey(param.apiKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an application key\n     * @param param The request object\n     */\n    deleteApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteApplicationKey(param.appKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an application key owned by current user\n     * @param param The request object\n     */\n    deleteCurrentUserApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteCurrentUserApplicationKey(param.appKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteCurrentUserApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an API key.\n     * @param param The request object\n     */\n    getAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.getAPIKey(param.apiKeyId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an application key for your org.\n     * @param param The request object\n     */\n    getApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.getApplicationKey(param.appKeyId, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an application key owned by current user\n     * @param param The request object\n     */\n    getCurrentUserApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.getCurrentUserApplicationKey(param.appKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getCurrentUserApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * List all API keys available for your account.\n     * @param param The request object\n     */\n    listAPIKeys(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listAPIKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, param.filterModifiedAtStart, param.filterModifiedAtEnd, param.include, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listAPIKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * List all application keys available for your org\n     * @param param The request object\n     */\n    listApplicationKeys(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listApplicationKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listApplicationKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * List all application keys available for current user\n     * @param param The request object\n     */\n    listCurrentUserApplicationKeys(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listCurrentUserApplicationKeys(param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listCurrentUserApplicationKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an API key.\n     * @param param The request object\n     */\n    updateAPIKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateAPIKey(param.apiKeyId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateAPIKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an application key\n     * @param param The request object\n     */\n    updateApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateApplicationKey(param.appKeyId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an application key owned by current user\n     * @param param The request object\n     */\n    updateCurrentUserApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateCurrentUserApplicationKey(param.appKeyId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateCurrentUserApplicationKey(responseContext);\n            });\n        });\n    }\n}\nexports.KeyManagementApi = KeyManagementApi;\n//# sourceMappingURL=KeyManagementApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsApi = exports.LogsApiResponseProcessor = exports.LogsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst LogsListRequest_1 = require(\"../models/LogsListRequest\");\nconst LogsListRequestPage_1 = require(\"../models/LogsListRequestPage\");\nclass LogsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    aggregateLogs(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"aggregateLogs\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/analytics/aggregate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsApi.aggregateLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsAggregateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogs(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/logs/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsApi.listLogs\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsListRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogsGet(filterQuery, filterIndexes, filterFrom, filterTo, filterStorageTier, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/logs/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsApi.listLogsGet\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterIndexes !== undefined) {\n                requestContext.setQueryParam(\"filter[indexes]\", ObjectSerializer_1.ObjectSerializer.serialize(filterIndexes, \"Array\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (filterStorageTier !== undefined) {\n                requestContext.setQueryParam(\"filter[storage_tier]\", ObjectSerializer_1.ObjectSerializer.serialize(filterStorageTier, \"LogsStorageTier\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"LogsSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    submitLog(body, contentEncoding, ddtags, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitLog\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsApi.submitLog\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (ddtags !== undefined) {\n                requestContext.setQueryParam(\"ddtags\", ObjectSerializer_1.ObjectSerializer.serialize(ddtags, \"string\", \"\"));\n            }\n            // Header Params\n            if (contentEncoding !== undefined) {\n                requestContext.setHeaderParam(\"Content-Encoding\", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, \"ContentEncoding\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n                \"application/logplex-1\",\n                \"text/plain\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"Array\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsApiRequestFactory = LogsApiRequestFactory;\nclass LogsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to aggregateLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    aggregateLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsAggregateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsAggregateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogs\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogs(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogsGet\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogsGet(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitLog\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitLog(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429 ||\n                response.httpStatusCode == 500 ||\n                response.httpStatusCode == 503) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"HTTPLogErrors\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"any\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsApiResponseProcessor = LogsApiResponseProcessor;\nclass LogsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsApiResponseProcessor();\n    }\n    /**\n     * The API endpoint to aggregate events into buckets and compute metrics and timeseries.\n     * @param param The request object\n     */\n    aggregateLogs(param, options) {\n        const requestContextPromise = this.requestFactory.aggregateLogs(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.aggregateLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * List endpoint returns logs that match a log search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to build complex logs filtering and search.\n     *\n     * **If you are considering archiving logs for your organization,\n     * consider use of the Datadog archive capabilities instead of the log list API.\n     * See [Datadog Logs Archive documentation][2].**\n     *\n     * [1]: /logs/guide/collect-multiple-logs-with-pagination\n     * [2]: https://docs.datadoghq.com/logs/archives\n     * @param param The request object\n     */\n    listLogs(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listLogs(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogs(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listLogs returning a generator with all the items.\n     */\n    listLogsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listLogsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new LogsListRequest_1.LogsListRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new LogsListRequestPage_1.LogsListRequestPage();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listLogs(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listLogs(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns logs that match a log search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to see your latest logs.\n     *\n     * **If you are considering archiving logs for your organization,\n     * consider use of the Datadog archive capabilities instead of the log list API.\n     * See [Datadog Logs Archive documentation][2].**\n     *\n     * [1]: /logs/guide/collect-multiple-logs-with-pagination\n     * [2]: https://docs.datadoghq.com/logs/archives\n     * @param param The request object\n     */\n    listLogsGet(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listLogsGet(param.filterQuery, param.filterIndexes, param.filterFrom, param.filterTo, param.filterStorageTier, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogsGet(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listLogsGet returning a generator with all the items.\n     */\n    listLogsGetWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listLogsGetWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listLogsGet(param.filterQuery, param.filterIndexes, param.filterFrom, param.filterTo, param.filterStorageTier, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listLogsGet(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * Send your logs to your Datadog platform over HTTP. Limits per HTTP request are:\n     *\n     * - Maximum content size per payload (uncompressed): 5MB\n     * - Maximum size for a single log: 1MB\n     * - Maximum array size if sending multiple logs in an array: 1000 entries\n     *\n     * Any log exceeding 1MB is accepted and truncated by Datadog:\n     * - For a single log request, the API truncates the log at 1MB and returns a 2xx.\n     * - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx.\n     *\n     * Datadog recommends sending your logs compressed.\n     * Add the `Content-Encoding: gzip` header to the request when sending compressed logs.\n     * Log events can be submitted with a timestamp that is up to 18 hours in the past.\n     *\n     * The status codes answered by the HTTP API are:\n     * - 202: Accepted: the request has been accepted for processing\n     * - 400: Bad request (likely an issue in the payload formatting)\n     * - 401: Unauthorized (likely a missing API Key)\n     * - 403: Permission issue (likely using an invalid API Key)\n     * - 408: Request Timeout, request should be retried after some time\n     * - 413: Payload too large (batch is above 5MB uncompressed)\n     * - 429: Too Many Requests, request should be retried after some time\n     * - 500: Internal Server Error, the server encountered an unexpected condition that prevented it from fulfilling the request, request should be retried after some time\n     * - 503: Service Unavailable, the server is not ready to handle the request probably because it is overloaded, request should be retried after some time\n     * @param param The request object\n     */\n    submitLog(param, options) {\n        const requestContextPromise = this.requestFactory.submitLog(param.body, param.contentEncoding, param.ddtags, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitLog(responseContext);\n            });\n        });\n    }\n}\nexports.LogsApi = LogsApi;\n//# sourceMappingURL=LogsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchivesApi = exports.LogsArchivesApiResponseProcessor = exports.LogsArchivesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass LogsArchivesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    addReadRoleToArchive(archiveId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"addReadRoleToArchive\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"addReadRoleToArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}/readers\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.addReadRoleToArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToRole\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createLogsArchive(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createLogsArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.createLogsArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsArchiveCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteLogsArchive(archiveId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"deleteLogsArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.deleteLogsArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsArchive(archiveId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"getLogsArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.getLogsArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsArchiveOrder(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archive-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.getLogsArchiveOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listArchiveReadRoles(archiveId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"listArchiveReadRoles\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}/readers\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.listArchiveReadRoles\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogsArchives(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.listLogsArchives\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    removeRoleFromArchive(archiveId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"removeRoleFromArchive\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"removeRoleFromArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}/readers\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.removeRoleFromArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToRole\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsArchive(archiveId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'archiveId' is not null or undefined\n            if (archiveId === null || archiveId === undefined) {\n                throw new baseapi_1.RequiredError(\"archiveId\", \"updateLogsArchive\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsArchive\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archives/{archive_id}\".replace(\"{archive_id}\", encodeURIComponent(String(archiveId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.updateLogsArchive\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsArchiveCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsArchiveOrder(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsArchiveOrder\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/archive-order\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsArchivesApi.updateLogsArchiveOrder\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsArchiveOrder\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsArchivesApiRequestFactory = LogsArchivesApiRequestFactory;\nclass LogsArchivesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to addReadRoleToArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    addReadRoleToArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createLogsArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createLogsArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteLogsArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteLogsArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsArchiveOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsArchiveOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchiveOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchiveOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listArchiveReadRoles\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listArchiveReadRoles(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RolesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RolesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogsArchives\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogsArchives(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchives\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchives\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to removeRoleFromArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    removeRoleFromArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsArchive\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsArchive(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchive\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsArchiveOrder\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsArchiveOrder(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchiveOrder\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsArchiveOrder\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsArchivesApiResponseProcessor = LogsArchivesApiResponseProcessor;\nclass LogsArchivesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsArchivesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsArchivesApiResponseProcessor();\n    }\n    /**\n     * Adds a read role to an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/))\n     * @param param The request object\n     */\n    addReadRoleToArchive(param, options) {\n        const requestContextPromise = this.requestFactory.addReadRoleToArchive(param.archiveId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.addReadRoleToArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an archive in your organization.\n     * @param param The request object\n     */\n    createLogsArchive(param, options) {\n        const requestContextPromise = this.requestFactory.createLogsArchive(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createLogsArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given archive from your organization.\n     * @param param The request object\n     */\n    deleteLogsArchive(param, options) {\n        const requestContextPromise = this.requestFactory.deleteLogsArchive(param.archiveId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteLogsArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific archive from your organization.\n     * @param param The request object\n     */\n    getLogsArchive(param, options) {\n        const requestContextPromise = this.requestFactory.getLogsArchive(param.archiveId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the current order of your archives.\n     * This endpoint takes no JSON arguments.\n     * @param param The request object\n     */\n    getLogsArchiveOrder(options) {\n        const requestContextPromise = this.requestFactory.getLogsArchiveOrder(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsArchiveOrder(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns all read roles a given archive is restricted to.\n     * @param param The request object\n     */\n    listArchiveReadRoles(param, options) {\n        const requestContextPromise = this.requestFactory.listArchiveReadRoles(param.archiveId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listArchiveReadRoles(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of configured logs archives with their definitions.\n     * @param param The request object\n     */\n    listLogsArchives(options) {\n        const requestContextPromise = this.requestFactory.listLogsArchives(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogsArchives(responseContext);\n            });\n        });\n    }\n    /**\n     * Removes a role from an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/))\n     * @param param The request object\n     */\n    removeRoleFromArchive(param, options) {\n        const requestContextPromise = this.requestFactory.removeRoleFromArchive(param.archiveId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.removeRoleFromArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a given archive configuration.\n     *\n     * **Note**: Using this method updates your archive configuration by **replacing**\n     * your current configuration with the new one sent to your Datadog organization.\n     * @param param The request object\n     */\n    updateLogsArchive(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsArchive(param.archiveId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsArchive(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the order of your archives. Since logs are processed sequentially, reordering an archive may change\n     * the structure and content of the data processed by other archives.\n     *\n     * **Note**: Using the `PUT` method updates your archive's order by replacing the current order\n     * with the new one.\n     * @param param The request object\n     */\n    updateLogsArchiveOrder(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsArchiveOrder(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsArchiveOrder(responseContext);\n            });\n        });\n    }\n}\nexports.LogsArchivesApi = LogsArchivesApi;\n//# sourceMappingURL=LogsArchivesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricsApi = exports.LogsMetricsApiResponseProcessor = exports.LogsMetricsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass LogsMetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createLogsMetric(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createLogsMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsMetricsApi.createLogsMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsMetricCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteLogsMetric(metricId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"deleteLogsMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsMetricsApi.deleteLogsMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getLogsMetric(metricId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"getLogsMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsMetricsApi.getLogsMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listLogsMetrics(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsMetricsApi.listLogsMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateLogsMetric(metricId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"updateLogsMetric\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateLogsMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/logs/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.LogsMetricsApi.updateLogsMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"LogsMetricUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.LogsMetricsApiRequestFactory = LogsMetricsApiRequestFactory;\nclass LogsMetricsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createLogsMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createLogsMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteLogsMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteLogsMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getLogsMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getLogsMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listLogsMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listLogsMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateLogsMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateLogsMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"LogsMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.LogsMetricsApiResponseProcessor = LogsMetricsApiResponseProcessor;\nclass LogsMetricsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new LogsMetricsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new LogsMetricsApiResponseProcessor();\n    }\n    /**\n     * Create a metric based on your ingested logs in your organization.\n     * Returns the log-based metric object from the request body when the request is successful.\n     * @param param The request object\n     */\n    createLogsMetric(param, options) {\n        const requestContextPromise = this.requestFactory.createLogsMetric(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createLogsMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a specific log-based metric from your organization.\n     * @param param The request object\n     */\n    deleteLogsMetric(param, options) {\n        const requestContextPromise = this.requestFactory.deleteLogsMetric(param.metricId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteLogsMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific log-based metric from your organization.\n     * @param param The request object\n     */\n    getLogsMetric(param, options) {\n        const requestContextPromise = this.requestFactory.getLogsMetric(param.metricId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getLogsMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of configured log-based metrics with their definitions.\n     * @param param The request object\n     */\n    listLogsMetrics(options) {\n        const requestContextPromise = this.requestFactory.listLogsMetrics(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listLogsMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a specific log-based metric from your organization.\n     * Returns the log-based metric object from the request body when the request is successful.\n     * @param param The request object\n     */\n    updateLogsMetric(param, options) {\n        const requestContextPromise = this.requestFactory.updateLogsMetric(param.metricId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateLogsMetric(responseContext);\n            });\n        });\n    }\n}\nexports.LogsMetricsApi = LogsMetricsApi;\n//# sourceMappingURL=LogsMetricsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsApi = exports.MetricsApiResponseProcessor = exports.MetricsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass MetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createBulkTagsMetricsConfiguration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createBulkTagsMetricsConfiguration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/config/bulk-tags\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.createBulkTagsMetricsConfiguration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricBulkTagConfigCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createTagConfiguration(metricName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"createTagConfiguration\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createTagConfiguration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/tags\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.createTagConfiguration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricTagConfigurationCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteBulkTagsMetricsConfiguration(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteBulkTagsMetricsConfiguration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/config/bulk-tags\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.deleteBulkTagsMetricsConfiguration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricBulkTagConfigDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteTagConfiguration(metricName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"deleteTagConfiguration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/tags\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.deleteTagConfiguration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    estimateMetricsOutputSeries(metricName, filterGroups, filterHoursAgo, filterNumAggregations, filterPct, filterTimespanH, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"estimateMetricsOutputSeries\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/estimate\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.estimateMetricsOutputSeries\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterGroups !== undefined) {\n                requestContext.setQueryParam(\"filter[groups]\", ObjectSerializer_1.ObjectSerializer.serialize(filterGroups, \"string\", \"\"));\n            }\n            if (filterHoursAgo !== undefined) {\n                requestContext.setQueryParam(\"filter[hours_ago]\", ObjectSerializer_1.ObjectSerializer.serialize(filterHoursAgo, \"number\", \"int32\"));\n            }\n            if (filterNumAggregations !== undefined) {\n                requestContext.setQueryParam(\"filter[num_aggregations]\", ObjectSerializer_1.ObjectSerializer.serialize(filterNumAggregations, \"number\", \"int32\"));\n            }\n            if (filterPct !== undefined) {\n                requestContext.setQueryParam(\"filter[pct]\", ObjectSerializer_1.ObjectSerializer.serialize(filterPct, \"boolean\", \"\"));\n            }\n            if (filterTimespanH !== undefined) {\n                requestContext.setQueryParam(\"filter[timespan_h]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTimespanH, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listActiveMetricConfigurations(metricName, windowSeconds, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"listActiveMetricConfigurations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/active-configurations\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.listActiveMetricConfigurations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (windowSeconds !== undefined) {\n                requestContext.setQueryParam(\"window[seconds]\", ObjectSerializer_1.ObjectSerializer.serialize(windowSeconds, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listTagConfigurationByName(metricName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"listTagConfigurationByName\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/tags\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.listTagConfigurationByName\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listTagConfigurations(filterConfigured, filterTagsConfigured, filterMetricType, filterIncludePercentiles, filterQueried, filterTags, windowSeconds, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.listTagConfigurations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterConfigured !== undefined) {\n                requestContext.setQueryParam(\"filter[configured]\", ObjectSerializer_1.ObjectSerializer.serialize(filterConfigured, \"boolean\", \"\"));\n            }\n            if (filterTagsConfigured !== undefined) {\n                requestContext.setQueryParam(\"filter[tags_configured]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTagsConfigured, \"string\", \"\"));\n            }\n            if (filterMetricType !== undefined) {\n                requestContext.setQueryParam(\"filter[metric_type]\", ObjectSerializer_1.ObjectSerializer.serialize(filterMetricType, \"MetricTagConfigurationMetricTypes\", \"\"));\n            }\n            if (filterIncludePercentiles !== undefined) {\n                requestContext.setQueryParam(\"filter[include_percentiles]\", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludePercentiles, \"boolean\", \"\"));\n            }\n            if (filterQueried !== undefined) {\n                requestContext.setQueryParam(\"filter[queried]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQueried, \"boolean\", \"\"));\n            }\n            if (filterTags !== undefined) {\n                requestContext.setQueryParam(\"filter[tags]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTags, \"string\", \"\"));\n            }\n            if (windowSeconds !== undefined) {\n                requestContext.setQueryParam(\"window[seconds]\", ObjectSerializer_1.ObjectSerializer.serialize(windowSeconds, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listTagsByMetricName(metricName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"listTagsByMetricName\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/all-tags\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.listTagsByMetricName\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listVolumesByMetricName(metricName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"listVolumesByMetricName\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/volumes\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.listVolumesByMetricName\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    queryScalarData(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'queryScalarData'\");\n            if (!_config.unstableOperations[\"v2.queryScalarData\"]) {\n                throw new Error(\"Unstable operation 'queryScalarData' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"queryScalarData\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/query/scalar\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.queryScalarData\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ScalarFormulaQueryRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    queryTimeseriesData(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'queryTimeseriesData'\");\n            if (!_config.unstableOperations[\"v2.queryTimeseriesData\"]) {\n                throw new Error(\"Unstable operation 'queryTimeseriesData' is disabled\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"queryTimeseriesData\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/query/timeseries\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.queryTimeseriesData\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TimeseriesFormulaQueryRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    submitMetrics(body, contentEncoding, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"submitMetrics\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/series\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.submitMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Header Params\n            if (contentEncoding !== undefined) {\n                requestContext.setHeaderParam(\"Content-Encoding\", ObjectSerializer_1.ObjectSerializer.serialize(contentEncoding, \"MetricContentEncoding\", \"\"));\n            }\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricPayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\"apiKeyAuth\"]);\n            return requestContext;\n        });\n    }\n    updateTagConfiguration(metricName, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricName' is not null or undefined\n            if (metricName === null || metricName === undefined) {\n                throw new baseapi_1.RequiredError(\"metricName\", \"updateTagConfiguration\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTagConfiguration\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/metrics/{metric_name}/tags\".replace(\"{metric_name}\", encodeURIComponent(String(metricName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MetricsApi.updateTagConfiguration\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MetricTagConfigurationUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.MetricsApiRequestFactory = MetricsApiRequestFactory;\nclass MetricsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createBulkTagsMetricsConfiguration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createBulkTagsMetricsConfiguration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricBulkTagConfigResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricBulkTagConfigResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createTagConfiguration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createTagConfiguration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteBulkTagsMetricsConfiguration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteBulkTagsMetricsConfiguration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricBulkTagConfigResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricBulkTagConfigResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteTagConfiguration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteTagConfiguration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to estimateMetricsOutputSeries\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    estimateMetricsOutputSeries(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricEstimateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricEstimateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listActiveMetricConfigurations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listActiveMetricConfigurations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricSuggestedTagsAndAggregationsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricSuggestedTagsAndAggregationsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listTagConfigurationByName\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listTagConfigurationByName(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listTagConfigurations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listTagConfigurations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsAndMetricTagConfigurationsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricsAndMetricTagConfigurationsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listTagsByMetricName\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listTagsByMetricName(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricAllTagsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricAllTagsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listVolumesByMetricName\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listVolumesByMetricName(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricVolumesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricVolumesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to queryScalarData\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    queryScalarData(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ScalarFormulaQueryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ScalarFormulaQueryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to queryTimeseriesData\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    queryTimeseriesData(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TimeseriesFormulaQueryResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TimeseriesFormulaQueryResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to submitMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    submitMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 202) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 408 ||\n                response.httpStatusCode == 413 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"IntakePayloadAccepted\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTagConfiguration\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTagConfiguration(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MetricTagConfigurationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.MetricsApiResponseProcessor = MetricsApiResponseProcessor;\nclass MetricsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new MetricsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new MetricsApiResponseProcessor();\n    }\n    /**\n     * Create and define a list of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics.\n     * Metrics are selected by passing a metric name prefix. Use the Delete method of this API path to remove tag configurations.\n     * Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app.\n     * If multiple calls include the same metric, the last configuration applied (not by submit order) is used, do not\n     * expect deterministic ordering of concurrent calls.\n     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.\n     * @param param The request object\n     */\n    createBulkTagsMetricsConfiguration(param, options) {\n        const requestContextPromise = this.requestFactory.createBulkTagsMetricsConfiguration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createBulkTagsMetricsConfiguration(responseContext);\n            });\n        });\n    }\n    /**\n     * Create and define a list of queryable tag keys for an existing count/gauge/rate/distribution metric.\n     * Optionally, include percentile aggregations on any distribution metric or configure custom aggregations\n     * on any count, rate, or gauge metric.\n     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.\n     * @param param The request object\n     */\n    createTagConfiguration(param, options) {\n        const requestContextPromise = this.requestFactory.createTagConfiguration(param.metricName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createTagConfiguration(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete all custom lists of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics.\n     * Metrics are selected by passing a metric name prefix.\n     * Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app.\n     * Can only be used with application keys of users with the `Manage Tags for Metrics` permission.\n     * @param param The request object\n     */\n    deleteBulkTagsMetricsConfiguration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteBulkTagsMetricsConfiguration(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteBulkTagsMetricsConfiguration(responseContext);\n            });\n        });\n    }\n    /**\n     * Deletes a metric's tag configuration. Can only be used with application\n     * keys from users with the `Manage Tags for Metrics` permission.\n     * @param param The request object\n     */\n    deleteTagConfiguration(param, options) {\n        const requestContextPromise = this.requestFactory.deleteTagConfiguration(param.metricName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteTagConfiguration(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns the estimated cardinality for a metric with a given tag, percentile and number of aggregations configuration using Metrics without Limits™.\n     * @param param The request object\n     */\n    estimateMetricsOutputSeries(param, options) {\n        const requestContextPromise = this.requestFactory.estimateMetricsOutputSeries(param.metricName, param.filterGroups, param.filterHoursAgo, param.filterNumAggregations, param.filterPct, param.filterTimespanH, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.estimateMetricsOutputSeries(responseContext);\n            });\n        });\n    }\n    /**\n     * List tags and aggregations that are actively queried on dashboards and monitors for a given metric name.\n     * @param param The request object\n     */\n    listActiveMetricConfigurations(param, options) {\n        const requestContextPromise = this.requestFactory.listActiveMetricConfigurations(param.metricName, param.windowSeconds, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listActiveMetricConfigurations(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns the tag configuration for the given metric name.\n     * @param param The request object\n     */\n    listTagConfigurationByName(param, options) {\n        const requestContextPromise = this.requestFactory.listTagConfigurationByName(param.metricName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listTagConfigurationByName(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns all metrics that can be configured in the Metrics Summary page or with Metrics without Limits™ (matching additional filters if specified).\n     * @param param The request object\n     */\n    listTagConfigurations(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listTagConfigurations(param.filterConfigured, param.filterTagsConfigured, param.filterMetricType, param.filterIncludePercentiles, param.filterQueried, param.filterTags, param.windowSeconds, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listTagConfigurations(responseContext);\n            });\n        });\n    }\n    /**\n     * View indexed tag key-value pairs for a given metric name.\n     * @param param The request object\n     */\n    listTagsByMetricName(param, options) {\n        const requestContextPromise = this.requestFactory.listTagsByMetricName(param.metricName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listTagsByMetricName(responseContext);\n            });\n        });\n    }\n    /**\n     * View distinct metrics volumes for the given metric name.\n     *\n     * Custom metrics generated in-app from other products will return `null` for ingested volumes.\n     * @param param The request object\n     */\n    listVolumesByMetricName(param, options) {\n        const requestContextPromise = this.requestFactory.listVolumesByMetricName(param.metricName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listVolumesByMetricName(responseContext);\n            });\n        });\n    }\n    /**\n     * Query scalar values (as seen on Query Value, Table, and Toplist widgets).\n     * Multiple data sources are supported with the ability to\n     * process the data using formulas and functions.\n     * @param param The request object\n     */\n    queryScalarData(param, options) {\n        const requestContextPromise = this.requestFactory.queryScalarData(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.queryScalarData(responseContext);\n            });\n        });\n    }\n    /**\n     * Query timeseries data across various data sources and\n     * process the data by applying formulas and functions.\n     * @param param The request object\n     */\n    queryTimeseriesData(param, options) {\n        const requestContextPromise = this.requestFactory.queryTimeseriesData(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.queryTimeseriesData(responseContext);\n            });\n        });\n    }\n    /**\n     * The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards.\n     * The maximum payload size is 500 kilobytes (512000 bytes). Compressed payloads must have a decompressed size of less than 5 megabytes (5242880 bytes).\n     *\n     * If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect:\n     *\n     * - 64 bits for the timestamp\n     * - 64 bits for the value\n     * - 20 bytes for the metric names\n     * - 50 bytes for the timeseries\n     * - The full payload is approximately 100 bytes.\n     *\n     * Host name is one of the resources in the Resources field.\n     * @param param The request object\n     */\n    submitMetrics(param, options) {\n        const requestContextPromise = this.requestFactory.submitMetrics(param.body, param.contentEncoding, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.submitMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Update the tag configuration of a metric or percentile aggregations of a distribution metric or custom aggregations\n     * of a count, rate, or gauge metric.\n     * Can only be used with application keys from users with the `Manage Tags for Metrics` permission.\n     * @param param The request object\n     */\n    updateTagConfiguration(param, options) {\n        const requestContextPromise = this.requestFactory.updateTagConfiguration(param.metricName, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTagConfiguration(responseContext);\n            });\n        });\n    }\n}\nexports.MetricsApi = MetricsApi;\n//# sourceMappingURL=MetricsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorsApi = exports.MonitorsApiResponseProcessor = exports.MonitorsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass MonitorsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createMonitorConfigPolicy(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createMonitorConfigPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/policy\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MonitorsApi.createMonitorConfigPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MonitorConfigPolicyCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteMonitorConfigPolicy(policyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'policyId' is not null or undefined\n            if (policyId === null || policyId === undefined) {\n                throw new baseapi_1.RequiredError(\"policyId\", \"deleteMonitorConfigPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/policy/{policy_id}\".replace(\"{policy_id}\", encodeURIComponent(String(policyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MonitorsApi.deleteMonitorConfigPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getMonitorConfigPolicy(policyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'policyId' is not null or undefined\n            if (policyId === null || policyId === undefined) {\n                throw new baseapi_1.RequiredError(\"policyId\", \"getMonitorConfigPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/policy/{policy_id}\".replace(\"{policy_id}\", encodeURIComponent(String(policyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MonitorsApi.getMonitorConfigPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listMonitorConfigPolicies(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/policy\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MonitorsApi.listMonitorConfigPolicies\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateMonitorConfigPolicy(policyId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'policyId' is not null or undefined\n            if (policyId === null || policyId === undefined) {\n                throw new baseapi_1.RequiredError(\"policyId\", \"updateMonitorConfigPolicy\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateMonitorConfigPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/monitor/policy/{policy_id}\".replace(\"{policy_id}\", encodeURIComponent(String(policyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.MonitorsApi.updateMonitorConfigPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MonitorConfigPolicyEditRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.MonitorsApiRequestFactory = MonitorsApiRequestFactory;\nclass MonitorsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createMonitorConfigPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createMonitorConfigPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteMonitorConfigPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteMonitorConfigPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getMonitorConfigPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getMonitorConfigPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listMonitorConfigPolicies\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listMonitorConfigPolicies(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateMonitorConfigPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateMonitorConfigPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MonitorConfigPolicyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.MonitorsApiResponseProcessor = MonitorsApiResponseProcessor;\nclass MonitorsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new MonitorsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new MonitorsApiResponseProcessor();\n    }\n    /**\n     * Create a monitor configuration policy.\n     * @param param The request object\n     */\n    createMonitorConfigPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.createMonitorConfigPolicy(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createMonitorConfigPolicy(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a monitor configuration policy.\n     * @param param The request object\n     */\n    deleteMonitorConfigPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.deleteMonitorConfigPolicy(param.policyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteMonitorConfigPolicy(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a monitor configuration policy by `policy_id`.\n     * @param param The request object\n     */\n    getMonitorConfigPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.getMonitorConfigPolicy(param.policyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getMonitorConfigPolicy(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all monitor configuration policies.\n     * @param param The request object\n     */\n    listMonitorConfigPolicies(options) {\n        const requestContextPromise = this.requestFactory.listMonitorConfigPolicies(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listMonitorConfigPolicies(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit a monitor configuration policy.\n     * @param param The request object\n     */\n    updateMonitorConfigPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.updateMonitorConfigPolicy(param.policyId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateMonitorConfigPolicy(responseContext);\n            });\n        });\n    }\n}\nexports.MonitorsApi = MonitorsApi;\n//# sourceMappingURL=MonitorsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieIntegrationApi = exports.OpsgenieIntegrationApiResponseProcessor = exports.OpsgenieIntegrationApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass OpsgenieIntegrationApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createOpsgenieService(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createOpsgenieService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/opsgenie/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OpsgenieIntegrationApi.createOpsgenieService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"OpsgenieServiceCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteOpsgenieService(integrationServiceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'integrationServiceId' is not null or undefined\n            if (integrationServiceId === null || integrationServiceId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationServiceId\", \"deleteOpsgenieService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/opsgenie/services/{integration_service_id}\".replace(\"{integration_service_id}\", encodeURIComponent(String(integrationServiceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OpsgenieIntegrationApi.deleteOpsgenieService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getOpsgenieService(integrationServiceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'integrationServiceId' is not null or undefined\n            if (integrationServiceId === null || integrationServiceId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationServiceId\", \"getOpsgenieService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/opsgenie/services/{integration_service_id}\".replace(\"{integration_service_id}\", encodeURIComponent(String(integrationServiceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OpsgenieIntegrationApi.getOpsgenieService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listOpsgenieServices(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/integration/opsgenie/services\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OpsgenieIntegrationApi.listOpsgenieServices\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateOpsgenieService(integrationServiceId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'integrationServiceId' is not null or undefined\n            if (integrationServiceId === null || integrationServiceId === undefined) {\n                throw new baseapi_1.RequiredError(\"integrationServiceId\", \"updateOpsgenieService\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateOpsgenieService\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/integration/opsgenie/services/{integration_service_id}\".replace(\"{integration_service_id}\", encodeURIComponent(String(integrationServiceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OpsgenieIntegrationApi.updateOpsgenieService\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"OpsgenieServiceUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.OpsgenieIntegrationApiRequestFactory = OpsgenieIntegrationApiRequestFactory;\nclass OpsgenieIntegrationApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createOpsgenieService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createOpsgenieService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteOpsgenieService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteOpsgenieService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getOpsgenieService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getOpsgenieService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listOpsgenieServices\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listOpsgenieServices(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServicesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServicesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateOpsgenieService\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateOpsgenieService(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OpsgenieServiceResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.OpsgenieIntegrationApiResponseProcessor = OpsgenieIntegrationApiResponseProcessor;\nclass OpsgenieIntegrationApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new OpsgenieIntegrationApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new OpsgenieIntegrationApiResponseProcessor();\n    }\n    /**\n     * Create a new service object in the Opsgenie integration.\n     * @param param The request object\n     */\n    createOpsgenieService(param, options) {\n        const requestContextPromise = this.requestFactory.createOpsgenieService(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createOpsgenieService(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a single service object in the Datadog Opsgenie integration.\n     * @param param The request object\n     */\n    deleteOpsgenieService(param, options) {\n        const requestContextPromise = this.requestFactory.deleteOpsgenieService(param.integrationServiceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteOpsgenieService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a single service from the Datadog Opsgenie integration.\n     * @param param The request object\n     */\n    getOpsgenieService(param, options) {\n        const requestContextPromise = this.requestFactory.getOpsgenieService(param.integrationServiceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getOpsgenieService(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of all services from the Datadog Opsgenie integration.\n     * @param param The request object\n     */\n    listOpsgenieServices(options) {\n        const requestContextPromise = this.requestFactory.listOpsgenieServices(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listOpsgenieServices(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a single service object in the Datadog Opsgenie integration.\n     * @param param The request object\n     */\n    updateOpsgenieService(param, options) {\n        const requestContextPromise = this.requestFactory.updateOpsgenieService(param.integrationServiceId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateOpsgenieService(responseContext);\n            });\n        });\n    }\n}\nexports.OpsgenieIntegrationApi = OpsgenieIntegrationApi;\n//# sourceMappingURL=OpsgenieIntegrationApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationsApi = exports.OrganizationsApiResponseProcessor = exports.OrganizationsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst form_data_1 = __importDefault(require(\"form-data\"));\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass OrganizationsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    uploadIdPMetadata(idpFile, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/saml_configurations/idp_metadata\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.OrganizationsApi.uploadIdPMetadata\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Form Params\n            const localVarFormParams = new form_data_1.default();\n            if (idpFile !== undefined) {\n                // TODO: replace .append with .set\n                localVarFormParams.append(\"idp_file\", idpFile.data, idpFile.name);\n            }\n            requestContext.setBody(localVarFormParams);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.OrganizationsApiRequestFactory = OrganizationsApiRequestFactory;\nclass OrganizationsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to uploadIdPMetadata\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    uploadIdPMetadata(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.OrganizationsApiResponseProcessor = OrganizationsApiResponseProcessor;\nclass OrganizationsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new OrganizationsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new OrganizationsApiResponseProcessor();\n    }\n    /**\n     * Endpoint for uploading IdP metadata for SAML setup.\n     *\n     * Use this endpoint to upload or replace IdP metadata for SAML login configuration.\n     * @param param The request object\n     */\n    uploadIdPMetadata(param = {}, options) {\n        const requestContextPromise = this.requestFactory.uploadIdPMetadata(param.idpFile, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.uploadIdPMetadata(responseContext);\n            });\n        });\n    }\n}\nexports.OrganizationsApi = OrganizationsApi;\n//# sourceMappingURL=OrganizationsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessesApi = exports.ProcessesApiResponseProcessor = exports.ProcessesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ProcessesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    listProcesses(search, tags, from, to, pageLimit, pageCursor, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/processes\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ProcessesApi.listProcesses\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (search !== undefined) {\n                requestContext.setQueryParam(\"search\", ObjectSerializer_1.ObjectSerializer.serialize(search, \"string\", \"\"));\n            }\n            if (tags !== undefined) {\n                requestContext.setQueryParam(\"tags\", ObjectSerializer_1.ObjectSerializer.serialize(tags, \"string\", \"\"));\n            }\n            if (from !== undefined) {\n                requestContext.setQueryParam(\"from\", ObjectSerializer_1.ObjectSerializer.serialize(from, \"number\", \"int64\"));\n            }\n            if (to !== undefined) {\n                requestContext.setQueryParam(\"to\", ObjectSerializer_1.ObjectSerializer.serialize(to, \"number\", \"int64\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ProcessesApiRequestFactory = ProcessesApiRequestFactory;\nclass ProcessesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listProcesses\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listProcesses(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ProcessSummariesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ProcessSummariesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ProcessesApiResponseProcessor = ProcessesApiResponseProcessor;\nclass ProcessesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new ProcessesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ProcessesApiResponseProcessor();\n    }\n    /**\n     * Get all processes for your organization.\n     * @param param The request object\n     */\n    listProcesses(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listProcesses(param.search, param.tags, param.from, param.to, param.pageLimit, param.pageCursor, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listProcesses(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listProcesses returning a generator with all the items.\n     */\n    listProcessesWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listProcessesWithPagination_1() {\n            let pageSize = 1000;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listProcesses(param.search, param.tags, param.from, param.to, param.pageLimit, param.pageCursor, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listProcesses(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.ProcessesApi = ProcessesApi;\n//# sourceMappingURL=ProcessesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApi = exports.RUMApiResponseProcessor = exports.RUMApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst RUMQueryPageOptions_1 = require(\"../models/RUMQueryPageOptions\");\nclass RUMApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    aggregateRUMEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"aggregateRUMEvents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/analytics/aggregate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.aggregateRUMEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RUMAggregateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createRUMApplication(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createRUMApplication\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/applications\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.createRUMApplication\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RUMApplicationCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteRUMApplication(id, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'id' is not null or undefined\n            if (id === null || id === undefined) {\n                throw new baseapi_1.RequiredError(\"id\", \"deleteRUMApplication\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/applications/{id}\".replace(\"{id}\", encodeURIComponent(String(id)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.deleteRUMApplication\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getRUMApplication(id, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'id' is not null or undefined\n            if (id === null || id === undefined) {\n                throw new baseapi_1.RequiredError(\"id\", \"getRUMApplication\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/applications/{id}\".replace(\"{id}\", encodeURIComponent(String(id)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.getRUMApplication\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getRUMApplications(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/rum/applications\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.getRUMApplications\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listRUMEvents(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/rum/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.listRUMEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"RUMSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchRUMEvents(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"searchRUMEvents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.searchRUMEvents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RUMSearchEventsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateRUMApplication(id, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'id' is not null or undefined\n            if (id === null || id === undefined) {\n                throw new baseapi_1.RequiredError(\"id\", \"updateRUMApplication\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateRUMApplication\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/rum/applications/{id}\".replace(\"{id}\", encodeURIComponent(String(id)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RUMApi.updateRUMApplication\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RUMApplicationUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.RUMApiRequestFactory = RUMApiRequestFactory;\nclass RUMApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to aggregateRUMEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    aggregateRUMEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMAnalyticsAggregateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMAnalyticsAggregateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createRUMApplication\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createRUMApplication(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteRUMApplication\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteRUMApplication(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getRUMApplication\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getRUMApplication(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getRUMApplications\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getRUMApplications(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listRUMEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listRUMEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchRUMEvents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchRUMEvents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMEventsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMEventsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateRUMApplication\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateRUMApplication(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RUMApplicationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.RUMApiResponseProcessor = RUMApiResponseProcessor;\nclass RUMApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new RUMApiRequestFactory(configuration);\n        this.responseProcessor = responseProcessor || new RUMApiResponseProcessor();\n    }\n    /**\n     * The API endpoint to aggregate RUM events into buckets of computed metrics and timeseries.\n     * @param param The request object\n     */\n    aggregateRUMEvents(param, options) {\n        const requestContextPromise = this.requestFactory.aggregateRUMEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.aggregateRUMEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a new RUM application in your organization.\n     * @param param The request object\n     */\n    createRUMApplication(param, options) {\n        const requestContextPromise = this.requestFactory.createRUMApplication(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createRUMApplication(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an existing RUM application in your organization.\n     * @param param The request object\n     */\n    deleteRUMApplication(param, options) {\n        const requestContextPromise = this.requestFactory.deleteRUMApplication(param.id, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteRUMApplication(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the RUM application with given ID in your organization.\n     * @param param The request object\n     */\n    getRUMApplication(param, options) {\n        const requestContextPromise = this.requestFactory.getRUMApplication(param.id, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getRUMApplication(responseContext);\n            });\n        });\n    }\n    /**\n     * List all the RUM applications in your organization.\n     * @param param The request object\n     */\n    getRUMApplications(options) {\n        const requestContextPromise = this.requestFactory.getRUMApplications(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getRUMApplications(responseContext);\n            });\n        });\n    }\n    /**\n     * List endpoint returns events that match a RUM search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to see your latest RUM events.\n     *\n     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination\n     * @param param The request object\n     */\n    listRUMEvents(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listRUMEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listRUMEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listRUMEvents returning a generator with all the items.\n     */\n    listRUMEventsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listRUMEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listRUMEvents(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listRUMEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns RUM events that match a RUM search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to build complex RUM events filtering and search.\n     *\n     * [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination\n     * @param param The request object\n     */\n    searchRUMEvents(param, options) {\n        const requestContextPromise = this.requestFactory.searchRUMEvents(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchRUMEvents(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchRUMEvents returning a generator with all the items.\n     */\n    searchRUMEventsWithPagination(param, options) {\n        return __asyncGenerator(this, arguments, function* searchRUMEventsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body.page === undefined) {\n                param.body.page = new RUMQueryPageOptions_1.RUMQueryPageOptions();\n            }\n            if (param.body.page.limit === undefined) {\n                param.body.page.limit = pageSize;\n            }\n            else {\n                pageSize = param.body.page.limit;\n            }\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchRUMEvents(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchRUMEvents(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * Update the RUM application with given ID in your organization.\n     * @param param The request object\n     */\n    updateRUMApplication(param, options) {\n        const requestContextPromise = this.requestFactory.updateRUMApplication(param.id, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateRUMApplication(responseContext);\n            });\n        });\n    }\n}\nexports.RUMApi = RUMApi;\n//# sourceMappingURL=RUMApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPoliciesApi = exports.RestrictionPoliciesApiResponseProcessor = exports.RestrictionPoliciesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass RestrictionPoliciesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    deleteRestrictionPolicy(resourceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"deleteRestrictionPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/restriction_policy/{resource_id}\".replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RestrictionPoliciesApi.deleteRestrictionPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getRestrictionPolicy(resourceId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"getRestrictionPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/restriction_policy/{resource_id}\".replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RestrictionPoliciesApi.getRestrictionPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateRestrictionPolicy(resourceId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'resourceId' is not null or undefined\n            if (resourceId === null || resourceId === undefined) {\n                throw new baseapi_1.RequiredError(\"resourceId\", \"updateRestrictionPolicy\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateRestrictionPolicy\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/restriction_policy/{resource_id}\".replace(\"{resource_id}\", encodeURIComponent(String(resourceId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RestrictionPoliciesApi.updateRestrictionPolicy\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RestrictionPolicyUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.RestrictionPoliciesApiRequestFactory = RestrictionPoliciesApiRequestFactory;\nclass RestrictionPoliciesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteRestrictionPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteRestrictionPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getRestrictionPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getRestrictionPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RestrictionPolicyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RestrictionPolicyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateRestrictionPolicy\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateRestrictionPolicy(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RestrictionPolicyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RestrictionPolicyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.RestrictionPoliciesApiResponseProcessor = RestrictionPoliciesApiResponseProcessor;\nclass RestrictionPoliciesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new RestrictionPoliciesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new RestrictionPoliciesApiResponseProcessor();\n    }\n    /**\n     * Deletes the restriction policy associated with a specified resource.\n     * @param param The request object\n     */\n    deleteRestrictionPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.deleteRestrictionPolicy(param.resourceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteRestrictionPolicy(responseContext);\n            });\n        });\n    }\n    /**\n     * Retrieves the restriction policy associated with a specified resource.\n     * @param param The request object\n     */\n    getRestrictionPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.getRestrictionPolicy(param.resourceId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getRestrictionPolicy(responseContext);\n            });\n        });\n    }\n    /**\n     * Updates the restriction policy associated with a resource.\n     *\n     * #### Supported resources\n     * Restriction policies can be applied to the following resources:\n     * - Connections: `connection`\n     * - Dashboards: `dashboard`\n     * - Notebooks: `notebook`\n     * - Security Rules: `security-rule`\n     * - Service Level Objectives: `slo`\n     *\n     * #### Supported relations for resources\n     * Resource Type            | Supported Relations\n     * -------------------------|--------------------------\n     * Connections              | `viewer`, `editor`, `resolver`\n     * Dashboards               | `viewer`, `editor`\n     * Notebooks                | `viewer`, `editor`\n     * Security Rules           | `viewer`, `editor`\n     * Service Level Objectives | `viewer`, `editor`\n     * @param param The request object\n     */\n    updateRestrictionPolicy(param, options) {\n        const requestContextPromise = this.requestFactory.updateRestrictionPolicy(param.resourceId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateRestrictionPolicy(responseContext);\n            });\n        });\n    }\n}\nexports.RestrictionPoliciesApi = RestrictionPoliciesApi;\n//# sourceMappingURL=RestrictionPoliciesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RolesApi = exports.RolesApiResponseProcessor = exports.RolesApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass RolesApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    addPermissionToRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"addPermissionToRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"addPermissionToRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/permissions\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.addPermissionToRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToPermission\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    addUserToRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"addUserToRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"addUserToRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/users\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.addUserToRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToUser\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    cloneRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"cloneRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"cloneRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/clone\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.cloneRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RoleCloneRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createRole(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.createRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RoleCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteRole(roleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"deleteRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.deleteRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getRole(roleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"getRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.getRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listPermissions(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/permissions\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.listPermissions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listRolePermissions(roleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"listRolePermissions\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/permissions\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.listRolePermissions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listRoles(pageSize, pageNumber, sort, filter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/roles\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.listRoles\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"RolesSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listRoleUsers(roleId, pageSize, pageNumber, sort, filter, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"listRoleUsers\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/users\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.listRoleUsers\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"string\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    removePermissionFromRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"removePermissionFromRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"removePermissionFromRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/permissions\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.removePermissionFromRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToPermission\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    removeUserFromRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"removeUserFromRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"removeUserFromRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}/users\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.removeUserFromRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RelationshipToUser\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateRole(roleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'roleId' is not null or undefined\n            if (roleId === null || roleId === undefined) {\n                throw new baseapi_1.RequiredError(\"roleId\", \"updateRole\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateRole\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/roles/{role_id}\".replace(\"{role_id}\", encodeURIComponent(String(roleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.RolesApi.updateRole\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"RoleUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.RolesApiRequestFactory = RolesApiRequestFactory;\nclass RolesApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to addPermissionToRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    addPermissionToRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to addUserToRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    addUserToRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to cloneRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    cloneRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listPermissions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listPermissions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listRolePermissions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listRolePermissions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listRoles\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listRoles(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RolesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RolesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listRoleUsers\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listRoleUsers(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to removePermissionFromRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    removePermissionFromRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to removeUserFromRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    removeUserFromRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateRole\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateRole(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"RoleUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.RolesApiResponseProcessor = RolesApiResponseProcessor;\nclass RolesApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new RolesApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new RolesApiResponseProcessor();\n    }\n    /**\n     * Adds a permission to a role.\n     * @param param The request object\n     */\n    addPermissionToRole(param, options) {\n        const requestContextPromise = this.requestFactory.addPermissionToRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.addPermissionToRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Adds a user to a role.\n     * @param param The request object\n     */\n    addUserToRole(param, options) {\n        const requestContextPromise = this.requestFactory.addUserToRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.addUserToRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Clone an existing role\n     * @param param The request object\n     */\n    cloneRole(param, options) {\n        const requestContextPromise = this.requestFactory.cloneRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.cloneRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a new role for your organization.\n     * @param param The request object\n     */\n    createRole(param, options) {\n        const requestContextPromise = this.requestFactory.createRole(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Disables a role.\n     * @param param The request object\n     */\n    deleteRole(param, options) {\n        const requestContextPromise = this.requestFactory.deleteRole(param.roleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a role in the organization specified by the role’s `role_id`.\n     * @param param The request object\n     */\n    getRole(param, options) {\n        const requestContextPromise = this.requestFactory.getRole(param.roleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns a list of all permissions, including name, description, and ID.\n     * @param param The request object\n     */\n    listPermissions(options) {\n        const requestContextPromise = this.requestFactory.listPermissions(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listPermissions(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns a list of all permissions for a single role.\n     * @param param The request object\n     */\n    listRolePermissions(param, options) {\n        const requestContextPromise = this.requestFactory.listRolePermissions(param.roleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listRolePermissions(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns all roles, including their names and their unique identifiers.\n     * @param param The request object\n     */\n    listRoles(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listRoles(param.pageSize, param.pageNumber, param.sort, param.filter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listRoles(responseContext);\n            });\n        });\n    }\n    /**\n     * Gets all users of a role.\n     * @param param The request object\n     */\n    listRoleUsers(param, options) {\n        const requestContextPromise = this.requestFactory.listRoleUsers(param.roleId, param.pageSize, param.pageNumber, param.sort, param.filter, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listRoleUsers(responseContext);\n            });\n        });\n    }\n    /**\n     * Removes a permission from a role.\n     * @param param The request object\n     */\n    removePermissionFromRole(param, options) {\n        const requestContextPromise = this.requestFactory.removePermissionFromRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.removePermissionFromRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Removes a user from a role.\n     * @param param The request object\n     */\n    removeUserFromRole(param, options) {\n        const requestContextPromise = this.requestFactory.removeUserFromRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.removeUserFromRole(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit a role. Can only be used with application keys belonging to administrators.\n     * @param param The request object\n     */\n    updateRole(param, options) {\n        const requestContextPromise = this.requestFactory.updateRole(param.roleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateRole(responseContext);\n            });\n        });\n    }\n}\nexports.RolesApi = RolesApi;\n//# sourceMappingURL=RolesApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringApi = exports.SecurityMonitoringApiResponseProcessor = exports.SecurityMonitoringApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst SecurityMonitoringSignalListRequest_1 = require(\"../models/SecurityMonitoringSignalListRequest\");\nconst SecurityMonitoringSignalListRequestPage_1 = require(\"../models/SecurityMonitoringSignalListRequestPage\");\nclass SecurityMonitoringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createSecurityFilter(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSecurityFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/configuration/security_filters\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.createSecurityFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityFilterCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createSecurityMonitoringRule(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSecurityMonitoringRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.createSecurityMonitoringRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringRuleCreatePayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSecurityFilter(securityFilterId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'securityFilterId' is not null or undefined\n            if (securityFilterId === null || securityFilterId === undefined) {\n                throw new baseapi_1.RequiredError(\"securityFilterId\", \"deleteSecurityFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}\".replace(\"{security_filter_id}\", encodeURIComponent(String(securityFilterId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.deleteSecurityFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSecurityMonitoringRule(ruleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ruleId' is not null or undefined\n            if (ruleId === null || ruleId === undefined) {\n                throw new baseapi_1.RequiredError(\"ruleId\", \"deleteSecurityMonitoringRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/rules/{rule_id}\".replace(\"{rule_id}\", encodeURIComponent(String(ruleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.deleteSecurityMonitoringRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editSecurityMonitoringSignalAssignee(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"editSecurityMonitoringSignalAssignee\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editSecurityMonitoringSignalAssignee\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals/{signal_id}/assignee\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.editSecurityMonitoringSignalAssignee\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringSignalAssigneeUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editSecurityMonitoringSignalIncidents(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"editSecurityMonitoringSignalIncidents\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editSecurityMonitoringSignalIncidents\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals/{signal_id}/incidents\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.editSecurityMonitoringSignalIncidents\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringSignalIncidentsUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    editSecurityMonitoringSignalState(signalId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"editSecurityMonitoringSignalState\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"editSecurityMonitoringSignalState\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals/{signal_id}/state\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.editSecurityMonitoringSignalState\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringSignalStateUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getFinding(findingId, snapshotTimestamp, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'getFinding'\");\n            if (!_config.unstableOperations[\"v2.getFinding\"]) {\n                throw new Error(\"Unstable operation 'getFinding' is disabled\");\n            }\n            // verify required parameter 'findingId' is not null or undefined\n            if (findingId === null || findingId === undefined) {\n                throw new baseapi_1.RequiredError(\"findingId\", \"getFinding\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/posture_management/findings/{finding_id}\".replace(\"{finding_id}\", encodeURIComponent(String(findingId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.getFinding\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (snapshotTimestamp !== undefined) {\n                requestContext.setQueryParam(\"snapshot_timestamp\", ObjectSerializer_1.ObjectSerializer.serialize(snapshotTimestamp, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSecurityFilter(securityFilterId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'securityFilterId' is not null or undefined\n            if (securityFilterId === null || securityFilterId === undefined) {\n                throw new baseapi_1.RequiredError(\"securityFilterId\", \"getSecurityFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}\".replace(\"{security_filter_id}\", encodeURIComponent(String(securityFilterId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.getSecurityFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSecurityMonitoringRule(ruleId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ruleId' is not null or undefined\n            if (ruleId === null || ruleId === undefined) {\n                throw new baseapi_1.RequiredError(\"ruleId\", \"getSecurityMonitoringRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/rules/{rule_id}\".replace(\"{rule_id}\", encodeURIComponent(String(ruleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.getSecurityMonitoringRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSecurityMonitoringSignal(signalId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'signalId' is not null or undefined\n            if (signalId === null || signalId === undefined) {\n                throw new baseapi_1.RequiredError(\"signalId\", \"getSecurityMonitoringSignal\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals/{signal_id}\".replace(\"{signal_id}\", encodeURIComponent(String(signalId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.getSecurityMonitoringSignal\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listFindings(pageLimit, snapshotTimestamp, pageCursor, filterTags, filterEvaluationChangedAt, filterMuted, filterRuleId, filterRuleName, filterResourceType, filterDiscoveryTimestamp, filterEvaluation, filterStatus, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'listFindings'\");\n            if (!_config.unstableOperations[\"v2.listFindings\"]) {\n                throw new Error(\"Unstable operation 'listFindings' is disabled\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/posture_management/findings\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.listFindings\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int64\"));\n            }\n            if (snapshotTimestamp !== undefined) {\n                requestContext.setQueryParam(\"snapshot_timestamp\", ObjectSerializer_1.ObjectSerializer.serialize(snapshotTimestamp, \"number\", \"int64\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (filterTags !== undefined) {\n                requestContext.setQueryParam(\"filter[tags]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTags, \"string\", \"\"));\n            }\n            if (filterEvaluationChangedAt !== undefined) {\n                requestContext.setQueryParam(\"filter[evaluation_changed_at]\", ObjectSerializer_1.ObjectSerializer.serialize(filterEvaluationChangedAt, \"string\", \"\"));\n            }\n            if (filterMuted !== undefined) {\n                requestContext.setQueryParam(\"filter[muted]\", ObjectSerializer_1.ObjectSerializer.serialize(filterMuted, \"boolean\", \"\"));\n            }\n            if (filterRuleId !== undefined) {\n                requestContext.setQueryParam(\"filter[rule_id]\", ObjectSerializer_1.ObjectSerializer.serialize(filterRuleId, \"string\", \"\"));\n            }\n            if (filterRuleName !== undefined) {\n                requestContext.setQueryParam(\"filter[rule_name]\", ObjectSerializer_1.ObjectSerializer.serialize(filterRuleName, \"string\", \"\"));\n            }\n            if (filterResourceType !== undefined) {\n                requestContext.setQueryParam(\"filter[resource_type]\", ObjectSerializer_1.ObjectSerializer.serialize(filterResourceType, \"string\", \"\"));\n            }\n            if (filterDiscoveryTimestamp !== undefined) {\n                requestContext.setQueryParam(\"filter[discovery_timestamp]\", ObjectSerializer_1.ObjectSerializer.serialize(filterDiscoveryTimestamp, \"string\", \"\"));\n            }\n            if (filterEvaluation !== undefined) {\n                requestContext.setQueryParam(\"filter[evaluation]\", ObjectSerializer_1.ObjectSerializer.serialize(filterEvaluation, \"FindingEvaluation\", \"\"));\n            }\n            if (filterStatus !== undefined) {\n                requestContext.setQueryParam(\"filter[status]\", ObjectSerializer_1.ObjectSerializer.serialize(filterStatus, \"FindingStatus\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSecurityFilters(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/configuration/security_filters\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.listSecurityFilters\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSecurityMonitoringRules(pageSize, pageNumber, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.listSecurityMonitoringRules\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSecurityMonitoringSignals(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.listSecurityMonitoringSignals\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"Date\", \"date-time\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"Date\", \"date-time\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"SecurityMonitoringSignalsSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    searchSecurityMonitoringSignals(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/signals/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.searchSecurityMonitoringSignals\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringSignalListRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateFinding(findingId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            logger_1.logger.warn(\"Using unstable operation 'updateFinding'\");\n            if (!_config.unstableOperations[\"v2.updateFinding\"]) {\n                throw new Error(\"Unstable operation 'updateFinding' is disabled\");\n            }\n            // verify required parameter 'findingId' is not null or undefined\n            if (findingId === null || findingId === undefined) {\n                throw new baseapi_1.RequiredError(\"findingId\", \"updateFinding\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateFinding\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/posture_management/findings/{finding_id}\".replace(\"{finding_id}\", encodeURIComponent(String(findingId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.updateFinding\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"MuteFindingRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSecurityFilter(securityFilterId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'securityFilterId' is not null or undefined\n            if (securityFilterId === null || securityFilterId === undefined) {\n                throw new baseapi_1.RequiredError(\"securityFilterId\", \"updateSecurityFilter\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSecurityFilter\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/configuration/security_filters/{security_filter_id}\".replace(\"{security_filter_id}\", encodeURIComponent(String(securityFilterId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.updateSecurityFilter\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityFilterUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSecurityMonitoringRule(ruleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ruleId' is not null or undefined\n            if (ruleId === null || ruleId === undefined) {\n                throw new baseapi_1.RequiredError(\"ruleId\", \"updateSecurityMonitoringRule\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSecurityMonitoringRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/security_monitoring/rules/{rule_id}\".replace(\"{rule_id}\", encodeURIComponent(String(ruleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SecurityMonitoringApi.updateSecurityMonitoringRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SecurityMonitoringRuleUpdatePayload\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SecurityMonitoringApiRequestFactory = SecurityMonitoringApiRequestFactory;\nclass SecurityMonitoringApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSecurityFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSecurityFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSecurityMonitoringRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSecurityMonitoringRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSecurityFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSecurityFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSecurityMonitoringRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSecurityMonitoringRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editSecurityMonitoringSignalAssignee\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editSecurityMonitoringSignalAssignee(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editSecurityMonitoringSignalIncidents\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editSecurityMonitoringSignalIncidents(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to editSecurityMonitoringSignalState\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    editSecurityMonitoringSignalState(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalTriageUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getFinding\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getFinding(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GetFindingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"JSONAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"GetFindingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSecurityFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSecurityFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSecurityMonitoringRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSecurityMonitoringRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSecurityMonitoringSignal\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSecurityMonitoringSignal(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listFindings\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listFindings(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListFindingsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"JSONAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListFindingsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSecurityFilters\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSecurityFilters(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFiltersResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFiltersResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSecurityMonitoringRules\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSecurityMonitoringRules(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringListRulesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringListRulesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSecurityMonitoringSignals\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSecurityMonitoringSignals(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to searchSecurityMonitoringSignals\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    searchSecurityMonitoringSignals(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringSignalsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateFinding\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateFinding(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MuteFindingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"JSONAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"MuteFindingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSecurityFilter\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSecurityFilter(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityFilterResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSecurityMonitoringRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSecurityMonitoringRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 401 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SecurityMonitoringRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SecurityMonitoringApiResponseProcessor = SecurityMonitoringApiResponseProcessor;\nclass SecurityMonitoringApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SecurityMonitoringApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SecurityMonitoringApiResponseProcessor();\n    }\n    /**\n     * Create a security filter.\n     *\n     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)\n     * for more examples.\n     * @param param The request object\n     */\n    createSecurityFilter(param, options) {\n        const requestContextPromise = this.requestFactory.createSecurityFilter(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSecurityFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a detection rule.\n     * @param param The request object\n     */\n    createSecurityMonitoringRule(param, options) {\n        const requestContextPromise = this.requestFactory.createSecurityMonitoringRule(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSecurityMonitoringRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a specific security filter.\n     * @param param The request object\n     */\n    deleteSecurityFilter(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSecurityFilter(param.securityFilterId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSecurityFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an existing rule. Default rules cannot be deleted.\n     * @param param The request object\n     */\n    deleteSecurityMonitoringRule(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSecurityMonitoringRule(param.ruleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSecurityMonitoringRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Modify the triage assignee of a security signal.\n     * @param param The request object\n     */\n    editSecurityMonitoringSignalAssignee(param, options) {\n        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalAssignee(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editSecurityMonitoringSignalAssignee(responseContext);\n            });\n        });\n    }\n    /**\n     * Change the related incidents for a security signal.\n     * @param param The request object\n     */\n    editSecurityMonitoringSignalIncidents(param, options) {\n        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalIncidents(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editSecurityMonitoringSignalIncidents(responseContext);\n            });\n        });\n    }\n    /**\n     * Change the triage state of a security signal.\n     * @param param The request object\n     */\n    editSecurityMonitoringSignalState(param, options) {\n        const requestContextPromise = this.requestFactory.editSecurityMonitoringSignalState(param.signalId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.editSecurityMonitoringSignalState(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns a single finding with message and resource configuration.\n     * @param param The request object\n     */\n    getFinding(param, options) {\n        const requestContextPromise = this.requestFactory.getFinding(param.findingId, param.snapshotTimestamp, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getFinding(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the details of a specific security filter.\n     *\n     * See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)\n     * for more examples.\n     * @param param The request object\n     */\n    getSecurityFilter(param, options) {\n        const requestContextPromise = this.requestFactory.getSecurityFilter(param.securityFilterId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSecurityFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a rule's details.\n     * @param param The request object\n     */\n    getSecurityMonitoringRule(param, options) {\n        const requestContextPromise = this.requestFactory.getSecurityMonitoringRule(param.ruleId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSecurityMonitoringRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a signal's details.\n     * @param param The request object\n     */\n    getSecurityMonitoringSignal(param, options) {\n        const requestContextPromise = this.requestFactory.getSecurityMonitoringSignal(param.signalId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSecurityMonitoringSignal(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of CSPM findings.\n     *\n     * ### Filtering\n     *\n     * Filters can be applied by appending query parameters to the URL.\n     *\n     *   - Using a single filter: `?filter[attribute_key]=attribute_value`\n     *   - Chaining filters: `?filter[attribute_key]=attribute_value&filter[attribute_key]=attribute_value...`\n     *   - Filtering on tags: `?filter[tags]=tag_key:tag_value&filter[tags]=tag_key_2:tag_value_2`\n     *\n     * Here, `attribute_key` can be any of the filter keys described further below.\n     *\n     * Query parameters of type `integer` support comparison operators (`>`, `>=`, `<`, `<=`). This is particularly useful when filtering by `evaluation_changed_at` or `resource_discovery_timestamp`. For example: `?filter[evaluation_changed_at]=>20123123121`.\n     *\n     * You can also use the negation operator on strings. For example, use `filter[resource_type]=-aws*` to filter for any non-AWS resources.\n     *\n     * The operator must come after the equal sign. For example, to filter with the `>=` operator, add the operator after the equal sign: `filter[evaluation_changed_at]=>=1678809373257`.\n     *\n     * Query parameters must be only among the documented ones and with values of correct types. Duplicated query parameters (e.g. `filter[status]=low&filter[status]=info`) are not allowed.\n     *\n     * ### Response\n     *\n     * The response includes an array of finding objects, pagination metadata, and a count of items that match the query.\n     *\n     * Each finding object contains the following:\n     *\n     * - The finding ID that can be used in a `GetFinding` request to retrieve the full finding details.\n     * - Core attributes, including status, evaluation, high-level resource details, muted state, and rule details.\n     * - `evaluation_changed_at` and `resource_discovery_date` time stamps.\n     * - An array of associated tags.\n     * @param param The request object\n     */\n    listFindings(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listFindings(param.pageLimit, param.snapshotTimestamp, param.pageCursor, param.filterTags, param.filterEvaluationChangedAt, param.filterMuted, param.filterRuleId, param.filterRuleName, param.filterResourceType, param.filterDiscoveryTimestamp, param.filterEvaluation, param.filterStatus, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listFindings(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listFindings returning a generator with all the items.\n     */\n    listFindingsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listFindingsWithPagination_1() {\n            let pageSize = 100;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listFindings(param.pageLimit, param.snapshotTimestamp, param.pageCursor, param.filterTags, param.filterEvaluationChangedAt, param.filterMuted, param.filterRuleId, param.filterRuleName, param.filterResourceType, param.filterDiscoveryTimestamp, param.filterEvaluation, param.filterStatus, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listFindings(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageCursor = cursorMetaPage.cursor;\n                if (cursorMetaPageCursor === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageCursor;\n            }\n        });\n    }\n    /**\n     * Get the list of configured security filters with their definitions.\n     * @param param The request object\n     */\n    listSecurityFilters(options) {\n        const requestContextPromise = this.requestFactory.listSecurityFilters(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSecurityFilters(responseContext);\n            });\n        });\n    }\n    /**\n     * List rules.\n     * @param param The request object\n     */\n    listSecurityMonitoringRules(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listSecurityMonitoringRules(param.pageSize, param.pageNumber, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSecurityMonitoringRules(responseContext);\n            });\n        });\n    }\n    /**\n     * The list endpoint returns security signals that match a search query.\n     * Both this endpoint and the POST endpoint can be used interchangeably when listing\n     * security signals.\n     * @param param The request object\n     */\n    listSecurityMonitoringSignals(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listSecurityMonitoringSignals(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSecurityMonitoringSignals(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listSecurityMonitoringSignals returning a generator with all the items.\n     */\n    listSecurityMonitoringSignalsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listSecurityMonitoringSignalsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listSecurityMonitoringSignals(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listSecurityMonitoringSignals(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * Returns security signals that match a search query.\n     * Both this endpoint and the GET endpoint can be used interchangeably for listing\n     * security signals.\n     * @param param The request object\n     */\n    searchSecurityMonitoringSignals(param = {}, options) {\n        const requestContextPromise = this.requestFactory.searchSecurityMonitoringSignals(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.searchSecurityMonitoringSignals(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of searchSecurityMonitoringSignals returning a generator with all the items.\n     */\n    searchSecurityMonitoringSignalsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* searchSecurityMonitoringSignalsWithPagination_1() {\n            let pageSize = 10;\n            if (param.body === undefined) {\n                param.body = new SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest();\n            }\n            if (param.body.page === undefined) {\n                param.body.page = new SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage();\n            }\n            if (param.body.page.limit !== undefined) {\n                pageSize = param.body.page.limit;\n            }\n            param.body.page.limit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.searchSecurityMonitoringSignals(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.searchSecurityMonitoringSignals(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * Mute or unmute a specific finding.\n     * The API returns the updated finding object when the request is successful.\n     * @param param The request object\n     */\n    updateFinding(param, options) {\n        const requestContextPromise = this.requestFactory.updateFinding(param.findingId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateFinding(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a specific security filter.\n     * Returns the security filter object when the request is successful.\n     * @param param The request object\n     */\n    updateSecurityFilter(param, options) {\n        const requestContextPromise = this.requestFactory.updateSecurityFilter(param.securityFilterId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSecurityFilter(responseContext);\n            });\n        });\n    }\n    /**\n     * Update an existing rule. When updating `cases`, `queries` or `options`, the whole field\n     * must be included. For example, when modifying a query all queries must be included.\n     * Default rules can only be updated to be enabled and to change notifications.\n     * @param param The request object\n     */\n    updateSecurityMonitoringRule(param, options) {\n        const requestContextPromise = this.requestFactory.updateSecurityMonitoringRule(param.ruleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSecurityMonitoringRule(responseContext);\n            });\n        });\n    }\n}\nexports.SecurityMonitoringApi = SecurityMonitoringApi;\n//# sourceMappingURL=SecurityMonitoringApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerApi = exports.SensitiveDataScannerApiResponseProcessor = exports.SensitiveDataScannerApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SensitiveDataScannerApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createScanningGroup(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createScanningGroup\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/groups\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.createScanningGroup\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerGroupCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createScanningRule(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createScanningRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/rules\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.createScanningRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerRuleCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteScanningGroup(groupId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'groupId' is not null or undefined\n            if (groupId === null || groupId === undefined) {\n                throw new baseapi_1.RequiredError(\"groupId\", \"deleteScanningGroup\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteScanningGroup\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/groups/{group_id}\".replace(\"{group_id}\", encodeURIComponent(String(groupId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.deleteScanningGroup\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerGroupDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteScanningRule(ruleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ruleId' is not null or undefined\n            if (ruleId === null || ruleId === undefined) {\n                throw new baseapi_1.RequiredError(\"ruleId\", \"deleteScanningRule\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"deleteScanningRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/rules/{rule_id}\".replace(\"{rule_id}\", encodeURIComponent(String(ruleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.deleteScanningRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerRuleDeleteRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listScanningGroups(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.listScanningGroups\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listStandardPatterns(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/standard-patterns\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.listStandardPatterns\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    reorderScanningGroups(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"reorderScanningGroups\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.reorderScanningGroups\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerConfigRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateScanningGroup(groupId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'groupId' is not null or undefined\n            if (groupId === null || groupId === undefined) {\n                throw new baseapi_1.RequiredError(\"groupId\", \"updateScanningGroup\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateScanningGroup\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/groups/{group_id}\".replace(\"{group_id}\", encodeURIComponent(String(groupId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.updateScanningGroup\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerGroupUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateScanningRule(ruleId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'ruleId' is not null or undefined\n            if (ruleId === null || ruleId === undefined) {\n                throw new baseapi_1.RequiredError(\"ruleId\", \"updateScanningRule\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateScanningRule\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/sensitive-data-scanner/config/rules/{rule_id}\".replace(\"{rule_id}\", encodeURIComponent(String(ruleId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SensitiveDataScannerApi.updateScanningRule\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SensitiveDataScannerRuleUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SensitiveDataScannerApiRequestFactory = SensitiveDataScannerApiRequestFactory;\nclass SensitiveDataScannerApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createScanningGroup\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createScanningGroup(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerCreateGroupResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerCreateGroupResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createScanningRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createScanningRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerCreateRuleResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerCreateRuleResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteScanningGroup\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteScanningGroup(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGroupDeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGroupDeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteScanningRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteScanningRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerRuleDeleteResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerRuleDeleteResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listScanningGroups\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listScanningGroups(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGetConfigResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGetConfigResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listStandardPatterns\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listStandardPatterns(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerStandardPatternsResponseData\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerStandardPatternsResponseData\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to reorderScanningGroups\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    reorderScanningGroups(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerReorderGroupsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerReorderGroupsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateScanningGroup\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateScanningGroup(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGroupUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerGroupUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateScanningRule\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateScanningRule(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerRuleUpdateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SensitiveDataScannerRuleUpdateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SensitiveDataScannerApiResponseProcessor = SensitiveDataScannerApiResponseProcessor;\nclass SensitiveDataScannerApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory ||\n                new SensitiveDataScannerApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SensitiveDataScannerApiResponseProcessor();\n    }\n    /**\n     * Create a scanning group.\n     * The request MAY include a configuration relationship.\n     * A rules relationship can be omitted entirely, but if it is included it MUST be\n     * null or an empty array (rules cannot be created at the same time).\n     * The new group will be ordered last within the configuration.\n     * @param param The request object\n     */\n    createScanningGroup(param, options) {\n        const requestContextPromise = this.requestFactory.createScanningGroup(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createScanningGroup(responseContext);\n            });\n        });\n    }\n    /**\n     * Create a scanning rule in a sensitive data scanner group, ordered last.\n     * The posted rule MUST include a group relationship.\n     * It MUST include either a standard_pattern relationship or a regex attribute, but not both.\n     * If included_attributes is empty or missing, we will scan all attributes except\n     * excluded_attributes. If both are missing, we will scan the whole event.\n     * @param param The request object\n     */\n    createScanningRule(param, options) {\n        const requestContextPromise = this.requestFactory.createScanningRule(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createScanningRule(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given group.\n     * @param param The request object\n     */\n    deleteScanningGroup(param, options) {\n        const requestContextPromise = this.requestFactory.deleteScanningGroup(param.groupId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteScanningGroup(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a given rule.\n     * @param param The request object\n     */\n    deleteScanningRule(param, options) {\n        const requestContextPromise = this.requestFactory.deleteScanningRule(param.ruleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteScanningRule(responseContext);\n            });\n        });\n    }\n    /**\n     * List all the Scanning groups in your organization.\n     * @param param The request object\n     */\n    listScanningGroups(options) {\n        const requestContextPromise = this.requestFactory.listScanningGroups(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listScanningGroups(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns all standard patterns.\n     * @param param The request object\n     */\n    listStandardPatterns(options) {\n        const requestContextPromise = this.requestFactory.listStandardPatterns(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listStandardPatterns(responseContext);\n            });\n        });\n    }\n    /**\n     * Reorder the list of groups.\n     * @param param The request object\n     */\n    reorderScanningGroups(param, options) {\n        const requestContextPromise = this.requestFactory.reorderScanningGroups(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.reorderScanningGroups(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a group, including the order of the rules.\n     * Rules within the group are reordered by including a rules relationship. If the rules\n     * relationship is present, its data section MUST contain linkages for all of the rules\n     * currently in the group, and MUST NOT contain any others.\n     * @param param The request object\n     */\n    updateScanningGroup(param, options) {\n        const requestContextPromise = this.requestFactory.updateScanningGroup(param.groupId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateScanningGroup(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a scanning rule.\n     * The request body MUST NOT include a standard_pattern relationship, as that relationship\n     * is non-editable. Trying to edit the regex attribute of a rule with a standard_pattern\n     * relationship will also result in an error.\n     * @param param The request object\n     */\n    updateScanningRule(param, options) {\n        const requestContextPromise = this.requestFactory.updateScanningRule(param.ruleId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateScanningRule(responseContext);\n            });\n        });\n    }\n}\nexports.SensitiveDataScannerApi = SensitiveDataScannerApi;\n//# sourceMappingURL=SensitiveDataScannerApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceAccountsApi = exports.ServiceAccountsApiResponseProcessor = exports.ServiceAccountsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ServiceAccountsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createServiceAccount(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createServiceAccount\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.createServiceAccount\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ServiceAccountCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createServiceAccountApplicationKey(serviceAccountId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceAccountId' is not null or undefined\n            if (serviceAccountId === null || serviceAccountId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceAccountId\", \"createServiceAccountApplicationKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createServiceAccountApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts/{service_account_id}/application_keys\".replace(\"{service_account_id}\", encodeURIComponent(String(serviceAccountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.createServiceAccountApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKeyCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteServiceAccountApplicationKey(serviceAccountId, appKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceAccountId' is not null or undefined\n            if (serviceAccountId === null || serviceAccountId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceAccountId\", \"deleteServiceAccountApplicationKey\");\n            }\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"deleteServiceAccountApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}\"\n                .replace(\"{service_account_id}\", encodeURIComponent(String(serviceAccountId)))\n                .replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.deleteServiceAccountApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getServiceAccountApplicationKey(serviceAccountId, appKeyId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceAccountId' is not null or undefined\n            if (serviceAccountId === null || serviceAccountId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceAccountId\", \"getServiceAccountApplicationKey\");\n            }\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"getServiceAccountApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}\"\n                .replace(\"{service_account_id}\", encodeURIComponent(String(serviceAccountId)))\n                .replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.getServiceAccountApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listServiceAccountApplicationKeys(serviceAccountId, pageSize, pageNumber, sort, filter, filterCreatedAtStart, filterCreatedAtEnd, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceAccountId' is not null or undefined\n            if (serviceAccountId === null || serviceAccountId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceAccountId\", \"listServiceAccountApplicationKeys\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts/{service_account_id}/application_keys\".replace(\"{service_account_id}\", encodeURIComponent(String(serviceAccountId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.listServiceAccountApplicationKeys\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"ApplicationKeysSort\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (filterCreatedAtStart !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtStart, \"string\", \"\"));\n            }\n            if (filterCreatedAtEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[created_at][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterCreatedAtEnd, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateServiceAccountApplicationKey(serviceAccountId, appKeyId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceAccountId' is not null or undefined\n            if (serviceAccountId === null || serviceAccountId === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceAccountId\", \"updateServiceAccountApplicationKey\");\n            }\n            // verify required parameter 'appKeyId' is not null or undefined\n            if (appKeyId === null || appKeyId === undefined) {\n                throw new baseapi_1.RequiredError(\"appKeyId\", \"updateServiceAccountApplicationKey\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateServiceAccountApplicationKey\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}\"\n                .replace(\"{service_account_id}\", encodeURIComponent(String(serviceAccountId)))\n                .replace(\"{app_key_id}\", encodeURIComponent(String(appKeyId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceAccountsApi.updateServiceAccountApplicationKey\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ApplicationKeyUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ServiceAccountsApiRequestFactory = ServiceAccountsApiRequestFactory;\nclass ServiceAccountsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createServiceAccount\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createServiceAccount(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createServiceAccountApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createServiceAccountApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteServiceAccountApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteServiceAccountApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getServiceAccountApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getServiceAccountApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PartialApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PartialApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listServiceAccountApplicationKeys\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listServiceAccountApplicationKeys(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ListApplicationKeysResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateServiceAccountApplicationKey\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateServiceAccountApplicationKey(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PartialApplicationKeyResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PartialApplicationKeyResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ServiceAccountsApiResponseProcessor = ServiceAccountsApiResponseProcessor;\nclass ServiceAccountsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new ServiceAccountsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ServiceAccountsApiResponseProcessor();\n    }\n    /**\n     * Create a service account for your organization.\n     * @param param The request object\n     */\n    createServiceAccount(param, options) {\n        const requestContextPromise = this.requestFactory.createServiceAccount(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createServiceAccount(responseContext);\n            });\n        });\n    }\n    /**\n     * Create an application key for this service account.\n     * @param param The request object\n     */\n    createServiceAccountApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.createServiceAccountApplicationKey(param.serviceAccountId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createServiceAccountApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete an application key owned by this service account.\n     * @param param The request object\n     */\n    deleteServiceAccountApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.deleteServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteServiceAccountApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * Get an application key owned by this service account.\n     * @param param The request object\n     */\n    getServiceAccountApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.getServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getServiceAccountApplicationKey(responseContext);\n            });\n        });\n    }\n    /**\n     * List all application keys available for this service account.\n     * @param param The request object\n     */\n    listServiceAccountApplicationKeys(param, options) {\n        const requestContextPromise = this.requestFactory.listServiceAccountApplicationKeys(param.serviceAccountId, param.pageSize, param.pageNumber, param.sort, param.filter, param.filterCreatedAtStart, param.filterCreatedAtEnd, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listServiceAccountApplicationKeys(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit an application key owned by this service account.\n     * @param param The request object\n     */\n    updateServiceAccountApplicationKey(param, options) {\n        const requestContextPromise = this.requestFactory.updateServiceAccountApplicationKey(param.serviceAccountId, param.appKeyId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateServiceAccountApplicationKey(responseContext);\n            });\n        });\n    }\n}\nexports.ServiceAccountsApi = ServiceAccountsApi;\n//# sourceMappingURL=ServiceAccountsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionApi = exports.ServiceDefinitionApiResponseProcessor = exports.ServiceDefinitionApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass ServiceDefinitionApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createOrUpdateServiceDefinitions(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createOrUpdateServiceDefinitions\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/definitions\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceDefinitionApi.createOrUpdateServiceDefinitions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"ServiceDefinitionsCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteServiceDefinition(serviceName, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceName' is not null or undefined\n            if (serviceName === null || serviceName === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceName\", \"deleteServiceDefinition\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/definitions/{service_name}\".replace(\"{service_name}\", encodeURIComponent(String(serviceName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceDefinitionApi.deleteServiceDefinition\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getServiceDefinition(serviceName, schemaVersion, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'serviceName' is not null or undefined\n            if (serviceName === null || serviceName === undefined) {\n                throw new baseapi_1.RequiredError(\"serviceName\", \"getServiceDefinition\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/services/definitions/{service_name}\".replace(\"{service_name}\", encodeURIComponent(String(serviceName)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceDefinitionApi.getServiceDefinition\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (schemaVersion !== undefined) {\n                requestContext.setQueryParam(\"schema_version\", ObjectSerializer_1.ObjectSerializer.serialize(schemaVersion, \"ServiceDefinitionSchemaVersions\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listServiceDefinitions(pageSize, pageNumber, schemaVersion, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/services/definitions\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.ServiceDefinitionApi.listServiceDefinitions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (schemaVersion !== undefined) {\n                requestContext.setQueryParam(\"schema_version\", ObjectSerializer_1.ObjectSerializer.serialize(schemaVersion, \"ServiceDefinitionSchemaVersions\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.ServiceDefinitionApiRequestFactory = ServiceDefinitionApiRequestFactory;\nclass ServiceDefinitionApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createOrUpdateServiceDefinitions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createOrUpdateServiceDefinitions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionCreateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionCreateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteServiceDefinition\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteServiceDefinition(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getServiceDefinition\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getServiceDefinition(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionGetResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionGetResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listServiceDefinitions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listServiceDefinitions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionsListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"ServiceDefinitionsListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.ServiceDefinitionApiResponseProcessor = ServiceDefinitionApiResponseProcessor;\nclass ServiceDefinitionApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new ServiceDefinitionApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new ServiceDefinitionApiResponseProcessor();\n    }\n    /**\n     * Create or update service definition in the Datadog Service Catalog.\n     * @param param The request object\n     */\n    createOrUpdateServiceDefinitions(param, options) {\n        const requestContextPromise = this.requestFactory.createOrUpdateServiceDefinitions(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createOrUpdateServiceDefinitions(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a single service definition in the Datadog Service Catalog.\n     * @param param The request object\n     */\n    deleteServiceDefinition(param, options) {\n        const requestContextPromise = this.requestFactory.deleteServiceDefinition(param.serviceName, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteServiceDefinition(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a single service definition from the Datadog Service Catalog.\n     * @param param The request object\n     */\n    getServiceDefinition(param, options) {\n        const requestContextPromise = this.requestFactory.getServiceDefinition(param.serviceName, param.schemaVersion, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getServiceDefinition(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of all service definitions from the Datadog Service Catalog.\n     * @param param The request object\n     */\n    listServiceDefinitions(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listServiceDefinitions(param.pageSize, param.pageNumber, param.schemaVersion, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listServiceDefinitions(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listServiceDefinitions returning a generator with all the items.\n     */\n    listServiceDefinitionsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listServiceDefinitionsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listServiceDefinitions(param.pageSize, param.pageNumber, param.schemaVersion, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listServiceDefinitions(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                if (param.pageNumber === undefined) {\n                    param.pageNumber = pageSize;\n                }\n                else {\n                    param.pageNumber = param.pageNumber + pageSize;\n                }\n            }\n        });\n    }\n}\nexports.ServiceDefinitionApi = ServiceDefinitionApi;\n//# sourceMappingURL=ServiceDefinitionApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansApi = exports.SpansApiResponseProcessor = exports.SpansApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nconst SpansListRequestAttributes_1 = require(\"../models/SpansListRequestAttributes\");\nconst SpansListRequestData_1 = require(\"../models/SpansListRequestData\");\nconst SpansListRequestPage_1 = require(\"../models/SpansListRequestPage\");\nclass SpansApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    aggregateSpans(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"aggregateSpans\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/spans/analytics/aggregate\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansApi.aggregateSpans\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SpansAggregateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSpans(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"listSpans\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/spans/events/search\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansApi.listSpans\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SpansListRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSpansGet(filterQuery, filterFrom, filterTo, sort, pageCursor, pageLimit, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/spans/events\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansApi.listSpansGet\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterQuery !== undefined) {\n                requestContext.setQueryParam(\"filter[query]\", ObjectSerializer_1.ObjectSerializer.serialize(filterQuery, \"string\", \"\"));\n            }\n            if (filterFrom !== undefined) {\n                requestContext.setQueryParam(\"filter[from]\", ObjectSerializer_1.ObjectSerializer.serialize(filterFrom, \"string\", \"\"));\n            }\n            if (filterTo !== undefined) {\n                requestContext.setQueryParam(\"filter[to]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTo, \"string\", \"\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"SpansSort\", \"\"));\n            }\n            if (pageCursor !== undefined) {\n                requestContext.setQueryParam(\"page[cursor]\", ObjectSerializer_1.ObjectSerializer.serialize(pageCursor, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SpansApiRequestFactory = SpansApiRequestFactory;\nclass SpansApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to aggregateSpans\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    aggregateSpans(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansAggregateResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansAggregateResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSpans\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSpans(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"JSONAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSpansGet\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSpansGet(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansListResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"JSONAPIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansListResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SpansApiResponseProcessor = SpansApiResponseProcessor;\nclass SpansApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SpansApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SpansApiResponseProcessor();\n    }\n    /**\n     * The API endpoint to aggregate spans into buckets and compute metrics and timeseries.\n     * This endpoint is rate limited to `300` requests per hour.\n     * @param param The request object\n     */\n    aggregateSpans(param, options) {\n        const requestContextPromise = this.requestFactory.aggregateSpans(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.aggregateSpans(responseContext);\n            });\n        });\n    }\n    /**\n     * List endpoint returns spans that match a span search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to build complex spans filtering and search.\n     * This endpoint is rate limited to `300` requests per hour.\n     *\n     * [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api\n     * @param param The request object\n     */\n    listSpans(param, options) {\n        const requestContextPromise = this.requestFactory.listSpans(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSpans(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listSpans returning a generator with all the items.\n     */\n    listSpansWithPagination(param, options) {\n        return __asyncGenerator(this, arguments, function* listSpansWithPagination_1() {\n            let pageSize = 10;\n            if (param.body.data === undefined) {\n                param.body.data = new SpansListRequestData_1.SpansListRequestData();\n            }\n            if (param.body.data.attributes === undefined) {\n                param.body.data.attributes = new SpansListRequestAttributes_1.SpansListRequestAttributes();\n            }\n            if (param.body.data.attributes.page === undefined) {\n                param.body.data.attributes.page = new SpansListRequestPage_1.SpansListRequestPage();\n            }\n            if (param.body.data.attributes.page.limit === undefined) {\n                param.body.data.attributes.page.limit = pageSize;\n            }\n            else {\n                pageSize = param.body.data.attributes.page.limit;\n            }\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listSpans(param.body, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listSpans(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.body.data.attributes.page.cursor = cursorMetaPageAfter;\n            }\n        });\n    }\n    /**\n     * List endpoint returns spans that match a span search query.\n     * [Results are paginated][1].\n     *\n     * Use this endpoint to see your latest spans.\n     * This endpoint is rate limited to `300` requests per hour.\n     *\n     * [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api\n     * @param param The request object\n     */\n    listSpansGet(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listSpansGet(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSpansGet(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listSpansGet returning a generator with all the items.\n     */\n    listSpansGetWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listSpansGetWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageLimit !== undefined) {\n                pageSize = param.pageLimit;\n            }\n            param.pageLimit = pageSize;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listSpansGet(param.filterQuery, param.filterFrom, param.filterTo, param.sort, param.pageCursor, param.pageLimit, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listSpansGet(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                const cursorMeta = response.meta;\n                if (cursorMeta === undefined) {\n                    break;\n                }\n                const cursorMetaPage = cursorMeta.page;\n                if (cursorMetaPage === undefined) {\n                    break;\n                }\n                const cursorMetaPageAfter = cursorMetaPage.after;\n                if (cursorMetaPageAfter === undefined) {\n                    break;\n                }\n                param.pageCursor = cursorMetaPageAfter;\n            }\n        });\n    }\n}\nexports.SpansApi = SpansApi;\n//# sourceMappingURL=SpansApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricsApi = exports.SpansMetricsApiResponseProcessor = exports.SpansMetricsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SpansMetricsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createSpansMetric(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createSpansMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/apm/config/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansMetricsApi.createSpansMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SpansMetricCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteSpansMetric(metricId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"deleteSpansMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/apm/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansMetricsApi.deleteSpansMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getSpansMetric(metricId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"getSpansMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/apm/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansMetricsApi.getSpansMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listSpansMetrics(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/apm/config/metrics\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansMetricsApi.listSpansMetrics\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateSpansMetric(metricId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'metricId' is not null or undefined\n            if (metricId === null || metricId === undefined) {\n                throw new baseapi_1.RequiredError(\"metricId\", \"updateSpansMetric\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateSpansMetric\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/apm/config/metrics/{metric_id}\".replace(\"{metric_id}\", encodeURIComponent(String(metricId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SpansMetricsApi.updateSpansMetric\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"SpansMetricUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SpansMetricsApiRequestFactory = SpansMetricsApiRequestFactory;\nclass SpansMetricsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createSpansMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createSpansMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteSpansMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteSpansMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getSpansMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getSpansMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listSpansMetrics\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listSpansMetrics(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateSpansMetric\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateSpansMetric(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"SpansMetricResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SpansMetricsApiResponseProcessor = SpansMetricsApiResponseProcessor;\nclass SpansMetricsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SpansMetricsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SpansMetricsApiResponseProcessor();\n    }\n    /**\n     * Create a metric based on your ingested spans in your organization.\n     * Returns the span-based metric object from the request body when the request is successful.\n     * @param param The request object\n     */\n    createSpansMetric(param, options) {\n        const requestContextPromise = this.requestFactory.createSpansMetric(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createSpansMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Delete a specific span-based metric from your organization.\n     * @param param The request object\n     */\n    deleteSpansMetric(param, options) {\n        const requestContextPromise = this.requestFactory.deleteSpansMetric(param.metricId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteSpansMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a specific span-based metric from your organization.\n     * @param param The request object\n     */\n    getSpansMetric(param, options) {\n        const requestContextPromise = this.requestFactory.getSpansMetric(param.metricId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getSpansMetric(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of configured span-based metrics with their definitions.\n     * @param param The request object\n     */\n    listSpansMetrics(options) {\n        const requestContextPromise = this.requestFactory.listSpansMetrics(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listSpansMetrics(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a specific span-based metric from your organization.\n     * Returns the span-based metric object from the request body when the request is successful.\n     * @param param The request object\n     */\n    updateSpansMetric(param, options) {\n        const requestContextPromise = this.requestFactory.updateSpansMetric(param.metricId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateSpansMetric(responseContext);\n            });\n        });\n    }\n}\nexports.SpansMetricsApi = SpansMetricsApi;\n//# sourceMappingURL=SpansMetricsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SyntheticsApi = exports.SyntheticsApiResponseProcessor = exports.SyntheticsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass SyntheticsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getOnDemandConcurrencyCap(_options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/synthetics/settings/on_demand_concurrency_cap\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SyntheticsApi.getOnDemandConcurrencyCap\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    setOnDemandConcurrencyCap(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"setOnDemandConcurrencyCap\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/synthetics/settings/on_demand_concurrency_cap\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.SyntheticsApi.setOnDemandConcurrencyCap\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"OnDemandConcurrencyCapAttributes\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.SyntheticsApiRequestFactory = SyntheticsApiRequestFactory;\nclass SyntheticsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getOnDemandConcurrencyCap\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getOnDemandConcurrencyCap(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OnDemandConcurrencyCapResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OnDemandConcurrencyCapResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to setOnDemandConcurrencyCap\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    setOnDemandConcurrencyCap(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OnDemandConcurrencyCapResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"OnDemandConcurrencyCapResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.SyntheticsApiResponseProcessor = SyntheticsApiResponseProcessor;\nclass SyntheticsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new SyntheticsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new SyntheticsApiResponseProcessor();\n    }\n    /**\n     * Get the on-demand concurrency cap.\n     * @param param The request object\n     */\n    getOnDemandConcurrencyCap(options) {\n        const requestContextPromise = this.requestFactory.getOnDemandConcurrencyCap(options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getOnDemandConcurrencyCap(responseContext);\n            });\n        });\n    }\n    /**\n     * Save new value for on-demand concurrency cap.\n     * @param param The request object\n     */\n    setOnDemandConcurrencyCap(param, options) {\n        const requestContextPromise = this.requestFactory.setOnDemandConcurrencyCap(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.setOnDemandConcurrencyCap(responseContext);\n            });\n        });\n    }\n}\nexports.SyntheticsApi = SyntheticsApi;\n//# sourceMappingURL=SyntheticsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamsApi = exports.TeamsApiResponseProcessor = exports.TeamsApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass TeamsApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createTeam(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.createTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TeamCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createTeamLink(teamId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"createTeamLink\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createTeamLink\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/links\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.createTeamLink\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TeamLinkCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    createTeamMembership(teamId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"createTeamMembership\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createTeamMembership\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/memberships\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.createTeamMembership\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"UserTeamRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteTeam(teamId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"deleteTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.deleteTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteTeamLink(teamId, linkId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"deleteTeamLink\");\n            }\n            // verify required parameter 'linkId' is not null or undefined\n            if (linkId === null || linkId === undefined) {\n                throw new baseapi_1.RequiredError(\"linkId\", \"deleteTeamLink\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/links/{link_id}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{link_id}\", encodeURIComponent(String(linkId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.deleteTeamLink\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    deleteTeamMembership(teamId, userId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"deleteTeamMembership\");\n            }\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"deleteTeamMembership\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/memberships/{user_id}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.deleteTeamMembership\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTeam(teamId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTeamLink(teamId, linkId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getTeamLink\");\n            }\n            // verify required parameter 'linkId' is not null or undefined\n            if (linkId === null || linkId === undefined) {\n                throw new baseapi_1.RequiredError(\"linkId\", \"getTeamLink\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/links/{link_id}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{link_id}\", encodeURIComponent(String(linkId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getTeamLink\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTeamLinks(teamId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getTeamLinks\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/links\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getTeamLinks\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTeamMemberships(teamId, pageSize, pageNumber, sort, filterKeyword, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getTeamMemberships\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/memberships\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getTeamMemberships\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"GetTeamMembershipsSort\", \"\"));\n            }\n            if (filterKeyword !== undefined) {\n                requestContext.setQueryParam(\"filter[keyword]\", ObjectSerializer_1.ObjectSerializer.serialize(filterKeyword, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getTeamPermissionSettings(teamId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"getTeamPermissionSettings\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/permission-settings\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getTeamPermissionSettings\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUserMemberships(userUuid, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userUuid' is not null or undefined\n            if (userUuid === null || userUuid === undefined) {\n                throw new baseapi_1.RequiredError(\"userUuid\", \"getUserMemberships\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_uuid}/memberships\".replace(\"{user_uuid}\", encodeURIComponent(String(userUuid)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.getUserMemberships\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listTeams(pageNumber, pageSize, sort, include, filterKeyword, filterMe, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/team\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.listTeams\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"ListTeamsSort\", \"\"));\n            }\n            if (include !== undefined) {\n                requestContext.setQueryParam(\"include\", ObjectSerializer_1.ObjectSerializer.serialize(include, \"Array\", \"\"));\n            }\n            if (filterKeyword !== undefined) {\n                requestContext.setQueryParam(\"filter[keyword]\", ObjectSerializer_1.ObjectSerializer.serialize(filterKeyword, \"string\", \"\"));\n            }\n            if (filterMe !== undefined) {\n                requestContext.setQueryParam(\"filter[me]\", ObjectSerializer_1.ObjectSerializer.serialize(filterMe, \"boolean\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateTeam(teamId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"updateTeam\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTeam\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}\".replace(\"{team_id}\", encodeURIComponent(String(teamId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.updateTeam\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TeamUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateTeamLink(teamId, linkId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"updateTeamLink\");\n            }\n            // verify required parameter 'linkId' is not null or undefined\n            if (linkId === null || linkId === undefined) {\n                throw new baseapi_1.RequiredError(\"linkId\", \"updateTeamLink\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTeamLink\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/links/{link_id}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{link_id}\", encodeURIComponent(String(linkId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.updateTeamLink\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TeamLinkCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateTeamMembership(teamId, userId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"updateTeamMembership\");\n            }\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"updateTeamMembership\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTeamMembership\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/memberships/{user_id}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.updateTeamMembership\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"UserTeamUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateTeamPermissionSetting(teamId, action, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'teamId' is not null or undefined\n            if (teamId === null || teamId === undefined) {\n                throw new baseapi_1.RequiredError(\"teamId\", \"updateTeamPermissionSetting\");\n            }\n            // verify required parameter 'action' is not null or undefined\n            if (action === null || action === undefined) {\n                throw new baseapi_1.RequiredError(\"action\", \"updateTeamPermissionSetting\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateTeamPermissionSetting\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/team/{team_id}/permission-settings/{action}\"\n                .replace(\"{team_id}\", encodeURIComponent(String(teamId)))\n                .replace(\"{action}\", encodeURIComponent(String(action)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.TeamsApi.updateTeamPermissionSetting\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PUT);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"TeamPermissionSettingUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.TeamsApiRequestFactory = TeamsApiRequestFactory;\nclass TeamsApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 409 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createTeamLink\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createTeamLink(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createTeamMembership\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createTeamMembership(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteTeamLink\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteTeamLink(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to deleteTeamMembership\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    deleteTeamMembership(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTeamLink\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTeamLink(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTeamLinks\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTeamLinks(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinksResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinksResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTeamMemberships\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTeamMemberships(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getTeamPermissionSettings\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getTeamPermissionSettings(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamPermissionSettingsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamPermissionSettingsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUserMemberships\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUserMemberships(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listTeams\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listTeams(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTeam\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTeam(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 409 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTeamLink\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTeamLink(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamLinkResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTeamMembership\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTeamMembership(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserTeamResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateTeamPermissionSetting\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateTeamPermissionSetting(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamPermissionSettingResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 404 || response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"TeamPermissionSettingResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.TeamsApiResponseProcessor = TeamsApiResponseProcessor;\nclass TeamsApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new TeamsApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new TeamsApiResponseProcessor();\n    }\n    /**\n     * Create a new team.\n     * User IDs passed through the `users` relationship field are added to the team.\n     * @param param The request object\n     */\n    createTeam(param, options) {\n        const requestContextPromise = this.requestFactory.createTeam(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Add a new link to a team.\n     * @param param The request object\n     */\n    createTeamLink(param, options) {\n        const requestContextPromise = this.requestFactory.createTeamLink(param.teamId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createTeamLink(responseContext);\n            });\n        });\n    }\n    /**\n     * Add a user to a team.\n     * @param param The request object\n     */\n    createTeamMembership(param, options) {\n        const requestContextPromise = this.requestFactory.createTeamMembership(param.teamId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createTeamMembership(responseContext);\n            });\n        });\n    }\n    /**\n     * Remove a team using the team's `id`.\n     * @param param The request object\n     */\n    deleteTeam(param, options) {\n        const requestContextPromise = this.requestFactory.deleteTeam(param.teamId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Remove a link from a team.\n     * @param param The request object\n     */\n    deleteTeamLink(param, options) {\n        const requestContextPromise = this.requestFactory.deleteTeamLink(param.teamId, param.linkId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteTeamLink(responseContext);\n            });\n        });\n    }\n    /**\n     * Remove a user from a team.\n     * @param param The request object\n     */\n    deleteTeamMembership(param, options) {\n        const requestContextPromise = this.requestFactory.deleteTeamMembership(param.teamId, param.userId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.deleteTeamMembership(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a single team using the team's `id`.\n     * @param param The request object\n     */\n    getTeam(param, options) {\n        const requestContextPromise = this.requestFactory.getTeam(param.teamId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a single link for a team.\n     * @param param The request object\n     */\n    getTeamLink(param, options) {\n        const requestContextPromise = this.requestFactory.getTeamLink(param.teamId, param.linkId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTeamLink(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all links for a given team.\n     * @param param The request object\n     */\n    getTeamLinks(param, options) {\n        const requestContextPromise = this.requestFactory.getTeamLinks(param.teamId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTeamLinks(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a paginated list of members for a team\n     * @param param The request object\n     */\n    getTeamMemberships(param, options) {\n        const requestContextPromise = this.requestFactory.getTeamMemberships(param.teamId, param.pageSize, param.pageNumber, param.sort, param.filterKeyword, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTeamMemberships(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all permission settings for a given team.\n     * @param param The request object\n     */\n    getTeamPermissionSettings(param, options) {\n        const requestContextPromise = this.requestFactory.getTeamPermissionSettings(param.teamId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getTeamPermissionSettings(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a list of memberships for a user\n     * @param param The request object\n     */\n    getUserMemberships(param, options) {\n        const requestContextPromise = this.requestFactory.getUserMemberships(param.userUuid, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUserMemberships(responseContext);\n            });\n        });\n    }\n    /**\n     * Get all teams.\n     * Can be used to search for teams using the `filter[keyword]` and `filter[me]` query parameters.\n     * @param param The request object\n     */\n    listTeams(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listTeams(param.pageNumber, param.pageSize, param.sort, param.include, param.filterKeyword, param.filterMe, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listTeams(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listTeams returning a generator with all the items.\n     */\n    listTeamsWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listTeamsWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            param.pageNumber = 0;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listTeams(param.pageNumber, param.pageSize, param.sort, param.include, param.filterKeyword, param.filterMe, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listTeams(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                param.pageNumber = param.pageNumber + 1;\n            }\n        });\n    }\n    /**\n     * Update a team using the team's `id`.\n     * If the `team_links` relationship is present, the associated links are updated to be in the order they appear in the array, and any existing team links not present are removed.\n     * @param param The request object\n     */\n    updateTeam(param, options) {\n        const requestContextPromise = this.requestFactory.updateTeam(param.teamId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTeam(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a team link.\n     * @param param The request object\n     */\n    updateTeamLink(param, options) {\n        const requestContextPromise = this.requestFactory.updateTeamLink(param.teamId, param.linkId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTeamLink(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a user's membership attributes on a team.\n     * @param param The request object\n     */\n    updateTeamMembership(param, options) {\n        const requestContextPromise = this.requestFactory.updateTeamMembership(param.teamId, param.userId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTeamMembership(responseContext);\n            });\n        });\n    }\n    /**\n     * Update a team permission setting for a given team.\n     * @param param The request object\n     */\n    updateTeamPermissionSetting(param, options) {\n        const requestContextPromise = this.requestFactory.updateTeamPermissionSetting(param.teamId, param.action, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateTeamPermissionSetting(responseContext);\n            });\n        });\n    }\n}\nexports.TeamsApi = TeamsApi;\n//# sourceMappingURL=TeamsApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageMeteringApi = exports.UsageMeteringApiResponseProcessor = exports.UsageMeteringApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass UsageMeteringApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    getCostByOrg(startMonth, endMonth, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startMonth' is not null or undefined\n            if (startMonth === null || startMonth === undefined) {\n                throw new baseapi_1.RequiredError(\"startMonth\", \"getCostByOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/cost_by_org\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getCostByOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getEstimatedCostByOrg(view, startMonth, endMonth, startDate, endDate, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/usage/estimated_cost\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getEstimatedCostByOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (view !== undefined) {\n                requestContext.setQueryParam(\"view\", ObjectSerializer_1.ObjectSerializer.serialize(view, \"string\", \"\"));\n            }\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            if (startDate !== undefined) {\n                requestContext.setQueryParam(\"start_date\", ObjectSerializer_1.ObjectSerializer.serialize(startDate, \"Date\", \"date-time\"));\n            }\n            if (endDate !== undefined) {\n                requestContext.setQueryParam(\"end_date\", ObjectSerializer_1.ObjectSerializer.serialize(endDate, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getHistoricalCostByOrg(startMonth, view, endMonth, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startMonth' is not null or undefined\n            if (startMonth === null || startMonth === undefined) {\n                throw new baseapi_1.RequiredError(\"startMonth\", \"getHistoricalCostByOrg\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/historical_cost\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getHistoricalCostByOrg\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (view !== undefined) {\n                requestContext.setQueryParam(\"view\", ObjectSerializer_1.ObjectSerializer.serialize(view, \"string\", \"\"));\n            }\n            if (startMonth !== undefined) {\n                requestContext.setQueryParam(\"start_month\", ObjectSerializer_1.ObjectSerializer.serialize(startMonth, \"Date\", \"date-time\"));\n            }\n            if (endMonth !== undefined) {\n                requestContext.setQueryParam(\"end_month\", ObjectSerializer_1.ObjectSerializer.serialize(endMonth, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getHourlyUsage(filterTimestampStart, filterProductFamilies, filterTimestampEnd, filterIncludeDescendants, filterIncludeBreakdown, filterVersions, pageLimit, pageNextRecordId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'filterTimestampStart' is not null or undefined\n            if (filterTimestampStart === null || filterTimestampStart === undefined) {\n                throw new baseapi_1.RequiredError(\"filterTimestampStart\", \"getHourlyUsage\");\n            }\n            // verify required parameter 'filterProductFamilies' is not null or undefined\n            if (filterProductFamilies === null || filterProductFamilies === undefined) {\n                throw new baseapi_1.RequiredError(\"filterProductFamilies\", \"getHourlyUsage\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/hourly_usage\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getHourlyUsage\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (filterTimestampStart !== undefined) {\n                requestContext.setQueryParam(\"filter[timestamp][start]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTimestampStart, \"Date\", \"date-time\"));\n            }\n            if (filterTimestampEnd !== undefined) {\n                requestContext.setQueryParam(\"filter[timestamp][end]\", ObjectSerializer_1.ObjectSerializer.serialize(filterTimestampEnd, \"Date\", \"date-time\"));\n            }\n            if (filterProductFamilies !== undefined) {\n                requestContext.setQueryParam(\"filter[product_families]\", ObjectSerializer_1.ObjectSerializer.serialize(filterProductFamilies, \"string\", \"\"));\n            }\n            if (filterIncludeDescendants !== undefined) {\n                requestContext.setQueryParam(\"filter[include_descendants]\", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludeDescendants, \"boolean\", \"\"));\n            }\n            if (filterIncludeBreakdown !== undefined) {\n                requestContext.setQueryParam(\"filter[include_breakdown]\", ObjectSerializer_1.ObjectSerializer.serialize(filterIncludeBreakdown, \"boolean\", \"\"));\n            }\n            if (filterVersions !== undefined) {\n                requestContext.setQueryParam(\"filter[versions]\", ObjectSerializer_1.ObjectSerializer.serialize(filterVersions, \"string\", \"\"));\n            }\n            if (pageLimit !== undefined) {\n                requestContext.setQueryParam(\"page[limit]\", ObjectSerializer_1.ObjectSerializer.serialize(pageLimit, \"number\", \"int32\"));\n            }\n            if (pageNextRecordId !== undefined) {\n                requestContext.setQueryParam(\"page[next_record_id]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNextRecordId, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageApplicationSecurityMonitoring(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageApplicationSecurityMonitoring\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/application_security\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getUsageApplicationSecurityMonitoring\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageLambdaTracedInvocations(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageLambdaTracedInvocations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/lambda_traced_invocations\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getUsageLambdaTracedInvocations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUsageObservabilityPipelines(startHr, endHr, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'startHr' is not null or undefined\n            if (startHr === null || startHr === undefined) {\n                throw new baseapi_1.RequiredError(\"startHr\", \"getUsageObservabilityPipelines\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/usage/observability_pipelines\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsageMeteringApi.getUsageObservabilityPipelines\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json;datetime-format=rfc3339\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (startHr !== undefined) {\n                requestContext.setQueryParam(\"start_hr\", ObjectSerializer_1.ObjectSerializer.serialize(startHr, \"Date\", \"date-time\"));\n            }\n            if (endHr !== undefined) {\n                requestContext.setQueryParam(\"end_hr\", ObjectSerializer_1.ObjectSerializer.serialize(endHr, \"Date\", \"date-time\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.UsageMeteringApiRequestFactory = UsageMeteringApiRequestFactory;\nclass UsageMeteringApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getCostByOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getCostByOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getEstimatedCostByOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getEstimatedCostByOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getHistoricalCostByOrg\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getHistoricalCostByOrg(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"CostByOrgResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getHourlyUsage\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getHourlyUsage(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HourlyUsageResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"HourlyUsageResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageApplicationSecurityMonitoring\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageApplicationSecurityMonitoring(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageApplicationSecurityMonitoringResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageApplicationSecurityMonitoringResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageLambdaTracedInvocations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageLambdaTracedInvocations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLambdaTracedInvocationsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageLambdaTracedInvocationsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUsageObservabilityPipelines\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUsageObservabilityPipelines(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageObservabilityPipelinesResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsageObservabilityPipelinesResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.UsageMeteringApiResponseProcessor = UsageMeteringApiResponseProcessor;\nclass UsageMeteringApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new UsageMeteringApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new UsageMeteringApiResponseProcessor();\n    }\n    /**\n     * Get cost across multi-org account.\n     * Cost by org data for a given month becomes available no later than the 16th of the following month.\n     * **Note:** This endpoint has been deprecated. Please use the new endpoint\n     * [`/historical_cost`](https://docs.datadoghq.com/api/latest/usage-metering/#get-historical-cost-across-your-account)\n     * instead.\n     * @param param The request object\n     */\n    getCostByOrg(param, options) {\n        const requestContextPromise = this.requestFactory.getCostByOrg(param.startMonth, param.endMonth, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getCostByOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * Get estimated cost across multi-org and single root-org accounts.\n     * Estimated cost data is only available for the current month and previous month\n     * and is delayed by up to 72 hours from when it was incurred.\n     * To access historical costs prior to this, use the `/historical_cost` endpoint.\n     * @param param The request object\n     */\n    getEstimatedCostByOrg(param = {}, options) {\n        const requestContextPromise = this.requestFactory.getEstimatedCostByOrg(param.view, param.startMonth, param.endMonth, param.startDate, param.endDate, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getEstimatedCostByOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * Get historical cost across multi-org and single root-org accounts.\n     * Cost data for a given month becomes available no later than the 16th of the following month.\n     * @param param The request object\n     */\n    getHistoricalCostByOrg(param, options) {\n        const requestContextPromise = this.requestFactory.getHistoricalCostByOrg(param.startMonth, param.view, param.endMonth, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getHistoricalCostByOrg(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage by product family.\n     * @param param The request object\n     */\n    getHourlyUsage(param, options) {\n        const requestContextPromise = this.requestFactory.getHourlyUsage(param.filterTimestampStart, param.filterProductFamilies, param.filterTimestampEnd, param.filterIncludeDescendants, param.filterIncludeBreakdown, param.filterVersions, param.pageLimit, param.pageNextRecordId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getHourlyUsage(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for application security .\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)\n     * @param param The request object\n     */\n    getUsageApplicationSecurityMonitoring(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageApplicationSecurityMonitoring(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageApplicationSecurityMonitoring(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for lambda traced invocations.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)\n     * @param param The request object\n     */\n    getUsageLambdaTracedInvocations(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageLambdaTracedInvocations(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageLambdaTracedInvocations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get hourly usage for observability pipelines.\n     * **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)\n     * @param param The request object\n     */\n    getUsageObservabilityPipelines(param, options) {\n        const requestContextPromise = this.requestFactory.getUsageObservabilityPipelines(param.startHr, param.endHr, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUsageObservabilityPipelines(responseContext);\n            });\n        });\n    }\n}\nexports.UsageMeteringApi = UsageMeteringApi;\n//# sourceMappingURL=UsageMeteringApi.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n    function fulfill(value) { resume(\"next\", value); }\n    function reject(value) { resume(\"throw\", value); }\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsersApi = exports.UsersApiResponseProcessor = exports.UsersApiRequestFactory = void 0;\nconst baseapi_1 = require(\"../../datadog-api-client-common/baseapi\");\nconst configuration_1 = require(\"../../datadog-api-client-common/configuration\");\nconst http_1 = require(\"../../datadog-api-client-common/http/http\");\nconst logger_1 = require(\"../../../logger\");\nconst ObjectSerializer_1 = require(\"../models/ObjectSerializer\");\nconst exception_1 = require(\"../../datadog-api-client-common/exception\");\nclass UsersApiRequestFactory extends baseapi_1.BaseAPIRequestFactory {\n    createUser(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"createUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.createUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"UserCreateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    disableUser(userId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"disableUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_id}\".replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.disableUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.DELETE);\n            requestContext.setHeaderParam(\"Accept\", \"*/*\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getInvitation(userInvitationUuid, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userInvitationUuid' is not null or undefined\n            if (userInvitationUuid === null || userInvitationUuid === undefined) {\n                throw new baseapi_1.RequiredError(\"userInvitationUuid\", \"getInvitation\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/user_invitations/{user_invitation_uuid}\".replace(\"{user_invitation_uuid}\", encodeURIComponent(String(userInvitationUuid)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.getInvitation\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    getUser(userId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"getUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_id}\".replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.getUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listUserOrganizations(userId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"listUserOrganizations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_id}/orgs\".replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.listUserOrganizations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listUserPermissions(userId, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"listUserPermissions\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_id}/permissions\".replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.listUserPermissions\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    listUsers(pageSize, pageNumber, sort, sortDir, filter, filterStatus, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // Path Params\n            const localVarPath = \"/api/v2/users\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.listUsers\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.GET);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Query Params\n            if (pageSize !== undefined) {\n                requestContext.setQueryParam(\"page[size]\", ObjectSerializer_1.ObjectSerializer.serialize(pageSize, \"number\", \"int64\"));\n            }\n            if (pageNumber !== undefined) {\n                requestContext.setQueryParam(\"page[number]\", ObjectSerializer_1.ObjectSerializer.serialize(pageNumber, \"number\", \"int64\"));\n            }\n            if (sort !== undefined) {\n                requestContext.setQueryParam(\"sort\", ObjectSerializer_1.ObjectSerializer.serialize(sort, \"string\", \"\"));\n            }\n            if (sortDir !== undefined) {\n                requestContext.setQueryParam(\"sort_dir\", ObjectSerializer_1.ObjectSerializer.serialize(sortDir, \"QuerySortOrder\", \"\"));\n            }\n            if (filter !== undefined) {\n                requestContext.setQueryParam(\"filter\", ObjectSerializer_1.ObjectSerializer.serialize(filter, \"string\", \"\"));\n            }\n            if (filterStatus !== undefined) {\n                requestContext.setQueryParam(\"filter[status]\", ObjectSerializer_1.ObjectSerializer.serialize(filterStatus, \"string\", \"\"));\n            }\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    sendInvitations(body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"sendInvitations\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/user_invitations\";\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.sendInvitations\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.POST);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"UserInvitationsRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n    updateUser(userId, body, _options) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const _config = _options || this.configuration;\n            // verify required parameter 'userId' is not null or undefined\n            if (userId === null || userId === undefined) {\n                throw new baseapi_1.RequiredError(\"userId\", \"updateUser\");\n            }\n            // verify required parameter 'body' is not null or undefined\n            if (body === null || body === undefined) {\n                throw new baseapi_1.RequiredError(\"body\", \"updateUser\");\n            }\n            // Path Params\n            const localVarPath = \"/api/v2/users/{user_id}\".replace(\"{user_id}\", encodeURIComponent(String(userId)));\n            // Make Request Context\n            const requestContext = _config\n                .getServer(\"v2.UsersApi.updateUser\")\n                .makeRequestContext(localVarPath, http_1.HttpMethod.PATCH);\n            requestContext.setHeaderParam(\"Accept\", \"application/json\");\n            requestContext.setHttpConfig(_config.httpConfig);\n            // Body Params\n            const contentType = ObjectSerializer_1.ObjectSerializer.getPreferredMediaType([\n                \"application/json\",\n            ]);\n            requestContext.setHeaderParam(\"Content-Type\", contentType);\n            const serializedBody = ObjectSerializer_1.ObjectSerializer.stringify(ObjectSerializer_1.ObjectSerializer.serialize(body, \"UserUpdateRequest\", \"\"), contentType);\n            requestContext.setBody(serializedBody);\n            // Apply auth methods\n            (0, configuration_1.applySecurityAuthentication)(_config, requestContext, [\n                \"AuthZ\",\n                \"apiKeyAuth\",\n                \"appKeyAuth\",\n            ]);\n            return requestContext;\n        });\n    }\n}\nexports.UsersApiRequestFactory = UsersApiRequestFactory;\nclass UsersApiResponseProcessor {\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to createUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    createUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to disableUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    disableUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 204) {\n                return;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"void\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getInvitation\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getInvitation(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserInvitationResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserInvitationResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to getUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    getUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listUserOrganizations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listUserOrganizations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listUserPermissions\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listUserPermissions(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"PermissionsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to listUsers\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    listUsers(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UsersResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to sendInvitations\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    sendInvitations(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 201) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserInvitationsResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserInvitationsResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n    /**\n     * Unwraps the actual response sent by the server from the response context and deserializes the response content\n     * to the expected objects\n     *\n     * @params response Response returned by the server for a request to updateUser\n     * @throws ApiException if the response code was not in [200, 299]\n     */\n    updateUser(response) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const contentType = ObjectSerializer_1.ObjectSerializer.normalizeMediaType(response.headers[\"content-type\"]);\n            if (response.httpStatusCode == 200) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\");\n                return body;\n            }\n            if (response.httpStatusCode == 400 ||\n                response.httpStatusCode == 403 ||\n                response.httpStatusCode == 404 ||\n                response.httpStatusCode == 422 ||\n                response.httpStatusCode == 429) {\n                const bodyText = ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType);\n                let body;\n                try {\n                    body = ObjectSerializer_1.ObjectSerializer.deserialize(bodyText, \"APIErrorResponse\");\n                }\n                catch (error) {\n                    logger_1.logger.info(`Got error deserializing error: ${error}`);\n                    throw new exception_1.ApiException(response.httpStatusCode, bodyText);\n                }\n                throw new exception_1.ApiException(response.httpStatusCode, body);\n            }\n            // Work around for missing responses in specification, e.g. for petstore.yaml\n            if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {\n                const body = ObjectSerializer_1.ObjectSerializer.deserialize(ObjectSerializer_1.ObjectSerializer.parse(yield response.body.text(), contentType), \"UserResponse\", \"\");\n                return body;\n            }\n            const body = (yield response.body.text()) || \"\";\n            throw new exception_1.ApiException(response.httpStatusCode, 'Unknown API Status Code!\\nBody: \"' + body + '\"');\n        });\n    }\n}\nexports.UsersApiResponseProcessor = UsersApiResponseProcessor;\nclass UsersApi {\n    constructor(configuration, requestFactory, responseProcessor) {\n        this.configuration = configuration;\n        this.requestFactory =\n            requestFactory || new UsersApiRequestFactory(configuration);\n        this.responseProcessor =\n            responseProcessor || new UsersApiResponseProcessor();\n    }\n    /**\n     * Create a user for your organization.\n     * @param param The request object\n     */\n    createUser(param, options) {\n        const requestContextPromise = this.requestFactory.createUser(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.createUser(responseContext);\n            });\n        });\n    }\n    /**\n     * Disable a user. Can only be used with an application key belonging\n     * to an administrator user.\n     * @param param The request object\n     */\n    disableUser(param, options) {\n        const requestContextPromise = this.requestFactory.disableUser(param.userId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.disableUser(responseContext);\n            });\n        });\n    }\n    /**\n     * Returns a single user invitation by its UUID.\n     * @param param The request object\n     */\n    getInvitation(param, options) {\n        const requestContextPromise = this.requestFactory.getInvitation(param.userInvitationUuid, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getInvitation(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a user in the organization specified by the user’s `user_id`.\n     * @param param The request object\n     */\n    getUser(param, options) {\n        const requestContextPromise = this.requestFactory.getUser(param.userId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.getUser(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a user organization. Returns the user information and all organizations\n     * joined by this user.\n     * @param param The request object\n     */\n    listUserOrganizations(param, options) {\n        const requestContextPromise = this.requestFactory.listUserOrganizations(param.userId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listUserOrganizations(responseContext);\n            });\n        });\n    }\n    /**\n     * Get a user permission set. Returns a list of the user’s permissions\n     * granted by the associated user's roles.\n     * @param param The request object\n     */\n    listUserPermissions(param, options) {\n        const requestContextPromise = this.requestFactory.listUserPermissions(param.userId, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listUserPermissions(responseContext);\n            });\n        });\n    }\n    /**\n     * Get the list of all users in the organization. This list includes\n     * all users even if they are deactivated or unverified.\n     * @param param The request object\n     */\n    listUsers(param = {}, options) {\n        const requestContextPromise = this.requestFactory.listUsers(param.pageSize, param.pageNumber, param.sort, param.sortDir, param.filter, param.filterStatus, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.listUsers(responseContext);\n            });\n        });\n    }\n    /**\n     * Provide a paginated version of listUsers returning a generator with all the items.\n     */\n    listUsersWithPagination(param = {}, options) {\n        return __asyncGenerator(this, arguments, function* listUsersWithPagination_1() {\n            let pageSize = 10;\n            if (param.pageSize !== undefined) {\n                pageSize = param.pageSize;\n            }\n            param.pageSize = pageSize;\n            param.pageNumber = 0;\n            while (true) {\n                const requestContext = yield __await(this.requestFactory.listUsers(param.pageSize, param.pageNumber, param.sort, param.sortDir, param.filter, param.filterStatus, options));\n                const responseContext = yield __await(this.configuration.httpApi.send(requestContext));\n                const response = yield __await(this.responseProcessor.listUsers(responseContext));\n                const responseData = response.data;\n                if (responseData === undefined) {\n                    break;\n                }\n                const results = responseData;\n                for (const item of results) {\n                    yield yield __await(item);\n                }\n                if (results.length < pageSize) {\n                    break;\n                }\n                param.pageNumber = param.pageNumber + 1;\n            }\n        });\n    }\n    /**\n     * Sends emails to one or more users inviting them to join the organization.\n     * @param param The request object\n     */\n    sendInvitations(param, options) {\n        const requestContextPromise = this.requestFactory.sendInvitations(param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.sendInvitations(responseContext);\n            });\n        });\n    }\n    /**\n     * Edit a user. Can only be used with an application key belonging\n     * to an administrator user.\n     * @param param The request object\n     */\n    updateUser(param, options) {\n        const requestContextPromise = this.requestFactory.updateUser(param.userId, param.body, options);\n        return requestContextPromise.then((requestContext) => {\n            return this.configuration.httpApi\n                .send(requestContext)\n                .then((responseContext) => {\n                return this.responseProcessor.updateUser(responseContext);\n            });\n        });\n    }\n}\nexports.UsersApi = UsersApi;\n//# sourceMappingURL=UsersApi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyCreateData = exports.ApplicationKeyCreateAttributes = exports.APIKeyUpdateRequest = exports.APIKeyUpdateData = exports.APIKeyUpdateAttributes = exports.APIKeysResponse = exports.APIKeyResponse = exports.APIKeyRelationships = exports.APIKeyCreateRequest = exports.APIKeyCreateData = exports.APIKeyCreateAttributes = exports.APIErrorResponse = exports.UsersApi = exports.UsageMeteringApi = exports.TeamsApi = exports.SyntheticsApi = exports.SpansMetricsApi = exports.SpansApi = exports.ServiceDefinitionApi = exports.ServiceAccountsApi = exports.SensitiveDataScannerApi = exports.SecurityMonitoringApi = exports.RolesApi = exports.RestrictionPoliciesApi = exports.RUMApi = exports.ProcessesApi = exports.OrganizationsApi = exports.OpsgenieIntegrationApi = exports.MonitorsApi = exports.MetricsApi = exports.LogsMetricsApi = exports.LogsArchivesApi = exports.LogsApi = exports.KeyManagementApi = exports.IncidentsApi = exports.IncidentTeamsApi = exports.IncidentServicesApi = exports.IPAllowlistApi = exports.GCPIntegrationApi = exports.FastlyIntegrationApi = exports.EventsApi = exports.DowntimesApi = exports.DashboardListsApi = exports.ConfluentCloudApi = exports.CloudflareIntegrationApi = exports.CloudWorkloadSecurityApi = exports.CIVisibilityTestsApi = exports.CIVisibilityPipelinesApi = exports.AuthNMappingsApi = exports.AuditApi = void 0;\nexports.CIAppPipelineEventsResponse = exports.CIAppPipelineEventsRequest = exports.CIAppPipelineEventPreviousPipeline = exports.CIAppPipelineEventPipeline = exports.CIAppPipelineEventParentPipeline = exports.CIAppPipelineEventJob = exports.CIAppPipelineEventAttributes = exports.CIAppPipelineEvent = exports.CIAppHostInfo = exports.CIAppGroupByHistogram = exports.CIAppGitInfo = exports.CIAppEventAttributes = exports.CIAppCreatePipelineEventRequestData = exports.CIAppCreatePipelineEventRequestAttributes = exports.CIAppCreatePipelineEventRequest = exports.CIAppCompute = exports.CIAppCIError = exports.CIAppAggregateSort = exports.CIAppAggregateBucketValueTimeseriesPoint = exports.ChargebackBreakdown = exports.AuthNMappingUpdateRequest = exports.AuthNMappingUpdateRelationships = exports.AuthNMappingUpdateData = exports.AuthNMappingUpdateAttributes = exports.AuthNMappingsResponse = exports.AuthNMappingResponse = exports.AuthNMappingRelationships = exports.AuthNMappingCreateRequest = exports.AuthNMappingCreateRelationships = exports.AuthNMappingCreateData = exports.AuthNMappingCreateAttributes = exports.AuthNMappingAttributes = exports.AuthNMapping = exports.AuditLogsWarning = exports.AuditLogsSearchEventsRequest = exports.AuditLogsResponsePage = exports.AuditLogsResponseMetadata = exports.AuditLogsResponseLinks = exports.AuditLogsQueryPageOptions = exports.AuditLogsQueryOptions = exports.AuditLogsQueryFilter = exports.AuditLogsEventsResponse = exports.AuditLogsEventAttributes = exports.AuditLogsEvent = exports.ApplicationKeyUpdateRequest = exports.ApplicationKeyUpdateData = exports.ApplicationKeyUpdateAttributes = exports.ApplicationKeyResponse = exports.ApplicationKeyRelationships = exports.ApplicationKeyCreateRequest = void 0;\nexports.CloudWorkloadSecurityAgentRuleUpdateData = exports.CloudWorkloadSecurityAgentRuleUpdateAttributes = exports.CloudWorkloadSecurityAgentRulesListResponse = exports.CloudWorkloadSecurityAgentRuleResponse = exports.CloudWorkloadSecurityAgentRuleData = exports.CloudWorkloadSecurityAgentRuleCreatorAttributes = exports.CloudWorkloadSecurityAgentRuleCreateRequest = exports.CloudWorkloadSecurityAgentRuleCreateData = exports.CloudWorkloadSecurityAgentRuleCreateAttributes = exports.CloudWorkloadSecurityAgentRuleAttributes = exports.CloudflareAccountUpdateRequestData = exports.CloudflareAccountUpdateRequestAttributes = exports.CloudflareAccountUpdateRequest = exports.CloudflareAccountsResponse = exports.CloudflareAccountResponseData = exports.CloudflareAccountResponseAttributes = exports.CloudflareAccountResponse = exports.CloudflareAccountCreateRequestData = exports.CloudflareAccountCreateRequestAttributes = exports.CloudflareAccountCreateRequest = exports.CloudConfigurationRuleOptions = exports.CloudConfigurationRuleCreatePayload = exports.CloudConfigurationRuleComplianceSignalOptions = exports.CloudConfigurationRuleCaseCreate = exports.CloudConfigurationRegoRule = exports.CloudConfigurationComplianceRuleOptions = exports.CIAppWarning = exports.CIAppTestsQueryFilter = exports.CIAppTestsGroupBy = exports.CIAppTestsBucketResponse = exports.CIAppTestsAnalyticsAggregateResponse = exports.CIAppTestsAggregationBucketsResponse = exports.CIAppTestsAggregateRequest = exports.CIAppTestEventsResponse = exports.CIAppTestEventsRequest = exports.CIAppTestEvent = exports.CIAppResponsePage = exports.CIAppResponseMetadataWithPagination = exports.CIAppResponseMetadata = exports.CIAppResponseLinks = exports.CIAppQueryPageOptions = exports.CIAppQueryOptions = exports.CIAppPipelinesQueryFilter = exports.CIAppPipelinesGroupBy = exports.CIAppPipelinesBucketResponse = exports.CIAppPipelinesAnalyticsAggregateResponse = exports.CIAppPipelinesAggregationBucketsResponse = exports.CIAppPipelinesAggregateRequest = exports.CIAppPipelineEventStep = exports.CIAppPipelineEventStage = void 0;\nexports.DowntimeRelationshipsMonitor = exports.DowntimeRelationshipsCreatedByData = exports.DowntimeRelationshipsCreatedBy = exports.DowntimeRelationships = exports.DowntimeMonitorIncludedItem = exports.DowntimeMonitorIncludedAttributes = exports.DowntimeMonitorIdentifierTags = exports.DowntimeMonitorIdentifierId = exports.DowntimeMetaPage = exports.DowntimeMeta = exports.DowntimeCreateRequestData = exports.DowntimeCreateRequestAttributes = exports.DowntimeCreateRequest = exports.DetailedFindingAttributes = exports.DetailedFinding = exports.DataScalarColumn = exports.DashboardListUpdateItemsResponse = exports.DashboardListUpdateItemsRequest = exports.DashboardListItems = exports.DashboardListItemResponse = exports.DashboardListItemRequest = exports.DashboardListItem = exports.DashboardListDeleteItemsResponse = exports.DashboardListDeleteItemsRequest = exports.DashboardListAddItemsResponse = exports.DashboardListAddItemsRequest = exports.Creator = exports.CostByOrgResponse = exports.CostByOrgAttributes = exports.CostByOrg = exports.ConfluentResourcesResponse = exports.ConfluentResourceResponseData = exports.ConfluentResourceResponseAttributes = exports.ConfluentResourceResponse = exports.ConfluentResourceRequestData = exports.ConfluentResourceRequestAttributes = exports.ConfluentResourceRequest = exports.ConfluentAccountUpdateRequestData = exports.ConfluentAccountUpdateRequestAttributes = exports.ConfluentAccountUpdateRequest = exports.ConfluentAccountsResponse = exports.ConfluentAccountResponseData = exports.ConfluentAccountResponseAttributes = exports.ConfluentAccountResponse = exports.ConfluentAccountResourceAttributes = exports.ConfluentAccountCreateRequestData = exports.ConfluentAccountCreateRequestAttributes = exports.ConfluentAccountCreateRequest = exports.CloudWorkloadSecurityAgentRuleUpdateRequest = exports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = void 0;\nexports.FastlyServicesResponse = exports.FastlyServiceResponse = exports.FastlyServiceRequest = exports.FastlyServiceData = exports.FastlyServiceAttributes = exports.FastlyService = exports.FastlyAccountUpdateRequestData = exports.FastlyAccountUpdateRequestAttributes = exports.FastlyAccountUpdateRequest = exports.FastlyAccountsResponse = exports.FastlyAccountResponseData = exports.FastlyAccountResponse = exports.FastlyAccountCreateRequestData = exports.FastlyAccountCreateRequestAttributes = exports.FastlyAccountCreateRequest = exports.FastlyAccounResponseAttributes = exports.EventsWarning = exports.EventsTimeseriesQuery = exports.EventsSearch = exports.EventsScalarQuery = exports.EventsResponseMetadataPage = exports.EventsResponseMetadata = exports.EventsRequestPage = exports.EventsQueryOptions = exports.EventsQueryFilter = exports.EventsListResponseLinks = exports.EventsListResponse = exports.EventsListRequest = exports.EventsGroupBySort = exports.EventsGroupBy = exports.EventsCompute = exports.EventResponseAttributes = exports.EventResponse = exports.EventAttributes = exports.Event = exports.DowntimeUpdateRequestData = exports.DowntimeUpdateRequestAttributes = exports.DowntimeUpdateRequest = exports.DowntimeScheduleRecurrencesUpdateRequest = exports.DowntimeScheduleRecurrencesResponse = exports.DowntimeScheduleRecurrencesCreateRequest = exports.DowntimeScheduleRecurrenceResponse = exports.DowntimeScheduleRecurrenceCreateUpdateRequest = exports.DowntimeScheduleOneTimeResponse = exports.DowntimeScheduleOneTimeCreateUpdateRequest = exports.DowntimeScheduleCurrentDowntimeResponse = exports.DowntimeResponseData = exports.DowntimeResponseAttributes = exports.DowntimeResponse = exports.DowntimeRelationshipsMonitorData = void 0;\nexports.IncidentFieldAttributesMultipleValue = exports.IncidentCreateRequest = exports.IncidentCreateRelationships = exports.IncidentCreateData = exports.IncidentCreateAttributes = exports.IncidentAttachmentUpdateResponse = exports.IncidentAttachmentUpdateRequest = exports.IncidentAttachmentUpdateData = exports.IncidentAttachmentsResponse = exports.IncidentAttachmentsPostmortemAttributesAttachmentObject = exports.IncidentAttachmentRelationships = exports.IncidentAttachmentPostmortemAttributes = exports.IncidentAttachmentLinkAttributesAttachmentObject = exports.IncidentAttachmentLinkAttributes = exports.IncidentAttachmentData = exports.IdPMetadataFormData = exports.HTTPLogItem = exports.HTTPLogErrors = exports.HTTPLogError = exports.HTTPCIAppErrors = exports.HTTPCIAppError = exports.HourlyUsageResponse = exports.HourlyUsagePagination = exports.HourlyUsageMetadata = exports.HourlyUsageMeasurement = exports.HourlyUsageAttributes = exports.HourlyUsage = exports.GroupScalarColumn = exports.GetFindingResponse = exports.GCPSTSServiceAccountUpdateRequestData = exports.GCPSTSServiceAccountUpdateRequest = exports.GCPSTSServiceAccountsResponse = exports.GCPSTSServiceAccountResponse = exports.GCPSTSServiceAccountData = exports.GCPSTSServiceAccountCreateRequest = exports.GCPSTSServiceAccountAttributes = exports.GCPSTSServiceAccount = exports.GCPSTSDelegateAccountResponse = exports.GCPSTSDelegateAccountAttributes = exports.GCPSTSDelegateAccount = exports.GCPServiceAccountMeta = exports.FullApplicationKeyAttributes = exports.FullApplicationKey = exports.FullAPIKeyAttributes = exports.FullAPIKey = exports.FormulaLimit = exports.FindingRule = exports.FindingMute = exports.FindingAttributes = exports.Finding = void 0;\nexports.IncidentTeamUpdateRequest = exports.IncidentTeamUpdateData = exports.IncidentTeamUpdateAttributes = exports.IncidentTeamsResponse = exports.IncidentTeamResponseData = exports.IncidentTeamResponseAttributes = exports.IncidentTeamResponse = exports.IncidentTeamRelationships = exports.IncidentTeamCreateRequest = exports.IncidentTeamCreateData = exports.IncidentTeamCreateAttributes = exports.IncidentsResponse = exports.IncidentServiceUpdateRequest = exports.IncidentServiceUpdateData = exports.IncidentServiceUpdateAttributes = exports.IncidentServicesResponse = exports.IncidentServiceResponseData = exports.IncidentServiceResponseAttributes = exports.IncidentServiceResponse = exports.IncidentServiceRelationships = exports.IncidentServiceCreateRequest = exports.IncidentServiceCreateData = exports.IncidentServiceCreateAttributes = exports.IncidentSearchResponseUserFacetData = exports.IncidentSearchResponsePropertyFieldFacetData = exports.IncidentSearchResponseNumericFacetDataAggregates = exports.IncidentSearchResponseNumericFacetData = exports.IncidentSearchResponseMeta = exports.IncidentSearchResponseIncidentsData = exports.IncidentSearchResponseFieldFacetData = exports.IncidentSearchResponseFacetsData = exports.IncidentSearchResponseData = exports.IncidentSearchResponseAttributes = exports.IncidentSearchResponse = exports.IncidentResponseRelationships = exports.IncidentResponseMetaPagination = exports.IncidentResponseMeta = exports.IncidentResponseData = exports.IncidentResponseAttributes = exports.IncidentResponse = exports.IncidentNotificationHandle = exports.IncidentIntegrationMetadataResponseData = exports.IncidentIntegrationMetadataResponse = exports.IncidentIntegrationMetadataPatchRequest = exports.IncidentIntegrationMetadataPatchData = exports.IncidentIntegrationMetadataListResponse = exports.IncidentIntegrationMetadataCreateRequest = exports.IncidentIntegrationMetadataCreateData = exports.IncidentIntegrationMetadataAttributes = exports.IncidentFieldAttributesSingleValue = void 0;\nexports.LogsArchiveDestinationS3 = exports.LogsArchiveDestinationGCS = exports.LogsArchiveDestinationAzure = exports.LogsArchiveDefinition = exports.LogsArchiveCreateRequestDefinition = exports.LogsArchiveCreateRequestAttributes = exports.LogsArchiveCreateRequest = exports.LogsArchiveAttributes = exports.LogsArchive = exports.LogsAggregateSort = exports.LogsAggregateResponseData = exports.LogsAggregateResponse = exports.LogsAggregateRequestPage = exports.LogsAggregateRequest = exports.LogsAggregateBucketValueTimeseriesPoint = exports.LogsAggregateBucket = exports.LogAttributes = exports.Log = exports.ListFindingsResponse = exports.ListFindingsPage = exports.ListFindingsMeta = exports.ListDowntimesResponse = exports.ListApplicationKeysResponse = exports.JSONAPIErrorResponse = exports.JSONAPIErrorItem = exports.JiraIntegrationMetadataIssuesItem = exports.JiraIntegrationMetadata = exports.IPAllowlistUpdateRequest = exports.IPAllowlistResponse = exports.IPAllowlistEntryData = exports.IPAllowlistEntryAttributes = exports.IPAllowlistEntry = exports.IPAllowlistData = exports.IPAllowlistAttributes = exports.IntakePayloadAccepted = exports.IncidentUpdateRequest = exports.IncidentUpdateRelationships = exports.IncidentUpdateData = exports.IncidentUpdateAttributes = exports.IncidentTodoResponseData = exports.IncidentTodoResponse = exports.IncidentTodoPatchRequest = exports.IncidentTodoPatchData = exports.IncidentTodoListResponse = exports.IncidentTodoCreateRequest = exports.IncidentTodoCreateData = exports.IncidentTodoAttributes = exports.IncidentTodoAnonymousAssignee = exports.IncidentTimelineCellMarkdownCreateAttributesContent = exports.IncidentTimelineCellMarkdownCreateAttributes = void 0;\nexports.MetricCustomAggregation = exports.MetricBulkTagConfigStatusAttributes = exports.MetricBulkTagConfigStatus = exports.MetricBulkTagConfigResponse = exports.MetricBulkTagConfigDeleteRequest = exports.MetricBulkTagConfigDeleteAttributes = exports.MetricBulkTagConfigDelete = exports.MetricBulkTagConfigCreateRequest = exports.MetricBulkTagConfigCreateAttributes = exports.MetricBulkTagConfigCreate = exports.MetricAllTagsResponse = exports.MetricAllTagsAttributes = exports.MetricAllTags = exports.Metric = exports.LogsWarning = exports.LogsResponseMetadataPage = exports.LogsResponseMetadata = exports.LogsQueryOptions = exports.LogsQueryFilter = exports.LogsMetricUpdateRequest = exports.LogsMetricUpdateData = exports.LogsMetricUpdateCompute = exports.LogsMetricUpdateAttributes = exports.LogsMetricsResponse = exports.LogsMetricResponseGroupBy = exports.LogsMetricResponseFilter = exports.LogsMetricResponseData = exports.LogsMetricResponseCompute = exports.LogsMetricResponseAttributes = exports.LogsMetricResponse = exports.LogsMetricGroupBy = exports.LogsMetricFilter = exports.LogsMetricCreateRequest = exports.LogsMetricCreateData = exports.LogsMetricCreateAttributes = exports.LogsMetricCompute = exports.LogsListResponseLinks = exports.LogsListResponse = exports.LogsListRequestPage = exports.LogsListRequest = exports.LogsGroupByHistogram = exports.LogsGroupBy = exports.LogsCompute = exports.LogsArchives = exports.LogsArchiveOrderDefinition = exports.LogsArchiveOrderAttributes = exports.LogsArchiveOrder = exports.LogsArchiveIntegrationS3 = exports.LogsArchiveIntegrationGCS = exports.LogsArchiveIntegrationAzure = void 0;\nexports.MuteFindingResponse = exports.MuteFindingRequestProperties = exports.MuteFindingRequestData = exports.MuteFindingRequestAttributes = exports.MuteFindingRequest = exports.MonitorType = exports.MonitorDowntimeMatchResponseData = exports.MonitorDowntimeMatchResponseAttributes = exports.MonitorDowntimeMatchResponse = exports.MonitorConfigPolicyTagPolicyCreateRequest = exports.MonitorConfigPolicyTagPolicy = exports.MonitorConfigPolicyResponseData = exports.MonitorConfigPolicyResponse = exports.MonitorConfigPolicyListResponse = exports.MonitorConfigPolicyEditRequest = exports.MonitorConfigPolicyEditData = exports.MonitorConfigPolicyCreateRequest = exports.MonitorConfigPolicyCreateData = exports.MonitorConfigPolicyAttributeResponse = exports.MonitorConfigPolicyAttributeEditRequest = exports.MonitorConfigPolicyAttributeCreateRequest = exports.MetricVolumesResponse = exports.MetricTagConfigurationUpdateRequest = exports.MetricTagConfigurationUpdateData = exports.MetricTagConfigurationUpdateAttributes = exports.MetricTagConfigurationResponse = exports.MetricTagConfigurationCreateRequest = exports.MetricTagConfigurationCreateData = exports.MetricTagConfigurationCreateAttributes = exports.MetricTagConfigurationAttributes = exports.MetricTagConfiguration = exports.MetricSuggestedTagsAttributes = exports.MetricSuggestedTagsAndAggregationsResponse = exports.MetricSuggestedTagsAndAggregations = exports.MetricsTimeseriesQuery = exports.MetricsScalarQuery = exports.MetricSeries = exports.MetricsAndMetricTagConfigurationsResponse = exports.MetricResource = exports.MetricPoint = exports.MetricPayload = exports.MetricOrigin = exports.MetricMetadata = exports.MetricIngestedIndexedVolumeAttributes = exports.MetricIngestedIndexedVolume = exports.MetricEstimateResponse = exports.MetricEstimateAttributes = exports.MetricEstimate = exports.MetricDistinctVolumeAttributes = exports.MetricDistinctVolume = void 0;\nexports.RelationshipToRoles = exports.RelationshipToRoleData = exports.RelationshipToRole = exports.RelationshipToPermissions = exports.RelationshipToPermissionData = exports.RelationshipToPermission = exports.RelationshipToOrganizations = exports.RelationshipToOrganizationData = exports.RelationshipToOrganization = exports.RelationshipToIncidentPostmortemData = exports.RelationshipToIncidentPostmortem = exports.RelationshipToIncidentIntegrationMetadatas = exports.RelationshipToIncidentIntegrationMetadataData = exports.RelationshipToIncidentAttachmentData = exports.RelationshipToIncidentAttachment = exports.QueryFormula = exports.ProcessSummaryAttributes = exports.ProcessSummary = exports.ProcessSummariesResponse = exports.ProcessSummariesMetaPage = exports.ProcessSummariesMeta = exports.PermissionsResponse = exports.PermissionAttributes = exports.Permission = exports.PartialApplicationKeyResponse = exports.PartialApplicationKeyAttributes = exports.PartialApplicationKey = exports.PartialAPIKeyAttributes = exports.PartialAPIKey = exports.Pagination = exports.OrganizationAttributes = exports.Organization = exports.OpsgenieServiceUpdateRequest = exports.OpsgenieServiceUpdateData = exports.OpsgenieServiceUpdateAttributes = exports.OpsgenieServicesResponse = exports.OpsgenieServiceResponseData = exports.OpsgenieServiceResponseAttributes = exports.OpsgenieServiceResponse = exports.OpsgenieServiceCreateRequest = exports.OpsgenieServiceCreateData = exports.OpsgenieServiceCreateAttributes = exports.OnDemandConcurrencyCapResponse = exports.OnDemandConcurrencyCapAttributes = exports.OnDemandConcurrencyCap = exports.NullableRelationshipToUserData = exports.NullableRelationshipToUser = exports.MuteFindingResponseProperties = exports.MuteFindingResponseData = exports.MuteFindingResponseAttributes = void 0;\nexports.RUMApplicationsResponse = exports.RUMApplicationResponse = exports.RUMApplicationListAttributes = exports.RUMApplicationList = exports.RUMApplicationCreateRequest = exports.RUMApplicationCreateAttributes = exports.RUMApplicationCreate = exports.RUMApplicationAttributes = exports.RUMApplication = exports.RUMAnalyticsAggregateResponse = exports.RUMAggregationBucketsResponse = exports.RUMAggregateSort = exports.RUMAggregateRequest = exports.RUMAggregateBucketValueTimeseriesPoint = exports.RoleUpdateResponseData = exports.RoleUpdateResponse = exports.RoleUpdateRequest = exports.RoleUpdateData = exports.RoleUpdateAttributes = exports.RolesResponse = exports.RoleResponseRelationships = exports.RoleResponse = exports.RoleRelationships = exports.RoleCreateResponseData = exports.RoleCreateResponse = exports.RoleCreateRequest = exports.RoleCreateData = exports.RoleCreateAttributes = exports.RoleCloneRequest = exports.RoleCloneAttributes = exports.RoleClone = exports.RoleAttributes = exports.Role = exports.RestrictionPolicyUpdateRequest = exports.RestrictionPolicyResponse = exports.RestrictionPolicyBinding = exports.RestrictionPolicyAttributes = exports.RestrictionPolicy = exports.ResponseMetaAttributes = exports.RelationshipToUserTeamUserData = exports.RelationshipToUserTeamUser = exports.RelationshipToUserTeamPermissionData = exports.RelationshipToUserTeamPermission = exports.RelationshipToUsers = exports.RelationshipToUserData = exports.RelationshipToUser = exports.RelationshipToTeamLinks = exports.RelationshipToTeamLinkData = exports.RelationshipToSAMLAssertionAttributeData = exports.RelationshipToSAMLAssertionAttribute = void 0;\nexports.SecurityMonitoringSignalAssigneeUpdateAttributes = exports.SecurityMonitoringSignal = exports.SecurityMonitoringRuleUpdatePayload = exports.SecurityMonitoringRuleOptions = exports.SecurityMonitoringRuleNewValueOptions = exports.SecurityMonitoringRuleImpossibleTravelOptions = exports.SecurityMonitoringRuleCaseCreate = exports.SecurityMonitoringRuleCase = exports.SecurityMonitoringListRulesResponse = exports.SecurityMonitoringFilter = exports.SecurityFilterUpdateRequest = exports.SecurityFilterUpdateData = exports.SecurityFilterUpdateAttributes = exports.SecurityFiltersResponse = exports.SecurityFilterResponse = exports.SecurityFilterMeta = exports.SecurityFilterExclusionFilterResponse = exports.SecurityFilterExclusionFilter = exports.SecurityFilterCreateRequest = exports.SecurityFilterCreateData = exports.SecurityFilterCreateAttributes = exports.SecurityFilterAttributes = exports.SecurityFilter = exports.ScalarResponse = exports.ScalarMeta = exports.ScalarFormulaResponseAtrributes = exports.ScalarFormulaRequestAttributes = exports.ScalarFormulaRequest = exports.ScalarFormulaQueryResponse = exports.ScalarFormulaQueryRequest = exports.SAMLAssertionAttributeAttributes = exports.SAMLAssertionAttribute = exports.RUMWarning = exports.RUMSearchEventsRequest = exports.RUMResponsePage = exports.RUMResponseMetadata = exports.RUMResponseLinks = exports.RUMQueryPageOptions = exports.RUMQueryOptions = exports.RUMQueryFilter = exports.RUMGroupByHistogram = exports.RUMGroupBy = exports.RUMEventsResponse = exports.RUMEventAttributes = exports.RUMEvent = exports.RUMCompute = exports.RUMBucketResponse = exports.RUMApplicationUpdateRequest = exports.RUMApplicationUpdateAttributes = exports.RUMApplicationUpdate = void 0;\nexports.SensitiveDataScannerGroupUpdate = exports.SensitiveDataScannerGroupResponse = exports.SensitiveDataScannerGroupRelationships = exports.SensitiveDataScannerGroupList = exports.SensitiveDataScannerGroupItem = exports.SensitiveDataScannerGroupIncludedItem = exports.SensitiveDataScannerGroupDeleteResponse = exports.SensitiveDataScannerGroupDeleteRequest = exports.SensitiveDataScannerGroupData = exports.SensitiveDataScannerGroupCreateRequest = exports.SensitiveDataScannerGroupCreate = exports.SensitiveDataScannerGroupAttributes = exports.SensitiveDataScannerGroup = exports.SensitiveDataScannerGetConfigResponseData = exports.SensitiveDataScannerGetConfigResponse = exports.SensitiveDataScannerFilter = exports.SensitiveDataScannerCreateRuleResponse = exports.SensitiveDataScannerCreateGroupResponse = exports.SensitiveDataScannerConfigurationRelationships = exports.SensitiveDataScannerConfigurationData = exports.SensitiveDataScannerConfiguration = exports.SensitiveDataScannerConfigRequest = exports.SecurityMonitoringTriageUser = exports.SecurityMonitoringStandardRuleResponse = exports.SecurityMonitoringStandardRuleQuery = exports.SecurityMonitoringStandardRuleCreatePayload = exports.SecurityMonitoringSignalTriageUpdateResponse = exports.SecurityMonitoringSignalTriageUpdateData = exports.SecurityMonitoringSignalTriageAttributes = exports.SecurityMonitoringSignalStateUpdateRequest = exports.SecurityMonitoringSignalStateUpdateData = exports.SecurityMonitoringSignalStateUpdateAttributes = exports.SecurityMonitoringSignalsListResponseMetaPage = exports.SecurityMonitoringSignalsListResponseMeta = exports.SecurityMonitoringSignalsListResponseLinks = exports.SecurityMonitoringSignalsListResponse = exports.SecurityMonitoringSignalRuleResponseQuery = exports.SecurityMonitoringSignalRuleResponse = exports.SecurityMonitoringSignalRuleQuery = exports.SecurityMonitoringSignalRuleCreatePayload = exports.SecurityMonitoringSignalResponse = exports.SecurityMonitoringSignalListRequestPage = exports.SecurityMonitoringSignalListRequestFilter = exports.SecurityMonitoringSignalListRequest = exports.SecurityMonitoringSignalIncidentsUpdateRequest = exports.SecurityMonitoringSignalIncidentsUpdateData = exports.SecurityMonitoringSignalIncidentsUpdateAttributes = exports.SecurityMonitoringSignalAttributes = exports.SecurityMonitoringSignalAssigneeUpdateRequest = exports.SecurityMonitoringSignalAssigneeUpdateData = void 0;\nexports.ServiceDefinitionV2Dot1Pagerduty = exports.ServiceDefinitionV2Dot1Opsgenie = exports.ServiceDefinitionV2Dot1MSTeams = exports.ServiceDefinitionV2Dot1Link = exports.ServiceDefinitionV2Dot1Integrations = exports.ServiceDefinitionV2Dot1Email = exports.ServiceDefinitionV2Dot1 = exports.ServiceDefinitionV2Doc = exports.ServiceDefinitionV2 = exports.ServiceDefinitionV1Resource = exports.ServiceDefinitionV1Org = exports.ServiceDefinitionV1Integrations = exports.ServiceDefinitionV1Info = exports.ServiceDefinitionV1Contact = exports.ServiceDefinitionV1 = exports.ServiceDefinitionsListResponse = exports.ServiceDefinitionMetaWarnings = exports.ServiceDefinitionMeta = exports.ServiceDefinitionGetResponse = exports.ServiceDefinitionDataAttributes = exports.ServiceDefinitionData = exports.ServiceDefinitionCreateResponse = exports.ServiceAccountCreateRequest = exports.ServiceAccountCreateData = exports.ServiceAccountCreateAttributes = exports.SensitiveDataScannerTextReplacement = exports.SensitiveDataScannerStandardPatternsResponseItem = exports.SensitiveDataScannerStandardPatternsResponseData = exports.SensitiveDataScannerStandardPatternData = exports.SensitiveDataScannerStandardPatternAttributes = exports.SensitiveDataScannerStandardPattern = exports.SensitiveDataScannerRuleUpdateResponse = exports.SensitiveDataScannerRuleUpdateRequest = exports.SensitiveDataScannerRuleUpdate = exports.SensitiveDataScannerRuleResponse = exports.SensitiveDataScannerRuleRelationships = exports.SensitiveDataScannerRuleIncludedItem = exports.SensitiveDataScannerRuleDeleteResponse = exports.SensitiveDataScannerRuleDeleteRequest = exports.SensitiveDataScannerRuleData = exports.SensitiveDataScannerRuleCreateRequest = exports.SensitiveDataScannerRuleCreate = exports.SensitiveDataScannerRuleAttributes = exports.SensitiveDataScannerRule = exports.SensitiveDataScannerReorderGroupsResponse = exports.SensitiveDataScannerReorderConfig = exports.SensitiveDataScannerMetaVersionOnly = exports.SensitiveDataScannerMeta = exports.SensitiveDataScannerGroupUpdateResponse = exports.SensitiveDataScannerGroupUpdateRequest = void 0;\nexports.SpansQueryOptions = exports.SpansQueryFilter = exports.SpansMetricUpdateRequest = exports.SpansMetricUpdateData = exports.SpansMetricUpdateCompute = exports.SpansMetricUpdateAttributes = exports.SpansMetricsResponse = exports.SpansMetricResponseGroupBy = exports.SpansMetricResponseFilter = exports.SpansMetricResponseData = exports.SpansMetricResponseCompute = exports.SpansMetricResponseAttributes = exports.SpansMetricResponse = exports.SpansMetricGroupBy = exports.SpansMetricFilter = exports.SpansMetricCreateRequest = exports.SpansMetricCreateData = exports.SpansMetricCreateAttributes = exports.SpansMetricCompute = exports.SpansListResponseMetadata = exports.SpansListResponseLinks = exports.SpansListResponse = exports.SpansListRequestPage = exports.SpansListRequestData = exports.SpansListRequestAttributes = exports.SpansListRequest = exports.SpansGroupByHistogram = exports.SpansGroupBy = exports.SpansCompute = exports.SpansAttributes = exports.SpansAggregateSort = exports.SpansAggregateResponseMetadata = exports.SpansAggregateResponse = exports.SpansAggregateRequestAttributes = exports.SpansAggregateRequest = exports.SpansAggregateData = exports.SpansAggregateBucketValueTimeseriesPoint = exports.SpansAggregateBucketAttributes = exports.SpansAggregateBucket = exports.Span = exports.SlackIntegrationMetadataChannelItem = exports.SlackIntegrationMetadata = exports.ServiceDefinitionV2Slack = exports.ServiceDefinitionV2Repo = exports.ServiceDefinitionV2Opsgenie = exports.ServiceDefinitionV2MSTeams = exports.ServiceDefinitionV2Link = exports.ServiceDefinitionV2Integrations = exports.ServiceDefinitionV2Email = exports.ServiceDefinitionV2Dot1Slack = void 0;\nexports.UserCreateData = exports.UserCreateAttributes = exports.UserAttributes = exports.User = exports.UsageTimeSeriesObject = exports.UsageObservabilityPipelinesResponse = exports.UsageLambdaTracedInvocationsResponse = exports.UsageDataObject = exports.UsageAttributesObject = exports.UsageApplicationSecurityMonitoringResponse = exports.Unit = exports.TimeseriesResponseSeries = exports.TimeseriesResponseAttributes = exports.TimeseriesResponse = exports.TimeseriesFormulaRequestAttributes = exports.TimeseriesFormulaRequest = exports.TimeseriesFormulaQueryResponse = exports.TimeseriesFormulaQueryRequest = exports.TeamUpdateRequest = exports.TeamUpdateRelationships = exports.TeamUpdateAttributes = exports.TeamUpdate = exports.TeamsResponseMetaPagination = exports.TeamsResponseMeta = exports.TeamsResponseLinks = exports.TeamsResponse = exports.TeamResponse = exports.TeamRelationshipsLinks = exports.TeamRelationships = exports.TeamPermissionSettingUpdateRequest = exports.TeamPermissionSettingUpdateAttributes = exports.TeamPermissionSettingUpdate = exports.TeamPermissionSettingsResponse = exports.TeamPermissionSettingResponse = exports.TeamPermissionSettingAttributes = exports.TeamPermissionSetting = exports.TeamLinksResponse = exports.TeamLinkResponse = exports.TeamLinkCreateRequest = exports.TeamLinkCreate = exports.TeamLinkAttributes = exports.TeamLink = exports.TeamCreateRequest = exports.TeamCreateRelationships = exports.TeamCreateAttributes = exports.TeamCreate = exports.TeamAttributes = exports.Team = exports.SpansWarning = exports.SpansResponseMetadataPage = void 0;\nexports.ObjectSerializer = exports.UserUpdateRequest = exports.UserUpdateData = exports.UserUpdateAttributes = exports.UserTeamUpdateRequest = exports.UserTeamUpdate = exports.UserTeamsResponse = exports.UserTeamResponse = exports.UserTeamRequest = exports.UserTeamRelationships = exports.UserTeamPermissionAttributes = exports.UserTeamPermission = exports.UserTeamCreate = exports.UserTeamAttributes = exports.UserTeam = exports.UsersResponse = exports.UserResponseRelationships = exports.UserResponse = exports.UserRelationships = exports.UserInvitationsResponse = exports.UserInvitationsRequest = exports.UserInvitationResponseData = exports.UserInvitationResponse = exports.UserInvitationRelationships = exports.UserInvitationDataAttributes = exports.UserInvitationData = exports.UserCreateRequest = void 0;\nvar AuditApi_1 = require(\"./apis/AuditApi\");\nObject.defineProperty(exports, \"AuditApi\", { enumerable: true, get: function () { return AuditApi_1.AuditApi; } });\nvar AuthNMappingsApi_1 = require(\"./apis/AuthNMappingsApi\");\nObject.defineProperty(exports, \"AuthNMappingsApi\", { enumerable: true, get: function () { return AuthNMappingsApi_1.AuthNMappingsApi; } });\nvar CIVisibilityPipelinesApi_1 = require(\"./apis/CIVisibilityPipelinesApi\");\nObject.defineProperty(exports, \"CIVisibilityPipelinesApi\", { enumerable: true, get: function () { return CIVisibilityPipelinesApi_1.CIVisibilityPipelinesApi; } });\nvar CIVisibilityTestsApi_1 = require(\"./apis/CIVisibilityTestsApi\");\nObject.defineProperty(exports, \"CIVisibilityTestsApi\", { enumerable: true, get: function () { return CIVisibilityTestsApi_1.CIVisibilityTestsApi; } });\nvar CloudWorkloadSecurityApi_1 = require(\"./apis/CloudWorkloadSecurityApi\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityApi\", { enumerable: true, get: function () { return CloudWorkloadSecurityApi_1.CloudWorkloadSecurityApi; } });\nvar CloudflareIntegrationApi_1 = require(\"./apis/CloudflareIntegrationApi\");\nObject.defineProperty(exports, \"CloudflareIntegrationApi\", { enumerable: true, get: function () { return CloudflareIntegrationApi_1.CloudflareIntegrationApi; } });\nvar ConfluentCloudApi_1 = require(\"./apis/ConfluentCloudApi\");\nObject.defineProperty(exports, \"ConfluentCloudApi\", { enumerable: true, get: function () { return ConfluentCloudApi_1.ConfluentCloudApi; } });\nvar DashboardListsApi_1 = require(\"./apis/DashboardListsApi\");\nObject.defineProperty(exports, \"DashboardListsApi\", { enumerable: true, get: function () { return DashboardListsApi_1.DashboardListsApi; } });\nvar DowntimesApi_1 = require(\"./apis/DowntimesApi\");\nObject.defineProperty(exports, \"DowntimesApi\", { enumerable: true, get: function () { return DowntimesApi_1.DowntimesApi; } });\nvar EventsApi_1 = require(\"./apis/EventsApi\");\nObject.defineProperty(exports, \"EventsApi\", { enumerable: true, get: function () { return EventsApi_1.EventsApi; } });\nvar FastlyIntegrationApi_1 = require(\"./apis/FastlyIntegrationApi\");\nObject.defineProperty(exports, \"FastlyIntegrationApi\", { enumerable: true, get: function () { return FastlyIntegrationApi_1.FastlyIntegrationApi; } });\nvar GCPIntegrationApi_1 = require(\"./apis/GCPIntegrationApi\");\nObject.defineProperty(exports, \"GCPIntegrationApi\", { enumerable: true, get: function () { return GCPIntegrationApi_1.GCPIntegrationApi; } });\nvar IPAllowlistApi_1 = require(\"./apis/IPAllowlistApi\");\nObject.defineProperty(exports, \"IPAllowlistApi\", { enumerable: true, get: function () { return IPAllowlistApi_1.IPAllowlistApi; } });\nvar IncidentServicesApi_1 = require(\"./apis/IncidentServicesApi\");\nObject.defineProperty(exports, \"IncidentServicesApi\", { enumerable: true, get: function () { return IncidentServicesApi_1.IncidentServicesApi; } });\nvar IncidentTeamsApi_1 = require(\"./apis/IncidentTeamsApi\");\nObject.defineProperty(exports, \"IncidentTeamsApi\", { enumerable: true, get: function () { return IncidentTeamsApi_1.IncidentTeamsApi; } });\nvar IncidentsApi_1 = require(\"./apis/IncidentsApi\");\nObject.defineProperty(exports, \"IncidentsApi\", { enumerable: true, get: function () { return IncidentsApi_1.IncidentsApi; } });\nvar KeyManagementApi_1 = require(\"./apis/KeyManagementApi\");\nObject.defineProperty(exports, \"KeyManagementApi\", { enumerable: true, get: function () { return KeyManagementApi_1.KeyManagementApi; } });\nvar LogsApi_1 = require(\"./apis/LogsApi\");\nObject.defineProperty(exports, \"LogsApi\", { enumerable: true, get: function () { return LogsApi_1.LogsApi; } });\nvar LogsArchivesApi_1 = require(\"./apis/LogsArchivesApi\");\nObject.defineProperty(exports, \"LogsArchivesApi\", { enumerable: true, get: function () { return LogsArchivesApi_1.LogsArchivesApi; } });\nvar LogsMetricsApi_1 = require(\"./apis/LogsMetricsApi\");\nObject.defineProperty(exports, \"LogsMetricsApi\", { enumerable: true, get: function () { return LogsMetricsApi_1.LogsMetricsApi; } });\nvar MetricsApi_1 = require(\"./apis/MetricsApi\");\nObject.defineProperty(exports, \"MetricsApi\", { enumerable: true, get: function () { return MetricsApi_1.MetricsApi; } });\nvar MonitorsApi_1 = require(\"./apis/MonitorsApi\");\nObject.defineProperty(exports, \"MonitorsApi\", { enumerable: true, get: function () { return MonitorsApi_1.MonitorsApi; } });\nvar OpsgenieIntegrationApi_1 = require(\"./apis/OpsgenieIntegrationApi\");\nObject.defineProperty(exports, \"OpsgenieIntegrationApi\", { enumerable: true, get: function () { return OpsgenieIntegrationApi_1.OpsgenieIntegrationApi; } });\nvar OrganizationsApi_1 = require(\"./apis/OrganizationsApi\");\nObject.defineProperty(exports, \"OrganizationsApi\", { enumerable: true, get: function () { return OrganizationsApi_1.OrganizationsApi; } });\nvar ProcessesApi_1 = require(\"./apis/ProcessesApi\");\nObject.defineProperty(exports, \"ProcessesApi\", { enumerable: true, get: function () { return ProcessesApi_1.ProcessesApi; } });\nvar RUMApi_1 = require(\"./apis/RUMApi\");\nObject.defineProperty(exports, \"RUMApi\", { enumerable: true, get: function () { return RUMApi_1.RUMApi; } });\nvar RestrictionPoliciesApi_1 = require(\"./apis/RestrictionPoliciesApi\");\nObject.defineProperty(exports, \"RestrictionPoliciesApi\", { enumerable: true, get: function () { return RestrictionPoliciesApi_1.RestrictionPoliciesApi; } });\nvar RolesApi_1 = require(\"./apis/RolesApi\");\nObject.defineProperty(exports, \"RolesApi\", { enumerable: true, get: function () { return RolesApi_1.RolesApi; } });\nvar SecurityMonitoringApi_1 = require(\"./apis/SecurityMonitoringApi\");\nObject.defineProperty(exports, \"SecurityMonitoringApi\", { enumerable: true, get: function () { return SecurityMonitoringApi_1.SecurityMonitoringApi; } });\nvar SensitiveDataScannerApi_1 = require(\"./apis/SensitiveDataScannerApi\");\nObject.defineProperty(exports, \"SensitiveDataScannerApi\", { enumerable: true, get: function () { return SensitiveDataScannerApi_1.SensitiveDataScannerApi; } });\nvar ServiceAccountsApi_1 = require(\"./apis/ServiceAccountsApi\");\nObject.defineProperty(exports, \"ServiceAccountsApi\", { enumerable: true, get: function () { return ServiceAccountsApi_1.ServiceAccountsApi; } });\nvar ServiceDefinitionApi_1 = require(\"./apis/ServiceDefinitionApi\");\nObject.defineProperty(exports, \"ServiceDefinitionApi\", { enumerable: true, get: function () { return ServiceDefinitionApi_1.ServiceDefinitionApi; } });\nvar SpansApi_1 = require(\"./apis/SpansApi\");\nObject.defineProperty(exports, \"SpansApi\", { enumerable: true, get: function () { return SpansApi_1.SpansApi; } });\nvar SpansMetricsApi_1 = require(\"./apis/SpansMetricsApi\");\nObject.defineProperty(exports, \"SpansMetricsApi\", { enumerable: true, get: function () { return SpansMetricsApi_1.SpansMetricsApi; } });\nvar SyntheticsApi_1 = require(\"./apis/SyntheticsApi\");\nObject.defineProperty(exports, \"SyntheticsApi\", { enumerable: true, get: function () { return SyntheticsApi_1.SyntheticsApi; } });\nvar TeamsApi_1 = require(\"./apis/TeamsApi\");\nObject.defineProperty(exports, \"TeamsApi\", { enumerable: true, get: function () { return TeamsApi_1.TeamsApi; } });\nvar UsageMeteringApi_1 = require(\"./apis/UsageMeteringApi\");\nObject.defineProperty(exports, \"UsageMeteringApi\", { enumerable: true, get: function () { return UsageMeteringApi_1.UsageMeteringApi; } });\nvar UsersApi_1 = require(\"./apis/UsersApi\");\nObject.defineProperty(exports, \"UsersApi\", { enumerable: true, get: function () { return UsersApi_1.UsersApi; } });\nvar APIErrorResponse_1 = require(\"./models/APIErrorResponse\");\nObject.defineProperty(exports, \"APIErrorResponse\", { enumerable: true, get: function () { return APIErrorResponse_1.APIErrorResponse; } });\nvar APIKeyCreateAttributes_1 = require(\"./models/APIKeyCreateAttributes\");\nObject.defineProperty(exports, \"APIKeyCreateAttributes\", { enumerable: true, get: function () { return APIKeyCreateAttributes_1.APIKeyCreateAttributes; } });\nvar APIKeyCreateData_1 = require(\"./models/APIKeyCreateData\");\nObject.defineProperty(exports, \"APIKeyCreateData\", { enumerable: true, get: function () { return APIKeyCreateData_1.APIKeyCreateData; } });\nvar APIKeyCreateRequest_1 = require(\"./models/APIKeyCreateRequest\");\nObject.defineProperty(exports, \"APIKeyCreateRequest\", { enumerable: true, get: function () { return APIKeyCreateRequest_1.APIKeyCreateRequest; } });\nvar APIKeyRelationships_1 = require(\"./models/APIKeyRelationships\");\nObject.defineProperty(exports, \"APIKeyRelationships\", { enumerable: true, get: function () { return APIKeyRelationships_1.APIKeyRelationships; } });\nvar APIKeyResponse_1 = require(\"./models/APIKeyResponse\");\nObject.defineProperty(exports, \"APIKeyResponse\", { enumerable: true, get: function () { return APIKeyResponse_1.APIKeyResponse; } });\nvar APIKeysResponse_1 = require(\"./models/APIKeysResponse\");\nObject.defineProperty(exports, \"APIKeysResponse\", { enumerable: true, get: function () { return APIKeysResponse_1.APIKeysResponse; } });\nvar APIKeyUpdateAttributes_1 = require(\"./models/APIKeyUpdateAttributes\");\nObject.defineProperty(exports, \"APIKeyUpdateAttributes\", { enumerable: true, get: function () { return APIKeyUpdateAttributes_1.APIKeyUpdateAttributes; } });\nvar APIKeyUpdateData_1 = require(\"./models/APIKeyUpdateData\");\nObject.defineProperty(exports, \"APIKeyUpdateData\", { enumerable: true, get: function () { return APIKeyUpdateData_1.APIKeyUpdateData; } });\nvar APIKeyUpdateRequest_1 = require(\"./models/APIKeyUpdateRequest\");\nObject.defineProperty(exports, \"APIKeyUpdateRequest\", { enumerable: true, get: function () { return APIKeyUpdateRequest_1.APIKeyUpdateRequest; } });\nvar ApplicationKeyCreateAttributes_1 = require(\"./models/ApplicationKeyCreateAttributes\");\nObject.defineProperty(exports, \"ApplicationKeyCreateAttributes\", { enumerable: true, get: function () { return ApplicationKeyCreateAttributes_1.ApplicationKeyCreateAttributes; } });\nvar ApplicationKeyCreateData_1 = require(\"./models/ApplicationKeyCreateData\");\nObject.defineProperty(exports, \"ApplicationKeyCreateData\", { enumerable: true, get: function () { return ApplicationKeyCreateData_1.ApplicationKeyCreateData; } });\nvar ApplicationKeyCreateRequest_1 = require(\"./models/ApplicationKeyCreateRequest\");\nObject.defineProperty(exports, \"ApplicationKeyCreateRequest\", { enumerable: true, get: function () { return ApplicationKeyCreateRequest_1.ApplicationKeyCreateRequest; } });\nvar ApplicationKeyRelationships_1 = require(\"./models/ApplicationKeyRelationships\");\nObject.defineProperty(exports, \"ApplicationKeyRelationships\", { enumerable: true, get: function () { return ApplicationKeyRelationships_1.ApplicationKeyRelationships; } });\nvar ApplicationKeyResponse_1 = require(\"./models/ApplicationKeyResponse\");\nObject.defineProperty(exports, \"ApplicationKeyResponse\", { enumerable: true, get: function () { return ApplicationKeyResponse_1.ApplicationKeyResponse; } });\nvar ApplicationKeyUpdateAttributes_1 = require(\"./models/ApplicationKeyUpdateAttributes\");\nObject.defineProperty(exports, \"ApplicationKeyUpdateAttributes\", { enumerable: true, get: function () { return ApplicationKeyUpdateAttributes_1.ApplicationKeyUpdateAttributes; } });\nvar ApplicationKeyUpdateData_1 = require(\"./models/ApplicationKeyUpdateData\");\nObject.defineProperty(exports, \"ApplicationKeyUpdateData\", { enumerable: true, get: function () { return ApplicationKeyUpdateData_1.ApplicationKeyUpdateData; } });\nvar ApplicationKeyUpdateRequest_1 = require(\"./models/ApplicationKeyUpdateRequest\");\nObject.defineProperty(exports, \"ApplicationKeyUpdateRequest\", { enumerable: true, get: function () { return ApplicationKeyUpdateRequest_1.ApplicationKeyUpdateRequest; } });\nvar AuditLogsEvent_1 = require(\"./models/AuditLogsEvent\");\nObject.defineProperty(exports, \"AuditLogsEvent\", { enumerable: true, get: function () { return AuditLogsEvent_1.AuditLogsEvent; } });\nvar AuditLogsEventAttributes_1 = require(\"./models/AuditLogsEventAttributes\");\nObject.defineProperty(exports, \"AuditLogsEventAttributes\", { enumerable: true, get: function () { return AuditLogsEventAttributes_1.AuditLogsEventAttributes; } });\nvar AuditLogsEventsResponse_1 = require(\"./models/AuditLogsEventsResponse\");\nObject.defineProperty(exports, \"AuditLogsEventsResponse\", { enumerable: true, get: function () { return AuditLogsEventsResponse_1.AuditLogsEventsResponse; } });\nvar AuditLogsQueryFilter_1 = require(\"./models/AuditLogsQueryFilter\");\nObject.defineProperty(exports, \"AuditLogsQueryFilter\", { enumerable: true, get: function () { return AuditLogsQueryFilter_1.AuditLogsQueryFilter; } });\nvar AuditLogsQueryOptions_1 = require(\"./models/AuditLogsQueryOptions\");\nObject.defineProperty(exports, \"AuditLogsQueryOptions\", { enumerable: true, get: function () { return AuditLogsQueryOptions_1.AuditLogsQueryOptions; } });\nvar AuditLogsQueryPageOptions_1 = require(\"./models/AuditLogsQueryPageOptions\");\nObject.defineProperty(exports, \"AuditLogsQueryPageOptions\", { enumerable: true, get: function () { return AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions; } });\nvar AuditLogsResponseLinks_1 = require(\"./models/AuditLogsResponseLinks\");\nObject.defineProperty(exports, \"AuditLogsResponseLinks\", { enumerable: true, get: function () { return AuditLogsResponseLinks_1.AuditLogsResponseLinks; } });\nvar AuditLogsResponseMetadata_1 = require(\"./models/AuditLogsResponseMetadata\");\nObject.defineProperty(exports, \"AuditLogsResponseMetadata\", { enumerable: true, get: function () { return AuditLogsResponseMetadata_1.AuditLogsResponseMetadata; } });\nvar AuditLogsResponsePage_1 = require(\"./models/AuditLogsResponsePage\");\nObject.defineProperty(exports, \"AuditLogsResponsePage\", { enumerable: true, get: function () { return AuditLogsResponsePage_1.AuditLogsResponsePage; } });\nvar AuditLogsSearchEventsRequest_1 = require(\"./models/AuditLogsSearchEventsRequest\");\nObject.defineProperty(exports, \"AuditLogsSearchEventsRequest\", { enumerable: true, get: function () { return AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest; } });\nvar AuditLogsWarning_1 = require(\"./models/AuditLogsWarning\");\nObject.defineProperty(exports, \"AuditLogsWarning\", { enumerable: true, get: function () { return AuditLogsWarning_1.AuditLogsWarning; } });\nvar AuthNMapping_1 = require(\"./models/AuthNMapping\");\nObject.defineProperty(exports, \"AuthNMapping\", { enumerable: true, get: function () { return AuthNMapping_1.AuthNMapping; } });\nvar AuthNMappingAttributes_1 = require(\"./models/AuthNMappingAttributes\");\nObject.defineProperty(exports, \"AuthNMappingAttributes\", { enumerable: true, get: function () { return AuthNMappingAttributes_1.AuthNMappingAttributes; } });\nvar AuthNMappingCreateAttributes_1 = require(\"./models/AuthNMappingCreateAttributes\");\nObject.defineProperty(exports, \"AuthNMappingCreateAttributes\", { enumerable: true, get: function () { return AuthNMappingCreateAttributes_1.AuthNMappingCreateAttributes; } });\nvar AuthNMappingCreateData_1 = require(\"./models/AuthNMappingCreateData\");\nObject.defineProperty(exports, \"AuthNMappingCreateData\", { enumerable: true, get: function () { return AuthNMappingCreateData_1.AuthNMappingCreateData; } });\nvar AuthNMappingCreateRelationships_1 = require(\"./models/AuthNMappingCreateRelationships\");\nObject.defineProperty(exports, \"AuthNMappingCreateRelationships\", { enumerable: true, get: function () { return AuthNMappingCreateRelationships_1.AuthNMappingCreateRelationships; } });\nvar AuthNMappingCreateRequest_1 = require(\"./models/AuthNMappingCreateRequest\");\nObject.defineProperty(exports, \"AuthNMappingCreateRequest\", { enumerable: true, get: function () { return AuthNMappingCreateRequest_1.AuthNMappingCreateRequest; } });\nvar AuthNMappingRelationships_1 = require(\"./models/AuthNMappingRelationships\");\nObject.defineProperty(exports, \"AuthNMappingRelationships\", { enumerable: true, get: function () { return AuthNMappingRelationships_1.AuthNMappingRelationships; } });\nvar AuthNMappingResponse_1 = require(\"./models/AuthNMappingResponse\");\nObject.defineProperty(exports, \"AuthNMappingResponse\", { enumerable: true, get: function () { return AuthNMappingResponse_1.AuthNMappingResponse; } });\nvar AuthNMappingsResponse_1 = require(\"./models/AuthNMappingsResponse\");\nObject.defineProperty(exports, \"AuthNMappingsResponse\", { enumerable: true, get: function () { return AuthNMappingsResponse_1.AuthNMappingsResponse; } });\nvar AuthNMappingUpdateAttributes_1 = require(\"./models/AuthNMappingUpdateAttributes\");\nObject.defineProperty(exports, \"AuthNMappingUpdateAttributes\", { enumerable: true, get: function () { return AuthNMappingUpdateAttributes_1.AuthNMappingUpdateAttributes; } });\nvar AuthNMappingUpdateData_1 = require(\"./models/AuthNMappingUpdateData\");\nObject.defineProperty(exports, \"AuthNMappingUpdateData\", { enumerable: true, get: function () { return AuthNMappingUpdateData_1.AuthNMappingUpdateData; } });\nvar AuthNMappingUpdateRelationships_1 = require(\"./models/AuthNMappingUpdateRelationships\");\nObject.defineProperty(exports, \"AuthNMappingUpdateRelationships\", { enumerable: true, get: function () { return AuthNMappingUpdateRelationships_1.AuthNMappingUpdateRelationships; } });\nvar AuthNMappingUpdateRequest_1 = require(\"./models/AuthNMappingUpdateRequest\");\nObject.defineProperty(exports, \"AuthNMappingUpdateRequest\", { enumerable: true, get: function () { return AuthNMappingUpdateRequest_1.AuthNMappingUpdateRequest; } });\nvar ChargebackBreakdown_1 = require(\"./models/ChargebackBreakdown\");\nObject.defineProperty(exports, \"ChargebackBreakdown\", { enumerable: true, get: function () { return ChargebackBreakdown_1.ChargebackBreakdown; } });\nvar CIAppAggregateBucketValueTimeseriesPoint_1 = require(\"./models/CIAppAggregateBucketValueTimeseriesPoint\");\nObject.defineProperty(exports, \"CIAppAggregateBucketValueTimeseriesPoint\", { enumerable: true, get: function () { return CIAppAggregateBucketValueTimeseriesPoint_1.CIAppAggregateBucketValueTimeseriesPoint; } });\nvar CIAppAggregateSort_1 = require(\"./models/CIAppAggregateSort\");\nObject.defineProperty(exports, \"CIAppAggregateSort\", { enumerable: true, get: function () { return CIAppAggregateSort_1.CIAppAggregateSort; } });\nvar CIAppCIError_1 = require(\"./models/CIAppCIError\");\nObject.defineProperty(exports, \"CIAppCIError\", { enumerable: true, get: function () { return CIAppCIError_1.CIAppCIError; } });\nvar CIAppCompute_1 = require(\"./models/CIAppCompute\");\nObject.defineProperty(exports, \"CIAppCompute\", { enumerable: true, get: function () { return CIAppCompute_1.CIAppCompute; } });\nvar CIAppCreatePipelineEventRequest_1 = require(\"./models/CIAppCreatePipelineEventRequest\");\nObject.defineProperty(exports, \"CIAppCreatePipelineEventRequest\", { enumerable: true, get: function () { return CIAppCreatePipelineEventRequest_1.CIAppCreatePipelineEventRequest; } });\nvar CIAppCreatePipelineEventRequestAttributes_1 = require(\"./models/CIAppCreatePipelineEventRequestAttributes\");\nObject.defineProperty(exports, \"CIAppCreatePipelineEventRequestAttributes\", { enumerable: true, get: function () { return CIAppCreatePipelineEventRequestAttributes_1.CIAppCreatePipelineEventRequestAttributes; } });\nvar CIAppCreatePipelineEventRequestData_1 = require(\"./models/CIAppCreatePipelineEventRequestData\");\nObject.defineProperty(exports, \"CIAppCreatePipelineEventRequestData\", { enumerable: true, get: function () { return CIAppCreatePipelineEventRequestData_1.CIAppCreatePipelineEventRequestData; } });\nvar CIAppEventAttributes_1 = require(\"./models/CIAppEventAttributes\");\nObject.defineProperty(exports, \"CIAppEventAttributes\", { enumerable: true, get: function () { return CIAppEventAttributes_1.CIAppEventAttributes; } });\nvar CIAppGitInfo_1 = require(\"./models/CIAppGitInfo\");\nObject.defineProperty(exports, \"CIAppGitInfo\", { enumerable: true, get: function () { return CIAppGitInfo_1.CIAppGitInfo; } });\nvar CIAppGroupByHistogram_1 = require(\"./models/CIAppGroupByHistogram\");\nObject.defineProperty(exports, \"CIAppGroupByHistogram\", { enumerable: true, get: function () { return CIAppGroupByHistogram_1.CIAppGroupByHistogram; } });\nvar CIAppHostInfo_1 = require(\"./models/CIAppHostInfo\");\nObject.defineProperty(exports, \"CIAppHostInfo\", { enumerable: true, get: function () { return CIAppHostInfo_1.CIAppHostInfo; } });\nvar CIAppPipelineEvent_1 = require(\"./models/CIAppPipelineEvent\");\nObject.defineProperty(exports, \"CIAppPipelineEvent\", { enumerable: true, get: function () { return CIAppPipelineEvent_1.CIAppPipelineEvent; } });\nvar CIAppPipelineEventAttributes_1 = require(\"./models/CIAppPipelineEventAttributes\");\nObject.defineProperty(exports, \"CIAppPipelineEventAttributes\", { enumerable: true, get: function () { return CIAppPipelineEventAttributes_1.CIAppPipelineEventAttributes; } });\nvar CIAppPipelineEventJob_1 = require(\"./models/CIAppPipelineEventJob\");\nObject.defineProperty(exports, \"CIAppPipelineEventJob\", { enumerable: true, get: function () { return CIAppPipelineEventJob_1.CIAppPipelineEventJob; } });\nvar CIAppPipelineEventParentPipeline_1 = require(\"./models/CIAppPipelineEventParentPipeline\");\nObject.defineProperty(exports, \"CIAppPipelineEventParentPipeline\", { enumerable: true, get: function () { return CIAppPipelineEventParentPipeline_1.CIAppPipelineEventParentPipeline; } });\nvar CIAppPipelineEventPipeline_1 = require(\"./models/CIAppPipelineEventPipeline\");\nObject.defineProperty(exports, \"CIAppPipelineEventPipeline\", { enumerable: true, get: function () { return CIAppPipelineEventPipeline_1.CIAppPipelineEventPipeline; } });\nvar CIAppPipelineEventPreviousPipeline_1 = require(\"./models/CIAppPipelineEventPreviousPipeline\");\nObject.defineProperty(exports, \"CIAppPipelineEventPreviousPipeline\", { enumerable: true, get: function () { return CIAppPipelineEventPreviousPipeline_1.CIAppPipelineEventPreviousPipeline; } });\nvar CIAppPipelineEventsRequest_1 = require(\"./models/CIAppPipelineEventsRequest\");\nObject.defineProperty(exports, \"CIAppPipelineEventsRequest\", { enumerable: true, get: function () { return CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest; } });\nvar CIAppPipelineEventsResponse_1 = require(\"./models/CIAppPipelineEventsResponse\");\nObject.defineProperty(exports, \"CIAppPipelineEventsResponse\", { enumerable: true, get: function () { return CIAppPipelineEventsResponse_1.CIAppPipelineEventsResponse; } });\nvar CIAppPipelineEventStage_1 = require(\"./models/CIAppPipelineEventStage\");\nObject.defineProperty(exports, \"CIAppPipelineEventStage\", { enumerable: true, get: function () { return CIAppPipelineEventStage_1.CIAppPipelineEventStage; } });\nvar CIAppPipelineEventStep_1 = require(\"./models/CIAppPipelineEventStep\");\nObject.defineProperty(exports, \"CIAppPipelineEventStep\", { enumerable: true, get: function () { return CIAppPipelineEventStep_1.CIAppPipelineEventStep; } });\nvar CIAppPipelinesAggregateRequest_1 = require(\"./models/CIAppPipelinesAggregateRequest\");\nObject.defineProperty(exports, \"CIAppPipelinesAggregateRequest\", { enumerable: true, get: function () { return CIAppPipelinesAggregateRequest_1.CIAppPipelinesAggregateRequest; } });\nvar CIAppPipelinesAggregationBucketsResponse_1 = require(\"./models/CIAppPipelinesAggregationBucketsResponse\");\nObject.defineProperty(exports, \"CIAppPipelinesAggregationBucketsResponse\", { enumerable: true, get: function () { return CIAppPipelinesAggregationBucketsResponse_1.CIAppPipelinesAggregationBucketsResponse; } });\nvar CIAppPipelinesAnalyticsAggregateResponse_1 = require(\"./models/CIAppPipelinesAnalyticsAggregateResponse\");\nObject.defineProperty(exports, \"CIAppPipelinesAnalyticsAggregateResponse\", { enumerable: true, get: function () { return CIAppPipelinesAnalyticsAggregateResponse_1.CIAppPipelinesAnalyticsAggregateResponse; } });\nvar CIAppPipelinesBucketResponse_1 = require(\"./models/CIAppPipelinesBucketResponse\");\nObject.defineProperty(exports, \"CIAppPipelinesBucketResponse\", { enumerable: true, get: function () { return CIAppPipelinesBucketResponse_1.CIAppPipelinesBucketResponse; } });\nvar CIAppPipelinesGroupBy_1 = require(\"./models/CIAppPipelinesGroupBy\");\nObject.defineProperty(exports, \"CIAppPipelinesGroupBy\", { enumerable: true, get: function () { return CIAppPipelinesGroupBy_1.CIAppPipelinesGroupBy; } });\nvar CIAppPipelinesQueryFilter_1 = require(\"./models/CIAppPipelinesQueryFilter\");\nObject.defineProperty(exports, \"CIAppPipelinesQueryFilter\", { enumerable: true, get: function () { return CIAppPipelinesQueryFilter_1.CIAppPipelinesQueryFilter; } });\nvar CIAppQueryOptions_1 = require(\"./models/CIAppQueryOptions\");\nObject.defineProperty(exports, \"CIAppQueryOptions\", { enumerable: true, get: function () { return CIAppQueryOptions_1.CIAppQueryOptions; } });\nvar CIAppQueryPageOptions_1 = require(\"./models/CIAppQueryPageOptions\");\nObject.defineProperty(exports, \"CIAppQueryPageOptions\", { enumerable: true, get: function () { return CIAppQueryPageOptions_1.CIAppQueryPageOptions; } });\nvar CIAppResponseLinks_1 = require(\"./models/CIAppResponseLinks\");\nObject.defineProperty(exports, \"CIAppResponseLinks\", { enumerable: true, get: function () { return CIAppResponseLinks_1.CIAppResponseLinks; } });\nvar CIAppResponseMetadata_1 = require(\"./models/CIAppResponseMetadata\");\nObject.defineProperty(exports, \"CIAppResponseMetadata\", { enumerable: true, get: function () { return CIAppResponseMetadata_1.CIAppResponseMetadata; } });\nvar CIAppResponseMetadataWithPagination_1 = require(\"./models/CIAppResponseMetadataWithPagination\");\nObject.defineProperty(exports, \"CIAppResponseMetadataWithPagination\", { enumerable: true, get: function () { return CIAppResponseMetadataWithPagination_1.CIAppResponseMetadataWithPagination; } });\nvar CIAppResponsePage_1 = require(\"./models/CIAppResponsePage\");\nObject.defineProperty(exports, \"CIAppResponsePage\", { enumerable: true, get: function () { return CIAppResponsePage_1.CIAppResponsePage; } });\nvar CIAppTestEvent_1 = require(\"./models/CIAppTestEvent\");\nObject.defineProperty(exports, \"CIAppTestEvent\", { enumerable: true, get: function () { return CIAppTestEvent_1.CIAppTestEvent; } });\nvar CIAppTestEventsRequest_1 = require(\"./models/CIAppTestEventsRequest\");\nObject.defineProperty(exports, \"CIAppTestEventsRequest\", { enumerable: true, get: function () { return CIAppTestEventsRequest_1.CIAppTestEventsRequest; } });\nvar CIAppTestEventsResponse_1 = require(\"./models/CIAppTestEventsResponse\");\nObject.defineProperty(exports, \"CIAppTestEventsResponse\", { enumerable: true, get: function () { return CIAppTestEventsResponse_1.CIAppTestEventsResponse; } });\nvar CIAppTestsAggregateRequest_1 = require(\"./models/CIAppTestsAggregateRequest\");\nObject.defineProperty(exports, \"CIAppTestsAggregateRequest\", { enumerable: true, get: function () { return CIAppTestsAggregateRequest_1.CIAppTestsAggregateRequest; } });\nvar CIAppTestsAggregationBucketsResponse_1 = require(\"./models/CIAppTestsAggregationBucketsResponse\");\nObject.defineProperty(exports, \"CIAppTestsAggregationBucketsResponse\", { enumerable: true, get: function () { return CIAppTestsAggregationBucketsResponse_1.CIAppTestsAggregationBucketsResponse; } });\nvar CIAppTestsAnalyticsAggregateResponse_1 = require(\"./models/CIAppTestsAnalyticsAggregateResponse\");\nObject.defineProperty(exports, \"CIAppTestsAnalyticsAggregateResponse\", { enumerable: true, get: function () { return CIAppTestsAnalyticsAggregateResponse_1.CIAppTestsAnalyticsAggregateResponse; } });\nvar CIAppTestsBucketResponse_1 = require(\"./models/CIAppTestsBucketResponse\");\nObject.defineProperty(exports, \"CIAppTestsBucketResponse\", { enumerable: true, get: function () { return CIAppTestsBucketResponse_1.CIAppTestsBucketResponse; } });\nvar CIAppTestsGroupBy_1 = require(\"./models/CIAppTestsGroupBy\");\nObject.defineProperty(exports, \"CIAppTestsGroupBy\", { enumerable: true, get: function () { return CIAppTestsGroupBy_1.CIAppTestsGroupBy; } });\nvar CIAppTestsQueryFilter_1 = require(\"./models/CIAppTestsQueryFilter\");\nObject.defineProperty(exports, \"CIAppTestsQueryFilter\", { enumerable: true, get: function () { return CIAppTestsQueryFilter_1.CIAppTestsQueryFilter; } });\nvar CIAppWarning_1 = require(\"./models/CIAppWarning\");\nObject.defineProperty(exports, \"CIAppWarning\", { enumerable: true, get: function () { return CIAppWarning_1.CIAppWarning; } });\nvar CloudConfigurationComplianceRuleOptions_1 = require(\"./models/CloudConfigurationComplianceRuleOptions\");\nObject.defineProperty(exports, \"CloudConfigurationComplianceRuleOptions\", { enumerable: true, get: function () { return CloudConfigurationComplianceRuleOptions_1.CloudConfigurationComplianceRuleOptions; } });\nvar CloudConfigurationRegoRule_1 = require(\"./models/CloudConfigurationRegoRule\");\nObject.defineProperty(exports, \"CloudConfigurationRegoRule\", { enumerable: true, get: function () { return CloudConfigurationRegoRule_1.CloudConfigurationRegoRule; } });\nvar CloudConfigurationRuleCaseCreate_1 = require(\"./models/CloudConfigurationRuleCaseCreate\");\nObject.defineProperty(exports, \"CloudConfigurationRuleCaseCreate\", { enumerable: true, get: function () { return CloudConfigurationRuleCaseCreate_1.CloudConfigurationRuleCaseCreate; } });\nvar CloudConfigurationRuleComplianceSignalOptions_1 = require(\"./models/CloudConfigurationRuleComplianceSignalOptions\");\nObject.defineProperty(exports, \"CloudConfigurationRuleComplianceSignalOptions\", { enumerable: true, get: function () { return CloudConfigurationRuleComplianceSignalOptions_1.CloudConfigurationRuleComplianceSignalOptions; } });\nvar CloudConfigurationRuleCreatePayload_1 = require(\"./models/CloudConfigurationRuleCreatePayload\");\nObject.defineProperty(exports, \"CloudConfigurationRuleCreatePayload\", { enumerable: true, get: function () { return CloudConfigurationRuleCreatePayload_1.CloudConfigurationRuleCreatePayload; } });\nvar CloudConfigurationRuleOptions_1 = require(\"./models/CloudConfigurationRuleOptions\");\nObject.defineProperty(exports, \"CloudConfigurationRuleOptions\", { enumerable: true, get: function () { return CloudConfigurationRuleOptions_1.CloudConfigurationRuleOptions; } });\nvar CloudflareAccountCreateRequest_1 = require(\"./models/CloudflareAccountCreateRequest\");\nObject.defineProperty(exports, \"CloudflareAccountCreateRequest\", { enumerable: true, get: function () { return CloudflareAccountCreateRequest_1.CloudflareAccountCreateRequest; } });\nvar CloudflareAccountCreateRequestAttributes_1 = require(\"./models/CloudflareAccountCreateRequestAttributes\");\nObject.defineProperty(exports, \"CloudflareAccountCreateRequestAttributes\", { enumerable: true, get: function () { return CloudflareAccountCreateRequestAttributes_1.CloudflareAccountCreateRequestAttributes; } });\nvar CloudflareAccountCreateRequestData_1 = require(\"./models/CloudflareAccountCreateRequestData\");\nObject.defineProperty(exports, \"CloudflareAccountCreateRequestData\", { enumerable: true, get: function () { return CloudflareAccountCreateRequestData_1.CloudflareAccountCreateRequestData; } });\nvar CloudflareAccountResponse_1 = require(\"./models/CloudflareAccountResponse\");\nObject.defineProperty(exports, \"CloudflareAccountResponse\", { enumerable: true, get: function () { return CloudflareAccountResponse_1.CloudflareAccountResponse; } });\nvar CloudflareAccountResponseAttributes_1 = require(\"./models/CloudflareAccountResponseAttributes\");\nObject.defineProperty(exports, \"CloudflareAccountResponseAttributes\", { enumerable: true, get: function () { return CloudflareAccountResponseAttributes_1.CloudflareAccountResponseAttributes; } });\nvar CloudflareAccountResponseData_1 = require(\"./models/CloudflareAccountResponseData\");\nObject.defineProperty(exports, \"CloudflareAccountResponseData\", { enumerable: true, get: function () { return CloudflareAccountResponseData_1.CloudflareAccountResponseData; } });\nvar CloudflareAccountsResponse_1 = require(\"./models/CloudflareAccountsResponse\");\nObject.defineProperty(exports, \"CloudflareAccountsResponse\", { enumerable: true, get: function () { return CloudflareAccountsResponse_1.CloudflareAccountsResponse; } });\nvar CloudflareAccountUpdateRequest_1 = require(\"./models/CloudflareAccountUpdateRequest\");\nObject.defineProperty(exports, \"CloudflareAccountUpdateRequest\", { enumerable: true, get: function () { return CloudflareAccountUpdateRequest_1.CloudflareAccountUpdateRequest; } });\nvar CloudflareAccountUpdateRequestAttributes_1 = require(\"./models/CloudflareAccountUpdateRequestAttributes\");\nObject.defineProperty(exports, \"CloudflareAccountUpdateRequestAttributes\", { enumerable: true, get: function () { return CloudflareAccountUpdateRequestAttributes_1.CloudflareAccountUpdateRequestAttributes; } });\nvar CloudflareAccountUpdateRequestData_1 = require(\"./models/CloudflareAccountUpdateRequestData\");\nObject.defineProperty(exports, \"CloudflareAccountUpdateRequestData\", { enumerable: true, get: function () { return CloudflareAccountUpdateRequestData_1.CloudflareAccountUpdateRequestData; } });\nvar CloudWorkloadSecurityAgentRuleAttributes_1 = require(\"./models/CloudWorkloadSecurityAgentRuleAttributes\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleAttributes\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleAttributes_1.CloudWorkloadSecurityAgentRuleAttributes; } });\nvar CloudWorkloadSecurityAgentRuleCreateAttributes_1 = require(\"./models/CloudWorkloadSecurityAgentRuleCreateAttributes\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleCreateAttributes\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateAttributes_1.CloudWorkloadSecurityAgentRuleCreateAttributes; } });\nvar CloudWorkloadSecurityAgentRuleCreateData_1 = require(\"./models/CloudWorkloadSecurityAgentRuleCreateData\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleCreateData\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateData_1.CloudWorkloadSecurityAgentRuleCreateData; } });\nvar CloudWorkloadSecurityAgentRuleCreateRequest_1 = require(\"./models/CloudWorkloadSecurityAgentRuleCreateRequest\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleCreateRequest\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreateRequest_1.CloudWorkloadSecurityAgentRuleCreateRequest; } });\nvar CloudWorkloadSecurityAgentRuleCreatorAttributes_1 = require(\"./models/CloudWorkloadSecurityAgentRuleCreatorAttributes\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleCreatorAttributes\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleCreatorAttributes_1.CloudWorkloadSecurityAgentRuleCreatorAttributes; } });\nvar CloudWorkloadSecurityAgentRuleData_1 = require(\"./models/CloudWorkloadSecurityAgentRuleData\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleData\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleData_1.CloudWorkloadSecurityAgentRuleData; } });\nvar CloudWorkloadSecurityAgentRuleResponse_1 = require(\"./models/CloudWorkloadSecurityAgentRuleResponse\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleResponse\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleResponse_1.CloudWorkloadSecurityAgentRuleResponse; } });\nvar CloudWorkloadSecurityAgentRulesListResponse_1 = require(\"./models/CloudWorkloadSecurityAgentRulesListResponse\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRulesListResponse\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRulesListResponse_1.CloudWorkloadSecurityAgentRulesListResponse; } });\nvar CloudWorkloadSecurityAgentRuleUpdateAttributes_1 = require(\"./models/CloudWorkloadSecurityAgentRuleUpdateAttributes\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleUpdateAttributes\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateAttributes_1.CloudWorkloadSecurityAgentRuleUpdateAttributes; } });\nvar CloudWorkloadSecurityAgentRuleUpdateData_1 = require(\"./models/CloudWorkloadSecurityAgentRuleUpdateData\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleUpdateData\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateData_1.CloudWorkloadSecurityAgentRuleUpdateData; } });\nvar CloudWorkloadSecurityAgentRuleUpdaterAttributes_1 = require(\"./models/CloudWorkloadSecurityAgentRuleUpdaterAttributes\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleUpdaterAttributes\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdaterAttributes_1.CloudWorkloadSecurityAgentRuleUpdaterAttributes; } });\nvar CloudWorkloadSecurityAgentRuleUpdateRequest_1 = require(\"./models/CloudWorkloadSecurityAgentRuleUpdateRequest\");\nObject.defineProperty(exports, \"CloudWorkloadSecurityAgentRuleUpdateRequest\", { enumerable: true, get: function () { return CloudWorkloadSecurityAgentRuleUpdateRequest_1.CloudWorkloadSecurityAgentRuleUpdateRequest; } });\nvar ConfluentAccountCreateRequest_1 = require(\"./models/ConfluentAccountCreateRequest\");\nObject.defineProperty(exports, \"ConfluentAccountCreateRequest\", { enumerable: true, get: function () { return ConfluentAccountCreateRequest_1.ConfluentAccountCreateRequest; } });\nvar ConfluentAccountCreateRequestAttributes_1 = require(\"./models/ConfluentAccountCreateRequestAttributes\");\nObject.defineProperty(exports, \"ConfluentAccountCreateRequestAttributes\", { enumerable: true, get: function () { return ConfluentAccountCreateRequestAttributes_1.ConfluentAccountCreateRequestAttributes; } });\nvar ConfluentAccountCreateRequestData_1 = require(\"./models/ConfluentAccountCreateRequestData\");\nObject.defineProperty(exports, \"ConfluentAccountCreateRequestData\", { enumerable: true, get: function () { return ConfluentAccountCreateRequestData_1.ConfluentAccountCreateRequestData; } });\nvar ConfluentAccountResourceAttributes_1 = require(\"./models/ConfluentAccountResourceAttributes\");\nObject.defineProperty(exports, \"ConfluentAccountResourceAttributes\", { enumerable: true, get: function () { return ConfluentAccountResourceAttributes_1.ConfluentAccountResourceAttributes; } });\nvar ConfluentAccountResponse_1 = require(\"./models/ConfluentAccountResponse\");\nObject.defineProperty(exports, \"ConfluentAccountResponse\", { enumerable: true, get: function () { return ConfluentAccountResponse_1.ConfluentAccountResponse; } });\nvar ConfluentAccountResponseAttributes_1 = require(\"./models/ConfluentAccountResponseAttributes\");\nObject.defineProperty(exports, \"ConfluentAccountResponseAttributes\", { enumerable: true, get: function () { return ConfluentAccountResponseAttributes_1.ConfluentAccountResponseAttributes; } });\nvar ConfluentAccountResponseData_1 = require(\"./models/ConfluentAccountResponseData\");\nObject.defineProperty(exports, \"ConfluentAccountResponseData\", { enumerable: true, get: function () { return ConfluentAccountResponseData_1.ConfluentAccountResponseData; } });\nvar ConfluentAccountsResponse_1 = require(\"./models/ConfluentAccountsResponse\");\nObject.defineProperty(exports, \"ConfluentAccountsResponse\", { enumerable: true, get: function () { return ConfluentAccountsResponse_1.ConfluentAccountsResponse; } });\nvar ConfluentAccountUpdateRequest_1 = require(\"./models/ConfluentAccountUpdateRequest\");\nObject.defineProperty(exports, \"ConfluentAccountUpdateRequest\", { enumerable: true, get: function () { return ConfluentAccountUpdateRequest_1.ConfluentAccountUpdateRequest; } });\nvar ConfluentAccountUpdateRequestAttributes_1 = require(\"./models/ConfluentAccountUpdateRequestAttributes\");\nObject.defineProperty(exports, \"ConfluentAccountUpdateRequestAttributes\", { enumerable: true, get: function () { return ConfluentAccountUpdateRequestAttributes_1.ConfluentAccountUpdateRequestAttributes; } });\nvar ConfluentAccountUpdateRequestData_1 = require(\"./models/ConfluentAccountUpdateRequestData\");\nObject.defineProperty(exports, \"ConfluentAccountUpdateRequestData\", { enumerable: true, get: function () { return ConfluentAccountUpdateRequestData_1.ConfluentAccountUpdateRequestData; } });\nvar ConfluentResourceRequest_1 = require(\"./models/ConfluentResourceRequest\");\nObject.defineProperty(exports, \"ConfluentResourceRequest\", { enumerable: true, get: function () { return ConfluentResourceRequest_1.ConfluentResourceRequest; } });\nvar ConfluentResourceRequestAttributes_1 = require(\"./models/ConfluentResourceRequestAttributes\");\nObject.defineProperty(exports, \"ConfluentResourceRequestAttributes\", { enumerable: true, get: function () { return ConfluentResourceRequestAttributes_1.ConfluentResourceRequestAttributes; } });\nvar ConfluentResourceRequestData_1 = require(\"./models/ConfluentResourceRequestData\");\nObject.defineProperty(exports, \"ConfluentResourceRequestData\", { enumerable: true, get: function () { return ConfluentResourceRequestData_1.ConfluentResourceRequestData; } });\nvar ConfluentResourceResponse_1 = require(\"./models/ConfluentResourceResponse\");\nObject.defineProperty(exports, \"ConfluentResourceResponse\", { enumerable: true, get: function () { return ConfluentResourceResponse_1.ConfluentResourceResponse; } });\nvar ConfluentResourceResponseAttributes_1 = require(\"./models/ConfluentResourceResponseAttributes\");\nObject.defineProperty(exports, \"ConfluentResourceResponseAttributes\", { enumerable: true, get: function () { return ConfluentResourceResponseAttributes_1.ConfluentResourceResponseAttributes; } });\nvar ConfluentResourceResponseData_1 = require(\"./models/ConfluentResourceResponseData\");\nObject.defineProperty(exports, \"ConfluentResourceResponseData\", { enumerable: true, get: function () { return ConfluentResourceResponseData_1.ConfluentResourceResponseData; } });\nvar ConfluentResourcesResponse_1 = require(\"./models/ConfluentResourcesResponse\");\nObject.defineProperty(exports, \"ConfluentResourcesResponse\", { enumerable: true, get: function () { return ConfluentResourcesResponse_1.ConfluentResourcesResponse; } });\nvar CostByOrg_1 = require(\"./models/CostByOrg\");\nObject.defineProperty(exports, \"CostByOrg\", { enumerable: true, get: function () { return CostByOrg_1.CostByOrg; } });\nvar CostByOrgAttributes_1 = require(\"./models/CostByOrgAttributes\");\nObject.defineProperty(exports, \"CostByOrgAttributes\", { enumerable: true, get: function () { return CostByOrgAttributes_1.CostByOrgAttributes; } });\nvar CostByOrgResponse_1 = require(\"./models/CostByOrgResponse\");\nObject.defineProperty(exports, \"CostByOrgResponse\", { enumerable: true, get: function () { return CostByOrgResponse_1.CostByOrgResponse; } });\nvar Creator_1 = require(\"./models/Creator\");\nObject.defineProperty(exports, \"Creator\", { enumerable: true, get: function () { return Creator_1.Creator; } });\nvar DashboardListAddItemsRequest_1 = require(\"./models/DashboardListAddItemsRequest\");\nObject.defineProperty(exports, \"DashboardListAddItemsRequest\", { enumerable: true, get: function () { return DashboardListAddItemsRequest_1.DashboardListAddItemsRequest; } });\nvar DashboardListAddItemsResponse_1 = require(\"./models/DashboardListAddItemsResponse\");\nObject.defineProperty(exports, \"DashboardListAddItemsResponse\", { enumerable: true, get: function () { return DashboardListAddItemsResponse_1.DashboardListAddItemsResponse; } });\nvar DashboardListDeleteItemsRequest_1 = require(\"./models/DashboardListDeleteItemsRequest\");\nObject.defineProperty(exports, \"DashboardListDeleteItemsRequest\", { enumerable: true, get: function () { return DashboardListDeleteItemsRequest_1.DashboardListDeleteItemsRequest; } });\nvar DashboardListDeleteItemsResponse_1 = require(\"./models/DashboardListDeleteItemsResponse\");\nObject.defineProperty(exports, \"DashboardListDeleteItemsResponse\", { enumerable: true, get: function () { return DashboardListDeleteItemsResponse_1.DashboardListDeleteItemsResponse; } });\nvar DashboardListItem_1 = require(\"./models/DashboardListItem\");\nObject.defineProperty(exports, \"DashboardListItem\", { enumerable: true, get: function () { return DashboardListItem_1.DashboardListItem; } });\nvar DashboardListItemRequest_1 = require(\"./models/DashboardListItemRequest\");\nObject.defineProperty(exports, \"DashboardListItemRequest\", { enumerable: true, get: function () { return DashboardListItemRequest_1.DashboardListItemRequest; } });\nvar DashboardListItemResponse_1 = require(\"./models/DashboardListItemResponse\");\nObject.defineProperty(exports, \"DashboardListItemResponse\", { enumerable: true, get: function () { return DashboardListItemResponse_1.DashboardListItemResponse; } });\nvar DashboardListItems_1 = require(\"./models/DashboardListItems\");\nObject.defineProperty(exports, \"DashboardListItems\", { enumerable: true, get: function () { return DashboardListItems_1.DashboardListItems; } });\nvar DashboardListUpdateItemsRequest_1 = require(\"./models/DashboardListUpdateItemsRequest\");\nObject.defineProperty(exports, \"DashboardListUpdateItemsRequest\", { enumerable: true, get: function () { return DashboardListUpdateItemsRequest_1.DashboardListUpdateItemsRequest; } });\nvar DashboardListUpdateItemsResponse_1 = require(\"./models/DashboardListUpdateItemsResponse\");\nObject.defineProperty(exports, \"DashboardListUpdateItemsResponse\", { enumerable: true, get: function () { return DashboardListUpdateItemsResponse_1.DashboardListUpdateItemsResponse; } });\nvar DataScalarColumn_1 = require(\"./models/DataScalarColumn\");\nObject.defineProperty(exports, \"DataScalarColumn\", { enumerable: true, get: function () { return DataScalarColumn_1.DataScalarColumn; } });\nvar DetailedFinding_1 = require(\"./models/DetailedFinding\");\nObject.defineProperty(exports, \"DetailedFinding\", { enumerable: true, get: function () { return DetailedFinding_1.DetailedFinding; } });\nvar DetailedFindingAttributes_1 = require(\"./models/DetailedFindingAttributes\");\nObject.defineProperty(exports, \"DetailedFindingAttributes\", { enumerable: true, get: function () { return DetailedFindingAttributes_1.DetailedFindingAttributes; } });\nvar DowntimeCreateRequest_1 = require(\"./models/DowntimeCreateRequest\");\nObject.defineProperty(exports, \"DowntimeCreateRequest\", { enumerable: true, get: function () { return DowntimeCreateRequest_1.DowntimeCreateRequest; } });\nvar DowntimeCreateRequestAttributes_1 = require(\"./models/DowntimeCreateRequestAttributes\");\nObject.defineProperty(exports, \"DowntimeCreateRequestAttributes\", { enumerable: true, get: function () { return DowntimeCreateRequestAttributes_1.DowntimeCreateRequestAttributes; } });\nvar DowntimeCreateRequestData_1 = require(\"./models/DowntimeCreateRequestData\");\nObject.defineProperty(exports, \"DowntimeCreateRequestData\", { enumerable: true, get: function () { return DowntimeCreateRequestData_1.DowntimeCreateRequestData; } });\nvar DowntimeMeta_1 = require(\"./models/DowntimeMeta\");\nObject.defineProperty(exports, \"DowntimeMeta\", { enumerable: true, get: function () { return DowntimeMeta_1.DowntimeMeta; } });\nvar DowntimeMetaPage_1 = require(\"./models/DowntimeMetaPage\");\nObject.defineProperty(exports, \"DowntimeMetaPage\", { enumerable: true, get: function () { return DowntimeMetaPage_1.DowntimeMetaPage; } });\nvar DowntimeMonitorIdentifierId_1 = require(\"./models/DowntimeMonitorIdentifierId\");\nObject.defineProperty(exports, \"DowntimeMonitorIdentifierId\", { enumerable: true, get: function () { return DowntimeMonitorIdentifierId_1.DowntimeMonitorIdentifierId; } });\nvar DowntimeMonitorIdentifierTags_1 = require(\"./models/DowntimeMonitorIdentifierTags\");\nObject.defineProperty(exports, \"DowntimeMonitorIdentifierTags\", { enumerable: true, get: function () { return DowntimeMonitorIdentifierTags_1.DowntimeMonitorIdentifierTags; } });\nvar DowntimeMonitorIncludedAttributes_1 = require(\"./models/DowntimeMonitorIncludedAttributes\");\nObject.defineProperty(exports, \"DowntimeMonitorIncludedAttributes\", { enumerable: true, get: function () { return DowntimeMonitorIncludedAttributes_1.DowntimeMonitorIncludedAttributes; } });\nvar DowntimeMonitorIncludedItem_1 = require(\"./models/DowntimeMonitorIncludedItem\");\nObject.defineProperty(exports, \"DowntimeMonitorIncludedItem\", { enumerable: true, get: function () { return DowntimeMonitorIncludedItem_1.DowntimeMonitorIncludedItem; } });\nvar DowntimeRelationships_1 = require(\"./models/DowntimeRelationships\");\nObject.defineProperty(exports, \"DowntimeRelationships\", { enumerable: true, get: function () { return DowntimeRelationships_1.DowntimeRelationships; } });\nvar DowntimeRelationshipsCreatedBy_1 = require(\"./models/DowntimeRelationshipsCreatedBy\");\nObject.defineProperty(exports, \"DowntimeRelationshipsCreatedBy\", { enumerable: true, get: function () { return DowntimeRelationshipsCreatedBy_1.DowntimeRelationshipsCreatedBy; } });\nvar DowntimeRelationshipsCreatedByData_1 = require(\"./models/DowntimeRelationshipsCreatedByData\");\nObject.defineProperty(exports, \"DowntimeRelationshipsCreatedByData\", { enumerable: true, get: function () { return DowntimeRelationshipsCreatedByData_1.DowntimeRelationshipsCreatedByData; } });\nvar DowntimeRelationshipsMonitor_1 = require(\"./models/DowntimeRelationshipsMonitor\");\nObject.defineProperty(exports, \"DowntimeRelationshipsMonitor\", { enumerable: true, get: function () { return DowntimeRelationshipsMonitor_1.DowntimeRelationshipsMonitor; } });\nvar DowntimeRelationshipsMonitorData_1 = require(\"./models/DowntimeRelationshipsMonitorData\");\nObject.defineProperty(exports, \"DowntimeRelationshipsMonitorData\", { enumerable: true, get: function () { return DowntimeRelationshipsMonitorData_1.DowntimeRelationshipsMonitorData; } });\nvar DowntimeResponse_1 = require(\"./models/DowntimeResponse\");\nObject.defineProperty(exports, \"DowntimeResponse\", { enumerable: true, get: function () { return DowntimeResponse_1.DowntimeResponse; } });\nvar DowntimeResponseAttributes_1 = require(\"./models/DowntimeResponseAttributes\");\nObject.defineProperty(exports, \"DowntimeResponseAttributes\", { enumerable: true, get: function () { return DowntimeResponseAttributes_1.DowntimeResponseAttributes; } });\nvar DowntimeResponseData_1 = require(\"./models/DowntimeResponseData\");\nObject.defineProperty(exports, \"DowntimeResponseData\", { enumerable: true, get: function () { return DowntimeResponseData_1.DowntimeResponseData; } });\nvar DowntimeScheduleCurrentDowntimeResponse_1 = require(\"./models/DowntimeScheduleCurrentDowntimeResponse\");\nObject.defineProperty(exports, \"DowntimeScheduleCurrentDowntimeResponse\", { enumerable: true, get: function () { return DowntimeScheduleCurrentDowntimeResponse_1.DowntimeScheduleCurrentDowntimeResponse; } });\nvar DowntimeScheduleOneTimeCreateUpdateRequest_1 = require(\"./models/DowntimeScheduleOneTimeCreateUpdateRequest\");\nObject.defineProperty(exports, \"DowntimeScheduleOneTimeCreateUpdateRequest\", { enumerable: true, get: function () { return DowntimeScheduleOneTimeCreateUpdateRequest_1.DowntimeScheduleOneTimeCreateUpdateRequest; } });\nvar DowntimeScheduleOneTimeResponse_1 = require(\"./models/DowntimeScheduleOneTimeResponse\");\nObject.defineProperty(exports, \"DowntimeScheduleOneTimeResponse\", { enumerable: true, get: function () { return DowntimeScheduleOneTimeResponse_1.DowntimeScheduleOneTimeResponse; } });\nvar DowntimeScheduleRecurrenceCreateUpdateRequest_1 = require(\"./models/DowntimeScheduleRecurrenceCreateUpdateRequest\");\nObject.defineProperty(exports, \"DowntimeScheduleRecurrenceCreateUpdateRequest\", { enumerable: true, get: function () { return DowntimeScheduleRecurrenceCreateUpdateRequest_1.DowntimeScheduleRecurrenceCreateUpdateRequest; } });\nvar DowntimeScheduleRecurrenceResponse_1 = require(\"./models/DowntimeScheduleRecurrenceResponse\");\nObject.defineProperty(exports, \"DowntimeScheduleRecurrenceResponse\", { enumerable: true, get: function () { return DowntimeScheduleRecurrenceResponse_1.DowntimeScheduleRecurrenceResponse; } });\nvar DowntimeScheduleRecurrencesCreateRequest_1 = require(\"./models/DowntimeScheduleRecurrencesCreateRequest\");\nObject.defineProperty(exports, \"DowntimeScheduleRecurrencesCreateRequest\", { enumerable: true, get: function () { return DowntimeScheduleRecurrencesCreateRequest_1.DowntimeScheduleRecurrencesCreateRequest; } });\nvar DowntimeScheduleRecurrencesResponse_1 = require(\"./models/DowntimeScheduleRecurrencesResponse\");\nObject.defineProperty(exports, \"DowntimeScheduleRecurrencesResponse\", { enumerable: true, get: function () { return DowntimeScheduleRecurrencesResponse_1.DowntimeScheduleRecurrencesResponse; } });\nvar DowntimeScheduleRecurrencesUpdateRequest_1 = require(\"./models/DowntimeScheduleRecurrencesUpdateRequest\");\nObject.defineProperty(exports, \"DowntimeScheduleRecurrencesUpdateRequest\", { enumerable: true, get: function () { return DowntimeScheduleRecurrencesUpdateRequest_1.DowntimeScheduleRecurrencesUpdateRequest; } });\nvar DowntimeUpdateRequest_1 = require(\"./models/DowntimeUpdateRequest\");\nObject.defineProperty(exports, \"DowntimeUpdateRequest\", { enumerable: true, get: function () { return DowntimeUpdateRequest_1.DowntimeUpdateRequest; } });\nvar DowntimeUpdateRequestAttributes_1 = require(\"./models/DowntimeUpdateRequestAttributes\");\nObject.defineProperty(exports, \"DowntimeUpdateRequestAttributes\", { enumerable: true, get: function () { return DowntimeUpdateRequestAttributes_1.DowntimeUpdateRequestAttributes; } });\nvar DowntimeUpdateRequestData_1 = require(\"./models/DowntimeUpdateRequestData\");\nObject.defineProperty(exports, \"DowntimeUpdateRequestData\", { enumerable: true, get: function () { return DowntimeUpdateRequestData_1.DowntimeUpdateRequestData; } });\nvar Event_1 = require(\"./models/Event\");\nObject.defineProperty(exports, \"Event\", { enumerable: true, get: function () { return Event_1.Event; } });\nvar EventAttributes_1 = require(\"./models/EventAttributes\");\nObject.defineProperty(exports, \"EventAttributes\", { enumerable: true, get: function () { return EventAttributes_1.EventAttributes; } });\nvar EventResponse_1 = require(\"./models/EventResponse\");\nObject.defineProperty(exports, \"EventResponse\", { enumerable: true, get: function () { return EventResponse_1.EventResponse; } });\nvar EventResponseAttributes_1 = require(\"./models/EventResponseAttributes\");\nObject.defineProperty(exports, \"EventResponseAttributes\", { enumerable: true, get: function () { return EventResponseAttributes_1.EventResponseAttributes; } });\nvar EventsCompute_1 = require(\"./models/EventsCompute\");\nObject.defineProperty(exports, \"EventsCompute\", { enumerable: true, get: function () { return EventsCompute_1.EventsCompute; } });\nvar EventsGroupBy_1 = require(\"./models/EventsGroupBy\");\nObject.defineProperty(exports, \"EventsGroupBy\", { enumerable: true, get: function () { return EventsGroupBy_1.EventsGroupBy; } });\nvar EventsGroupBySort_1 = require(\"./models/EventsGroupBySort\");\nObject.defineProperty(exports, \"EventsGroupBySort\", { enumerable: true, get: function () { return EventsGroupBySort_1.EventsGroupBySort; } });\nvar EventsListRequest_1 = require(\"./models/EventsListRequest\");\nObject.defineProperty(exports, \"EventsListRequest\", { enumerable: true, get: function () { return EventsListRequest_1.EventsListRequest; } });\nvar EventsListResponse_1 = require(\"./models/EventsListResponse\");\nObject.defineProperty(exports, \"EventsListResponse\", { enumerable: true, get: function () { return EventsListResponse_1.EventsListResponse; } });\nvar EventsListResponseLinks_1 = require(\"./models/EventsListResponseLinks\");\nObject.defineProperty(exports, \"EventsListResponseLinks\", { enumerable: true, get: function () { return EventsListResponseLinks_1.EventsListResponseLinks; } });\nvar EventsQueryFilter_1 = require(\"./models/EventsQueryFilter\");\nObject.defineProperty(exports, \"EventsQueryFilter\", { enumerable: true, get: function () { return EventsQueryFilter_1.EventsQueryFilter; } });\nvar EventsQueryOptions_1 = require(\"./models/EventsQueryOptions\");\nObject.defineProperty(exports, \"EventsQueryOptions\", { enumerable: true, get: function () { return EventsQueryOptions_1.EventsQueryOptions; } });\nvar EventsRequestPage_1 = require(\"./models/EventsRequestPage\");\nObject.defineProperty(exports, \"EventsRequestPage\", { enumerable: true, get: function () { return EventsRequestPage_1.EventsRequestPage; } });\nvar EventsResponseMetadata_1 = require(\"./models/EventsResponseMetadata\");\nObject.defineProperty(exports, \"EventsResponseMetadata\", { enumerable: true, get: function () { return EventsResponseMetadata_1.EventsResponseMetadata; } });\nvar EventsResponseMetadataPage_1 = require(\"./models/EventsResponseMetadataPage\");\nObject.defineProperty(exports, \"EventsResponseMetadataPage\", { enumerable: true, get: function () { return EventsResponseMetadataPage_1.EventsResponseMetadataPage; } });\nvar EventsScalarQuery_1 = require(\"./models/EventsScalarQuery\");\nObject.defineProperty(exports, \"EventsScalarQuery\", { enumerable: true, get: function () { return EventsScalarQuery_1.EventsScalarQuery; } });\nvar EventsSearch_1 = require(\"./models/EventsSearch\");\nObject.defineProperty(exports, \"EventsSearch\", { enumerable: true, get: function () { return EventsSearch_1.EventsSearch; } });\nvar EventsTimeseriesQuery_1 = require(\"./models/EventsTimeseriesQuery\");\nObject.defineProperty(exports, \"EventsTimeseriesQuery\", { enumerable: true, get: function () { return EventsTimeseriesQuery_1.EventsTimeseriesQuery; } });\nvar EventsWarning_1 = require(\"./models/EventsWarning\");\nObject.defineProperty(exports, \"EventsWarning\", { enumerable: true, get: function () { return EventsWarning_1.EventsWarning; } });\nvar FastlyAccounResponseAttributes_1 = require(\"./models/FastlyAccounResponseAttributes\");\nObject.defineProperty(exports, \"FastlyAccounResponseAttributes\", { enumerable: true, get: function () { return FastlyAccounResponseAttributes_1.FastlyAccounResponseAttributes; } });\nvar FastlyAccountCreateRequest_1 = require(\"./models/FastlyAccountCreateRequest\");\nObject.defineProperty(exports, \"FastlyAccountCreateRequest\", { enumerable: true, get: function () { return FastlyAccountCreateRequest_1.FastlyAccountCreateRequest; } });\nvar FastlyAccountCreateRequestAttributes_1 = require(\"./models/FastlyAccountCreateRequestAttributes\");\nObject.defineProperty(exports, \"FastlyAccountCreateRequestAttributes\", { enumerable: true, get: function () { return FastlyAccountCreateRequestAttributes_1.FastlyAccountCreateRequestAttributes; } });\nvar FastlyAccountCreateRequestData_1 = require(\"./models/FastlyAccountCreateRequestData\");\nObject.defineProperty(exports, \"FastlyAccountCreateRequestData\", { enumerable: true, get: function () { return FastlyAccountCreateRequestData_1.FastlyAccountCreateRequestData; } });\nvar FastlyAccountResponse_1 = require(\"./models/FastlyAccountResponse\");\nObject.defineProperty(exports, \"FastlyAccountResponse\", { enumerable: true, get: function () { return FastlyAccountResponse_1.FastlyAccountResponse; } });\nvar FastlyAccountResponseData_1 = require(\"./models/FastlyAccountResponseData\");\nObject.defineProperty(exports, \"FastlyAccountResponseData\", { enumerable: true, get: function () { return FastlyAccountResponseData_1.FastlyAccountResponseData; } });\nvar FastlyAccountsResponse_1 = require(\"./models/FastlyAccountsResponse\");\nObject.defineProperty(exports, \"FastlyAccountsResponse\", { enumerable: true, get: function () { return FastlyAccountsResponse_1.FastlyAccountsResponse; } });\nvar FastlyAccountUpdateRequest_1 = require(\"./models/FastlyAccountUpdateRequest\");\nObject.defineProperty(exports, \"FastlyAccountUpdateRequest\", { enumerable: true, get: function () { return FastlyAccountUpdateRequest_1.FastlyAccountUpdateRequest; } });\nvar FastlyAccountUpdateRequestAttributes_1 = require(\"./models/FastlyAccountUpdateRequestAttributes\");\nObject.defineProperty(exports, \"FastlyAccountUpdateRequestAttributes\", { enumerable: true, get: function () { return FastlyAccountUpdateRequestAttributes_1.FastlyAccountUpdateRequestAttributes; } });\nvar FastlyAccountUpdateRequestData_1 = require(\"./models/FastlyAccountUpdateRequestData\");\nObject.defineProperty(exports, \"FastlyAccountUpdateRequestData\", { enumerable: true, get: function () { return FastlyAccountUpdateRequestData_1.FastlyAccountUpdateRequestData; } });\nvar FastlyService_1 = require(\"./models/FastlyService\");\nObject.defineProperty(exports, \"FastlyService\", { enumerable: true, get: function () { return FastlyService_1.FastlyService; } });\nvar FastlyServiceAttributes_1 = require(\"./models/FastlyServiceAttributes\");\nObject.defineProperty(exports, \"FastlyServiceAttributes\", { enumerable: true, get: function () { return FastlyServiceAttributes_1.FastlyServiceAttributes; } });\nvar FastlyServiceData_1 = require(\"./models/FastlyServiceData\");\nObject.defineProperty(exports, \"FastlyServiceData\", { enumerable: true, get: function () { return FastlyServiceData_1.FastlyServiceData; } });\nvar FastlyServiceRequest_1 = require(\"./models/FastlyServiceRequest\");\nObject.defineProperty(exports, \"FastlyServiceRequest\", { enumerable: true, get: function () { return FastlyServiceRequest_1.FastlyServiceRequest; } });\nvar FastlyServiceResponse_1 = require(\"./models/FastlyServiceResponse\");\nObject.defineProperty(exports, \"FastlyServiceResponse\", { enumerable: true, get: function () { return FastlyServiceResponse_1.FastlyServiceResponse; } });\nvar FastlyServicesResponse_1 = require(\"./models/FastlyServicesResponse\");\nObject.defineProperty(exports, \"FastlyServicesResponse\", { enumerable: true, get: function () { return FastlyServicesResponse_1.FastlyServicesResponse; } });\nvar Finding_1 = require(\"./models/Finding\");\nObject.defineProperty(exports, \"Finding\", { enumerable: true, get: function () { return Finding_1.Finding; } });\nvar FindingAttributes_1 = require(\"./models/FindingAttributes\");\nObject.defineProperty(exports, \"FindingAttributes\", { enumerable: true, get: function () { return FindingAttributes_1.FindingAttributes; } });\nvar FindingMute_1 = require(\"./models/FindingMute\");\nObject.defineProperty(exports, \"FindingMute\", { enumerable: true, get: function () { return FindingMute_1.FindingMute; } });\nvar FindingRule_1 = require(\"./models/FindingRule\");\nObject.defineProperty(exports, \"FindingRule\", { enumerable: true, get: function () { return FindingRule_1.FindingRule; } });\nvar FormulaLimit_1 = require(\"./models/FormulaLimit\");\nObject.defineProperty(exports, \"FormulaLimit\", { enumerable: true, get: function () { return FormulaLimit_1.FormulaLimit; } });\nvar FullAPIKey_1 = require(\"./models/FullAPIKey\");\nObject.defineProperty(exports, \"FullAPIKey\", { enumerable: true, get: function () { return FullAPIKey_1.FullAPIKey; } });\nvar FullAPIKeyAttributes_1 = require(\"./models/FullAPIKeyAttributes\");\nObject.defineProperty(exports, \"FullAPIKeyAttributes\", { enumerable: true, get: function () { return FullAPIKeyAttributes_1.FullAPIKeyAttributes; } });\nvar FullApplicationKey_1 = require(\"./models/FullApplicationKey\");\nObject.defineProperty(exports, \"FullApplicationKey\", { enumerable: true, get: function () { return FullApplicationKey_1.FullApplicationKey; } });\nvar FullApplicationKeyAttributes_1 = require(\"./models/FullApplicationKeyAttributes\");\nObject.defineProperty(exports, \"FullApplicationKeyAttributes\", { enumerable: true, get: function () { return FullApplicationKeyAttributes_1.FullApplicationKeyAttributes; } });\nvar GCPServiceAccountMeta_1 = require(\"./models/GCPServiceAccountMeta\");\nObject.defineProperty(exports, \"GCPServiceAccountMeta\", { enumerable: true, get: function () { return GCPServiceAccountMeta_1.GCPServiceAccountMeta; } });\nvar GCPSTSDelegateAccount_1 = require(\"./models/GCPSTSDelegateAccount\");\nObject.defineProperty(exports, \"GCPSTSDelegateAccount\", { enumerable: true, get: function () { return GCPSTSDelegateAccount_1.GCPSTSDelegateAccount; } });\nvar GCPSTSDelegateAccountAttributes_1 = require(\"./models/GCPSTSDelegateAccountAttributes\");\nObject.defineProperty(exports, \"GCPSTSDelegateAccountAttributes\", { enumerable: true, get: function () { return GCPSTSDelegateAccountAttributes_1.GCPSTSDelegateAccountAttributes; } });\nvar GCPSTSDelegateAccountResponse_1 = require(\"./models/GCPSTSDelegateAccountResponse\");\nObject.defineProperty(exports, \"GCPSTSDelegateAccountResponse\", { enumerable: true, get: function () { return GCPSTSDelegateAccountResponse_1.GCPSTSDelegateAccountResponse; } });\nvar GCPSTSServiceAccount_1 = require(\"./models/GCPSTSServiceAccount\");\nObject.defineProperty(exports, \"GCPSTSServiceAccount\", { enumerable: true, get: function () { return GCPSTSServiceAccount_1.GCPSTSServiceAccount; } });\nvar GCPSTSServiceAccountAttributes_1 = require(\"./models/GCPSTSServiceAccountAttributes\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountAttributes\", { enumerable: true, get: function () { return GCPSTSServiceAccountAttributes_1.GCPSTSServiceAccountAttributes; } });\nvar GCPSTSServiceAccountCreateRequest_1 = require(\"./models/GCPSTSServiceAccountCreateRequest\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountCreateRequest\", { enumerable: true, get: function () { return GCPSTSServiceAccountCreateRequest_1.GCPSTSServiceAccountCreateRequest; } });\nvar GCPSTSServiceAccountData_1 = require(\"./models/GCPSTSServiceAccountData\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountData\", { enumerable: true, get: function () { return GCPSTSServiceAccountData_1.GCPSTSServiceAccountData; } });\nvar GCPSTSServiceAccountResponse_1 = require(\"./models/GCPSTSServiceAccountResponse\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountResponse\", { enumerable: true, get: function () { return GCPSTSServiceAccountResponse_1.GCPSTSServiceAccountResponse; } });\nvar GCPSTSServiceAccountsResponse_1 = require(\"./models/GCPSTSServiceAccountsResponse\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountsResponse\", { enumerable: true, get: function () { return GCPSTSServiceAccountsResponse_1.GCPSTSServiceAccountsResponse; } });\nvar GCPSTSServiceAccountUpdateRequest_1 = require(\"./models/GCPSTSServiceAccountUpdateRequest\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountUpdateRequest\", { enumerable: true, get: function () { return GCPSTSServiceAccountUpdateRequest_1.GCPSTSServiceAccountUpdateRequest; } });\nvar GCPSTSServiceAccountUpdateRequestData_1 = require(\"./models/GCPSTSServiceAccountUpdateRequestData\");\nObject.defineProperty(exports, \"GCPSTSServiceAccountUpdateRequestData\", { enumerable: true, get: function () { return GCPSTSServiceAccountUpdateRequestData_1.GCPSTSServiceAccountUpdateRequestData; } });\nvar GetFindingResponse_1 = require(\"./models/GetFindingResponse\");\nObject.defineProperty(exports, \"GetFindingResponse\", { enumerable: true, get: function () { return GetFindingResponse_1.GetFindingResponse; } });\nvar GroupScalarColumn_1 = require(\"./models/GroupScalarColumn\");\nObject.defineProperty(exports, \"GroupScalarColumn\", { enumerable: true, get: function () { return GroupScalarColumn_1.GroupScalarColumn; } });\nvar HourlyUsage_1 = require(\"./models/HourlyUsage\");\nObject.defineProperty(exports, \"HourlyUsage\", { enumerable: true, get: function () { return HourlyUsage_1.HourlyUsage; } });\nvar HourlyUsageAttributes_1 = require(\"./models/HourlyUsageAttributes\");\nObject.defineProperty(exports, \"HourlyUsageAttributes\", { enumerable: true, get: function () { return HourlyUsageAttributes_1.HourlyUsageAttributes; } });\nvar HourlyUsageMeasurement_1 = require(\"./models/HourlyUsageMeasurement\");\nObject.defineProperty(exports, \"HourlyUsageMeasurement\", { enumerable: true, get: function () { return HourlyUsageMeasurement_1.HourlyUsageMeasurement; } });\nvar HourlyUsageMetadata_1 = require(\"./models/HourlyUsageMetadata\");\nObject.defineProperty(exports, \"HourlyUsageMetadata\", { enumerable: true, get: function () { return HourlyUsageMetadata_1.HourlyUsageMetadata; } });\nvar HourlyUsagePagination_1 = require(\"./models/HourlyUsagePagination\");\nObject.defineProperty(exports, \"HourlyUsagePagination\", { enumerable: true, get: function () { return HourlyUsagePagination_1.HourlyUsagePagination; } });\nvar HourlyUsageResponse_1 = require(\"./models/HourlyUsageResponse\");\nObject.defineProperty(exports, \"HourlyUsageResponse\", { enumerable: true, get: function () { return HourlyUsageResponse_1.HourlyUsageResponse; } });\nvar HTTPCIAppError_1 = require(\"./models/HTTPCIAppError\");\nObject.defineProperty(exports, \"HTTPCIAppError\", { enumerable: true, get: function () { return HTTPCIAppError_1.HTTPCIAppError; } });\nvar HTTPCIAppErrors_1 = require(\"./models/HTTPCIAppErrors\");\nObject.defineProperty(exports, \"HTTPCIAppErrors\", { enumerable: true, get: function () { return HTTPCIAppErrors_1.HTTPCIAppErrors; } });\nvar HTTPLogError_1 = require(\"./models/HTTPLogError\");\nObject.defineProperty(exports, \"HTTPLogError\", { enumerable: true, get: function () { return HTTPLogError_1.HTTPLogError; } });\nvar HTTPLogErrors_1 = require(\"./models/HTTPLogErrors\");\nObject.defineProperty(exports, \"HTTPLogErrors\", { enumerable: true, get: function () { return HTTPLogErrors_1.HTTPLogErrors; } });\nvar HTTPLogItem_1 = require(\"./models/HTTPLogItem\");\nObject.defineProperty(exports, \"HTTPLogItem\", { enumerable: true, get: function () { return HTTPLogItem_1.HTTPLogItem; } });\nvar IdPMetadataFormData_1 = require(\"./models/IdPMetadataFormData\");\nObject.defineProperty(exports, \"IdPMetadataFormData\", { enumerable: true, get: function () { return IdPMetadataFormData_1.IdPMetadataFormData; } });\nvar IncidentAttachmentData_1 = require(\"./models/IncidentAttachmentData\");\nObject.defineProperty(exports, \"IncidentAttachmentData\", { enumerable: true, get: function () { return IncidentAttachmentData_1.IncidentAttachmentData; } });\nvar IncidentAttachmentLinkAttributes_1 = require(\"./models/IncidentAttachmentLinkAttributes\");\nObject.defineProperty(exports, \"IncidentAttachmentLinkAttributes\", { enumerable: true, get: function () { return IncidentAttachmentLinkAttributes_1.IncidentAttachmentLinkAttributes; } });\nvar IncidentAttachmentLinkAttributesAttachmentObject_1 = require(\"./models/IncidentAttachmentLinkAttributesAttachmentObject\");\nObject.defineProperty(exports, \"IncidentAttachmentLinkAttributesAttachmentObject\", { enumerable: true, get: function () { return IncidentAttachmentLinkAttributesAttachmentObject_1.IncidentAttachmentLinkAttributesAttachmentObject; } });\nvar IncidentAttachmentPostmortemAttributes_1 = require(\"./models/IncidentAttachmentPostmortemAttributes\");\nObject.defineProperty(exports, \"IncidentAttachmentPostmortemAttributes\", { enumerable: true, get: function () { return IncidentAttachmentPostmortemAttributes_1.IncidentAttachmentPostmortemAttributes; } });\nvar IncidentAttachmentRelationships_1 = require(\"./models/IncidentAttachmentRelationships\");\nObject.defineProperty(exports, \"IncidentAttachmentRelationships\", { enumerable: true, get: function () { return IncidentAttachmentRelationships_1.IncidentAttachmentRelationships; } });\nvar IncidentAttachmentsPostmortemAttributesAttachmentObject_1 = require(\"./models/IncidentAttachmentsPostmortemAttributesAttachmentObject\");\nObject.defineProperty(exports, \"IncidentAttachmentsPostmortemAttributesAttachmentObject\", { enumerable: true, get: function () { return IncidentAttachmentsPostmortemAttributesAttachmentObject_1.IncidentAttachmentsPostmortemAttributesAttachmentObject; } });\nvar IncidentAttachmentsResponse_1 = require(\"./models/IncidentAttachmentsResponse\");\nObject.defineProperty(exports, \"IncidentAttachmentsResponse\", { enumerable: true, get: function () { return IncidentAttachmentsResponse_1.IncidentAttachmentsResponse; } });\nvar IncidentAttachmentUpdateData_1 = require(\"./models/IncidentAttachmentUpdateData\");\nObject.defineProperty(exports, \"IncidentAttachmentUpdateData\", { enumerable: true, get: function () { return IncidentAttachmentUpdateData_1.IncidentAttachmentUpdateData; } });\nvar IncidentAttachmentUpdateRequest_1 = require(\"./models/IncidentAttachmentUpdateRequest\");\nObject.defineProperty(exports, \"IncidentAttachmentUpdateRequest\", { enumerable: true, get: function () { return IncidentAttachmentUpdateRequest_1.IncidentAttachmentUpdateRequest; } });\nvar IncidentAttachmentUpdateResponse_1 = require(\"./models/IncidentAttachmentUpdateResponse\");\nObject.defineProperty(exports, \"IncidentAttachmentUpdateResponse\", { enumerable: true, get: function () { return IncidentAttachmentUpdateResponse_1.IncidentAttachmentUpdateResponse; } });\nvar IncidentCreateAttributes_1 = require(\"./models/IncidentCreateAttributes\");\nObject.defineProperty(exports, \"IncidentCreateAttributes\", { enumerable: true, get: function () { return IncidentCreateAttributes_1.IncidentCreateAttributes; } });\nvar IncidentCreateData_1 = require(\"./models/IncidentCreateData\");\nObject.defineProperty(exports, \"IncidentCreateData\", { enumerable: true, get: function () { return IncidentCreateData_1.IncidentCreateData; } });\nvar IncidentCreateRelationships_1 = require(\"./models/IncidentCreateRelationships\");\nObject.defineProperty(exports, \"IncidentCreateRelationships\", { enumerable: true, get: function () { return IncidentCreateRelationships_1.IncidentCreateRelationships; } });\nvar IncidentCreateRequest_1 = require(\"./models/IncidentCreateRequest\");\nObject.defineProperty(exports, \"IncidentCreateRequest\", { enumerable: true, get: function () { return IncidentCreateRequest_1.IncidentCreateRequest; } });\nvar IncidentFieldAttributesMultipleValue_1 = require(\"./models/IncidentFieldAttributesMultipleValue\");\nObject.defineProperty(exports, \"IncidentFieldAttributesMultipleValue\", { enumerable: true, get: function () { return IncidentFieldAttributesMultipleValue_1.IncidentFieldAttributesMultipleValue; } });\nvar IncidentFieldAttributesSingleValue_1 = require(\"./models/IncidentFieldAttributesSingleValue\");\nObject.defineProperty(exports, \"IncidentFieldAttributesSingleValue\", { enumerable: true, get: function () { return IncidentFieldAttributesSingleValue_1.IncidentFieldAttributesSingleValue; } });\nvar IncidentIntegrationMetadataAttributes_1 = require(\"./models/IncidentIntegrationMetadataAttributes\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataAttributes\", { enumerable: true, get: function () { return IncidentIntegrationMetadataAttributes_1.IncidentIntegrationMetadataAttributes; } });\nvar IncidentIntegrationMetadataCreateData_1 = require(\"./models/IncidentIntegrationMetadataCreateData\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataCreateData\", { enumerable: true, get: function () { return IncidentIntegrationMetadataCreateData_1.IncidentIntegrationMetadataCreateData; } });\nvar IncidentIntegrationMetadataCreateRequest_1 = require(\"./models/IncidentIntegrationMetadataCreateRequest\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataCreateRequest\", { enumerable: true, get: function () { return IncidentIntegrationMetadataCreateRequest_1.IncidentIntegrationMetadataCreateRequest; } });\nvar IncidentIntegrationMetadataListResponse_1 = require(\"./models/IncidentIntegrationMetadataListResponse\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataListResponse\", { enumerable: true, get: function () { return IncidentIntegrationMetadataListResponse_1.IncidentIntegrationMetadataListResponse; } });\nvar IncidentIntegrationMetadataPatchData_1 = require(\"./models/IncidentIntegrationMetadataPatchData\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataPatchData\", { enumerable: true, get: function () { return IncidentIntegrationMetadataPatchData_1.IncidentIntegrationMetadataPatchData; } });\nvar IncidentIntegrationMetadataPatchRequest_1 = require(\"./models/IncidentIntegrationMetadataPatchRequest\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataPatchRequest\", { enumerable: true, get: function () { return IncidentIntegrationMetadataPatchRequest_1.IncidentIntegrationMetadataPatchRequest; } });\nvar IncidentIntegrationMetadataResponse_1 = require(\"./models/IncidentIntegrationMetadataResponse\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataResponse\", { enumerable: true, get: function () { return IncidentIntegrationMetadataResponse_1.IncidentIntegrationMetadataResponse; } });\nvar IncidentIntegrationMetadataResponseData_1 = require(\"./models/IncidentIntegrationMetadataResponseData\");\nObject.defineProperty(exports, \"IncidentIntegrationMetadataResponseData\", { enumerable: true, get: function () { return IncidentIntegrationMetadataResponseData_1.IncidentIntegrationMetadataResponseData; } });\nvar IncidentNotificationHandle_1 = require(\"./models/IncidentNotificationHandle\");\nObject.defineProperty(exports, \"IncidentNotificationHandle\", { enumerable: true, get: function () { return IncidentNotificationHandle_1.IncidentNotificationHandle; } });\nvar IncidentResponse_1 = require(\"./models/IncidentResponse\");\nObject.defineProperty(exports, \"IncidentResponse\", { enumerable: true, get: function () { return IncidentResponse_1.IncidentResponse; } });\nvar IncidentResponseAttributes_1 = require(\"./models/IncidentResponseAttributes\");\nObject.defineProperty(exports, \"IncidentResponseAttributes\", { enumerable: true, get: function () { return IncidentResponseAttributes_1.IncidentResponseAttributes; } });\nvar IncidentResponseData_1 = require(\"./models/IncidentResponseData\");\nObject.defineProperty(exports, \"IncidentResponseData\", { enumerable: true, get: function () { return IncidentResponseData_1.IncidentResponseData; } });\nvar IncidentResponseMeta_1 = require(\"./models/IncidentResponseMeta\");\nObject.defineProperty(exports, \"IncidentResponseMeta\", { enumerable: true, get: function () { return IncidentResponseMeta_1.IncidentResponseMeta; } });\nvar IncidentResponseMetaPagination_1 = require(\"./models/IncidentResponseMetaPagination\");\nObject.defineProperty(exports, \"IncidentResponseMetaPagination\", { enumerable: true, get: function () { return IncidentResponseMetaPagination_1.IncidentResponseMetaPagination; } });\nvar IncidentResponseRelationships_1 = require(\"./models/IncidentResponseRelationships\");\nObject.defineProperty(exports, \"IncidentResponseRelationships\", { enumerable: true, get: function () { return IncidentResponseRelationships_1.IncidentResponseRelationships; } });\nvar IncidentSearchResponse_1 = require(\"./models/IncidentSearchResponse\");\nObject.defineProperty(exports, \"IncidentSearchResponse\", { enumerable: true, get: function () { return IncidentSearchResponse_1.IncidentSearchResponse; } });\nvar IncidentSearchResponseAttributes_1 = require(\"./models/IncidentSearchResponseAttributes\");\nObject.defineProperty(exports, \"IncidentSearchResponseAttributes\", { enumerable: true, get: function () { return IncidentSearchResponseAttributes_1.IncidentSearchResponseAttributes; } });\nvar IncidentSearchResponseData_1 = require(\"./models/IncidentSearchResponseData\");\nObject.defineProperty(exports, \"IncidentSearchResponseData\", { enumerable: true, get: function () { return IncidentSearchResponseData_1.IncidentSearchResponseData; } });\nvar IncidentSearchResponseFacetsData_1 = require(\"./models/IncidentSearchResponseFacetsData\");\nObject.defineProperty(exports, \"IncidentSearchResponseFacetsData\", { enumerable: true, get: function () { return IncidentSearchResponseFacetsData_1.IncidentSearchResponseFacetsData; } });\nvar IncidentSearchResponseFieldFacetData_1 = require(\"./models/IncidentSearchResponseFieldFacetData\");\nObject.defineProperty(exports, \"IncidentSearchResponseFieldFacetData\", { enumerable: true, get: function () { return IncidentSearchResponseFieldFacetData_1.IncidentSearchResponseFieldFacetData; } });\nvar IncidentSearchResponseIncidentsData_1 = require(\"./models/IncidentSearchResponseIncidentsData\");\nObject.defineProperty(exports, \"IncidentSearchResponseIncidentsData\", { enumerable: true, get: function () { return IncidentSearchResponseIncidentsData_1.IncidentSearchResponseIncidentsData; } });\nvar IncidentSearchResponseMeta_1 = require(\"./models/IncidentSearchResponseMeta\");\nObject.defineProperty(exports, \"IncidentSearchResponseMeta\", { enumerable: true, get: function () { return IncidentSearchResponseMeta_1.IncidentSearchResponseMeta; } });\nvar IncidentSearchResponseNumericFacetData_1 = require(\"./models/IncidentSearchResponseNumericFacetData\");\nObject.defineProperty(exports, \"IncidentSearchResponseNumericFacetData\", { enumerable: true, get: function () { return IncidentSearchResponseNumericFacetData_1.IncidentSearchResponseNumericFacetData; } });\nvar IncidentSearchResponseNumericFacetDataAggregates_1 = require(\"./models/IncidentSearchResponseNumericFacetDataAggregates\");\nObject.defineProperty(exports, \"IncidentSearchResponseNumericFacetDataAggregates\", { enumerable: true, get: function () { return IncidentSearchResponseNumericFacetDataAggregates_1.IncidentSearchResponseNumericFacetDataAggregates; } });\nvar IncidentSearchResponsePropertyFieldFacetData_1 = require(\"./models/IncidentSearchResponsePropertyFieldFacetData\");\nObject.defineProperty(exports, \"IncidentSearchResponsePropertyFieldFacetData\", { enumerable: true, get: function () { return IncidentSearchResponsePropertyFieldFacetData_1.IncidentSearchResponsePropertyFieldFacetData; } });\nvar IncidentSearchResponseUserFacetData_1 = require(\"./models/IncidentSearchResponseUserFacetData\");\nObject.defineProperty(exports, \"IncidentSearchResponseUserFacetData\", { enumerable: true, get: function () { return IncidentSearchResponseUserFacetData_1.IncidentSearchResponseUserFacetData; } });\nvar IncidentServiceCreateAttributes_1 = require(\"./models/IncidentServiceCreateAttributes\");\nObject.defineProperty(exports, \"IncidentServiceCreateAttributes\", { enumerable: true, get: function () { return IncidentServiceCreateAttributes_1.IncidentServiceCreateAttributes; } });\nvar IncidentServiceCreateData_1 = require(\"./models/IncidentServiceCreateData\");\nObject.defineProperty(exports, \"IncidentServiceCreateData\", { enumerable: true, get: function () { return IncidentServiceCreateData_1.IncidentServiceCreateData; } });\nvar IncidentServiceCreateRequest_1 = require(\"./models/IncidentServiceCreateRequest\");\nObject.defineProperty(exports, \"IncidentServiceCreateRequest\", { enumerable: true, get: function () { return IncidentServiceCreateRequest_1.IncidentServiceCreateRequest; } });\nvar IncidentServiceRelationships_1 = require(\"./models/IncidentServiceRelationships\");\nObject.defineProperty(exports, \"IncidentServiceRelationships\", { enumerable: true, get: function () { return IncidentServiceRelationships_1.IncidentServiceRelationships; } });\nvar IncidentServiceResponse_1 = require(\"./models/IncidentServiceResponse\");\nObject.defineProperty(exports, \"IncidentServiceResponse\", { enumerable: true, get: function () { return IncidentServiceResponse_1.IncidentServiceResponse; } });\nvar IncidentServiceResponseAttributes_1 = require(\"./models/IncidentServiceResponseAttributes\");\nObject.defineProperty(exports, \"IncidentServiceResponseAttributes\", { enumerable: true, get: function () { return IncidentServiceResponseAttributes_1.IncidentServiceResponseAttributes; } });\nvar IncidentServiceResponseData_1 = require(\"./models/IncidentServiceResponseData\");\nObject.defineProperty(exports, \"IncidentServiceResponseData\", { enumerable: true, get: function () { return IncidentServiceResponseData_1.IncidentServiceResponseData; } });\nvar IncidentServicesResponse_1 = require(\"./models/IncidentServicesResponse\");\nObject.defineProperty(exports, \"IncidentServicesResponse\", { enumerable: true, get: function () { return IncidentServicesResponse_1.IncidentServicesResponse; } });\nvar IncidentServiceUpdateAttributes_1 = require(\"./models/IncidentServiceUpdateAttributes\");\nObject.defineProperty(exports, \"IncidentServiceUpdateAttributes\", { enumerable: true, get: function () { return IncidentServiceUpdateAttributes_1.IncidentServiceUpdateAttributes; } });\nvar IncidentServiceUpdateData_1 = require(\"./models/IncidentServiceUpdateData\");\nObject.defineProperty(exports, \"IncidentServiceUpdateData\", { enumerable: true, get: function () { return IncidentServiceUpdateData_1.IncidentServiceUpdateData; } });\nvar IncidentServiceUpdateRequest_1 = require(\"./models/IncidentServiceUpdateRequest\");\nObject.defineProperty(exports, \"IncidentServiceUpdateRequest\", { enumerable: true, get: function () { return IncidentServiceUpdateRequest_1.IncidentServiceUpdateRequest; } });\nvar IncidentsResponse_1 = require(\"./models/IncidentsResponse\");\nObject.defineProperty(exports, \"IncidentsResponse\", { enumerable: true, get: function () { return IncidentsResponse_1.IncidentsResponse; } });\nvar IncidentTeamCreateAttributes_1 = require(\"./models/IncidentTeamCreateAttributes\");\nObject.defineProperty(exports, \"IncidentTeamCreateAttributes\", { enumerable: true, get: function () { return IncidentTeamCreateAttributes_1.IncidentTeamCreateAttributes; } });\nvar IncidentTeamCreateData_1 = require(\"./models/IncidentTeamCreateData\");\nObject.defineProperty(exports, \"IncidentTeamCreateData\", { enumerable: true, get: function () { return IncidentTeamCreateData_1.IncidentTeamCreateData; } });\nvar IncidentTeamCreateRequest_1 = require(\"./models/IncidentTeamCreateRequest\");\nObject.defineProperty(exports, \"IncidentTeamCreateRequest\", { enumerable: true, get: function () { return IncidentTeamCreateRequest_1.IncidentTeamCreateRequest; } });\nvar IncidentTeamRelationships_1 = require(\"./models/IncidentTeamRelationships\");\nObject.defineProperty(exports, \"IncidentTeamRelationships\", { enumerable: true, get: function () { return IncidentTeamRelationships_1.IncidentTeamRelationships; } });\nvar IncidentTeamResponse_1 = require(\"./models/IncidentTeamResponse\");\nObject.defineProperty(exports, \"IncidentTeamResponse\", { enumerable: true, get: function () { return IncidentTeamResponse_1.IncidentTeamResponse; } });\nvar IncidentTeamResponseAttributes_1 = require(\"./models/IncidentTeamResponseAttributes\");\nObject.defineProperty(exports, \"IncidentTeamResponseAttributes\", { enumerable: true, get: function () { return IncidentTeamResponseAttributes_1.IncidentTeamResponseAttributes; } });\nvar IncidentTeamResponseData_1 = require(\"./models/IncidentTeamResponseData\");\nObject.defineProperty(exports, \"IncidentTeamResponseData\", { enumerable: true, get: function () { return IncidentTeamResponseData_1.IncidentTeamResponseData; } });\nvar IncidentTeamsResponse_1 = require(\"./models/IncidentTeamsResponse\");\nObject.defineProperty(exports, \"IncidentTeamsResponse\", { enumerable: true, get: function () { return IncidentTeamsResponse_1.IncidentTeamsResponse; } });\nvar IncidentTeamUpdateAttributes_1 = require(\"./models/IncidentTeamUpdateAttributes\");\nObject.defineProperty(exports, \"IncidentTeamUpdateAttributes\", { enumerable: true, get: function () { return IncidentTeamUpdateAttributes_1.IncidentTeamUpdateAttributes; } });\nvar IncidentTeamUpdateData_1 = require(\"./models/IncidentTeamUpdateData\");\nObject.defineProperty(exports, \"IncidentTeamUpdateData\", { enumerable: true, get: function () { return IncidentTeamUpdateData_1.IncidentTeamUpdateData; } });\nvar IncidentTeamUpdateRequest_1 = require(\"./models/IncidentTeamUpdateRequest\");\nObject.defineProperty(exports, \"IncidentTeamUpdateRequest\", { enumerable: true, get: function () { return IncidentTeamUpdateRequest_1.IncidentTeamUpdateRequest; } });\nvar IncidentTimelineCellMarkdownCreateAttributes_1 = require(\"./models/IncidentTimelineCellMarkdownCreateAttributes\");\nObject.defineProperty(exports, \"IncidentTimelineCellMarkdownCreateAttributes\", { enumerable: true, get: function () { return IncidentTimelineCellMarkdownCreateAttributes_1.IncidentTimelineCellMarkdownCreateAttributes; } });\nvar IncidentTimelineCellMarkdownCreateAttributesContent_1 = require(\"./models/IncidentTimelineCellMarkdownCreateAttributesContent\");\nObject.defineProperty(exports, \"IncidentTimelineCellMarkdownCreateAttributesContent\", { enumerable: true, get: function () { return IncidentTimelineCellMarkdownCreateAttributesContent_1.IncidentTimelineCellMarkdownCreateAttributesContent; } });\nvar IncidentTodoAnonymousAssignee_1 = require(\"./models/IncidentTodoAnonymousAssignee\");\nObject.defineProperty(exports, \"IncidentTodoAnonymousAssignee\", { enumerable: true, get: function () { return IncidentTodoAnonymousAssignee_1.IncidentTodoAnonymousAssignee; } });\nvar IncidentTodoAttributes_1 = require(\"./models/IncidentTodoAttributes\");\nObject.defineProperty(exports, \"IncidentTodoAttributes\", { enumerable: true, get: function () { return IncidentTodoAttributes_1.IncidentTodoAttributes; } });\nvar IncidentTodoCreateData_1 = require(\"./models/IncidentTodoCreateData\");\nObject.defineProperty(exports, \"IncidentTodoCreateData\", { enumerable: true, get: function () { return IncidentTodoCreateData_1.IncidentTodoCreateData; } });\nvar IncidentTodoCreateRequest_1 = require(\"./models/IncidentTodoCreateRequest\");\nObject.defineProperty(exports, \"IncidentTodoCreateRequest\", { enumerable: true, get: function () { return IncidentTodoCreateRequest_1.IncidentTodoCreateRequest; } });\nvar IncidentTodoListResponse_1 = require(\"./models/IncidentTodoListResponse\");\nObject.defineProperty(exports, \"IncidentTodoListResponse\", { enumerable: true, get: function () { return IncidentTodoListResponse_1.IncidentTodoListResponse; } });\nvar IncidentTodoPatchData_1 = require(\"./models/IncidentTodoPatchData\");\nObject.defineProperty(exports, \"IncidentTodoPatchData\", { enumerable: true, get: function () { return IncidentTodoPatchData_1.IncidentTodoPatchData; } });\nvar IncidentTodoPatchRequest_1 = require(\"./models/IncidentTodoPatchRequest\");\nObject.defineProperty(exports, \"IncidentTodoPatchRequest\", { enumerable: true, get: function () { return IncidentTodoPatchRequest_1.IncidentTodoPatchRequest; } });\nvar IncidentTodoResponse_1 = require(\"./models/IncidentTodoResponse\");\nObject.defineProperty(exports, \"IncidentTodoResponse\", { enumerable: true, get: function () { return IncidentTodoResponse_1.IncidentTodoResponse; } });\nvar IncidentTodoResponseData_1 = require(\"./models/IncidentTodoResponseData\");\nObject.defineProperty(exports, \"IncidentTodoResponseData\", { enumerable: true, get: function () { return IncidentTodoResponseData_1.IncidentTodoResponseData; } });\nvar IncidentUpdateAttributes_1 = require(\"./models/IncidentUpdateAttributes\");\nObject.defineProperty(exports, \"IncidentUpdateAttributes\", { enumerable: true, get: function () { return IncidentUpdateAttributes_1.IncidentUpdateAttributes; } });\nvar IncidentUpdateData_1 = require(\"./models/IncidentUpdateData\");\nObject.defineProperty(exports, \"IncidentUpdateData\", { enumerable: true, get: function () { return IncidentUpdateData_1.IncidentUpdateData; } });\nvar IncidentUpdateRelationships_1 = require(\"./models/IncidentUpdateRelationships\");\nObject.defineProperty(exports, \"IncidentUpdateRelationships\", { enumerable: true, get: function () { return IncidentUpdateRelationships_1.IncidentUpdateRelationships; } });\nvar IncidentUpdateRequest_1 = require(\"./models/IncidentUpdateRequest\");\nObject.defineProperty(exports, \"IncidentUpdateRequest\", { enumerable: true, get: function () { return IncidentUpdateRequest_1.IncidentUpdateRequest; } });\nvar IntakePayloadAccepted_1 = require(\"./models/IntakePayloadAccepted\");\nObject.defineProperty(exports, \"IntakePayloadAccepted\", { enumerable: true, get: function () { return IntakePayloadAccepted_1.IntakePayloadAccepted; } });\nvar IPAllowlistAttributes_1 = require(\"./models/IPAllowlistAttributes\");\nObject.defineProperty(exports, \"IPAllowlistAttributes\", { enumerable: true, get: function () { return IPAllowlistAttributes_1.IPAllowlistAttributes; } });\nvar IPAllowlistData_1 = require(\"./models/IPAllowlistData\");\nObject.defineProperty(exports, \"IPAllowlistData\", { enumerable: true, get: function () { return IPAllowlistData_1.IPAllowlistData; } });\nvar IPAllowlistEntry_1 = require(\"./models/IPAllowlistEntry\");\nObject.defineProperty(exports, \"IPAllowlistEntry\", { enumerable: true, get: function () { return IPAllowlistEntry_1.IPAllowlistEntry; } });\nvar IPAllowlistEntryAttributes_1 = require(\"./models/IPAllowlistEntryAttributes\");\nObject.defineProperty(exports, \"IPAllowlistEntryAttributes\", { enumerable: true, get: function () { return IPAllowlistEntryAttributes_1.IPAllowlistEntryAttributes; } });\nvar IPAllowlistEntryData_1 = require(\"./models/IPAllowlistEntryData\");\nObject.defineProperty(exports, \"IPAllowlistEntryData\", { enumerable: true, get: function () { return IPAllowlistEntryData_1.IPAllowlistEntryData; } });\nvar IPAllowlistResponse_1 = require(\"./models/IPAllowlistResponse\");\nObject.defineProperty(exports, \"IPAllowlistResponse\", { enumerable: true, get: function () { return IPAllowlistResponse_1.IPAllowlistResponse; } });\nvar IPAllowlistUpdateRequest_1 = require(\"./models/IPAllowlistUpdateRequest\");\nObject.defineProperty(exports, \"IPAllowlistUpdateRequest\", { enumerable: true, get: function () { return IPAllowlistUpdateRequest_1.IPAllowlistUpdateRequest; } });\nvar JiraIntegrationMetadata_1 = require(\"./models/JiraIntegrationMetadata\");\nObject.defineProperty(exports, \"JiraIntegrationMetadata\", { enumerable: true, get: function () { return JiraIntegrationMetadata_1.JiraIntegrationMetadata; } });\nvar JiraIntegrationMetadataIssuesItem_1 = require(\"./models/JiraIntegrationMetadataIssuesItem\");\nObject.defineProperty(exports, \"JiraIntegrationMetadataIssuesItem\", { enumerable: true, get: function () { return JiraIntegrationMetadataIssuesItem_1.JiraIntegrationMetadataIssuesItem; } });\nvar JSONAPIErrorItem_1 = require(\"./models/JSONAPIErrorItem\");\nObject.defineProperty(exports, \"JSONAPIErrorItem\", { enumerable: true, get: function () { return JSONAPIErrorItem_1.JSONAPIErrorItem; } });\nvar JSONAPIErrorResponse_1 = require(\"./models/JSONAPIErrorResponse\");\nObject.defineProperty(exports, \"JSONAPIErrorResponse\", { enumerable: true, get: function () { return JSONAPIErrorResponse_1.JSONAPIErrorResponse; } });\nvar ListApplicationKeysResponse_1 = require(\"./models/ListApplicationKeysResponse\");\nObject.defineProperty(exports, \"ListApplicationKeysResponse\", { enumerable: true, get: function () { return ListApplicationKeysResponse_1.ListApplicationKeysResponse; } });\nvar ListDowntimesResponse_1 = require(\"./models/ListDowntimesResponse\");\nObject.defineProperty(exports, \"ListDowntimesResponse\", { enumerable: true, get: function () { return ListDowntimesResponse_1.ListDowntimesResponse; } });\nvar ListFindingsMeta_1 = require(\"./models/ListFindingsMeta\");\nObject.defineProperty(exports, \"ListFindingsMeta\", { enumerable: true, get: function () { return ListFindingsMeta_1.ListFindingsMeta; } });\nvar ListFindingsPage_1 = require(\"./models/ListFindingsPage\");\nObject.defineProperty(exports, \"ListFindingsPage\", { enumerable: true, get: function () { return ListFindingsPage_1.ListFindingsPage; } });\nvar ListFindingsResponse_1 = require(\"./models/ListFindingsResponse\");\nObject.defineProperty(exports, \"ListFindingsResponse\", { enumerable: true, get: function () { return ListFindingsResponse_1.ListFindingsResponse; } });\nvar Log_1 = require(\"./models/Log\");\nObject.defineProperty(exports, \"Log\", { enumerable: true, get: function () { return Log_1.Log; } });\nvar LogAttributes_1 = require(\"./models/LogAttributes\");\nObject.defineProperty(exports, \"LogAttributes\", { enumerable: true, get: function () { return LogAttributes_1.LogAttributes; } });\nvar LogsAggregateBucket_1 = require(\"./models/LogsAggregateBucket\");\nObject.defineProperty(exports, \"LogsAggregateBucket\", { enumerable: true, get: function () { return LogsAggregateBucket_1.LogsAggregateBucket; } });\nvar LogsAggregateBucketValueTimeseriesPoint_1 = require(\"./models/LogsAggregateBucketValueTimeseriesPoint\");\nObject.defineProperty(exports, \"LogsAggregateBucketValueTimeseriesPoint\", { enumerable: true, get: function () { return LogsAggregateBucketValueTimeseriesPoint_1.LogsAggregateBucketValueTimeseriesPoint; } });\nvar LogsAggregateRequest_1 = require(\"./models/LogsAggregateRequest\");\nObject.defineProperty(exports, \"LogsAggregateRequest\", { enumerable: true, get: function () { return LogsAggregateRequest_1.LogsAggregateRequest; } });\nvar LogsAggregateRequestPage_1 = require(\"./models/LogsAggregateRequestPage\");\nObject.defineProperty(exports, \"LogsAggregateRequestPage\", { enumerable: true, get: function () { return LogsAggregateRequestPage_1.LogsAggregateRequestPage; } });\nvar LogsAggregateResponse_1 = require(\"./models/LogsAggregateResponse\");\nObject.defineProperty(exports, \"LogsAggregateResponse\", { enumerable: true, get: function () { return LogsAggregateResponse_1.LogsAggregateResponse; } });\nvar LogsAggregateResponseData_1 = require(\"./models/LogsAggregateResponseData\");\nObject.defineProperty(exports, \"LogsAggregateResponseData\", { enumerable: true, get: function () { return LogsAggregateResponseData_1.LogsAggregateResponseData; } });\nvar LogsAggregateSort_1 = require(\"./models/LogsAggregateSort\");\nObject.defineProperty(exports, \"LogsAggregateSort\", { enumerable: true, get: function () { return LogsAggregateSort_1.LogsAggregateSort; } });\nvar LogsArchive_1 = require(\"./models/LogsArchive\");\nObject.defineProperty(exports, \"LogsArchive\", { enumerable: true, get: function () { return LogsArchive_1.LogsArchive; } });\nvar LogsArchiveAttributes_1 = require(\"./models/LogsArchiveAttributes\");\nObject.defineProperty(exports, \"LogsArchiveAttributes\", { enumerable: true, get: function () { return LogsArchiveAttributes_1.LogsArchiveAttributes; } });\nvar LogsArchiveCreateRequest_1 = require(\"./models/LogsArchiveCreateRequest\");\nObject.defineProperty(exports, \"LogsArchiveCreateRequest\", { enumerable: true, get: function () { return LogsArchiveCreateRequest_1.LogsArchiveCreateRequest; } });\nvar LogsArchiveCreateRequestAttributes_1 = require(\"./models/LogsArchiveCreateRequestAttributes\");\nObject.defineProperty(exports, \"LogsArchiveCreateRequestAttributes\", { enumerable: true, get: function () { return LogsArchiveCreateRequestAttributes_1.LogsArchiveCreateRequestAttributes; } });\nvar LogsArchiveCreateRequestDefinition_1 = require(\"./models/LogsArchiveCreateRequestDefinition\");\nObject.defineProperty(exports, \"LogsArchiveCreateRequestDefinition\", { enumerable: true, get: function () { return LogsArchiveCreateRequestDefinition_1.LogsArchiveCreateRequestDefinition; } });\nvar LogsArchiveDefinition_1 = require(\"./models/LogsArchiveDefinition\");\nObject.defineProperty(exports, \"LogsArchiveDefinition\", { enumerable: true, get: function () { return LogsArchiveDefinition_1.LogsArchiveDefinition; } });\nvar LogsArchiveDestinationAzure_1 = require(\"./models/LogsArchiveDestinationAzure\");\nObject.defineProperty(exports, \"LogsArchiveDestinationAzure\", { enumerable: true, get: function () { return LogsArchiveDestinationAzure_1.LogsArchiveDestinationAzure; } });\nvar LogsArchiveDestinationGCS_1 = require(\"./models/LogsArchiveDestinationGCS\");\nObject.defineProperty(exports, \"LogsArchiveDestinationGCS\", { enumerable: true, get: function () { return LogsArchiveDestinationGCS_1.LogsArchiveDestinationGCS; } });\nvar LogsArchiveDestinationS3_1 = require(\"./models/LogsArchiveDestinationS3\");\nObject.defineProperty(exports, \"LogsArchiveDestinationS3\", { enumerable: true, get: function () { return LogsArchiveDestinationS3_1.LogsArchiveDestinationS3; } });\nvar LogsArchiveIntegrationAzure_1 = require(\"./models/LogsArchiveIntegrationAzure\");\nObject.defineProperty(exports, \"LogsArchiveIntegrationAzure\", { enumerable: true, get: function () { return LogsArchiveIntegrationAzure_1.LogsArchiveIntegrationAzure; } });\nvar LogsArchiveIntegrationGCS_1 = require(\"./models/LogsArchiveIntegrationGCS\");\nObject.defineProperty(exports, \"LogsArchiveIntegrationGCS\", { enumerable: true, get: function () { return LogsArchiveIntegrationGCS_1.LogsArchiveIntegrationGCS; } });\nvar LogsArchiveIntegrationS3_1 = require(\"./models/LogsArchiveIntegrationS3\");\nObject.defineProperty(exports, \"LogsArchiveIntegrationS3\", { enumerable: true, get: function () { return LogsArchiveIntegrationS3_1.LogsArchiveIntegrationS3; } });\nvar LogsArchiveOrder_1 = require(\"./models/LogsArchiveOrder\");\nObject.defineProperty(exports, \"LogsArchiveOrder\", { enumerable: true, get: function () { return LogsArchiveOrder_1.LogsArchiveOrder; } });\nvar LogsArchiveOrderAttributes_1 = require(\"./models/LogsArchiveOrderAttributes\");\nObject.defineProperty(exports, \"LogsArchiveOrderAttributes\", { enumerable: true, get: function () { return LogsArchiveOrderAttributes_1.LogsArchiveOrderAttributes; } });\nvar LogsArchiveOrderDefinition_1 = require(\"./models/LogsArchiveOrderDefinition\");\nObject.defineProperty(exports, \"LogsArchiveOrderDefinition\", { enumerable: true, get: function () { return LogsArchiveOrderDefinition_1.LogsArchiveOrderDefinition; } });\nvar LogsArchives_1 = require(\"./models/LogsArchives\");\nObject.defineProperty(exports, \"LogsArchives\", { enumerable: true, get: function () { return LogsArchives_1.LogsArchives; } });\nvar LogsCompute_1 = require(\"./models/LogsCompute\");\nObject.defineProperty(exports, \"LogsCompute\", { enumerable: true, get: function () { return LogsCompute_1.LogsCompute; } });\nvar LogsGroupBy_1 = require(\"./models/LogsGroupBy\");\nObject.defineProperty(exports, \"LogsGroupBy\", { enumerable: true, get: function () { return LogsGroupBy_1.LogsGroupBy; } });\nvar LogsGroupByHistogram_1 = require(\"./models/LogsGroupByHistogram\");\nObject.defineProperty(exports, \"LogsGroupByHistogram\", { enumerable: true, get: function () { return LogsGroupByHistogram_1.LogsGroupByHistogram; } });\nvar LogsListRequest_1 = require(\"./models/LogsListRequest\");\nObject.defineProperty(exports, \"LogsListRequest\", { enumerable: true, get: function () { return LogsListRequest_1.LogsListRequest; } });\nvar LogsListRequestPage_1 = require(\"./models/LogsListRequestPage\");\nObject.defineProperty(exports, \"LogsListRequestPage\", { enumerable: true, get: function () { return LogsListRequestPage_1.LogsListRequestPage; } });\nvar LogsListResponse_1 = require(\"./models/LogsListResponse\");\nObject.defineProperty(exports, \"LogsListResponse\", { enumerable: true, get: function () { return LogsListResponse_1.LogsListResponse; } });\nvar LogsListResponseLinks_1 = require(\"./models/LogsListResponseLinks\");\nObject.defineProperty(exports, \"LogsListResponseLinks\", { enumerable: true, get: function () { return LogsListResponseLinks_1.LogsListResponseLinks; } });\nvar LogsMetricCompute_1 = require(\"./models/LogsMetricCompute\");\nObject.defineProperty(exports, \"LogsMetricCompute\", { enumerable: true, get: function () { return LogsMetricCompute_1.LogsMetricCompute; } });\nvar LogsMetricCreateAttributes_1 = require(\"./models/LogsMetricCreateAttributes\");\nObject.defineProperty(exports, \"LogsMetricCreateAttributes\", { enumerable: true, get: function () { return LogsMetricCreateAttributes_1.LogsMetricCreateAttributes; } });\nvar LogsMetricCreateData_1 = require(\"./models/LogsMetricCreateData\");\nObject.defineProperty(exports, \"LogsMetricCreateData\", { enumerable: true, get: function () { return LogsMetricCreateData_1.LogsMetricCreateData; } });\nvar LogsMetricCreateRequest_1 = require(\"./models/LogsMetricCreateRequest\");\nObject.defineProperty(exports, \"LogsMetricCreateRequest\", { enumerable: true, get: function () { return LogsMetricCreateRequest_1.LogsMetricCreateRequest; } });\nvar LogsMetricFilter_1 = require(\"./models/LogsMetricFilter\");\nObject.defineProperty(exports, \"LogsMetricFilter\", { enumerable: true, get: function () { return LogsMetricFilter_1.LogsMetricFilter; } });\nvar LogsMetricGroupBy_1 = require(\"./models/LogsMetricGroupBy\");\nObject.defineProperty(exports, \"LogsMetricGroupBy\", { enumerable: true, get: function () { return LogsMetricGroupBy_1.LogsMetricGroupBy; } });\nvar LogsMetricResponse_1 = require(\"./models/LogsMetricResponse\");\nObject.defineProperty(exports, \"LogsMetricResponse\", { enumerable: true, get: function () { return LogsMetricResponse_1.LogsMetricResponse; } });\nvar LogsMetricResponseAttributes_1 = require(\"./models/LogsMetricResponseAttributes\");\nObject.defineProperty(exports, \"LogsMetricResponseAttributes\", { enumerable: true, get: function () { return LogsMetricResponseAttributes_1.LogsMetricResponseAttributes; } });\nvar LogsMetricResponseCompute_1 = require(\"./models/LogsMetricResponseCompute\");\nObject.defineProperty(exports, \"LogsMetricResponseCompute\", { enumerable: true, get: function () { return LogsMetricResponseCompute_1.LogsMetricResponseCompute; } });\nvar LogsMetricResponseData_1 = require(\"./models/LogsMetricResponseData\");\nObject.defineProperty(exports, \"LogsMetricResponseData\", { enumerable: true, get: function () { return LogsMetricResponseData_1.LogsMetricResponseData; } });\nvar LogsMetricResponseFilter_1 = require(\"./models/LogsMetricResponseFilter\");\nObject.defineProperty(exports, \"LogsMetricResponseFilter\", { enumerable: true, get: function () { return LogsMetricResponseFilter_1.LogsMetricResponseFilter; } });\nvar LogsMetricResponseGroupBy_1 = require(\"./models/LogsMetricResponseGroupBy\");\nObject.defineProperty(exports, \"LogsMetricResponseGroupBy\", { enumerable: true, get: function () { return LogsMetricResponseGroupBy_1.LogsMetricResponseGroupBy; } });\nvar LogsMetricsResponse_1 = require(\"./models/LogsMetricsResponse\");\nObject.defineProperty(exports, \"LogsMetricsResponse\", { enumerable: true, get: function () { return LogsMetricsResponse_1.LogsMetricsResponse; } });\nvar LogsMetricUpdateAttributes_1 = require(\"./models/LogsMetricUpdateAttributes\");\nObject.defineProperty(exports, \"LogsMetricUpdateAttributes\", { enumerable: true, get: function () { return LogsMetricUpdateAttributes_1.LogsMetricUpdateAttributes; } });\nvar LogsMetricUpdateCompute_1 = require(\"./models/LogsMetricUpdateCompute\");\nObject.defineProperty(exports, \"LogsMetricUpdateCompute\", { enumerable: true, get: function () { return LogsMetricUpdateCompute_1.LogsMetricUpdateCompute; } });\nvar LogsMetricUpdateData_1 = require(\"./models/LogsMetricUpdateData\");\nObject.defineProperty(exports, \"LogsMetricUpdateData\", { enumerable: true, get: function () { return LogsMetricUpdateData_1.LogsMetricUpdateData; } });\nvar LogsMetricUpdateRequest_1 = require(\"./models/LogsMetricUpdateRequest\");\nObject.defineProperty(exports, \"LogsMetricUpdateRequest\", { enumerable: true, get: function () { return LogsMetricUpdateRequest_1.LogsMetricUpdateRequest; } });\nvar LogsQueryFilter_1 = require(\"./models/LogsQueryFilter\");\nObject.defineProperty(exports, \"LogsQueryFilter\", { enumerable: true, get: function () { return LogsQueryFilter_1.LogsQueryFilter; } });\nvar LogsQueryOptions_1 = require(\"./models/LogsQueryOptions\");\nObject.defineProperty(exports, \"LogsQueryOptions\", { enumerable: true, get: function () { return LogsQueryOptions_1.LogsQueryOptions; } });\nvar LogsResponseMetadata_1 = require(\"./models/LogsResponseMetadata\");\nObject.defineProperty(exports, \"LogsResponseMetadata\", { enumerable: true, get: function () { return LogsResponseMetadata_1.LogsResponseMetadata; } });\nvar LogsResponseMetadataPage_1 = require(\"./models/LogsResponseMetadataPage\");\nObject.defineProperty(exports, \"LogsResponseMetadataPage\", { enumerable: true, get: function () { return LogsResponseMetadataPage_1.LogsResponseMetadataPage; } });\nvar LogsWarning_1 = require(\"./models/LogsWarning\");\nObject.defineProperty(exports, \"LogsWarning\", { enumerable: true, get: function () { return LogsWarning_1.LogsWarning; } });\nvar Metric_1 = require(\"./models/Metric\");\nObject.defineProperty(exports, \"Metric\", { enumerable: true, get: function () { return Metric_1.Metric; } });\nvar MetricAllTags_1 = require(\"./models/MetricAllTags\");\nObject.defineProperty(exports, \"MetricAllTags\", { enumerable: true, get: function () { return MetricAllTags_1.MetricAllTags; } });\nvar MetricAllTagsAttributes_1 = require(\"./models/MetricAllTagsAttributes\");\nObject.defineProperty(exports, \"MetricAllTagsAttributes\", { enumerable: true, get: function () { return MetricAllTagsAttributes_1.MetricAllTagsAttributes; } });\nvar MetricAllTagsResponse_1 = require(\"./models/MetricAllTagsResponse\");\nObject.defineProperty(exports, \"MetricAllTagsResponse\", { enumerable: true, get: function () { return MetricAllTagsResponse_1.MetricAllTagsResponse; } });\nvar MetricBulkTagConfigCreate_1 = require(\"./models/MetricBulkTagConfigCreate\");\nObject.defineProperty(exports, \"MetricBulkTagConfigCreate\", { enumerable: true, get: function () { return MetricBulkTagConfigCreate_1.MetricBulkTagConfigCreate; } });\nvar MetricBulkTagConfigCreateAttributes_1 = require(\"./models/MetricBulkTagConfigCreateAttributes\");\nObject.defineProperty(exports, \"MetricBulkTagConfigCreateAttributes\", { enumerable: true, get: function () { return MetricBulkTagConfigCreateAttributes_1.MetricBulkTagConfigCreateAttributes; } });\nvar MetricBulkTagConfigCreateRequest_1 = require(\"./models/MetricBulkTagConfigCreateRequest\");\nObject.defineProperty(exports, \"MetricBulkTagConfigCreateRequest\", { enumerable: true, get: function () { return MetricBulkTagConfigCreateRequest_1.MetricBulkTagConfigCreateRequest; } });\nvar MetricBulkTagConfigDelete_1 = require(\"./models/MetricBulkTagConfigDelete\");\nObject.defineProperty(exports, \"MetricBulkTagConfigDelete\", { enumerable: true, get: function () { return MetricBulkTagConfigDelete_1.MetricBulkTagConfigDelete; } });\nvar MetricBulkTagConfigDeleteAttributes_1 = require(\"./models/MetricBulkTagConfigDeleteAttributes\");\nObject.defineProperty(exports, \"MetricBulkTagConfigDeleteAttributes\", { enumerable: true, get: function () { return MetricBulkTagConfigDeleteAttributes_1.MetricBulkTagConfigDeleteAttributes; } });\nvar MetricBulkTagConfigDeleteRequest_1 = require(\"./models/MetricBulkTagConfigDeleteRequest\");\nObject.defineProperty(exports, \"MetricBulkTagConfigDeleteRequest\", { enumerable: true, get: function () { return MetricBulkTagConfigDeleteRequest_1.MetricBulkTagConfigDeleteRequest; } });\nvar MetricBulkTagConfigResponse_1 = require(\"./models/MetricBulkTagConfigResponse\");\nObject.defineProperty(exports, \"MetricBulkTagConfigResponse\", { enumerable: true, get: function () { return MetricBulkTagConfigResponse_1.MetricBulkTagConfigResponse; } });\nvar MetricBulkTagConfigStatus_1 = require(\"./models/MetricBulkTagConfigStatus\");\nObject.defineProperty(exports, \"MetricBulkTagConfigStatus\", { enumerable: true, get: function () { return MetricBulkTagConfigStatus_1.MetricBulkTagConfigStatus; } });\nvar MetricBulkTagConfigStatusAttributes_1 = require(\"./models/MetricBulkTagConfigStatusAttributes\");\nObject.defineProperty(exports, \"MetricBulkTagConfigStatusAttributes\", { enumerable: true, get: function () { return MetricBulkTagConfigStatusAttributes_1.MetricBulkTagConfigStatusAttributes; } });\nvar MetricCustomAggregation_1 = require(\"./models/MetricCustomAggregation\");\nObject.defineProperty(exports, \"MetricCustomAggregation\", { enumerable: true, get: function () { return MetricCustomAggregation_1.MetricCustomAggregation; } });\nvar MetricDistinctVolume_1 = require(\"./models/MetricDistinctVolume\");\nObject.defineProperty(exports, \"MetricDistinctVolume\", { enumerable: true, get: function () { return MetricDistinctVolume_1.MetricDistinctVolume; } });\nvar MetricDistinctVolumeAttributes_1 = require(\"./models/MetricDistinctVolumeAttributes\");\nObject.defineProperty(exports, \"MetricDistinctVolumeAttributes\", { enumerable: true, get: function () { return MetricDistinctVolumeAttributes_1.MetricDistinctVolumeAttributes; } });\nvar MetricEstimate_1 = require(\"./models/MetricEstimate\");\nObject.defineProperty(exports, \"MetricEstimate\", { enumerable: true, get: function () { return MetricEstimate_1.MetricEstimate; } });\nvar MetricEstimateAttributes_1 = require(\"./models/MetricEstimateAttributes\");\nObject.defineProperty(exports, \"MetricEstimateAttributes\", { enumerable: true, get: function () { return MetricEstimateAttributes_1.MetricEstimateAttributes; } });\nvar MetricEstimateResponse_1 = require(\"./models/MetricEstimateResponse\");\nObject.defineProperty(exports, \"MetricEstimateResponse\", { enumerable: true, get: function () { return MetricEstimateResponse_1.MetricEstimateResponse; } });\nvar MetricIngestedIndexedVolume_1 = require(\"./models/MetricIngestedIndexedVolume\");\nObject.defineProperty(exports, \"MetricIngestedIndexedVolume\", { enumerable: true, get: function () { return MetricIngestedIndexedVolume_1.MetricIngestedIndexedVolume; } });\nvar MetricIngestedIndexedVolumeAttributes_1 = require(\"./models/MetricIngestedIndexedVolumeAttributes\");\nObject.defineProperty(exports, \"MetricIngestedIndexedVolumeAttributes\", { enumerable: true, get: function () { return MetricIngestedIndexedVolumeAttributes_1.MetricIngestedIndexedVolumeAttributes; } });\nvar MetricMetadata_1 = require(\"./models/MetricMetadata\");\nObject.defineProperty(exports, \"MetricMetadata\", { enumerable: true, get: function () { return MetricMetadata_1.MetricMetadata; } });\nvar MetricOrigin_1 = require(\"./models/MetricOrigin\");\nObject.defineProperty(exports, \"MetricOrigin\", { enumerable: true, get: function () { return MetricOrigin_1.MetricOrigin; } });\nvar MetricPayload_1 = require(\"./models/MetricPayload\");\nObject.defineProperty(exports, \"MetricPayload\", { enumerable: true, get: function () { return MetricPayload_1.MetricPayload; } });\nvar MetricPoint_1 = require(\"./models/MetricPoint\");\nObject.defineProperty(exports, \"MetricPoint\", { enumerable: true, get: function () { return MetricPoint_1.MetricPoint; } });\nvar MetricResource_1 = require(\"./models/MetricResource\");\nObject.defineProperty(exports, \"MetricResource\", { enumerable: true, get: function () { return MetricResource_1.MetricResource; } });\nvar MetricsAndMetricTagConfigurationsResponse_1 = require(\"./models/MetricsAndMetricTagConfigurationsResponse\");\nObject.defineProperty(exports, \"MetricsAndMetricTagConfigurationsResponse\", { enumerable: true, get: function () { return MetricsAndMetricTagConfigurationsResponse_1.MetricsAndMetricTagConfigurationsResponse; } });\nvar MetricSeries_1 = require(\"./models/MetricSeries\");\nObject.defineProperty(exports, \"MetricSeries\", { enumerable: true, get: function () { return MetricSeries_1.MetricSeries; } });\nvar MetricsScalarQuery_1 = require(\"./models/MetricsScalarQuery\");\nObject.defineProperty(exports, \"MetricsScalarQuery\", { enumerable: true, get: function () { return MetricsScalarQuery_1.MetricsScalarQuery; } });\nvar MetricsTimeseriesQuery_1 = require(\"./models/MetricsTimeseriesQuery\");\nObject.defineProperty(exports, \"MetricsTimeseriesQuery\", { enumerable: true, get: function () { return MetricsTimeseriesQuery_1.MetricsTimeseriesQuery; } });\nvar MetricSuggestedTagsAndAggregations_1 = require(\"./models/MetricSuggestedTagsAndAggregations\");\nObject.defineProperty(exports, \"MetricSuggestedTagsAndAggregations\", { enumerable: true, get: function () { return MetricSuggestedTagsAndAggregations_1.MetricSuggestedTagsAndAggregations; } });\nvar MetricSuggestedTagsAndAggregationsResponse_1 = require(\"./models/MetricSuggestedTagsAndAggregationsResponse\");\nObject.defineProperty(exports, \"MetricSuggestedTagsAndAggregationsResponse\", { enumerable: true, get: function () { return MetricSuggestedTagsAndAggregationsResponse_1.MetricSuggestedTagsAndAggregationsResponse; } });\nvar MetricSuggestedTagsAttributes_1 = require(\"./models/MetricSuggestedTagsAttributes\");\nObject.defineProperty(exports, \"MetricSuggestedTagsAttributes\", { enumerable: true, get: function () { return MetricSuggestedTagsAttributes_1.MetricSuggestedTagsAttributes; } });\nvar MetricTagConfiguration_1 = require(\"./models/MetricTagConfiguration\");\nObject.defineProperty(exports, \"MetricTagConfiguration\", { enumerable: true, get: function () { return MetricTagConfiguration_1.MetricTagConfiguration; } });\nvar MetricTagConfigurationAttributes_1 = require(\"./models/MetricTagConfigurationAttributes\");\nObject.defineProperty(exports, \"MetricTagConfigurationAttributes\", { enumerable: true, get: function () { return MetricTagConfigurationAttributes_1.MetricTagConfigurationAttributes; } });\nvar MetricTagConfigurationCreateAttributes_1 = require(\"./models/MetricTagConfigurationCreateAttributes\");\nObject.defineProperty(exports, \"MetricTagConfigurationCreateAttributes\", { enumerable: true, get: function () { return MetricTagConfigurationCreateAttributes_1.MetricTagConfigurationCreateAttributes; } });\nvar MetricTagConfigurationCreateData_1 = require(\"./models/MetricTagConfigurationCreateData\");\nObject.defineProperty(exports, \"MetricTagConfigurationCreateData\", { enumerable: true, get: function () { return MetricTagConfigurationCreateData_1.MetricTagConfigurationCreateData; } });\nvar MetricTagConfigurationCreateRequest_1 = require(\"./models/MetricTagConfigurationCreateRequest\");\nObject.defineProperty(exports, \"MetricTagConfigurationCreateRequest\", { enumerable: true, get: function () { return MetricTagConfigurationCreateRequest_1.MetricTagConfigurationCreateRequest; } });\nvar MetricTagConfigurationResponse_1 = require(\"./models/MetricTagConfigurationResponse\");\nObject.defineProperty(exports, \"MetricTagConfigurationResponse\", { enumerable: true, get: function () { return MetricTagConfigurationResponse_1.MetricTagConfigurationResponse; } });\nvar MetricTagConfigurationUpdateAttributes_1 = require(\"./models/MetricTagConfigurationUpdateAttributes\");\nObject.defineProperty(exports, \"MetricTagConfigurationUpdateAttributes\", { enumerable: true, get: function () { return MetricTagConfigurationUpdateAttributes_1.MetricTagConfigurationUpdateAttributes; } });\nvar MetricTagConfigurationUpdateData_1 = require(\"./models/MetricTagConfigurationUpdateData\");\nObject.defineProperty(exports, \"MetricTagConfigurationUpdateData\", { enumerable: true, get: function () { return MetricTagConfigurationUpdateData_1.MetricTagConfigurationUpdateData; } });\nvar MetricTagConfigurationUpdateRequest_1 = require(\"./models/MetricTagConfigurationUpdateRequest\");\nObject.defineProperty(exports, \"MetricTagConfigurationUpdateRequest\", { enumerable: true, get: function () { return MetricTagConfigurationUpdateRequest_1.MetricTagConfigurationUpdateRequest; } });\nvar MetricVolumesResponse_1 = require(\"./models/MetricVolumesResponse\");\nObject.defineProperty(exports, \"MetricVolumesResponse\", { enumerable: true, get: function () { return MetricVolumesResponse_1.MetricVolumesResponse; } });\nvar MonitorConfigPolicyAttributeCreateRequest_1 = require(\"./models/MonitorConfigPolicyAttributeCreateRequest\");\nObject.defineProperty(exports, \"MonitorConfigPolicyAttributeCreateRequest\", { enumerable: true, get: function () { return MonitorConfigPolicyAttributeCreateRequest_1.MonitorConfigPolicyAttributeCreateRequest; } });\nvar MonitorConfigPolicyAttributeEditRequest_1 = require(\"./models/MonitorConfigPolicyAttributeEditRequest\");\nObject.defineProperty(exports, \"MonitorConfigPolicyAttributeEditRequest\", { enumerable: true, get: function () { return MonitorConfigPolicyAttributeEditRequest_1.MonitorConfigPolicyAttributeEditRequest; } });\nvar MonitorConfigPolicyAttributeResponse_1 = require(\"./models/MonitorConfigPolicyAttributeResponse\");\nObject.defineProperty(exports, \"MonitorConfigPolicyAttributeResponse\", { enumerable: true, get: function () { return MonitorConfigPolicyAttributeResponse_1.MonitorConfigPolicyAttributeResponse; } });\nvar MonitorConfigPolicyCreateData_1 = require(\"./models/MonitorConfigPolicyCreateData\");\nObject.defineProperty(exports, \"MonitorConfigPolicyCreateData\", { enumerable: true, get: function () { return MonitorConfigPolicyCreateData_1.MonitorConfigPolicyCreateData; } });\nvar MonitorConfigPolicyCreateRequest_1 = require(\"./models/MonitorConfigPolicyCreateRequest\");\nObject.defineProperty(exports, \"MonitorConfigPolicyCreateRequest\", { enumerable: true, get: function () { return MonitorConfigPolicyCreateRequest_1.MonitorConfigPolicyCreateRequest; } });\nvar MonitorConfigPolicyEditData_1 = require(\"./models/MonitorConfigPolicyEditData\");\nObject.defineProperty(exports, \"MonitorConfigPolicyEditData\", { enumerable: true, get: function () { return MonitorConfigPolicyEditData_1.MonitorConfigPolicyEditData; } });\nvar MonitorConfigPolicyEditRequest_1 = require(\"./models/MonitorConfigPolicyEditRequest\");\nObject.defineProperty(exports, \"MonitorConfigPolicyEditRequest\", { enumerable: true, get: function () { return MonitorConfigPolicyEditRequest_1.MonitorConfigPolicyEditRequest; } });\nvar MonitorConfigPolicyListResponse_1 = require(\"./models/MonitorConfigPolicyListResponse\");\nObject.defineProperty(exports, \"MonitorConfigPolicyListResponse\", { enumerable: true, get: function () { return MonitorConfigPolicyListResponse_1.MonitorConfigPolicyListResponse; } });\nvar MonitorConfigPolicyResponse_1 = require(\"./models/MonitorConfigPolicyResponse\");\nObject.defineProperty(exports, \"MonitorConfigPolicyResponse\", { enumerable: true, get: function () { return MonitorConfigPolicyResponse_1.MonitorConfigPolicyResponse; } });\nvar MonitorConfigPolicyResponseData_1 = require(\"./models/MonitorConfigPolicyResponseData\");\nObject.defineProperty(exports, \"MonitorConfigPolicyResponseData\", { enumerable: true, get: function () { return MonitorConfigPolicyResponseData_1.MonitorConfigPolicyResponseData; } });\nvar MonitorConfigPolicyTagPolicy_1 = require(\"./models/MonitorConfigPolicyTagPolicy\");\nObject.defineProperty(exports, \"MonitorConfigPolicyTagPolicy\", { enumerable: true, get: function () { return MonitorConfigPolicyTagPolicy_1.MonitorConfigPolicyTagPolicy; } });\nvar MonitorConfigPolicyTagPolicyCreateRequest_1 = require(\"./models/MonitorConfigPolicyTagPolicyCreateRequest\");\nObject.defineProperty(exports, \"MonitorConfigPolicyTagPolicyCreateRequest\", { enumerable: true, get: function () { return MonitorConfigPolicyTagPolicyCreateRequest_1.MonitorConfigPolicyTagPolicyCreateRequest; } });\nvar MonitorDowntimeMatchResponse_1 = require(\"./models/MonitorDowntimeMatchResponse\");\nObject.defineProperty(exports, \"MonitorDowntimeMatchResponse\", { enumerable: true, get: function () { return MonitorDowntimeMatchResponse_1.MonitorDowntimeMatchResponse; } });\nvar MonitorDowntimeMatchResponseAttributes_1 = require(\"./models/MonitorDowntimeMatchResponseAttributes\");\nObject.defineProperty(exports, \"MonitorDowntimeMatchResponseAttributes\", { enumerable: true, get: function () { return MonitorDowntimeMatchResponseAttributes_1.MonitorDowntimeMatchResponseAttributes; } });\nvar MonitorDowntimeMatchResponseData_1 = require(\"./models/MonitorDowntimeMatchResponseData\");\nObject.defineProperty(exports, \"MonitorDowntimeMatchResponseData\", { enumerable: true, get: function () { return MonitorDowntimeMatchResponseData_1.MonitorDowntimeMatchResponseData; } });\nvar MonitorType_1 = require(\"./models/MonitorType\");\nObject.defineProperty(exports, \"MonitorType\", { enumerable: true, get: function () { return MonitorType_1.MonitorType; } });\nvar MuteFindingRequest_1 = require(\"./models/MuteFindingRequest\");\nObject.defineProperty(exports, \"MuteFindingRequest\", { enumerable: true, get: function () { return MuteFindingRequest_1.MuteFindingRequest; } });\nvar MuteFindingRequestAttributes_1 = require(\"./models/MuteFindingRequestAttributes\");\nObject.defineProperty(exports, \"MuteFindingRequestAttributes\", { enumerable: true, get: function () { return MuteFindingRequestAttributes_1.MuteFindingRequestAttributes; } });\nvar MuteFindingRequestData_1 = require(\"./models/MuteFindingRequestData\");\nObject.defineProperty(exports, \"MuteFindingRequestData\", { enumerable: true, get: function () { return MuteFindingRequestData_1.MuteFindingRequestData; } });\nvar MuteFindingRequestProperties_1 = require(\"./models/MuteFindingRequestProperties\");\nObject.defineProperty(exports, \"MuteFindingRequestProperties\", { enumerable: true, get: function () { return MuteFindingRequestProperties_1.MuteFindingRequestProperties; } });\nvar MuteFindingResponse_1 = require(\"./models/MuteFindingResponse\");\nObject.defineProperty(exports, \"MuteFindingResponse\", { enumerable: true, get: function () { return MuteFindingResponse_1.MuteFindingResponse; } });\nvar MuteFindingResponseAttributes_1 = require(\"./models/MuteFindingResponseAttributes\");\nObject.defineProperty(exports, \"MuteFindingResponseAttributes\", { enumerable: true, get: function () { return MuteFindingResponseAttributes_1.MuteFindingResponseAttributes; } });\nvar MuteFindingResponseData_1 = require(\"./models/MuteFindingResponseData\");\nObject.defineProperty(exports, \"MuteFindingResponseData\", { enumerable: true, get: function () { return MuteFindingResponseData_1.MuteFindingResponseData; } });\nvar MuteFindingResponseProperties_1 = require(\"./models/MuteFindingResponseProperties\");\nObject.defineProperty(exports, \"MuteFindingResponseProperties\", { enumerable: true, get: function () { return MuteFindingResponseProperties_1.MuteFindingResponseProperties; } });\nvar NullableRelationshipToUser_1 = require(\"./models/NullableRelationshipToUser\");\nObject.defineProperty(exports, \"NullableRelationshipToUser\", { enumerable: true, get: function () { return NullableRelationshipToUser_1.NullableRelationshipToUser; } });\nvar NullableRelationshipToUserData_1 = require(\"./models/NullableRelationshipToUserData\");\nObject.defineProperty(exports, \"NullableRelationshipToUserData\", { enumerable: true, get: function () { return NullableRelationshipToUserData_1.NullableRelationshipToUserData; } });\nvar OnDemandConcurrencyCap_1 = require(\"./models/OnDemandConcurrencyCap\");\nObject.defineProperty(exports, \"OnDemandConcurrencyCap\", { enumerable: true, get: function () { return OnDemandConcurrencyCap_1.OnDemandConcurrencyCap; } });\nvar OnDemandConcurrencyCapAttributes_1 = require(\"./models/OnDemandConcurrencyCapAttributes\");\nObject.defineProperty(exports, \"OnDemandConcurrencyCapAttributes\", { enumerable: true, get: function () { return OnDemandConcurrencyCapAttributes_1.OnDemandConcurrencyCapAttributes; } });\nvar OnDemandConcurrencyCapResponse_1 = require(\"./models/OnDemandConcurrencyCapResponse\");\nObject.defineProperty(exports, \"OnDemandConcurrencyCapResponse\", { enumerable: true, get: function () { return OnDemandConcurrencyCapResponse_1.OnDemandConcurrencyCapResponse; } });\nvar OpsgenieServiceCreateAttributes_1 = require(\"./models/OpsgenieServiceCreateAttributes\");\nObject.defineProperty(exports, \"OpsgenieServiceCreateAttributes\", { enumerable: true, get: function () { return OpsgenieServiceCreateAttributes_1.OpsgenieServiceCreateAttributes; } });\nvar OpsgenieServiceCreateData_1 = require(\"./models/OpsgenieServiceCreateData\");\nObject.defineProperty(exports, \"OpsgenieServiceCreateData\", { enumerable: true, get: function () { return OpsgenieServiceCreateData_1.OpsgenieServiceCreateData; } });\nvar OpsgenieServiceCreateRequest_1 = require(\"./models/OpsgenieServiceCreateRequest\");\nObject.defineProperty(exports, \"OpsgenieServiceCreateRequest\", { enumerable: true, get: function () { return OpsgenieServiceCreateRequest_1.OpsgenieServiceCreateRequest; } });\nvar OpsgenieServiceResponse_1 = require(\"./models/OpsgenieServiceResponse\");\nObject.defineProperty(exports, \"OpsgenieServiceResponse\", { enumerable: true, get: function () { return OpsgenieServiceResponse_1.OpsgenieServiceResponse; } });\nvar OpsgenieServiceResponseAttributes_1 = require(\"./models/OpsgenieServiceResponseAttributes\");\nObject.defineProperty(exports, \"OpsgenieServiceResponseAttributes\", { enumerable: true, get: function () { return OpsgenieServiceResponseAttributes_1.OpsgenieServiceResponseAttributes; } });\nvar OpsgenieServiceResponseData_1 = require(\"./models/OpsgenieServiceResponseData\");\nObject.defineProperty(exports, \"OpsgenieServiceResponseData\", { enumerable: true, get: function () { return OpsgenieServiceResponseData_1.OpsgenieServiceResponseData; } });\nvar OpsgenieServicesResponse_1 = require(\"./models/OpsgenieServicesResponse\");\nObject.defineProperty(exports, \"OpsgenieServicesResponse\", { enumerable: true, get: function () { return OpsgenieServicesResponse_1.OpsgenieServicesResponse; } });\nvar OpsgenieServiceUpdateAttributes_1 = require(\"./models/OpsgenieServiceUpdateAttributes\");\nObject.defineProperty(exports, \"OpsgenieServiceUpdateAttributes\", { enumerable: true, get: function () { return OpsgenieServiceUpdateAttributes_1.OpsgenieServiceUpdateAttributes; } });\nvar OpsgenieServiceUpdateData_1 = require(\"./models/OpsgenieServiceUpdateData\");\nObject.defineProperty(exports, \"OpsgenieServiceUpdateData\", { enumerable: true, get: function () { return OpsgenieServiceUpdateData_1.OpsgenieServiceUpdateData; } });\nvar OpsgenieServiceUpdateRequest_1 = require(\"./models/OpsgenieServiceUpdateRequest\");\nObject.defineProperty(exports, \"OpsgenieServiceUpdateRequest\", { enumerable: true, get: function () { return OpsgenieServiceUpdateRequest_1.OpsgenieServiceUpdateRequest; } });\nvar Organization_1 = require(\"./models/Organization\");\nObject.defineProperty(exports, \"Organization\", { enumerable: true, get: function () { return Organization_1.Organization; } });\nvar OrganizationAttributes_1 = require(\"./models/OrganizationAttributes\");\nObject.defineProperty(exports, \"OrganizationAttributes\", { enumerable: true, get: function () { return OrganizationAttributes_1.OrganizationAttributes; } });\nvar Pagination_1 = require(\"./models/Pagination\");\nObject.defineProperty(exports, \"Pagination\", { enumerable: true, get: function () { return Pagination_1.Pagination; } });\nvar PartialAPIKey_1 = require(\"./models/PartialAPIKey\");\nObject.defineProperty(exports, \"PartialAPIKey\", { enumerable: true, get: function () { return PartialAPIKey_1.PartialAPIKey; } });\nvar PartialAPIKeyAttributes_1 = require(\"./models/PartialAPIKeyAttributes\");\nObject.defineProperty(exports, \"PartialAPIKeyAttributes\", { enumerable: true, get: function () { return PartialAPIKeyAttributes_1.PartialAPIKeyAttributes; } });\nvar PartialApplicationKey_1 = require(\"./models/PartialApplicationKey\");\nObject.defineProperty(exports, \"PartialApplicationKey\", { enumerable: true, get: function () { return PartialApplicationKey_1.PartialApplicationKey; } });\nvar PartialApplicationKeyAttributes_1 = require(\"./models/PartialApplicationKeyAttributes\");\nObject.defineProperty(exports, \"PartialApplicationKeyAttributes\", { enumerable: true, get: function () { return PartialApplicationKeyAttributes_1.PartialApplicationKeyAttributes; } });\nvar PartialApplicationKeyResponse_1 = require(\"./models/PartialApplicationKeyResponse\");\nObject.defineProperty(exports, \"PartialApplicationKeyResponse\", { enumerable: true, get: function () { return PartialApplicationKeyResponse_1.PartialApplicationKeyResponse; } });\nvar Permission_1 = require(\"./models/Permission\");\nObject.defineProperty(exports, \"Permission\", { enumerable: true, get: function () { return Permission_1.Permission; } });\nvar PermissionAttributes_1 = require(\"./models/PermissionAttributes\");\nObject.defineProperty(exports, \"PermissionAttributes\", { enumerable: true, get: function () { return PermissionAttributes_1.PermissionAttributes; } });\nvar PermissionsResponse_1 = require(\"./models/PermissionsResponse\");\nObject.defineProperty(exports, \"PermissionsResponse\", { enumerable: true, get: function () { return PermissionsResponse_1.PermissionsResponse; } });\nvar ProcessSummariesMeta_1 = require(\"./models/ProcessSummariesMeta\");\nObject.defineProperty(exports, \"ProcessSummariesMeta\", { enumerable: true, get: function () { return ProcessSummariesMeta_1.ProcessSummariesMeta; } });\nvar ProcessSummariesMetaPage_1 = require(\"./models/ProcessSummariesMetaPage\");\nObject.defineProperty(exports, \"ProcessSummariesMetaPage\", { enumerable: true, get: function () { return ProcessSummariesMetaPage_1.ProcessSummariesMetaPage; } });\nvar ProcessSummariesResponse_1 = require(\"./models/ProcessSummariesResponse\");\nObject.defineProperty(exports, \"ProcessSummariesResponse\", { enumerable: true, get: function () { return ProcessSummariesResponse_1.ProcessSummariesResponse; } });\nvar ProcessSummary_1 = require(\"./models/ProcessSummary\");\nObject.defineProperty(exports, \"ProcessSummary\", { enumerable: true, get: function () { return ProcessSummary_1.ProcessSummary; } });\nvar ProcessSummaryAttributes_1 = require(\"./models/ProcessSummaryAttributes\");\nObject.defineProperty(exports, \"ProcessSummaryAttributes\", { enumerable: true, get: function () { return ProcessSummaryAttributes_1.ProcessSummaryAttributes; } });\nvar QueryFormula_1 = require(\"./models/QueryFormula\");\nObject.defineProperty(exports, \"QueryFormula\", { enumerable: true, get: function () { return QueryFormula_1.QueryFormula; } });\nvar RelationshipToIncidentAttachment_1 = require(\"./models/RelationshipToIncidentAttachment\");\nObject.defineProperty(exports, \"RelationshipToIncidentAttachment\", { enumerable: true, get: function () { return RelationshipToIncidentAttachment_1.RelationshipToIncidentAttachment; } });\nvar RelationshipToIncidentAttachmentData_1 = require(\"./models/RelationshipToIncidentAttachmentData\");\nObject.defineProperty(exports, \"RelationshipToIncidentAttachmentData\", { enumerable: true, get: function () { return RelationshipToIncidentAttachmentData_1.RelationshipToIncidentAttachmentData; } });\nvar RelationshipToIncidentIntegrationMetadataData_1 = require(\"./models/RelationshipToIncidentIntegrationMetadataData\");\nObject.defineProperty(exports, \"RelationshipToIncidentIntegrationMetadataData\", { enumerable: true, get: function () { return RelationshipToIncidentIntegrationMetadataData_1.RelationshipToIncidentIntegrationMetadataData; } });\nvar RelationshipToIncidentIntegrationMetadatas_1 = require(\"./models/RelationshipToIncidentIntegrationMetadatas\");\nObject.defineProperty(exports, \"RelationshipToIncidentIntegrationMetadatas\", { enumerable: true, get: function () { return RelationshipToIncidentIntegrationMetadatas_1.RelationshipToIncidentIntegrationMetadatas; } });\nvar RelationshipToIncidentPostmortem_1 = require(\"./models/RelationshipToIncidentPostmortem\");\nObject.defineProperty(exports, \"RelationshipToIncidentPostmortem\", { enumerable: true, get: function () { return RelationshipToIncidentPostmortem_1.RelationshipToIncidentPostmortem; } });\nvar RelationshipToIncidentPostmortemData_1 = require(\"./models/RelationshipToIncidentPostmortemData\");\nObject.defineProperty(exports, \"RelationshipToIncidentPostmortemData\", { enumerable: true, get: function () { return RelationshipToIncidentPostmortemData_1.RelationshipToIncidentPostmortemData; } });\nvar RelationshipToOrganization_1 = require(\"./models/RelationshipToOrganization\");\nObject.defineProperty(exports, \"RelationshipToOrganization\", { enumerable: true, get: function () { return RelationshipToOrganization_1.RelationshipToOrganization; } });\nvar RelationshipToOrganizationData_1 = require(\"./models/RelationshipToOrganizationData\");\nObject.defineProperty(exports, \"RelationshipToOrganizationData\", { enumerable: true, get: function () { return RelationshipToOrganizationData_1.RelationshipToOrganizationData; } });\nvar RelationshipToOrganizations_1 = require(\"./models/RelationshipToOrganizations\");\nObject.defineProperty(exports, \"RelationshipToOrganizations\", { enumerable: true, get: function () { return RelationshipToOrganizations_1.RelationshipToOrganizations; } });\nvar RelationshipToPermission_1 = require(\"./models/RelationshipToPermission\");\nObject.defineProperty(exports, \"RelationshipToPermission\", { enumerable: true, get: function () { return RelationshipToPermission_1.RelationshipToPermission; } });\nvar RelationshipToPermissionData_1 = require(\"./models/RelationshipToPermissionData\");\nObject.defineProperty(exports, \"RelationshipToPermissionData\", { enumerable: true, get: function () { return RelationshipToPermissionData_1.RelationshipToPermissionData; } });\nvar RelationshipToPermissions_1 = require(\"./models/RelationshipToPermissions\");\nObject.defineProperty(exports, \"RelationshipToPermissions\", { enumerable: true, get: function () { return RelationshipToPermissions_1.RelationshipToPermissions; } });\nvar RelationshipToRole_1 = require(\"./models/RelationshipToRole\");\nObject.defineProperty(exports, \"RelationshipToRole\", { enumerable: true, get: function () { return RelationshipToRole_1.RelationshipToRole; } });\nvar RelationshipToRoleData_1 = require(\"./models/RelationshipToRoleData\");\nObject.defineProperty(exports, \"RelationshipToRoleData\", { enumerable: true, get: function () { return RelationshipToRoleData_1.RelationshipToRoleData; } });\nvar RelationshipToRoles_1 = require(\"./models/RelationshipToRoles\");\nObject.defineProperty(exports, \"RelationshipToRoles\", { enumerable: true, get: function () { return RelationshipToRoles_1.RelationshipToRoles; } });\nvar RelationshipToSAMLAssertionAttribute_1 = require(\"./models/RelationshipToSAMLAssertionAttribute\");\nObject.defineProperty(exports, \"RelationshipToSAMLAssertionAttribute\", { enumerable: true, get: function () { return RelationshipToSAMLAssertionAttribute_1.RelationshipToSAMLAssertionAttribute; } });\nvar RelationshipToSAMLAssertionAttributeData_1 = require(\"./models/RelationshipToSAMLAssertionAttributeData\");\nObject.defineProperty(exports, \"RelationshipToSAMLAssertionAttributeData\", { enumerable: true, get: function () { return RelationshipToSAMLAssertionAttributeData_1.RelationshipToSAMLAssertionAttributeData; } });\nvar RelationshipToTeamLinkData_1 = require(\"./models/RelationshipToTeamLinkData\");\nObject.defineProperty(exports, \"RelationshipToTeamLinkData\", { enumerable: true, get: function () { return RelationshipToTeamLinkData_1.RelationshipToTeamLinkData; } });\nvar RelationshipToTeamLinks_1 = require(\"./models/RelationshipToTeamLinks\");\nObject.defineProperty(exports, \"RelationshipToTeamLinks\", { enumerable: true, get: function () { return RelationshipToTeamLinks_1.RelationshipToTeamLinks; } });\nvar RelationshipToUser_1 = require(\"./models/RelationshipToUser\");\nObject.defineProperty(exports, \"RelationshipToUser\", { enumerable: true, get: function () { return RelationshipToUser_1.RelationshipToUser; } });\nvar RelationshipToUserData_1 = require(\"./models/RelationshipToUserData\");\nObject.defineProperty(exports, \"RelationshipToUserData\", { enumerable: true, get: function () { return RelationshipToUserData_1.RelationshipToUserData; } });\nvar RelationshipToUsers_1 = require(\"./models/RelationshipToUsers\");\nObject.defineProperty(exports, \"RelationshipToUsers\", { enumerable: true, get: function () { return RelationshipToUsers_1.RelationshipToUsers; } });\nvar RelationshipToUserTeamPermission_1 = require(\"./models/RelationshipToUserTeamPermission\");\nObject.defineProperty(exports, \"RelationshipToUserTeamPermission\", { enumerable: true, get: function () { return RelationshipToUserTeamPermission_1.RelationshipToUserTeamPermission; } });\nvar RelationshipToUserTeamPermissionData_1 = require(\"./models/RelationshipToUserTeamPermissionData\");\nObject.defineProperty(exports, \"RelationshipToUserTeamPermissionData\", { enumerable: true, get: function () { return RelationshipToUserTeamPermissionData_1.RelationshipToUserTeamPermissionData; } });\nvar RelationshipToUserTeamUser_1 = require(\"./models/RelationshipToUserTeamUser\");\nObject.defineProperty(exports, \"RelationshipToUserTeamUser\", { enumerable: true, get: function () { return RelationshipToUserTeamUser_1.RelationshipToUserTeamUser; } });\nvar RelationshipToUserTeamUserData_1 = require(\"./models/RelationshipToUserTeamUserData\");\nObject.defineProperty(exports, \"RelationshipToUserTeamUserData\", { enumerable: true, get: function () { return RelationshipToUserTeamUserData_1.RelationshipToUserTeamUserData; } });\nvar ResponseMetaAttributes_1 = require(\"./models/ResponseMetaAttributes\");\nObject.defineProperty(exports, \"ResponseMetaAttributes\", { enumerable: true, get: function () { return ResponseMetaAttributes_1.ResponseMetaAttributes; } });\nvar RestrictionPolicy_1 = require(\"./models/RestrictionPolicy\");\nObject.defineProperty(exports, \"RestrictionPolicy\", { enumerable: true, get: function () { return RestrictionPolicy_1.RestrictionPolicy; } });\nvar RestrictionPolicyAttributes_1 = require(\"./models/RestrictionPolicyAttributes\");\nObject.defineProperty(exports, \"RestrictionPolicyAttributes\", { enumerable: true, get: function () { return RestrictionPolicyAttributes_1.RestrictionPolicyAttributes; } });\nvar RestrictionPolicyBinding_1 = require(\"./models/RestrictionPolicyBinding\");\nObject.defineProperty(exports, \"RestrictionPolicyBinding\", { enumerable: true, get: function () { return RestrictionPolicyBinding_1.RestrictionPolicyBinding; } });\nvar RestrictionPolicyResponse_1 = require(\"./models/RestrictionPolicyResponse\");\nObject.defineProperty(exports, \"RestrictionPolicyResponse\", { enumerable: true, get: function () { return RestrictionPolicyResponse_1.RestrictionPolicyResponse; } });\nvar RestrictionPolicyUpdateRequest_1 = require(\"./models/RestrictionPolicyUpdateRequest\");\nObject.defineProperty(exports, \"RestrictionPolicyUpdateRequest\", { enumerable: true, get: function () { return RestrictionPolicyUpdateRequest_1.RestrictionPolicyUpdateRequest; } });\nvar Role_1 = require(\"./models/Role\");\nObject.defineProperty(exports, \"Role\", { enumerable: true, get: function () { return Role_1.Role; } });\nvar RoleAttributes_1 = require(\"./models/RoleAttributes\");\nObject.defineProperty(exports, \"RoleAttributes\", { enumerable: true, get: function () { return RoleAttributes_1.RoleAttributes; } });\nvar RoleClone_1 = require(\"./models/RoleClone\");\nObject.defineProperty(exports, \"RoleClone\", { enumerable: true, get: function () { return RoleClone_1.RoleClone; } });\nvar RoleCloneAttributes_1 = require(\"./models/RoleCloneAttributes\");\nObject.defineProperty(exports, \"RoleCloneAttributes\", { enumerable: true, get: function () { return RoleCloneAttributes_1.RoleCloneAttributes; } });\nvar RoleCloneRequest_1 = require(\"./models/RoleCloneRequest\");\nObject.defineProperty(exports, \"RoleCloneRequest\", { enumerable: true, get: function () { return RoleCloneRequest_1.RoleCloneRequest; } });\nvar RoleCreateAttributes_1 = require(\"./models/RoleCreateAttributes\");\nObject.defineProperty(exports, \"RoleCreateAttributes\", { enumerable: true, get: function () { return RoleCreateAttributes_1.RoleCreateAttributes; } });\nvar RoleCreateData_1 = require(\"./models/RoleCreateData\");\nObject.defineProperty(exports, \"RoleCreateData\", { enumerable: true, get: function () { return RoleCreateData_1.RoleCreateData; } });\nvar RoleCreateRequest_1 = require(\"./models/RoleCreateRequest\");\nObject.defineProperty(exports, \"RoleCreateRequest\", { enumerable: true, get: function () { return RoleCreateRequest_1.RoleCreateRequest; } });\nvar RoleCreateResponse_1 = require(\"./models/RoleCreateResponse\");\nObject.defineProperty(exports, \"RoleCreateResponse\", { enumerable: true, get: function () { return RoleCreateResponse_1.RoleCreateResponse; } });\nvar RoleCreateResponseData_1 = require(\"./models/RoleCreateResponseData\");\nObject.defineProperty(exports, \"RoleCreateResponseData\", { enumerable: true, get: function () { return RoleCreateResponseData_1.RoleCreateResponseData; } });\nvar RoleRelationships_1 = require(\"./models/RoleRelationships\");\nObject.defineProperty(exports, \"RoleRelationships\", { enumerable: true, get: function () { return RoleRelationships_1.RoleRelationships; } });\nvar RoleResponse_1 = require(\"./models/RoleResponse\");\nObject.defineProperty(exports, \"RoleResponse\", { enumerable: true, get: function () { return RoleResponse_1.RoleResponse; } });\nvar RoleResponseRelationships_1 = require(\"./models/RoleResponseRelationships\");\nObject.defineProperty(exports, \"RoleResponseRelationships\", { enumerable: true, get: function () { return RoleResponseRelationships_1.RoleResponseRelationships; } });\nvar RolesResponse_1 = require(\"./models/RolesResponse\");\nObject.defineProperty(exports, \"RolesResponse\", { enumerable: true, get: function () { return RolesResponse_1.RolesResponse; } });\nvar RoleUpdateAttributes_1 = require(\"./models/RoleUpdateAttributes\");\nObject.defineProperty(exports, \"RoleUpdateAttributes\", { enumerable: true, get: function () { return RoleUpdateAttributes_1.RoleUpdateAttributes; } });\nvar RoleUpdateData_1 = require(\"./models/RoleUpdateData\");\nObject.defineProperty(exports, \"RoleUpdateData\", { enumerable: true, get: function () { return RoleUpdateData_1.RoleUpdateData; } });\nvar RoleUpdateRequest_1 = require(\"./models/RoleUpdateRequest\");\nObject.defineProperty(exports, \"RoleUpdateRequest\", { enumerable: true, get: function () { return RoleUpdateRequest_1.RoleUpdateRequest; } });\nvar RoleUpdateResponse_1 = require(\"./models/RoleUpdateResponse\");\nObject.defineProperty(exports, \"RoleUpdateResponse\", { enumerable: true, get: function () { return RoleUpdateResponse_1.RoleUpdateResponse; } });\nvar RoleUpdateResponseData_1 = require(\"./models/RoleUpdateResponseData\");\nObject.defineProperty(exports, \"RoleUpdateResponseData\", { enumerable: true, get: function () { return RoleUpdateResponseData_1.RoleUpdateResponseData; } });\nvar RUMAggregateBucketValueTimeseriesPoint_1 = require(\"./models/RUMAggregateBucketValueTimeseriesPoint\");\nObject.defineProperty(exports, \"RUMAggregateBucketValueTimeseriesPoint\", { enumerable: true, get: function () { return RUMAggregateBucketValueTimeseriesPoint_1.RUMAggregateBucketValueTimeseriesPoint; } });\nvar RUMAggregateRequest_1 = require(\"./models/RUMAggregateRequest\");\nObject.defineProperty(exports, \"RUMAggregateRequest\", { enumerable: true, get: function () { return RUMAggregateRequest_1.RUMAggregateRequest; } });\nvar RUMAggregateSort_1 = require(\"./models/RUMAggregateSort\");\nObject.defineProperty(exports, \"RUMAggregateSort\", { enumerable: true, get: function () { return RUMAggregateSort_1.RUMAggregateSort; } });\nvar RUMAggregationBucketsResponse_1 = require(\"./models/RUMAggregationBucketsResponse\");\nObject.defineProperty(exports, \"RUMAggregationBucketsResponse\", { enumerable: true, get: function () { return RUMAggregationBucketsResponse_1.RUMAggregationBucketsResponse; } });\nvar RUMAnalyticsAggregateResponse_1 = require(\"./models/RUMAnalyticsAggregateResponse\");\nObject.defineProperty(exports, \"RUMAnalyticsAggregateResponse\", { enumerable: true, get: function () { return RUMAnalyticsAggregateResponse_1.RUMAnalyticsAggregateResponse; } });\nvar RUMApplication_1 = require(\"./models/RUMApplication\");\nObject.defineProperty(exports, \"RUMApplication\", { enumerable: true, get: function () { return RUMApplication_1.RUMApplication; } });\nvar RUMApplicationAttributes_1 = require(\"./models/RUMApplicationAttributes\");\nObject.defineProperty(exports, \"RUMApplicationAttributes\", { enumerable: true, get: function () { return RUMApplicationAttributes_1.RUMApplicationAttributes; } });\nvar RUMApplicationCreate_1 = require(\"./models/RUMApplicationCreate\");\nObject.defineProperty(exports, \"RUMApplicationCreate\", { enumerable: true, get: function () { return RUMApplicationCreate_1.RUMApplicationCreate; } });\nvar RUMApplicationCreateAttributes_1 = require(\"./models/RUMApplicationCreateAttributes\");\nObject.defineProperty(exports, \"RUMApplicationCreateAttributes\", { enumerable: true, get: function () { return RUMApplicationCreateAttributes_1.RUMApplicationCreateAttributes; } });\nvar RUMApplicationCreateRequest_1 = require(\"./models/RUMApplicationCreateRequest\");\nObject.defineProperty(exports, \"RUMApplicationCreateRequest\", { enumerable: true, get: function () { return RUMApplicationCreateRequest_1.RUMApplicationCreateRequest; } });\nvar RUMApplicationList_1 = require(\"./models/RUMApplicationList\");\nObject.defineProperty(exports, \"RUMApplicationList\", { enumerable: true, get: function () { return RUMApplicationList_1.RUMApplicationList; } });\nvar RUMApplicationListAttributes_1 = require(\"./models/RUMApplicationListAttributes\");\nObject.defineProperty(exports, \"RUMApplicationListAttributes\", { enumerable: true, get: function () { return RUMApplicationListAttributes_1.RUMApplicationListAttributes; } });\nvar RUMApplicationResponse_1 = require(\"./models/RUMApplicationResponse\");\nObject.defineProperty(exports, \"RUMApplicationResponse\", { enumerable: true, get: function () { return RUMApplicationResponse_1.RUMApplicationResponse; } });\nvar RUMApplicationsResponse_1 = require(\"./models/RUMApplicationsResponse\");\nObject.defineProperty(exports, \"RUMApplicationsResponse\", { enumerable: true, get: function () { return RUMApplicationsResponse_1.RUMApplicationsResponse; } });\nvar RUMApplicationUpdate_1 = require(\"./models/RUMApplicationUpdate\");\nObject.defineProperty(exports, \"RUMApplicationUpdate\", { enumerable: true, get: function () { return RUMApplicationUpdate_1.RUMApplicationUpdate; } });\nvar RUMApplicationUpdateAttributes_1 = require(\"./models/RUMApplicationUpdateAttributes\");\nObject.defineProperty(exports, \"RUMApplicationUpdateAttributes\", { enumerable: true, get: function () { return RUMApplicationUpdateAttributes_1.RUMApplicationUpdateAttributes; } });\nvar RUMApplicationUpdateRequest_1 = require(\"./models/RUMApplicationUpdateRequest\");\nObject.defineProperty(exports, \"RUMApplicationUpdateRequest\", { enumerable: true, get: function () { return RUMApplicationUpdateRequest_1.RUMApplicationUpdateRequest; } });\nvar RUMBucketResponse_1 = require(\"./models/RUMBucketResponse\");\nObject.defineProperty(exports, \"RUMBucketResponse\", { enumerable: true, get: function () { return RUMBucketResponse_1.RUMBucketResponse; } });\nvar RUMCompute_1 = require(\"./models/RUMCompute\");\nObject.defineProperty(exports, \"RUMCompute\", { enumerable: true, get: function () { return RUMCompute_1.RUMCompute; } });\nvar RUMEvent_1 = require(\"./models/RUMEvent\");\nObject.defineProperty(exports, \"RUMEvent\", { enumerable: true, get: function () { return RUMEvent_1.RUMEvent; } });\nvar RUMEventAttributes_1 = require(\"./models/RUMEventAttributes\");\nObject.defineProperty(exports, \"RUMEventAttributes\", { enumerable: true, get: function () { return RUMEventAttributes_1.RUMEventAttributes; } });\nvar RUMEventsResponse_1 = require(\"./models/RUMEventsResponse\");\nObject.defineProperty(exports, \"RUMEventsResponse\", { enumerable: true, get: function () { return RUMEventsResponse_1.RUMEventsResponse; } });\nvar RUMGroupBy_1 = require(\"./models/RUMGroupBy\");\nObject.defineProperty(exports, \"RUMGroupBy\", { enumerable: true, get: function () { return RUMGroupBy_1.RUMGroupBy; } });\nvar RUMGroupByHistogram_1 = require(\"./models/RUMGroupByHistogram\");\nObject.defineProperty(exports, \"RUMGroupByHistogram\", { enumerable: true, get: function () { return RUMGroupByHistogram_1.RUMGroupByHistogram; } });\nvar RUMQueryFilter_1 = require(\"./models/RUMQueryFilter\");\nObject.defineProperty(exports, \"RUMQueryFilter\", { enumerable: true, get: function () { return RUMQueryFilter_1.RUMQueryFilter; } });\nvar RUMQueryOptions_1 = require(\"./models/RUMQueryOptions\");\nObject.defineProperty(exports, \"RUMQueryOptions\", { enumerable: true, get: function () { return RUMQueryOptions_1.RUMQueryOptions; } });\nvar RUMQueryPageOptions_1 = require(\"./models/RUMQueryPageOptions\");\nObject.defineProperty(exports, \"RUMQueryPageOptions\", { enumerable: true, get: function () { return RUMQueryPageOptions_1.RUMQueryPageOptions; } });\nvar RUMResponseLinks_1 = require(\"./models/RUMResponseLinks\");\nObject.defineProperty(exports, \"RUMResponseLinks\", { enumerable: true, get: function () { return RUMResponseLinks_1.RUMResponseLinks; } });\nvar RUMResponseMetadata_1 = require(\"./models/RUMResponseMetadata\");\nObject.defineProperty(exports, \"RUMResponseMetadata\", { enumerable: true, get: function () { return RUMResponseMetadata_1.RUMResponseMetadata; } });\nvar RUMResponsePage_1 = require(\"./models/RUMResponsePage\");\nObject.defineProperty(exports, \"RUMResponsePage\", { enumerable: true, get: function () { return RUMResponsePage_1.RUMResponsePage; } });\nvar RUMSearchEventsRequest_1 = require(\"./models/RUMSearchEventsRequest\");\nObject.defineProperty(exports, \"RUMSearchEventsRequest\", { enumerable: true, get: function () { return RUMSearchEventsRequest_1.RUMSearchEventsRequest; } });\nvar RUMWarning_1 = require(\"./models/RUMWarning\");\nObject.defineProperty(exports, \"RUMWarning\", { enumerable: true, get: function () { return RUMWarning_1.RUMWarning; } });\nvar SAMLAssertionAttribute_1 = require(\"./models/SAMLAssertionAttribute\");\nObject.defineProperty(exports, \"SAMLAssertionAttribute\", { enumerable: true, get: function () { return SAMLAssertionAttribute_1.SAMLAssertionAttribute; } });\nvar SAMLAssertionAttributeAttributes_1 = require(\"./models/SAMLAssertionAttributeAttributes\");\nObject.defineProperty(exports, \"SAMLAssertionAttributeAttributes\", { enumerable: true, get: function () { return SAMLAssertionAttributeAttributes_1.SAMLAssertionAttributeAttributes; } });\nvar ScalarFormulaQueryRequest_1 = require(\"./models/ScalarFormulaQueryRequest\");\nObject.defineProperty(exports, \"ScalarFormulaQueryRequest\", { enumerable: true, get: function () { return ScalarFormulaQueryRequest_1.ScalarFormulaQueryRequest; } });\nvar ScalarFormulaQueryResponse_1 = require(\"./models/ScalarFormulaQueryResponse\");\nObject.defineProperty(exports, \"ScalarFormulaQueryResponse\", { enumerable: true, get: function () { return ScalarFormulaQueryResponse_1.ScalarFormulaQueryResponse; } });\nvar ScalarFormulaRequest_1 = require(\"./models/ScalarFormulaRequest\");\nObject.defineProperty(exports, \"ScalarFormulaRequest\", { enumerable: true, get: function () { return ScalarFormulaRequest_1.ScalarFormulaRequest; } });\nvar ScalarFormulaRequestAttributes_1 = require(\"./models/ScalarFormulaRequestAttributes\");\nObject.defineProperty(exports, \"ScalarFormulaRequestAttributes\", { enumerable: true, get: function () { return ScalarFormulaRequestAttributes_1.ScalarFormulaRequestAttributes; } });\nvar ScalarFormulaResponseAtrributes_1 = require(\"./models/ScalarFormulaResponseAtrributes\");\nObject.defineProperty(exports, \"ScalarFormulaResponseAtrributes\", { enumerable: true, get: function () { return ScalarFormulaResponseAtrributes_1.ScalarFormulaResponseAtrributes; } });\nvar ScalarMeta_1 = require(\"./models/ScalarMeta\");\nObject.defineProperty(exports, \"ScalarMeta\", { enumerable: true, get: function () { return ScalarMeta_1.ScalarMeta; } });\nvar ScalarResponse_1 = require(\"./models/ScalarResponse\");\nObject.defineProperty(exports, \"ScalarResponse\", { enumerable: true, get: function () { return ScalarResponse_1.ScalarResponse; } });\nvar SecurityFilter_1 = require(\"./models/SecurityFilter\");\nObject.defineProperty(exports, \"SecurityFilter\", { enumerable: true, get: function () { return SecurityFilter_1.SecurityFilter; } });\nvar SecurityFilterAttributes_1 = require(\"./models/SecurityFilterAttributes\");\nObject.defineProperty(exports, \"SecurityFilterAttributes\", { enumerable: true, get: function () { return SecurityFilterAttributes_1.SecurityFilterAttributes; } });\nvar SecurityFilterCreateAttributes_1 = require(\"./models/SecurityFilterCreateAttributes\");\nObject.defineProperty(exports, \"SecurityFilterCreateAttributes\", { enumerable: true, get: function () { return SecurityFilterCreateAttributes_1.SecurityFilterCreateAttributes; } });\nvar SecurityFilterCreateData_1 = require(\"./models/SecurityFilterCreateData\");\nObject.defineProperty(exports, \"SecurityFilterCreateData\", { enumerable: true, get: function () { return SecurityFilterCreateData_1.SecurityFilterCreateData; } });\nvar SecurityFilterCreateRequest_1 = require(\"./models/SecurityFilterCreateRequest\");\nObject.defineProperty(exports, \"SecurityFilterCreateRequest\", { enumerable: true, get: function () { return SecurityFilterCreateRequest_1.SecurityFilterCreateRequest; } });\nvar SecurityFilterExclusionFilter_1 = require(\"./models/SecurityFilterExclusionFilter\");\nObject.defineProperty(exports, \"SecurityFilterExclusionFilter\", { enumerable: true, get: function () { return SecurityFilterExclusionFilter_1.SecurityFilterExclusionFilter; } });\nvar SecurityFilterExclusionFilterResponse_1 = require(\"./models/SecurityFilterExclusionFilterResponse\");\nObject.defineProperty(exports, \"SecurityFilterExclusionFilterResponse\", { enumerable: true, get: function () { return SecurityFilterExclusionFilterResponse_1.SecurityFilterExclusionFilterResponse; } });\nvar SecurityFilterMeta_1 = require(\"./models/SecurityFilterMeta\");\nObject.defineProperty(exports, \"SecurityFilterMeta\", { enumerable: true, get: function () { return SecurityFilterMeta_1.SecurityFilterMeta; } });\nvar SecurityFilterResponse_1 = require(\"./models/SecurityFilterResponse\");\nObject.defineProperty(exports, \"SecurityFilterResponse\", { enumerable: true, get: function () { return SecurityFilterResponse_1.SecurityFilterResponse; } });\nvar SecurityFiltersResponse_1 = require(\"./models/SecurityFiltersResponse\");\nObject.defineProperty(exports, \"SecurityFiltersResponse\", { enumerable: true, get: function () { return SecurityFiltersResponse_1.SecurityFiltersResponse; } });\nvar SecurityFilterUpdateAttributes_1 = require(\"./models/SecurityFilterUpdateAttributes\");\nObject.defineProperty(exports, \"SecurityFilterUpdateAttributes\", { enumerable: true, get: function () { return SecurityFilterUpdateAttributes_1.SecurityFilterUpdateAttributes; } });\nvar SecurityFilterUpdateData_1 = require(\"./models/SecurityFilterUpdateData\");\nObject.defineProperty(exports, \"SecurityFilterUpdateData\", { enumerable: true, get: function () { return SecurityFilterUpdateData_1.SecurityFilterUpdateData; } });\nvar SecurityFilterUpdateRequest_1 = require(\"./models/SecurityFilterUpdateRequest\");\nObject.defineProperty(exports, \"SecurityFilterUpdateRequest\", { enumerable: true, get: function () { return SecurityFilterUpdateRequest_1.SecurityFilterUpdateRequest; } });\nvar SecurityMonitoringFilter_1 = require(\"./models/SecurityMonitoringFilter\");\nObject.defineProperty(exports, \"SecurityMonitoringFilter\", { enumerable: true, get: function () { return SecurityMonitoringFilter_1.SecurityMonitoringFilter; } });\nvar SecurityMonitoringListRulesResponse_1 = require(\"./models/SecurityMonitoringListRulesResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringListRulesResponse\", { enumerable: true, get: function () { return SecurityMonitoringListRulesResponse_1.SecurityMonitoringListRulesResponse; } });\nvar SecurityMonitoringRuleCase_1 = require(\"./models/SecurityMonitoringRuleCase\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleCase\", { enumerable: true, get: function () { return SecurityMonitoringRuleCase_1.SecurityMonitoringRuleCase; } });\nvar SecurityMonitoringRuleCaseCreate_1 = require(\"./models/SecurityMonitoringRuleCaseCreate\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleCaseCreate\", { enumerable: true, get: function () { return SecurityMonitoringRuleCaseCreate_1.SecurityMonitoringRuleCaseCreate; } });\nvar SecurityMonitoringRuleImpossibleTravelOptions_1 = require(\"./models/SecurityMonitoringRuleImpossibleTravelOptions\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleImpossibleTravelOptions\", { enumerable: true, get: function () { return SecurityMonitoringRuleImpossibleTravelOptions_1.SecurityMonitoringRuleImpossibleTravelOptions; } });\nvar SecurityMonitoringRuleNewValueOptions_1 = require(\"./models/SecurityMonitoringRuleNewValueOptions\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleNewValueOptions\", { enumerable: true, get: function () { return SecurityMonitoringRuleNewValueOptions_1.SecurityMonitoringRuleNewValueOptions; } });\nvar SecurityMonitoringRuleOptions_1 = require(\"./models/SecurityMonitoringRuleOptions\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleOptions\", { enumerable: true, get: function () { return SecurityMonitoringRuleOptions_1.SecurityMonitoringRuleOptions; } });\nvar SecurityMonitoringRuleUpdatePayload_1 = require(\"./models/SecurityMonitoringRuleUpdatePayload\");\nObject.defineProperty(exports, \"SecurityMonitoringRuleUpdatePayload\", { enumerable: true, get: function () { return SecurityMonitoringRuleUpdatePayload_1.SecurityMonitoringRuleUpdatePayload; } });\nvar SecurityMonitoringSignal_1 = require(\"./models/SecurityMonitoringSignal\");\nObject.defineProperty(exports, \"SecurityMonitoringSignal\", { enumerable: true, get: function () { return SecurityMonitoringSignal_1.SecurityMonitoringSignal; } });\nvar SecurityMonitoringSignalAssigneeUpdateAttributes_1 = require(\"./models/SecurityMonitoringSignalAssigneeUpdateAttributes\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalAssigneeUpdateAttributes\", { enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateAttributes_1.SecurityMonitoringSignalAssigneeUpdateAttributes; } });\nvar SecurityMonitoringSignalAssigneeUpdateData_1 = require(\"./models/SecurityMonitoringSignalAssigneeUpdateData\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalAssigneeUpdateData\", { enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateData_1.SecurityMonitoringSignalAssigneeUpdateData; } });\nvar SecurityMonitoringSignalAssigneeUpdateRequest_1 = require(\"./models/SecurityMonitoringSignalAssigneeUpdateRequest\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalAssigneeUpdateRequest\", { enumerable: true, get: function () { return SecurityMonitoringSignalAssigneeUpdateRequest_1.SecurityMonitoringSignalAssigneeUpdateRequest; } });\nvar SecurityMonitoringSignalAttributes_1 = require(\"./models/SecurityMonitoringSignalAttributes\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalAttributes\", { enumerable: true, get: function () { return SecurityMonitoringSignalAttributes_1.SecurityMonitoringSignalAttributes; } });\nvar SecurityMonitoringSignalIncidentsUpdateAttributes_1 = require(\"./models/SecurityMonitoringSignalIncidentsUpdateAttributes\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalIncidentsUpdateAttributes\", { enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateAttributes_1.SecurityMonitoringSignalIncidentsUpdateAttributes; } });\nvar SecurityMonitoringSignalIncidentsUpdateData_1 = require(\"./models/SecurityMonitoringSignalIncidentsUpdateData\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalIncidentsUpdateData\", { enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateData_1.SecurityMonitoringSignalIncidentsUpdateData; } });\nvar SecurityMonitoringSignalIncidentsUpdateRequest_1 = require(\"./models/SecurityMonitoringSignalIncidentsUpdateRequest\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalIncidentsUpdateRequest\", { enumerable: true, get: function () { return SecurityMonitoringSignalIncidentsUpdateRequest_1.SecurityMonitoringSignalIncidentsUpdateRequest; } });\nvar SecurityMonitoringSignalListRequest_1 = require(\"./models/SecurityMonitoringSignalListRequest\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalListRequest\", { enumerable: true, get: function () { return SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest; } });\nvar SecurityMonitoringSignalListRequestFilter_1 = require(\"./models/SecurityMonitoringSignalListRequestFilter\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalListRequestFilter\", { enumerable: true, get: function () { return SecurityMonitoringSignalListRequestFilter_1.SecurityMonitoringSignalListRequestFilter; } });\nvar SecurityMonitoringSignalListRequestPage_1 = require(\"./models/SecurityMonitoringSignalListRequestPage\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalListRequestPage\", { enumerable: true, get: function () { return SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage; } });\nvar SecurityMonitoringSignalResponse_1 = require(\"./models/SecurityMonitoringSignalResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalResponse\", { enumerable: true, get: function () { return SecurityMonitoringSignalResponse_1.SecurityMonitoringSignalResponse; } });\nvar SecurityMonitoringSignalRuleCreatePayload_1 = require(\"./models/SecurityMonitoringSignalRuleCreatePayload\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalRuleCreatePayload\", { enumerable: true, get: function () { return SecurityMonitoringSignalRuleCreatePayload_1.SecurityMonitoringSignalRuleCreatePayload; } });\nvar SecurityMonitoringSignalRuleQuery_1 = require(\"./models/SecurityMonitoringSignalRuleQuery\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalRuleQuery\", { enumerable: true, get: function () { return SecurityMonitoringSignalRuleQuery_1.SecurityMonitoringSignalRuleQuery; } });\nvar SecurityMonitoringSignalRuleResponse_1 = require(\"./models/SecurityMonitoringSignalRuleResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalRuleResponse\", { enumerable: true, get: function () { return SecurityMonitoringSignalRuleResponse_1.SecurityMonitoringSignalRuleResponse; } });\nvar SecurityMonitoringSignalRuleResponseQuery_1 = require(\"./models/SecurityMonitoringSignalRuleResponseQuery\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalRuleResponseQuery\", { enumerable: true, get: function () { return SecurityMonitoringSignalRuleResponseQuery_1.SecurityMonitoringSignalRuleResponseQuery; } });\nvar SecurityMonitoringSignalsListResponse_1 = require(\"./models/SecurityMonitoringSignalsListResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalsListResponse\", { enumerable: true, get: function () { return SecurityMonitoringSignalsListResponse_1.SecurityMonitoringSignalsListResponse; } });\nvar SecurityMonitoringSignalsListResponseLinks_1 = require(\"./models/SecurityMonitoringSignalsListResponseLinks\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalsListResponseLinks\", { enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseLinks_1.SecurityMonitoringSignalsListResponseLinks; } });\nvar SecurityMonitoringSignalsListResponseMeta_1 = require(\"./models/SecurityMonitoringSignalsListResponseMeta\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalsListResponseMeta\", { enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseMeta_1.SecurityMonitoringSignalsListResponseMeta; } });\nvar SecurityMonitoringSignalsListResponseMetaPage_1 = require(\"./models/SecurityMonitoringSignalsListResponseMetaPage\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalsListResponseMetaPage\", { enumerable: true, get: function () { return SecurityMonitoringSignalsListResponseMetaPage_1.SecurityMonitoringSignalsListResponseMetaPage; } });\nvar SecurityMonitoringSignalStateUpdateAttributes_1 = require(\"./models/SecurityMonitoringSignalStateUpdateAttributes\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalStateUpdateAttributes\", { enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateAttributes_1.SecurityMonitoringSignalStateUpdateAttributes; } });\nvar SecurityMonitoringSignalStateUpdateData_1 = require(\"./models/SecurityMonitoringSignalStateUpdateData\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalStateUpdateData\", { enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateData_1.SecurityMonitoringSignalStateUpdateData; } });\nvar SecurityMonitoringSignalStateUpdateRequest_1 = require(\"./models/SecurityMonitoringSignalStateUpdateRequest\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalStateUpdateRequest\", { enumerable: true, get: function () { return SecurityMonitoringSignalStateUpdateRequest_1.SecurityMonitoringSignalStateUpdateRequest; } });\nvar SecurityMonitoringSignalTriageAttributes_1 = require(\"./models/SecurityMonitoringSignalTriageAttributes\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalTriageAttributes\", { enumerable: true, get: function () { return SecurityMonitoringSignalTriageAttributes_1.SecurityMonitoringSignalTriageAttributes; } });\nvar SecurityMonitoringSignalTriageUpdateData_1 = require(\"./models/SecurityMonitoringSignalTriageUpdateData\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalTriageUpdateData\", { enumerable: true, get: function () { return SecurityMonitoringSignalTriageUpdateData_1.SecurityMonitoringSignalTriageUpdateData; } });\nvar SecurityMonitoringSignalTriageUpdateResponse_1 = require(\"./models/SecurityMonitoringSignalTriageUpdateResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringSignalTriageUpdateResponse\", { enumerable: true, get: function () { return SecurityMonitoringSignalTriageUpdateResponse_1.SecurityMonitoringSignalTriageUpdateResponse; } });\nvar SecurityMonitoringStandardRuleCreatePayload_1 = require(\"./models/SecurityMonitoringStandardRuleCreatePayload\");\nObject.defineProperty(exports, \"SecurityMonitoringStandardRuleCreatePayload\", { enumerable: true, get: function () { return SecurityMonitoringStandardRuleCreatePayload_1.SecurityMonitoringStandardRuleCreatePayload; } });\nvar SecurityMonitoringStandardRuleQuery_1 = require(\"./models/SecurityMonitoringStandardRuleQuery\");\nObject.defineProperty(exports, \"SecurityMonitoringStandardRuleQuery\", { enumerable: true, get: function () { return SecurityMonitoringStandardRuleQuery_1.SecurityMonitoringStandardRuleQuery; } });\nvar SecurityMonitoringStandardRuleResponse_1 = require(\"./models/SecurityMonitoringStandardRuleResponse\");\nObject.defineProperty(exports, \"SecurityMonitoringStandardRuleResponse\", { enumerable: true, get: function () { return SecurityMonitoringStandardRuleResponse_1.SecurityMonitoringStandardRuleResponse; } });\nvar SecurityMonitoringTriageUser_1 = require(\"./models/SecurityMonitoringTriageUser\");\nObject.defineProperty(exports, \"SecurityMonitoringTriageUser\", { enumerable: true, get: function () { return SecurityMonitoringTriageUser_1.SecurityMonitoringTriageUser; } });\nvar SensitiveDataScannerConfigRequest_1 = require(\"./models/SensitiveDataScannerConfigRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerConfigRequest\", { enumerable: true, get: function () { return SensitiveDataScannerConfigRequest_1.SensitiveDataScannerConfigRequest; } });\nvar SensitiveDataScannerConfiguration_1 = require(\"./models/SensitiveDataScannerConfiguration\");\nObject.defineProperty(exports, \"SensitiveDataScannerConfiguration\", { enumerable: true, get: function () { return SensitiveDataScannerConfiguration_1.SensitiveDataScannerConfiguration; } });\nvar SensitiveDataScannerConfigurationData_1 = require(\"./models/SensitiveDataScannerConfigurationData\");\nObject.defineProperty(exports, \"SensitiveDataScannerConfigurationData\", { enumerable: true, get: function () { return SensitiveDataScannerConfigurationData_1.SensitiveDataScannerConfigurationData; } });\nvar SensitiveDataScannerConfigurationRelationships_1 = require(\"./models/SensitiveDataScannerConfigurationRelationships\");\nObject.defineProperty(exports, \"SensitiveDataScannerConfigurationRelationships\", { enumerable: true, get: function () { return SensitiveDataScannerConfigurationRelationships_1.SensitiveDataScannerConfigurationRelationships; } });\nvar SensitiveDataScannerCreateGroupResponse_1 = require(\"./models/SensitiveDataScannerCreateGroupResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerCreateGroupResponse\", { enumerable: true, get: function () { return SensitiveDataScannerCreateGroupResponse_1.SensitiveDataScannerCreateGroupResponse; } });\nvar SensitiveDataScannerCreateRuleResponse_1 = require(\"./models/SensitiveDataScannerCreateRuleResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerCreateRuleResponse\", { enumerable: true, get: function () { return SensitiveDataScannerCreateRuleResponse_1.SensitiveDataScannerCreateRuleResponse; } });\nvar SensitiveDataScannerFilter_1 = require(\"./models/SensitiveDataScannerFilter\");\nObject.defineProperty(exports, \"SensitiveDataScannerFilter\", { enumerable: true, get: function () { return SensitiveDataScannerFilter_1.SensitiveDataScannerFilter; } });\nvar SensitiveDataScannerGetConfigResponse_1 = require(\"./models/SensitiveDataScannerGetConfigResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerGetConfigResponse\", { enumerable: true, get: function () { return SensitiveDataScannerGetConfigResponse_1.SensitiveDataScannerGetConfigResponse; } });\nvar SensitiveDataScannerGetConfigResponseData_1 = require(\"./models/SensitiveDataScannerGetConfigResponseData\");\nObject.defineProperty(exports, \"SensitiveDataScannerGetConfigResponseData\", { enumerable: true, get: function () { return SensitiveDataScannerGetConfigResponseData_1.SensitiveDataScannerGetConfigResponseData; } });\nvar SensitiveDataScannerGroup_1 = require(\"./models/SensitiveDataScannerGroup\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroup\", { enumerable: true, get: function () { return SensitiveDataScannerGroup_1.SensitiveDataScannerGroup; } });\nvar SensitiveDataScannerGroupAttributes_1 = require(\"./models/SensitiveDataScannerGroupAttributes\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupAttributes\", { enumerable: true, get: function () { return SensitiveDataScannerGroupAttributes_1.SensitiveDataScannerGroupAttributes; } });\nvar SensitiveDataScannerGroupCreate_1 = require(\"./models/SensitiveDataScannerGroupCreate\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupCreate\", { enumerable: true, get: function () { return SensitiveDataScannerGroupCreate_1.SensitiveDataScannerGroupCreate; } });\nvar SensitiveDataScannerGroupCreateRequest_1 = require(\"./models/SensitiveDataScannerGroupCreateRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupCreateRequest\", { enumerable: true, get: function () { return SensitiveDataScannerGroupCreateRequest_1.SensitiveDataScannerGroupCreateRequest; } });\nvar SensitiveDataScannerGroupData_1 = require(\"./models/SensitiveDataScannerGroupData\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupData\", { enumerable: true, get: function () { return SensitiveDataScannerGroupData_1.SensitiveDataScannerGroupData; } });\nvar SensitiveDataScannerGroupDeleteRequest_1 = require(\"./models/SensitiveDataScannerGroupDeleteRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupDeleteRequest\", { enumerable: true, get: function () { return SensitiveDataScannerGroupDeleteRequest_1.SensitiveDataScannerGroupDeleteRequest; } });\nvar SensitiveDataScannerGroupDeleteResponse_1 = require(\"./models/SensitiveDataScannerGroupDeleteResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupDeleteResponse\", { enumerable: true, get: function () { return SensitiveDataScannerGroupDeleteResponse_1.SensitiveDataScannerGroupDeleteResponse; } });\nvar SensitiveDataScannerGroupIncludedItem_1 = require(\"./models/SensitiveDataScannerGroupIncludedItem\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupIncludedItem\", { enumerable: true, get: function () { return SensitiveDataScannerGroupIncludedItem_1.SensitiveDataScannerGroupIncludedItem; } });\nvar SensitiveDataScannerGroupItem_1 = require(\"./models/SensitiveDataScannerGroupItem\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupItem\", { enumerable: true, get: function () { return SensitiveDataScannerGroupItem_1.SensitiveDataScannerGroupItem; } });\nvar SensitiveDataScannerGroupList_1 = require(\"./models/SensitiveDataScannerGroupList\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupList\", { enumerable: true, get: function () { return SensitiveDataScannerGroupList_1.SensitiveDataScannerGroupList; } });\nvar SensitiveDataScannerGroupRelationships_1 = require(\"./models/SensitiveDataScannerGroupRelationships\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupRelationships\", { enumerable: true, get: function () { return SensitiveDataScannerGroupRelationships_1.SensitiveDataScannerGroupRelationships; } });\nvar SensitiveDataScannerGroupResponse_1 = require(\"./models/SensitiveDataScannerGroupResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupResponse\", { enumerable: true, get: function () { return SensitiveDataScannerGroupResponse_1.SensitiveDataScannerGroupResponse; } });\nvar SensitiveDataScannerGroupUpdate_1 = require(\"./models/SensitiveDataScannerGroupUpdate\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupUpdate\", { enumerable: true, get: function () { return SensitiveDataScannerGroupUpdate_1.SensitiveDataScannerGroupUpdate; } });\nvar SensitiveDataScannerGroupUpdateRequest_1 = require(\"./models/SensitiveDataScannerGroupUpdateRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupUpdateRequest\", { enumerable: true, get: function () { return SensitiveDataScannerGroupUpdateRequest_1.SensitiveDataScannerGroupUpdateRequest; } });\nvar SensitiveDataScannerGroupUpdateResponse_1 = require(\"./models/SensitiveDataScannerGroupUpdateResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerGroupUpdateResponse\", { enumerable: true, get: function () { return SensitiveDataScannerGroupUpdateResponse_1.SensitiveDataScannerGroupUpdateResponse; } });\nvar SensitiveDataScannerMeta_1 = require(\"./models/SensitiveDataScannerMeta\");\nObject.defineProperty(exports, \"SensitiveDataScannerMeta\", { enumerable: true, get: function () { return SensitiveDataScannerMeta_1.SensitiveDataScannerMeta; } });\nvar SensitiveDataScannerMetaVersionOnly_1 = require(\"./models/SensitiveDataScannerMetaVersionOnly\");\nObject.defineProperty(exports, \"SensitiveDataScannerMetaVersionOnly\", { enumerable: true, get: function () { return SensitiveDataScannerMetaVersionOnly_1.SensitiveDataScannerMetaVersionOnly; } });\nvar SensitiveDataScannerReorderConfig_1 = require(\"./models/SensitiveDataScannerReorderConfig\");\nObject.defineProperty(exports, \"SensitiveDataScannerReorderConfig\", { enumerable: true, get: function () { return SensitiveDataScannerReorderConfig_1.SensitiveDataScannerReorderConfig; } });\nvar SensitiveDataScannerReorderGroupsResponse_1 = require(\"./models/SensitiveDataScannerReorderGroupsResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerReorderGroupsResponse\", { enumerable: true, get: function () { return SensitiveDataScannerReorderGroupsResponse_1.SensitiveDataScannerReorderGroupsResponse; } });\nvar SensitiveDataScannerRule_1 = require(\"./models/SensitiveDataScannerRule\");\nObject.defineProperty(exports, \"SensitiveDataScannerRule\", { enumerable: true, get: function () { return SensitiveDataScannerRule_1.SensitiveDataScannerRule; } });\nvar SensitiveDataScannerRuleAttributes_1 = require(\"./models/SensitiveDataScannerRuleAttributes\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleAttributes\", { enumerable: true, get: function () { return SensitiveDataScannerRuleAttributes_1.SensitiveDataScannerRuleAttributes; } });\nvar SensitiveDataScannerRuleCreate_1 = require(\"./models/SensitiveDataScannerRuleCreate\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleCreate\", { enumerable: true, get: function () { return SensitiveDataScannerRuleCreate_1.SensitiveDataScannerRuleCreate; } });\nvar SensitiveDataScannerRuleCreateRequest_1 = require(\"./models/SensitiveDataScannerRuleCreateRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleCreateRequest\", { enumerable: true, get: function () { return SensitiveDataScannerRuleCreateRequest_1.SensitiveDataScannerRuleCreateRequest; } });\nvar SensitiveDataScannerRuleData_1 = require(\"./models/SensitiveDataScannerRuleData\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleData\", { enumerable: true, get: function () { return SensitiveDataScannerRuleData_1.SensitiveDataScannerRuleData; } });\nvar SensitiveDataScannerRuleDeleteRequest_1 = require(\"./models/SensitiveDataScannerRuleDeleteRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleDeleteRequest\", { enumerable: true, get: function () { return SensitiveDataScannerRuleDeleteRequest_1.SensitiveDataScannerRuleDeleteRequest; } });\nvar SensitiveDataScannerRuleDeleteResponse_1 = require(\"./models/SensitiveDataScannerRuleDeleteResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleDeleteResponse\", { enumerable: true, get: function () { return SensitiveDataScannerRuleDeleteResponse_1.SensitiveDataScannerRuleDeleteResponse; } });\nvar SensitiveDataScannerRuleIncludedItem_1 = require(\"./models/SensitiveDataScannerRuleIncludedItem\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleIncludedItem\", { enumerable: true, get: function () { return SensitiveDataScannerRuleIncludedItem_1.SensitiveDataScannerRuleIncludedItem; } });\nvar SensitiveDataScannerRuleRelationships_1 = require(\"./models/SensitiveDataScannerRuleRelationships\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleRelationships\", { enumerable: true, get: function () { return SensitiveDataScannerRuleRelationships_1.SensitiveDataScannerRuleRelationships; } });\nvar SensitiveDataScannerRuleResponse_1 = require(\"./models/SensitiveDataScannerRuleResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleResponse\", { enumerable: true, get: function () { return SensitiveDataScannerRuleResponse_1.SensitiveDataScannerRuleResponse; } });\nvar SensitiveDataScannerRuleUpdate_1 = require(\"./models/SensitiveDataScannerRuleUpdate\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleUpdate\", { enumerable: true, get: function () { return SensitiveDataScannerRuleUpdate_1.SensitiveDataScannerRuleUpdate; } });\nvar SensitiveDataScannerRuleUpdateRequest_1 = require(\"./models/SensitiveDataScannerRuleUpdateRequest\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleUpdateRequest\", { enumerable: true, get: function () { return SensitiveDataScannerRuleUpdateRequest_1.SensitiveDataScannerRuleUpdateRequest; } });\nvar SensitiveDataScannerRuleUpdateResponse_1 = require(\"./models/SensitiveDataScannerRuleUpdateResponse\");\nObject.defineProperty(exports, \"SensitiveDataScannerRuleUpdateResponse\", { enumerable: true, get: function () { return SensitiveDataScannerRuleUpdateResponse_1.SensitiveDataScannerRuleUpdateResponse; } });\nvar SensitiveDataScannerStandardPattern_1 = require(\"./models/SensitiveDataScannerStandardPattern\");\nObject.defineProperty(exports, \"SensitiveDataScannerStandardPattern\", { enumerable: true, get: function () { return SensitiveDataScannerStandardPattern_1.SensitiveDataScannerStandardPattern; } });\nvar SensitiveDataScannerStandardPatternAttributes_1 = require(\"./models/SensitiveDataScannerStandardPatternAttributes\");\nObject.defineProperty(exports, \"SensitiveDataScannerStandardPatternAttributes\", { enumerable: true, get: function () { return SensitiveDataScannerStandardPatternAttributes_1.SensitiveDataScannerStandardPatternAttributes; } });\nvar SensitiveDataScannerStandardPatternData_1 = require(\"./models/SensitiveDataScannerStandardPatternData\");\nObject.defineProperty(exports, \"SensitiveDataScannerStandardPatternData\", { enumerable: true, get: function () { return SensitiveDataScannerStandardPatternData_1.SensitiveDataScannerStandardPatternData; } });\nvar SensitiveDataScannerStandardPatternsResponseData_1 = require(\"./models/SensitiveDataScannerStandardPatternsResponseData\");\nObject.defineProperty(exports, \"SensitiveDataScannerStandardPatternsResponseData\", { enumerable: true, get: function () { return SensitiveDataScannerStandardPatternsResponseData_1.SensitiveDataScannerStandardPatternsResponseData; } });\nvar SensitiveDataScannerStandardPatternsResponseItem_1 = require(\"./models/SensitiveDataScannerStandardPatternsResponseItem\");\nObject.defineProperty(exports, \"SensitiveDataScannerStandardPatternsResponseItem\", { enumerable: true, get: function () { return SensitiveDataScannerStandardPatternsResponseItem_1.SensitiveDataScannerStandardPatternsResponseItem; } });\nvar SensitiveDataScannerTextReplacement_1 = require(\"./models/SensitiveDataScannerTextReplacement\");\nObject.defineProperty(exports, \"SensitiveDataScannerTextReplacement\", { enumerable: true, get: function () { return SensitiveDataScannerTextReplacement_1.SensitiveDataScannerTextReplacement; } });\nvar ServiceAccountCreateAttributes_1 = require(\"./models/ServiceAccountCreateAttributes\");\nObject.defineProperty(exports, \"ServiceAccountCreateAttributes\", { enumerable: true, get: function () { return ServiceAccountCreateAttributes_1.ServiceAccountCreateAttributes; } });\nvar ServiceAccountCreateData_1 = require(\"./models/ServiceAccountCreateData\");\nObject.defineProperty(exports, \"ServiceAccountCreateData\", { enumerable: true, get: function () { return ServiceAccountCreateData_1.ServiceAccountCreateData; } });\nvar ServiceAccountCreateRequest_1 = require(\"./models/ServiceAccountCreateRequest\");\nObject.defineProperty(exports, \"ServiceAccountCreateRequest\", { enumerable: true, get: function () { return ServiceAccountCreateRequest_1.ServiceAccountCreateRequest; } });\nvar ServiceDefinitionCreateResponse_1 = require(\"./models/ServiceDefinitionCreateResponse\");\nObject.defineProperty(exports, \"ServiceDefinitionCreateResponse\", { enumerable: true, get: function () { return ServiceDefinitionCreateResponse_1.ServiceDefinitionCreateResponse; } });\nvar ServiceDefinitionData_1 = require(\"./models/ServiceDefinitionData\");\nObject.defineProperty(exports, \"ServiceDefinitionData\", { enumerable: true, get: function () { return ServiceDefinitionData_1.ServiceDefinitionData; } });\nvar ServiceDefinitionDataAttributes_1 = require(\"./models/ServiceDefinitionDataAttributes\");\nObject.defineProperty(exports, \"ServiceDefinitionDataAttributes\", { enumerable: true, get: function () { return ServiceDefinitionDataAttributes_1.ServiceDefinitionDataAttributes; } });\nvar ServiceDefinitionGetResponse_1 = require(\"./models/ServiceDefinitionGetResponse\");\nObject.defineProperty(exports, \"ServiceDefinitionGetResponse\", { enumerable: true, get: function () { return ServiceDefinitionGetResponse_1.ServiceDefinitionGetResponse; } });\nvar ServiceDefinitionMeta_1 = require(\"./models/ServiceDefinitionMeta\");\nObject.defineProperty(exports, \"ServiceDefinitionMeta\", { enumerable: true, get: function () { return ServiceDefinitionMeta_1.ServiceDefinitionMeta; } });\nvar ServiceDefinitionMetaWarnings_1 = require(\"./models/ServiceDefinitionMetaWarnings\");\nObject.defineProperty(exports, \"ServiceDefinitionMetaWarnings\", { enumerable: true, get: function () { return ServiceDefinitionMetaWarnings_1.ServiceDefinitionMetaWarnings; } });\nvar ServiceDefinitionsListResponse_1 = require(\"./models/ServiceDefinitionsListResponse\");\nObject.defineProperty(exports, \"ServiceDefinitionsListResponse\", { enumerable: true, get: function () { return ServiceDefinitionsListResponse_1.ServiceDefinitionsListResponse; } });\nvar ServiceDefinitionV1_1 = require(\"./models/ServiceDefinitionV1\");\nObject.defineProperty(exports, \"ServiceDefinitionV1\", { enumerable: true, get: function () { return ServiceDefinitionV1_1.ServiceDefinitionV1; } });\nvar ServiceDefinitionV1Contact_1 = require(\"./models/ServiceDefinitionV1Contact\");\nObject.defineProperty(exports, \"ServiceDefinitionV1Contact\", { enumerable: true, get: function () { return ServiceDefinitionV1Contact_1.ServiceDefinitionV1Contact; } });\nvar ServiceDefinitionV1Info_1 = require(\"./models/ServiceDefinitionV1Info\");\nObject.defineProperty(exports, \"ServiceDefinitionV1Info\", { enumerable: true, get: function () { return ServiceDefinitionV1Info_1.ServiceDefinitionV1Info; } });\nvar ServiceDefinitionV1Integrations_1 = require(\"./models/ServiceDefinitionV1Integrations\");\nObject.defineProperty(exports, \"ServiceDefinitionV1Integrations\", { enumerable: true, get: function () { return ServiceDefinitionV1Integrations_1.ServiceDefinitionV1Integrations; } });\nvar ServiceDefinitionV1Org_1 = require(\"./models/ServiceDefinitionV1Org\");\nObject.defineProperty(exports, \"ServiceDefinitionV1Org\", { enumerable: true, get: function () { return ServiceDefinitionV1Org_1.ServiceDefinitionV1Org; } });\nvar ServiceDefinitionV1Resource_1 = require(\"./models/ServiceDefinitionV1Resource\");\nObject.defineProperty(exports, \"ServiceDefinitionV1Resource\", { enumerable: true, get: function () { return ServiceDefinitionV1Resource_1.ServiceDefinitionV1Resource; } });\nvar ServiceDefinitionV2_1 = require(\"./models/ServiceDefinitionV2\");\nObject.defineProperty(exports, \"ServiceDefinitionV2\", { enumerable: true, get: function () { return ServiceDefinitionV2_1.ServiceDefinitionV2; } });\nvar ServiceDefinitionV2Doc_1 = require(\"./models/ServiceDefinitionV2Doc\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Doc\", { enumerable: true, get: function () { return ServiceDefinitionV2Doc_1.ServiceDefinitionV2Doc; } });\nvar ServiceDefinitionV2Dot1_1 = require(\"./models/ServiceDefinitionV2Dot1\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1_1.ServiceDefinitionV2Dot1; } });\nvar ServiceDefinitionV2Dot1Email_1 = require(\"./models/ServiceDefinitionV2Dot1Email\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Email\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Email_1.ServiceDefinitionV2Dot1Email; } });\nvar ServiceDefinitionV2Dot1Integrations_1 = require(\"./models/ServiceDefinitionV2Dot1Integrations\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Integrations\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Integrations_1.ServiceDefinitionV2Dot1Integrations; } });\nvar ServiceDefinitionV2Dot1Link_1 = require(\"./models/ServiceDefinitionV2Dot1Link\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Link\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Link_1.ServiceDefinitionV2Dot1Link; } });\nvar ServiceDefinitionV2Dot1MSTeams_1 = require(\"./models/ServiceDefinitionV2Dot1MSTeams\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1MSTeams\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1MSTeams_1.ServiceDefinitionV2Dot1MSTeams; } });\nvar ServiceDefinitionV2Dot1Opsgenie_1 = require(\"./models/ServiceDefinitionV2Dot1Opsgenie\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Opsgenie\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Opsgenie_1.ServiceDefinitionV2Dot1Opsgenie; } });\nvar ServiceDefinitionV2Dot1Pagerduty_1 = require(\"./models/ServiceDefinitionV2Dot1Pagerduty\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Pagerduty\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Pagerduty_1.ServiceDefinitionV2Dot1Pagerduty; } });\nvar ServiceDefinitionV2Dot1Slack_1 = require(\"./models/ServiceDefinitionV2Dot1Slack\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Dot1Slack\", { enumerable: true, get: function () { return ServiceDefinitionV2Dot1Slack_1.ServiceDefinitionV2Dot1Slack; } });\nvar ServiceDefinitionV2Email_1 = require(\"./models/ServiceDefinitionV2Email\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Email\", { enumerable: true, get: function () { return ServiceDefinitionV2Email_1.ServiceDefinitionV2Email; } });\nvar ServiceDefinitionV2Integrations_1 = require(\"./models/ServiceDefinitionV2Integrations\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Integrations\", { enumerable: true, get: function () { return ServiceDefinitionV2Integrations_1.ServiceDefinitionV2Integrations; } });\nvar ServiceDefinitionV2Link_1 = require(\"./models/ServiceDefinitionV2Link\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Link\", { enumerable: true, get: function () { return ServiceDefinitionV2Link_1.ServiceDefinitionV2Link; } });\nvar ServiceDefinitionV2MSTeams_1 = require(\"./models/ServiceDefinitionV2MSTeams\");\nObject.defineProperty(exports, \"ServiceDefinitionV2MSTeams\", { enumerable: true, get: function () { return ServiceDefinitionV2MSTeams_1.ServiceDefinitionV2MSTeams; } });\nvar ServiceDefinitionV2Opsgenie_1 = require(\"./models/ServiceDefinitionV2Opsgenie\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Opsgenie\", { enumerable: true, get: function () { return ServiceDefinitionV2Opsgenie_1.ServiceDefinitionV2Opsgenie; } });\nvar ServiceDefinitionV2Repo_1 = require(\"./models/ServiceDefinitionV2Repo\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Repo\", { enumerable: true, get: function () { return ServiceDefinitionV2Repo_1.ServiceDefinitionV2Repo; } });\nvar ServiceDefinitionV2Slack_1 = require(\"./models/ServiceDefinitionV2Slack\");\nObject.defineProperty(exports, \"ServiceDefinitionV2Slack\", { enumerable: true, get: function () { return ServiceDefinitionV2Slack_1.ServiceDefinitionV2Slack; } });\nvar SlackIntegrationMetadata_1 = require(\"./models/SlackIntegrationMetadata\");\nObject.defineProperty(exports, \"SlackIntegrationMetadata\", { enumerable: true, get: function () { return SlackIntegrationMetadata_1.SlackIntegrationMetadata; } });\nvar SlackIntegrationMetadataChannelItem_1 = require(\"./models/SlackIntegrationMetadataChannelItem\");\nObject.defineProperty(exports, \"SlackIntegrationMetadataChannelItem\", { enumerable: true, get: function () { return SlackIntegrationMetadataChannelItem_1.SlackIntegrationMetadataChannelItem; } });\nvar Span_1 = require(\"./models/Span\");\nObject.defineProperty(exports, \"Span\", { enumerable: true, get: function () { return Span_1.Span; } });\nvar SpansAggregateBucket_1 = require(\"./models/SpansAggregateBucket\");\nObject.defineProperty(exports, \"SpansAggregateBucket\", { enumerable: true, get: function () { return SpansAggregateBucket_1.SpansAggregateBucket; } });\nvar SpansAggregateBucketAttributes_1 = require(\"./models/SpansAggregateBucketAttributes\");\nObject.defineProperty(exports, \"SpansAggregateBucketAttributes\", { enumerable: true, get: function () { return SpansAggregateBucketAttributes_1.SpansAggregateBucketAttributes; } });\nvar SpansAggregateBucketValueTimeseriesPoint_1 = require(\"./models/SpansAggregateBucketValueTimeseriesPoint\");\nObject.defineProperty(exports, \"SpansAggregateBucketValueTimeseriesPoint\", { enumerable: true, get: function () { return SpansAggregateBucketValueTimeseriesPoint_1.SpansAggregateBucketValueTimeseriesPoint; } });\nvar SpansAggregateData_1 = require(\"./models/SpansAggregateData\");\nObject.defineProperty(exports, \"SpansAggregateData\", { enumerable: true, get: function () { return SpansAggregateData_1.SpansAggregateData; } });\nvar SpansAggregateRequest_1 = require(\"./models/SpansAggregateRequest\");\nObject.defineProperty(exports, \"SpansAggregateRequest\", { enumerable: true, get: function () { return SpansAggregateRequest_1.SpansAggregateRequest; } });\nvar SpansAggregateRequestAttributes_1 = require(\"./models/SpansAggregateRequestAttributes\");\nObject.defineProperty(exports, \"SpansAggregateRequestAttributes\", { enumerable: true, get: function () { return SpansAggregateRequestAttributes_1.SpansAggregateRequestAttributes; } });\nvar SpansAggregateResponse_1 = require(\"./models/SpansAggregateResponse\");\nObject.defineProperty(exports, \"SpansAggregateResponse\", { enumerable: true, get: function () { return SpansAggregateResponse_1.SpansAggregateResponse; } });\nvar SpansAggregateResponseMetadata_1 = require(\"./models/SpansAggregateResponseMetadata\");\nObject.defineProperty(exports, \"SpansAggregateResponseMetadata\", { enumerable: true, get: function () { return SpansAggregateResponseMetadata_1.SpansAggregateResponseMetadata; } });\nvar SpansAggregateSort_1 = require(\"./models/SpansAggregateSort\");\nObject.defineProperty(exports, \"SpansAggregateSort\", { enumerable: true, get: function () { return SpansAggregateSort_1.SpansAggregateSort; } });\nvar SpansAttributes_1 = require(\"./models/SpansAttributes\");\nObject.defineProperty(exports, \"SpansAttributes\", { enumerable: true, get: function () { return SpansAttributes_1.SpansAttributes; } });\nvar SpansCompute_1 = require(\"./models/SpansCompute\");\nObject.defineProperty(exports, \"SpansCompute\", { enumerable: true, get: function () { return SpansCompute_1.SpansCompute; } });\nvar SpansGroupBy_1 = require(\"./models/SpansGroupBy\");\nObject.defineProperty(exports, \"SpansGroupBy\", { enumerable: true, get: function () { return SpansGroupBy_1.SpansGroupBy; } });\nvar SpansGroupByHistogram_1 = require(\"./models/SpansGroupByHistogram\");\nObject.defineProperty(exports, \"SpansGroupByHistogram\", { enumerable: true, get: function () { return SpansGroupByHistogram_1.SpansGroupByHistogram; } });\nvar SpansListRequest_1 = require(\"./models/SpansListRequest\");\nObject.defineProperty(exports, \"SpansListRequest\", { enumerable: true, get: function () { return SpansListRequest_1.SpansListRequest; } });\nvar SpansListRequestAttributes_1 = require(\"./models/SpansListRequestAttributes\");\nObject.defineProperty(exports, \"SpansListRequestAttributes\", { enumerable: true, get: function () { return SpansListRequestAttributes_1.SpansListRequestAttributes; } });\nvar SpansListRequestData_1 = require(\"./models/SpansListRequestData\");\nObject.defineProperty(exports, \"SpansListRequestData\", { enumerable: true, get: function () { return SpansListRequestData_1.SpansListRequestData; } });\nvar SpansListRequestPage_1 = require(\"./models/SpansListRequestPage\");\nObject.defineProperty(exports, \"SpansListRequestPage\", { enumerable: true, get: function () { return SpansListRequestPage_1.SpansListRequestPage; } });\nvar SpansListResponse_1 = require(\"./models/SpansListResponse\");\nObject.defineProperty(exports, \"SpansListResponse\", { enumerable: true, get: function () { return SpansListResponse_1.SpansListResponse; } });\nvar SpansListResponseLinks_1 = require(\"./models/SpansListResponseLinks\");\nObject.defineProperty(exports, \"SpansListResponseLinks\", { enumerable: true, get: function () { return SpansListResponseLinks_1.SpansListResponseLinks; } });\nvar SpansListResponseMetadata_1 = require(\"./models/SpansListResponseMetadata\");\nObject.defineProperty(exports, \"SpansListResponseMetadata\", { enumerable: true, get: function () { return SpansListResponseMetadata_1.SpansListResponseMetadata; } });\nvar SpansMetricCompute_1 = require(\"./models/SpansMetricCompute\");\nObject.defineProperty(exports, \"SpansMetricCompute\", { enumerable: true, get: function () { return SpansMetricCompute_1.SpansMetricCompute; } });\nvar SpansMetricCreateAttributes_1 = require(\"./models/SpansMetricCreateAttributes\");\nObject.defineProperty(exports, \"SpansMetricCreateAttributes\", { enumerable: true, get: function () { return SpansMetricCreateAttributes_1.SpansMetricCreateAttributes; } });\nvar SpansMetricCreateData_1 = require(\"./models/SpansMetricCreateData\");\nObject.defineProperty(exports, \"SpansMetricCreateData\", { enumerable: true, get: function () { return SpansMetricCreateData_1.SpansMetricCreateData; } });\nvar SpansMetricCreateRequest_1 = require(\"./models/SpansMetricCreateRequest\");\nObject.defineProperty(exports, \"SpansMetricCreateRequest\", { enumerable: true, get: function () { return SpansMetricCreateRequest_1.SpansMetricCreateRequest; } });\nvar SpansMetricFilter_1 = require(\"./models/SpansMetricFilter\");\nObject.defineProperty(exports, \"SpansMetricFilter\", { enumerable: true, get: function () { return SpansMetricFilter_1.SpansMetricFilter; } });\nvar SpansMetricGroupBy_1 = require(\"./models/SpansMetricGroupBy\");\nObject.defineProperty(exports, \"SpansMetricGroupBy\", { enumerable: true, get: function () { return SpansMetricGroupBy_1.SpansMetricGroupBy; } });\nvar SpansMetricResponse_1 = require(\"./models/SpansMetricResponse\");\nObject.defineProperty(exports, \"SpansMetricResponse\", { enumerable: true, get: function () { return SpansMetricResponse_1.SpansMetricResponse; } });\nvar SpansMetricResponseAttributes_1 = require(\"./models/SpansMetricResponseAttributes\");\nObject.defineProperty(exports, \"SpansMetricResponseAttributes\", { enumerable: true, get: function () { return SpansMetricResponseAttributes_1.SpansMetricResponseAttributes; } });\nvar SpansMetricResponseCompute_1 = require(\"./models/SpansMetricResponseCompute\");\nObject.defineProperty(exports, \"SpansMetricResponseCompute\", { enumerable: true, get: function () { return SpansMetricResponseCompute_1.SpansMetricResponseCompute; } });\nvar SpansMetricResponseData_1 = require(\"./models/SpansMetricResponseData\");\nObject.defineProperty(exports, \"SpansMetricResponseData\", { enumerable: true, get: function () { return SpansMetricResponseData_1.SpansMetricResponseData; } });\nvar SpansMetricResponseFilter_1 = require(\"./models/SpansMetricResponseFilter\");\nObject.defineProperty(exports, \"SpansMetricResponseFilter\", { enumerable: true, get: function () { return SpansMetricResponseFilter_1.SpansMetricResponseFilter; } });\nvar SpansMetricResponseGroupBy_1 = require(\"./models/SpansMetricResponseGroupBy\");\nObject.defineProperty(exports, \"SpansMetricResponseGroupBy\", { enumerable: true, get: function () { return SpansMetricResponseGroupBy_1.SpansMetricResponseGroupBy; } });\nvar SpansMetricsResponse_1 = require(\"./models/SpansMetricsResponse\");\nObject.defineProperty(exports, \"SpansMetricsResponse\", { enumerable: true, get: function () { return SpansMetricsResponse_1.SpansMetricsResponse; } });\nvar SpansMetricUpdateAttributes_1 = require(\"./models/SpansMetricUpdateAttributes\");\nObject.defineProperty(exports, \"SpansMetricUpdateAttributes\", { enumerable: true, get: function () { return SpansMetricUpdateAttributes_1.SpansMetricUpdateAttributes; } });\nvar SpansMetricUpdateCompute_1 = require(\"./models/SpansMetricUpdateCompute\");\nObject.defineProperty(exports, \"SpansMetricUpdateCompute\", { enumerable: true, get: function () { return SpansMetricUpdateCompute_1.SpansMetricUpdateCompute; } });\nvar SpansMetricUpdateData_1 = require(\"./models/SpansMetricUpdateData\");\nObject.defineProperty(exports, \"SpansMetricUpdateData\", { enumerable: true, get: function () { return SpansMetricUpdateData_1.SpansMetricUpdateData; } });\nvar SpansMetricUpdateRequest_1 = require(\"./models/SpansMetricUpdateRequest\");\nObject.defineProperty(exports, \"SpansMetricUpdateRequest\", { enumerable: true, get: function () { return SpansMetricUpdateRequest_1.SpansMetricUpdateRequest; } });\nvar SpansQueryFilter_1 = require(\"./models/SpansQueryFilter\");\nObject.defineProperty(exports, \"SpansQueryFilter\", { enumerable: true, get: function () { return SpansQueryFilter_1.SpansQueryFilter; } });\nvar SpansQueryOptions_1 = require(\"./models/SpansQueryOptions\");\nObject.defineProperty(exports, \"SpansQueryOptions\", { enumerable: true, get: function () { return SpansQueryOptions_1.SpansQueryOptions; } });\nvar SpansResponseMetadataPage_1 = require(\"./models/SpansResponseMetadataPage\");\nObject.defineProperty(exports, \"SpansResponseMetadataPage\", { enumerable: true, get: function () { return SpansResponseMetadataPage_1.SpansResponseMetadataPage; } });\nvar SpansWarning_1 = require(\"./models/SpansWarning\");\nObject.defineProperty(exports, \"SpansWarning\", { enumerable: true, get: function () { return SpansWarning_1.SpansWarning; } });\nvar Team_1 = require(\"./models/Team\");\nObject.defineProperty(exports, \"Team\", { enumerable: true, get: function () { return Team_1.Team; } });\nvar TeamAttributes_1 = require(\"./models/TeamAttributes\");\nObject.defineProperty(exports, \"TeamAttributes\", { enumerable: true, get: function () { return TeamAttributes_1.TeamAttributes; } });\nvar TeamCreate_1 = require(\"./models/TeamCreate\");\nObject.defineProperty(exports, \"TeamCreate\", { enumerable: true, get: function () { return TeamCreate_1.TeamCreate; } });\nvar TeamCreateAttributes_1 = require(\"./models/TeamCreateAttributes\");\nObject.defineProperty(exports, \"TeamCreateAttributes\", { enumerable: true, get: function () { return TeamCreateAttributes_1.TeamCreateAttributes; } });\nvar TeamCreateRelationships_1 = require(\"./models/TeamCreateRelationships\");\nObject.defineProperty(exports, \"TeamCreateRelationships\", { enumerable: true, get: function () { return TeamCreateRelationships_1.TeamCreateRelationships; } });\nvar TeamCreateRequest_1 = require(\"./models/TeamCreateRequest\");\nObject.defineProperty(exports, \"TeamCreateRequest\", { enumerable: true, get: function () { return TeamCreateRequest_1.TeamCreateRequest; } });\nvar TeamLink_1 = require(\"./models/TeamLink\");\nObject.defineProperty(exports, \"TeamLink\", { enumerable: true, get: function () { return TeamLink_1.TeamLink; } });\nvar TeamLinkAttributes_1 = require(\"./models/TeamLinkAttributes\");\nObject.defineProperty(exports, \"TeamLinkAttributes\", { enumerable: true, get: function () { return TeamLinkAttributes_1.TeamLinkAttributes; } });\nvar TeamLinkCreate_1 = require(\"./models/TeamLinkCreate\");\nObject.defineProperty(exports, \"TeamLinkCreate\", { enumerable: true, get: function () { return TeamLinkCreate_1.TeamLinkCreate; } });\nvar TeamLinkCreateRequest_1 = require(\"./models/TeamLinkCreateRequest\");\nObject.defineProperty(exports, \"TeamLinkCreateRequest\", { enumerable: true, get: function () { return TeamLinkCreateRequest_1.TeamLinkCreateRequest; } });\nvar TeamLinkResponse_1 = require(\"./models/TeamLinkResponse\");\nObject.defineProperty(exports, \"TeamLinkResponse\", { enumerable: true, get: function () { return TeamLinkResponse_1.TeamLinkResponse; } });\nvar TeamLinksResponse_1 = require(\"./models/TeamLinksResponse\");\nObject.defineProperty(exports, \"TeamLinksResponse\", { enumerable: true, get: function () { return TeamLinksResponse_1.TeamLinksResponse; } });\nvar TeamPermissionSetting_1 = require(\"./models/TeamPermissionSetting\");\nObject.defineProperty(exports, \"TeamPermissionSetting\", { enumerable: true, get: function () { return TeamPermissionSetting_1.TeamPermissionSetting; } });\nvar TeamPermissionSettingAttributes_1 = require(\"./models/TeamPermissionSettingAttributes\");\nObject.defineProperty(exports, \"TeamPermissionSettingAttributes\", { enumerable: true, get: function () { return TeamPermissionSettingAttributes_1.TeamPermissionSettingAttributes; } });\nvar TeamPermissionSettingResponse_1 = require(\"./models/TeamPermissionSettingResponse\");\nObject.defineProperty(exports, \"TeamPermissionSettingResponse\", { enumerable: true, get: function () { return TeamPermissionSettingResponse_1.TeamPermissionSettingResponse; } });\nvar TeamPermissionSettingsResponse_1 = require(\"./models/TeamPermissionSettingsResponse\");\nObject.defineProperty(exports, \"TeamPermissionSettingsResponse\", { enumerable: true, get: function () { return TeamPermissionSettingsResponse_1.TeamPermissionSettingsResponse; } });\nvar TeamPermissionSettingUpdate_1 = require(\"./models/TeamPermissionSettingUpdate\");\nObject.defineProperty(exports, \"TeamPermissionSettingUpdate\", { enumerable: true, get: function () { return TeamPermissionSettingUpdate_1.TeamPermissionSettingUpdate; } });\nvar TeamPermissionSettingUpdateAttributes_1 = require(\"./models/TeamPermissionSettingUpdateAttributes\");\nObject.defineProperty(exports, \"TeamPermissionSettingUpdateAttributes\", { enumerable: true, get: function () { return TeamPermissionSettingUpdateAttributes_1.TeamPermissionSettingUpdateAttributes; } });\nvar TeamPermissionSettingUpdateRequest_1 = require(\"./models/TeamPermissionSettingUpdateRequest\");\nObject.defineProperty(exports, \"TeamPermissionSettingUpdateRequest\", { enumerable: true, get: function () { return TeamPermissionSettingUpdateRequest_1.TeamPermissionSettingUpdateRequest; } });\nvar TeamRelationships_1 = require(\"./models/TeamRelationships\");\nObject.defineProperty(exports, \"TeamRelationships\", { enumerable: true, get: function () { return TeamRelationships_1.TeamRelationships; } });\nvar TeamRelationshipsLinks_1 = require(\"./models/TeamRelationshipsLinks\");\nObject.defineProperty(exports, \"TeamRelationshipsLinks\", { enumerable: true, get: function () { return TeamRelationshipsLinks_1.TeamRelationshipsLinks; } });\nvar TeamResponse_1 = require(\"./models/TeamResponse\");\nObject.defineProperty(exports, \"TeamResponse\", { enumerable: true, get: function () { return TeamResponse_1.TeamResponse; } });\nvar TeamsResponse_1 = require(\"./models/TeamsResponse\");\nObject.defineProperty(exports, \"TeamsResponse\", { enumerable: true, get: function () { return TeamsResponse_1.TeamsResponse; } });\nvar TeamsResponseLinks_1 = require(\"./models/TeamsResponseLinks\");\nObject.defineProperty(exports, \"TeamsResponseLinks\", { enumerable: true, get: function () { return TeamsResponseLinks_1.TeamsResponseLinks; } });\nvar TeamsResponseMeta_1 = require(\"./models/TeamsResponseMeta\");\nObject.defineProperty(exports, \"TeamsResponseMeta\", { enumerable: true, get: function () { return TeamsResponseMeta_1.TeamsResponseMeta; } });\nvar TeamsResponseMetaPagination_1 = require(\"./models/TeamsResponseMetaPagination\");\nObject.defineProperty(exports, \"TeamsResponseMetaPagination\", { enumerable: true, get: function () { return TeamsResponseMetaPagination_1.TeamsResponseMetaPagination; } });\nvar TeamUpdate_1 = require(\"./models/TeamUpdate\");\nObject.defineProperty(exports, \"TeamUpdate\", { enumerable: true, get: function () { return TeamUpdate_1.TeamUpdate; } });\nvar TeamUpdateAttributes_1 = require(\"./models/TeamUpdateAttributes\");\nObject.defineProperty(exports, \"TeamUpdateAttributes\", { enumerable: true, get: function () { return TeamUpdateAttributes_1.TeamUpdateAttributes; } });\nvar TeamUpdateRelationships_1 = require(\"./models/TeamUpdateRelationships\");\nObject.defineProperty(exports, \"TeamUpdateRelationships\", { enumerable: true, get: function () { return TeamUpdateRelationships_1.TeamUpdateRelationships; } });\nvar TeamUpdateRequest_1 = require(\"./models/TeamUpdateRequest\");\nObject.defineProperty(exports, \"TeamUpdateRequest\", { enumerable: true, get: function () { return TeamUpdateRequest_1.TeamUpdateRequest; } });\nvar TimeseriesFormulaQueryRequest_1 = require(\"./models/TimeseriesFormulaQueryRequest\");\nObject.defineProperty(exports, \"TimeseriesFormulaQueryRequest\", { enumerable: true, get: function () { return TimeseriesFormulaQueryRequest_1.TimeseriesFormulaQueryRequest; } });\nvar TimeseriesFormulaQueryResponse_1 = require(\"./models/TimeseriesFormulaQueryResponse\");\nObject.defineProperty(exports, \"TimeseriesFormulaQueryResponse\", { enumerable: true, get: function () { return TimeseriesFormulaQueryResponse_1.TimeseriesFormulaQueryResponse; } });\nvar TimeseriesFormulaRequest_1 = require(\"./models/TimeseriesFormulaRequest\");\nObject.defineProperty(exports, \"TimeseriesFormulaRequest\", { enumerable: true, get: function () { return TimeseriesFormulaRequest_1.TimeseriesFormulaRequest; } });\nvar TimeseriesFormulaRequestAttributes_1 = require(\"./models/TimeseriesFormulaRequestAttributes\");\nObject.defineProperty(exports, \"TimeseriesFormulaRequestAttributes\", { enumerable: true, get: function () { return TimeseriesFormulaRequestAttributes_1.TimeseriesFormulaRequestAttributes; } });\nvar TimeseriesResponse_1 = require(\"./models/TimeseriesResponse\");\nObject.defineProperty(exports, \"TimeseriesResponse\", { enumerable: true, get: function () { return TimeseriesResponse_1.TimeseriesResponse; } });\nvar TimeseriesResponseAttributes_1 = require(\"./models/TimeseriesResponseAttributes\");\nObject.defineProperty(exports, \"TimeseriesResponseAttributes\", { enumerable: true, get: function () { return TimeseriesResponseAttributes_1.TimeseriesResponseAttributes; } });\nvar TimeseriesResponseSeries_1 = require(\"./models/TimeseriesResponseSeries\");\nObject.defineProperty(exports, \"TimeseriesResponseSeries\", { enumerable: true, get: function () { return TimeseriesResponseSeries_1.TimeseriesResponseSeries; } });\nvar Unit_1 = require(\"./models/Unit\");\nObject.defineProperty(exports, \"Unit\", { enumerable: true, get: function () { return Unit_1.Unit; } });\nvar UsageApplicationSecurityMonitoringResponse_1 = require(\"./models/UsageApplicationSecurityMonitoringResponse\");\nObject.defineProperty(exports, \"UsageApplicationSecurityMonitoringResponse\", { enumerable: true, get: function () { return UsageApplicationSecurityMonitoringResponse_1.UsageApplicationSecurityMonitoringResponse; } });\nvar UsageAttributesObject_1 = require(\"./models/UsageAttributesObject\");\nObject.defineProperty(exports, \"UsageAttributesObject\", { enumerable: true, get: function () { return UsageAttributesObject_1.UsageAttributesObject; } });\nvar UsageDataObject_1 = require(\"./models/UsageDataObject\");\nObject.defineProperty(exports, \"UsageDataObject\", { enumerable: true, get: function () { return UsageDataObject_1.UsageDataObject; } });\nvar UsageLambdaTracedInvocationsResponse_1 = require(\"./models/UsageLambdaTracedInvocationsResponse\");\nObject.defineProperty(exports, \"UsageLambdaTracedInvocationsResponse\", { enumerable: true, get: function () { return UsageLambdaTracedInvocationsResponse_1.UsageLambdaTracedInvocationsResponse; } });\nvar UsageObservabilityPipelinesResponse_1 = require(\"./models/UsageObservabilityPipelinesResponse\");\nObject.defineProperty(exports, \"UsageObservabilityPipelinesResponse\", { enumerable: true, get: function () { return UsageObservabilityPipelinesResponse_1.UsageObservabilityPipelinesResponse; } });\nvar UsageTimeSeriesObject_1 = require(\"./models/UsageTimeSeriesObject\");\nObject.defineProperty(exports, \"UsageTimeSeriesObject\", { enumerable: true, get: function () { return UsageTimeSeriesObject_1.UsageTimeSeriesObject; } });\nvar User_1 = require(\"./models/User\");\nObject.defineProperty(exports, \"User\", { enumerable: true, get: function () { return User_1.User; } });\nvar UserAttributes_1 = require(\"./models/UserAttributes\");\nObject.defineProperty(exports, \"UserAttributes\", { enumerable: true, get: function () { return UserAttributes_1.UserAttributes; } });\nvar UserCreateAttributes_1 = require(\"./models/UserCreateAttributes\");\nObject.defineProperty(exports, \"UserCreateAttributes\", { enumerable: true, get: function () { return UserCreateAttributes_1.UserCreateAttributes; } });\nvar UserCreateData_1 = require(\"./models/UserCreateData\");\nObject.defineProperty(exports, \"UserCreateData\", { enumerable: true, get: function () { return UserCreateData_1.UserCreateData; } });\nvar UserCreateRequest_1 = require(\"./models/UserCreateRequest\");\nObject.defineProperty(exports, \"UserCreateRequest\", { enumerable: true, get: function () { return UserCreateRequest_1.UserCreateRequest; } });\nvar UserInvitationData_1 = require(\"./models/UserInvitationData\");\nObject.defineProperty(exports, \"UserInvitationData\", { enumerable: true, get: function () { return UserInvitationData_1.UserInvitationData; } });\nvar UserInvitationDataAttributes_1 = require(\"./models/UserInvitationDataAttributes\");\nObject.defineProperty(exports, \"UserInvitationDataAttributes\", { enumerable: true, get: function () { return UserInvitationDataAttributes_1.UserInvitationDataAttributes; } });\nvar UserInvitationRelationships_1 = require(\"./models/UserInvitationRelationships\");\nObject.defineProperty(exports, \"UserInvitationRelationships\", { enumerable: true, get: function () { return UserInvitationRelationships_1.UserInvitationRelationships; } });\nvar UserInvitationResponse_1 = require(\"./models/UserInvitationResponse\");\nObject.defineProperty(exports, \"UserInvitationResponse\", { enumerable: true, get: function () { return UserInvitationResponse_1.UserInvitationResponse; } });\nvar UserInvitationResponseData_1 = require(\"./models/UserInvitationResponseData\");\nObject.defineProperty(exports, \"UserInvitationResponseData\", { enumerable: true, get: function () { return UserInvitationResponseData_1.UserInvitationResponseData; } });\nvar UserInvitationsRequest_1 = require(\"./models/UserInvitationsRequest\");\nObject.defineProperty(exports, \"UserInvitationsRequest\", { enumerable: true, get: function () { return UserInvitationsRequest_1.UserInvitationsRequest; } });\nvar UserInvitationsResponse_1 = require(\"./models/UserInvitationsResponse\");\nObject.defineProperty(exports, \"UserInvitationsResponse\", { enumerable: true, get: function () { return UserInvitationsResponse_1.UserInvitationsResponse; } });\nvar UserRelationships_1 = require(\"./models/UserRelationships\");\nObject.defineProperty(exports, \"UserRelationships\", { enumerable: true, get: function () { return UserRelationships_1.UserRelationships; } });\nvar UserResponse_1 = require(\"./models/UserResponse\");\nObject.defineProperty(exports, \"UserResponse\", { enumerable: true, get: function () { return UserResponse_1.UserResponse; } });\nvar UserResponseRelationships_1 = require(\"./models/UserResponseRelationships\");\nObject.defineProperty(exports, \"UserResponseRelationships\", { enumerable: true, get: function () { return UserResponseRelationships_1.UserResponseRelationships; } });\nvar UsersResponse_1 = require(\"./models/UsersResponse\");\nObject.defineProperty(exports, \"UsersResponse\", { enumerable: true, get: function () { return UsersResponse_1.UsersResponse; } });\nvar UserTeam_1 = require(\"./models/UserTeam\");\nObject.defineProperty(exports, \"UserTeam\", { enumerable: true, get: function () { return UserTeam_1.UserTeam; } });\nvar UserTeamAttributes_1 = require(\"./models/UserTeamAttributes\");\nObject.defineProperty(exports, \"UserTeamAttributes\", { enumerable: true, get: function () { return UserTeamAttributes_1.UserTeamAttributes; } });\nvar UserTeamCreate_1 = require(\"./models/UserTeamCreate\");\nObject.defineProperty(exports, \"UserTeamCreate\", { enumerable: true, get: function () { return UserTeamCreate_1.UserTeamCreate; } });\nvar UserTeamPermission_1 = require(\"./models/UserTeamPermission\");\nObject.defineProperty(exports, \"UserTeamPermission\", { enumerable: true, get: function () { return UserTeamPermission_1.UserTeamPermission; } });\nvar UserTeamPermissionAttributes_1 = require(\"./models/UserTeamPermissionAttributes\");\nObject.defineProperty(exports, \"UserTeamPermissionAttributes\", { enumerable: true, get: function () { return UserTeamPermissionAttributes_1.UserTeamPermissionAttributes; } });\nvar UserTeamRelationships_1 = require(\"./models/UserTeamRelationships\");\nObject.defineProperty(exports, \"UserTeamRelationships\", { enumerable: true, get: function () { return UserTeamRelationships_1.UserTeamRelationships; } });\nvar UserTeamRequest_1 = require(\"./models/UserTeamRequest\");\nObject.defineProperty(exports, \"UserTeamRequest\", { enumerable: true, get: function () { return UserTeamRequest_1.UserTeamRequest; } });\nvar UserTeamResponse_1 = require(\"./models/UserTeamResponse\");\nObject.defineProperty(exports, \"UserTeamResponse\", { enumerable: true, get: function () { return UserTeamResponse_1.UserTeamResponse; } });\nvar UserTeamsResponse_1 = require(\"./models/UserTeamsResponse\");\nObject.defineProperty(exports, \"UserTeamsResponse\", { enumerable: true, get: function () { return UserTeamsResponse_1.UserTeamsResponse; } });\nvar UserTeamUpdate_1 = require(\"./models/UserTeamUpdate\");\nObject.defineProperty(exports, \"UserTeamUpdate\", { enumerable: true, get: function () { return UserTeamUpdate_1.UserTeamUpdate; } });\nvar UserTeamUpdateRequest_1 = require(\"./models/UserTeamUpdateRequest\");\nObject.defineProperty(exports, \"UserTeamUpdateRequest\", { enumerable: true, get: function () { return UserTeamUpdateRequest_1.UserTeamUpdateRequest; } });\nvar UserUpdateAttributes_1 = require(\"./models/UserUpdateAttributes\");\nObject.defineProperty(exports, \"UserUpdateAttributes\", { enumerable: true, get: function () { return UserUpdateAttributes_1.UserUpdateAttributes; } });\nvar UserUpdateData_1 = require(\"./models/UserUpdateData\");\nObject.defineProperty(exports, \"UserUpdateData\", { enumerable: true, get: function () { return UserUpdateData_1.UserUpdateData; } });\nvar UserUpdateRequest_1 = require(\"./models/UserUpdateRequest\");\nObject.defineProperty(exports, \"UserUpdateRequest\", { enumerable: true, get: function () { return UserUpdateRequest_1.UserUpdateRequest; } });\nvar ObjectSerializer_1 = require(\"./models/ObjectSerializer\");\nObject.defineProperty(exports, \"ObjectSerializer\", { enumerable: true, get: function () { return ObjectSerializer_1.ObjectSerializer; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIErrorResponse = void 0;\n/**\n * API error response.\n */\nclass APIErrorResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIErrorResponse.attributeTypeMap;\n    }\n}\nexports.APIErrorResponse = APIErrorResponse;\n/**\n * @ignore\n */\nAPIErrorResponse.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIErrorResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyCreateAttributes = void 0;\n/**\n * Attributes used to create an API Key.\n */\nclass APIKeyCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyCreateAttributes.attributeTypeMap;\n    }\n}\nexports.APIKeyCreateAttributes = APIKeyCreateAttributes;\n/**\n * @ignore\n */\nAPIKeyCreateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyCreateData = void 0;\n/**\n * Object used to create an API key.\n */\nclass APIKeyCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyCreateData.attributeTypeMap;\n    }\n}\nexports.APIKeyCreateData = APIKeyCreateData;\n/**\n * @ignore\n */\nAPIKeyCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"APIKeyCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"APIKeysType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyCreateRequest = void 0;\n/**\n * Request used to create an API key.\n */\nclass APIKeyCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyCreateRequest.attributeTypeMap;\n    }\n}\nexports.APIKeyCreateRequest = APIKeyCreateRequest;\n/**\n * @ignore\n */\nAPIKeyCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"APIKeyCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyRelationships = void 0;\n/**\n * Resources related to the API key.\n */\nclass APIKeyRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyRelationships.attributeTypeMap;\n    }\n}\nexports.APIKeyRelationships = APIKeyRelationships;\n/**\n * @ignore\n */\nAPIKeyRelationships.attributeTypeMap = {\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"RelationshipToUser\",\n    },\n    modifiedBy: {\n        baseName: \"modified_by\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=APIKeyRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyResponse = void 0;\n/**\n * Response for retrieving an API key.\n */\nclass APIKeyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyResponse.attributeTypeMap;\n    }\n}\nexports.APIKeyResponse = APIKeyResponse;\n/**\n * @ignore\n */\nAPIKeyResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FullAPIKey\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=APIKeyResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyUpdateAttributes = void 0;\n/**\n * Attributes used to update an API Key.\n */\nclass APIKeyUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.APIKeyUpdateAttributes = APIKeyUpdateAttributes;\n/**\n * @ignore\n */\nAPIKeyUpdateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyUpdateData = void 0;\n/**\n * Object used to update an API key.\n */\nclass APIKeyUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyUpdateData.attributeTypeMap;\n    }\n}\nexports.APIKeyUpdateData = APIKeyUpdateData;\n/**\n * @ignore\n */\nAPIKeyUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"APIKeyUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"APIKeysType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeyUpdateRequest = void 0;\n/**\n * Request used to update an API key.\n */\nclass APIKeyUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeyUpdateRequest.attributeTypeMap;\n    }\n}\nexports.APIKeyUpdateRequest = APIKeyUpdateRequest;\n/**\n * @ignore\n */\nAPIKeyUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"APIKeyUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=APIKeyUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIKeysResponse = void 0;\n/**\n * Response for a list of API keys.\n */\nclass APIKeysResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return APIKeysResponse.attributeTypeMap;\n    }\n}\nexports.APIKeysResponse = APIKeysResponse;\n/**\n * @ignore\n */\nAPIKeysResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=APIKeysResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyCreateAttributes = void 0;\n/**\n * Attributes used to create an application Key.\n */\nclass ApplicationKeyCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyCreateAttributes.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyCreateAttributes = ApplicationKeyCreateAttributes;\n/**\n * @ignore\n */\nApplicationKeyCreateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    scopes: {\n        baseName: \"scopes\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyCreateData = void 0;\n/**\n * Object used to create an application key.\n */\nclass ApplicationKeyCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyCreateData.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyCreateData = ApplicationKeyCreateData;\n/**\n * @ignore\n */\nApplicationKeyCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ApplicationKeyCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ApplicationKeysType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ApplicationKeyCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyCreateRequest = void 0;\n/**\n * Request used to create an application key.\n */\nclass ApplicationKeyCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyCreateRequest.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyCreateRequest = ApplicationKeyCreateRequest;\n/**\n * @ignore\n */\nApplicationKeyCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ApplicationKeyCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ApplicationKeyCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyRelationships = void 0;\n/**\n * Resources related to the application key.\n */\nclass ApplicationKeyRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyRelationships.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyRelationships = ApplicationKeyRelationships;\n/**\n * @ignore\n */\nApplicationKeyRelationships.attributeTypeMap = {\n    ownedBy: {\n        baseName: \"owned_by\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyResponse = void 0;\n/**\n * Response for retrieving an application key.\n */\nclass ApplicationKeyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyResponse.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyResponse = ApplicationKeyResponse;\n/**\n * @ignore\n */\nApplicationKeyResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FullApplicationKey\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyUpdateAttributes = void 0;\n/**\n * Attributes used to update an application Key.\n */\nclass ApplicationKeyUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyUpdateAttributes = ApplicationKeyUpdateAttributes;\n/**\n * @ignore\n */\nApplicationKeyUpdateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    scopes: {\n        baseName: \"scopes\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ApplicationKeyUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyUpdateData = void 0;\n/**\n * Object used to update an application key.\n */\nclass ApplicationKeyUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyUpdateData.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyUpdateData = ApplicationKeyUpdateData;\n/**\n * @ignore\n */\nApplicationKeyUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ApplicationKeyUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ApplicationKeysType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ApplicationKeyUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationKeyUpdateRequest = void 0;\n/**\n * Request used to update an application key.\n */\nclass ApplicationKeyUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ApplicationKeyUpdateRequest.attributeTypeMap;\n    }\n}\nexports.ApplicationKeyUpdateRequest = ApplicationKeyUpdateRequest;\n/**\n * @ignore\n */\nApplicationKeyUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ApplicationKeyUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ApplicationKeyUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsEvent = void 0;\n/**\n * Object description of an Audit Logs event after it is processed and stored by Datadog.\n */\nclass AuditLogsEvent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsEvent.attributeTypeMap;\n    }\n}\nexports.AuditLogsEvent = AuditLogsEvent;\n/**\n * @ignore\n */\nAuditLogsEvent.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"AuditLogsEventAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AuditLogsEventType\",\n    },\n};\n//# sourceMappingURL=AuditLogsEvent.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsEventAttributes = void 0;\n/**\n * JSON object containing all event attributes and their associated values.\n */\nclass AuditLogsEventAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsEventAttributes.attributeTypeMap;\n    }\n}\nexports.AuditLogsEventAttributes = AuditLogsEventAttributes;\n/**\n * @ignore\n */\nAuditLogsEventAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=AuditLogsEventAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsEventsResponse = void 0;\n/**\n * Response object with all events matching the request and pagination information.\n */\nclass AuditLogsEventsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsEventsResponse.attributeTypeMap;\n    }\n}\nexports.AuditLogsEventsResponse = AuditLogsEventsResponse;\n/**\n * @ignore\n */\nAuditLogsEventsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"AuditLogsResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"AuditLogsResponseMetadata\",\n    },\n};\n//# sourceMappingURL=AuditLogsEventsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsQueryFilter = void 0;\n/**\n * Search and filter query settings.\n */\nclass AuditLogsQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsQueryFilter.attributeTypeMap;\n    }\n}\nexports.AuditLogsQueryFilter = AuditLogsQueryFilter;\n/**\n * @ignore\n */\nAuditLogsQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuditLogsQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsQueryOptions = void 0;\n/**\n * Global query options that are used during the query.\n * Note: Specify either timezone or time offset, not both. Otherwise, the query fails.\n */\nclass AuditLogsQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsQueryOptions.attributeTypeMap;\n    }\n}\nexports.AuditLogsQueryOptions = AuditLogsQueryOptions;\n/**\n * @ignore\n */\nAuditLogsQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"time_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuditLogsQueryOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsQueryPageOptions = void 0;\n/**\n * Paging attributes for listing events.\n */\nclass AuditLogsQueryPageOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsQueryPageOptions.attributeTypeMap;\n    }\n}\nexports.AuditLogsQueryPageOptions = AuditLogsQueryPageOptions;\n/**\n * @ignore\n */\nAuditLogsQueryPageOptions.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=AuditLogsQueryPageOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass AuditLogsResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsResponseLinks.attributeTypeMap;\n    }\n}\nexports.AuditLogsResponseLinks = AuditLogsResponseLinks;\n/**\n * @ignore\n */\nAuditLogsResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuditLogsResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass AuditLogsResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsResponseMetadata.attributeTypeMap;\n    }\n}\nexports.AuditLogsResponseMetadata = AuditLogsResponseMetadata;\n/**\n * @ignore\n */\nAuditLogsResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"AuditLogsResponsePage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"AuditLogsResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=AuditLogsResponseMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsResponsePage = void 0;\n/**\n * Paging attributes.\n */\nclass AuditLogsResponsePage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsResponsePage.attributeTypeMap;\n    }\n}\nexports.AuditLogsResponsePage = AuditLogsResponsePage;\n/**\n * @ignore\n */\nAuditLogsResponsePage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuditLogsResponsePage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsSearchEventsRequest = void 0;\n/**\n * The request for a Audit Logs events list.\n */\nclass AuditLogsSearchEventsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsSearchEventsRequest.attributeTypeMap;\n    }\n}\nexports.AuditLogsSearchEventsRequest = AuditLogsSearchEventsRequest;\n/**\n * @ignore\n */\nAuditLogsSearchEventsRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"AuditLogsQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"AuditLogsQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"AuditLogsQueryPageOptions\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"AuditLogsSort\",\n    },\n};\n//# sourceMappingURL=AuditLogsSearchEventsRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuditLogsWarning = void 0;\n/**\n * Warning message indicating something that went wrong with the query.\n */\nclass AuditLogsWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuditLogsWarning.attributeTypeMap;\n    }\n}\nexports.AuditLogsWarning = AuditLogsWarning;\n/**\n * @ignore\n */\nAuditLogsWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuditLogsWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMapping = void 0;\n/**\n * The AuthN Mapping object returned by API.\n */\nclass AuthNMapping {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMapping.attributeTypeMap;\n    }\n}\nexports.AuthNMapping = AuthNMapping;\n/**\n * @ignore\n */\nAuthNMapping.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"AuthNMappingAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"AuthNMappingRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AuthNMappingsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AuthNMapping.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingAttributes = void 0;\n/**\n * Attributes of AuthN Mapping.\n */\nclass AuthNMappingAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingAttributes.attributeTypeMap;\n    }\n}\nexports.AuthNMappingAttributes = AuthNMappingAttributes;\n/**\n * @ignore\n */\nAuthNMappingAttributes.attributeTypeMap = {\n    attributeKey: {\n        baseName: \"attribute_key\",\n        type: \"string\",\n    },\n    attributeValue: {\n        baseName: \"attribute_value\",\n        type: \"string\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    samlAssertionAttributeId: {\n        baseName: \"saml_assertion_attribute_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuthNMappingAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingCreateAttributes = void 0;\n/**\n * Key/Value pair of attributes used for create request.\n */\nclass AuthNMappingCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingCreateAttributes.attributeTypeMap;\n    }\n}\nexports.AuthNMappingCreateAttributes = AuthNMappingCreateAttributes;\n/**\n * @ignore\n */\nAuthNMappingCreateAttributes.attributeTypeMap = {\n    attributeKey: {\n        baseName: \"attribute_key\",\n        type: \"string\",\n    },\n    attributeValue: {\n        baseName: \"attribute_value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuthNMappingCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingCreateData = void 0;\n/**\n * Data for creating an AuthN Mapping.\n */\nclass AuthNMappingCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingCreateData.attributeTypeMap;\n    }\n}\nexports.AuthNMappingCreateData = AuthNMappingCreateData;\n/**\n * @ignore\n */\nAuthNMappingCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"AuthNMappingCreateAttributes\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"AuthNMappingCreateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AuthNMappingsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AuthNMappingCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingCreateRelationships = void 0;\n/**\n * Relationship of AuthN Mapping create object to Role.\n */\nclass AuthNMappingCreateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingCreateRelationships.attributeTypeMap;\n    }\n}\nexports.AuthNMappingCreateRelationships = AuthNMappingCreateRelationships;\n/**\n * @ignore\n */\nAuthNMappingCreateRelationships.attributeTypeMap = {\n    role: {\n        baseName: \"role\",\n        type: \"RelationshipToRole\",\n    },\n};\n//# sourceMappingURL=AuthNMappingCreateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingCreateRequest = void 0;\n/**\n * Request for creating an AuthN Mapping.\n */\nclass AuthNMappingCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingCreateRequest.attributeTypeMap;\n    }\n}\nexports.AuthNMappingCreateRequest = AuthNMappingCreateRequest;\n/**\n * @ignore\n */\nAuthNMappingCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"AuthNMappingCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AuthNMappingCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingRelationships = void 0;\n/**\n * All relationships associated with AuthN Mapping.\n */\nclass AuthNMappingRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingRelationships.attributeTypeMap;\n    }\n}\nexports.AuthNMappingRelationships = AuthNMappingRelationships;\n/**\n * @ignore\n */\nAuthNMappingRelationships.attributeTypeMap = {\n    role: {\n        baseName: \"role\",\n        type: \"RelationshipToRole\",\n    },\n    samlAssertionAttribute: {\n        baseName: \"saml_assertion_attribute\",\n        type: \"RelationshipToSAMLAssertionAttribute\",\n    },\n};\n//# sourceMappingURL=AuthNMappingRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingResponse = void 0;\n/**\n * AuthN Mapping response from the API.\n */\nclass AuthNMappingResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingResponse.attributeTypeMap;\n    }\n}\nexports.AuthNMappingResponse = AuthNMappingResponse;\n/**\n * @ignore\n */\nAuthNMappingResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"AuthNMapping\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=AuthNMappingResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingUpdateAttributes = void 0;\n/**\n * Key/Value pair of attributes used for update request.\n */\nclass AuthNMappingUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.AuthNMappingUpdateAttributes = AuthNMappingUpdateAttributes;\n/**\n * @ignore\n */\nAuthNMappingUpdateAttributes.attributeTypeMap = {\n    attributeKey: {\n        baseName: \"attribute_key\",\n        type: \"string\",\n    },\n    attributeValue: {\n        baseName: \"attribute_value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=AuthNMappingUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingUpdateData = void 0;\n/**\n * Data for updating an AuthN Mapping.\n */\nclass AuthNMappingUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingUpdateData.attributeTypeMap;\n    }\n}\nexports.AuthNMappingUpdateData = AuthNMappingUpdateData;\n/**\n * @ignore\n */\nAuthNMappingUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"AuthNMappingUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"AuthNMappingUpdateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"AuthNMappingsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AuthNMappingUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingUpdateRelationships = void 0;\n/**\n * Relationship of AuthN Mapping update object to Role.\n */\nclass AuthNMappingUpdateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingUpdateRelationships.attributeTypeMap;\n    }\n}\nexports.AuthNMappingUpdateRelationships = AuthNMappingUpdateRelationships;\n/**\n * @ignore\n */\nAuthNMappingUpdateRelationships.attributeTypeMap = {\n    role: {\n        baseName: \"role\",\n        type: \"RelationshipToRole\",\n    },\n};\n//# sourceMappingURL=AuthNMappingUpdateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingUpdateRequest = void 0;\n/**\n * Request to update an AuthN Mapping.\n */\nclass AuthNMappingUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingUpdateRequest.attributeTypeMap;\n    }\n}\nexports.AuthNMappingUpdateRequest = AuthNMappingUpdateRequest;\n/**\n * @ignore\n */\nAuthNMappingUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"AuthNMappingUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=AuthNMappingUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthNMappingsResponse = void 0;\n/**\n * Array of AuthN Mappings response.\n */\nclass AuthNMappingsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return AuthNMappingsResponse.attributeTypeMap;\n    }\n}\nexports.AuthNMappingsResponse = AuthNMappingsResponse;\n/**\n * @ignore\n */\nAuthNMappingsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ResponseMetaAttributes\",\n    },\n};\n//# sourceMappingURL=AuthNMappingsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppAggregateBucketValueTimeseriesPoint = void 0;\n/**\n * A timeseries point.\n */\nclass CIAppAggregateBucketValueTimeseriesPoint {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppAggregateBucketValueTimeseriesPoint.attributeTypeMap;\n    }\n}\nexports.CIAppAggregateBucketValueTimeseriesPoint = CIAppAggregateBucketValueTimeseriesPoint;\n/**\n * @ignore\n */\nCIAppAggregateBucketValueTimeseriesPoint.attributeTypeMap = {\n    time: {\n        baseName: \"time\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=CIAppAggregateBucketValueTimeseriesPoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppAggregateSort = void 0;\n/**\n * A sort rule.\n */\nclass CIAppAggregateSort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppAggregateSort.attributeTypeMap;\n    }\n}\nexports.CIAppAggregateSort = CIAppAggregateSort;\n/**\n * @ignore\n */\nCIAppAggregateSort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"CIAppAggregationFunction\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"CIAppSortOrder\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CIAppAggregateSortType\",\n    },\n};\n//# sourceMappingURL=CIAppAggregateSort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppCIError = void 0;\n/**\n * Contains information of the CI error.\n */\nclass CIAppCIError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppCIError.attributeTypeMap;\n    }\n}\nexports.CIAppCIError = CIAppCIError;\n/**\n * @ignore\n */\nCIAppCIError.attributeTypeMap = {\n    domain: {\n        baseName: \"domain\",\n        type: \"CIAppCIErrorDomain\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    stack: {\n        baseName: \"stack\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppCIError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppCompute = void 0;\n/**\n * A compute rule to compute metrics or timeseries.\n */\nclass CIAppCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppCompute.attributeTypeMap;\n    }\n}\nexports.CIAppCompute = CIAppCompute;\n/**\n * @ignore\n */\nCIAppCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"CIAppAggregationFunction\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CIAppComputeType\",\n    },\n};\n//# sourceMappingURL=CIAppCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppCreatePipelineEventRequest = void 0;\n/**\n * Request object.\n */\nclass CIAppCreatePipelineEventRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppCreatePipelineEventRequest.attributeTypeMap;\n    }\n}\nexports.CIAppCreatePipelineEventRequest = CIAppCreatePipelineEventRequest;\n/**\n * @ignore\n */\nCIAppCreatePipelineEventRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CIAppCreatePipelineEventRequestData\",\n    },\n};\n//# sourceMappingURL=CIAppCreatePipelineEventRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppCreatePipelineEventRequestAttributes = void 0;\n/**\n * Attributes of the pipeline event to create.\n */\nclass CIAppCreatePipelineEventRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppCreatePipelineEventRequestAttributes.attributeTypeMap;\n    }\n}\nexports.CIAppCreatePipelineEventRequestAttributes = CIAppCreatePipelineEventRequestAttributes;\n/**\n * @ignore\n */\nCIAppCreatePipelineEventRequestAttributes.attributeTypeMap = {\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"CIAppCreatePipelineEventRequestAttributesResource\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppCreatePipelineEventRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppCreatePipelineEventRequestData = void 0;\n/**\n * Data of the pipeline event to create.\n */\nclass CIAppCreatePipelineEventRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppCreatePipelineEventRequestData.attributeTypeMap;\n    }\n}\nexports.CIAppCreatePipelineEventRequestData = CIAppCreatePipelineEventRequestData;\n/**\n * @ignore\n */\nCIAppCreatePipelineEventRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CIAppCreatePipelineEventRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CIAppCreatePipelineEventRequestDataType\",\n    },\n};\n//# sourceMappingURL=CIAppCreatePipelineEventRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppEventAttributes = void 0;\n/**\n * JSON object containing all event attributes and their associated values.\n */\nclass CIAppEventAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppEventAttributes.attributeTypeMap;\n    }\n}\nexports.CIAppEventAttributes = CIAppEventAttributes;\n/**\n * @ignore\n */\nCIAppEventAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    testLevel: {\n        baseName: \"test_level\",\n        type: \"CIAppTestLevel\",\n    },\n};\n//# sourceMappingURL=CIAppEventAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppGitInfo = void 0;\n/**\n * If pipelines are triggered due to actions to a Git repository, then all payloads must contain this.\n * Note that either `tag` or `branch` has to be provided, but not both.\n */\nclass CIAppGitInfo {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppGitInfo.attributeTypeMap;\n    }\n}\nexports.CIAppGitInfo = CIAppGitInfo;\n/**\n * @ignore\n */\nCIAppGitInfo.attributeTypeMap = {\n    authorEmail: {\n        baseName: \"author_email\",\n        type: \"string\",\n        required: true,\n        format: \"email\",\n    },\n    authorName: {\n        baseName: \"author_name\",\n        type: \"string\",\n    },\n    authorTime: {\n        baseName: \"author_time\",\n        type: \"string\",\n    },\n    branch: {\n        baseName: \"branch\",\n        type: \"string\",\n    },\n    commitTime: {\n        baseName: \"commit_time\",\n        type: \"string\",\n    },\n    committerEmail: {\n        baseName: \"committer_email\",\n        type: \"string\",\n        format: \"email\",\n    },\n    committerName: {\n        baseName: \"committer_name\",\n        type: \"string\",\n    },\n    defaultBranch: {\n        baseName: \"default_branch\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    repositoryUrl: {\n        baseName: \"repository_url\",\n        type: \"string\",\n        required: true,\n    },\n    sha: {\n        baseName: \"sha\",\n        type: \"string\",\n        required: true,\n    },\n    tag: {\n        baseName: \"tag\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppGitInfo.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppGroupByHistogram = void 0;\n/**\n * Used to perform a histogram computation (only for measure facets).\n * At most, 100 buckets are allowed, the number of buckets is `(max - min)/interval`.\n */\nclass CIAppGroupByHistogram {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppGroupByHistogram.attributeTypeMap;\n    }\n}\nexports.CIAppGroupByHistogram = CIAppGroupByHistogram;\n/**\n * @ignore\n */\nCIAppGroupByHistogram.attributeTypeMap = {\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=CIAppGroupByHistogram.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppHostInfo = void 0;\n/**\n * Contains information of the host running the pipeline, stage, job, or step.\n */\nclass CIAppHostInfo {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppHostInfo.attributeTypeMap;\n    }\n}\nexports.CIAppHostInfo = CIAppHostInfo;\n/**\n * @ignore\n */\nCIAppHostInfo.attributeTypeMap = {\n    hostname: {\n        baseName: \"hostname\",\n        type: \"string\",\n    },\n    labels: {\n        baseName: \"labels\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    workspace: {\n        baseName: \"workspace\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppHostInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEvent = void 0;\n/**\n * Object description of a pipeline event after being processed and stored by Datadog.\n */\nclass CIAppPipelineEvent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEvent.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEvent = CIAppPipelineEvent;\n/**\n * @ignore\n */\nCIAppPipelineEvent.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CIAppPipelineEventAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CIAppPipelineEventTypeName\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEvent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventAttributes = void 0;\n/**\n * JSON object containing all event attributes and their associated values.\n */\nclass CIAppPipelineEventAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventAttributes.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventAttributes = CIAppPipelineEventAttributes;\n/**\n * @ignore\n */\nCIAppPipelineEventAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    ciLevel: {\n        baseName: \"ci_level\",\n        type: \"CIAppPipelineLevel\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventJob = void 0;\n/**\n * Details of a CI job.\n */\nclass CIAppPipelineEventJob {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventJob.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventJob = CIAppPipelineEventJob;\n/**\n * @ignore\n */\nCIAppPipelineEventJob.attributeTypeMap = {\n    dependencies: {\n        baseName: \"dependencies\",\n        type: \"Array\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"CIAppCIError\",\n    },\n    git: {\n        baseName: \"git\",\n        type: \"CIAppGitInfo\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    level: {\n        baseName: \"level\",\n        type: \"CIAppPipelineEventJobLevel\",\n        required: true,\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    node: {\n        baseName: \"node\",\n        type: \"CIAppHostInfo\",\n    },\n    parameters: {\n        baseName: \"parameters\",\n        type: \"{ [key: string]: string; }\",\n    },\n    pipelineName: {\n        baseName: \"pipeline_name\",\n        type: \"string\",\n        required: true,\n    },\n    pipelineUniqueId: {\n        baseName: \"pipeline_unique_id\",\n        type: \"string\",\n        required: true,\n    },\n    queueTime: {\n        baseName: \"queue_time\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    stageId: {\n        baseName: \"stage_id\",\n        type: \"string\",\n    },\n    stageName: {\n        baseName: \"stage_name\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppPipelineEventJobStatus\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventJob.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventParentPipeline = void 0;\n/**\n * If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.\n */\nclass CIAppPipelineEventParentPipeline {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventParentPipeline.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventParentPipeline = CIAppPipelineEventParentPipeline;\n/**\n * @ignore\n */\nCIAppPipelineEventParentPipeline.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventParentPipeline.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventPipeline = void 0;\n/**\n * Details of the top level pipeline, build, or workflow of your CI.\n */\nclass CIAppPipelineEventPipeline {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventPipeline.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventPipeline = CIAppPipelineEventPipeline;\n/**\n * @ignore\n */\nCIAppPipelineEventPipeline.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"CIAppCIError\",\n    },\n    git: {\n        baseName: \"git\",\n        type: \"CIAppGitInfo\",\n        required: true,\n    },\n    isManual: {\n        baseName: \"is_manual\",\n        type: \"boolean\",\n    },\n    isResumed: {\n        baseName: \"is_resumed\",\n        type: \"boolean\",\n    },\n    level: {\n        baseName: \"level\",\n        type: \"CIAppPipelineEventPipelineLevel\",\n        required: true,\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    node: {\n        baseName: \"node\",\n        type: \"CIAppHostInfo\",\n    },\n    parameters: {\n        baseName: \"parameters\",\n        type: \"{ [key: string]: string; }\",\n    },\n    parentPipeline: {\n        baseName: \"parent_pipeline\",\n        type: \"CIAppPipelineEventParentPipeline\",\n    },\n    partialRetry: {\n        baseName: \"partial_retry\",\n        type: \"boolean\",\n        required: true,\n    },\n    pipelineId: {\n        baseName: \"pipeline_id\",\n        type: \"string\",\n    },\n    previousAttempt: {\n        baseName: \"previous_attempt\",\n        type: \"CIAppPipelineEventPreviousPipeline\",\n    },\n    queueTime: {\n        baseName: \"queue_time\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppPipelineEventPipelineStatus\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    uniqueId: {\n        baseName: \"unique_id\",\n        type: \"string\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventPipeline.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventPreviousPipeline = void 0;\n/**\n * If the pipeline is a retry, this should contain the details of the previous attempt.\n */\nclass CIAppPipelineEventPreviousPipeline {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventPreviousPipeline.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventPreviousPipeline = CIAppPipelineEventPreviousPipeline;\n/**\n * @ignore\n */\nCIAppPipelineEventPreviousPipeline.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventPreviousPipeline.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventStage = void 0;\n/**\n * Details of a CI stage.\n */\nclass CIAppPipelineEventStage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventStage.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventStage = CIAppPipelineEventStage;\n/**\n * @ignore\n */\nCIAppPipelineEventStage.attributeTypeMap = {\n    dependencies: {\n        baseName: \"dependencies\",\n        type: \"Array\",\n    },\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"CIAppCIError\",\n    },\n    git: {\n        baseName: \"git\",\n        type: \"CIAppGitInfo\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    level: {\n        baseName: \"level\",\n        type: \"CIAppPipelineEventStageLevel\",\n        required: true,\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    node: {\n        baseName: \"node\",\n        type: \"CIAppHostInfo\",\n    },\n    parameters: {\n        baseName: \"parameters\",\n        type: \"{ [key: string]: string; }\",\n    },\n    pipelineName: {\n        baseName: \"pipeline_name\",\n        type: \"string\",\n        required: true,\n    },\n    pipelineUniqueId: {\n        baseName: \"pipeline_unique_id\",\n        type: \"string\",\n        required: true,\n    },\n    queueTime: {\n        baseName: \"queue_time\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppPipelineEventStageStatus\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventStage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventStep = void 0;\n/**\n * Details of a CI step.\n */\nclass CIAppPipelineEventStep {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventStep.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventStep = CIAppPipelineEventStep;\n/**\n * @ignore\n */\nCIAppPipelineEventStep.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    error: {\n        baseName: \"error\",\n        type: \"CIAppCIError\",\n    },\n    git: {\n        baseName: \"git\",\n        type: \"CIAppGitInfo\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    jobId: {\n        baseName: \"job_id\",\n        type: \"string\",\n    },\n    jobName: {\n        baseName: \"job_name\",\n        type: \"string\",\n    },\n    level: {\n        baseName: \"level\",\n        type: \"CIAppPipelineEventStepLevel\",\n        required: true,\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    node: {\n        baseName: \"node\",\n        type: \"CIAppHostInfo\",\n    },\n    parameters: {\n        baseName: \"parameters\",\n        type: \"{ [key: string]: string; }\",\n    },\n    pipelineName: {\n        baseName: \"pipeline_name\",\n        type: \"string\",\n        required: true,\n    },\n    pipelineUniqueId: {\n        baseName: \"pipeline_unique_id\",\n        type: \"string\",\n        required: true,\n    },\n    stageId: {\n        baseName: \"stage_id\",\n        type: \"string\",\n    },\n    stageName: {\n        baseName: \"stage_name\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppPipelineEventStepStatus\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventStep.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventsRequest = void 0;\n/**\n * The request for a pipelines search.\n */\nclass CIAppPipelineEventsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventsRequest.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventsRequest = CIAppPipelineEventsRequest;\n/**\n * @ignore\n */\nCIAppPipelineEventsRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"CIAppPipelinesQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"CIAppQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"CIAppQueryPageOptions\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"CIAppSort\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelineEventsResponse = void 0;\n/**\n * Response object with all pipeline events matching the request and pagination information.\n */\nclass CIAppPipelineEventsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelineEventsResponse.attributeTypeMap;\n    }\n}\nexports.CIAppPipelineEventsResponse = CIAppPipelineEventsResponse;\n/**\n * @ignore\n */\nCIAppPipelineEventsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"CIAppResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"CIAppResponseMetadataWithPagination\",\n    },\n};\n//# sourceMappingURL=CIAppPipelineEventsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesAggregateRequest = void 0;\n/**\n * The object sent with the request to retrieve aggregation buckets of pipeline events from your organization.\n */\nclass CIAppPipelinesAggregateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesAggregateRequest.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesAggregateRequest = CIAppPipelinesAggregateRequest;\n/**\n * @ignore\n */\nCIAppPipelinesAggregateRequest.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"CIAppPipelinesQueryFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"CIAppQueryOptions\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesAggregateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesAggregationBucketsResponse = void 0;\n/**\n * The query results.\n */\nclass CIAppPipelinesAggregationBucketsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesAggregationBucketsResponse.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesAggregationBucketsResponse = CIAppPipelinesAggregationBucketsResponse;\n/**\n * @ignore\n */\nCIAppPipelinesAggregationBucketsResponse.attributeTypeMap = {\n    buckets: {\n        baseName: \"buckets\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesAggregationBucketsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesAnalyticsAggregateResponse = void 0;\n/**\n * The response object for the pipeline events aggregate API endpoint.\n */\nclass CIAppPipelinesAnalyticsAggregateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesAnalyticsAggregateResponse.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesAnalyticsAggregateResponse = CIAppPipelinesAnalyticsAggregateResponse;\n/**\n * @ignore\n */\nCIAppPipelinesAnalyticsAggregateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CIAppPipelinesAggregationBucketsResponse\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"CIAppResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"CIAppResponseMetadata\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesAnalyticsAggregateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesBucketResponse = void 0;\n/**\n * Bucket values.\n */\nclass CIAppPipelinesBucketResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesBucketResponse.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesBucketResponse = CIAppPipelinesBucketResponse;\n/**\n * @ignore\n */\nCIAppPipelinesBucketResponse.attributeTypeMap = {\n    by: {\n        baseName: \"by\",\n        type: \"{ [key: string]: any; }\",\n    },\n    computes: {\n        baseName: \"computes\",\n        type: \"{ [key: string]: CIAppAggregateBucketValue; }\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesBucketResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesGroupBy = void 0;\n/**\n * A group-by rule.\n */\nclass CIAppPipelinesGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesGroupBy.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesGroupBy = CIAppPipelinesGroupBy;\n/**\n * @ignore\n */\nCIAppPipelinesGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    histogram: {\n        baseName: \"histogram\",\n        type: \"CIAppGroupByHistogram\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    missing: {\n        baseName: \"missing\",\n        type: \"CIAppGroupByMissing\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"CIAppAggregateSort\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"CIAppGroupByTotal\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesGroupBy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppPipelinesQueryFilter = void 0;\n/**\n * The search and filter query settings.\n */\nclass CIAppPipelinesQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppPipelinesQueryFilter.attributeTypeMap;\n    }\n}\nexports.CIAppPipelinesQueryFilter = CIAppPipelinesQueryFilter;\n/**\n * @ignore\n */\nCIAppPipelinesQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppPipelinesQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppQueryOptions = void 0;\n/**\n * Global query options that are used during the query.\n * Only supply timezone or time offset, not both. Otherwise, the query fails.\n */\nclass CIAppQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppQueryOptions.attributeTypeMap;\n    }\n}\nexports.CIAppQueryOptions = CIAppQueryOptions;\n/**\n * @ignore\n */\nCIAppQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"time_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppQueryOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppQueryPageOptions = void 0;\n/**\n * Paging attributes for listing events.\n */\nclass CIAppQueryPageOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppQueryPageOptions.attributeTypeMap;\n    }\n}\nexports.CIAppQueryPageOptions = CIAppQueryPageOptions;\n/**\n * @ignore\n */\nCIAppQueryPageOptions.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=CIAppQueryPageOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass CIAppResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppResponseLinks.attributeTypeMap;\n    }\n}\nexports.CIAppResponseLinks = CIAppResponseLinks;\n/**\n * @ignore\n */\nCIAppResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass CIAppResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppResponseMetadata.attributeTypeMap;\n    }\n}\nexports.CIAppResponseMetadata = CIAppResponseMetadata;\n/**\n * @ignore\n */\nCIAppResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppResponseMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppResponseMetadataWithPagination = void 0;\n/**\n * The metadata associated with a request.\n */\nclass CIAppResponseMetadataWithPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppResponseMetadataWithPagination.attributeTypeMap;\n    }\n}\nexports.CIAppResponseMetadataWithPagination = CIAppResponseMetadataWithPagination;\n/**\n * @ignore\n */\nCIAppResponseMetadataWithPagination.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"CIAppResponsePage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"CIAppResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppResponseMetadataWithPagination.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppResponsePage = void 0;\n/**\n * Paging attributes.\n */\nclass CIAppResponsePage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppResponsePage.attributeTypeMap;\n    }\n}\nexports.CIAppResponsePage = CIAppResponsePage;\n/**\n * @ignore\n */\nCIAppResponsePage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppResponsePage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestEvent = void 0;\n/**\n * Object description of test event after being processed and stored by Datadog.\n */\nclass CIAppTestEvent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestEvent.attributeTypeMap;\n    }\n}\nexports.CIAppTestEvent = CIAppTestEvent;\n/**\n * @ignore\n */\nCIAppTestEvent.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CIAppEventAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CIAppTestEventTypeName\",\n    },\n};\n//# sourceMappingURL=CIAppTestEvent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestEventsRequest = void 0;\n/**\n * The request for a tests search.\n */\nclass CIAppTestEventsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestEventsRequest.attributeTypeMap;\n    }\n}\nexports.CIAppTestEventsRequest = CIAppTestEventsRequest;\n/**\n * @ignore\n */\nCIAppTestEventsRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"CIAppTestsQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"CIAppQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"CIAppQueryPageOptions\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"CIAppSort\",\n    },\n};\n//# sourceMappingURL=CIAppTestEventsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestEventsResponse = void 0;\n/**\n * Response object with all test events matching the request and pagination information.\n */\nclass CIAppTestEventsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestEventsResponse.attributeTypeMap;\n    }\n}\nexports.CIAppTestEventsResponse = CIAppTestEventsResponse;\n/**\n * @ignore\n */\nCIAppTestEventsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"CIAppResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"CIAppResponseMetadataWithPagination\",\n    },\n};\n//# sourceMappingURL=CIAppTestEventsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsAggregateRequest = void 0;\n/**\n * The object sent with the request to retrieve aggregation buckets of test events from your organization.\n */\nclass CIAppTestsAggregateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsAggregateRequest.attributeTypeMap;\n    }\n}\nexports.CIAppTestsAggregateRequest = CIAppTestsAggregateRequest;\n/**\n * @ignore\n */\nCIAppTestsAggregateRequest.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"CIAppTestsQueryFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"CIAppQueryOptions\",\n    },\n};\n//# sourceMappingURL=CIAppTestsAggregateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsAggregationBucketsResponse = void 0;\n/**\n * The query results.\n */\nclass CIAppTestsAggregationBucketsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsAggregationBucketsResponse.attributeTypeMap;\n    }\n}\nexports.CIAppTestsAggregationBucketsResponse = CIAppTestsAggregationBucketsResponse;\n/**\n * @ignore\n */\nCIAppTestsAggregationBucketsResponse.attributeTypeMap = {\n    buckets: {\n        baseName: \"buckets\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CIAppTestsAggregationBucketsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsAnalyticsAggregateResponse = void 0;\n/**\n * The response object for the test events aggregate API endpoint.\n */\nclass CIAppTestsAnalyticsAggregateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsAnalyticsAggregateResponse.attributeTypeMap;\n    }\n}\nexports.CIAppTestsAnalyticsAggregateResponse = CIAppTestsAnalyticsAggregateResponse;\n/**\n * @ignore\n */\nCIAppTestsAnalyticsAggregateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CIAppTestsAggregationBucketsResponse\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"CIAppResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"CIAppResponseMetadataWithPagination\",\n    },\n};\n//# sourceMappingURL=CIAppTestsAnalyticsAggregateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsBucketResponse = void 0;\n/**\n * Bucket values.\n */\nclass CIAppTestsBucketResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsBucketResponse.attributeTypeMap;\n    }\n}\nexports.CIAppTestsBucketResponse = CIAppTestsBucketResponse;\n/**\n * @ignore\n */\nCIAppTestsBucketResponse.attributeTypeMap = {\n    by: {\n        baseName: \"by\",\n        type: \"{ [key: string]: any; }\",\n    },\n    computes: {\n        baseName: \"computes\",\n        type: \"{ [key: string]: CIAppAggregateBucketValue; }\",\n    },\n};\n//# sourceMappingURL=CIAppTestsBucketResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsGroupBy = void 0;\n/**\n * A group-by rule.\n */\nclass CIAppTestsGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsGroupBy.attributeTypeMap;\n    }\n}\nexports.CIAppTestsGroupBy = CIAppTestsGroupBy;\n/**\n * @ignore\n */\nCIAppTestsGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    histogram: {\n        baseName: \"histogram\",\n        type: \"CIAppGroupByHistogram\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    missing: {\n        baseName: \"missing\",\n        type: \"CIAppGroupByMissing\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"CIAppAggregateSort\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"CIAppGroupByTotal\",\n    },\n};\n//# sourceMappingURL=CIAppTestsGroupBy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppTestsQueryFilter = void 0;\n/**\n * The search and filter query settings.\n */\nclass CIAppTestsQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppTestsQueryFilter.attributeTypeMap;\n    }\n}\nexports.CIAppTestsQueryFilter = CIAppTestsQueryFilter;\n/**\n * @ignore\n */\nCIAppTestsQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppTestsQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CIAppWarning = void 0;\n/**\n * A warning message indicating something that went wrong with the query.\n */\nclass CIAppWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CIAppWarning.attributeTypeMap;\n    }\n}\nexports.CIAppWarning = CIAppWarning;\n/**\n * @ignore\n */\nCIAppWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CIAppWarning.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChargebackBreakdown = void 0;\n/**\n * Charges breakdown.\n */\nclass ChargebackBreakdown {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ChargebackBreakdown.attributeTypeMap;\n    }\n}\nexports.ChargebackBreakdown = ChargebackBreakdown;\n/**\n * @ignore\n */\nChargebackBreakdown.attributeTypeMap = {\n    chargeType: {\n        baseName: \"charge_type\",\n        type: \"string\",\n    },\n    cost: {\n        baseName: \"cost\",\n        type: \"number\",\n        format: \"double\",\n    },\n    productName: {\n        baseName: \"product_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ChargebackBreakdown.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationComplianceRuleOptions = void 0;\n/**\n * Options for cloud_configuration rules.\n * Fields `resourceType` and `regoRule` are mandatory when managing custom `cloud_configuration` rules.\n */\nclass CloudConfigurationComplianceRuleOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationComplianceRuleOptions.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationComplianceRuleOptions = CloudConfigurationComplianceRuleOptions;\n/**\n * @ignore\n */\nCloudConfigurationComplianceRuleOptions.attributeTypeMap = {\n    complexRule: {\n        baseName: \"complexRule\",\n        type: \"boolean\",\n    },\n    regoRule: {\n        baseName: \"regoRule\",\n        type: \"CloudConfigurationRegoRule\",\n    },\n    resourceType: {\n        baseName: \"resourceType\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CloudConfigurationComplianceRuleOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationRegoRule = void 0;\n/**\n * Rule details.\n */\nclass CloudConfigurationRegoRule {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationRegoRule.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationRegoRule = CloudConfigurationRegoRule;\n/**\n * @ignore\n */\nCloudConfigurationRegoRule.attributeTypeMap = {\n    policy: {\n        baseName: \"policy\",\n        type: \"string\",\n        required: true,\n    },\n    resourceTypes: {\n        baseName: \"resourceTypes\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudConfigurationRegoRule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationRuleCaseCreate = void 0;\n/**\n * Description of signals.\n */\nclass CloudConfigurationRuleCaseCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationRuleCaseCreate.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationRuleCaseCreate = CloudConfigurationRuleCaseCreate;\n/**\n * @ignore\n */\nCloudConfigurationRuleCaseCreate.attributeTypeMap = {\n    notifications: {\n        baseName: \"notifications\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SecurityMonitoringRuleSeverity\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudConfigurationRuleCaseCreate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationRuleComplianceSignalOptions = void 0;\n/**\n * How to generate compliance signals. Useful for cloud_configuration rules only.\n */\nclass CloudConfigurationRuleComplianceSignalOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationRuleComplianceSignalOptions.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationRuleComplianceSignalOptions = CloudConfigurationRuleComplianceSignalOptions;\n/**\n * @ignore\n */\nCloudConfigurationRuleComplianceSignalOptions.attributeTypeMap = {\n    defaultActivationStatus: {\n        baseName: \"defaultActivationStatus\",\n        type: \"boolean\",\n    },\n    defaultGroupByFields: {\n        baseName: \"defaultGroupByFields\",\n        type: \"Array\",\n    },\n    userActivationStatus: {\n        baseName: \"userActivationStatus\",\n        type: \"boolean\",\n    },\n    userGroupByFields: {\n        baseName: \"userGroupByFields\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CloudConfigurationRuleComplianceSignalOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationRuleCreatePayload = void 0;\n/**\n * Create a new cloud configuration rule.\n */\nclass CloudConfigurationRuleCreatePayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationRuleCreatePayload.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationRuleCreatePayload = CloudConfigurationRuleCreatePayload;\n/**\n * @ignore\n */\nCloudConfigurationRuleCreatePayload.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n        required: true,\n    },\n    complianceSignalOptions: {\n        baseName: \"complianceSignalOptions\",\n        type: \"CloudConfigurationRuleComplianceSignalOptions\",\n        required: true,\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    options: {\n        baseName: \"options\",\n        type: \"CloudConfigurationRuleOptions\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudConfigurationRuleType\",\n    },\n};\n//# sourceMappingURL=CloudConfigurationRuleCreatePayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudConfigurationRuleOptions = void 0;\n/**\n * Options on cloud configuration rules.\n */\nclass CloudConfigurationRuleOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudConfigurationRuleOptions.attributeTypeMap;\n    }\n}\nexports.CloudConfigurationRuleOptions = CloudConfigurationRuleOptions;\n/**\n * @ignore\n */\nCloudConfigurationRuleOptions.attributeTypeMap = {\n    complianceRuleOptions: {\n        baseName: \"complianceRuleOptions\",\n        type: \"CloudConfigurationComplianceRuleOptions\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudConfigurationRuleOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleAttributes = void 0;\n/**\n * A Cloud Workload Security Agent rule returned by the API.\n */\nclass CloudWorkloadSecurityAgentRuleAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleAttributes.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleAttributes = CloudWorkloadSecurityAgentRuleAttributes;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleAttributes.attributeTypeMap = {\n    agentConstraint: {\n        baseName: \"agentConstraint\",\n        type: \"string\",\n    },\n    category: {\n        baseName: \"category\",\n        type: \"string\",\n    },\n    creationAuthorUuId: {\n        baseName: \"creationAuthorUuId\",\n        type: \"string\",\n    },\n    creationDate: {\n        baseName: \"creationDate\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creator: {\n        baseName: \"creator\",\n        type: \"CloudWorkloadSecurityAgentRuleCreatorAttributes\",\n    },\n    defaultRule: {\n        baseName: \"defaultRule\",\n        type: \"boolean\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    updateAuthorUuId: {\n        baseName: \"updateAuthorUuId\",\n        type: \"string\",\n    },\n    updateDate: {\n        baseName: \"updateDate\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    updatedAt: {\n        baseName: \"updatedAt\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    updater: {\n        baseName: \"updater\",\n        type: \"CloudWorkloadSecurityAgentRuleUpdaterAttributes\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleCreateAttributes = void 0;\n/**\n * Create a new Cloud Workload Security Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleCreateAttributes.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleCreateAttributes = CloudWorkloadSecurityAgentRuleCreateAttributes;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleCreateAttributes.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleCreateData = void 0;\n/**\n * Object for a single Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleCreateData.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleCreateData = CloudWorkloadSecurityAgentRuleCreateData;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudWorkloadSecurityAgentRuleCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudWorkloadSecurityAgentRuleType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleCreateRequest = void 0;\n/**\n * Request object that includes the Agent rule to create.\n */\nclass CloudWorkloadSecurityAgentRuleCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleCreateRequest.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleCreateRequest = CloudWorkloadSecurityAgentRuleCreateRequest;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudWorkloadSecurityAgentRuleCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleCreatorAttributes = void 0;\n/**\n * The attributes of the user who created the Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleCreatorAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleCreatorAttributes.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleCreatorAttributes = CloudWorkloadSecurityAgentRuleCreatorAttributes;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleCreatorAttributes.attributeTypeMap = {\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleCreatorAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleData = void 0;\n/**\n * Object for a single Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleData.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleData = CloudWorkloadSecurityAgentRuleData;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudWorkloadSecurityAgentRuleAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudWorkloadSecurityAgentRuleType\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleResponse = void 0;\n/**\n * Response object that includes an Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleResponse.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleResponse = CloudWorkloadSecurityAgentRuleResponse;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudWorkloadSecurityAgentRuleData\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleUpdateAttributes = void 0;\n/**\n * Update an existing Cloud Workload Security Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleUpdateAttributes = CloudWorkloadSecurityAgentRuleUpdateAttributes;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleUpdateAttributes.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n    expression: {\n        baseName: \"expression\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleUpdateData = void 0;\n/**\n * Object for a single Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleUpdateData.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleUpdateData = CloudWorkloadSecurityAgentRuleUpdateData;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudWorkloadSecurityAgentRuleUpdateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudWorkloadSecurityAgentRuleType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleUpdateRequest = void 0;\n/**\n * Request object that includes the Agent rule with the attributes to update.\n */\nclass CloudWorkloadSecurityAgentRuleUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleUpdateRequest.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleUpdateRequest = CloudWorkloadSecurityAgentRuleUpdateRequest;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudWorkloadSecurityAgentRuleUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = void 0;\n/**\n * The attributes of the user who last updated the Agent rule.\n */\nclass CloudWorkloadSecurityAgentRuleUpdaterAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRuleUpdaterAttributes.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRuleUpdaterAttributes = CloudWorkloadSecurityAgentRuleUpdaterAttributes;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRuleUpdaterAttributes.attributeTypeMap = {\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRuleUpdaterAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudWorkloadSecurityAgentRulesListResponse = void 0;\n/**\n * Response object that includes a list of Agent rule.\n */\nclass CloudWorkloadSecurityAgentRulesListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudWorkloadSecurityAgentRulesListResponse.attributeTypeMap;\n    }\n}\nexports.CloudWorkloadSecurityAgentRulesListResponse = CloudWorkloadSecurityAgentRulesListResponse;\n/**\n * @ignore\n */\nCloudWorkloadSecurityAgentRulesListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CloudWorkloadSecurityAgentRulesListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountCreateRequest = void 0;\n/**\n * Payload schema when adding a Cloudflare account.\n */\nclass CloudflareAccountCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountCreateRequest.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountCreateRequest = CloudflareAccountCreateRequest;\n/**\n * @ignore\n */\nCloudflareAccountCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudflareAccountCreateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountCreateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountCreateRequestAttributes = void 0;\n/**\n * Attributes object for creating a Cloudflare account.\n */\nclass CloudflareAccountCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountCreateRequestAttributes = CloudflareAccountCreateRequestAttributes;\n/**\n * @ignore\n */\nCloudflareAccountCreateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountCreateRequestData = void 0;\n/**\n * Data object for creating a Cloudflare account.\n */\nclass CloudflareAccountCreateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountCreateRequestData.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountCreateRequestData = CloudflareAccountCreateRequestData;\n/**\n * @ignore\n */\nCloudflareAccountCreateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudflareAccountCreateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudflareAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountCreateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountResponse = void 0;\n/**\n * The expected response schema when getting a Cloudflare account.\n */\nclass CloudflareAccountResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountResponse.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountResponse = CloudflareAccountResponse;\n/**\n * @ignore\n */\nCloudflareAccountResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudflareAccountResponseData\",\n    },\n};\n//# sourceMappingURL=CloudflareAccountResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountResponseAttributes = void 0;\n/**\n * Attributes object of a Cloudflare account.\n */\nclass CloudflareAccountResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountResponseAttributes.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountResponseAttributes = CloudflareAccountResponseAttributes;\n/**\n * @ignore\n */\nCloudflareAccountResponseAttributes.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountResponseData = void 0;\n/**\n * Data object of a Cloudflare account.\n */\nclass CloudflareAccountResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountResponseData.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountResponseData = CloudflareAccountResponseData;\n/**\n * @ignore\n */\nCloudflareAccountResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudflareAccountResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudflareAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountUpdateRequest = void 0;\n/**\n * Payload schema when updating a Cloudflare account.\n */\nclass CloudflareAccountUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountUpdateRequest.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountUpdateRequest = CloudflareAccountUpdateRequest;\n/**\n * @ignore\n */\nCloudflareAccountUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"CloudflareAccountUpdateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=CloudflareAccountUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountUpdateRequestAttributes = void 0;\n/**\n * Attributes object for updating a Cloudflare account.\n */\nclass CloudflareAccountUpdateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountUpdateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountUpdateRequestAttributes = CloudflareAccountUpdateRequestAttributes;\n/**\n * @ignore\n */\nCloudflareAccountUpdateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=CloudflareAccountUpdateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountUpdateRequestData = void 0;\n/**\n * Data object for updating a Cloudflare account.\n */\nclass CloudflareAccountUpdateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountUpdateRequestData.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountUpdateRequestData = CloudflareAccountUpdateRequestData;\n/**\n * @ignore\n */\nCloudflareAccountUpdateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CloudflareAccountUpdateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CloudflareAccountType\",\n    },\n};\n//# sourceMappingURL=CloudflareAccountUpdateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CloudflareAccountsResponse = void 0;\n/**\n * The expected response schema when getting Cloudflare accounts.\n */\nclass CloudflareAccountsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CloudflareAccountsResponse.attributeTypeMap;\n    }\n}\nexports.CloudflareAccountsResponse = CloudflareAccountsResponse;\n/**\n * @ignore\n */\nCloudflareAccountsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CloudflareAccountsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountCreateRequest = void 0;\n/**\n * Payload schema when adding a Confluent account.\n */\nclass ConfluentAccountCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountCreateRequest.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountCreateRequest = ConfluentAccountCreateRequest;\n/**\n * @ignore\n */\nConfluentAccountCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ConfluentAccountCreateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentAccountCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountCreateRequestAttributes = void 0;\n/**\n * Attributes associated with the account creation request.\n */\nclass ConfluentAccountCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountCreateRequestAttributes = ConfluentAccountCreateRequestAttributes;\n/**\n * @ignore\n */\nConfluentAccountCreateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    apiSecret: {\n        baseName: \"api_secret\",\n        type: \"string\",\n        required: true,\n    },\n    resources: {\n        baseName: \"resources\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountCreateRequestData = void 0;\n/**\n * The data body for adding a Confluent account.\n */\nclass ConfluentAccountCreateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountCreateRequestData.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountCreateRequestData = ConfluentAccountCreateRequestData;\n/**\n * @ignore\n */\nConfluentAccountCreateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ConfluentAccountCreateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ConfluentAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentAccountCreateRequestData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountResourceAttributes = void 0;\n/**\n * Attributes object for updating a Confluent resource.\n */\nclass ConfluentAccountResourceAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountResourceAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountResourceAttributes = ConfluentAccountResourceAttributes;\n/**\n * @ignore\n */\nConfluentAccountResourceAttributes.attributeTypeMap = {\n    enableCustomMetrics: {\n        baseName: \"enable_custom_metrics\",\n        type: \"boolean\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountResourceAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountResponse = void 0;\n/**\n * The expected response schema when getting a Confluent account.\n */\nclass ConfluentAccountResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountResponse.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountResponse = ConfluentAccountResponse;\n/**\n * @ignore\n */\nConfluentAccountResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ConfluentAccountResponseData\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountResponseAttributes = void 0;\n/**\n * The attributes of a Confluent account.\n */\nclass ConfluentAccountResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountResponseAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountResponseAttributes = ConfluentAccountResponseAttributes;\n/**\n * @ignore\n */\nConfluentAccountResponseAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    resources: {\n        baseName: \"resources\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountResponseData = void 0;\n/**\n * An API key and API secret pair that represents a Confluent account.\n */\nclass ConfluentAccountResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountResponseData.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountResponseData = ConfluentAccountResponseData;\n/**\n * @ignore\n */\nConfluentAccountResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ConfluentAccountResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ConfluentAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentAccountResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountUpdateRequest = void 0;\n/**\n * The JSON:API request for updating a Confluent account.\n */\nclass ConfluentAccountUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountUpdateRequest.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountUpdateRequest = ConfluentAccountUpdateRequest;\n/**\n * @ignore\n */\nConfluentAccountUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ConfluentAccountUpdateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentAccountUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountUpdateRequestAttributes = void 0;\n/**\n * Attributes object for updating a Confluent account.\n */\nclass ConfluentAccountUpdateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountUpdateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountUpdateRequestAttributes = ConfluentAccountUpdateRequestAttributes;\n/**\n * @ignore\n */\nConfluentAccountUpdateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    apiSecret: {\n        baseName: \"api_secret\",\n        type: \"string\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountUpdateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountUpdateRequestData = void 0;\n/**\n * Data object for updating a Confluent account.\n */\nclass ConfluentAccountUpdateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountUpdateRequestData.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountUpdateRequestData = ConfluentAccountUpdateRequestData;\n/**\n * @ignore\n */\nConfluentAccountUpdateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ConfluentAccountUpdateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ConfluentAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentAccountUpdateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentAccountsResponse = void 0;\n/**\n * Confluent account returned by the API.\n */\nclass ConfluentAccountsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentAccountsResponse.attributeTypeMap;\n    }\n}\nexports.ConfluentAccountsResponse = ConfluentAccountsResponse;\n/**\n * @ignore\n */\nConfluentAccountsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentAccountsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceRequest = void 0;\n/**\n * The JSON:API request for updating a Confluent resource.\n */\nclass ConfluentResourceRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceRequest.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceRequest = ConfluentResourceRequest;\n/**\n * @ignore\n */\nConfluentResourceRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ConfluentResourceRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentResourceRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceRequestAttributes = void 0;\n/**\n * Attributes object for updating a Confluent resource.\n */\nclass ConfluentResourceRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceRequestAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceRequestAttributes = ConfluentResourceRequestAttributes;\n/**\n * @ignore\n */\nConfluentResourceRequestAttributes.attributeTypeMap = {\n    enableCustomMetrics: {\n        baseName: \"enable_custom_metrics\",\n        type: \"boolean\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentResourceRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceRequestData = void 0;\n/**\n * JSON:API request for updating a Confluent resource.\n */\nclass ConfluentResourceRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceRequestData.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceRequestData = ConfluentResourceRequestData;\n/**\n * @ignore\n */\nConfluentResourceRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ConfluentResourceRequestAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ConfluentResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentResourceRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceResponse = void 0;\n/**\n * Response schema when interacting with a Confluent resource.\n */\nclass ConfluentResourceResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceResponse.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceResponse = ConfluentResourceResponse;\n/**\n * @ignore\n */\nConfluentResourceResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ConfluentResourceResponseData\",\n    },\n};\n//# sourceMappingURL=ConfluentResourceResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceResponseAttributes = void 0;\n/**\n * Model representation of a Confluent Cloud resource.\n */\nclass ConfluentResourceResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceResponseAttributes.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceResponseAttributes = ConfluentResourceResponseAttributes;\n/**\n * @ignore\n */\nConfluentResourceResponseAttributes.attributeTypeMap = {\n    enableCustomMetrics: {\n        baseName: \"enable_custom_metrics\",\n        type: \"boolean\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentResourceResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourceResponseData = void 0;\n/**\n * Confluent Cloud resource data.\n */\nclass ConfluentResourceResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourceResponseData.attributeTypeMap;\n    }\n}\nexports.ConfluentResourceResponseData = ConfluentResourceResponseData;\n/**\n * @ignore\n */\nConfluentResourceResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ConfluentResourceResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ConfluentResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ConfluentResourceResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConfluentResourcesResponse = void 0;\n/**\n * Response schema when interacting with a list of Confluent resources.\n */\nclass ConfluentResourcesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ConfluentResourcesResponse.attributeTypeMap;\n    }\n}\nexports.ConfluentResourcesResponse = ConfluentResourcesResponse;\n/**\n * @ignore\n */\nConfluentResourcesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ConfluentResourcesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CostByOrg = void 0;\n/**\n * Cost data.\n */\nclass CostByOrg {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CostByOrg.attributeTypeMap;\n    }\n}\nexports.CostByOrg = CostByOrg;\n/**\n * @ignore\n */\nCostByOrg.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"CostByOrgAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"CostByOrgType\",\n    },\n};\n//# sourceMappingURL=CostByOrg.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CostByOrgAttributes = void 0;\n/**\n * Cost attributes data.\n */\nclass CostByOrgAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CostByOrgAttributes.attributeTypeMap;\n    }\n}\nexports.CostByOrgAttributes = CostByOrgAttributes;\n/**\n * @ignore\n */\nCostByOrgAttributes.attributeTypeMap = {\n    charges: {\n        baseName: \"charges\",\n        type: \"Array\",\n    },\n    date: {\n        baseName: \"date\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    totalCost: {\n        baseName: \"total_cost\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=CostByOrgAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CostByOrgResponse = void 0;\n/**\n * Chargeback Summary response.\n */\nclass CostByOrgResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return CostByOrgResponse.attributeTypeMap;\n    }\n}\nexports.CostByOrgResponse = CostByOrgResponse;\n/**\n * @ignore\n */\nCostByOrgResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=CostByOrgResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Creator = void 0;\n/**\n * Creator of the object.\n */\nclass Creator {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Creator.attributeTypeMap;\n    }\n}\nexports.Creator = Creator;\n/**\n * @ignore\n */\nCreator.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Creator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListAddItemsRequest = void 0;\n/**\n * Request containing a list of dashboards to add.\n */\nclass DashboardListAddItemsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListAddItemsRequest.attributeTypeMap;\n    }\n}\nexports.DashboardListAddItemsRequest = DashboardListAddItemsRequest;\n/**\n * @ignore\n */\nDashboardListAddItemsRequest.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListAddItemsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListAddItemsResponse = void 0;\n/**\n * Response containing a list of added dashboards.\n */\nclass DashboardListAddItemsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListAddItemsResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListAddItemsResponse = DashboardListAddItemsResponse;\n/**\n * @ignore\n */\nDashboardListAddItemsResponse.attributeTypeMap = {\n    addedDashboardsToList: {\n        baseName: \"added_dashboards_to_list\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListAddItemsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListDeleteItemsRequest = void 0;\n/**\n * Request containing a list of dashboards to delete.\n */\nclass DashboardListDeleteItemsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListDeleteItemsRequest.attributeTypeMap;\n    }\n}\nexports.DashboardListDeleteItemsRequest = DashboardListDeleteItemsRequest;\n/**\n * @ignore\n */\nDashboardListDeleteItemsRequest.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListDeleteItemsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListDeleteItemsResponse = void 0;\n/**\n * Response containing a list of deleted dashboards.\n */\nclass DashboardListDeleteItemsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListDeleteItemsResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListDeleteItemsResponse = DashboardListDeleteItemsResponse;\n/**\n * @ignore\n */\nDashboardListDeleteItemsResponse.attributeTypeMap = {\n    deletedDashboardsFromList: {\n        baseName: \"deleted_dashboards_from_list\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListDeleteItemsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListItem = void 0;\n/**\n * A dashboard within a list.\n */\nclass DashboardListItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListItem.attributeTypeMap;\n    }\n}\nexports.DashboardListItem = DashboardListItem;\n/**\n * @ignore\n */\nDashboardListItem.attributeTypeMap = {\n    author: {\n        baseName: \"author\",\n        type: \"Creator\",\n    },\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    integrationId: {\n        baseName: \"integration_id\",\n        type: \"string\",\n    },\n    isFavorite: {\n        baseName: \"is_favorite\",\n        type: \"boolean\",\n    },\n    isReadOnly: {\n        baseName: \"is_read_only\",\n        type: \"boolean\",\n    },\n    isShared: {\n        baseName: \"is_shared\",\n        type: \"boolean\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    popularity: {\n        baseName: \"popularity\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DashboardType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DashboardListItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListItemRequest = void 0;\n/**\n * A dashboard within a list.\n */\nclass DashboardListItemRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListItemRequest.attributeTypeMap;\n    }\n}\nexports.DashboardListItemRequest = DashboardListItemRequest;\n/**\n * @ignore\n */\nDashboardListItemRequest.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DashboardType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DashboardListItemRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListItemResponse = void 0;\n/**\n * A dashboard within a list.\n */\nclass DashboardListItemResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListItemResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListItemResponse = DashboardListItemResponse;\n/**\n * @ignore\n */\nDashboardListItemResponse.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DashboardType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DashboardListItemResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListItems = void 0;\n/**\n * Dashboards within a list.\n */\nclass DashboardListItems {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListItems.attributeTypeMap;\n    }\n}\nexports.DashboardListItems = DashboardListItems;\n/**\n * @ignore\n */\nDashboardListItems.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n        required: true,\n    },\n    total: {\n        baseName: \"total\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=DashboardListItems.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListUpdateItemsRequest = void 0;\n/**\n * Request containing the list of dashboards to update to.\n */\nclass DashboardListUpdateItemsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListUpdateItemsRequest.attributeTypeMap;\n    }\n}\nexports.DashboardListUpdateItemsRequest = DashboardListUpdateItemsRequest;\n/**\n * @ignore\n */\nDashboardListUpdateItemsRequest.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListUpdateItemsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardListUpdateItemsResponse = void 0;\n/**\n * Response containing a list of updated dashboards.\n */\nclass DashboardListUpdateItemsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DashboardListUpdateItemsResponse.attributeTypeMap;\n    }\n}\nexports.DashboardListUpdateItemsResponse = DashboardListUpdateItemsResponse;\n/**\n * @ignore\n */\nDashboardListUpdateItemsResponse.attributeTypeMap = {\n    dashboards: {\n        baseName: \"dashboards\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DashboardListUpdateItemsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataScalarColumn = void 0;\n/**\n * A column containing the numerical results for a formula or query.\n */\nclass DataScalarColumn {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DataScalarColumn.attributeTypeMap;\n    }\n}\nexports.DataScalarColumn = DataScalarColumn;\n/**\n * @ignore\n */\nDataScalarColumn.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"ScalarMeta\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"Array\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=DataScalarColumn.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DetailedFinding = void 0;\n/**\n * A single finding with with message and resource configuration.\n */\nclass DetailedFinding {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DetailedFinding.attributeTypeMap;\n    }\n}\nexports.DetailedFinding = DetailedFinding;\n/**\n * @ignore\n */\nDetailedFinding.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"DetailedFindingAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DetailedFindingType\",\n    },\n};\n//# sourceMappingURL=DetailedFinding.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DetailedFindingAttributes = void 0;\n/**\n * The JSON:API attributes of the detailed finding.\n */\nclass DetailedFindingAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DetailedFindingAttributes.attributeTypeMap;\n    }\n}\nexports.DetailedFindingAttributes = DetailedFindingAttributes;\n/**\n * @ignore\n */\nDetailedFindingAttributes.attributeTypeMap = {\n    evaluation: {\n        baseName: \"evaluation\",\n        type: \"FindingEvaluation\",\n    },\n    evaluationChangedAt: {\n        baseName: \"evaluation_changed_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    mute: {\n        baseName: \"mute\",\n        type: \"FindingMute\",\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    resourceConfiguration: {\n        baseName: \"resource_configuration\",\n        type: \"any\",\n    },\n    resourceDiscoveryDate: {\n        baseName: \"resource_discovery_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n    },\n    rule: {\n        baseName: \"rule\",\n        type: \"FindingRule\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"FindingStatus\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DetailedFindingAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeCreateRequest = void 0;\n/**\n * Request for creating a downtime.\n */\nclass DowntimeCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeCreateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeCreateRequest = DowntimeCreateRequest;\n/**\n * @ignore\n */\nDowntimeCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DowntimeCreateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeCreateRequestAttributes = void 0;\n/**\n * Downtime details.\n */\nclass DowntimeCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.DowntimeCreateRequestAttributes = DowntimeCreateRequestAttributes;\n/**\n * @ignore\n */\nDowntimeCreateRequestAttributes.attributeTypeMap = {\n    displayTimezone: {\n        baseName: \"display_timezone\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    monitorIdentifier: {\n        baseName: \"monitor_identifier\",\n        type: \"DowntimeMonitorIdentifier\",\n        required: true,\n    },\n    muteFirstRecoveryNotification: {\n        baseName: \"mute_first_recovery_notification\",\n        type: \"boolean\",\n    },\n    notifyEndStates: {\n        baseName: \"notify_end_states\",\n        type: \"Array\",\n    },\n    notifyEndTypes: {\n        baseName: \"notify_end_types\",\n        type: \"Array\",\n    },\n    schedule: {\n        baseName: \"schedule\",\n        type: \"DowntimeScheduleCreateRequest\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeCreateRequestData = void 0;\n/**\n * Object to create a downtime.\n */\nclass DowntimeCreateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeCreateRequestData.attributeTypeMap;\n    }\n}\nexports.DowntimeCreateRequestData = DowntimeCreateRequestData;\n/**\n * @ignore\n */\nDowntimeCreateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"DowntimeCreateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DowntimeResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeCreateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMeta = void 0;\n/**\n * Pagination metadata returned by the API.\n */\nclass DowntimeMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMeta.attributeTypeMap;\n    }\n}\nexports.DowntimeMeta = DowntimeMeta;\n/**\n * @ignore\n */\nDowntimeMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"DowntimeMetaPage\",\n    },\n};\n//# sourceMappingURL=DowntimeMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMetaPage = void 0;\n/**\n * Object containing the total filtered count.\n */\nclass DowntimeMetaPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMetaPage.attributeTypeMap;\n    }\n}\nexports.DowntimeMetaPage = DowntimeMetaPage;\n/**\n * @ignore\n */\nDowntimeMetaPage.attributeTypeMap = {\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=DowntimeMetaPage.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMonitorIdentifierId = void 0;\n/**\n * Object of the monitor identifier.\n */\nclass DowntimeMonitorIdentifierId {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMonitorIdentifierId.attributeTypeMap;\n    }\n}\nexports.DowntimeMonitorIdentifierId = DowntimeMonitorIdentifierId;\n/**\n * @ignore\n */\nDowntimeMonitorIdentifierId.attributeTypeMap = {\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=DowntimeMonitorIdentifierId.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMonitorIdentifierTags = void 0;\n/**\n * Object of the monitor tags.\n */\nclass DowntimeMonitorIdentifierTags {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMonitorIdentifierTags.attributeTypeMap;\n    }\n}\nexports.DowntimeMonitorIdentifierTags = DowntimeMonitorIdentifierTags;\n/**\n * @ignore\n */\nDowntimeMonitorIdentifierTags.attributeTypeMap = {\n    monitorTags: {\n        baseName: \"monitor_tags\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeMonitorIdentifierTags.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMonitorIncludedAttributes = void 0;\n/**\n * Attributes of the monitor identified by the downtime.\n */\nclass DowntimeMonitorIncludedAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMonitorIncludedAttributes.attributeTypeMap;\n    }\n}\nexports.DowntimeMonitorIncludedAttributes = DowntimeMonitorIncludedAttributes;\n/**\n * @ignore\n */\nDowntimeMonitorIncludedAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeMonitorIncludedAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeMonitorIncludedItem = void 0;\n/**\n * Information about the monitor identified by the downtime.\n */\nclass DowntimeMonitorIncludedItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeMonitorIncludedItem.attributeTypeMap;\n    }\n}\nexports.DowntimeMonitorIncludedItem = DowntimeMonitorIncludedItem;\n/**\n * @ignore\n */\nDowntimeMonitorIncludedItem.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"DowntimeMonitorIncludedAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DowntimeIncludedMonitorType\",\n    },\n};\n//# sourceMappingURL=DowntimeMonitorIncludedItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRelationships = void 0;\n/**\n * All relationships associated with downtime.\n */\nclass DowntimeRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRelationships.attributeTypeMap;\n    }\n}\nexports.DowntimeRelationships = DowntimeRelationships;\n/**\n * @ignore\n */\nDowntimeRelationships.attributeTypeMap = {\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"DowntimeRelationshipsCreatedBy\",\n    },\n    monitor: {\n        baseName: \"monitor\",\n        type: \"DowntimeRelationshipsMonitor\",\n    },\n};\n//# sourceMappingURL=DowntimeRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRelationshipsCreatedBy = void 0;\n/**\n * The user who created the downtime.\n */\nclass DowntimeRelationshipsCreatedBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRelationshipsCreatedBy.attributeTypeMap;\n    }\n}\nexports.DowntimeRelationshipsCreatedBy = DowntimeRelationshipsCreatedBy;\n/**\n * @ignore\n */\nDowntimeRelationshipsCreatedBy.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DowntimeRelationshipsCreatedByData\",\n    },\n};\n//# sourceMappingURL=DowntimeRelationshipsCreatedBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRelationshipsCreatedByData = void 0;\n/**\n * Data for the user who created the downtime.\n */\nclass DowntimeRelationshipsCreatedByData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRelationshipsCreatedByData.attributeTypeMap;\n    }\n}\nexports.DowntimeRelationshipsCreatedByData = DowntimeRelationshipsCreatedByData;\n/**\n * @ignore\n */\nDowntimeRelationshipsCreatedByData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n    },\n};\n//# sourceMappingURL=DowntimeRelationshipsCreatedByData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRelationshipsMonitor = void 0;\n/**\n * The monitor identified by the downtime.\n */\nclass DowntimeRelationshipsMonitor {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRelationshipsMonitor.attributeTypeMap;\n    }\n}\nexports.DowntimeRelationshipsMonitor = DowntimeRelationshipsMonitor;\n/**\n * @ignore\n */\nDowntimeRelationshipsMonitor.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DowntimeRelationshipsMonitorData\",\n    },\n};\n//# sourceMappingURL=DowntimeRelationshipsMonitor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeRelationshipsMonitorData = void 0;\n/**\n * Data for the monitor.\n */\nclass DowntimeRelationshipsMonitorData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeRelationshipsMonitorData.attributeTypeMap;\n    }\n}\nexports.DowntimeRelationshipsMonitorData = DowntimeRelationshipsMonitorData;\n/**\n * @ignore\n */\nDowntimeRelationshipsMonitorData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DowntimeIncludedMonitorType\",\n    },\n};\n//# sourceMappingURL=DowntimeRelationshipsMonitorData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeResponse = void 0;\n/**\n * Downtiming gives you greater control over monitor notifications by\n * allowing you to globally exclude scopes from alerting.\n * Downtime settings, which can be scheduled with start and end times,\n * prevent all alerting related to specified Datadog tags.\n */\nclass DowntimeResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeResponse.attributeTypeMap;\n    }\n}\nexports.DowntimeResponse = DowntimeResponse;\n/**\n * @ignore\n */\nDowntimeResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DowntimeResponseData\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=DowntimeResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeResponseAttributes = void 0;\n/**\n * Downtime details.\n */\nclass DowntimeResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeResponseAttributes.attributeTypeMap;\n    }\n}\nexports.DowntimeResponseAttributes = DowntimeResponseAttributes;\n/**\n * @ignore\n */\nDowntimeResponseAttributes.attributeTypeMap = {\n    canceled: {\n        baseName: \"canceled\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    displayTimezone: {\n        baseName: \"display_timezone\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    monitorIdentifier: {\n        baseName: \"monitor_identifier\",\n        type: \"DowntimeMonitorIdentifier\",\n    },\n    muteFirstRecoveryNotification: {\n        baseName: \"mute_first_recovery_notification\",\n        type: \"boolean\",\n    },\n    notifyEndStates: {\n        baseName: \"notify_end_states\",\n        type: \"Array\",\n    },\n    notifyEndTypes: {\n        baseName: \"notify_end_types\",\n        type: \"Array\",\n    },\n    schedule: {\n        baseName: \"schedule\",\n        type: \"DowntimeScheduleResponse\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"DowntimeStatus\",\n    },\n};\n//# sourceMappingURL=DowntimeResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeResponseData = void 0;\n/**\n * Downtime data.\n */\nclass DowntimeResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeResponseData.attributeTypeMap;\n    }\n}\nexports.DowntimeResponseData = DowntimeResponseData;\n/**\n * @ignore\n */\nDowntimeResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"DowntimeResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"DowntimeRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DowntimeResourceType\",\n    },\n};\n//# sourceMappingURL=DowntimeResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleCurrentDowntimeResponse = void 0;\n/**\n * The most recent actual start and end dates for a recurring downtime. For a canceled downtime,\n * this is the previously occurring downtime. For active downtimes, this is the ongoing downtime, and for scheduled\n * downtimes it is the upcoming downtime.\n */\nclass DowntimeScheduleCurrentDowntimeResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleCurrentDowntimeResponse.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleCurrentDowntimeResponse = DowntimeScheduleCurrentDowntimeResponse;\n/**\n * @ignore\n */\nDowntimeScheduleCurrentDowntimeResponse.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleCurrentDowntimeResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleOneTimeCreateUpdateRequest = void 0;\n/**\n * A one-time downtime definition.\n */\nclass DowntimeScheduleOneTimeCreateUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleOneTimeCreateUpdateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleOneTimeCreateUpdateRequest = DowntimeScheduleOneTimeCreateUpdateRequest;\n/**\n * @ignore\n */\nDowntimeScheduleOneTimeCreateUpdateRequest.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleOneTimeCreateUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleOneTimeResponse = void 0;\n/**\n * A one-time downtime definition.\n */\nclass DowntimeScheduleOneTimeResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleOneTimeResponse.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleOneTimeResponse = DowntimeScheduleOneTimeResponse;\n/**\n * @ignore\n */\nDowntimeScheduleOneTimeResponse.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        required: true,\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleOneTimeResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleRecurrenceCreateUpdateRequest = void 0;\n/**\n * An object defining the recurrence of the downtime.\n */\nclass DowntimeScheduleRecurrenceCreateUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleRecurrenceCreateUpdateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleRecurrenceCreateUpdateRequest = DowntimeScheduleRecurrenceCreateUpdateRequest;\n/**\n * @ignore\n */\nDowntimeScheduleRecurrenceCreateUpdateRequest.attributeTypeMap = {\n    duration: {\n        baseName: \"duration\",\n        type: \"string\",\n        required: true,\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n        required: true,\n    },\n    start: {\n        baseName: \"start\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleRecurrenceCreateUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleRecurrenceResponse = void 0;\n/**\n * An RRULE-based recurring downtime.\n */\nclass DowntimeScheduleRecurrenceResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleRecurrenceResponse.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleRecurrenceResponse = DowntimeScheduleRecurrenceResponse;\n/**\n * @ignore\n */\nDowntimeScheduleRecurrenceResponse.attributeTypeMap = {\n    duration: {\n        baseName: \"duration\",\n        type: \"string\",\n    },\n    rrule: {\n        baseName: \"rrule\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleRecurrenceResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleRecurrencesCreateRequest = void 0;\n/**\n * A recurring downtime schedule definition.\n */\nclass DowntimeScheduleRecurrencesCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleRecurrencesCreateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleRecurrencesCreateRequest = DowntimeScheduleRecurrencesCreateRequest;\n/**\n * @ignore\n */\nDowntimeScheduleRecurrencesCreateRequest.attributeTypeMap = {\n    recurrences: {\n        baseName: \"recurrences\",\n        type: \"Array\",\n        required: true,\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleRecurrencesCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleRecurrencesResponse = void 0;\n/**\n * A recurring downtime schedule definition.\n */\nclass DowntimeScheduleRecurrencesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleRecurrencesResponse.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleRecurrencesResponse = DowntimeScheduleRecurrencesResponse;\n/**\n * @ignore\n */\nDowntimeScheduleRecurrencesResponse.attributeTypeMap = {\n    currentDowntime: {\n        baseName: \"current_downtime\",\n        type: \"DowntimeScheduleCurrentDowntimeResponse\",\n    },\n    recurrences: {\n        baseName: \"recurrences\",\n        type: \"Array\",\n        required: true,\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleRecurrencesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeScheduleRecurrencesUpdateRequest = void 0;\n/**\n * A recurring downtime schedule definition.\n */\nclass DowntimeScheduleRecurrencesUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeScheduleRecurrencesUpdateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeScheduleRecurrencesUpdateRequest = DowntimeScheduleRecurrencesUpdateRequest;\n/**\n * @ignore\n */\nDowntimeScheduleRecurrencesUpdateRequest.attributeTypeMap = {\n    recurrences: {\n        baseName: \"recurrences\",\n        type: \"Array\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeScheduleRecurrencesUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeUpdateRequest = void 0;\n/**\n * Request for editing a downtime.\n */\nclass DowntimeUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeUpdateRequest.attributeTypeMap;\n    }\n}\nexports.DowntimeUpdateRequest = DowntimeUpdateRequest;\n/**\n * @ignore\n */\nDowntimeUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DowntimeUpdateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeUpdateRequestAttributes = void 0;\n/**\n * Attributes of the downtime to update.\n */\nclass DowntimeUpdateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeUpdateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.DowntimeUpdateRequestAttributes = DowntimeUpdateRequestAttributes;\n/**\n * @ignore\n */\nDowntimeUpdateRequestAttributes.attributeTypeMap = {\n    displayTimezone: {\n        baseName: \"display_timezone\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    monitorIdentifier: {\n        baseName: \"monitor_identifier\",\n        type: \"DowntimeMonitorIdentifier\",\n    },\n    muteFirstRecoveryNotification: {\n        baseName: \"mute_first_recovery_notification\",\n        type: \"boolean\",\n    },\n    notifyEndStates: {\n        baseName: \"notify_end_states\",\n        type: \"Array\",\n    },\n    notifyEndTypes: {\n        baseName: \"notify_end_types\",\n        type: \"Array\",\n    },\n    schedule: {\n        baseName: \"schedule\",\n        type: \"DowntimeScheduleUpdateRequest\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=DowntimeUpdateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DowntimeUpdateRequestData = void 0;\n/**\n * Object to update a downtime.\n */\nclass DowntimeUpdateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return DowntimeUpdateRequestData.attributeTypeMap;\n    }\n}\nexports.DowntimeUpdateRequestData = DowntimeUpdateRequestData;\n/**\n * @ignore\n */\nDowntimeUpdateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"DowntimeUpdateRequestAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"DowntimeResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=DowntimeUpdateRequestData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Event = void 0;\n/**\n * The metadata associated with a request.\n */\nclass Event {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Event.attributeTypeMap;\n    }\n}\nexports.Event = Event;\n/**\n * @ignore\n */\nEvent.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    sourceId: {\n        baseName: \"source_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Event.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventAttributes = void 0;\n/**\n * Object description of attributes from your event.\n */\nclass EventAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventAttributes.attributeTypeMap;\n    }\n}\nexports.EventAttributes = EventAttributes;\n/**\n * @ignore\n */\nEventAttributes.attributeTypeMap = {\n    aggregationKey: {\n        baseName: \"aggregation_key\",\n        type: \"string\",\n    },\n    dateHappened: {\n        baseName: \"date_happened\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    deviceName: {\n        baseName: \"device_name\",\n        type: \"string\",\n    },\n    duration: {\n        baseName: \"duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    eventObject: {\n        baseName: \"event_object\",\n        type: \"string\",\n    },\n    evt: {\n        baseName: \"evt\",\n        type: \"Event\",\n    },\n    hostname: {\n        baseName: \"hostname\",\n        type: \"string\",\n    },\n    monitor: {\n        baseName: \"monitor\",\n        type: \"MonitorType\",\n    },\n    monitorGroups: {\n        baseName: \"monitor_groups\",\n        type: \"Array\",\n    },\n    monitorId: {\n        baseName: \"monitor_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    priority: {\n        baseName: \"priority\",\n        type: \"EventPriority\",\n    },\n    relatedEventId: {\n        baseName: \"related_event_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    sourceTypeName: {\n        baseName: \"source_type_name\",\n        type: \"string\",\n    },\n    sourcecategory: {\n        baseName: \"sourcecategory\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"EventStatusType\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventResponse = void 0;\n/**\n * The object description of an event after being processed and stored by Datadog.\n */\nclass EventResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventResponse.attributeTypeMap;\n    }\n}\nexports.EventResponse = EventResponse;\n/**\n * @ignore\n */\nEventResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"EventResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"EventType\",\n    },\n};\n//# sourceMappingURL=EventResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventResponseAttributes = void 0;\n/**\n * The object description of an event response attribute.\n */\nclass EventResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventResponseAttributes.attributeTypeMap;\n    }\n}\nexports.EventResponseAttributes = EventResponseAttributes;\n/**\n * @ignore\n */\nEventResponseAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"EventAttributes\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=EventResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsCompute = void 0;\n/**\n * The instructions for what to compute for this query.\n */\nclass EventsCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsCompute.attributeTypeMap;\n    }\n}\nexports.EventsCompute = EventsCompute;\n/**\n * @ignore\n */\nEventsCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"EventsAggregation\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsGroupBy = void 0;\n/**\n * A dimension on which to split a query's results.\n */\nclass EventsGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsGroupBy.attributeTypeMap;\n    }\n}\nexports.EventsGroupBy = EventsGroupBy;\n/**\n * @ignore\n */\nEventsGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"EventsGroupBySort\",\n    },\n};\n//# sourceMappingURL=EventsGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsGroupBySort = void 0;\n/**\n * The dimension by which to sort a query's results.\n */\nclass EventsGroupBySort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsGroupBySort.attributeTypeMap;\n    }\n}\nexports.EventsGroupBySort = EventsGroupBySort;\n/**\n * @ignore\n */\nEventsGroupBySort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"EventsAggregation\",\n        required: true,\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"QuerySortOrder\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"EventsSortType\",\n    },\n};\n//# sourceMappingURL=EventsGroupBySort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsListRequest = void 0;\n/**\n * The object sent with the request to retrieve a list of events from your organization.\n */\nclass EventsListRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsListRequest.attributeTypeMap;\n    }\n}\nexports.EventsListRequest = EventsListRequest;\n/**\n * @ignore\n */\nEventsListRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"EventsQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"EventsQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"EventsRequestPage\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"EventsSort\",\n    },\n};\n//# sourceMappingURL=EventsListRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsListResponse = void 0;\n/**\n * The response object with all events matching the request and pagination information.\n */\nclass EventsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsListResponse.attributeTypeMap;\n    }\n}\nexports.EventsListResponse = EventsListResponse;\n/**\n * @ignore\n */\nEventsListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"EventsListResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"EventsResponseMetadata\",\n    },\n};\n//# sourceMappingURL=EventsListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsListResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass EventsListResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsListResponseLinks.attributeTypeMap;\n    }\n}\nexports.EventsListResponseLinks = EventsListResponseLinks;\n/**\n * @ignore\n */\nEventsListResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsListResponseLinks.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsQueryFilter = void 0;\n/**\n * The search and filter query settings.\n */\nclass EventsQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsQueryFilter.attributeTypeMap;\n    }\n}\nexports.EventsQueryFilter = EventsQueryFilter;\n/**\n * @ignore\n */\nEventsQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsQueryOptions = void 0;\n/**\n * The global query options that are used. Either provide a timezone or a time offset but not both,\n * otherwise the query fails.\n */\nclass EventsQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsQueryOptions.attributeTypeMap;\n    }\n}\nexports.EventsQueryOptions = EventsQueryOptions;\n/**\n * @ignore\n */\nEventsQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"timeOffset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsQueryOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsRequestPage = void 0;\n/**\n * Pagination settings.\n */\nclass EventsRequestPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsRequestPage.attributeTypeMap;\n    }\n}\nexports.EventsRequestPage = EventsRequestPage;\n/**\n * @ignore\n */\nEventsRequestPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=EventsRequestPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass EventsResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsResponseMetadata.attributeTypeMap;\n    }\n}\nexports.EventsResponseMetadata = EventsResponseMetadata;\n/**\n * @ignore\n */\nEventsResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"EventsResponseMetadataPage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=EventsResponseMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsResponseMetadataPage = void 0;\n/**\n * Pagination attributes.\n */\nclass EventsResponseMetadataPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsResponseMetadataPage.attributeTypeMap;\n    }\n}\nexports.EventsResponseMetadataPage = EventsResponseMetadataPage;\n/**\n * @ignore\n */\nEventsResponseMetadataPage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsResponseMetadataPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsScalarQuery = void 0;\n/**\n * An individual scalar events query.\n */\nclass EventsScalarQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsScalarQuery.attributeTypeMap;\n    }\n}\nexports.EventsScalarQuery = EventsScalarQuery;\n/**\n * @ignore\n */\nEventsScalarQuery.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"EventsCompute\",\n        required: true,\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"EventsDataSource\",\n        required: true,\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    search: {\n        baseName: \"search\",\n        type: \"EventsSearch\",\n    },\n};\n//# sourceMappingURL=EventsScalarQuery.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsSearch = void 0;\n/**\n * Configuration of the search/filter for an events query.\n */\nclass EventsSearch {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsSearch.attributeTypeMap;\n    }\n}\nexports.EventsSearch = EventsSearch;\n/**\n * @ignore\n */\nEventsSearch.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsSearch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsTimeseriesQuery = void 0;\n/**\n * An individual timeseries events query.\n */\nclass EventsTimeseriesQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsTimeseriesQuery.attributeTypeMap;\n    }\n}\nexports.EventsTimeseriesQuery = EventsTimeseriesQuery;\n/**\n * @ignore\n */\nEventsTimeseriesQuery.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"EventsCompute\",\n        required: true,\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"EventsDataSource\",\n        required: true,\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    search: {\n        baseName: \"search\",\n        type: \"EventsSearch\",\n    },\n};\n//# sourceMappingURL=EventsTimeseriesQuery.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventsWarning = void 0;\n/**\n * A warning message indicating something is wrong with the query.\n */\nclass EventsWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return EventsWarning.attributeTypeMap;\n    }\n}\nexports.EventsWarning = EventsWarning;\n/**\n * @ignore\n */\nEventsWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=EventsWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccounResponseAttributes = void 0;\n/**\n * Attributes object of a Fastly account.\n */\nclass FastlyAccounResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccounResponseAttributes.attributeTypeMap;\n    }\n}\nexports.FastlyAccounResponseAttributes = FastlyAccounResponseAttributes;\n/**\n * @ignore\n */\nFastlyAccounResponseAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    services: {\n        baseName: \"services\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyAccounResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountCreateRequest = void 0;\n/**\n * Payload schema when adding a Fastly account.\n */\nclass FastlyAccountCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountCreateRequest.attributeTypeMap;\n    }\n}\nexports.FastlyAccountCreateRequest = FastlyAccountCreateRequest;\n/**\n * @ignore\n */\nFastlyAccountCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FastlyAccountCreateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyAccountCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountCreateRequestAttributes = void 0;\n/**\n * Attributes object for creating a Fastly account.\n */\nclass FastlyAccountCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.FastlyAccountCreateRequestAttributes = FastlyAccountCreateRequestAttributes;\n/**\n * @ignore\n */\nFastlyAccountCreateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    services: {\n        baseName: \"services\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyAccountCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountCreateRequestData = void 0;\n/**\n * Data object for creating a Fastly account.\n */\nclass FastlyAccountCreateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountCreateRequestData.attributeTypeMap;\n    }\n}\nexports.FastlyAccountCreateRequestData = FastlyAccountCreateRequestData;\n/**\n * @ignore\n */\nFastlyAccountCreateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FastlyAccountCreateRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FastlyAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyAccountCreateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountResponse = void 0;\n/**\n * The expected response schema when getting a Fastly account.\n */\nclass FastlyAccountResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountResponse.attributeTypeMap;\n    }\n}\nexports.FastlyAccountResponse = FastlyAccountResponse;\n/**\n * @ignore\n */\nFastlyAccountResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FastlyAccountResponseData\",\n    },\n};\n//# sourceMappingURL=FastlyAccountResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountResponseData = void 0;\n/**\n * Data object of a Fastly account.\n */\nclass FastlyAccountResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountResponseData.attributeTypeMap;\n    }\n}\nexports.FastlyAccountResponseData = FastlyAccountResponseData;\n/**\n * @ignore\n */\nFastlyAccountResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FastlyAccounResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FastlyAccountType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyAccountResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountUpdateRequest = void 0;\n/**\n * Payload schema when updating a Fastly account.\n */\nclass FastlyAccountUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountUpdateRequest.attributeTypeMap;\n    }\n}\nexports.FastlyAccountUpdateRequest = FastlyAccountUpdateRequest;\n/**\n * @ignore\n */\nFastlyAccountUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FastlyAccountUpdateRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyAccountUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountUpdateRequestAttributes = void 0;\n/**\n * Attributes object for updating a Fastly account.\n */\nclass FastlyAccountUpdateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountUpdateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.FastlyAccountUpdateRequestAttributes = FastlyAccountUpdateRequestAttributes;\n/**\n * @ignore\n */\nFastlyAccountUpdateRequestAttributes.attributeTypeMap = {\n    apiKey: {\n        baseName: \"api_key\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FastlyAccountUpdateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountUpdateRequestData = void 0;\n/**\n * Data object for updating a Fastly account.\n */\nclass FastlyAccountUpdateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountUpdateRequestData.attributeTypeMap;\n    }\n}\nexports.FastlyAccountUpdateRequestData = FastlyAccountUpdateRequestData;\n/**\n * @ignore\n */\nFastlyAccountUpdateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FastlyAccountUpdateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FastlyAccountType\",\n    },\n};\n//# sourceMappingURL=FastlyAccountUpdateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyAccountsResponse = void 0;\n/**\n * The expected response schema when getting Fastly accounts.\n */\nclass FastlyAccountsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyAccountsResponse.attributeTypeMap;\n    }\n}\nexports.FastlyAccountsResponse = FastlyAccountsResponse;\n/**\n * @ignore\n */\nFastlyAccountsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyAccountsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyService = void 0;\n/**\n * The schema representation of a Fastly service.\n */\nclass FastlyService {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyService.attributeTypeMap;\n    }\n}\nexports.FastlyService = FastlyService;\n/**\n * @ignore\n */\nFastlyService.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyService.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyServiceAttributes = void 0;\n/**\n * Attributes object for Fastly service requests.\n */\nclass FastlyServiceAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyServiceAttributes.attributeTypeMap;\n    }\n}\nexports.FastlyServiceAttributes = FastlyServiceAttributes;\n/**\n * @ignore\n */\nFastlyServiceAttributes.attributeTypeMap = {\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyServiceAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyServiceData = void 0;\n/**\n * Data object for Fastly service requests.\n */\nclass FastlyServiceData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyServiceData.attributeTypeMap;\n    }\n}\nexports.FastlyServiceData = FastlyServiceData;\n/**\n * @ignore\n */\nFastlyServiceData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FastlyServiceAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FastlyServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyServiceData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyServiceRequest = void 0;\n/**\n * Payload schema for Fastly service requests.\n */\nclass FastlyServiceRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyServiceRequest.attributeTypeMap;\n    }\n}\nexports.FastlyServiceRequest = FastlyServiceRequest;\n/**\n * @ignore\n */\nFastlyServiceRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FastlyServiceData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=FastlyServiceRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyServiceResponse = void 0;\n/**\n * The expected response schema when getting a Fastly service.\n */\nclass FastlyServiceResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyServiceResponse.attributeTypeMap;\n    }\n}\nexports.FastlyServiceResponse = FastlyServiceResponse;\n/**\n * @ignore\n */\nFastlyServiceResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"FastlyServiceData\",\n    },\n};\n//# sourceMappingURL=FastlyServiceResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastlyServicesResponse = void 0;\n/**\n * The expected response schema when getting Fastly services.\n */\nclass FastlyServicesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FastlyServicesResponse.attributeTypeMap;\n    }\n}\nexports.FastlyServicesResponse = FastlyServicesResponse;\n/**\n * @ignore\n */\nFastlyServicesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FastlyServicesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Finding = void 0;\n/**\n * A single finding without the message and resource configuration.\n */\nclass Finding {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Finding.attributeTypeMap;\n    }\n}\nexports.Finding = Finding;\n/**\n * @ignore\n */\nFinding.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FindingAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FindingType\",\n    },\n};\n//# sourceMappingURL=Finding.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FindingAttributes = void 0;\n/**\n * The JSON:API attributes of the finding.\n */\nclass FindingAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FindingAttributes.attributeTypeMap;\n    }\n}\nexports.FindingAttributes = FindingAttributes;\n/**\n * @ignore\n */\nFindingAttributes.attributeTypeMap = {\n    evaluation: {\n        baseName: \"evaluation\",\n        type: \"FindingEvaluation\",\n    },\n    evaluationChangedAt: {\n        baseName: \"evaluation_changed_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mute: {\n        baseName: \"mute\",\n        type: \"FindingMute\",\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    resourceDiscoveryDate: {\n        baseName: \"resource_discovery_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n    },\n    rule: {\n        baseName: \"rule\",\n        type: \"FindingRule\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"FindingStatus\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FindingAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FindingMute = void 0;\n/**\n * Information about the mute status of this finding.\n */\nclass FindingMute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FindingMute.attributeTypeMap;\n    }\n}\nexports.FindingMute = FindingMute;\n/**\n * @ignore\n */\nFindingMute.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    expirationDate: {\n        baseName: \"expiration_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    muted: {\n        baseName: \"muted\",\n        type: \"boolean\",\n    },\n    reason: {\n        baseName: \"reason\",\n        type: \"FindingMuteReason\",\n    },\n    startDate: {\n        baseName: \"start_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    uuid: {\n        baseName: \"uuid\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FindingMute.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FindingRule = void 0;\n/**\n * The rule that triggered this finding.\n */\nclass FindingRule {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FindingRule.attributeTypeMap;\n    }\n}\nexports.FindingRule = FindingRule;\n/**\n * @ignore\n */\nFindingRule.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FindingRule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FormulaLimit = void 0;\n/**\n * Message for specifying limits to the number of values returned by a query.\n * This limit is only for scalar queries and has no effect on timeseries queries.\n */\nclass FormulaLimit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FormulaLimit.attributeTypeMap;\n    }\n}\nexports.FormulaLimit = FormulaLimit;\n/**\n * @ignore\n */\nFormulaLimit.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"QuerySortOrder\",\n    },\n};\n//# sourceMappingURL=FormulaLimit.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FullAPIKey = void 0;\n/**\n * Datadog API key.\n */\nclass FullAPIKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FullAPIKey.attributeTypeMap;\n    }\n}\nexports.FullAPIKey = FullAPIKey;\n/**\n * @ignore\n */\nFullAPIKey.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FullAPIKeyAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"APIKeyRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"APIKeysType\",\n    },\n};\n//# sourceMappingURL=FullAPIKey.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FullAPIKeyAttributes = void 0;\n/**\n * Attributes of a full API key.\n */\nclass FullAPIKeyAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FullAPIKeyAttributes.attributeTypeMap;\n    }\n}\nexports.FullAPIKeyAttributes = FullAPIKeyAttributes;\n/**\n * @ignore\n */\nFullAPIKeyAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"string\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n    last4: {\n        baseName: \"last4\",\n        type: \"string\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=FullAPIKeyAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FullApplicationKey = void 0;\n/**\n * Datadog application key.\n */\nclass FullApplicationKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FullApplicationKey.attributeTypeMap;\n    }\n}\nexports.FullApplicationKey = FullApplicationKey;\n/**\n * @ignore\n */\nFullApplicationKey.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"FullApplicationKeyAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"ApplicationKeyRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ApplicationKeysType\",\n    },\n};\n//# sourceMappingURL=FullApplicationKey.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FullApplicationKeyAttributes = void 0;\n/**\n * Attributes of a full application key.\n */\nclass FullApplicationKeyAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return FullApplicationKeyAttributes.attributeTypeMap;\n    }\n}\nexports.FullApplicationKeyAttributes = FullApplicationKeyAttributes;\n/**\n * @ignore\n */\nFullApplicationKeyAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"string\",\n    },\n    key: {\n        baseName: \"key\",\n        type: \"string\",\n    },\n    last4: {\n        baseName: \"last4\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    scopes: {\n        baseName: \"scopes\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=FullApplicationKeyAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSDelegateAccount = void 0;\n/**\n * Datadog principal service account info.\n */\nclass GCPSTSDelegateAccount {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSDelegateAccount.attributeTypeMap;\n    }\n}\nexports.GCPSTSDelegateAccount = GCPSTSDelegateAccount;\n/**\n * @ignore\n */\nGCPSTSDelegateAccount.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"GCPSTSDelegateAccountAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GCPSTSDelegateAccountType\",\n    },\n};\n//# sourceMappingURL=GCPSTSDelegateAccount.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSDelegateAccountAttributes = void 0;\n/**\n * Your delegate account attributes.\n */\nclass GCPSTSDelegateAccountAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSDelegateAccountAttributes.attributeTypeMap;\n    }\n}\nexports.GCPSTSDelegateAccountAttributes = GCPSTSDelegateAccountAttributes;\n/**\n * @ignore\n */\nGCPSTSDelegateAccountAttributes.attributeTypeMap = {\n    delegateAccountEmail: {\n        baseName: \"delegate_account_email\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=GCPSTSDelegateAccountAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSDelegateAccountResponse = void 0;\n/**\n * Your delegate service account response data.\n */\nclass GCPSTSDelegateAccountResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSDelegateAccountResponse.attributeTypeMap;\n    }\n}\nexports.GCPSTSDelegateAccountResponse = GCPSTSDelegateAccountResponse;\n/**\n * @ignore\n */\nGCPSTSDelegateAccountResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"GCPSTSDelegateAccount\",\n    },\n};\n//# sourceMappingURL=GCPSTSDelegateAccountResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccount = void 0;\n/**\n * Info on your service account.\n */\nclass GCPSTSServiceAccount {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccount.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccount = GCPSTSServiceAccount;\n/**\n * @ignore\n */\nGCPSTSServiceAccount.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"GCPSTSServiceAccountAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"GCPServiceAccountMeta\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GCPServiceAccountType\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccount.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountAttributes = void 0;\n/**\n * Attributes associated with your service account.\n */\nclass GCPSTSServiceAccountAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountAttributes.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountAttributes = GCPSTSServiceAccountAttributes;\n/**\n * @ignore\n */\nGCPSTSServiceAccountAttributes.attributeTypeMap = {\n    automute: {\n        baseName: \"automute\",\n        type: \"boolean\",\n    },\n    clientEmail: {\n        baseName: \"client_email\",\n        type: \"string\",\n    },\n    hostFilters: {\n        baseName: \"host_filters\",\n        type: \"Array\",\n    },\n    isCspmEnabled: {\n        baseName: \"is_cspm_enabled\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountCreateRequest = void 0;\n/**\n * Data on your newly generated service account.\n */\nclass GCPSTSServiceAccountCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountCreateRequest.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountCreateRequest = GCPSTSServiceAccountCreateRequest;\n/**\n * @ignore\n */\nGCPSTSServiceAccountCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"GCPSTSServiceAccountData\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountData = void 0;\n/**\n * Additional metadata on your generated service account.\n */\nclass GCPSTSServiceAccountData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountData.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountData = GCPSTSServiceAccountData;\n/**\n * @ignore\n */\nGCPSTSServiceAccountData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"GCPSTSServiceAccountAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GCPServiceAccountType\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountResponse = void 0;\n/**\n * The account creation response.\n */\nclass GCPSTSServiceAccountResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountResponse.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountResponse = GCPSTSServiceAccountResponse;\n/**\n * @ignore\n */\nGCPSTSServiceAccountResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"GCPSTSServiceAccount\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountUpdateRequest = void 0;\n/**\n * Service account info.\n */\nclass GCPSTSServiceAccountUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountUpdateRequest.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountUpdateRequest = GCPSTSServiceAccountUpdateRequest;\n/**\n * @ignore\n */\nGCPSTSServiceAccountUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"GCPSTSServiceAccountUpdateRequestData\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountUpdateRequestData = void 0;\n/**\n * Data on your service account.\n */\nclass GCPSTSServiceAccountUpdateRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountUpdateRequestData.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountUpdateRequestData = GCPSTSServiceAccountUpdateRequestData;\n/**\n * @ignore\n */\nGCPSTSServiceAccountUpdateRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"GCPSTSServiceAccountAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"GCPServiceAccountType\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountUpdateRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPSTSServiceAccountsResponse = void 0;\n/**\n * Object containing all your STS enabled accounts.\n */\nclass GCPSTSServiceAccountsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPSTSServiceAccountsResponse.attributeTypeMap;\n    }\n}\nexports.GCPSTSServiceAccountsResponse = GCPSTSServiceAccountsResponse;\n/**\n * @ignore\n */\nGCPSTSServiceAccountsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=GCPSTSServiceAccountsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GCPServiceAccountMeta = void 0;\n/**\n * Additional information related to your service account.\n */\nclass GCPServiceAccountMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GCPServiceAccountMeta.attributeTypeMap;\n    }\n}\nexports.GCPServiceAccountMeta = GCPServiceAccountMeta;\n/**\n * @ignore\n */\nGCPServiceAccountMeta.attributeTypeMap = {\n    accessibleProjects: {\n        baseName: \"accessible_projects\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=GCPServiceAccountMeta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetFindingResponse = void 0;\n/**\n * The expected response schema when getting a finding.\n */\nclass GetFindingResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GetFindingResponse.attributeTypeMap;\n    }\n}\nexports.GetFindingResponse = GetFindingResponse;\n/**\n * @ignore\n */\nGetFindingResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"DetailedFinding\",\n        required: true,\n    },\n};\n//# sourceMappingURL=GetFindingResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GroupScalarColumn = void 0;\n/**\n * A column containing the tag keys and values in a group.\n */\nclass GroupScalarColumn {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return GroupScalarColumn.attributeTypeMap;\n    }\n}\nexports.GroupScalarColumn = GroupScalarColumn;\n/**\n * @ignore\n */\nGroupScalarColumn.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"Array>\",\n    },\n};\n//# sourceMappingURL=GroupScalarColumn.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPCIAppError = void 0;\n/**\n * List of errors.\n */\nclass HTTPCIAppError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPCIAppError.attributeTypeMap;\n    }\n}\nexports.HTTPCIAppError = HTTPCIAppError;\n/**\n * @ignore\n */\nHTTPCIAppError.attributeTypeMap = {\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HTTPCIAppError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPCIAppErrors = void 0;\n/**\n * Errors occurred.\n */\nclass HTTPCIAppErrors {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPCIAppErrors.attributeTypeMap;\n    }\n}\nexports.HTTPCIAppErrors = HTTPCIAppErrors;\n/**\n * @ignore\n */\nHTTPCIAppErrors.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=HTTPCIAppErrors.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPLogError = void 0;\n/**\n * List of errors.\n */\nclass HTTPLogError {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPLogError.attributeTypeMap;\n    }\n}\nexports.HTTPLogError = HTTPLogError;\n/**\n * @ignore\n */\nHTTPLogError.attributeTypeMap = {\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HTTPLogError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPLogErrors = void 0;\n/**\n * Invalid query performed.\n */\nclass HTTPLogErrors {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPLogErrors.attributeTypeMap;\n    }\n}\nexports.HTTPLogErrors = HTTPLogErrors;\n/**\n * @ignore\n */\nHTTPLogErrors.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=HTTPLogErrors.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPLogItem = void 0;\n/**\n * Logs that are sent over HTTP.\n */\nclass HTTPLogItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HTTPLogItem.attributeTypeMap;\n    }\n}\nexports.HTTPLogItem = HTTPLogItem;\n/**\n * @ignore\n */\nHTTPLogItem.attributeTypeMap = {\n    ddsource: {\n        baseName: \"ddsource\",\n        type: \"string\",\n    },\n    ddtags: {\n        baseName: \"ddtags\",\n        type: \"string\",\n    },\n    hostname: {\n        baseName: \"hostname\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    additionalProperties: {\n        baseName: \"additionalProperties\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HTTPLogItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsage = void 0;\n/**\n * Hourly usage for a product family for an org.\n */\nclass HourlyUsage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsage.attributeTypeMap;\n    }\n}\nexports.HourlyUsage = HourlyUsage;\n/**\n * @ignore\n */\nHourlyUsage.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"HourlyUsageAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsageTimeSeriesType\",\n    },\n};\n//# sourceMappingURL=HourlyUsage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageAttributes = void 0;\n/**\n * Attributes of hourly usage for a product family for an org for a time period.\n */\nclass HourlyUsageAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageAttributes.attributeTypeMap;\n    }\n}\nexports.HourlyUsageAttributes = HourlyUsageAttributes;\n/**\n * @ignore\n */\nHourlyUsageAttributes.attributeTypeMap = {\n    measurements: {\n        baseName: \"measurements\",\n        type: \"Array\",\n    },\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    productFamily: {\n        baseName: \"product_family\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=HourlyUsageAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageMeasurement = void 0;\n/**\n * Usage amount for a given usage type.\n */\nclass HourlyUsageMeasurement {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageMeasurement.attributeTypeMap;\n    }\n}\nexports.HourlyUsageMeasurement = HourlyUsageMeasurement;\n/**\n * @ignore\n */\nHourlyUsageMeasurement.attributeTypeMap = {\n    usageType: {\n        baseName: \"usage_type\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=HourlyUsageMeasurement.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageMetadata = void 0;\n/**\n * The object containing document metadata.\n */\nclass HourlyUsageMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageMetadata.attributeTypeMap;\n    }\n}\nexports.HourlyUsageMetadata = HourlyUsageMetadata;\n/**\n * @ignore\n */\nHourlyUsageMetadata.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"HourlyUsagePagination\",\n    },\n};\n//# sourceMappingURL=HourlyUsageMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsagePagination = void 0;\n/**\n * The metadata for the current pagination.\n */\nclass HourlyUsagePagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsagePagination.attributeTypeMap;\n    }\n}\nexports.HourlyUsagePagination = HourlyUsagePagination;\n/**\n * @ignore\n */\nHourlyUsagePagination.attributeTypeMap = {\n    nextRecordId: {\n        baseName: \"next_record_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=HourlyUsagePagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HourlyUsageResponse = void 0;\n/**\n * Hourly usage response.\n */\nclass HourlyUsageResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return HourlyUsageResponse.attributeTypeMap;\n    }\n}\nexports.HourlyUsageResponse = HourlyUsageResponse;\n/**\n * @ignore\n */\nHourlyUsageResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"HourlyUsageMetadata\",\n    },\n};\n//# sourceMappingURL=HourlyUsageResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistAttributes = void 0;\n/**\n * Attributes of the IP allowlist.\n */\nclass IPAllowlistAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistAttributes.attributeTypeMap;\n    }\n}\nexports.IPAllowlistAttributes = IPAllowlistAttributes;\n/**\n * @ignore\n */\nIPAllowlistAttributes.attributeTypeMap = {\n    enabled: {\n        baseName: \"enabled\",\n        type: \"boolean\",\n    },\n    entries: {\n        baseName: \"entries\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IPAllowlistAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistData = void 0;\n/**\n * IP allowlist data.\n */\nclass IPAllowlistData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistData.attributeTypeMap;\n    }\n}\nexports.IPAllowlistData = IPAllowlistData;\n/**\n * @ignore\n */\nIPAllowlistData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IPAllowlistAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IPAllowlistType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IPAllowlistData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistEntry = void 0;\n/**\n * IP allowlist entry object.\n */\nclass IPAllowlistEntry {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistEntry.attributeTypeMap;\n    }\n}\nexports.IPAllowlistEntry = IPAllowlistEntry;\n/**\n * @ignore\n */\nIPAllowlistEntry.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IPAllowlistEntryData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IPAllowlistEntry.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistEntryAttributes = void 0;\n/**\n * Attributes of the IP allowlist entry.\n */\nclass IPAllowlistEntryAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistEntryAttributes.attributeTypeMap;\n    }\n}\nexports.IPAllowlistEntryAttributes = IPAllowlistEntryAttributes;\n/**\n * @ignore\n */\nIPAllowlistEntryAttributes.attributeTypeMap = {\n    cidrBlock: {\n        baseName: \"cidr_block\",\n        type: \"string\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    note: {\n        baseName: \"note\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IPAllowlistEntryAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistEntryData = void 0;\n/**\n * Data of the IP allowlist entry object.\n */\nclass IPAllowlistEntryData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistEntryData.attributeTypeMap;\n    }\n}\nexports.IPAllowlistEntryData = IPAllowlistEntryData;\n/**\n * @ignore\n */\nIPAllowlistEntryData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IPAllowlistEntryAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IPAllowlistEntryType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IPAllowlistEntryData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistResponse = void 0;\n/**\n * Response containing information about the IP allowlist.\n */\nclass IPAllowlistResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistResponse.attributeTypeMap;\n    }\n}\nexports.IPAllowlistResponse = IPAllowlistResponse;\n/**\n * @ignore\n */\nIPAllowlistResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IPAllowlistData\",\n    },\n};\n//# sourceMappingURL=IPAllowlistResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IPAllowlistUpdateRequest = void 0;\n/**\n * Update the IP allowlist.\n */\nclass IPAllowlistUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IPAllowlistUpdateRequest.attributeTypeMap;\n    }\n}\nexports.IPAllowlistUpdateRequest = IPAllowlistUpdateRequest;\n/**\n * @ignore\n */\nIPAllowlistUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IPAllowlistData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IPAllowlistUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdPMetadataFormData = void 0;\n/**\n * The form data submitted to upload IdP metadata\n */\nclass IdPMetadataFormData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IdPMetadataFormData.attributeTypeMap;\n    }\n}\nexports.IdPMetadataFormData = IdPMetadataFormData;\n/**\n * @ignore\n */\nIdPMetadataFormData.attributeTypeMap = {\n    idpFile: {\n        baseName: \"idp_file\",\n        type: \"HttpFile\",\n        format: \"binary\",\n    },\n};\n//# sourceMappingURL=IdPMetadataFormData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentData = void 0;\n/**\n * A single incident attachment.\n */\nclass IncidentAttachmentData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentData.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentData = IncidentAttachmentData;\n/**\n * @ignore\n */\nIncidentAttachmentData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentAttachmentAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentAttachmentRelationships\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentAttachmentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentLinkAttributes = void 0;\n/**\n * The attributes object for a link attachment.\n */\nclass IncidentAttachmentLinkAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentLinkAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentLinkAttributes = IncidentAttachmentLinkAttributes;\n/**\n * @ignore\n */\nIncidentAttachmentLinkAttributes.attributeTypeMap = {\n    attachment: {\n        baseName: \"attachment\",\n        type: \"IncidentAttachmentLinkAttributesAttachmentObject\",\n        required: true,\n    },\n    attachmentType: {\n        baseName: \"attachment_type\",\n        type: \"IncidentAttachmentLinkAttachmentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentLinkAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentLinkAttributesAttachmentObject = void 0;\n/**\n * The link attachment.\n */\nclass IncidentAttachmentLinkAttributesAttachmentObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentLinkAttributesAttachmentObject.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentLinkAttributesAttachmentObject = IncidentAttachmentLinkAttributesAttachmentObject;\n/**\n * @ignore\n */\nIncidentAttachmentLinkAttributesAttachmentObject.attributeTypeMap = {\n    documentUrl: {\n        baseName: \"documentUrl\",\n        type: \"string\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentLinkAttributesAttachmentObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentPostmortemAttributes = void 0;\n/**\n * The attributes object for a postmortem attachment.\n */\nclass IncidentAttachmentPostmortemAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentPostmortemAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentPostmortemAttributes = IncidentAttachmentPostmortemAttributes;\n/**\n * @ignore\n */\nIncidentAttachmentPostmortemAttributes.attributeTypeMap = {\n    attachment: {\n        baseName: \"attachment\",\n        type: \"IncidentAttachmentsPostmortemAttributesAttachmentObject\",\n        required: true,\n    },\n    attachmentType: {\n        baseName: \"attachment_type\",\n        type: \"IncidentAttachmentPostmortemAttachmentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentPostmortemAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentRelationships = void 0;\n/**\n * The incident attachment's relationships.\n */\nclass IncidentAttachmentRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentRelationships = IncidentAttachmentRelationships;\n/**\n * @ignore\n */\nIncidentAttachmentRelationships.attributeTypeMap = {\n    lastModifiedByUser: {\n        baseName: \"last_modified_by_user\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=IncidentAttachmentRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentUpdateData = void 0;\n/**\n * A single incident attachment.\n */\nclass IncidentAttachmentUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentUpdateData.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentUpdateData = IncidentAttachmentUpdateData;\n/**\n * @ignore\n */\nIncidentAttachmentUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentAttachmentUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentAttachmentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentUpdateRequest = void 0;\n/**\n * The update request for an incident's attachments.\n */\nclass IncidentAttachmentUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentUpdateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentUpdateRequest = IncidentAttachmentUpdateRequest;\n/**\n * @ignore\n */\nIncidentAttachmentUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentUpdateResponse = void 0;\n/**\n * The response object containing the created or updated incident attachments.\n */\nclass IncidentAttachmentUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentUpdateResponse.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentUpdateResponse = IncidentAttachmentUpdateResponse;\n/**\n * @ignore\n */\nIncidentAttachmentUpdateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentAttachmentUpdateResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentsPostmortemAttributesAttachmentObject = void 0;\n/**\n * The postmortem attachment.\n */\nclass IncidentAttachmentsPostmortemAttributesAttachmentObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentsPostmortemAttributesAttachmentObject.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentsPostmortemAttributesAttachmentObject = IncidentAttachmentsPostmortemAttributesAttachmentObject;\n/**\n * @ignore\n */\nIncidentAttachmentsPostmortemAttributesAttachmentObject.attributeTypeMap = {\n    documentUrl: {\n        baseName: \"documentUrl\",\n        type: \"string\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentAttachmentsPostmortemAttributesAttachmentObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentAttachmentsResponse = void 0;\n/**\n * The response object containing an incident's attachments.\n */\nclass IncidentAttachmentsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentAttachmentsResponse.attributeTypeMap;\n    }\n}\nexports.IncidentAttachmentsResponse = IncidentAttachmentsResponse;\n/**\n * @ignore\n */\nIncidentAttachmentsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentAttachmentsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentCreateAttributes = void 0;\n/**\n * The incident's attributes for a create request.\n */\nclass IncidentCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentCreateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentCreateAttributes = IncidentCreateAttributes;\n/**\n * @ignore\n */\nIncidentCreateAttributes.attributeTypeMap = {\n    customerImpactScope: {\n        baseName: \"customer_impact_scope\",\n        type: \"string\",\n    },\n    customerImpacted: {\n        baseName: \"customer_impacted\",\n        type: \"boolean\",\n        required: true,\n    },\n    fields: {\n        baseName: \"fields\",\n        type: \"{ [key: string]: IncidentFieldAttributes; }\",\n    },\n    initialCells: {\n        baseName: \"initial_cells\",\n        type: \"Array\",\n    },\n    notificationHandles: {\n        baseName: \"notification_handles\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentCreateData = void 0;\n/**\n * Incident data for a create request.\n */\nclass IncidentCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentCreateData.attributeTypeMap;\n    }\n}\nexports.IncidentCreateData = IncidentCreateData;\n/**\n * @ignore\n */\nIncidentCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentCreateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentCreateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentCreateRelationships = void 0;\n/**\n * The relationships the incident will have with other resources once created.\n */\nclass IncidentCreateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentCreateRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentCreateRelationships = IncidentCreateRelationships;\n/**\n * @ignore\n */\nIncidentCreateRelationships.attributeTypeMap = {\n    commanderUser: {\n        baseName: \"commander_user\",\n        type: \"NullableRelationshipToUser\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentCreateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentCreateRequest = void 0;\n/**\n * Create request for an incident.\n */\nclass IncidentCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentCreateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentCreateRequest = IncidentCreateRequest;\n/**\n * @ignore\n */\nIncidentCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentFieldAttributesMultipleValue = void 0;\n/**\n * A field with potentially multiple values selected.\n */\nclass IncidentFieldAttributesMultipleValue {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentFieldAttributesMultipleValue.attributeTypeMap;\n    }\n}\nexports.IncidentFieldAttributesMultipleValue = IncidentFieldAttributesMultipleValue;\n/**\n * @ignore\n */\nIncidentFieldAttributesMultipleValue.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"IncidentFieldAttributesValueType\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentFieldAttributesMultipleValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentFieldAttributesSingleValue = void 0;\n/**\n * A field with a single value selected.\n */\nclass IncidentFieldAttributesSingleValue {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentFieldAttributesSingleValue.attributeTypeMap;\n    }\n}\nexports.IncidentFieldAttributesSingleValue = IncidentFieldAttributesSingleValue;\n/**\n * @ignore\n */\nIncidentFieldAttributesSingleValue.attributeTypeMap = {\n    type: {\n        baseName: \"type\",\n        type: \"IncidentFieldAttributesSingleValueType\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentFieldAttributesSingleValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataAttributes = void 0;\n/**\n * Incident integration metadata's attributes for a create request.\n */\nclass IncidentIntegrationMetadataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataAttributes = IncidentIntegrationMetadataAttributes;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataAttributes.attributeTypeMap = {\n    incidentId: {\n        baseName: \"incident_id\",\n        type: \"string\",\n    },\n    integrationType: {\n        baseName: \"integration_type\",\n        type: \"number\",\n        required: true,\n        format: \"int32\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"IncidentIntegrationMetadataMetadata\",\n        required: true,\n    },\n    status: {\n        baseName: \"status\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataCreateData = void 0;\n/**\n * Incident integration metadata data for a create request.\n */\nclass IncidentIntegrationMetadataCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataCreateData.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataCreateData = IncidentIntegrationMetadataCreateData;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentIntegrationMetadataAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentIntegrationMetadataType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataCreateRequest = void 0;\n/**\n * Create request for an incident integration metadata.\n */\nclass IncidentIntegrationMetadataCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataCreateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataCreateRequest = IncidentIntegrationMetadataCreateRequest;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentIntegrationMetadataCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataListResponse = void 0;\n/**\n * Response with a list of incident integration metadata.\n */\nclass IncidentIntegrationMetadataListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataListResponse.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataListResponse = IncidentIntegrationMetadataListResponse;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataPatchData = void 0;\n/**\n * Incident integration metadata data for a patch request.\n */\nclass IncidentIntegrationMetadataPatchData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataPatchData.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataPatchData = IncidentIntegrationMetadataPatchData;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataPatchData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentIntegrationMetadataAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentIntegrationMetadataType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataPatchData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataPatchRequest = void 0;\n/**\n * Patch request for an incident integration metadata.\n */\nclass IncidentIntegrationMetadataPatchRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataPatchRequest.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataPatchRequest = IncidentIntegrationMetadataPatchRequest;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataPatchRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentIntegrationMetadataPatchData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataPatchRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataResponse = void 0;\n/**\n * Response with an incident integration metadata.\n */\nclass IncidentIntegrationMetadataResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataResponse.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataResponse = IncidentIntegrationMetadataResponse;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentIntegrationMetadataResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentIntegrationMetadataResponseData = void 0;\n/**\n * Incident integration metadata from a response.\n */\nclass IncidentIntegrationMetadataResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentIntegrationMetadataResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentIntegrationMetadataResponseData = IncidentIntegrationMetadataResponseData;\n/**\n * @ignore\n */\nIncidentIntegrationMetadataResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentIntegrationMetadataAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentIntegrationMetadataType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentIntegrationMetadataResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentNotificationHandle = void 0;\n/**\n * A notification handle that will be notified at incident creation.\n */\nclass IncidentNotificationHandle {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentNotificationHandle.attributeTypeMap;\n    }\n}\nexports.IncidentNotificationHandle = IncidentNotificationHandle;\n/**\n * @ignore\n */\nIncidentNotificationHandle.attributeTypeMap = {\n    displayName: {\n        baseName: \"display_name\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentNotificationHandle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponse = void 0;\n/**\n * Response with an incident.\n */\nclass IncidentResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponse.attributeTypeMap;\n    }\n}\nexports.IncidentResponse = IncidentResponse;\n/**\n * @ignore\n */\nIncidentResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponseAttributes = void 0;\n/**\n * The incident's attributes from a response.\n */\nclass IncidentResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponseAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentResponseAttributes = IncidentResponseAttributes;\n/**\n * @ignore\n */\nIncidentResponseAttributes.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    customerImpactDuration: {\n        baseName: \"customer_impact_duration\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    customerImpactEnd: {\n        baseName: \"customer_impact_end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    customerImpactScope: {\n        baseName: \"customer_impact_scope\",\n        type: \"string\",\n    },\n    customerImpactStart: {\n        baseName: \"customer_impact_start\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    customerImpacted: {\n        baseName: \"customer_impacted\",\n        type: \"boolean\",\n    },\n    detected: {\n        baseName: \"detected\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    fields: {\n        baseName: \"fields\",\n        type: \"{ [key: string]: IncidentFieldAttributes; }\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    notificationHandles: {\n        baseName: \"notification_handles\",\n        type: \"Array\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    resolved: {\n        baseName: \"resolved\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    timeToDetect: {\n        baseName: \"time_to_detect\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timeToInternalResponse: {\n        baseName: \"time_to_internal_response\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timeToRepair: {\n        baseName: \"time_to_repair\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timeToResolve: {\n        baseName: \"time_to_resolve\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponseData = void 0;\n/**\n * Incident data from a response.\n */\nclass IncidentResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentResponseData = IncidentResponseData;\n/**\n * @ignore\n */\nIncidentResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentResponseRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponseMeta = void 0;\n/**\n * The metadata object containing pagination metadata.\n */\nclass IncidentResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponseMeta.attributeTypeMap;\n    }\n}\nexports.IncidentResponseMeta = IncidentResponseMeta;\n/**\n * @ignore\n */\nIncidentResponseMeta.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"IncidentResponseMetaPagination\",\n    },\n};\n//# sourceMappingURL=IncidentResponseMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponseMetaPagination = void 0;\n/**\n * Pagination properties.\n */\nclass IncidentResponseMetaPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponseMetaPagination.attributeTypeMap;\n    }\n}\nexports.IncidentResponseMetaPagination = IncidentResponseMetaPagination;\n/**\n * @ignore\n */\nIncidentResponseMetaPagination.attributeTypeMap = {\n    nextOffset: {\n        baseName: \"next_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    offset: {\n        baseName: \"offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=IncidentResponseMetaPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentResponseRelationships = void 0;\n/**\n * The incident's relationships from a response.\n */\nclass IncidentResponseRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentResponseRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentResponseRelationships = IncidentResponseRelationships;\n/**\n * @ignore\n */\nIncidentResponseRelationships.attributeTypeMap = {\n    attachments: {\n        baseName: \"attachments\",\n        type: \"RelationshipToIncidentAttachment\",\n    },\n    commanderUser: {\n        baseName: \"commander_user\",\n        type: \"NullableRelationshipToUser\",\n    },\n    createdByUser: {\n        baseName: \"created_by_user\",\n        type: \"RelationshipToUser\",\n    },\n    integrations: {\n        baseName: \"integrations\",\n        type: \"RelationshipToIncidentIntegrationMetadatas\",\n    },\n    lastModifiedByUser: {\n        baseName: \"last_modified_by_user\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=IncidentResponseRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponse = void 0;\n/**\n * Response with incidents and facets.\n */\nclass IncidentSearchResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponse.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponse = IncidentSearchResponse;\n/**\n * @ignore\n */\nIncidentSearchResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentSearchResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentSearchResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseAttributes = void 0;\n/**\n * Attributes returned by an incident search.\n */\nclass IncidentSearchResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseAttributes = IncidentSearchResponseAttributes;\n/**\n * @ignore\n */\nIncidentSearchResponseAttributes.attributeTypeMap = {\n    facets: {\n        baseName: \"facets\",\n        type: \"IncidentSearchResponseFacetsData\",\n        required: true,\n    },\n    incidents: {\n        baseName: \"incidents\",\n        type: \"Array\",\n        required: true,\n    },\n    total: {\n        baseName: \"total\",\n        type: \"number\",\n        required: true,\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseData = void 0;\n/**\n * Data returned by an incident search.\n */\nclass IncidentSearchResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseData = IncidentSearchResponseData;\n/**\n * @ignore\n */\nIncidentSearchResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentSearchResponseAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentSearchResultsType\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseFacetsData = void 0;\n/**\n * Facet data for incidents returned by a search query.\n */\nclass IncidentSearchResponseFacetsData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseFacetsData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseFacetsData = IncidentSearchResponseFacetsData;\n/**\n * @ignore\n */\nIncidentSearchResponseFacetsData.attributeTypeMap = {\n    commander: {\n        baseName: \"commander\",\n        type: \"Array\",\n    },\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"Array\",\n    },\n    fields: {\n        baseName: \"fields\",\n        type: \"Array\",\n    },\n    impact: {\n        baseName: \"impact\",\n        type: \"Array\",\n    },\n    lastModifiedBy: {\n        baseName: \"last_modified_by\",\n        type: \"Array\",\n    },\n    postmortem: {\n        baseName: \"postmortem\",\n        type: \"Array\",\n    },\n    responder: {\n        baseName: \"responder\",\n        type: \"Array\",\n    },\n    severity: {\n        baseName: \"severity\",\n        type: \"Array\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"Array\",\n    },\n    timeToRepair: {\n        baseName: \"time_to_repair\",\n        type: \"Array\",\n    },\n    timeToResolve: {\n        baseName: \"time_to_resolve\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseFacetsData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseFieldFacetData = void 0;\n/**\n * Facet value and number of occurrences for a property field of an incident.\n */\nclass IncidentSearchResponseFieldFacetData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseFieldFacetData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseFieldFacetData = IncidentSearchResponseFieldFacetData;\n/**\n * @ignore\n */\nIncidentSearchResponseFieldFacetData.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseFieldFacetData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseIncidentsData = void 0;\n/**\n * Incident returned by the search.\n */\nclass IncidentSearchResponseIncidentsData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseIncidentsData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseIncidentsData = IncidentSearchResponseIncidentsData;\n/**\n * @ignore\n */\nIncidentSearchResponseIncidentsData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentResponseData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseIncidentsData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseMeta = void 0;\n/**\n * The metadata object containing pagination metadata.\n */\nclass IncidentSearchResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseMeta.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseMeta = IncidentSearchResponseMeta;\n/**\n * @ignore\n */\nIncidentSearchResponseMeta.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"IncidentResponseMetaPagination\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseMeta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseNumericFacetData = void 0;\n/**\n * Facet data numeric attributes of an incident.\n */\nclass IncidentSearchResponseNumericFacetData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseNumericFacetData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseNumericFacetData = IncidentSearchResponseNumericFacetData;\n/**\n * @ignore\n */\nIncidentSearchResponseNumericFacetData.attributeTypeMap = {\n    aggregates: {\n        baseName: \"aggregates\",\n        type: \"IncidentSearchResponseNumericFacetDataAggregates\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseNumericFacetData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseNumericFacetDataAggregates = void 0;\n/**\n * Aggregate information for numeric incident data.\n */\nclass IncidentSearchResponseNumericFacetDataAggregates {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseNumericFacetDataAggregates.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseNumericFacetDataAggregates = IncidentSearchResponseNumericFacetDataAggregates;\n/**\n * @ignore\n */\nIncidentSearchResponseNumericFacetDataAggregates.attributeTypeMap = {\n    max: {\n        baseName: \"max\",\n        type: \"number\",\n        format: \"double\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseNumericFacetDataAggregates.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponsePropertyFieldFacetData = void 0;\n/**\n * Facet data for the incident property fields.\n */\nclass IncidentSearchResponsePropertyFieldFacetData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponsePropertyFieldFacetData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponsePropertyFieldFacetData = IncidentSearchResponsePropertyFieldFacetData;\n/**\n * @ignore\n */\nIncidentSearchResponsePropertyFieldFacetData.attributeTypeMap = {\n    aggregates: {\n        baseName: \"aggregates\",\n        type: \"IncidentSearchResponseNumericFacetDataAggregates\",\n    },\n    facets: {\n        baseName: \"facets\",\n        type: \"Array\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentSearchResponsePropertyFieldFacetData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentSearchResponseUserFacetData = void 0;\n/**\n * Facet data for user attributes of an incident.\n */\nclass IncidentSearchResponseUserFacetData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentSearchResponseUserFacetData.attributeTypeMap;\n    }\n}\nexports.IncidentSearchResponseUserFacetData = IncidentSearchResponseUserFacetData;\n/**\n * @ignore\n */\nIncidentSearchResponseUserFacetData.attributeTypeMap = {\n    count: {\n        baseName: \"count\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    uuid: {\n        baseName: \"uuid\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentSearchResponseUserFacetData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceCreateAttributes = void 0;\n/**\n * The incident service's attributes for a create request.\n */\nclass IncidentServiceCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceCreateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentServiceCreateAttributes = IncidentServiceCreateAttributes;\n/**\n * @ignore\n */\nIncidentServiceCreateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceCreateData = void 0;\n/**\n * Incident Service payload for create requests.\n */\nclass IncidentServiceCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceCreateData.attributeTypeMap;\n    }\n}\nexports.IncidentServiceCreateData = IncidentServiceCreateData;\n/**\n * @ignore\n */\nIncidentServiceCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentServiceCreateAttributes\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentServiceRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceCreateRequest = void 0;\n/**\n * Create request with an incident service payload.\n */\nclass IncidentServiceCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceCreateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentServiceCreateRequest = IncidentServiceCreateRequest;\n/**\n * @ignore\n */\nIncidentServiceCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentServiceCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceRelationships = void 0;\n/**\n * The incident service's relationships.\n */\nclass IncidentServiceRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentServiceRelationships = IncidentServiceRelationships;\n/**\n * @ignore\n */\nIncidentServiceRelationships.attributeTypeMap = {\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"RelationshipToUser\",\n    },\n    lastModifiedBy: {\n        baseName: \"last_modified_by\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=IncidentServiceRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceResponse = void 0;\n/**\n * Response with an incident service payload.\n */\nclass IncidentServiceResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceResponse.attributeTypeMap;\n    }\n}\nexports.IncidentServiceResponse = IncidentServiceResponse;\n/**\n * @ignore\n */\nIncidentServiceResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentServiceResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentServiceResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceResponseAttributes = void 0;\n/**\n * The incident service's attributes from a response.\n */\nclass IncidentServiceResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceResponseAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentServiceResponseAttributes = IncidentServiceResponseAttributes;\n/**\n * @ignore\n */\nIncidentServiceResponseAttributes.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentServiceResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceResponseData = void 0;\n/**\n * Incident Service data from responses.\n */\nclass IncidentServiceResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentServiceResponseData = IncidentServiceResponseData;\n/**\n * @ignore\n */\nIncidentServiceResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentServiceResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentServiceRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceUpdateAttributes = void 0;\n/**\n * The incident service's attributes for an update request.\n */\nclass IncidentServiceUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentServiceUpdateAttributes = IncidentServiceUpdateAttributes;\n/**\n * @ignore\n */\nIncidentServiceUpdateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceUpdateData = void 0;\n/**\n * Incident Service payload for update requests.\n */\nclass IncidentServiceUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceUpdateData.attributeTypeMap;\n    }\n}\nexports.IncidentServiceUpdateData = IncidentServiceUpdateData;\n/**\n * @ignore\n */\nIncidentServiceUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentServiceUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentServiceRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServiceUpdateRequest = void 0;\n/**\n * Update request with an incident service payload.\n */\nclass IncidentServiceUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServiceUpdateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentServiceUpdateRequest = IncidentServiceUpdateRequest;\n/**\n * @ignore\n */\nIncidentServiceUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentServiceUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentServiceUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentServicesResponse = void 0;\n/**\n * Response with a list of incident service payloads.\n */\nclass IncidentServicesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentServicesResponse.attributeTypeMap;\n    }\n}\nexports.IncidentServicesResponse = IncidentServicesResponse;\n/**\n * @ignore\n */\nIncidentServicesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentServicesResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamCreateAttributes = void 0;\n/**\n * The incident team's attributes for a create request.\n */\nclass IncidentTeamCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamCreateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentTeamCreateAttributes = IncidentTeamCreateAttributes;\n/**\n * @ignore\n */\nIncidentTeamCreateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamCreateData = void 0;\n/**\n * Incident Team data for a create request.\n */\nclass IncidentTeamCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamCreateData.attributeTypeMap;\n    }\n}\nexports.IncidentTeamCreateData = IncidentTeamCreateData;\n/**\n * @ignore\n */\nIncidentTeamCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTeamCreateAttributes\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentTeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamCreateRequest = void 0;\n/**\n * Create request with an incident team payload.\n */\nclass IncidentTeamCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamCreateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentTeamCreateRequest = IncidentTeamCreateRequest;\n/**\n * @ignore\n */\nIncidentTeamCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTeamCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamRelationships = void 0;\n/**\n * The incident team's relationships.\n */\nclass IncidentTeamRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentTeamRelationships = IncidentTeamRelationships;\n/**\n * @ignore\n */\nIncidentTeamRelationships.attributeTypeMap = {\n    createdBy: {\n        baseName: \"created_by\",\n        type: \"RelationshipToUser\",\n    },\n    lastModifiedBy: {\n        baseName: \"last_modified_by\",\n        type: \"RelationshipToUser\",\n    },\n};\n//# sourceMappingURL=IncidentTeamRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamResponse = void 0;\n/**\n * Response with an incident team payload.\n */\nclass IncidentTeamResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamResponse.attributeTypeMap;\n    }\n}\nexports.IncidentTeamResponse = IncidentTeamResponse;\n/**\n * @ignore\n */\nIncidentTeamResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTeamResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentTeamResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamResponseAttributes = void 0;\n/**\n * The incident team's attributes from a response.\n */\nclass IncidentTeamResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamResponseAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentTeamResponseAttributes = IncidentTeamResponseAttributes;\n/**\n * @ignore\n */\nIncidentTeamResponseAttributes.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentTeamResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamResponseData = void 0;\n/**\n * Incident Team data from a response.\n */\nclass IncidentTeamResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentTeamResponseData = IncidentTeamResponseData;\n/**\n * @ignore\n */\nIncidentTeamResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTeamResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentTeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTeamType\",\n    },\n};\n//# sourceMappingURL=IncidentTeamResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamUpdateAttributes = void 0;\n/**\n * The incident team's attributes for an update request.\n */\nclass IncidentTeamUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentTeamUpdateAttributes = IncidentTeamUpdateAttributes;\n/**\n * @ignore\n */\nIncidentTeamUpdateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamUpdateData = void 0;\n/**\n * Incident Team data for an update request.\n */\nclass IncidentTeamUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamUpdateData.attributeTypeMap;\n    }\n}\nexports.IncidentTeamUpdateData = IncidentTeamUpdateData;\n/**\n * @ignore\n */\nIncidentTeamUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTeamUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentTeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamUpdateRequest = void 0;\n/**\n * Update request with an incident team payload.\n */\nclass IncidentTeamUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamUpdateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentTeamUpdateRequest = IncidentTeamUpdateRequest;\n/**\n * @ignore\n */\nIncidentTeamUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTeamUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTeamUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTeamsResponse = void 0;\n/**\n * Response with a list of incident team payloads.\n */\nclass IncidentTeamsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTeamsResponse.attributeTypeMap;\n    }\n}\nexports.IncidentTeamsResponse = IncidentTeamsResponse;\n/**\n * @ignore\n */\nIncidentTeamsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentTeamsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTimelineCellMarkdownCreateAttributes = void 0;\n/**\n * Timeline cell data for Markdown timeline cells for a create request.\n */\nclass IncidentTimelineCellMarkdownCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTimelineCellMarkdownCreateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentTimelineCellMarkdownCreateAttributes = IncidentTimelineCellMarkdownCreateAttributes;\n/**\n * @ignore\n */\nIncidentTimelineCellMarkdownCreateAttributes.attributeTypeMap = {\n    cellType: {\n        baseName: \"cell_type\",\n        type: \"IncidentTimelineCellMarkdownContentType\",\n        required: true,\n    },\n    content: {\n        baseName: \"content\",\n        type: \"IncidentTimelineCellMarkdownCreateAttributesContent\",\n        required: true,\n    },\n    important: {\n        baseName: \"important\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=IncidentTimelineCellMarkdownCreateAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTimelineCellMarkdownCreateAttributesContent = void 0;\n/**\n * The Markdown timeline cell contents.\n */\nclass IncidentTimelineCellMarkdownCreateAttributesContent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTimelineCellMarkdownCreateAttributesContent.attributeTypeMap;\n    }\n}\nexports.IncidentTimelineCellMarkdownCreateAttributesContent = IncidentTimelineCellMarkdownCreateAttributesContent;\n/**\n * @ignore\n */\nIncidentTimelineCellMarkdownCreateAttributesContent.attributeTypeMap = {\n    content: {\n        baseName: \"content\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentTimelineCellMarkdownCreateAttributesContent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoAnonymousAssignee = void 0;\n/**\n * Anonymous assignee entity.\n */\nclass IncidentTodoAnonymousAssignee {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoAnonymousAssignee.attributeTypeMap;\n    }\n}\nexports.IncidentTodoAnonymousAssignee = IncidentTodoAnonymousAssignee;\n/**\n * @ignore\n */\nIncidentTodoAnonymousAssignee.attributeTypeMap = {\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    source: {\n        baseName: \"source\",\n        type: \"IncidentTodoAnonymousAssigneeSource\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoAnonymousAssignee.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoAttributes = void 0;\n/**\n * Incident todo's attributes.\n */\nclass IncidentTodoAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentTodoAttributes = IncidentTodoAttributes;\n/**\n * @ignore\n */\nIncidentTodoAttributes.attributeTypeMap = {\n    assignees: {\n        baseName: \"assignees\",\n        type: \"Array\",\n        required: true,\n    },\n    completed: {\n        baseName: \"completed\",\n        type: \"string\",\n    },\n    content: {\n        baseName: \"content\",\n        type: \"string\",\n        required: true,\n    },\n    dueDate: {\n        baseName: \"due_date\",\n        type: \"string\",\n    },\n    incidentId: {\n        baseName: \"incident_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentTodoAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoCreateData = void 0;\n/**\n * Incident todo data for a create request.\n */\nclass IncidentTodoCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoCreateData.attributeTypeMap;\n    }\n}\nexports.IncidentTodoCreateData = IncidentTodoCreateData;\n/**\n * @ignore\n */\nIncidentTodoCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTodoAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTodoType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoCreateRequest = void 0;\n/**\n * Create request for an incident todo.\n */\nclass IncidentTodoCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoCreateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentTodoCreateRequest = IncidentTodoCreateRequest;\n/**\n * @ignore\n */\nIncidentTodoCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTodoCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoListResponse = void 0;\n/**\n * Response with a list of incident todos.\n */\nclass IncidentTodoListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoListResponse.attributeTypeMap;\n    }\n}\nexports.IncidentTodoListResponse = IncidentTodoListResponse;\n/**\n * @ignore\n */\nIncidentTodoListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentTodoListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoPatchData = void 0;\n/**\n * Incident todo data for a patch request.\n */\nclass IncidentTodoPatchData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoPatchData.attributeTypeMap;\n    }\n}\nexports.IncidentTodoPatchData = IncidentTodoPatchData;\n/**\n * @ignore\n */\nIncidentTodoPatchData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTodoAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTodoType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoPatchData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoPatchRequest = void 0;\n/**\n * Patch request for an incident todo.\n */\nclass IncidentTodoPatchRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoPatchRequest.attributeTypeMap;\n    }\n}\nexports.IncidentTodoPatchRequest = IncidentTodoPatchRequest;\n/**\n * @ignore\n */\nIncidentTodoPatchRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTodoPatchData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoPatchRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoResponse = void 0;\n/**\n * Response with an incident todo.\n */\nclass IncidentTodoResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoResponse.attributeTypeMap;\n    }\n}\nexports.IncidentTodoResponse = IncidentTodoResponse;\n/**\n * @ignore\n */\nIncidentTodoResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentTodoResponseData\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IncidentTodoResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentTodoResponseData = void 0;\n/**\n * Incident todo response data.\n */\nclass IncidentTodoResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentTodoResponseData.attributeTypeMap;\n    }\n}\nexports.IncidentTodoResponseData = IncidentTodoResponseData;\n/**\n * @ignore\n */\nIncidentTodoResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentTodoAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentTodoType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentTodoResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentUpdateAttributes = void 0;\n/**\n * The incident's attributes for an update request.\n */\nclass IncidentUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.IncidentUpdateAttributes = IncidentUpdateAttributes;\n/**\n * @ignore\n */\nIncidentUpdateAttributes.attributeTypeMap = {\n    customerImpactEnd: {\n        baseName: \"customer_impact_end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    customerImpactScope: {\n        baseName: \"customer_impact_scope\",\n        type: \"string\",\n    },\n    customerImpactStart: {\n        baseName: \"customer_impact_start\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    customerImpacted: {\n        baseName: \"customer_impacted\",\n        type: \"boolean\",\n    },\n    detected: {\n        baseName: \"detected\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    fields: {\n        baseName: \"fields\",\n        type: \"{ [key: string]: IncidentFieldAttributes; }\",\n    },\n    notificationHandles: {\n        baseName: \"notification_handles\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=IncidentUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentUpdateData = void 0;\n/**\n * Incident data for an update request.\n */\nclass IncidentUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentUpdateData.attributeTypeMap;\n    }\n}\nexports.IncidentUpdateData = IncidentUpdateData;\n/**\n * @ignore\n */\nIncidentUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"IncidentUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"IncidentUpdateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentUpdateRelationships = void 0;\n/**\n * The incident's relationships for an update request.\n */\nclass IncidentUpdateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentUpdateRelationships.attributeTypeMap;\n    }\n}\nexports.IncidentUpdateRelationships = IncidentUpdateRelationships;\n/**\n * @ignore\n */\nIncidentUpdateRelationships.attributeTypeMap = {\n    commanderUser: {\n        baseName: \"commander_user\",\n        type: \"NullableRelationshipToUser\",\n    },\n    integrations: {\n        baseName: \"integrations\",\n        type: \"RelationshipToIncidentIntegrationMetadatas\",\n    },\n    postmortem: {\n        baseName: \"postmortem\",\n        type: \"RelationshipToIncidentPostmortem\",\n    },\n};\n//# sourceMappingURL=IncidentUpdateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentUpdateRequest = void 0;\n/**\n * Update request for an incident.\n */\nclass IncidentUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentUpdateRequest.attributeTypeMap;\n    }\n}\nexports.IncidentUpdateRequest = IncidentUpdateRequest;\n/**\n * @ignore\n */\nIncidentUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"IncidentUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=IncidentUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncidentsResponse = void 0;\n/**\n * Response with a list of incidents.\n */\nclass IncidentsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IncidentsResponse.attributeTypeMap;\n    }\n}\nexports.IncidentsResponse = IncidentsResponse;\n/**\n * @ignore\n */\nIncidentsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"IncidentResponseMeta\",\n    },\n};\n//# sourceMappingURL=IncidentsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntakePayloadAccepted = void 0;\n/**\n * The payload accepted for intake.\n */\nclass IntakePayloadAccepted {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return IntakePayloadAccepted.attributeTypeMap;\n    }\n}\nexports.IntakePayloadAccepted = IntakePayloadAccepted;\n/**\n * @ignore\n */\nIntakePayloadAccepted.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=IntakePayloadAccepted.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JSONAPIErrorItem = void 0;\n/**\n * API error response body\n */\nclass JSONAPIErrorItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return JSONAPIErrorItem.attributeTypeMap;\n    }\n}\nexports.JSONAPIErrorItem = JSONAPIErrorItem;\n/**\n * @ignore\n */\nJSONAPIErrorItem.attributeTypeMap = {\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=JSONAPIErrorItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JSONAPIErrorResponse = void 0;\n/**\n * API error response.\n */\nclass JSONAPIErrorResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return JSONAPIErrorResponse.attributeTypeMap;\n    }\n}\nexports.JSONAPIErrorResponse = JSONAPIErrorResponse;\n/**\n * @ignore\n */\nJSONAPIErrorResponse.attributeTypeMap = {\n    errors: {\n        baseName: \"errors\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=JSONAPIErrorResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JiraIntegrationMetadata = void 0;\n/**\n * Incident integration metadata for the Jira integration.\n */\nclass JiraIntegrationMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return JiraIntegrationMetadata.attributeTypeMap;\n    }\n}\nexports.JiraIntegrationMetadata = JiraIntegrationMetadata;\n/**\n * @ignore\n */\nJiraIntegrationMetadata.attributeTypeMap = {\n    issues: {\n        baseName: \"issues\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=JiraIntegrationMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JiraIntegrationMetadataIssuesItem = void 0;\n/**\n * Item in the Jira integration metadata issue array.\n */\nclass JiraIntegrationMetadataIssuesItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return JiraIntegrationMetadataIssuesItem.attributeTypeMap;\n    }\n}\nexports.JiraIntegrationMetadataIssuesItem = JiraIntegrationMetadataIssuesItem;\n/**\n * @ignore\n */\nJiraIntegrationMetadataIssuesItem.attributeTypeMap = {\n    account: {\n        baseName: \"account\",\n        type: \"string\",\n        required: true,\n    },\n    issueKey: {\n        baseName: \"issue_key\",\n        type: \"string\",\n    },\n    issuetypeId: {\n        baseName: \"issuetype_id\",\n        type: \"string\",\n    },\n    projectKey: {\n        baseName: \"project_key\",\n        type: \"string\",\n        required: true,\n    },\n    redirectUrl: {\n        baseName: \"redirect_url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=JiraIntegrationMetadataIssuesItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListApplicationKeysResponse = void 0;\n/**\n * Response for a list of application keys.\n */\nclass ListApplicationKeysResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListApplicationKeysResponse.attributeTypeMap;\n    }\n}\nexports.ListApplicationKeysResponse = ListApplicationKeysResponse;\n/**\n * @ignore\n */\nListApplicationKeysResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ListApplicationKeysResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListDowntimesResponse = void 0;\n/**\n * Response for retrieving all downtimes.\n */\nclass ListDowntimesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListDowntimesResponse.attributeTypeMap;\n    }\n}\nexports.ListDowntimesResponse = ListDowntimesResponse;\n/**\n * @ignore\n */\nListDowntimesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"DowntimeMeta\",\n    },\n};\n//# sourceMappingURL=ListDowntimesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListFindingsMeta = void 0;\n/**\n * Metadata for pagination.\n */\nclass ListFindingsMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListFindingsMeta.attributeTypeMap;\n    }\n}\nexports.ListFindingsMeta = ListFindingsMeta;\n/**\n * @ignore\n */\nListFindingsMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"ListFindingsPage\",\n    },\n    snapshotTimestamp: {\n        baseName: \"snapshot_timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=ListFindingsMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListFindingsPage = void 0;\n/**\n * Pagination and findings count information.\n */\nclass ListFindingsPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListFindingsPage.attributeTypeMap;\n    }\n}\nexports.ListFindingsPage = ListFindingsPage;\n/**\n * @ignore\n */\nListFindingsPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=ListFindingsPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListFindingsResponse = void 0;\n/**\n * The expected response schema when listing findings.\n */\nclass ListFindingsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ListFindingsResponse.attributeTypeMap;\n    }\n}\nexports.ListFindingsResponse = ListFindingsResponse;\n/**\n * @ignore\n */\nListFindingsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ListFindingsMeta\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ListFindingsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Log = void 0;\n/**\n * Object description of a log after being processed and stored by Datadog.\n */\nclass Log {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Log.attributeTypeMap;\n    }\n}\nexports.Log = Log;\n/**\n * @ignore\n */\nLog.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogType\",\n    },\n};\n//# sourceMappingURL=Log.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogAttributes = void 0;\n/**\n * JSON object containing all log attributes and their associated values.\n */\nclass LogAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogAttributes.attributeTypeMap;\n    }\n}\nexports.LogAttributes = LogAttributes;\n/**\n * @ignore\n */\nLogAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=LogAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateBucket = void 0;\n/**\n * A bucket values\n */\nclass LogsAggregateBucket {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateBucket.attributeTypeMap;\n    }\n}\nexports.LogsAggregateBucket = LogsAggregateBucket;\n/**\n * @ignore\n */\nLogsAggregateBucket.attributeTypeMap = {\n    by: {\n        baseName: \"by\",\n        type: \"{ [key: string]: any; }\",\n    },\n    computes: {\n        baseName: \"computes\",\n        type: \"{ [key: string]: LogsAggregateBucketValue; }\",\n    },\n};\n//# sourceMappingURL=LogsAggregateBucket.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateBucketValueTimeseriesPoint = void 0;\n/**\n * A timeseries point\n */\nclass LogsAggregateBucketValueTimeseriesPoint {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateBucketValueTimeseriesPoint.attributeTypeMap;\n    }\n}\nexports.LogsAggregateBucketValueTimeseriesPoint = LogsAggregateBucketValueTimeseriesPoint;\n/**\n * @ignore\n */\nLogsAggregateBucketValueTimeseriesPoint.attributeTypeMap = {\n    time: {\n        baseName: \"time\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=LogsAggregateBucketValueTimeseriesPoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateRequest = void 0;\n/**\n * The object sent with the request to retrieve a list of logs from your organization.\n */\nclass LogsAggregateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateRequest.attributeTypeMap;\n    }\n}\nexports.LogsAggregateRequest = LogsAggregateRequest;\n/**\n * @ignore\n */\nLogsAggregateRequest.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsQueryFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"LogsQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"LogsAggregateRequestPage\",\n    },\n};\n//# sourceMappingURL=LogsAggregateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateRequestPage = void 0;\n/**\n * Paging settings\n */\nclass LogsAggregateRequestPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateRequestPage.attributeTypeMap;\n    }\n}\nexports.LogsAggregateRequestPage = LogsAggregateRequestPage;\n/**\n * @ignore\n */\nLogsAggregateRequestPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsAggregateRequestPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateResponse = void 0;\n/**\n * The response object for the logs aggregate API endpoint\n */\nclass LogsAggregateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateResponse.attributeTypeMap;\n    }\n}\nexports.LogsAggregateResponse = LogsAggregateResponse;\n/**\n * @ignore\n */\nLogsAggregateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsAggregateResponseData\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"LogsResponseMetadata\",\n    },\n};\n//# sourceMappingURL=LogsAggregateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateResponseData = void 0;\n/**\n * The query results\n */\nclass LogsAggregateResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateResponseData.attributeTypeMap;\n    }\n}\nexports.LogsAggregateResponseData = LogsAggregateResponseData;\n/**\n * @ignore\n */\nLogsAggregateResponseData.attributeTypeMap = {\n    buckets: {\n        baseName: \"buckets\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsAggregateResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsAggregateSort = void 0;\n/**\n * A sort rule\n */\nclass LogsAggregateSort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsAggregateSort.attributeTypeMap;\n    }\n}\nexports.LogsAggregateSort = LogsAggregateSort;\n/**\n * @ignore\n */\nLogsAggregateSort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"LogsAggregationFunction\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"LogsSortOrder\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsAggregateSortType\",\n    },\n};\n//# sourceMappingURL=LogsAggregateSort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchive = void 0;\n/**\n * The logs archive.\n */\nclass LogsArchive {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchive.attributeTypeMap;\n    }\n}\nexports.LogsArchive = LogsArchive;\n/**\n * @ignore\n */\nLogsArchive.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsArchiveDefinition\",\n    },\n};\n//# sourceMappingURL=LogsArchive.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveAttributes = void 0;\n/**\n * The attributes associated with the archive.\n */\nclass LogsArchiveAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveAttributes.attributeTypeMap;\n    }\n}\nexports.LogsArchiveAttributes = LogsArchiveAttributes;\n/**\n * @ignore\n */\nLogsArchiveAttributes.attributeTypeMap = {\n    destination: {\n        baseName: \"destination\",\n        type: \"LogsArchiveDestination\",\n        required: true,\n    },\n    includeTags: {\n        baseName: \"include_tags\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    rehydrationMaxScanSizeInGb: {\n        baseName: \"rehydration_max_scan_size_in_gb\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rehydrationTags: {\n        baseName: \"rehydration_tags\",\n        type: \"Array\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"LogsArchiveState\",\n    },\n};\n//# sourceMappingURL=LogsArchiveAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveCreateRequest = void 0;\n/**\n * The logs archive.\n */\nclass LogsArchiveCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveCreateRequest.attributeTypeMap;\n    }\n}\nexports.LogsArchiveCreateRequest = LogsArchiveCreateRequest;\n/**\n * @ignore\n */\nLogsArchiveCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsArchiveCreateRequestDefinition\",\n    },\n};\n//# sourceMappingURL=LogsArchiveCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveCreateRequestAttributes = void 0;\n/**\n * The attributes associated with the archive.\n */\nclass LogsArchiveCreateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveCreateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.LogsArchiveCreateRequestAttributes = LogsArchiveCreateRequestAttributes;\n/**\n * @ignore\n */\nLogsArchiveCreateRequestAttributes.attributeTypeMap = {\n    destination: {\n        baseName: \"destination\",\n        type: \"LogsArchiveCreateRequestDestination\",\n        required: true,\n    },\n    includeTags: {\n        baseName: \"include_tags\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n    rehydrationMaxScanSizeInGb: {\n        baseName: \"rehydration_max_scan_size_in_gb\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    rehydrationTags: {\n        baseName: \"rehydration_tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsArchiveCreateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveCreateRequestDefinition = void 0;\n/**\n * The definition of an archive.\n */\nclass LogsArchiveCreateRequestDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveCreateRequestDefinition.attributeTypeMap;\n    }\n}\nexports.LogsArchiveCreateRequestDefinition = LogsArchiveCreateRequestDefinition;\n/**\n * @ignore\n */\nLogsArchiveCreateRequestDefinition.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsArchiveCreateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveCreateRequestDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveDefinition = void 0;\n/**\n * The definition of an archive.\n */\nclass LogsArchiveDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveDefinition.attributeTypeMap;\n    }\n}\nexports.LogsArchiveDefinition = LogsArchiveDefinition;\n/**\n * @ignore\n */\nLogsArchiveDefinition.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsArchiveAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveDestinationAzure = void 0;\n/**\n * The Azure archive destination.\n */\nclass LogsArchiveDestinationAzure {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveDestinationAzure.attributeTypeMap;\n    }\n}\nexports.LogsArchiveDestinationAzure = LogsArchiveDestinationAzure;\n/**\n * @ignore\n */\nLogsArchiveDestinationAzure.attributeTypeMap = {\n    container: {\n        baseName: \"container\",\n        type: \"string\",\n        required: true,\n    },\n    integration: {\n        baseName: \"integration\",\n        type: \"LogsArchiveIntegrationAzure\",\n        required: true,\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    storageAccount: {\n        baseName: \"storage_account\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsArchiveDestinationAzureType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveDestinationAzure.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveDestinationGCS = void 0;\n/**\n * The GCS archive destination.\n */\nclass LogsArchiveDestinationGCS {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveDestinationGCS.attributeTypeMap;\n    }\n}\nexports.LogsArchiveDestinationGCS = LogsArchiveDestinationGCS;\n/**\n * @ignore\n */\nLogsArchiveDestinationGCS.attributeTypeMap = {\n    bucket: {\n        baseName: \"bucket\",\n        type: \"string\",\n        required: true,\n    },\n    integration: {\n        baseName: \"integration\",\n        type: \"LogsArchiveIntegrationGCS\",\n        required: true,\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsArchiveDestinationGCSType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveDestinationGCS.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveDestinationS3 = void 0;\n/**\n * The S3 archive destination.\n */\nclass LogsArchiveDestinationS3 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveDestinationS3.attributeTypeMap;\n    }\n}\nexports.LogsArchiveDestinationS3 = LogsArchiveDestinationS3;\n/**\n * @ignore\n */\nLogsArchiveDestinationS3.attributeTypeMap = {\n    bucket: {\n        baseName: \"bucket\",\n        type: \"string\",\n        required: true,\n    },\n    integration: {\n        baseName: \"integration\",\n        type: \"LogsArchiveIntegrationS3\",\n        required: true,\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsArchiveDestinationS3Type\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveDestinationS3.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveIntegrationAzure = void 0;\n/**\n * The Azure archive's integration destination.\n */\nclass LogsArchiveIntegrationAzure {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveIntegrationAzure.attributeTypeMap;\n    }\n}\nexports.LogsArchiveIntegrationAzure = LogsArchiveIntegrationAzure;\n/**\n * @ignore\n */\nLogsArchiveIntegrationAzure.attributeTypeMap = {\n    clientId: {\n        baseName: \"client_id\",\n        type: \"string\",\n        required: true,\n    },\n    tenantId: {\n        baseName: \"tenant_id\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveIntegrationAzure.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveIntegrationGCS = void 0;\n/**\n * The GCS archive's integration destination.\n */\nclass LogsArchiveIntegrationGCS {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveIntegrationGCS.attributeTypeMap;\n    }\n}\nexports.LogsArchiveIntegrationGCS = LogsArchiveIntegrationGCS;\n/**\n * @ignore\n */\nLogsArchiveIntegrationGCS.attributeTypeMap = {\n    clientEmail: {\n        baseName: \"client_email\",\n        type: \"string\",\n        required: true,\n    },\n    projectId: {\n        baseName: \"project_id\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveIntegrationGCS.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveIntegrationS3 = void 0;\n/**\n * The S3 Archive's integration destination.\n */\nclass LogsArchiveIntegrationS3 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveIntegrationS3.attributeTypeMap;\n    }\n}\nexports.LogsArchiveIntegrationS3 = LogsArchiveIntegrationS3;\n/**\n * @ignore\n */\nLogsArchiveIntegrationS3.attributeTypeMap = {\n    accountId: {\n        baseName: \"account_id\",\n        type: \"string\",\n        required: true,\n    },\n    roleName: {\n        baseName: \"role_name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveIntegrationS3.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveOrder = void 0;\n/**\n * A ordered list of archive IDs.\n */\nclass LogsArchiveOrder {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveOrder.attributeTypeMap;\n    }\n}\nexports.LogsArchiveOrder = LogsArchiveOrder;\n/**\n * @ignore\n */\nLogsArchiveOrder.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsArchiveOrderDefinition\",\n    },\n};\n//# sourceMappingURL=LogsArchiveOrder.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveOrderAttributes = void 0;\n/**\n * The attributes associated with the archive order.\n */\nclass LogsArchiveOrderAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveOrderAttributes.attributeTypeMap;\n    }\n}\nexports.LogsArchiveOrderAttributes = LogsArchiveOrderAttributes;\n/**\n * @ignore\n */\nLogsArchiveOrderAttributes.attributeTypeMap = {\n    archiveIds: {\n        baseName: \"archive_ids\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveOrderAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchiveOrderDefinition = void 0;\n/**\n * The definition of an archive order.\n */\nclass LogsArchiveOrderDefinition {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchiveOrderDefinition.attributeTypeMap;\n    }\n}\nexports.LogsArchiveOrderDefinition = LogsArchiveOrderDefinition;\n/**\n * @ignore\n */\nLogsArchiveOrderDefinition.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsArchiveOrderAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsArchiveOrderDefinitionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsArchiveOrderDefinition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsArchives = void 0;\n/**\n * The available archives.\n */\nclass LogsArchives {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsArchives.attributeTypeMap;\n    }\n}\nexports.LogsArchives = LogsArchives;\n/**\n * @ignore\n */\nLogsArchives.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsArchives.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsCompute = void 0;\n/**\n * A compute rule to compute metrics or timeseries\n */\nclass LogsCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsCompute.attributeTypeMap;\n    }\n}\nexports.LogsCompute = LogsCompute;\n/**\n * @ignore\n */\nLogsCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"LogsAggregationFunction\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsComputeType\",\n    },\n};\n//# sourceMappingURL=LogsCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsGroupBy = void 0;\n/**\n * A group by rule\n */\nclass LogsGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsGroupBy.attributeTypeMap;\n    }\n}\nexports.LogsGroupBy = LogsGroupBy;\n/**\n * @ignore\n */\nLogsGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    histogram: {\n        baseName: \"histogram\",\n        type: \"LogsGroupByHistogram\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    missing: {\n        baseName: \"missing\",\n        type: \"LogsGroupByMissing\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"LogsAggregateSort\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"LogsGroupByTotal\",\n    },\n};\n//# sourceMappingURL=LogsGroupBy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsGroupByHistogram = void 0;\n/**\n * Used to perform a histogram computation (only for measure facets).\n * Note: at most 100 buckets are allowed, the number of buckets is (max - min)/interval.\n */\nclass LogsGroupByHistogram {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsGroupByHistogram.attributeTypeMap;\n    }\n}\nexports.LogsGroupByHistogram = LogsGroupByHistogram;\n/**\n * @ignore\n */\nLogsGroupByHistogram.attributeTypeMap = {\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=LogsGroupByHistogram.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListRequest = void 0;\n/**\n * The request for a logs list.\n */\nclass LogsListRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListRequest.attributeTypeMap;\n    }\n}\nexports.LogsListRequest = LogsListRequest;\n/**\n * @ignore\n */\nLogsListRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"LogsQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"LogsListRequestPage\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"LogsSort\",\n    },\n};\n//# sourceMappingURL=LogsListRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListRequestPage = void 0;\n/**\n * Paging attributes for listing logs.\n */\nclass LogsListRequestPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListRequestPage.attributeTypeMap;\n    }\n}\nexports.LogsListRequestPage = LogsListRequestPage;\n/**\n * @ignore\n */\nLogsListRequestPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=LogsListRequestPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListResponse = void 0;\n/**\n * Response object with all logs matching the request and pagination information.\n */\nclass LogsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListResponse.attributeTypeMap;\n    }\n}\nexports.LogsListResponse = LogsListResponse;\n/**\n * @ignore\n */\nLogsListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"LogsListResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"LogsResponseMetadata\",\n    },\n};\n//# sourceMappingURL=LogsListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsListResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass LogsListResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsListResponseLinks.attributeTypeMap;\n    }\n}\nexports.LogsListResponseLinks = LogsListResponseLinks;\n/**\n * @ignore\n */\nLogsListResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsListResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricCompute = void 0;\n/**\n * The compute rule to compute the log-based metric.\n */\nclass LogsMetricCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricCompute.attributeTypeMap;\n    }\n}\nexports.LogsMetricCompute = LogsMetricCompute;\n/**\n * @ignore\n */\nLogsMetricCompute.attributeTypeMap = {\n    aggregationType: {\n        baseName: \"aggregation_type\",\n        type: \"LogsMetricComputeAggregationType\",\n        required: true,\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricCreateAttributes = void 0;\n/**\n * The object describing the Datadog log-based metric to create.\n */\nclass LogsMetricCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricCreateAttributes.attributeTypeMap;\n    }\n}\nexports.LogsMetricCreateAttributes = LogsMetricCreateAttributes;\n/**\n * @ignore\n */\nLogsMetricCreateAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"LogsMetricCompute\",\n        required: true,\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsMetricFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsMetricCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricCreateData = void 0;\n/**\n * The new log-based metric properties.\n */\nclass LogsMetricCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricCreateData.attributeTypeMap;\n    }\n}\nexports.LogsMetricCreateData = LogsMetricCreateData;\n/**\n * @ignore\n */\nLogsMetricCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsMetricCreateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsMetricType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsMetricCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricCreateRequest = void 0;\n/**\n * The new log-based metric body.\n */\nclass LogsMetricCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricCreateRequest.attributeTypeMap;\n    }\n}\nexports.LogsMetricCreateRequest = LogsMetricCreateRequest;\n/**\n * @ignore\n */\nLogsMetricCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsMetricCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsMetricCreateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricFilter = void 0;\n/**\n * The log-based metric filter. Logs matching this filter will be aggregated in this metric.\n */\nclass LogsMetricFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricFilter.attributeTypeMap;\n    }\n}\nexports.LogsMetricFilter = LogsMetricFilter;\n/**\n * @ignore\n */\nLogsMetricFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricGroupBy = void 0;\n/**\n * A group by rule.\n */\nclass LogsMetricGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricGroupBy.attributeTypeMap;\n    }\n}\nexports.LogsMetricGroupBy = LogsMetricGroupBy;\n/**\n * @ignore\n */\nLogsMetricGroupBy.attributeTypeMap = {\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n        required: true,\n    },\n    tagName: {\n        baseName: \"tag_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponse = void 0;\n/**\n * The log-based metric object.\n */\nclass LogsMetricResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponse.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponse = LogsMetricResponse;\n/**\n * @ignore\n */\nLogsMetricResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsMetricResponseData\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponseAttributes = void 0;\n/**\n * The object describing a Datadog log-based metric.\n */\nclass LogsMetricResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponseAttributes.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponseAttributes = LogsMetricResponseAttributes;\n/**\n * @ignore\n */\nLogsMetricResponseAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"LogsMetricResponseCompute\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsMetricResponseFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponseCompute = void 0;\n/**\n * The compute rule to compute the log-based metric.\n */\nclass LogsMetricResponseCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponseCompute.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponseCompute = LogsMetricResponseCompute;\n/**\n * @ignore\n */\nLogsMetricResponseCompute.attributeTypeMap = {\n    aggregationType: {\n        baseName: \"aggregation_type\",\n        type: \"LogsMetricResponseComputeAggregationType\",\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponseCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponseData = void 0;\n/**\n * The log-based metric properties.\n */\nclass LogsMetricResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponseData.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponseData = LogsMetricResponseData;\n/**\n * @ignore\n */\nLogsMetricResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsMetricResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsMetricType\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponseFilter = void 0;\n/**\n * The log-based metric filter. Logs matching this filter will be aggregated in this metric.\n */\nclass LogsMetricResponseFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponseFilter.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponseFilter = LogsMetricResponseFilter;\n/**\n * @ignore\n */\nLogsMetricResponseFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponseFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricResponseGroupBy = void 0;\n/**\n * A group by rule.\n */\nclass LogsMetricResponseGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricResponseGroupBy.attributeTypeMap;\n    }\n}\nexports.LogsMetricResponseGroupBy = LogsMetricResponseGroupBy;\n/**\n * @ignore\n */\nLogsMetricResponseGroupBy.attributeTypeMap = {\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n    tagName: {\n        baseName: \"tag_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsMetricResponseGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricUpdateAttributes = void 0;\n/**\n * The log-based metric properties that will be updated.\n */\nclass LogsMetricUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.LogsMetricUpdateAttributes = LogsMetricUpdateAttributes;\n/**\n * @ignore\n */\nLogsMetricUpdateAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"LogsMetricUpdateCompute\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"LogsMetricFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsMetricUpdateAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricUpdateCompute = void 0;\n/**\n * The compute rule to compute the log-based metric.\n */\nclass LogsMetricUpdateCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricUpdateCompute.attributeTypeMap;\n    }\n}\nexports.LogsMetricUpdateCompute = LogsMetricUpdateCompute;\n/**\n * @ignore\n */\nLogsMetricUpdateCompute.attributeTypeMap = {\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=LogsMetricUpdateCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricUpdateData = void 0;\n/**\n * The new log-based metric properties.\n */\nclass LogsMetricUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricUpdateData.attributeTypeMap;\n    }\n}\nexports.LogsMetricUpdateData = LogsMetricUpdateData;\n/**\n * @ignore\n */\nLogsMetricUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"LogsMetricUpdateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"LogsMetricType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsMetricUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricUpdateRequest = void 0;\n/**\n * The new log-based metric body.\n */\nclass LogsMetricUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricUpdateRequest.attributeTypeMap;\n    }\n}\nexports.LogsMetricUpdateRequest = LogsMetricUpdateRequest;\n/**\n * @ignore\n */\nLogsMetricUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"LogsMetricUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=LogsMetricUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsMetricsResponse = void 0;\n/**\n * All the available log-based metric objects.\n */\nclass LogsMetricsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsMetricsResponse.attributeTypeMap;\n    }\n}\nexports.LogsMetricsResponse = LogsMetricsResponse;\n/**\n * @ignore\n */\nLogsMetricsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsMetricsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsQueryFilter = void 0;\n/**\n * The search and filter query settings\n */\nclass LogsQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsQueryFilter.attributeTypeMap;\n    }\n}\nexports.LogsQueryFilter = LogsQueryFilter;\n/**\n * @ignore\n */\nLogsQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    indexes: {\n        baseName: \"indexes\",\n        type: \"Array\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    storageTier: {\n        baseName: \"storage_tier\",\n        type: \"LogsStorageTier\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsQueryOptions = void 0;\n/**\n * Global query options that are used during the query.\n * Note: you should supply either timezone or time offset, but not both. Otherwise, the query will fail.\n */\nclass LogsQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsQueryOptions.attributeTypeMap;\n    }\n}\nexports.LogsQueryOptions = LogsQueryOptions;\n/**\n * @ignore\n */\nLogsQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"timeOffset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsQueryOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsResponseMetadata = void 0;\n/**\n * The metadata associated with a request\n */\nclass LogsResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsResponseMetadata.attributeTypeMap;\n    }\n}\nexports.LogsResponseMetadata = LogsResponseMetadata;\n/**\n * @ignore\n */\nLogsResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"LogsResponseMetadataPage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"LogsAggregateResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=LogsResponseMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsResponseMetadataPage = void 0;\n/**\n * Paging attributes.\n */\nclass LogsResponseMetadataPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsResponseMetadataPage.attributeTypeMap;\n    }\n}\nexports.LogsResponseMetadataPage = LogsResponseMetadataPage;\n/**\n * @ignore\n */\nLogsResponseMetadataPage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsResponseMetadataPage.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogsWarning = void 0;\n/**\n * A warning message indicating something that went wrong with the query\n */\nclass LogsWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return LogsWarning.attributeTypeMap;\n    }\n}\nexports.LogsWarning = LogsWarning;\n/**\n * @ignore\n */\nLogsWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=LogsWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Metric = void 0;\n/**\n * Object for a single metric tag configuration.\n */\nclass Metric {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Metric.attributeTypeMap;\n    }\n}\nexports.Metric = Metric;\n/**\n * @ignore\n */\nMetric.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricType\",\n    },\n};\n//# sourceMappingURL=Metric.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricAllTags = void 0;\n/**\n * Object for a single metric's indexed tags.\n */\nclass MetricAllTags {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricAllTags.attributeTypeMap;\n    }\n}\nexports.MetricAllTags = MetricAllTags;\n/**\n * @ignore\n */\nMetricAllTags.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricAllTagsAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricType\",\n    },\n};\n//# sourceMappingURL=MetricAllTags.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricAllTagsAttributes = void 0;\n/**\n * Object containing the definition of a metric's tags.\n */\nclass MetricAllTagsAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricAllTagsAttributes.attributeTypeMap;\n    }\n}\nexports.MetricAllTagsAttributes = MetricAllTagsAttributes;\n/**\n * @ignore\n */\nMetricAllTagsAttributes.attributeTypeMap = {\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricAllTagsAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricAllTagsResponse = void 0;\n/**\n * Response object that includes a single metric's indexed tags.\n */\nclass MetricAllTagsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricAllTagsResponse.attributeTypeMap;\n    }\n}\nexports.MetricAllTagsResponse = MetricAllTagsResponse;\n/**\n * @ignore\n */\nMetricAllTagsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricAllTags\",\n    },\n};\n//# sourceMappingURL=MetricAllTagsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigCreate = void 0;\n/**\n * Request object to bulk configure tags for metrics matching the given prefix.\n */\nclass MetricBulkTagConfigCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigCreate.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigCreate = MetricBulkTagConfigCreate;\n/**\n * @ignore\n */\nMetricBulkTagConfigCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricBulkTagConfigCreateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricBulkConfigureTagsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigCreate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigCreateAttributes = void 0;\n/**\n * Optional parameters for bulk creating metric tag configurations.\n */\nclass MetricBulkTagConfigCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigCreateAttributes.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigCreateAttributes = MetricBulkTagConfigCreateAttributes;\n/**\n * @ignore\n */\nMetricBulkTagConfigCreateAttributes.attributeTypeMap = {\n    emails: {\n        baseName: \"emails\",\n        type: \"Array\",\n        format: \"email\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigCreateRequest = void 0;\n/**\n * Wrapper object for a single bulk tag configuration request.\n */\nclass MetricBulkTagConfigCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigCreateRequest.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigCreateRequest = MetricBulkTagConfigCreateRequest;\n/**\n * @ignore\n */\nMetricBulkTagConfigCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricBulkTagConfigCreate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigDelete = void 0;\n/**\n * Request object to bulk delete all tag configurations for metrics matching the given prefix.\n */\nclass MetricBulkTagConfigDelete {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigDelete.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigDelete = MetricBulkTagConfigDelete;\n/**\n * @ignore\n */\nMetricBulkTagConfigDelete.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricBulkTagConfigDeleteAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricBulkConfigureTagsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigDelete.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigDeleteAttributes = void 0;\n/**\n * Optional parameters for bulk deleting metric tag configurations.\n */\nclass MetricBulkTagConfigDeleteAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigDeleteAttributes.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigDeleteAttributes = MetricBulkTagConfigDeleteAttributes;\n/**\n * @ignore\n */\nMetricBulkTagConfigDeleteAttributes.attributeTypeMap = {\n    emails: {\n        baseName: \"emails\",\n        type: \"Array\",\n        format: \"email\",\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigDeleteAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigDeleteRequest = void 0;\n/**\n * Wrapper object for a single bulk tag deletion request.\n */\nclass MetricBulkTagConfigDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigDeleteRequest.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigDeleteRequest = MetricBulkTagConfigDeleteRequest;\n/**\n * @ignore\n */\nMetricBulkTagConfigDeleteRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricBulkTagConfigDelete\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigDeleteRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigResponse = void 0;\n/**\n * Wrapper for a single bulk tag configuration status response.\n */\nclass MetricBulkTagConfigResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigResponse.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigResponse = MetricBulkTagConfigResponse;\n/**\n * @ignore\n */\nMetricBulkTagConfigResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricBulkTagConfigStatus\",\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigStatus = void 0;\n/**\n * The status of a request to bulk configure metric tags.\n * It contains the fields from the original request for reference.\n */\nclass MetricBulkTagConfigStatus {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigStatus.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigStatus = MetricBulkTagConfigStatus;\n/**\n * @ignore\n */\nMetricBulkTagConfigStatus.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricBulkTagConfigStatusAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricBulkConfigureTagsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigStatus.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricBulkTagConfigStatusAttributes = void 0;\n/**\n * Optional attributes for the status of a bulk tag configuration request.\n */\nclass MetricBulkTagConfigStatusAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricBulkTagConfigStatusAttributes.attributeTypeMap;\n    }\n}\nexports.MetricBulkTagConfigStatusAttributes = MetricBulkTagConfigStatusAttributes;\n/**\n * @ignore\n */\nMetricBulkTagConfigStatusAttributes.attributeTypeMap = {\n    emails: {\n        baseName: \"emails\",\n        type: \"Array\",\n        format: \"email\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricBulkTagConfigStatusAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricCustomAggregation = void 0;\n/**\n * A time and space aggregation combination for use in query.\n */\nclass MetricCustomAggregation {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricCustomAggregation.attributeTypeMap;\n    }\n}\nexports.MetricCustomAggregation = MetricCustomAggregation;\n/**\n * @ignore\n */\nMetricCustomAggregation.attributeTypeMap = {\n    space: {\n        baseName: \"space\",\n        type: \"MetricCustomSpaceAggregation\",\n        required: true,\n    },\n    time: {\n        baseName: \"time\",\n        type: \"MetricCustomTimeAggregation\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricCustomAggregation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricDistinctVolume = void 0;\n/**\n * Object for a single metric's distinct volume.\n */\nclass MetricDistinctVolume {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricDistinctVolume.attributeTypeMap;\n    }\n}\nexports.MetricDistinctVolume = MetricDistinctVolume;\n/**\n * @ignore\n */\nMetricDistinctVolume.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricDistinctVolumeAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricDistinctVolumeType\",\n    },\n};\n//# sourceMappingURL=MetricDistinctVolume.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricDistinctVolumeAttributes = void 0;\n/**\n * Object containing the definition of a metric's distinct volume.\n */\nclass MetricDistinctVolumeAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricDistinctVolumeAttributes.attributeTypeMap;\n    }\n}\nexports.MetricDistinctVolumeAttributes = MetricDistinctVolumeAttributes;\n/**\n * @ignore\n */\nMetricDistinctVolumeAttributes.attributeTypeMap = {\n    distinctVolume: {\n        baseName: \"distinct_volume\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MetricDistinctVolumeAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricEstimate = void 0;\n/**\n * Object for a metric cardinality estimate.\n */\nclass MetricEstimate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricEstimate.attributeTypeMap;\n    }\n}\nexports.MetricEstimate = MetricEstimate;\n/**\n * @ignore\n */\nMetricEstimate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricEstimateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricEstimateResourceType\",\n    },\n};\n//# sourceMappingURL=MetricEstimate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricEstimateAttributes = void 0;\n/**\n * Object containing the definition of a metric estimate attribute.\n */\nclass MetricEstimateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricEstimateAttributes.attributeTypeMap;\n    }\n}\nexports.MetricEstimateAttributes = MetricEstimateAttributes;\n/**\n * @ignore\n */\nMetricEstimateAttributes.attributeTypeMap = {\n    estimateType: {\n        baseName: \"estimate_type\",\n        type: \"MetricEstimateType\",\n    },\n    estimatedAt: {\n        baseName: \"estimated_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    estimatedOutputSeries: {\n        baseName: \"estimated_output_series\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MetricEstimateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricEstimateResponse = void 0;\n/**\n * Response object that includes metric cardinality estimates.\n */\nclass MetricEstimateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricEstimateResponse.attributeTypeMap;\n    }\n}\nexports.MetricEstimateResponse = MetricEstimateResponse;\n/**\n * @ignore\n */\nMetricEstimateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricEstimate\",\n    },\n};\n//# sourceMappingURL=MetricEstimateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricIngestedIndexedVolume = void 0;\n/**\n * Object for a single metric's ingested and indexed volume.\n */\nclass MetricIngestedIndexedVolume {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricIngestedIndexedVolume.attributeTypeMap;\n    }\n}\nexports.MetricIngestedIndexedVolume = MetricIngestedIndexedVolume;\n/**\n * @ignore\n */\nMetricIngestedIndexedVolume.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricIngestedIndexedVolumeAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricIngestedIndexedVolumeType\",\n    },\n};\n//# sourceMappingURL=MetricIngestedIndexedVolume.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricIngestedIndexedVolumeAttributes = void 0;\n/**\n * Object containing the definition of a metric's ingested and indexed volume.\n */\nclass MetricIngestedIndexedVolumeAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricIngestedIndexedVolumeAttributes.attributeTypeMap;\n    }\n}\nexports.MetricIngestedIndexedVolumeAttributes = MetricIngestedIndexedVolumeAttributes;\n/**\n * @ignore\n */\nMetricIngestedIndexedVolumeAttributes.attributeTypeMap = {\n    indexedVolume: {\n        baseName: \"indexed_volume\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ingestedVolume: {\n        baseName: \"ingested_volume\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=MetricIngestedIndexedVolumeAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricMetadata = void 0;\n/**\n * Metadata for the metric.\n */\nclass MetricMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricMetadata.attributeTypeMap;\n    }\n}\nexports.MetricMetadata = MetricMetadata;\n/**\n * @ignore\n */\nMetricMetadata.attributeTypeMap = {\n    origin: {\n        baseName: \"origin\",\n        type: \"MetricOrigin\",\n    },\n};\n//# sourceMappingURL=MetricMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricOrigin = void 0;\n/**\n * Metric origin information.\n */\nclass MetricOrigin {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricOrigin.attributeTypeMap;\n    }\n}\nexports.MetricOrigin = MetricOrigin;\n/**\n * @ignore\n */\nMetricOrigin.attributeTypeMap = {\n    metricType: {\n        baseName: \"metric_type\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    product: {\n        baseName: \"product\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=MetricOrigin.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricPayload = void 0;\n/**\n * The metrics' payload.\n */\nclass MetricPayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricPayload.attributeTypeMap;\n    }\n}\nexports.MetricPayload = MetricPayload;\n/**\n * @ignore\n */\nMetricPayload.attributeTypeMap = {\n    series: {\n        baseName: \"series\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricPayload.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricPoint = void 0;\n/**\n * A point object is of the form `{POSIX_timestamp, numeric_value}`.\n */\nclass MetricPoint {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricPoint.attributeTypeMap;\n    }\n}\nexports.MetricPoint = MetricPoint;\n/**\n * @ignore\n */\nMetricPoint.attributeTypeMap = {\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=MetricPoint.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricResource = void 0;\n/**\n * Metric resource.\n */\nclass MetricResource {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricResource.attributeTypeMap;\n    }\n}\nexports.MetricResource = MetricResource;\n/**\n * @ignore\n */\nMetricResource.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MetricResource.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSeries = void 0;\n/**\n * A metric to submit to Datadog.\n * See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties).\n */\nclass MetricSeries {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSeries.attributeTypeMap;\n    }\n}\nexports.MetricSeries = MetricSeries;\n/**\n * @ignore\n */\nMetricSeries.attributeTypeMap = {\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    metadata: {\n        baseName: \"metadata\",\n        type: \"MetricMetadata\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n        required: true,\n    },\n    points: {\n        baseName: \"points\",\n        type: \"Array\",\n        required: true,\n    },\n    resources: {\n        baseName: \"resources\",\n        type: \"Array\",\n    },\n    sourceTypeName: {\n        baseName: \"source_type_name\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricIntakeType\",\n        format: \"int32\",\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MetricSeries.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSuggestedTagsAndAggregations = void 0;\n/**\n * Object for a single metric's actively queried tags and aggregations.\n */\nclass MetricSuggestedTagsAndAggregations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSuggestedTagsAndAggregations.attributeTypeMap;\n    }\n}\nexports.MetricSuggestedTagsAndAggregations = MetricSuggestedTagsAndAggregations;\n/**\n * @ignore\n */\nMetricSuggestedTagsAndAggregations.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricSuggestedTagsAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricActiveConfigurationType\",\n    },\n};\n//# sourceMappingURL=MetricSuggestedTagsAndAggregations.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSuggestedTagsAndAggregationsResponse = void 0;\n/**\n * Response object that includes a single metric's actively queried tags and aggregations.\n */\nclass MetricSuggestedTagsAndAggregationsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSuggestedTagsAndAggregationsResponse.attributeTypeMap;\n    }\n}\nexports.MetricSuggestedTagsAndAggregationsResponse = MetricSuggestedTagsAndAggregationsResponse;\n/**\n * @ignore\n */\nMetricSuggestedTagsAndAggregationsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricSuggestedTagsAndAggregations\",\n    },\n};\n//# sourceMappingURL=MetricSuggestedTagsAndAggregationsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricSuggestedTagsAttributes = void 0;\n/**\n * Object containing the definition of a metric's actively queried tags and aggregations.\n */\nclass MetricSuggestedTagsAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricSuggestedTagsAttributes.attributeTypeMap;\n    }\n}\nexports.MetricSuggestedTagsAttributes = MetricSuggestedTagsAttributes;\n/**\n * @ignore\n */\nMetricSuggestedTagsAttributes.attributeTypeMap = {\n    activeAggregations: {\n        baseName: \"active_aggregations\",\n        type: \"Array\",\n    },\n    activeTags: {\n        baseName: \"active_tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricSuggestedTagsAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfiguration = void 0;\n/**\n * Object for a single metric tag configuration.\n */\nclass MetricTagConfiguration {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfiguration.attributeTypeMap;\n    }\n}\nexports.MetricTagConfiguration = MetricTagConfiguration;\n/**\n * @ignore\n */\nMetricTagConfiguration.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricTagConfigurationAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricTagConfigurationType\",\n    },\n};\n//# sourceMappingURL=MetricTagConfiguration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationAttributes = void 0;\n/**\n * Object containing the definition of a metric tag configuration attributes.\n */\nclass MetricTagConfigurationAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationAttributes.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationAttributes = MetricTagConfigurationAttributes;\n/**\n * @ignore\n */\nMetricTagConfigurationAttributes.attributeTypeMap = {\n    aggregations: {\n        baseName: \"aggregations\",\n        type: \"Array\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    metricType: {\n        baseName: \"metric_type\",\n        type: \"MetricTagConfigurationMetricTypes\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationCreateAttributes = void 0;\n/**\n * Object containing the definition of a metric tag configuration to be created.\n */\nclass MetricTagConfigurationCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationCreateAttributes.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationCreateAttributes = MetricTagConfigurationCreateAttributes;\n/**\n * @ignore\n */\nMetricTagConfigurationCreateAttributes.attributeTypeMap = {\n    aggregations: {\n        baseName: \"aggregations\",\n        type: \"Array\",\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    metricType: {\n        baseName: \"metric_type\",\n        type: \"MetricTagConfigurationMetricTypes\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationCreateData = void 0;\n/**\n * Object for a single metric to be configure tags on.\n */\nclass MetricTagConfigurationCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationCreateData.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationCreateData = MetricTagConfigurationCreateData;\n/**\n * @ignore\n */\nMetricTagConfigurationCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricTagConfigurationCreateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricTagConfigurationType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationCreateRequest = void 0;\n/**\n * Request object that includes the metric that you would like to configure tags for.\n */\nclass MetricTagConfigurationCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationCreateRequest.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationCreateRequest = MetricTagConfigurationCreateRequest;\n/**\n * @ignore\n */\nMetricTagConfigurationCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricTagConfigurationCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationResponse = void 0;\n/**\n * Response object which includes a single metric's tag configuration.\n */\nclass MetricTagConfigurationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationResponse.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationResponse = MetricTagConfigurationResponse;\n/**\n * @ignore\n */\nMetricTagConfigurationResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricTagConfiguration\",\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationUpdateAttributes = void 0;\n/**\n * Object containing the definition of a metric tag configuration to be updated.\n */\nclass MetricTagConfigurationUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationUpdateAttributes = MetricTagConfigurationUpdateAttributes;\n/**\n * @ignore\n */\nMetricTagConfigurationUpdateAttributes.attributeTypeMap = {\n    aggregations: {\n        baseName: \"aggregations\",\n        type: \"Array\",\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationUpdateData = void 0;\n/**\n * Object for a single tag configuration to be edited.\n */\nclass MetricTagConfigurationUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationUpdateData.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationUpdateData = MetricTagConfigurationUpdateData;\n/**\n * @ignore\n */\nMetricTagConfigurationUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MetricTagConfigurationUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MetricTagConfigurationType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricTagConfigurationUpdateRequest = void 0;\n/**\n * Request object that includes the metric that you would like to edit the tag configuration on.\n */\nclass MetricTagConfigurationUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricTagConfigurationUpdateRequest.attributeTypeMap;\n    }\n}\nexports.MetricTagConfigurationUpdateRequest = MetricTagConfigurationUpdateRequest;\n/**\n * @ignore\n */\nMetricTagConfigurationUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricTagConfigurationUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricTagConfigurationUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricVolumesResponse = void 0;\n/**\n * Response object which includes a single metric's volume.\n */\nclass MetricVolumesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricVolumesResponse.attributeTypeMap;\n    }\n}\nexports.MetricVolumesResponse = MetricVolumesResponse;\n/**\n * @ignore\n */\nMetricVolumesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MetricVolumes\",\n    },\n};\n//# sourceMappingURL=MetricVolumesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsAndMetricTagConfigurationsResponse = void 0;\n/**\n * Response object that includes metrics and metric tag configurations.\n */\nclass MetricsAndMetricTagConfigurationsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsAndMetricTagConfigurationsResponse.attributeTypeMap;\n    }\n}\nexports.MetricsAndMetricTagConfigurationsResponse = MetricsAndMetricTagConfigurationsResponse;\n/**\n * @ignore\n */\nMetricsAndMetricTagConfigurationsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MetricsAndMetricTagConfigurationsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsScalarQuery = void 0;\n/**\n * An individual scalar metrics query.\n */\nclass MetricsScalarQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsScalarQuery.attributeTypeMap;\n    }\n}\nexports.MetricsScalarQuery = MetricsScalarQuery;\n/**\n * @ignore\n */\nMetricsScalarQuery.attributeTypeMap = {\n    aggregator: {\n        baseName: \"aggregator\",\n        type: \"MetricsAggregator\",\n        required: true,\n    },\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"MetricsDataSource\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricsScalarQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetricsTimeseriesQuery = void 0;\n/**\n * An individual timeseries metrics query.\n */\nclass MetricsTimeseriesQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MetricsTimeseriesQuery.attributeTypeMap;\n    }\n}\nexports.MetricsTimeseriesQuery = MetricsTimeseriesQuery;\n/**\n * @ignore\n */\nMetricsTimeseriesQuery.attributeTypeMap = {\n    dataSource: {\n        baseName: \"data_source\",\n        type: \"MetricsDataSource\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MetricsTimeseriesQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyAttributeCreateRequest = void 0;\n/**\n * Policy and policy type for a monitor configuration policy.\n */\nclass MonitorConfigPolicyAttributeCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyAttributeCreateRequest.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyAttributeCreateRequest = MonitorConfigPolicyAttributeCreateRequest;\n/**\n * @ignore\n */\nMonitorConfigPolicyAttributeCreateRequest.attributeTypeMap = {\n    policy: {\n        baseName: \"policy\",\n        type: \"MonitorConfigPolicyPolicyCreateRequest\",\n        required: true,\n    },\n    policyType: {\n        baseName: \"policy_type\",\n        type: \"MonitorConfigPolicyType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyAttributeCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyAttributeEditRequest = void 0;\n/**\n * Policy and policy type for a monitor configuration policy.\n */\nclass MonitorConfigPolicyAttributeEditRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyAttributeEditRequest.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyAttributeEditRequest = MonitorConfigPolicyAttributeEditRequest;\n/**\n * @ignore\n */\nMonitorConfigPolicyAttributeEditRequest.attributeTypeMap = {\n    policy: {\n        baseName: \"policy\",\n        type: \"MonitorConfigPolicyPolicy\",\n        required: true,\n    },\n    policyType: {\n        baseName: \"policy_type\",\n        type: \"MonitorConfigPolicyType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyAttributeEditRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyAttributeResponse = void 0;\n/**\n * Policy and policy type for a monitor configuration policy.\n */\nclass MonitorConfigPolicyAttributeResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyAttributeResponse.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyAttributeResponse = MonitorConfigPolicyAttributeResponse;\n/**\n * @ignore\n */\nMonitorConfigPolicyAttributeResponse.attributeTypeMap = {\n    policy: {\n        baseName: \"policy\",\n        type: \"MonitorConfigPolicyPolicy\",\n    },\n    policyType: {\n        baseName: \"policy_type\",\n        type: \"MonitorConfigPolicyType\",\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyAttributeResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyCreateData = void 0;\n/**\n * A monitor configuration policy data.\n */\nclass MonitorConfigPolicyCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyCreateData.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyCreateData = MonitorConfigPolicyCreateData;\n/**\n * @ignore\n */\nMonitorConfigPolicyCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MonitorConfigPolicyAttributeCreateRequest\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorConfigPolicyResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyCreateRequest = void 0;\n/**\n * Request for creating a monitor configuration policy.\n */\nclass MonitorConfigPolicyCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyCreateRequest.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyCreateRequest = MonitorConfigPolicyCreateRequest;\n/**\n * @ignore\n */\nMonitorConfigPolicyCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MonitorConfigPolicyCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyEditData = void 0;\n/**\n * A monitor configuration policy data.\n */\nclass MonitorConfigPolicyEditData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyEditData.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyEditData = MonitorConfigPolicyEditData;\n/**\n * @ignore\n */\nMonitorConfigPolicyEditData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MonitorConfigPolicyAttributeEditRequest\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorConfigPolicyResourceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyEditData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyEditRequest = void 0;\n/**\n * Request for editing a monitor configuration policy.\n */\nclass MonitorConfigPolicyEditRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyEditRequest.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyEditRequest = MonitorConfigPolicyEditRequest;\n/**\n * @ignore\n */\nMonitorConfigPolicyEditRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MonitorConfigPolicyEditData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyEditRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyListResponse = void 0;\n/**\n * Response for retrieving all monitor configuration policies.\n */\nclass MonitorConfigPolicyListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyListResponse.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyListResponse = MonitorConfigPolicyListResponse;\n/**\n * @ignore\n */\nMonitorConfigPolicyListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyResponse = void 0;\n/**\n * Response for retrieving a monitor configuration policy.\n */\nclass MonitorConfigPolicyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyResponse.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyResponse = MonitorConfigPolicyResponse;\n/**\n * @ignore\n */\nMonitorConfigPolicyResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MonitorConfigPolicyResponseData\",\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyResponseData = void 0;\n/**\n * A monitor configuration policy data.\n */\nclass MonitorConfigPolicyResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyResponseData.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyResponseData = MonitorConfigPolicyResponseData;\n/**\n * @ignore\n */\nMonitorConfigPolicyResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MonitorConfigPolicyAttributeResponse\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorConfigPolicyResourceType\",\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyTagPolicy = void 0;\n/**\n * Tag attributes of a monitor configuration policy.\n */\nclass MonitorConfigPolicyTagPolicy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyTagPolicy.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyTagPolicy = MonitorConfigPolicyTagPolicy;\n/**\n * @ignore\n */\nMonitorConfigPolicyTagPolicy.attributeTypeMap = {\n    tagKey: {\n        baseName: \"tag_key\",\n        type: \"string\",\n    },\n    tagKeyRequired: {\n        baseName: \"tag_key_required\",\n        type: \"boolean\",\n    },\n    validTagValues: {\n        baseName: \"valid_tag_values\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyTagPolicy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorConfigPolicyTagPolicyCreateRequest = void 0;\n/**\n * Tag attributes of a monitor configuration policy.\n */\nclass MonitorConfigPolicyTagPolicyCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorConfigPolicyTagPolicyCreateRequest.attributeTypeMap;\n    }\n}\nexports.MonitorConfigPolicyTagPolicyCreateRequest = MonitorConfigPolicyTagPolicyCreateRequest;\n/**\n * @ignore\n */\nMonitorConfigPolicyTagPolicyCreateRequest.attributeTypeMap = {\n    tagKey: {\n        baseName: \"tag_key\",\n        type: \"string\",\n        required: true,\n    },\n    tagKeyRequired: {\n        baseName: \"tag_key_required\",\n        type: \"boolean\",\n        required: true,\n    },\n    validTagValues: {\n        baseName: \"valid_tag_values\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MonitorConfigPolicyTagPolicyCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorDowntimeMatchResponse = void 0;\n/**\n * Response for retrieving all downtime matches for a monitor.\n */\nclass MonitorDowntimeMatchResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorDowntimeMatchResponse.attributeTypeMap;\n    }\n}\nexports.MonitorDowntimeMatchResponse = MonitorDowntimeMatchResponse;\n/**\n * @ignore\n */\nMonitorDowntimeMatchResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"DowntimeMeta\",\n    },\n};\n//# sourceMappingURL=MonitorDowntimeMatchResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorDowntimeMatchResponseAttributes = void 0;\n/**\n * Downtime match details.\n */\nclass MonitorDowntimeMatchResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorDowntimeMatchResponseAttributes.attributeTypeMap;\n    }\n}\nexports.MonitorDowntimeMatchResponseAttributes = MonitorDowntimeMatchResponseAttributes;\n/**\n * @ignore\n */\nMonitorDowntimeMatchResponseAttributes.attributeTypeMap = {\n    end: {\n        baseName: \"end\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    scope: {\n        baseName: \"scope\",\n        type: \"string\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=MonitorDowntimeMatchResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorDowntimeMatchResponseData = void 0;\n/**\n * A downtime match.\n */\nclass MonitorDowntimeMatchResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorDowntimeMatchResponseData.attributeTypeMap;\n    }\n}\nexports.MonitorDowntimeMatchResponseData = MonitorDowntimeMatchResponseData;\n/**\n * @ignore\n */\nMonitorDowntimeMatchResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MonitorDowntimeMatchResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"MonitorDowntimeMatchResourceType\",\n    },\n};\n//# sourceMappingURL=MonitorDowntimeMatchResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MonitorType = void 0;\n/**\n * Attributes from the monitor that triggered the event.\n */\nclass MonitorType {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MonitorType.attributeTypeMap;\n    }\n}\nexports.MonitorType = MonitorType;\n/**\n * @ignore\n */\nMonitorType.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    groupStatus: {\n        baseName: \"group_status\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    groups: {\n        baseName: \"groups\",\n        type: \"Array\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    modified: {\n        baseName: \"modified\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    templatedName: {\n        baseName: \"templated_name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=MonitorType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingRequest = void 0;\n/**\n * The new mute finding request.\n */\nclass MuteFindingRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingRequest.attributeTypeMap;\n    }\n}\nexports.MuteFindingRequest = MuteFindingRequest;\n/**\n * @ignore\n */\nMuteFindingRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MuteFindingRequestData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MuteFindingRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingRequestAttributes = void 0;\n/**\n * The mute properties to be updated.\n */\nclass MuteFindingRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingRequestAttributes.attributeTypeMap;\n    }\n}\nexports.MuteFindingRequestAttributes = MuteFindingRequestAttributes;\n/**\n * @ignore\n */\nMuteFindingRequestAttributes.attributeTypeMap = {\n    mute: {\n        baseName: \"mute\",\n        type: \"MuteFindingRequestProperties\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MuteFindingRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingRequestData = void 0;\n/**\n * Data object containing the new mute properties of the finding.\n */\nclass MuteFindingRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingRequestData.attributeTypeMap;\n    }\n}\nexports.MuteFindingRequestData = MuteFindingRequestData;\n/**\n * @ignore\n */\nMuteFindingRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MuteFindingRequestAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FindingType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MuteFindingRequestData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingRequestProperties = void 0;\n/**\n * Object containing the new mute properties of the finding.\n */\nclass MuteFindingRequestProperties {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingRequestProperties.attributeTypeMap;\n    }\n}\nexports.MuteFindingRequestProperties = MuteFindingRequestProperties;\n/**\n * @ignore\n */\nMuteFindingRequestProperties.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    expirationDate: {\n        baseName: \"expiration_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    muted: {\n        baseName: \"muted\",\n        type: \"boolean\",\n        required: true,\n    },\n    reason: {\n        baseName: \"reason\",\n        type: \"FindingMuteReason\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MuteFindingRequestProperties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingResponse = void 0;\n/**\n * The expected response schema.\n */\nclass MuteFindingResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingResponse.attributeTypeMap;\n    }\n}\nexports.MuteFindingResponse = MuteFindingResponse;\n/**\n * @ignore\n */\nMuteFindingResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"MuteFindingResponseData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=MuteFindingResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingResponseAttributes = void 0;\n/**\n * The JSON:API attributes of the finding.\n */\nclass MuteFindingResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingResponseAttributes.attributeTypeMap;\n    }\n}\nexports.MuteFindingResponseAttributes = MuteFindingResponseAttributes;\n/**\n * @ignore\n */\nMuteFindingResponseAttributes.attributeTypeMap = {\n    evaluation: {\n        baseName: \"evaluation\",\n        type: \"FindingEvaluation\",\n    },\n    evaluationChangedAt: {\n        baseName: \"evaluation_changed_at\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    mute: {\n        baseName: \"mute\",\n        type: \"MuteFindingResponseProperties\",\n    },\n    resource: {\n        baseName: \"resource\",\n        type: \"string\",\n    },\n    resourceDiscoveryDate: {\n        baseName: \"resource_discovery_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    resourceType: {\n        baseName: \"resource_type\",\n        type: \"string\",\n    },\n    rule: {\n        baseName: \"rule\",\n        type: \"FindingRule\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"FindingStatus\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=MuteFindingResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingResponseData = void 0;\n/**\n * Data object containing the updated finding.\n */\nclass MuteFindingResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingResponseData.attributeTypeMap;\n    }\n}\nexports.MuteFindingResponseData = MuteFindingResponseData;\n/**\n * @ignore\n */\nMuteFindingResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"MuteFindingResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"FindingType\",\n    },\n};\n//# sourceMappingURL=MuteFindingResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MuteFindingResponseProperties = void 0;\n/**\n * Information about the mute status of this finding.\n */\nclass MuteFindingResponseProperties {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return MuteFindingResponseProperties.attributeTypeMap;\n    }\n}\nexports.MuteFindingResponseProperties = MuteFindingResponseProperties;\n/**\n * @ignore\n */\nMuteFindingResponseProperties.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    expirationDate: {\n        baseName: \"expiration_date\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    muted: {\n        baseName: \"muted\",\n        type: \"boolean\",\n    },\n    reason: {\n        baseName: \"reason\",\n        type: \"FindingMuteReason\",\n    },\n};\n//# sourceMappingURL=MuteFindingResponseProperties.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NullableRelationshipToUser = void 0;\n/**\n * Relationship to user.\n */\nclass NullableRelationshipToUser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NullableRelationshipToUser.attributeTypeMap;\n    }\n}\nexports.NullableRelationshipToUser = NullableRelationshipToUser;\n/**\n * @ignore\n */\nNullableRelationshipToUser.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"NullableRelationshipToUserData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NullableRelationshipToUser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NullableRelationshipToUserData = void 0;\n/**\n * Relationship to user object.\n */\nclass NullableRelationshipToUserData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return NullableRelationshipToUserData.attributeTypeMap;\n    }\n}\nexports.NullableRelationshipToUserData = NullableRelationshipToUserData;\n/**\n * @ignore\n */\nNullableRelationshipToUserData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=NullableRelationshipToUserData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ObjectSerializer = void 0;\nconst APIErrorResponse_1 = require(\"./APIErrorResponse\");\nconst APIKeyCreateAttributes_1 = require(\"./APIKeyCreateAttributes\");\nconst APIKeyCreateData_1 = require(\"./APIKeyCreateData\");\nconst APIKeyCreateRequest_1 = require(\"./APIKeyCreateRequest\");\nconst APIKeyRelationships_1 = require(\"./APIKeyRelationships\");\nconst APIKeyResponse_1 = require(\"./APIKeyResponse\");\nconst APIKeyUpdateAttributes_1 = require(\"./APIKeyUpdateAttributes\");\nconst APIKeyUpdateData_1 = require(\"./APIKeyUpdateData\");\nconst APIKeyUpdateRequest_1 = require(\"./APIKeyUpdateRequest\");\nconst APIKeysResponse_1 = require(\"./APIKeysResponse\");\nconst ApplicationKeyCreateAttributes_1 = require(\"./ApplicationKeyCreateAttributes\");\nconst ApplicationKeyCreateData_1 = require(\"./ApplicationKeyCreateData\");\nconst ApplicationKeyCreateRequest_1 = require(\"./ApplicationKeyCreateRequest\");\nconst ApplicationKeyRelationships_1 = require(\"./ApplicationKeyRelationships\");\nconst ApplicationKeyResponse_1 = require(\"./ApplicationKeyResponse\");\nconst ApplicationKeyUpdateAttributes_1 = require(\"./ApplicationKeyUpdateAttributes\");\nconst ApplicationKeyUpdateData_1 = require(\"./ApplicationKeyUpdateData\");\nconst ApplicationKeyUpdateRequest_1 = require(\"./ApplicationKeyUpdateRequest\");\nconst AuditLogsEvent_1 = require(\"./AuditLogsEvent\");\nconst AuditLogsEventAttributes_1 = require(\"./AuditLogsEventAttributes\");\nconst AuditLogsEventsResponse_1 = require(\"./AuditLogsEventsResponse\");\nconst AuditLogsQueryFilter_1 = require(\"./AuditLogsQueryFilter\");\nconst AuditLogsQueryOptions_1 = require(\"./AuditLogsQueryOptions\");\nconst AuditLogsQueryPageOptions_1 = require(\"./AuditLogsQueryPageOptions\");\nconst AuditLogsResponseLinks_1 = require(\"./AuditLogsResponseLinks\");\nconst AuditLogsResponseMetadata_1 = require(\"./AuditLogsResponseMetadata\");\nconst AuditLogsResponsePage_1 = require(\"./AuditLogsResponsePage\");\nconst AuditLogsSearchEventsRequest_1 = require(\"./AuditLogsSearchEventsRequest\");\nconst AuditLogsWarning_1 = require(\"./AuditLogsWarning\");\nconst AuthNMapping_1 = require(\"./AuthNMapping\");\nconst AuthNMappingAttributes_1 = require(\"./AuthNMappingAttributes\");\nconst AuthNMappingCreateAttributes_1 = require(\"./AuthNMappingCreateAttributes\");\nconst AuthNMappingCreateData_1 = require(\"./AuthNMappingCreateData\");\nconst AuthNMappingCreateRelationships_1 = require(\"./AuthNMappingCreateRelationships\");\nconst AuthNMappingCreateRequest_1 = require(\"./AuthNMappingCreateRequest\");\nconst AuthNMappingRelationships_1 = require(\"./AuthNMappingRelationships\");\nconst AuthNMappingResponse_1 = require(\"./AuthNMappingResponse\");\nconst AuthNMappingUpdateAttributes_1 = require(\"./AuthNMappingUpdateAttributes\");\nconst AuthNMappingUpdateData_1 = require(\"./AuthNMappingUpdateData\");\nconst AuthNMappingUpdateRelationships_1 = require(\"./AuthNMappingUpdateRelationships\");\nconst AuthNMappingUpdateRequest_1 = require(\"./AuthNMappingUpdateRequest\");\nconst AuthNMappingsResponse_1 = require(\"./AuthNMappingsResponse\");\nconst CIAppAggregateBucketValueTimeseriesPoint_1 = require(\"./CIAppAggregateBucketValueTimeseriesPoint\");\nconst CIAppAggregateSort_1 = require(\"./CIAppAggregateSort\");\nconst CIAppCIError_1 = require(\"./CIAppCIError\");\nconst CIAppCompute_1 = require(\"./CIAppCompute\");\nconst CIAppCreatePipelineEventRequest_1 = require(\"./CIAppCreatePipelineEventRequest\");\nconst CIAppCreatePipelineEventRequestAttributes_1 = require(\"./CIAppCreatePipelineEventRequestAttributes\");\nconst CIAppCreatePipelineEventRequestData_1 = require(\"./CIAppCreatePipelineEventRequestData\");\nconst CIAppEventAttributes_1 = require(\"./CIAppEventAttributes\");\nconst CIAppGitInfo_1 = require(\"./CIAppGitInfo\");\nconst CIAppGroupByHistogram_1 = require(\"./CIAppGroupByHistogram\");\nconst CIAppHostInfo_1 = require(\"./CIAppHostInfo\");\nconst CIAppPipelineEvent_1 = require(\"./CIAppPipelineEvent\");\nconst CIAppPipelineEventAttributes_1 = require(\"./CIAppPipelineEventAttributes\");\nconst CIAppPipelineEventJob_1 = require(\"./CIAppPipelineEventJob\");\nconst CIAppPipelineEventParentPipeline_1 = require(\"./CIAppPipelineEventParentPipeline\");\nconst CIAppPipelineEventPipeline_1 = require(\"./CIAppPipelineEventPipeline\");\nconst CIAppPipelineEventPreviousPipeline_1 = require(\"./CIAppPipelineEventPreviousPipeline\");\nconst CIAppPipelineEventStage_1 = require(\"./CIAppPipelineEventStage\");\nconst CIAppPipelineEventStep_1 = require(\"./CIAppPipelineEventStep\");\nconst CIAppPipelineEventsRequest_1 = require(\"./CIAppPipelineEventsRequest\");\nconst CIAppPipelineEventsResponse_1 = require(\"./CIAppPipelineEventsResponse\");\nconst CIAppPipelinesAggregateRequest_1 = require(\"./CIAppPipelinesAggregateRequest\");\nconst CIAppPipelinesAggregationBucketsResponse_1 = require(\"./CIAppPipelinesAggregationBucketsResponse\");\nconst CIAppPipelinesAnalyticsAggregateResponse_1 = require(\"./CIAppPipelinesAnalyticsAggregateResponse\");\nconst CIAppPipelinesBucketResponse_1 = require(\"./CIAppPipelinesBucketResponse\");\nconst CIAppPipelinesGroupBy_1 = require(\"./CIAppPipelinesGroupBy\");\nconst CIAppPipelinesQueryFilter_1 = require(\"./CIAppPipelinesQueryFilter\");\nconst CIAppQueryOptions_1 = require(\"./CIAppQueryOptions\");\nconst CIAppQueryPageOptions_1 = require(\"./CIAppQueryPageOptions\");\nconst CIAppResponseLinks_1 = require(\"./CIAppResponseLinks\");\nconst CIAppResponseMetadata_1 = require(\"./CIAppResponseMetadata\");\nconst CIAppResponseMetadataWithPagination_1 = require(\"./CIAppResponseMetadataWithPagination\");\nconst CIAppResponsePage_1 = require(\"./CIAppResponsePage\");\nconst CIAppTestEvent_1 = require(\"./CIAppTestEvent\");\nconst CIAppTestEventsRequest_1 = require(\"./CIAppTestEventsRequest\");\nconst CIAppTestEventsResponse_1 = require(\"./CIAppTestEventsResponse\");\nconst CIAppTestsAggregateRequest_1 = require(\"./CIAppTestsAggregateRequest\");\nconst CIAppTestsAggregationBucketsResponse_1 = require(\"./CIAppTestsAggregationBucketsResponse\");\nconst CIAppTestsAnalyticsAggregateResponse_1 = require(\"./CIAppTestsAnalyticsAggregateResponse\");\nconst CIAppTestsBucketResponse_1 = require(\"./CIAppTestsBucketResponse\");\nconst CIAppTestsGroupBy_1 = require(\"./CIAppTestsGroupBy\");\nconst CIAppTestsQueryFilter_1 = require(\"./CIAppTestsQueryFilter\");\nconst CIAppWarning_1 = require(\"./CIAppWarning\");\nconst ChargebackBreakdown_1 = require(\"./ChargebackBreakdown\");\nconst CloudConfigurationComplianceRuleOptions_1 = require(\"./CloudConfigurationComplianceRuleOptions\");\nconst CloudConfigurationRegoRule_1 = require(\"./CloudConfigurationRegoRule\");\nconst CloudConfigurationRuleCaseCreate_1 = require(\"./CloudConfigurationRuleCaseCreate\");\nconst CloudConfigurationRuleComplianceSignalOptions_1 = require(\"./CloudConfigurationRuleComplianceSignalOptions\");\nconst CloudConfigurationRuleCreatePayload_1 = require(\"./CloudConfigurationRuleCreatePayload\");\nconst CloudConfigurationRuleOptions_1 = require(\"./CloudConfigurationRuleOptions\");\nconst CloudWorkloadSecurityAgentRuleAttributes_1 = require(\"./CloudWorkloadSecurityAgentRuleAttributes\");\nconst CloudWorkloadSecurityAgentRuleCreateAttributes_1 = require(\"./CloudWorkloadSecurityAgentRuleCreateAttributes\");\nconst CloudWorkloadSecurityAgentRuleCreateData_1 = require(\"./CloudWorkloadSecurityAgentRuleCreateData\");\nconst CloudWorkloadSecurityAgentRuleCreateRequest_1 = require(\"./CloudWorkloadSecurityAgentRuleCreateRequest\");\nconst CloudWorkloadSecurityAgentRuleCreatorAttributes_1 = require(\"./CloudWorkloadSecurityAgentRuleCreatorAttributes\");\nconst CloudWorkloadSecurityAgentRuleData_1 = require(\"./CloudWorkloadSecurityAgentRuleData\");\nconst CloudWorkloadSecurityAgentRuleResponse_1 = require(\"./CloudWorkloadSecurityAgentRuleResponse\");\nconst CloudWorkloadSecurityAgentRuleUpdateAttributes_1 = require(\"./CloudWorkloadSecurityAgentRuleUpdateAttributes\");\nconst CloudWorkloadSecurityAgentRuleUpdateData_1 = require(\"./CloudWorkloadSecurityAgentRuleUpdateData\");\nconst CloudWorkloadSecurityAgentRuleUpdateRequest_1 = require(\"./CloudWorkloadSecurityAgentRuleUpdateRequest\");\nconst CloudWorkloadSecurityAgentRuleUpdaterAttributes_1 = require(\"./CloudWorkloadSecurityAgentRuleUpdaterAttributes\");\nconst CloudWorkloadSecurityAgentRulesListResponse_1 = require(\"./CloudWorkloadSecurityAgentRulesListResponse\");\nconst CloudflareAccountCreateRequest_1 = require(\"./CloudflareAccountCreateRequest\");\nconst CloudflareAccountCreateRequestAttributes_1 = require(\"./CloudflareAccountCreateRequestAttributes\");\nconst CloudflareAccountCreateRequestData_1 = require(\"./CloudflareAccountCreateRequestData\");\nconst CloudflareAccountResponse_1 = require(\"./CloudflareAccountResponse\");\nconst CloudflareAccountResponseAttributes_1 = require(\"./CloudflareAccountResponseAttributes\");\nconst CloudflareAccountResponseData_1 = require(\"./CloudflareAccountResponseData\");\nconst CloudflareAccountUpdateRequest_1 = require(\"./CloudflareAccountUpdateRequest\");\nconst CloudflareAccountUpdateRequestAttributes_1 = require(\"./CloudflareAccountUpdateRequestAttributes\");\nconst CloudflareAccountUpdateRequestData_1 = require(\"./CloudflareAccountUpdateRequestData\");\nconst CloudflareAccountsResponse_1 = require(\"./CloudflareAccountsResponse\");\nconst ConfluentAccountCreateRequest_1 = require(\"./ConfluentAccountCreateRequest\");\nconst ConfluentAccountCreateRequestAttributes_1 = require(\"./ConfluentAccountCreateRequestAttributes\");\nconst ConfluentAccountCreateRequestData_1 = require(\"./ConfluentAccountCreateRequestData\");\nconst ConfluentAccountResourceAttributes_1 = require(\"./ConfluentAccountResourceAttributes\");\nconst ConfluentAccountResponse_1 = require(\"./ConfluentAccountResponse\");\nconst ConfluentAccountResponseAttributes_1 = require(\"./ConfluentAccountResponseAttributes\");\nconst ConfluentAccountResponseData_1 = require(\"./ConfluentAccountResponseData\");\nconst ConfluentAccountUpdateRequest_1 = require(\"./ConfluentAccountUpdateRequest\");\nconst ConfluentAccountUpdateRequestAttributes_1 = require(\"./ConfluentAccountUpdateRequestAttributes\");\nconst ConfluentAccountUpdateRequestData_1 = require(\"./ConfluentAccountUpdateRequestData\");\nconst ConfluentAccountsResponse_1 = require(\"./ConfluentAccountsResponse\");\nconst ConfluentResourceRequest_1 = require(\"./ConfluentResourceRequest\");\nconst ConfluentResourceRequestAttributes_1 = require(\"./ConfluentResourceRequestAttributes\");\nconst ConfluentResourceRequestData_1 = require(\"./ConfluentResourceRequestData\");\nconst ConfluentResourceResponse_1 = require(\"./ConfluentResourceResponse\");\nconst ConfluentResourceResponseAttributes_1 = require(\"./ConfluentResourceResponseAttributes\");\nconst ConfluentResourceResponseData_1 = require(\"./ConfluentResourceResponseData\");\nconst ConfluentResourcesResponse_1 = require(\"./ConfluentResourcesResponse\");\nconst CostByOrg_1 = require(\"./CostByOrg\");\nconst CostByOrgAttributes_1 = require(\"./CostByOrgAttributes\");\nconst CostByOrgResponse_1 = require(\"./CostByOrgResponse\");\nconst Creator_1 = require(\"./Creator\");\nconst DashboardListAddItemsRequest_1 = require(\"./DashboardListAddItemsRequest\");\nconst DashboardListAddItemsResponse_1 = require(\"./DashboardListAddItemsResponse\");\nconst DashboardListDeleteItemsRequest_1 = require(\"./DashboardListDeleteItemsRequest\");\nconst DashboardListDeleteItemsResponse_1 = require(\"./DashboardListDeleteItemsResponse\");\nconst DashboardListItem_1 = require(\"./DashboardListItem\");\nconst DashboardListItemRequest_1 = require(\"./DashboardListItemRequest\");\nconst DashboardListItemResponse_1 = require(\"./DashboardListItemResponse\");\nconst DashboardListItems_1 = require(\"./DashboardListItems\");\nconst DashboardListUpdateItemsRequest_1 = require(\"./DashboardListUpdateItemsRequest\");\nconst DashboardListUpdateItemsResponse_1 = require(\"./DashboardListUpdateItemsResponse\");\nconst DataScalarColumn_1 = require(\"./DataScalarColumn\");\nconst DetailedFinding_1 = require(\"./DetailedFinding\");\nconst DetailedFindingAttributes_1 = require(\"./DetailedFindingAttributes\");\nconst DowntimeCreateRequest_1 = require(\"./DowntimeCreateRequest\");\nconst DowntimeCreateRequestAttributes_1 = require(\"./DowntimeCreateRequestAttributes\");\nconst DowntimeCreateRequestData_1 = require(\"./DowntimeCreateRequestData\");\nconst DowntimeMeta_1 = require(\"./DowntimeMeta\");\nconst DowntimeMetaPage_1 = require(\"./DowntimeMetaPage\");\nconst DowntimeMonitorIdentifierId_1 = require(\"./DowntimeMonitorIdentifierId\");\nconst DowntimeMonitorIdentifierTags_1 = require(\"./DowntimeMonitorIdentifierTags\");\nconst DowntimeMonitorIncludedAttributes_1 = require(\"./DowntimeMonitorIncludedAttributes\");\nconst DowntimeMonitorIncludedItem_1 = require(\"./DowntimeMonitorIncludedItem\");\nconst DowntimeRelationships_1 = require(\"./DowntimeRelationships\");\nconst DowntimeRelationshipsCreatedBy_1 = require(\"./DowntimeRelationshipsCreatedBy\");\nconst DowntimeRelationshipsCreatedByData_1 = require(\"./DowntimeRelationshipsCreatedByData\");\nconst DowntimeRelationshipsMonitor_1 = require(\"./DowntimeRelationshipsMonitor\");\nconst DowntimeRelationshipsMonitorData_1 = require(\"./DowntimeRelationshipsMonitorData\");\nconst DowntimeResponse_1 = require(\"./DowntimeResponse\");\nconst DowntimeResponseAttributes_1 = require(\"./DowntimeResponseAttributes\");\nconst DowntimeResponseData_1 = require(\"./DowntimeResponseData\");\nconst DowntimeScheduleCurrentDowntimeResponse_1 = require(\"./DowntimeScheduleCurrentDowntimeResponse\");\nconst DowntimeScheduleOneTimeCreateUpdateRequest_1 = require(\"./DowntimeScheduleOneTimeCreateUpdateRequest\");\nconst DowntimeScheduleOneTimeResponse_1 = require(\"./DowntimeScheduleOneTimeResponse\");\nconst DowntimeScheduleRecurrenceCreateUpdateRequest_1 = require(\"./DowntimeScheduleRecurrenceCreateUpdateRequest\");\nconst DowntimeScheduleRecurrenceResponse_1 = require(\"./DowntimeScheduleRecurrenceResponse\");\nconst DowntimeScheduleRecurrencesCreateRequest_1 = require(\"./DowntimeScheduleRecurrencesCreateRequest\");\nconst DowntimeScheduleRecurrencesResponse_1 = require(\"./DowntimeScheduleRecurrencesResponse\");\nconst DowntimeScheduleRecurrencesUpdateRequest_1 = require(\"./DowntimeScheduleRecurrencesUpdateRequest\");\nconst DowntimeUpdateRequest_1 = require(\"./DowntimeUpdateRequest\");\nconst DowntimeUpdateRequestAttributes_1 = require(\"./DowntimeUpdateRequestAttributes\");\nconst DowntimeUpdateRequestData_1 = require(\"./DowntimeUpdateRequestData\");\nconst Event_1 = require(\"./Event\");\nconst EventAttributes_1 = require(\"./EventAttributes\");\nconst EventResponse_1 = require(\"./EventResponse\");\nconst EventResponseAttributes_1 = require(\"./EventResponseAttributes\");\nconst EventsCompute_1 = require(\"./EventsCompute\");\nconst EventsGroupBy_1 = require(\"./EventsGroupBy\");\nconst EventsGroupBySort_1 = require(\"./EventsGroupBySort\");\nconst EventsListRequest_1 = require(\"./EventsListRequest\");\nconst EventsListResponse_1 = require(\"./EventsListResponse\");\nconst EventsListResponseLinks_1 = require(\"./EventsListResponseLinks\");\nconst EventsQueryFilter_1 = require(\"./EventsQueryFilter\");\nconst EventsQueryOptions_1 = require(\"./EventsQueryOptions\");\nconst EventsRequestPage_1 = require(\"./EventsRequestPage\");\nconst EventsResponseMetadata_1 = require(\"./EventsResponseMetadata\");\nconst EventsResponseMetadataPage_1 = require(\"./EventsResponseMetadataPage\");\nconst EventsScalarQuery_1 = require(\"./EventsScalarQuery\");\nconst EventsSearch_1 = require(\"./EventsSearch\");\nconst EventsTimeseriesQuery_1 = require(\"./EventsTimeseriesQuery\");\nconst EventsWarning_1 = require(\"./EventsWarning\");\nconst FastlyAccounResponseAttributes_1 = require(\"./FastlyAccounResponseAttributes\");\nconst FastlyAccountCreateRequest_1 = require(\"./FastlyAccountCreateRequest\");\nconst FastlyAccountCreateRequestAttributes_1 = require(\"./FastlyAccountCreateRequestAttributes\");\nconst FastlyAccountCreateRequestData_1 = require(\"./FastlyAccountCreateRequestData\");\nconst FastlyAccountResponse_1 = require(\"./FastlyAccountResponse\");\nconst FastlyAccountResponseData_1 = require(\"./FastlyAccountResponseData\");\nconst FastlyAccountUpdateRequest_1 = require(\"./FastlyAccountUpdateRequest\");\nconst FastlyAccountUpdateRequestAttributes_1 = require(\"./FastlyAccountUpdateRequestAttributes\");\nconst FastlyAccountUpdateRequestData_1 = require(\"./FastlyAccountUpdateRequestData\");\nconst FastlyAccountsResponse_1 = require(\"./FastlyAccountsResponse\");\nconst FastlyService_1 = require(\"./FastlyService\");\nconst FastlyServiceAttributes_1 = require(\"./FastlyServiceAttributes\");\nconst FastlyServiceData_1 = require(\"./FastlyServiceData\");\nconst FastlyServiceRequest_1 = require(\"./FastlyServiceRequest\");\nconst FastlyServiceResponse_1 = require(\"./FastlyServiceResponse\");\nconst FastlyServicesResponse_1 = require(\"./FastlyServicesResponse\");\nconst Finding_1 = require(\"./Finding\");\nconst FindingAttributes_1 = require(\"./FindingAttributes\");\nconst FindingMute_1 = require(\"./FindingMute\");\nconst FindingRule_1 = require(\"./FindingRule\");\nconst FormulaLimit_1 = require(\"./FormulaLimit\");\nconst FullAPIKey_1 = require(\"./FullAPIKey\");\nconst FullAPIKeyAttributes_1 = require(\"./FullAPIKeyAttributes\");\nconst FullApplicationKey_1 = require(\"./FullApplicationKey\");\nconst FullApplicationKeyAttributes_1 = require(\"./FullApplicationKeyAttributes\");\nconst GCPSTSDelegateAccount_1 = require(\"./GCPSTSDelegateAccount\");\nconst GCPSTSDelegateAccountAttributes_1 = require(\"./GCPSTSDelegateAccountAttributes\");\nconst GCPSTSDelegateAccountResponse_1 = require(\"./GCPSTSDelegateAccountResponse\");\nconst GCPSTSServiceAccount_1 = require(\"./GCPSTSServiceAccount\");\nconst GCPSTSServiceAccountAttributes_1 = require(\"./GCPSTSServiceAccountAttributes\");\nconst GCPSTSServiceAccountCreateRequest_1 = require(\"./GCPSTSServiceAccountCreateRequest\");\nconst GCPSTSServiceAccountData_1 = require(\"./GCPSTSServiceAccountData\");\nconst GCPSTSServiceAccountResponse_1 = require(\"./GCPSTSServiceAccountResponse\");\nconst GCPSTSServiceAccountUpdateRequest_1 = require(\"./GCPSTSServiceAccountUpdateRequest\");\nconst GCPSTSServiceAccountUpdateRequestData_1 = require(\"./GCPSTSServiceAccountUpdateRequestData\");\nconst GCPSTSServiceAccountsResponse_1 = require(\"./GCPSTSServiceAccountsResponse\");\nconst GCPServiceAccountMeta_1 = require(\"./GCPServiceAccountMeta\");\nconst GetFindingResponse_1 = require(\"./GetFindingResponse\");\nconst GroupScalarColumn_1 = require(\"./GroupScalarColumn\");\nconst HTTPCIAppError_1 = require(\"./HTTPCIAppError\");\nconst HTTPCIAppErrors_1 = require(\"./HTTPCIAppErrors\");\nconst HTTPLogError_1 = require(\"./HTTPLogError\");\nconst HTTPLogErrors_1 = require(\"./HTTPLogErrors\");\nconst HTTPLogItem_1 = require(\"./HTTPLogItem\");\nconst HourlyUsage_1 = require(\"./HourlyUsage\");\nconst HourlyUsageAttributes_1 = require(\"./HourlyUsageAttributes\");\nconst HourlyUsageMeasurement_1 = require(\"./HourlyUsageMeasurement\");\nconst HourlyUsageMetadata_1 = require(\"./HourlyUsageMetadata\");\nconst HourlyUsagePagination_1 = require(\"./HourlyUsagePagination\");\nconst HourlyUsageResponse_1 = require(\"./HourlyUsageResponse\");\nconst IPAllowlistAttributes_1 = require(\"./IPAllowlistAttributes\");\nconst IPAllowlistData_1 = require(\"./IPAllowlistData\");\nconst IPAllowlistEntry_1 = require(\"./IPAllowlistEntry\");\nconst IPAllowlistEntryAttributes_1 = require(\"./IPAllowlistEntryAttributes\");\nconst IPAllowlistEntryData_1 = require(\"./IPAllowlistEntryData\");\nconst IPAllowlistResponse_1 = require(\"./IPAllowlistResponse\");\nconst IPAllowlistUpdateRequest_1 = require(\"./IPAllowlistUpdateRequest\");\nconst IdPMetadataFormData_1 = require(\"./IdPMetadataFormData\");\nconst IncidentAttachmentData_1 = require(\"./IncidentAttachmentData\");\nconst IncidentAttachmentLinkAttributes_1 = require(\"./IncidentAttachmentLinkAttributes\");\nconst IncidentAttachmentLinkAttributesAttachmentObject_1 = require(\"./IncidentAttachmentLinkAttributesAttachmentObject\");\nconst IncidentAttachmentPostmortemAttributes_1 = require(\"./IncidentAttachmentPostmortemAttributes\");\nconst IncidentAttachmentRelationships_1 = require(\"./IncidentAttachmentRelationships\");\nconst IncidentAttachmentUpdateData_1 = require(\"./IncidentAttachmentUpdateData\");\nconst IncidentAttachmentUpdateRequest_1 = require(\"./IncidentAttachmentUpdateRequest\");\nconst IncidentAttachmentUpdateResponse_1 = require(\"./IncidentAttachmentUpdateResponse\");\nconst IncidentAttachmentsPostmortemAttributesAttachmentObject_1 = require(\"./IncidentAttachmentsPostmortemAttributesAttachmentObject\");\nconst IncidentAttachmentsResponse_1 = require(\"./IncidentAttachmentsResponse\");\nconst IncidentCreateAttributes_1 = require(\"./IncidentCreateAttributes\");\nconst IncidentCreateData_1 = require(\"./IncidentCreateData\");\nconst IncidentCreateRelationships_1 = require(\"./IncidentCreateRelationships\");\nconst IncidentCreateRequest_1 = require(\"./IncidentCreateRequest\");\nconst IncidentFieldAttributesMultipleValue_1 = require(\"./IncidentFieldAttributesMultipleValue\");\nconst IncidentFieldAttributesSingleValue_1 = require(\"./IncidentFieldAttributesSingleValue\");\nconst IncidentIntegrationMetadataAttributes_1 = require(\"./IncidentIntegrationMetadataAttributes\");\nconst IncidentIntegrationMetadataCreateData_1 = require(\"./IncidentIntegrationMetadataCreateData\");\nconst IncidentIntegrationMetadataCreateRequest_1 = require(\"./IncidentIntegrationMetadataCreateRequest\");\nconst IncidentIntegrationMetadataListResponse_1 = require(\"./IncidentIntegrationMetadataListResponse\");\nconst IncidentIntegrationMetadataPatchData_1 = require(\"./IncidentIntegrationMetadataPatchData\");\nconst IncidentIntegrationMetadataPatchRequest_1 = require(\"./IncidentIntegrationMetadataPatchRequest\");\nconst IncidentIntegrationMetadataResponse_1 = require(\"./IncidentIntegrationMetadataResponse\");\nconst IncidentIntegrationMetadataResponseData_1 = require(\"./IncidentIntegrationMetadataResponseData\");\nconst IncidentNotificationHandle_1 = require(\"./IncidentNotificationHandle\");\nconst IncidentResponse_1 = require(\"./IncidentResponse\");\nconst IncidentResponseAttributes_1 = require(\"./IncidentResponseAttributes\");\nconst IncidentResponseData_1 = require(\"./IncidentResponseData\");\nconst IncidentResponseMeta_1 = require(\"./IncidentResponseMeta\");\nconst IncidentResponseMetaPagination_1 = require(\"./IncidentResponseMetaPagination\");\nconst IncidentResponseRelationships_1 = require(\"./IncidentResponseRelationships\");\nconst IncidentSearchResponse_1 = require(\"./IncidentSearchResponse\");\nconst IncidentSearchResponseAttributes_1 = require(\"./IncidentSearchResponseAttributes\");\nconst IncidentSearchResponseData_1 = require(\"./IncidentSearchResponseData\");\nconst IncidentSearchResponseFacetsData_1 = require(\"./IncidentSearchResponseFacetsData\");\nconst IncidentSearchResponseFieldFacetData_1 = require(\"./IncidentSearchResponseFieldFacetData\");\nconst IncidentSearchResponseIncidentsData_1 = require(\"./IncidentSearchResponseIncidentsData\");\nconst IncidentSearchResponseMeta_1 = require(\"./IncidentSearchResponseMeta\");\nconst IncidentSearchResponseNumericFacetData_1 = require(\"./IncidentSearchResponseNumericFacetData\");\nconst IncidentSearchResponseNumericFacetDataAggregates_1 = require(\"./IncidentSearchResponseNumericFacetDataAggregates\");\nconst IncidentSearchResponsePropertyFieldFacetData_1 = require(\"./IncidentSearchResponsePropertyFieldFacetData\");\nconst IncidentSearchResponseUserFacetData_1 = require(\"./IncidentSearchResponseUserFacetData\");\nconst IncidentServiceCreateAttributes_1 = require(\"./IncidentServiceCreateAttributes\");\nconst IncidentServiceCreateData_1 = require(\"./IncidentServiceCreateData\");\nconst IncidentServiceCreateRequest_1 = require(\"./IncidentServiceCreateRequest\");\nconst IncidentServiceRelationships_1 = require(\"./IncidentServiceRelationships\");\nconst IncidentServiceResponse_1 = require(\"./IncidentServiceResponse\");\nconst IncidentServiceResponseAttributes_1 = require(\"./IncidentServiceResponseAttributes\");\nconst IncidentServiceResponseData_1 = require(\"./IncidentServiceResponseData\");\nconst IncidentServiceUpdateAttributes_1 = require(\"./IncidentServiceUpdateAttributes\");\nconst IncidentServiceUpdateData_1 = require(\"./IncidentServiceUpdateData\");\nconst IncidentServiceUpdateRequest_1 = require(\"./IncidentServiceUpdateRequest\");\nconst IncidentServicesResponse_1 = require(\"./IncidentServicesResponse\");\nconst IncidentTeamCreateAttributes_1 = require(\"./IncidentTeamCreateAttributes\");\nconst IncidentTeamCreateData_1 = require(\"./IncidentTeamCreateData\");\nconst IncidentTeamCreateRequest_1 = require(\"./IncidentTeamCreateRequest\");\nconst IncidentTeamRelationships_1 = require(\"./IncidentTeamRelationships\");\nconst IncidentTeamResponse_1 = require(\"./IncidentTeamResponse\");\nconst IncidentTeamResponseAttributes_1 = require(\"./IncidentTeamResponseAttributes\");\nconst IncidentTeamResponseData_1 = require(\"./IncidentTeamResponseData\");\nconst IncidentTeamUpdateAttributes_1 = require(\"./IncidentTeamUpdateAttributes\");\nconst IncidentTeamUpdateData_1 = require(\"./IncidentTeamUpdateData\");\nconst IncidentTeamUpdateRequest_1 = require(\"./IncidentTeamUpdateRequest\");\nconst IncidentTeamsResponse_1 = require(\"./IncidentTeamsResponse\");\nconst IncidentTimelineCellMarkdownCreateAttributes_1 = require(\"./IncidentTimelineCellMarkdownCreateAttributes\");\nconst IncidentTimelineCellMarkdownCreateAttributesContent_1 = require(\"./IncidentTimelineCellMarkdownCreateAttributesContent\");\nconst IncidentTodoAnonymousAssignee_1 = require(\"./IncidentTodoAnonymousAssignee\");\nconst IncidentTodoAttributes_1 = require(\"./IncidentTodoAttributes\");\nconst IncidentTodoCreateData_1 = require(\"./IncidentTodoCreateData\");\nconst IncidentTodoCreateRequest_1 = require(\"./IncidentTodoCreateRequest\");\nconst IncidentTodoListResponse_1 = require(\"./IncidentTodoListResponse\");\nconst IncidentTodoPatchData_1 = require(\"./IncidentTodoPatchData\");\nconst IncidentTodoPatchRequest_1 = require(\"./IncidentTodoPatchRequest\");\nconst IncidentTodoResponse_1 = require(\"./IncidentTodoResponse\");\nconst IncidentTodoResponseData_1 = require(\"./IncidentTodoResponseData\");\nconst IncidentUpdateAttributes_1 = require(\"./IncidentUpdateAttributes\");\nconst IncidentUpdateData_1 = require(\"./IncidentUpdateData\");\nconst IncidentUpdateRelationships_1 = require(\"./IncidentUpdateRelationships\");\nconst IncidentUpdateRequest_1 = require(\"./IncidentUpdateRequest\");\nconst IncidentsResponse_1 = require(\"./IncidentsResponse\");\nconst IntakePayloadAccepted_1 = require(\"./IntakePayloadAccepted\");\nconst JSONAPIErrorItem_1 = require(\"./JSONAPIErrorItem\");\nconst JSONAPIErrorResponse_1 = require(\"./JSONAPIErrorResponse\");\nconst JiraIntegrationMetadata_1 = require(\"./JiraIntegrationMetadata\");\nconst JiraIntegrationMetadataIssuesItem_1 = require(\"./JiraIntegrationMetadataIssuesItem\");\nconst ListApplicationKeysResponse_1 = require(\"./ListApplicationKeysResponse\");\nconst ListDowntimesResponse_1 = require(\"./ListDowntimesResponse\");\nconst ListFindingsMeta_1 = require(\"./ListFindingsMeta\");\nconst ListFindingsPage_1 = require(\"./ListFindingsPage\");\nconst ListFindingsResponse_1 = require(\"./ListFindingsResponse\");\nconst Log_1 = require(\"./Log\");\nconst LogAttributes_1 = require(\"./LogAttributes\");\nconst LogsAggregateBucket_1 = require(\"./LogsAggregateBucket\");\nconst LogsAggregateBucketValueTimeseriesPoint_1 = require(\"./LogsAggregateBucketValueTimeseriesPoint\");\nconst LogsAggregateRequest_1 = require(\"./LogsAggregateRequest\");\nconst LogsAggregateRequestPage_1 = require(\"./LogsAggregateRequestPage\");\nconst LogsAggregateResponse_1 = require(\"./LogsAggregateResponse\");\nconst LogsAggregateResponseData_1 = require(\"./LogsAggregateResponseData\");\nconst LogsAggregateSort_1 = require(\"./LogsAggregateSort\");\nconst LogsArchive_1 = require(\"./LogsArchive\");\nconst LogsArchiveAttributes_1 = require(\"./LogsArchiveAttributes\");\nconst LogsArchiveCreateRequest_1 = require(\"./LogsArchiveCreateRequest\");\nconst LogsArchiveCreateRequestAttributes_1 = require(\"./LogsArchiveCreateRequestAttributes\");\nconst LogsArchiveCreateRequestDefinition_1 = require(\"./LogsArchiveCreateRequestDefinition\");\nconst LogsArchiveDefinition_1 = require(\"./LogsArchiveDefinition\");\nconst LogsArchiveDestinationAzure_1 = require(\"./LogsArchiveDestinationAzure\");\nconst LogsArchiveDestinationGCS_1 = require(\"./LogsArchiveDestinationGCS\");\nconst LogsArchiveDestinationS3_1 = require(\"./LogsArchiveDestinationS3\");\nconst LogsArchiveIntegrationAzure_1 = require(\"./LogsArchiveIntegrationAzure\");\nconst LogsArchiveIntegrationGCS_1 = require(\"./LogsArchiveIntegrationGCS\");\nconst LogsArchiveIntegrationS3_1 = require(\"./LogsArchiveIntegrationS3\");\nconst LogsArchiveOrder_1 = require(\"./LogsArchiveOrder\");\nconst LogsArchiveOrderAttributes_1 = require(\"./LogsArchiveOrderAttributes\");\nconst LogsArchiveOrderDefinition_1 = require(\"./LogsArchiveOrderDefinition\");\nconst LogsArchives_1 = require(\"./LogsArchives\");\nconst LogsCompute_1 = require(\"./LogsCompute\");\nconst LogsGroupBy_1 = require(\"./LogsGroupBy\");\nconst LogsGroupByHistogram_1 = require(\"./LogsGroupByHistogram\");\nconst LogsListRequest_1 = require(\"./LogsListRequest\");\nconst LogsListRequestPage_1 = require(\"./LogsListRequestPage\");\nconst LogsListResponse_1 = require(\"./LogsListResponse\");\nconst LogsListResponseLinks_1 = require(\"./LogsListResponseLinks\");\nconst LogsMetricCompute_1 = require(\"./LogsMetricCompute\");\nconst LogsMetricCreateAttributes_1 = require(\"./LogsMetricCreateAttributes\");\nconst LogsMetricCreateData_1 = require(\"./LogsMetricCreateData\");\nconst LogsMetricCreateRequest_1 = require(\"./LogsMetricCreateRequest\");\nconst LogsMetricFilter_1 = require(\"./LogsMetricFilter\");\nconst LogsMetricGroupBy_1 = require(\"./LogsMetricGroupBy\");\nconst LogsMetricResponse_1 = require(\"./LogsMetricResponse\");\nconst LogsMetricResponseAttributes_1 = require(\"./LogsMetricResponseAttributes\");\nconst LogsMetricResponseCompute_1 = require(\"./LogsMetricResponseCompute\");\nconst LogsMetricResponseData_1 = require(\"./LogsMetricResponseData\");\nconst LogsMetricResponseFilter_1 = require(\"./LogsMetricResponseFilter\");\nconst LogsMetricResponseGroupBy_1 = require(\"./LogsMetricResponseGroupBy\");\nconst LogsMetricUpdateAttributes_1 = require(\"./LogsMetricUpdateAttributes\");\nconst LogsMetricUpdateCompute_1 = require(\"./LogsMetricUpdateCompute\");\nconst LogsMetricUpdateData_1 = require(\"./LogsMetricUpdateData\");\nconst LogsMetricUpdateRequest_1 = require(\"./LogsMetricUpdateRequest\");\nconst LogsMetricsResponse_1 = require(\"./LogsMetricsResponse\");\nconst LogsQueryFilter_1 = require(\"./LogsQueryFilter\");\nconst LogsQueryOptions_1 = require(\"./LogsQueryOptions\");\nconst LogsResponseMetadata_1 = require(\"./LogsResponseMetadata\");\nconst LogsResponseMetadataPage_1 = require(\"./LogsResponseMetadataPage\");\nconst LogsWarning_1 = require(\"./LogsWarning\");\nconst Metric_1 = require(\"./Metric\");\nconst MetricAllTags_1 = require(\"./MetricAllTags\");\nconst MetricAllTagsAttributes_1 = require(\"./MetricAllTagsAttributes\");\nconst MetricAllTagsResponse_1 = require(\"./MetricAllTagsResponse\");\nconst MetricBulkTagConfigCreate_1 = require(\"./MetricBulkTagConfigCreate\");\nconst MetricBulkTagConfigCreateAttributes_1 = require(\"./MetricBulkTagConfigCreateAttributes\");\nconst MetricBulkTagConfigCreateRequest_1 = require(\"./MetricBulkTagConfigCreateRequest\");\nconst MetricBulkTagConfigDelete_1 = require(\"./MetricBulkTagConfigDelete\");\nconst MetricBulkTagConfigDeleteAttributes_1 = require(\"./MetricBulkTagConfigDeleteAttributes\");\nconst MetricBulkTagConfigDeleteRequest_1 = require(\"./MetricBulkTagConfigDeleteRequest\");\nconst MetricBulkTagConfigResponse_1 = require(\"./MetricBulkTagConfigResponse\");\nconst MetricBulkTagConfigStatus_1 = require(\"./MetricBulkTagConfigStatus\");\nconst MetricBulkTagConfigStatusAttributes_1 = require(\"./MetricBulkTagConfigStatusAttributes\");\nconst MetricCustomAggregation_1 = require(\"./MetricCustomAggregation\");\nconst MetricDistinctVolume_1 = require(\"./MetricDistinctVolume\");\nconst MetricDistinctVolumeAttributes_1 = require(\"./MetricDistinctVolumeAttributes\");\nconst MetricEstimate_1 = require(\"./MetricEstimate\");\nconst MetricEstimateAttributes_1 = require(\"./MetricEstimateAttributes\");\nconst MetricEstimateResponse_1 = require(\"./MetricEstimateResponse\");\nconst MetricIngestedIndexedVolume_1 = require(\"./MetricIngestedIndexedVolume\");\nconst MetricIngestedIndexedVolumeAttributes_1 = require(\"./MetricIngestedIndexedVolumeAttributes\");\nconst MetricMetadata_1 = require(\"./MetricMetadata\");\nconst MetricOrigin_1 = require(\"./MetricOrigin\");\nconst MetricPayload_1 = require(\"./MetricPayload\");\nconst MetricPoint_1 = require(\"./MetricPoint\");\nconst MetricResource_1 = require(\"./MetricResource\");\nconst MetricSeries_1 = require(\"./MetricSeries\");\nconst MetricSuggestedTagsAndAggregations_1 = require(\"./MetricSuggestedTagsAndAggregations\");\nconst MetricSuggestedTagsAndAggregationsResponse_1 = require(\"./MetricSuggestedTagsAndAggregationsResponse\");\nconst MetricSuggestedTagsAttributes_1 = require(\"./MetricSuggestedTagsAttributes\");\nconst MetricTagConfiguration_1 = require(\"./MetricTagConfiguration\");\nconst MetricTagConfigurationAttributes_1 = require(\"./MetricTagConfigurationAttributes\");\nconst MetricTagConfigurationCreateAttributes_1 = require(\"./MetricTagConfigurationCreateAttributes\");\nconst MetricTagConfigurationCreateData_1 = require(\"./MetricTagConfigurationCreateData\");\nconst MetricTagConfigurationCreateRequest_1 = require(\"./MetricTagConfigurationCreateRequest\");\nconst MetricTagConfigurationResponse_1 = require(\"./MetricTagConfigurationResponse\");\nconst MetricTagConfigurationUpdateAttributes_1 = require(\"./MetricTagConfigurationUpdateAttributes\");\nconst MetricTagConfigurationUpdateData_1 = require(\"./MetricTagConfigurationUpdateData\");\nconst MetricTagConfigurationUpdateRequest_1 = require(\"./MetricTagConfigurationUpdateRequest\");\nconst MetricVolumesResponse_1 = require(\"./MetricVolumesResponse\");\nconst MetricsAndMetricTagConfigurationsResponse_1 = require(\"./MetricsAndMetricTagConfigurationsResponse\");\nconst MetricsScalarQuery_1 = require(\"./MetricsScalarQuery\");\nconst MetricsTimeseriesQuery_1 = require(\"./MetricsTimeseriesQuery\");\nconst MonitorConfigPolicyAttributeCreateRequest_1 = require(\"./MonitorConfigPolicyAttributeCreateRequest\");\nconst MonitorConfigPolicyAttributeEditRequest_1 = require(\"./MonitorConfigPolicyAttributeEditRequest\");\nconst MonitorConfigPolicyAttributeResponse_1 = require(\"./MonitorConfigPolicyAttributeResponse\");\nconst MonitorConfigPolicyCreateData_1 = require(\"./MonitorConfigPolicyCreateData\");\nconst MonitorConfigPolicyCreateRequest_1 = require(\"./MonitorConfigPolicyCreateRequest\");\nconst MonitorConfigPolicyEditData_1 = require(\"./MonitorConfigPolicyEditData\");\nconst MonitorConfigPolicyEditRequest_1 = require(\"./MonitorConfigPolicyEditRequest\");\nconst MonitorConfigPolicyListResponse_1 = require(\"./MonitorConfigPolicyListResponse\");\nconst MonitorConfigPolicyResponse_1 = require(\"./MonitorConfigPolicyResponse\");\nconst MonitorConfigPolicyResponseData_1 = require(\"./MonitorConfigPolicyResponseData\");\nconst MonitorConfigPolicyTagPolicy_1 = require(\"./MonitorConfigPolicyTagPolicy\");\nconst MonitorConfigPolicyTagPolicyCreateRequest_1 = require(\"./MonitorConfigPolicyTagPolicyCreateRequest\");\nconst MonitorDowntimeMatchResponse_1 = require(\"./MonitorDowntimeMatchResponse\");\nconst MonitorDowntimeMatchResponseAttributes_1 = require(\"./MonitorDowntimeMatchResponseAttributes\");\nconst MonitorDowntimeMatchResponseData_1 = require(\"./MonitorDowntimeMatchResponseData\");\nconst MonitorType_1 = require(\"./MonitorType\");\nconst MuteFindingRequest_1 = require(\"./MuteFindingRequest\");\nconst MuteFindingRequestAttributes_1 = require(\"./MuteFindingRequestAttributes\");\nconst MuteFindingRequestData_1 = require(\"./MuteFindingRequestData\");\nconst MuteFindingRequestProperties_1 = require(\"./MuteFindingRequestProperties\");\nconst MuteFindingResponse_1 = require(\"./MuteFindingResponse\");\nconst MuteFindingResponseAttributes_1 = require(\"./MuteFindingResponseAttributes\");\nconst MuteFindingResponseData_1 = require(\"./MuteFindingResponseData\");\nconst MuteFindingResponseProperties_1 = require(\"./MuteFindingResponseProperties\");\nconst NullableRelationshipToUser_1 = require(\"./NullableRelationshipToUser\");\nconst NullableRelationshipToUserData_1 = require(\"./NullableRelationshipToUserData\");\nconst OnDemandConcurrencyCap_1 = require(\"./OnDemandConcurrencyCap\");\nconst OnDemandConcurrencyCapAttributes_1 = require(\"./OnDemandConcurrencyCapAttributes\");\nconst OnDemandConcurrencyCapResponse_1 = require(\"./OnDemandConcurrencyCapResponse\");\nconst OpsgenieServiceCreateAttributes_1 = require(\"./OpsgenieServiceCreateAttributes\");\nconst OpsgenieServiceCreateData_1 = require(\"./OpsgenieServiceCreateData\");\nconst OpsgenieServiceCreateRequest_1 = require(\"./OpsgenieServiceCreateRequest\");\nconst OpsgenieServiceResponse_1 = require(\"./OpsgenieServiceResponse\");\nconst OpsgenieServiceResponseAttributes_1 = require(\"./OpsgenieServiceResponseAttributes\");\nconst OpsgenieServiceResponseData_1 = require(\"./OpsgenieServiceResponseData\");\nconst OpsgenieServiceUpdateAttributes_1 = require(\"./OpsgenieServiceUpdateAttributes\");\nconst OpsgenieServiceUpdateData_1 = require(\"./OpsgenieServiceUpdateData\");\nconst OpsgenieServiceUpdateRequest_1 = require(\"./OpsgenieServiceUpdateRequest\");\nconst OpsgenieServicesResponse_1 = require(\"./OpsgenieServicesResponse\");\nconst Organization_1 = require(\"./Organization\");\nconst OrganizationAttributes_1 = require(\"./OrganizationAttributes\");\nconst Pagination_1 = require(\"./Pagination\");\nconst PartialAPIKey_1 = require(\"./PartialAPIKey\");\nconst PartialAPIKeyAttributes_1 = require(\"./PartialAPIKeyAttributes\");\nconst PartialApplicationKey_1 = require(\"./PartialApplicationKey\");\nconst PartialApplicationKeyAttributes_1 = require(\"./PartialApplicationKeyAttributes\");\nconst PartialApplicationKeyResponse_1 = require(\"./PartialApplicationKeyResponse\");\nconst Permission_1 = require(\"./Permission\");\nconst PermissionAttributes_1 = require(\"./PermissionAttributes\");\nconst PermissionsResponse_1 = require(\"./PermissionsResponse\");\nconst ProcessSummariesMeta_1 = require(\"./ProcessSummariesMeta\");\nconst ProcessSummariesMetaPage_1 = require(\"./ProcessSummariesMetaPage\");\nconst ProcessSummariesResponse_1 = require(\"./ProcessSummariesResponse\");\nconst ProcessSummary_1 = require(\"./ProcessSummary\");\nconst ProcessSummaryAttributes_1 = require(\"./ProcessSummaryAttributes\");\nconst QueryFormula_1 = require(\"./QueryFormula\");\nconst RUMAggregateBucketValueTimeseriesPoint_1 = require(\"./RUMAggregateBucketValueTimeseriesPoint\");\nconst RUMAggregateRequest_1 = require(\"./RUMAggregateRequest\");\nconst RUMAggregateSort_1 = require(\"./RUMAggregateSort\");\nconst RUMAggregationBucketsResponse_1 = require(\"./RUMAggregationBucketsResponse\");\nconst RUMAnalyticsAggregateResponse_1 = require(\"./RUMAnalyticsAggregateResponse\");\nconst RUMApplication_1 = require(\"./RUMApplication\");\nconst RUMApplicationAttributes_1 = require(\"./RUMApplicationAttributes\");\nconst RUMApplicationCreate_1 = require(\"./RUMApplicationCreate\");\nconst RUMApplicationCreateAttributes_1 = require(\"./RUMApplicationCreateAttributes\");\nconst RUMApplicationCreateRequest_1 = require(\"./RUMApplicationCreateRequest\");\nconst RUMApplicationList_1 = require(\"./RUMApplicationList\");\nconst RUMApplicationListAttributes_1 = require(\"./RUMApplicationListAttributes\");\nconst RUMApplicationResponse_1 = require(\"./RUMApplicationResponse\");\nconst RUMApplicationUpdate_1 = require(\"./RUMApplicationUpdate\");\nconst RUMApplicationUpdateAttributes_1 = require(\"./RUMApplicationUpdateAttributes\");\nconst RUMApplicationUpdateRequest_1 = require(\"./RUMApplicationUpdateRequest\");\nconst RUMApplicationsResponse_1 = require(\"./RUMApplicationsResponse\");\nconst RUMBucketResponse_1 = require(\"./RUMBucketResponse\");\nconst RUMCompute_1 = require(\"./RUMCompute\");\nconst RUMEvent_1 = require(\"./RUMEvent\");\nconst RUMEventAttributes_1 = require(\"./RUMEventAttributes\");\nconst RUMEventsResponse_1 = require(\"./RUMEventsResponse\");\nconst RUMGroupBy_1 = require(\"./RUMGroupBy\");\nconst RUMGroupByHistogram_1 = require(\"./RUMGroupByHistogram\");\nconst RUMQueryFilter_1 = require(\"./RUMQueryFilter\");\nconst RUMQueryOptions_1 = require(\"./RUMQueryOptions\");\nconst RUMQueryPageOptions_1 = require(\"./RUMQueryPageOptions\");\nconst RUMResponseLinks_1 = require(\"./RUMResponseLinks\");\nconst RUMResponseMetadata_1 = require(\"./RUMResponseMetadata\");\nconst RUMResponsePage_1 = require(\"./RUMResponsePage\");\nconst RUMSearchEventsRequest_1 = require(\"./RUMSearchEventsRequest\");\nconst RUMWarning_1 = require(\"./RUMWarning\");\nconst RelationshipToIncidentAttachment_1 = require(\"./RelationshipToIncidentAttachment\");\nconst RelationshipToIncidentAttachmentData_1 = require(\"./RelationshipToIncidentAttachmentData\");\nconst RelationshipToIncidentIntegrationMetadataData_1 = require(\"./RelationshipToIncidentIntegrationMetadataData\");\nconst RelationshipToIncidentIntegrationMetadatas_1 = require(\"./RelationshipToIncidentIntegrationMetadatas\");\nconst RelationshipToIncidentPostmortem_1 = require(\"./RelationshipToIncidentPostmortem\");\nconst RelationshipToIncidentPostmortemData_1 = require(\"./RelationshipToIncidentPostmortemData\");\nconst RelationshipToOrganization_1 = require(\"./RelationshipToOrganization\");\nconst RelationshipToOrganizationData_1 = require(\"./RelationshipToOrganizationData\");\nconst RelationshipToOrganizations_1 = require(\"./RelationshipToOrganizations\");\nconst RelationshipToPermission_1 = require(\"./RelationshipToPermission\");\nconst RelationshipToPermissionData_1 = require(\"./RelationshipToPermissionData\");\nconst RelationshipToPermissions_1 = require(\"./RelationshipToPermissions\");\nconst RelationshipToRole_1 = require(\"./RelationshipToRole\");\nconst RelationshipToRoleData_1 = require(\"./RelationshipToRoleData\");\nconst RelationshipToRoles_1 = require(\"./RelationshipToRoles\");\nconst RelationshipToSAMLAssertionAttribute_1 = require(\"./RelationshipToSAMLAssertionAttribute\");\nconst RelationshipToSAMLAssertionAttributeData_1 = require(\"./RelationshipToSAMLAssertionAttributeData\");\nconst RelationshipToTeamLinkData_1 = require(\"./RelationshipToTeamLinkData\");\nconst RelationshipToTeamLinks_1 = require(\"./RelationshipToTeamLinks\");\nconst RelationshipToUser_1 = require(\"./RelationshipToUser\");\nconst RelationshipToUserData_1 = require(\"./RelationshipToUserData\");\nconst RelationshipToUserTeamPermission_1 = require(\"./RelationshipToUserTeamPermission\");\nconst RelationshipToUserTeamPermissionData_1 = require(\"./RelationshipToUserTeamPermissionData\");\nconst RelationshipToUserTeamUser_1 = require(\"./RelationshipToUserTeamUser\");\nconst RelationshipToUserTeamUserData_1 = require(\"./RelationshipToUserTeamUserData\");\nconst RelationshipToUsers_1 = require(\"./RelationshipToUsers\");\nconst ResponseMetaAttributes_1 = require(\"./ResponseMetaAttributes\");\nconst RestrictionPolicy_1 = require(\"./RestrictionPolicy\");\nconst RestrictionPolicyAttributes_1 = require(\"./RestrictionPolicyAttributes\");\nconst RestrictionPolicyBinding_1 = require(\"./RestrictionPolicyBinding\");\nconst RestrictionPolicyResponse_1 = require(\"./RestrictionPolicyResponse\");\nconst RestrictionPolicyUpdateRequest_1 = require(\"./RestrictionPolicyUpdateRequest\");\nconst Role_1 = require(\"./Role\");\nconst RoleAttributes_1 = require(\"./RoleAttributes\");\nconst RoleClone_1 = require(\"./RoleClone\");\nconst RoleCloneAttributes_1 = require(\"./RoleCloneAttributes\");\nconst RoleCloneRequest_1 = require(\"./RoleCloneRequest\");\nconst RoleCreateAttributes_1 = require(\"./RoleCreateAttributes\");\nconst RoleCreateData_1 = require(\"./RoleCreateData\");\nconst RoleCreateRequest_1 = require(\"./RoleCreateRequest\");\nconst RoleCreateResponse_1 = require(\"./RoleCreateResponse\");\nconst RoleCreateResponseData_1 = require(\"./RoleCreateResponseData\");\nconst RoleRelationships_1 = require(\"./RoleRelationships\");\nconst RoleResponse_1 = require(\"./RoleResponse\");\nconst RoleResponseRelationships_1 = require(\"./RoleResponseRelationships\");\nconst RoleUpdateAttributes_1 = require(\"./RoleUpdateAttributes\");\nconst RoleUpdateData_1 = require(\"./RoleUpdateData\");\nconst RoleUpdateRequest_1 = require(\"./RoleUpdateRequest\");\nconst RoleUpdateResponse_1 = require(\"./RoleUpdateResponse\");\nconst RoleUpdateResponseData_1 = require(\"./RoleUpdateResponseData\");\nconst RolesResponse_1 = require(\"./RolesResponse\");\nconst SAMLAssertionAttribute_1 = require(\"./SAMLAssertionAttribute\");\nconst SAMLAssertionAttributeAttributes_1 = require(\"./SAMLAssertionAttributeAttributes\");\nconst ScalarFormulaQueryRequest_1 = require(\"./ScalarFormulaQueryRequest\");\nconst ScalarFormulaQueryResponse_1 = require(\"./ScalarFormulaQueryResponse\");\nconst ScalarFormulaRequest_1 = require(\"./ScalarFormulaRequest\");\nconst ScalarFormulaRequestAttributes_1 = require(\"./ScalarFormulaRequestAttributes\");\nconst ScalarFormulaResponseAtrributes_1 = require(\"./ScalarFormulaResponseAtrributes\");\nconst ScalarMeta_1 = require(\"./ScalarMeta\");\nconst ScalarResponse_1 = require(\"./ScalarResponse\");\nconst SecurityFilter_1 = require(\"./SecurityFilter\");\nconst SecurityFilterAttributes_1 = require(\"./SecurityFilterAttributes\");\nconst SecurityFilterCreateAttributes_1 = require(\"./SecurityFilterCreateAttributes\");\nconst SecurityFilterCreateData_1 = require(\"./SecurityFilterCreateData\");\nconst SecurityFilterCreateRequest_1 = require(\"./SecurityFilterCreateRequest\");\nconst SecurityFilterExclusionFilter_1 = require(\"./SecurityFilterExclusionFilter\");\nconst SecurityFilterExclusionFilterResponse_1 = require(\"./SecurityFilterExclusionFilterResponse\");\nconst SecurityFilterMeta_1 = require(\"./SecurityFilterMeta\");\nconst SecurityFilterResponse_1 = require(\"./SecurityFilterResponse\");\nconst SecurityFilterUpdateAttributes_1 = require(\"./SecurityFilterUpdateAttributes\");\nconst SecurityFilterUpdateData_1 = require(\"./SecurityFilterUpdateData\");\nconst SecurityFilterUpdateRequest_1 = require(\"./SecurityFilterUpdateRequest\");\nconst SecurityFiltersResponse_1 = require(\"./SecurityFiltersResponse\");\nconst SecurityMonitoringFilter_1 = require(\"./SecurityMonitoringFilter\");\nconst SecurityMonitoringListRulesResponse_1 = require(\"./SecurityMonitoringListRulesResponse\");\nconst SecurityMonitoringRuleCase_1 = require(\"./SecurityMonitoringRuleCase\");\nconst SecurityMonitoringRuleCaseCreate_1 = require(\"./SecurityMonitoringRuleCaseCreate\");\nconst SecurityMonitoringRuleImpossibleTravelOptions_1 = require(\"./SecurityMonitoringRuleImpossibleTravelOptions\");\nconst SecurityMonitoringRuleNewValueOptions_1 = require(\"./SecurityMonitoringRuleNewValueOptions\");\nconst SecurityMonitoringRuleOptions_1 = require(\"./SecurityMonitoringRuleOptions\");\nconst SecurityMonitoringRuleUpdatePayload_1 = require(\"./SecurityMonitoringRuleUpdatePayload\");\nconst SecurityMonitoringSignal_1 = require(\"./SecurityMonitoringSignal\");\nconst SecurityMonitoringSignalAssigneeUpdateAttributes_1 = require(\"./SecurityMonitoringSignalAssigneeUpdateAttributes\");\nconst SecurityMonitoringSignalAssigneeUpdateData_1 = require(\"./SecurityMonitoringSignalAssigneeUpdateData\");\nconst SecurityMonitoringSignalAssigneeUpdateRequest_1 = require(\"./SecurityMonitoringSignalAssigneeUpdateRequest\");\nconst SecurityMonitoringSignalAttributes_1 = require(\"./SecurityMonitoringSignalAttributes\");\nconst SecurityMonitoringSignalIncidentsUpdateAttributes_1 = require(\"./SecurityMonitoringSignalIncidentsUpdateAttributes\");\nconst SecurityMonitoringSignalIncidentsUpdateData_1 = require(\"./SecurityMonitoringSignalIncidentsUpdateData\");\nconst SecurityMonitoringSignalIncidentsUpdateRequest_1 = require(\"./SecurityMonitoringSignalIncidentsUpdateRequest\");\nconst SecurityMonitoringSignalListRequest_1 = require(\"./SecurityMonitoringSignalListRequest\");\nconst SecurityMonitoringSignalListRequestFilter_1 = require(\"./SecurityMonitoringSignalListRequestFilter\");\nconst SecurityMonitoringSignalListRequestPage_1 = require(\"./SecurityMonitoringSignalListRequestPage\");\nconst SecurityMonitoringSignalResponse_1 = require(\"./SecurityMonitoringSignalResponse\");\nconst SecurityMonitoringSignalRuleCreatePayload_1 = require(\"./SecurityMonitoringSignalRuleCreatePayload\");\nconst SecurityMonitoringSignalRuleQuery_1 = require(\"./SecurityMonitoringSignalRuleQuery\");\nconst SecurityMonitoringSignalRuleResponse_1 = require(\"./SecurityMonitoringSignalRuleResponse\");\nconst SecurityMonitoringSignalRuleResponseQuery_1 = require(\"./SecurityMonitoringSignalRuleResponseQuery\");\nconst SecurityMonitoringSignalStateUpdateAttributes_1 = require(\"./SecurityMonitoringSignalStateUpdateAttributes\");\nconst SecurityMonitoringSignalStateUpdateData_1 = require(\"./SecurityMonitoringSignalStateUpdateData\");\nconst SecurityMonitoringSignalStateUpdateRequest_1 = require(\"./SecurityMonitoringSignalStateUpdateRequest\");\nconst SecurityMonitoringSignalTriageAttributes_1 = require(\"./SecurityMonitoringSignalTriageAttributes\");\nconst SecurityMonitoringSignalTriageUpdateData_1 = require(\"./SecurityMonitoringSignalTriageUpdateData\");\nconst SecurityMonitoringSignalTriageUpdateResponse_1 = require(\"./SecurityMonitoringSignalTriageUpdateResponse\");\nconst SecurityMonitoringSignalsListResponse_1 = require(\"./SecurityMonitoringSignalsListResponse\");\nconst SecurityMonitoringSignalsListResponseLinks_1 = require(\"./SecurityMonitoringSignalsListResponseLinks\");\nconst SecurityMonitoringSignalsListResponseMeta_1 = require(\"./SecurityMonitoringSignalsListResponseMeta\");\nconst SecurityMonitoringSignalsListResponseMetaPage_1 = require(\"./SecurityMonitoringSignalsListResponseMetaPage\");\nconst SecurityMonitoringStandardRuleCreatePayload_1 = require(\"./SecurityMonitoringStandardRuleCreatePayload\");\nconst SecurityMonitoringStandardRuleQuery_1 = require(\"./SecurityMonitoringStandardRuleQuery\");\nconst SecurityMonitoringStandardRuleResponse_1 = require(\"./SecurityMonitoringStandardRuleResponse\");\nconst SecurityMonitoringTriageUser_1 = require(\"./SecurityMonitoringTriageUser\");\nconst SensitiveDataScannerConfigRequest_1 = require(\"./SensitiveDataScannerConfigRequest\");\nconst SensitiveDataScannerConfiguration_1 = require(\"./SensitiveDataScannerConfiguration\");\nconst SensitiveDataScannerConfigurationData_1 = require(\"./SensitiveDataScannerConfigurationData\");\nconst SensitiveDataScannerConfigurationRelationships_1 = require(\"./SensitiveDataScannerConfigurationRelationships\");\nconst SensitiveDataScannerCreateGroupResponse_1 = require(\"./SensitiveDataScannerCreateGroupResponse\");\nconst SensitiveDataScannerCreateRuleResponse_1 = require(\"./SensitiveDataScannerCreateRuleResponse\");\nconst SensitiveDataScannerFilter_1 = require(\"./SensitiveDataScannerFilter\");\nconst SensitiveDataScannerGetConfigResponse_1 = require(\"./SensitiveDataScannerGetConfigResponse\");\nconst SensitiveDataScannerGetConfigResponseData_1 = require(\"./SensitiveDataScannerGetConfigResponseData\");\nconst SensitiveDataScannerGroup_1 = require(\"./SensitiveDataScannerGroup\");\nconst SensitiveDataScannerGroupAttributes_1 = require(\"./SensitiveDataScannerGroupAttributes\");\nconst SensitiveDataScannerGroupCreate_1 = require(\"./SensitiveDataScannerGroupCreate\");\nconst SensitiveDataScannerGroupCreateRequest_1 = require(\"./SensitiveDataScannerGroupCreateRequest\");\nconst SensitiveDataScannerGroupData_1 = require(\"./SensitiveDataScannerGroupData\");\nconst SensitiveDataScannerGroupDeleteRequest_1 = require(\"./SensitiveDataScannerGroupDeleteRequest\");\nconst SensitiveDataScannerGroupDeleteResponse_1 = require(\"./SensitiveDataScannerGroupDeleteResponse\");\nconst SensitiveDataScannerGroupIncludedItem_1 = require(\"./SensitiveDataScannerGroupIncludedItem\");\nconst SensitiveDataScannerGroupItem_1 = require(\"./SensitiveDataScannerGroupItem\");\nconst SensitiveDataScannerGroupList_1 = require(\"./SensitiveDataScannerGroupList\");\nconst SensitiveDataScannerGroupRelationships_1 = require(\"./SensitiveDataScannerGroupRelationships\");\nconst SensitiveDataScannerGroupResponse_1 = require(\"./SensitiveDataScannerGroupResponse\");\nconst SensitiveDataScannerGroupUpdate_1 = require(\"./SensitiveDataScannerGroupUpdate\");\nconst SensitiveDataScannerGroupUpdateRequest_1 = require(\"./SensitiveDataScannerGroupUpdateRequest\");\nconst SensitiveDataScannerGroupUpdateResponse_1 = require(\"./SensitiveDataScannerGroupUpdateResponse\");\nconst SensitiveDataScannerMeta_1 = require(\"./SensitiveDataScannerMeta\");\nconst SensitiveDataScannerMetaVersionOnly_1 = require(\"./SensitiveDataScannerMetaVersionOnly\");\nconst SensitiveDataScannerReorderConfig_1 = require(\"./SensitiveDataScannerReorderConfig\");\nconst SensitiveDataScannerReorderGroupsResponse_1 = require(\"./SensitiveDataScannerReorderGroupsResponse\");\nconst SensitiveDataScannerRule_1 = require(\"./SensitiveDataScannerRule\");\nconst SensitiveDataScannerRuleAttributes_1 = require(\"./SensitiveDataScannerRuleAttributes\");\nconst SensitiveDataScannerRuleCreate_1 = require(\"./SensitiveDataScannerRuleCreate\");\nconst SensitiveDataScannerRuleCreateRequest_1 = require(\"./SensitiveDataScannerRuleCreateRequest\");\nconst SensitiveDataScannerRuleData_1 = require(\"./SensitiveDataScannerRuleData\");\nconst SensitiveDataScannerRuleDeleteRequest_1 = require(\"./SensitiveDataScannerRuleDeleteRequest\");\nconst SensitiveDataScannerRuleDeleteResponse_1 = require(\"./SensitiveDataScannerRuleDeleteResponse\");\nconst SensitiveDataScannerRuleIncludedItem_1 = require(\"./SensitiveDataScannerRuleIncludedItem\");\nconst SensitiveDataScannerRuleRelationships_1 = require(\"./SensitiveDataScannerRuleRelationships\");\nconst SensitiveDataScannerRuleResponse_1 = require(\"./SensitiveDataScannerRuleResponse\");\nconst SensitiveDataScannerRuleUpdate_1 = require(\"./SensitiveDataScannerRuleUpdate\");\nconst SensitiveDataScannerRuleUpdateRequest_1 = require(\"./SensitiveDataScannerRuleUpdateRequest\");\nconst SensitiveDataScannerRuleUpdateResponse_1 = require(\"./SensitiveDataScannerRuleUpdateResponse\");\nconst SensitiveDataScannerStandardPattern_1 = require(\"./SensitiveDataScannerStandardPattern\");\nconst SensitiveDataScannerStandardPatternAttributes_1 = require(\"./SensitiveDataScannerStandardPatternAttributes\");\nconst SensitiveDataScannerStandardPatternData_1 = require(\"./SensitiveDataScannerStandardPatternData\");\nconst SensitiveDataScannerStandardPatternsResponseData_1 = require(\"./SensitiveDataScannerStandardPatternsResponseData\");\nconst SensitiveDataScannerStandardPatternsResponseItem_1 = require(\"./SensitiveDataScannerStandardPatternsResponseItem\");\nconst SensitiveDataScannerTextReplacement_1 = require(\"./SensitiveDataScannerTextReplacement\");\nconst ServiceAccountCreateAttributes_1 = require(\"./ServiceAccountCreateAttributes\");\nconst ServiceAccountCreateData_1 = require(\"./ServiceAccountCreateData\");\nconst ServiceAccountCreateRequest_1 = require(\"./ServiceAccountCreateRequest\");\nconst ServiceDefinitionCreateResponse_1 = require(\"./ServiceDefinitionCreateResponse\");\nconst ServiceDefinitionData_1 = require(\"./ServiceDefinitionData\");\nconst ServiceDefinitionDataAttributes_1 = require(\"./ServiceDefinitionDataAttributes\");\nconst ServiceDefinitionGetResponse_1 = require(\"./ServiceDefinitionGetResponse\");\nconst ServiceDefinitionMeta_1 = require(\"./ServiceDefinitionMeta\");\nconst ServiceDefinitionMetaWarnings_1 = require(\"./ServiceDefinitionMetaWarnings\");\nconst ServiceDefinitionV1_1 = require(\"./ServiceDefinitionV1\");\nconst ServiceDefinitionV1Contact_1 = require(\"./ServiceDefinitionV1Contact\");\nconst ServiceDefinitionV1Info_1 = require(\"./ServiceDefinitionV1Info\");\nconst ServiceDefinitionV1Integrations_1 = require(\"./ServiceDefinitionV1Integrations\");\nconst ServiceDefinitionV1Org_1 = require(\"./ServiceDefinitionV1Org\");\nconst ServiceDefinitionV1Resource_1 = require(\"./ServiceDefinitionV1Resource\");\nconst ServiceDefinitionV2_1 = require(\"./ServiceDefinitionV2\");\nconst ServiceDefinitionV2Doc_1 = require(\"./ServiceDefinitionV2Doc\");\nconst ServiceDefinitionV2Dot1_1 = require(\"./ServiceDefinitionV2Dot1\");\nconst ServiceDefinitionV2Dot1Email_1 = require(\"./ServiceDefinitionV2Dot1Email\");\nconst ServiceDefinitionV2Dot1Integrations_1 = require(\"./ServiceDefinitionV2Dot1Integrations\");\nconst ServiceDefinitionV2Dot1Link_1 = require(\"./ServiceDefinitionV2Dot1Link\");\nconst ServiceDefinitionV2Dot1MSTeams_1 = require(\"./ServiceDefinitionV2Dot1MSTeams\");\nconst ServiceDefinitionV2Dot1Opsgenie_1 = require(\"./ServiceDefinitionV2Dot1Opsgenie\");\nconst ServiceDefinitionV2Dot1Pagerduty_1 = require(\"./ServiceDefinitionV2Dot1Pagerduty\");\nconst ServiceDefinitionV2Dot1Slack_1 = require(\"./ServiceDefinitionV2Dot1Slack\");\nconst ServiceDefinitionV2Email_1 = require(\"./ServiceDefinitionV2Email\");\nconst ServiceDefinitionV2Integrations_1 = require(\"./ServiceDefinitionV2Integrations\");\nconst ServiceDefinitionV2Link_1 = require(\"./ServiceDefinitionV2Link\");\nconst ServiceDefinitionV2MSTeams_1 = require(\"./ServiceDefinitionV2MSTeams\");\nconst ServiceDefinitionV2Opsgenie_1 = require(\"./ServiceDefinitionV2Opsgenie\");\nconst ServiceDefinitionV2Repo_1 = require(\"./ServiceDefinitionV2Repo\");\nconst ServiceDefinitionV2Slack_1 = require(\"./ServiceDefinitionV2Slack\");\nconst ServiceDefinitionsListResponse_1 = require(\"./ServiceDefinitionsListResponse\");\nconst SlackIntegrationMetadata_1 = require(\"./SlackIntegrationMetadata\");\nconst SlackIntegrationMetadataChannelItem_1 = require(\"./SlackIntegrationMetadataChannelItem\");\nconst Span_1 = require(\"./Span\");\nconst SpansAggregateBucket_1 = require(\"./SpansAggregateBucket\");\nconst SpansAggregateBucketAttributes_1 = require(\"./SpansAggregateBucketAttributes\");\nconst SpansAggregateBucketValueTimeseriesPoint_1 = require(\"./SpansAggregateBucketValueTimeseriesPoint\");\nconst SpansAggregateData_1 = require(\"./SpansAggregateData\");\nconst SpansAggregateRequest_1 = require(\"./SpansAggregateRequest\");\nconst SpansAggregateRequestAttributes_1 = require(\"./SpansAggregateRequestAttributes\");\nconst SpansAggregateResponse_1 = require(\"./SpansAggregateResponse\");\nconst SpansAggregateResponseMetadata_1 = require(\"./SpansAggregateResponseMetadata\");\nconst SpansAggregateSort_1 = require(\"./SpansAggregateSort\");\nconst SpansAttributes_1 = require(\"./SpansAttributes\");\nconst SpansCompute_1 = require(\"./SpansCompute\");\nconst SpansGroupBy_1 = require(\"./SpansGroupBy\");\nconst SpansGroupByHistogram_1 = require(\"./SpansGroupByHistogram\");\nconst SpansListRequest_1 = require(\"./SpansListRequest\");\nconst SpansListRequestAttributes_1 = require(\"./SpansListRequestAttributes\");\nconst SpansListRequestData_1 = require(\"./SpansListRequestData\");\nconst SpansListRequestPage_1 = require(\"./SpansListRequestPage\");\nconst SpansListResponse_1 = require(\"./SpansListResponse\");\nconst SpansListResponseLinks_1 = require(\"./SpansListResponseLinks\");\nconst SpansListResponseMetadata_1 = require(\"./SpansListResponseMetadata\");\nconst SpansMetricCompute_1 = require(\"./SpansMetricCompute\");\nconst SpansMetricCreateAttributes_1 = require(\"./SpansMetricCreateAttributes\");\nconst SpansMetricCreateData_1 = require(\"./SpansMetricCreateData\");\nconst SpansMetricCreateRequest_1 = require(\"./SpansMetricCreateRequest\");\nconst SpansMetricFilter_1 = require(\"./SpansMetricFilter\");\nconst SpansMetricGroupBy_1 = require(\"./SpansMetricGroupBy\");\nconst SpansMetricResponse_1 = require(\"./SpansMetricResponse\");\nconst SpansMetricResponseAttributes_1 = require(\"./SpansMetricResponseAttributes\");\nconst SpansMetricResponseCompute_1 = require(\"./SpansMetricResponseCompute\");\nconst SpansMetricResponseData_1 = require(\"./SpansMetricResponseData\");\nconst SpansMetricResponseFilter_1 = require(\"./SpansMetricResponseFilter\");\nconst SpansMetricResponseGroupBy_1 = require(\"./SpansMetricResponseGroupBy\");\nconst SpansMetricUpdateAttributes_1 = require(\"./SpansMetricUpdateAttributes\");\nconst SpansMetricUpdateCompute_1 = require(\"./SpansMetricUpdateCompute\");\nconst SpansMetricUpdateData_1 = require(\"./SpansMetricUpdateData\");\nconst SpansMetricUpdateRequest_1 = require(\"./SpansMetricUpdateRequest\");\nconst SpansMetricsResponse_1 = require(\"./SpansMetricsResponse\");\nconst SpansQueryFilter_1 = require(\"./SpansQueryFilter\");\nconst SpansQueryOptions_1 = require(\"./SpansQueryOptions\");\nconst SpansResponseMetadataPage_1 = require(\"./SpansResponseMetadataPage\");\nconst SpansWarning_1 = require(\"./SpansWarning\");\nconst Team_1 = require(\"./Team\");\nconst TeamAttributes_1 = require(\"./TeamAttributes\");\nconst TeamCreate_1 = require(\"./TeamCreate\");\nconst TeamCreateAttributes_1 = require(\"./TeamCreateAttributes\");\nconst TeamCreateRelationships_1 = require(\"./TeamCreateRelationships\");\nconst TeamCreateRequest_1 = require(\"./TeamCreateRequest\");\nconst TeamLink_1 = require(\"./TeamLink\");\nconst TeamLinkAttributes_1 = require(\"./TeamLinkAttributes\");\nconst TeamLinkCreate_1 = require(\"./TeamLinkCreate\");\nconst TeamLinkCreateRequest_1 = require(\"./TeamLinkCreateRequest\");\nconst TeamLinkResponse_1 = require(\"./TeamLinkResponse\");\nconst TeamLinksResponse_1 = require(\"./TeamLinksResponse\");\nconst TeamPermissionSetting_1 = require(\"./TeamPermissionSetting\");\nconst TeamPermissionSettingAttributes_1 = require(\"./TeamPermissionSettingAttributes\");\nconst TeamPermissionSettingResponse_1 = require(\"./TeamPermissionSettingResponse\");\nconst TeamPermissionSettingUpdate_1 = require(\"./TeamPermissionSettingUpdate\");\nconst TeamPermissionSettingUpdateAttributes_1 = require(\"./TeamPermissionSettingUpdateAttributes\");\nconst TeamPermissionSettingUpdateRequest_1 = require(\"./TeamPermissionSettingUpdateRequest\");\nconst TeamPermissionSettingsResponse_1 = require(\"./TeamPermissionSettingsResponse\");\nconst TeamRelationships_1 = require(\"./TeamRelationships\");\nconst TeamRelationshipsLinks_1 = require(\"./TeamRelationshipsLinks\");\nconst TeamResponse_1 = require(\"./TeamResponse\");\nconst TeamUpdate_1 = require(\"./TeamUpdate\");\nconst TeamUpdateAttributes_1 = require(\"./TeamUpdateAttributes\");\nconst TeamUpdateRelationships_1 = require(\"./TeamUpdateRelationships\");\nconst TeamUpdateRequest_1 = require(\"./TeamUpdateRequest\");\nconst TeamsResponse_1 = require(\"./TeamsResponse\");\nconst TeamsResponseLinks_1 = require(\"./TeamsResponseLinks\");\nconst TeamsResponseMeta_1 = require(\"./TeamsResponseMeta\");\nconst TeamsResponseMetaPagination_1 = require(\"./TeamsResponseMetaPagination\");\nconst TimeseriesFormulaQueryRequest_1 = require(\"./TimeseriesFormulaQueryRequest\");\nconst TimeseriesFormulaQueryResponse_1 = require(\"./TimeseriesFormulaQueryResponse\");\nconst TimeseriesFormulaRequest_1 = require(\"./TimeseriesFormulaRequest\");\nconst TimeseriesFormulaRequestAttributes_1 = require(\"./TimeseriesFormulaRequestAttributes\");\nconst TimeseriesResponse_1 = require(\"./TimeseriesResponse\");\nconst TimeseriesResponseAttributes_1 = require(\"./TimeseriesResponseAttributes\");\nconst TimeseriesResponseSeries_1 = require(\"./TimeseriesResponseSeries\");\nconst Unit_1 = require(\"./Unit\");\nconst UsageApplicationSecurityMonitoringResponse_1 = require(\"./UsageApplicationSecurityMonitoringResponse\");\nconst UsageAttributesObject_1 = require(\"./UsageAttributesObject\");\nconst UsageDataObject_1 = require(\"./UsageDataObject\");\nconst UsageLambdaTracedInvocationsResponse_1 = require(\"./UsageLambdaTracedInvocationsResponse\");\nconst UsageObservabilityPipelinesResponse_1 = require(\"./UsageObservabilityPipelinesResponse\");\nconst UsageTimeSeriesObject_1 = require(\"./UsageTimeSeriesObject\");\nconst User_1 = require(\"./User\");\nconst UserAttributes_1 = require(\"./UserAttributes\");\nconst UserCreateAttributes_1 = require(\"./UserCreateAttributes\");\nconst UserCreateData_1 = require(\"./UserCreateData\");\nconst UserCreateRequest_1 = require(\"./UserCreateRequest\");\nconst UserInvitationData_1 = require(\"./UserInvitationData\");\nconst UserInvitationDataAttributes_1 = require(\"./UserInvitationDataAttributes\");\nconst UserInvitationRelationships_1 = require(\"./UserInvitationRelationships\");\nconst UserInvitationResponse_1 = require(\"./UserInvitationResponse\");\nconst UserInvitationResponseData_1 = require(\"./UserInvitationResponseData\");\nconst UserInvitationsRequest_1 = require(\"./UserInvitationsRequest\");\nconst UserInvitationsResponse_1 = require(\"./UserInvitationsResponse\");\nconst UserRelationships_1 = require(\"./UserRelationships\");\nconst UserResponse_1 = require(\"./UserResponse\");\nconst UserResponseRelationships_1 = require(\"./UserResponseRelationships\");\nconst UserTeam_1 = require(\"./UserTeam\");\nconst UserTeamAttributes_1 = require(\"./UserTeamAttributes\");\nconst UserTeamCreate_1 = require(\"./UserTeamCreate\");\nconst UserTeamPermission_1 = require(\"./UserTeamPermission\");\nconst UserTeamPermissionAttributes_1 = require(\"./UserTeamPermissionAttributes\");\nconst UserTeamRelationships_1 = require(\"./UserTeamRelationships\");\nconst UserTeamRequest_1 = require(\"./UserTeamRequest\");\nconst UserTeamResponse_1 = require(\"./UserTeamResponse\");\nconst UserTeamUpdate_1 = require(\"./UserTeamUpdate\");\nconst UserTeamUpdateRequest_1 = require(\"./UserTeamUpdateRequest\");\nconst UserTeamsResponse_1 = require(\"./UserTeamsResponse\");\nconst UserUpdateAttributes_1 = require(\"./UserUpdateAttributes\");\nconst UserUpdateData_1 = require(\"./UserUpdateData\");\nconst UserUpdateRequest_1 = require(\"./UserUpdateRequest\");\nconst UsersResponse_1 = require(\"./UsersResponse\");\nconst util_1 = require(\"../../datadog-api-client-common/util\");\nconst logger_1 = require(\"../../../logger\");\nconst primitives = [\n    \"string\",\n    \"boolean\",\n    \"double\",\n    \"integer\",\n    \"long\",\n    \"float\",\n    \"number\",\n];\nconst ARRAY_PREFIX = \"Array<\";\nconst MAP_PREFIX = \"{ [key: string]: \";\nconst TUPLE_PREFIX = \"[\";\nconst supportedMediaTypes = {\n    \"application/json\": Infinity,\n    \"text/json\": 100,\n    \"application/octet-stream\": 0,\n};\nconst enumsMap = {\n    APIKeysSort: [\n        \"created_at\",\n        \"-created_at\",\n        \"last4\",\n        \"-last4\",\n        \"modified_at\",\n        \"-modified_at\",\n        \"name\",\n        \"-name\",\n    ],\n    APIKeysType: [\"api_keys\"],\n    ApplicationKeysSort: [\n        \"created_at\",\n        \"-created_at\",\n        \"last4\",\n        \"-last4\",\n        \"name\",\n        \"-name\",\n    ],\n    ApplicationKeysType: [\"application_keys\"],\n    AuditLogsEventType: [\"audit\"],\n    AuditLogsResponseStatus: [\"done\", \"timeout\"],\n    AuditLogsSort: [\"timestamp\", \"-timestamp\"],\n    AuthNMappingsSort: [\n        \"created_at\",\n        \"-created_at\",\n        \"role_id\",\n        \"-role_id\",\n        \"saml_assertion_attribute_id\",\n        \"-saml_assertion_attribute_id\",\n        \"role.name\",\n        \"-role.name\",\n        \"saml_assertion_attribute.attribute_key\",\n        \"-saml_assertion_attribute.attribute_key\",\n        \"saml_assertion_attribute.attribute_value\",\n        \"-saml_assertion_attribute.attribute_value\",\n    ],\n    AuthNMappingsType: [\"authn_mappings\"],\n    CIAppAggregateSortType: [\"alphabetical\", \"measure\"],\n    CIAppAggregationFunction: [\n        \"count\",\n        \"cardinality\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n        \"median\",\n        \"latest\",\n        \"earliest\",\n        \"most_frequent\",\n        \"delta\",\n    ],\n    CIAppCIErrorDomain: [\"provider\", \"user\", \"unknown\"],\n    CIAppComputeType: [\"timeseries\", \"total\"],\n    CIAppCreatePipelineEventRequestDataType: [\"cipipeline_resource_request\"],\n    CIAppPipelineEventJobLevel: [\"job\"],\n    CIAppPipelineEventJobStatus: [\"success\", \"error\", \"canceled\", \"skipped\"],\n    CIAppPipelineEventPipelineLevel: [\"pipeline\"],\n    CIAppPipelineEventPipelineStatus: [\n        \"success\",\n        \"error\",\n        \"canceled\",\n        \"skipped\",\n        \"blocked\",\n    ],\n    CIAppPipelineEventStageLevel: [\"stage\"],\n    CIAppPipelineEventStageStatus: [\"success\", \"error\", \"canceled\", \"skipped\"],\n    CIAppPipelineEventStepLevel: [\"step\"],\n    CIAppPipelineEventStepStatus: [\"success\", \"error\"],\n    CIAppPipelineEventTypeName: [\"cipipeline\"],\n    CIAppPipelineLevel: [\"pipeline\", \"stage\", \"job\", \"step\", \"custom\"],\n    CIAppResponseStatus: [\"done\", \"timeout\"],\n    CIAppSort: [\"timestamp\", \"-timestamp\"],\n    CIAppSortOrder: [\"asc\", \"desc\"],\n    CIAppTestEventTypeName: [\"citest\"],\n    CIAppTestLevel: [\"session\", \"module\", \"suite\", \"test\"],\n    CloudConfigurationRuleType: [\"cloud_configuration\"],\n    CloudWorkloadSecurityAgentRuleType: [\"agent_rule\"],\n    CloudflareAccountType: [\"cloudflare-accounts\"],\n    ConfluentAccountType: [\"confluent-cloud-accounts\"],\n    ConfluentResourceType: [\"confluent-cloud-resources\"],\n    ContentEncoding: [\"identity\", \"gzip\", \"deflate\"],\n    CostByOrgType: [\"cost_by_org\"],\n    DashboardType: [\n        \"custom_timeboard\",\n        \"custom_screenboard\",\n        \"integration_screenboard\",\n        \"integration_timeboard\",\n        \"host_timeboard\",\n    ],\n    DetailedFindingType: [\"detailed_finding\"],\n    DowntimeIncludedMonitorType: [\"monitors\"],\n    DowntimeNotifyEndStateActions: [\"canceled\", \"expired\"],\n    DowntimeNotifyEndStateTypes: [\"alert\", \"no data\", \"warn\"],\n    DowntimeResourceType: [\"downtime\"],\n    DowntimeStatus: [\"active\", \"canceled\", \"ended\", \"scheduled\"],\n    EventPriority: [\"normal\", \"low\"],\n    EventStatusType: [\n        \"failure\",\n        \"error\",\n        \"warning\",\n        \"info\",\n        \"success\",\n        \"user_update\",\n        \"recommendation\",\n        \"snapshot\",\n    ],\n    EventType: [\"event\"],\n    EventsAggregation: [\n        \"count\",\n        \"cardinality\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n    ],\n    EventsDataSource: [\"logs\", \"rum\"],\n    EventsSort: [\"timestamp\", \"-timestamp\"],\n    EventsSortType: [\"alphabetical\", \"measure\"],\n    FastlyAccountType: [\"fastly-accounts\"],\n    FastlyServiceType: [\"fastly-services\"],\n    FindingEvaluation: [\"pass\", \"fail\"],\n    FindingMuteReason: [\n        \"PENDING_FIX\",\n        \"FALSE_POSITIVE\",\n        \"ACCEPTED_RISK\",\n        \"NO_PENDING_FIX\",\n        \"HUMAN_ERROR\",\n        \"NO_LONGER_ACCEPTED_RISK\",\n        \"OTHER\",\n    ],\n    FindingStatus: [\"critical\", \"high\", \"medium\", \"low\", \"info\"],\n    FindingType: [\"finding\"],\n    GCPSTSDelegateAccountType: [\"gcp_sts_delegate\"],\n    GCPServiceAccountType: [\"gcp_service_account\"],\n    GetTeamMembershipsSort: [\n        \"manager_name\",\n        \"-manager_name\",\n        \"name\",\n        \"-name\",\n        \"handle\",\n        \"-handle\",\n        \"email\",\n        \"-email\",\n    ],\n    HourlyUsageType: [\n        \"app_sec_host_count\",\n        \"observability_pipelines_bytes_processed\",\n        \"lambda_traced_invocations_count\",\n    ],\n    IPAllowlistEntryType: [\"ip_allowlist_entry\"],\n    IPAllowlistType: [\"ip_allowlist\"],\n    IncidentAttachmentAttachmentType: [\"link\", \"postmortem\"],\n    IncidentAttachmentLinkAttachmentType: [\"link\"],\n    IncidentAttachmentPostmortemAttachmentType: [\"postmortem\"],\n    IncidentAttachmentRelatedObject: [\"users\"],\n    IncidentAttachmentType: [\"incident_attachments\"],\n    IncidentFieldAttributesSingleValueType: [\"dropdown\", \"textbox\"],\n    IncidentFieldAttributesValueType: [\n        \"multiselect\",\n        \"textarray\",\n        \"metrictag\",\n        \"autocomplete\",\n    ],\n    IncidentIntegrationMetadataType: [\"incident_integrations\"],\n    IncidentPostmortemType: [\"incident_postmortems\"],\n    IncidentRelatedObject: [\"users\", \"attachments\"],\n    IncidentSearchResultsType: [\"incidents_search_results\"],\n    IncidentSearchSortOrder: [\"created\", \"-created\"],\n    IncidentServiceType: [\"services\"],\n    IncidentTeamType: [\"teams\"],\n    IncidentTimelineCellMarkdownContentType: [\"markdown\"],\n    IncidentTodoAnonymousAssigneeSource: [\"slack\", \"microsoft_teams\"],\n    IncidentTodoType: [\"incident_todos\"],\n    IncidentType: [\"incidents\"],\n    ListTeamsInclude: [\"team_links\", \"user_team_permissions\"],\n    ListTeamsSort: [\"name\", \"-name\", \"user_count\", \"-user_count\"],\n    LogType: [\"log\"],\n    LogsAggregateResponseStatus: [\"done\", \"timeout\"],\n    LogsAggregateSortType: [\"alphabetical\", \"measure\"],\n    LogsAggregationFunction: [\n        \"count\",\n        \"cardinality\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n        \"median\",\n    ],\n    LogsArchiveDestinationAzureType: [\"azure\"],\n    LogsArchiveDestinationGCSType: [\"gcs\"],\n    LogsArchiveDestinationS3Type: [\"s3\"],\n    LogsArchiveOrderDefinitionType: [\"archive_order\"],\n    LogsArchiveState: [\"UNKNOWN\", \"WORKING\", \"FAILING\", \"WORKING_AUTH_LEGACY\"],\n    LogsComputeType: [\"timeseries\", \"total\"],\n    LogsMetricComputeAggregationType: [\"count\", \"distribution\"],\n    LogsMetricResponseComputeAggregationType: [\"count\", \"distribution\"],\n    LogsMetricType: [\"logs_metrics\"],\n    LogsSort: [\"timestamp\", \"-timestamp\"],\n    LogsSortOrder: [\"asc\", \"desc\"],\n    LogsStorageTier: [\"indexes\", \"online-archives\"],\n    MetricActiveConfigurationType: [\"actively_queried_configurations\"],\n    MetricBulkConfigureTagsType: [\"metric_bulk_configure_tags\"],\n    MetricContentEncoding: [\"deflate\", \"zstd1\", \"gzip\"],\n    MetricCustomSpaceAggregation: [\"avg\", \"max\", \"min\", \"sum\"],\n    MetricCustomTimeAggregation: [\"avg\", \"count\", \"max\", \"min\", \"sum\"],\n    MetricDistinctVolumeType: [\"distinct_metric_volumes\"],\n    MetricEstimateResourceType: [\"metric_cardinality_estimate\"],\n    MetricEstimateType: [\"count_or_gauge\", \"distribution\", \"percentile\"],\n    MetricIngestedIndexedVolumeType: [\"metric_volumes\"],\n    MetricIntakeType: [0, 1, 2, 3],\n    MetricTagConfigurationMetricTypes: [\"gauge\", \"count\", \"rate\", \"distribution\"],\n    MetricTagConfigurationType: [\"manage_tags\"],\n    MetricType: [\"metrics\"],\n    MetricsAggregator: [\n        \"avg\",\n        \"min\",\n        \"max\",\n        \"sum\",\n        \"last\",\n        \"percentile\",\n        \"mean\",\n        \"l2norm\",\n        \"area\",\n    ],\n    MetricsDataSource: [\"metrics\", \"cloud_cost\"],\n    MonitorConfigPolicyResourceType: [\"monitor-config-policy\"],\n    MonitorConfigPolicyType: [\"tag\"],\n    MonitorDowntimeMatchResourceType: [\"downtime_match\"],\n    OnDemandConcurrencyCapType: [\"on_demand_concurrency_cap\"],\n    OpsgenieServiceRegionType: [\"us\", \"eu\", \"custom\"],\n    OpsgenieServiceType: [\"opsgenie-service\"],\n    OrganizationsType: [\"orgs\"],\n    PermissionsType: [\"permissions\"],\n    ProcessSummaryType: [\"process\"],\n    QuerySortOrder: [\"asc\", \"desc\"],\n    RUMAggregateSortType: [\"alphabetical\", \"measure\"],\n    RUMAggregationFunction: [\n        \"count\",\n        \"cardinality\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n        \"median\",\n    ],\n    RUMApplicationCreateType: [\"rum_application_create\"],\n    RUMApplicationListType: [\"rum_application\"],\n    RUMApplicationType: [\"rum_application\"],\n    RUMApplicationUpdateType: [\"rum_application_update\"],\n    RUMComputeType: [\"timeseries\", \"total\"],\n    RUMEventType: [\"rum\"],\n    RUMResponseStatus: [\"done\", \"timeout\"],\n    RUMSort: [\"timestamp\", \"-timestamp\"],\n    RUMSortOrder: [\"asc\", \"desc\"],\n    RestrictionPolicyType: [\"restriction_policy\"],\n    RolesSort: [\n        \"name\",\n        \"-name\",\n        \"modified_at\",\n        \"-modified_at\",\n        \"user_count\",\n        \"-user_count\",\n    ],\n    RolesType: [\"roles\"],\n    SAMLAssertionAttributesType: [\"saml_assertion_attributes\"],\n    ScalarFormulaRequestType: [\"scalar_request\"],\n    ScalarFormulaResponseType: [\"scalar_response\"],\n    SecurityFilterFilteredDataType: [\"logs\"],\n    SecurityFilterType: [\"security_filters\"],\n    SecurityMonitoringFilterAction: [\"require\", \"suppress\"],\n    SecurityMonitoringRuleDetectionMethod: [\n        \"threshold\",\n        \"new_value\",\n        \"anomaly_detection\",\n        \"impossible_travel\",\n        \"hardcoded\",\n        \"third_party\",\n    ],\n    SecurityMonitoringRuleEvaluationWindow: [\n        0, 60, 300, 600, 900, 1800, 3600, 7200,\n    ],\n    SecurityMonitoringRuleHardcodedEvaluatorType: [\"log4shell\"],\n    SecurityMonitoringRuleKeepAlive: [\n        0, 60, 300, 600, 900, 1800, 3600, 7200, 10800, 21600,\n    ],\n    SecurityMonitoringRuleMaxSignalDuration: [\n        0, 60, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400,\n    ],\n    SecurityMonitoringRuleNewValueOptionsForgetAfter: [1, 2, 7, 14, 21, 28],\n    SecurityMonitoringRuleNewValueOptionsLearningDuration: [0, 1, 7],\n    SecurityMonitoringRuleNewValueOptionsLearningMethod: [\n        \"duration\",\n        \"threshold\",\n    ],\n    SecurityMonitoringRuleNewValueOptionsLearningThreshold: [0, 1],\n    SecurityMonitoringRuleQueryAggregation: [\n        \"count\",\n        \"cardinality\",\n        \"sum\",\n        \"max\",\n        \"new_value\",\n        \"geo_data\",\n        \"event_count\",\n        \"none\",\n    ],\n    SecurityMonitoringRuleSeverity: [\"info\", \"low\", \"medium\", \"high\", \"critical\"],\n    SecurityMonitoringRuleTypeCreate: [\"log_detection\", \"workload_security\"],\n    SecurityMonitoringRuleTypeRead: [\n        \"log_detection\",\n        \"infrastructure_configuration\",\n        \"workload_security\",\n        \"cloud_configuration\",\n        \"application_security\",\n    ],\n    SecurityMonitoringSignalArchiveReason: [\n        \"none\",\n        \"false_positive\",\n        \"testing_or_maintenance\",\n        \"investigated_case_opened\",\n        \"other\",\n    ],\n    SecurityMonitoringSignalMetadataType: [\"signal_metadata\"],\n    SecurityMonitoringSignalRuleType: [\"signal_correlation\"],\n    SecurityMonitoringSignalState: [\"open\", \"archived\", \"under_review\"],\n    SecurityMonitoringSignalType: [\"signal\"],\n    SecurityMonitoringSignalsSort: [\"timestamp\", \"-timestamp\"],\n    SensitiveDataScannerConfigurationType: [\n        \"sensitive_data_scanner_configuration\",\n    ],\n    SensitiveDataScannerGroupType: [\"sensitive_data_scanner_group\"],\n    SensitiveDataScannerProduct: [\"logs\", \"rum\", \"events\", \"apm\"],\n    SensitiveDataScannerRuleType: [\"sensitive_data_scanner_rule\"],\n    SensitiveDataScannerStandardPatternType: [\n        \"sensitive_data_scanner_standard_pattern\",\n    ],\n    SensitiveDataScannerTextReplacementType: [\n        \"none\",\n        \"hash\",\n        \"replacement_string\",\n        \"partial_replacement_from_beginning\",\n        \"partial_replacement_from_end\",\n    ],\n    ServiceDefinitionSchemaVersions: [\"v1\", \"v2\", \"v2.1\"],\n    ServiceDefinitionV1ResourceType: [\n        \"doc\",\n        \"wiki\",\n        \"runbook\",\n        \"url\",\n        \"repo\",\n        \"dashboard\",\n        \"oncall\",\n        \"code\",\n        \"link\",\n    ],\n    ServiceDefinitionV1Version: [\"v1\"],\n    ServiceDefinitionV2Dot1EmailType: [\"email\"],\n    ServiceDefinitionV2Dot1LinkType: [\n        \"doc\",\n        \"repo\",\n        \"runbook\",\n        \"dashboard\",\n        \"other\",\n    ],\n    ServiceDefinitionV2Dot1MSTeamsType: [\"microsoft-teams\"],\n    ServiceDefinitionV2Dot1OpsgenieRegion: [\"US\", \"EU\"],\n    ServiceDefinitionV2Dot1SlackType: [\"slack\"],\n    ServiceDefinitionV2Dot1Version: [\"v2.1\"],\n    ServiceDefinitionV2EmailType: [\"email\"],\n    ServiceDefinitionV2LinkType: [\n        \"doc\",\n        \"wiki\",\n        \"runbook\",\n        \"url\",\n        \"repo\",\n        \"dashboard\",\n        \"oncall\",\n        \"code\",\n        \"link\",\n    ],\n    ServiceDefinitionV2MSTeamsType: [\"microsoft-teams\"],\n    ServiceDefinitionV2OpsgenieRegion: [\"US\", \"EU\"],\n    ServiceDefinitionV2SlackType: [\"slack\"],\n    ServiceDefinitionV2Version: [\"v2\"],\n    SpansAggregateBucketType: [\"bucket\"],\n    SpansAggregateRequestType: [\"aggregate_request\"],\n    SpansAggregateResponseStatus: [\"done\", \"timeout\"],\n    SpansAggregateSortType: [\"alphabetical\", \"measure\"],\n    SpansAggregationFunction: [\n        \"count\",\n        \"cardinality\",\n        \"pc75\",\n        \"pc90\",\n        \"pc95\",\n        \"pc98\",\n        \"pc99\",\n        \"sum\",\n        \"min\",\n        \"max\",\n        \"avg\",\n        \"median\",\n    ],\n    SpansComputeType: [\"timeseries\", \"total\"],\n    SpansListRequestType: [\"search_request\"],\n    SpansMetricComputeAggregationType: [\"count\", \"distribution\"],\n    SpansMetricType: [\"spans_metrics\"],\n    SpansSort: [\"timestamp\", \"-timestamp\"],\n    SpansSortOrder: [\"asc\", \"desc\"],\n    SpansType: [\"spans\"],\n    TeamLinkType: [\"team_links\"],\n    TeamPermissionSettingSerializerAction: [\"manage_membership\", \"edit\"],\n    TeamPermissionSettingType: [\"team_permission_settings\"],\n    TeamPermissionSettingValue: [\n        \"admins\",\n        \"members\",\n        \"organization\",\n        \"user_access_manage\",\n        \"teams_manage\",\n    ],\n    TeamType: [\"team\"],\n    TimeseriesFormulaRequestType: [\"timeseries_request\"],\n    TimeseriesFormulaResponseType: [\"timeseries_response\"],\n    UsageTimeSeriesType: [\"usage_timeseries\"],\n    UserInvitationsType: [\"user_invitations\"],\n    UserTeamPermissionType: [\"user_team_permissions\"],\n    UserTeamRole: [\"admin\"],\n    UserTeamType: [\"team_memberships\"],\n    UserTeamUserType: [\"users\"],\n    UsersType: [\"users\"],\n};\nconst typeMap = {\n    APIErrorResponse: APIErrorResponse_1.APIErrorResponse,\n    APIKeyCreateAttributes: APIKeyCreateAttributes_1.APIKeyCreateAttributes,\n    APIKeyCreateData: APIKeyCreateData_1.APIKeyCreateData,\n    APIKeyCreateRequest: APIKeyCreateRequest_1.APIKeyCreateRequest,\n    APIKeyRelationships: APIKeyRelationships_1.APIKeyRelationships,\n    APIKeyResponse: APIKeyResponse_1.APIKeyResponse,\n    APIKeyUpdateAttributes: APIKeyUpdateAttributes_1.APIKeyUpdateAttributes,\n    APIKeyUpdateData: APIKeyUpdateData_1.APIKeyUpdateData,\n    APIKeyUpdateRequest: APIKeyUpdateRequest_1.APIKeyUpdateRequest,\n    APIKeysResponse: APIKeysResponse_1.APIKeysResponse,\n    ApplicationKeyCreateAttributes: ApplicationKeyCreateAttributes_1.ApplicationKeyCreateAttributes,\n    ApplicationKeyCreateData: ApplicationKeyCreateData_1.ApplicationKeyCreateData,\n    ApplicationKeyCreateRequest: ApplicationKeyCreateRequest_1.ApplicationKeyCreateRequest,\n    ApplicationKeyRelationships: ApplicationKeyRelationships_1.ApplicationKeyRelationships,\n    ApplicationKeyResponse: ApplicationKeyResponse_1.ApplicationKeyResponse,\n    ApplicationKeyUpdateAttributes: ApplicationKeyUpdateAttributes_1.ApplicationKeyUpdateAttributes,\n    ApplicationKeyUpdateData: ApplicationKeyUpdateData_1.ApplicationKeyUpdateData,\n    ApplicationKeyUpdateRequest: ApplicationKeyUpdateRequest_1.ApplicationKeyUpdateRequest,\n    AuditLogsEvent: AuditLogsEvent_1.AuditLogsEvent,\n    AuditLogsEventAttributes: AuditLogsEventAttributes_1.AuditLogsEventAttributes,\n    AuditLogsEventsResponse: AuditLogsEventsResponse_1.AuditLogsEventsResponse,\n    AuditLogsQueryFilter: AuditLogsQueryFilter_1.AuditLogsQueryFilter,\n    AuditLogsQueryOptions: AuditLogsQueryOptions_1.AuditLogsQueryOptions,\n    AuditLogsQueryPageOptions: AuditLogsQueryPageOptions_1.AuditLogsQueryPageOptions,\n    AuditLogsResponseLinks: AuditLogsResponseLinks_1.AuditLogsResponseLinks,\n    AuditLogsResponseMetadata: AuditLogsResponseMetadata_1.AuditLogsResponseMetadata,\n    AuditLogsResponsePage: AuditLogsResponsePage_1.AuditLogsResponsePage,\n    AuditLogsSearchEventsRequest: AuditLogsSearchEventsRequest_1.AuditLogsSearchEventsRequest,\n    AuditLogsWarning: AuditLogsWarning_1.AuditLogsWarning,\n    AuthNMapping: AuthNMapping_1.AuthNMapping,\n    AuthNMappingAttributes: AuthNMappingAttributes_1.AuthNMappingAttributes,\n    AuthNMappingCreateAttributes: AuthNMappingCreateAttributes_1.AuthNMappingCreateAttributes,\n    AuthNMappingCreateData: AuthNMappingCreateData_1.AuthNMappingCreateData,\n    AuthNMappingCreateRelationships: AuthNMappingCreateRelationships_1.AuthNMappingCreateRelationships,\n    AuthNMappingCreateRequest: AuthNMappingCreateRequest_1.AuthNMappingCreateRequest,\n    AuthNMappingRelationships: AuthNMappingRelationships_1.AuthNMappingRelationships,\n    AuthNMappingResponse: AuthNMappingResponse_1.AuthNMappingResponse,\n    AuthNMappingUpdateAttributes: AuthNMappingUpdateAttributes_1.AuthNMappingUpdateAttributes,\n    AuthNMappingUpdateData: AuthNMappingUpdateData_1.AuthNMappingUpdateData,\n    AuthNMappingUpdateRelationships: AuthNMappingUpdateRelationships_1.AuthNMappingUpdateRelationships,\n    AuthNMappingUpdateRequest: AuthNMappingUpdateRequest_1.AuthNMappingUpdateRequest,\n    AuthNMappingsResponse: AuthNMappingsResponse_1.AuthNMappingsResponse,\n    CIAppAggregateBucketValueTimeseriesPoint: CIAppAggregateBucketValueTimeseriesPoint_1.CIAppAggregateBucketValueTimeseriesPoint,\n    CIAppAggregateSort: CIAppAggregateSort_1.CIAppAggregateSort,\n    CIAppCIError: CIAppCIError_1.CIAppCIError,\n    CIAppCompute: CIAppCompute_1.CIAppCompute,\n    CIAppCreatePipelineEventRequest: CIAppCreatePipelineEventRequest_1.CIAppCreatePipelineEventRequest,\n    CIAppCreatePipelineEventRequestAttributes: CIAppCreatePipelineEventRequestAttributes_1.CIAppCreatePipelineEventRequestAttributes,\n    CIAppCreatePipelineEventRequestData: CIAppCreatePipelineEventRequestData_1.CIAppCreatePipelineEventRequestData,\n    CIAppEventAttributes: CIAppEventAttributes_1.CIAppEventAttributes,\n    CIAppGitInfo: CIAppGitInfo_1.CIAppGitInfo,\n    CIAppGroupByHistogram: CIAppGroupByHistogram_1.CIAppGroupByHistogram,\n    CIAppHostInfo: CIAppHostInfo_1.CIAppHostInfo,\n    CIAppPipelineEvent: CIAppPipelineEvent_1.CIAppPipelineEvent,\n    CIAppPipelineEventAttributes: CIAppPipelineEventAttributes_1.CIAppPipelineEventAttributes,\n    CIAppPipelineEventJob: CIAppPipelineEventJob_1.CIAppPipelineEventJob,\n    CIAppPipelineEventParentPipeline: CIAppPipelineEventParentPipeline_1.CIAppPipelineEventParentPipeline,\n    CIAppPipelineEventPipeline: CIAppPipelineEventPipeline_1.CIAppPipelineEventPipeline,\n    CIAppPipelineEventPreviousPipeline: CIAppPipelineEventPreviousPipeline_1.CIAppPipelineEventPreviousPipeline,\n    CIAppPipelineEventStage: CIAppPipelineEventStage_1.CIAppPipelineEventStage,\n    CIAppPipelineEventStep: CIAppPipelineEventStep_1.CIAppPipelineEventStep,\n    CIAppPipelineEventsRequest: CIAppPipelineEventsRequest_1.CIAppPipelineEventsRequest,\n    CIAppPipelineEventsResponse: CIAppPipelineEventsResponse_1.CIAppPipelineEventsResponse,\n    CIAppPipelinesAggregateRequest: CIAppPipelinesAggregateRequest_1.CIAppPipelinesAggregateRequest,\n    CIAppPipelinesAggregationBucketsResponse: CIAppPipelinesAggregationBucketsResponse_1.CIAppPipelinesAggregationBucketsResponse,\n    CIAppPipelinesAnalyticsAggregateResponse: CIAppPipelinesAnalyticsAggregateResponse_1.CIAppPipelinesAnalyticsAggregateResponse,\n    CIAppPipelinesBucketResponse: CIAppPipelinesBucketResponse_1.CIAppPipelinesBucketResponse,\n    CIAppPipelinesGroupBy: CIAppPipelinesGroupBy_1.CIAppPipelinesGroupBy,\n    CIAppPipelinesQueryFilter: CIAppPipelinesQueryFilter_1.CIAppPipelinesQueryFilter,\n    CIAppQueryOptions: CIAppQueryOptions_1.CIAppQueryOptions,\n    CIAppQueryPageOptions: CIAppQueryPageOptions_1.CIAppQueryPageOptions,\n    CIAppResponseLinks: CIAppResponseLinks_1.CIAppResponseLinks,\n    CIAppResponseMetadata: CIAppResponseMetadata_1.CIAppResponseMetadata,\n    CIAppResponseMetadataWithPagination: CIAppResponseMetadataWithPagination_1.CIAppResponseMetadataWithPagination,\n    CIAppResponsePage: CIAppResponsePage_1.CIAppResponsePage,\n    CIAppTestEvent: CIAppTestEvent_1.CIAppTestEvent,\n    CIAppTestEventsRequest: CIAppTestEventsRequest_1.CIAppTestEventsRequest,\n    CIAppTestEventsResponse: CIAppTestEventsResponse_1.CIAppTestEventsResponse,\n    CIAppTestsAggregateRequest: CIAppTestsAggregateRequest_1.CIAppTestsAggregateRequest,\n    CIAppTestsAggregationBucketsResponse: CIAppTestsAggregationBucketsResponse_1.CIAppTestsAggregationBucketsResponse,\n    CIAppTestsAnalyticsAggregateResponse: CIAppTestsAnalyticsAggregateResponse_1.CIAppTestsAnalyticsAggregateResponse,\n    CIAppTestsBucketResponse: CIAppTestsBucketResponse_1.CIAppTestsBucketResponse,\n    CIAppTestsGroupBy: CIAppTestsGroupBy_1.CIAppTestsGroupBy,\n    CIAppTestsQueryFilter: CIAppTestsQueryFilter_1.CIAppTestsQueryFilter,\n    CIAppWarning: CIAppWarning_1.CIAppWarning,\n    ChargebackBreakdown: ChargebackBreakdown_1.ChargebackBreakdown,\n    CloudConfigurationComplianceRuleOptions: CloudConfigurationComplianceRuleOptions_1.CloudConfigurationComplianceRuleOptions,\n    CloudConfigurationRegoRule: CloudConfigurationRegoRule_1.CloudConfigurationRegoRule,\n    CloudConfigurationRuleCaseCreate: CloudConfigurationRuleCaseCreate_1.CloudConfigurationRuleCaseCreate,\n    CloudConfigurationRuleComplianceSignalOptions: CloudConfigurationRuleComplianceSignalOptions_1.CloudConfigurationRuleComplianceSignalOptions,\n    CloudConfigurationRuleCreatePayload: CloudConfigurationRuleCreatePayload_1.CloudConfigurationRuleCreatePayload,\n    CloudConfigurationRuleOptions: CloudConfigurationRuleOptions_1.CloudConfigurationRuleOptions,\n    CloudWorkloadSecurityAgentRuleAttributes: CloudWorkloadSecurityAgentRuleAttributes_1.CloudWorkloadSecurityAgentRuleAttributes,\n    CloudWorkloadSecurityAgentRuleCreateAttributes: CloudWorkloadSecurityAgentRuleCreateAttributes_1.CloudWorkloadSecurityAgentRuleCreateAttributes,\n    CloudWorkloadSecurityAgentRuleCreateData: CloudWorkloadSecurityAgentRuleCreateData_1.CloudWorkloadSecurityAgentRuleCreateData,\n    CloudWorkloadSecurityAgentRuleCreateRequest: CloudWorkloadSecurityAgentRuleCreateRequest_1.CloudWorkloadSecurityAgentRuleCreateRequest,\n    CloudWorkloadSecurityAgentRuleCreatorAttributes: CloudWorkloadSecurityAgentRuleCreatorAttributes_1.CloudWorkloadSecurityAgentRuleCreatorAttributes,\n    CloudWorkloadSecurityAgentRuleData: CloudWorkloadSecurityAgentRuleData_1.CloudWorkloadSecurityAgentRuleData,\n    CloudWorkloadSecurityAgentRuleResponse: CloudWorkloadSecurityAgentRuleResponse_1.CloudWorkloadSecurityAgentRuleResponse,\n    CloudWorkloadSecurityAgentRuleUpdateAttributes: CloudWorkloadSecurityAgentRuleUpdateAttributes_1.CloudWorkloadSecurityAgentRuleUpdateAttributes,\n    CloudWorkloadSecurityAgentRuleUpdateData: CloudWorkloadSecurityAgentRuleUpdateData_1.CloudWorkloadSecurityAgentRuleUpdateData,\n    CloudWorkloadSecurityAgentRuleUpdateRequest: CloudWorkloadSecurityAgentRuleUpdateRequest_1.CloudWorkloadSecurityAgentRuleUpdateRequest,\n    CloudWorkloadSecurityAgentRuleUpdaterAttributes: CloudWorkloadSecurityAgentRuleUpdaterAttributes_1.CloudWorkloadSecurityAgentRuleUpdaterAttributes,\n    CloudWorkloadSecurityAgentRulesListResponse: CloudWorkloadSecurityAgentRulesListResponse_1.CloudWorkloadSecurityAgentRulesListResponse,\n    CloudflareAccountCreateRequest: CloudflareAccountCreateRequest_1.CloudflareAccountCreateRequest,\n    CloudflareAccountCreateRequestAttributes: CloudflareAccountCreateRequestAttributes_1.CloudflareAccountCreateRequestAttributes,\n    CloudflareAccountCreateRequestData: CloudflareAccountCreateRequestData_1.CloudflareAccountCreateRequestData,\n    CloudflareAccountResponse: CloudflareAccountResponse_1.CloudflareAccountResponse,\n    CloudflareAccountResponseAttributes: CloudflareAccountResponseAttributes_1.CloudflareAccountResponseAttributes,\n    CloudflareAccountResponseData: CloudflareAccountResponseData_1.CloudflareAccountResponseData,\n    CloudflareAccountUpdateRequest: CloudflareAccountUpdateRequest_1.CloudflareAccountUpdateRequest,\n    CloudflareAccountUpdateRequestAttributes: CloudflareAccountUpdateRequestAttributes_1.CloudflareAccountUpdateRequestAttributes,\n    CloudflareAccountUpdateRequestData: CloudflareAccountUpdateRequestData_1.CloudflareAccountUpdateRequestData,\n    CloudflareAccountsResponse: CloudflareAccountsResponse_1.CloudflareAccountsResponse,\n    ConfluentAccountCreateRequest: ConfluentAccountCreateRequest_1.ConfluentAccountCreateRequest,\n    ConfluentAccountCreateRequestAttributes: ConfluentAccountCreateRequestAttributes_1.ConfluentAccountCreateRequestAttributes,\n    ConfluentAccountCreateRequestData: ConfluentAccountCreateRequestData_1.ConfluentAccountCreateRequestData,\n    ConfluentAccountResourceAttributes: ConfluentAccountResourceAttributes_1.ConfluentAccountResourceAttributes,\n    ConfluentAccountResponse: ConfluentAccountResponse_1.ConfluentAccountResponse,\n    ConfluentAccountResponseAttributes: ConfluentAccountResponseAttributes_1.ConfluentAccountResponseAttributes,\n    ConfluentAccountResponseData: ConfluentAccountResponseData_1.ConfluentAccountResponseData,\n    ConfluentAccountUpdateRequest: ConfluentAccountUpdateRequest_1.ConfluentAccountUpdateRequest,\n    ConfluentAccountUpdateRequestAttributes: ConfluentAccountUpdateRequestAttributes_1.ConfluentAccountUpdateRequestAttributes,\n    ConfluentAccountUpdateRequestData: ConfluentAccountUpdateRequestData_1.ConfluentAccountUpdateRequestData,\n    ConfluentAccountsResponse: ConfluentAccountsResponse_1.ConfluentAccountsResponse,\n    ConfluentResourceRequest: ConfluentResourceRequest_1.ConfluentResourceRequest,\n    ConfluentResourceRequestAttributes: ConfluentResourceRequestAttributes_1.ConfluentResourceRequestAttributes,\n    ConfluentResourceRequestData: ConfluentResourceRequestData_1.ConfluentResourceRequestData,\n    ConfluentResourceResponse: ConfluentResourceResponse_1.ConfluentResourceResponse,\n    ConfluentResourceResponseAttributes: ConfluentResourceResponseAttributes_1.ConfluentResourceResponseAttributes,\n    ConfluentResourceResponseData: ConfluentResourceResponseData_1.ConfluentResourceResponseData,\n    ConfluentResourcesResponse: ConfluentResourcesResponse_1.ConfluentResourcesResponse,\n    CostByOrg: CostByOrg_1.CostByOrg,\n    CostByOrgAttributes: CostByOrgAttributes_1.CostByOrgAttributes,\n    CostByOrgResponse: CostByOrgResponse_1.CostByOrgResponse,\n    Creator: Creator_1.Creator,\n    DashboardListAddItemsRequest: DashboardListAddItemsRequest_1.DashboardListAddItemsRequest,\n    DashboardListAddItemsResponse: DashboardListAddItemsResponse_1.DashboardListAddItemsResponse,\n    DashboardListDeleteItemsRequest: DashboardListDeleteItemsRequest_1.DashboardListDeleteItemsRequest,\n    DashboardListDeleteItemsResponse: DashboardListDeleteItemsResponse_1.DashboardListDeleteItemsResponse,\n    DashboardListItem: DashboardListItem_1.DashboardListItem,\n    DashboardListItemRequest: DashboardListItemRequest_1.DashboardListItemRequest,\n    DashboardListItemResponse: DashboardListItemResponse_1.DashboardListItemResponse,\n    DashboardListItems: DashboardListItems_1.DashboardListItems,\n    DashboardListUpdateItemsRequest: DashboardListUpdateItemsRequest_1.DashboardListUpdateItemsRequest,\n    DashboardListUpdateItemsResponse: DashboardListUpdateItemsResponse_1.DashboardListUpdateItemsResponse,\n    DataScalarColumn: DataScalarColumn_1.DataScalarColumn,\n    DetailedFinding: DetailedFinding_1.DetailedFinding,\n    DetailedFindingAttributes: DetailedFindingAttributes_1.DetailedFindingAttributes,\n    DowntimeCreateRequest: DowntimeCreateRequest_1.DowntimeCreateRequest,\n    DowntimeCreateRequestAttributes: DowntimeCreateRequestAttributes_1.DowntimeCreateRequestAttributes,\n    DowntimeCreateRequestData: DowntimeCreateRequestData_1.DowntimeCreateRequestData,\n    DowntimeMeta: DowntimeMeta_1.DowntimeMeta,\n    DowntimeMetaPage: DowntimeMetaPage_1.DowntimeMetaPage,\n    DowntimeMonitorIdentifierId: DowntimeMonitorIdentifierId_1.DowntimeMonitorIdentifierId,\n    DowntimeMonitorIdentifierTags: DowntimeMonitorIdentifierTags_1.DowntimeMonitorIdentifierTags,\n    DowntimeMonitorIncludedAttributes: DowntimeMonitorIncludedAttributes_1.DowntimeMonitorIncludedAttributes,\n    DowntimeMonitorIncludedItem: DowntimeMonitorIncludedItem_1.DowntimeMonitorIncludedItem,\n    DowntimeRelationships: DowntimeRelationships_1.DowntimeRelationships,\n    DowntimeRelationshipsCreatedBy: DowntimeRelationshipsCreatedBy_1.DowntimeRelationshipsCreatedBy,\n    DowntimeRelationshipsCreatedByData: DowntimeRelationshipsCreatedByData_1.DowntimeRelationshipsCreatedByData,\n    DowntimeRelationshipsMonitor: DowntimeRelationshipsMonitor_1.DowntimeRelationshipsMonitor,\n    DowntimeRelationshipsMonitorData: DowntimeRelationshipsMonitorData_1.DowntimeRelationshipsMonitorData,\n    DowntimeResponse: DowntimeResponse_1.DowntimeResponse,\n    DowntimeResponseAttributes: DowntimeResponseAttributes_1.DowntimeResponseAttributes,\n    DowntimeResponseData: DowntimeResponseData_1.DowntimeResponseData,\n    DowntimeScheduleCurrentDowntimeResponse: DowntimeScheduleCurrentDowntimeResponse_1.DowntimeScheduleCurrentDowntimeResponse,\n    DowntimeScheduleOneTimeCreateUpdateRequest: DowntimeScheduleOneTimeCreateUpdateRequest_1.DowntimeScheduleOneTimeCreateUpdateRequest,\n    DowntimeScheduleOneTimeResponse: DowntimeScheduleOneTimeResponse_1.DowntimeScheduleOneTimeResponse,\n    DowntimeScheduleRecurrenceCreateUpdateRequest: DowntimeScheduleRecurrenceCreateUpdateRequest_1.DowntimeScheduleRecurrenceCreateUpdateRequest,\n    DowntimeScheduleRecurrenceResponse: DowntimeScheduleRecurrenceResponse_1.DowntimeScheduleRecurrenceResponse,\n    DowntimeScheduleRecurrencesCreateRequest: DowntimeScheduleRecurrencesCreateRequest_1.DowntimeScheduleRecurrencesCreateRequest,\n    DowntimeScheduleRecurrencesResponse: DowntimeScheduleRecurrencesResponse_1.DowntimeScheduleRecurrencesResponse,\n    DowntimeScheduleRecurrencesUpdateRequest: DowntimeScheduleRecurrencesUpdateRequest_1.DowntimeScheduleRecurrencesUpdateRequest,\n    DowntimeUpdateRequest: DowntimeUpdateRequest_1.DowntimeUpdateRequest,\n    DowntimeUpdateRequestAttributes: DowntimeUpdateRequestAttributes_1.DowntimeUpdateRequestAttributes,\n    DowntimeUpdateRequestData: DowntimeUpdateRequestData_1.DowntimeUpdateRequestData,\n    Event: Event_1.Event,\n    EventAttributes: EventAttributes_1.EventAttributes,\n    EventResponse: EventResponse_1.EventResponse,\n    EventResponseAttributes: EventResponseAttributes_1.EventResponseAttributes,\n    EventsCompute: EventsCompute_1.EventsCompute,\n    EventsGroupBy: EventsGroupBy_1.EventsGroupBy,\n    EventsGroupBySort: EventsGroupBySort_1.EventsGroupBySort,\n    EventsListRequest: EventsListRequest_1.EventsListRequest,\n    EventsListResponse: EventsListResponse_1.EventsListResponse,\n    EventsListResponseLinks: EventsListResponseLinks_1.EventsListResponseLinks,\n    EventsQueryFilter: EventsQueryFilter_1.EventsQueryFilter,\n    EventsQueryOptions: EventsQueryOptions_1.EventsQueryOptions,\n    EventsRequestPage: EventsRequestPage_1.EventsRequestPage,\n    EventsResponseMetadata: EventsResponseMetadata_1.EventsResponseMetadata,\n    EventsResponseMetadataPage: EventsResponseMetadataPage_1.EventsResponseMetadataPage,\n    EventsScalarQuery: EventsScalarQuery_1.EventsScalarQuery,\n    EventsSearch: EventsSearch_1.EventsSearch,\n    EventsTimeseriesQuery: EventsTimeseriesQuery_1.EventsTimeseriesQuery,\n    EventsWarning: EventsWarning_1.EventsWarning,\n    FastlyAccounResponseAttributes: FastlyAccounResponseAttributes_1.FastlyAccounResponseAttributes,\n    FastlyAccountCreateRequest: FastlyAccountCreateRequest_1.FastlyAccountCreateRequest,\n    FastlyAccountCreateRequestAttributes: FastlyAccountCreateRequestAttributes_1.FastlyAccountCreateRequestAttributes,\n    FastlyAccountCreateRequestData: FastlyAccountCreateRequestData_1.FastlyAccountCreateRequestData,\n    FastlyAccountResponse: FastlyAccountResponse_1.FastlyAccountResponse,\n    FastlyAccountResponseData: FastlyAccountResponseData_1.FastlyAccountResponseData,\n    FastlyAccountUpdateRequest: FastlyAccountUpdateRequest_1.FastlyAccountUpdateRequest,\n    FastlyAccountUpdateRequestAttributes: FastlyAccountUpdateRequestAttributes_1.FastlyAccountUpdateRequestAttributes,\n    FastlyAccountUpdateRequestData: FastlyAccountUpdateRequestData_1.FastlyAccountUpdateRequestData,\n    FastlyAccountsResponse: FastlyAccountsResponse_1.FastlyAccountsResponse,\n    FastlyService: FastlyService_1.FastlyService,\n    FastlyServiceAttributes: FastlyServiceAttributes_1.FastlyServiceAttributes,\n    FastlyServiceData: FastlyServiceData_1.FastlyServiceData,\n    FastlyServiceRequest: FastlyServiceRequest_1.FastlyServiceRequest,\n    FastlyServiceResponse: FastlyServiceResponse_1.FastlyServiceResponse,\n    FastlyServicesResponse: FastlyServicesResponse_1.FastlyServicesResponse,\n    Finding: Finding_1.Finding,\n    FindingAttributes: FindingAttributes_1.FindingAttributes,\n    FindingMute: FindingMute_1.FindingMute,\n    FindingRule: FindingRule_1.FindingRule,\n    FormulaLimit: FormulaLimit_1.FormulaLimit,\n    FullAPIKey: FullAPIKey_1.FullAPIKey,\n    FullAPIKeyAttributes: FullAPIKeyAttributes_1.FullAPIKeyAttributes,\n    FullApplicationKey: FullApplicationKey_1.FullApplicationKey,\n    FullApplicationKeyAttributes: FullApplicationKeyAttributes_1.FullApplicationKeyAttributes,\n    GCPSTSDelegateAccount: GCPSTSDelegateAccount_1.GCPSTSDelegateAccount,\n    GCPSTSDelegateAccountAttributes: GCPSTSDelegateAccountAttributes_1.GCPSTSDelegateAccountAttributes,\n    GCPSTSDelegateAccountResponse: GCPSTSDelegateAccountResponse_1.GCPSTSDelegateAccountResponse,\n    GCPSTSServiceAccount: GCPSTSServiceAccount_1.GCPSTSServiceAccount,\n    GCPSTSServiceAccountAttributes: GCPSTSServiceAccountAttributes_1.GCPSTSServiceAccountAttributes,\n    GCPSTSServiceAccountCreateRequest: GCPSTSServiceAccountCreateRequest_1.GCPSTSServiceAccountCreateRequest,\n    GCPSTSServiceAccountData: GCPSTSServiceAccountData_1.GCPSTSServiceAccountData,\n    GCPSTSServiceAccountResponse: GCPSTSServiceAccountResponse_1.GCPSTSServiceAccountResponse,\n    GCPSTSServiceAccountUpdateRequest: GCPSTSServiceAccountUpdateRequest_1.GCPSTSServiceAccountUpdateRequest,\n    GCPSTSServiceAccountUpdateRequestData: GCPSTSServiceAccountUpdateRequestData_1.GCPSTSServiceAccountUpdateRequestData,\n    GCPSTSServiceAccountsResponse: GCPSTSServiceAccountsResponse_1.GCPSTSServiceAccountsResponse,\n    GCPServiceAccountMeta: GCPServiceAccountMeta_1.GCPServiceAccountMeta,\n    GetFindingResponse: GetFindingResponse_1.GetFindingResponse,\n    GroupScalarColumn: GroupScalarColumn_1.GroupScalarColumn,\n    HTTPCIAppError: HTTPCIAppError_1.HTTPCIAppError,\n    HTTPCIAppErrors: HTTPCIAppErrors_1.HTTPCIAppErrors,\n    HTTPLogError: HTTPLogError_1.HTTPLogError,\n    HTTPLogErrors: HTTPLogErrors_1.HTTPLogErrors,\n    HTTPLogItem: HTTPLogItem_1.HTTPLogItem,\n    HourlyUsage: HourlyUsage_1.HourlyUsage,\n    HourlyUsageAttributes: HourlyUsageAttributes_1.HourlyUsageAttributes,\n    HourlyUsageMeasurement: HourlyUsageMeasurement_1.HourlyUsageMeasurement,\n    HourlyUsageMetadata: HourlyUsageMetadata_1.HourlyUsageMetadata,\n    HourlyUsagePagination: HourlyUsagePagination_1.HourlyUsagePagination,\n    HourlyUsageResponse: HourlyUsageResponse_1.HourlyUsageResponse,\n    IPAllowlistAttributes: IPAllowlistAttributes_1.IPAllowlistAttributes,\n    IPAllowlistData: IPAllowlistData_1.IPAllowlistData,\n    IPAllowlistEntry: IPAllowlistEntry_1.IPAllowlistEntry,\n    IPAllowlistEntryAttributes: IPAllowlistEntryAttributes_1.IPAllowlistEntryAttributes,\n    IPAllowlistEntryData: IPAllowlistEntryData_1.IPAllowlistEntryData,\n    IPAllowlistResponse: IPAllowlistResponse_1.IPAllowlistResponse,\n    IPAllowlistUpdateRequest: IPAllowlistUpdateRequest_1.IPAllowlistUpdateRequest,\n    IdPMetadataFormData: IdPMetadataFormData_1.IdPMetadataFormData,\n    IncidentAttachmentData: IncidentAttachmentData_1.IncidentAttachmentData,\n    IncidentAttachmentLinkAttributes: IncidentAttachmentLinkAttributes_1.IncidentAttachmentLinkAttributes,\n    IncidentAttachmentLinkAttributesAttachmentObject: IncidentAttachmentLinkAttributesAttachmentObject_1.IncidentAttachmentLinkAttributesAttachmentObject,\n    IncidentAttachmentPostmortemAttributes: IncidentAttachmentPostmortemAttributes_1.IncidentAttachmentPostmortemAttributes,\n    IncidentAttachmentRelationships: IncidentAttachmentRelationships_1.IncidentAttachmentRelationships,\n    IncidentAttachmentUpdateData: IncidentAttachmentUpdateData_1.IncidentAttachmentUpdateData,\n    IncidentAttachmentUpdateRequest: IncidentAttachmentUpdateRequest_1.IncidentAttachmentUpdateRequest,\n    IncidentAttachmentUpdateResponse: IncidentAttachmentUpdateResponse_1.IncidentAttachmentUpdateResponse,\n    IncidentAttachmentsPostmortemAttributesAttachmentObject: IncidentAttachmentsPostmortemAttributesAttachmentObject_1.IncidentAttachmentsPostmortemAttributesAttachmentObject,\n    IncidentAttachmentsResponse: IncidentAttachmentsResponse_1.IncidentAttachmentsResponse,\n    IncidentCreateAttributes: IncidentCreateAttributes_1.IncidentCreateAttributes,\n    IncidentCreateData: IncidentCreateData_1.IncidentCreateData,\n    IncidentCreateRelationships: IncidentCreateRelationships_1.IncidentCreateRelationships,\n    IncidentCreateRequest: IncidentCreateRequest_1.IncidentCreateRequest,\n    IncidentFieldAttributesMultipleValue: IncidentFieldAttributesMultipleValue_1.IncidentFieldAttributesMultipleValue,\n    IncidentFieldAttributesSingleValue: IncidentFieldAttributesSingleValue_1.IncidentFieldAttributesSingleValue,\n    IncidentIntegrationMetadataAttributes: IncidentIntegrationMetadataAttributes_1.IncidentIntegrationMetadataAttributes,\n    IncidentIntegrationMetadataCreateData: IncidentIntegrationMetadataCreateData_1.IncidentIntegrationMetadataCreateData,\n    IncidentIntegrationMetadataCreateRequest: IncidentIntegrationMetadataCreateRequest_1.IncidentIntegrationMetadataCreateRequest,\n    IncidentIntegrationMetadataListResponse: IncidentIntegrationMetadataListResponse_1.IncidentIntegrationMetadataListResponse,\n    IncidentIntegrationMetadataPatchData: IncidentIntegrationMetadataPatchData_1.IncidentIntegrationMetadataPatchData,\n    IncidentIntegrationMetadataPatchRequest: IncidentIntegrationMetadataPatchRequest_1.IncidentIntegrationMetadataPatchRequest,\n    IncidentIntegrationMetadataResponse: IncidentIntegrationMetadataResponse_1.IncidentIntegrationMetadataResponse,\n    IncidentIntegrationMetadataResponseData: IncidentIntegrationMetadataResponseData_1.IncidentIntegrationMetadataResponseData,\n    IncidentNotificationHandle: IncidentNotificationHandle_1.IncidentNotificationHandle,\n    IncidentResponse: IncidentResponse_1.IncidentResponse,\n    IncidentResponseAttributes: IncidentResponseAttributes_1.IncidentResponseAttributes,\n    IncidentResponseData: IncidentResponseData_1.IncidentResponseData,\n    IncidentResponseMeta: IncidentResponseMeta_1.IncidentResponseMeta,\n    IncidentResponseMetaPagination: IncidentResponseMetaPagination_1.IncidentResponseMetaPagination,\n    IncidentResponseRelationships: IncidentResponseRelationships_1.IncidentResponseRelationships,\n    IncidentSearchResponse: IncidentSearchResponse_1.IncidentSearchResponse,\n    IncidentSearchResponseAttributes: IncidentSearchResponseAttributes_1.IncidentSearchResponseAttributes,\n    IncidentSearchResponseData: IncidentSearchResponseData_1.IncidentSearchResponseData,\n    IncidentSearchResponseFacetsData: IncidentSearchResponseFacetsData_1.IncidentSearchResponseFacetsData,\n    IncidentSearchResponseFieldFacetData: IncidentSearchResponseFieldFacetData_1.IncidentSearchResponseFieldFacetData,\n    IncidentSearchResponseIncidentsData: IncidentSearchResponseIncidentsData_1.IncidentSearchResponseIncidentsData,\n    IncidentSearchResponseMeta: IncidentSearchResponseMeta_1.IncidentSearchResponseMeta,\n    IncidentSearchResponseNumericFacetData: IncidentSearchResponseNumericFacetData_1.IncidentSearchResponseNumericFacetData,\n    IncidentSearchResponseNumericFacetDataAggregates: IncidentSearchResponseNumericFacetDataAggregates_1.IncidentSearchResponseNumericFacetDataAggregates,\n    IncidentSearchResponsePropertyFieldFacetData: IncidentSearchResponsePropertyFieldFacetData_1.IncidentSearchResponsePropertyFieldFacetData,\n    IncidentSearchResponseUserFacetData: IncidentSearchResponseUserFacetData_1.IncidentSearchResponseUserFacetData,\n    IncidentServiceCreateAttributes: IncidentServiceCreateAttributes_1.IncidentServiceCreateAttributes,\n    IncidentServiceCreateData: IncidentServiceCreateData_1.IncidentServiceCreateData,\n    IncidentServiceCreateRequest: IncidentServiceCreateRequest_1.IncidentServiceCreateRequest,\n    IncidentServiceRelationships: IncidentServiceRelationships_1.IncidentServiceRelationships,\n    IncidentServiceResponse: IncidentServiceResponse_1.IncidentServiceResponse,\n    IncidentServiceResponseAttributes: IncidentServiceResponseAttributes_1.IncidentServiceResponseAttributes,\n    IncidentServiceResponseData: IncidentServiceResponseData_1.IncidentServiceResponseData,\n    IncidentServiceUpdateAttributes: IncidentServiceUpdateAttributes_1.IncidentServiceUpdateAttributes,\n    IncidentServiceUpdateData: IncidentServiceUpdateData_1.IncidentServiceUpdateData,\n    IncidentServiceUpdateRequest: IncidentServiceUpdateRequest_1.IncidentServiceUpdateRequest,\n    IncidentServicesResponse: IncidentServicesResponse_1.IncidentServicesResponse,\n    IncidentTeamCreateAttributes: IncidentTeamCreateAttributes_1.IncidentTeamCreateAttributes,\n    IncidentTeamCreateData: IncidentTeamCreateData_1.IncidentTeamCreateData,\n    IncidentTeamCreateRequest: IncidentTeamCreateRequest_1.IncidentTeamCreateRequest,\n    IncidentTeamRelationships: IncidentTeamRelationships_1.IncidentTeamRelationships,\n    IncidentTeamResponse: IncidentTeamResponse_1.IncidentTeamResponse,\n    IncidentTeamResponseAttributes: IncidentTeamResponseAttributes_1.IncidentTeamResponseAttributes,\n    IncidentTeamResponseData: IncidentTeamResponseData_1.IncidentTeamResponseData,\n    IncidentTeamUpdateAttributes: IncidentTeamUpdateAttributes_1.IncidentTeamUpdateAttributes,\n    IncidentTeamUpdateData: IncidentTeamUpdateData_1.IncidentTeamUpdateData,\n    IncidentTeamUpdateRequest: IncidentTeamUpdateRequest_1.IncidentTeamUpdateRequest,\n    IncidentTeamsResponse: IncidentTeamsResponse_1.IncidentTeamsResponse,\n    IncidentTimelineCellMarkdownCreateAttributes: IncidentTimelineCellMarkdownCreateAttributes_1.IncidentTimelineCellMarkdownCreateAttributes,\n    IncidentTimelineCellMarkdownCreateAttributesContent: IncidentTimelineCellMarkdownCreateAttributesContent_1.IncidentTimelineCellMarkdownCreateAttributesContent,\n    IncidentTodoAnonymousAssignee: IncidentTodoAnonymousAssignee_1.IncidentTodoAnonymousAssignee,\n    IncidentTodoAttributes: IncidentTodoAttributes_1.IncidentTodoAttributes,\n    IncidentTodoCreateData: IncidentTodoCreateData_1.IncidentTodoCreateData,\n    IncidentTodoCreateRequest: IncidentTodoCreateRequest_1.IncidentTodoCreateRequest,\n    IncidentTodoListResponse: IncidentTodoListResponse_1.IncidentTodoListResponse,\n    IncidentTodoPatchData: IncidentTodoPatchData_1.IncidentTodoPatchData,\n    IncidentTodoPatchRequest: IncidentTodoPatchRequest_1.IncidentTodoPatchRequest,\n    IncidentTodoResponse: IncidentTodoResponse_1.IncidentTodoResponse,\n    IncidentTodoResponseData: IncidentTodoResponseData_1.IncidentTodoResponseData,\n    IncidentUpdateAttributes: IncidentUpdateAttributes_1.IncidentUpdateAttributes,\n    IncidentUpdateData: IncidentUpdateData_1.IncidentUpdateData,\n    IncidentUpdateRelationships: IncidentUpdateRelationships_1.IncidentUpdateRelationships,\n    IncidentUpdateRequest: IncidentUpdateRequest_1.IncidentUpdateRequest,\n    IncidentsResponse: IncidentsResponse_1.IncidentsResponse,\n    IntakePayloadAccepted: IntakePayloadAccepted_1.IntakePayloadAccepted,\n    JSONAPIErrorItem: JSONAPIErrorItem_1.JSONAPIErrorItem,\n    JSONAPIErrorResponse: JSONAPIErrorResponse_1.JSONAPIErrorResponse,\n    JiraIntegrationMetadata: JiraIntegrationMetadata_1.JiraIntegrationMetadata,\n    JiraIntegrationMetadataIssuesItem: JiraIntegrationMetadataIssuesItem_1.JiraIntegrationMetadataIssuesItem,\n    ListApplicationKeysResponse: ListApplicationKeysResponse_1.ListApplicationKeysResponse,\n    ListDowntimesResponse: ListDowntimesResponse_1.ListDowntimesResponse,\n    ListFindingsMeta: ListFindingsMeta_1.ListFindingsMeta,\n    ListFindingsPage: ListFindingsPage_1.ListFindingsPage,\n    ListFindingsResponse: ListFindingsResponse_1.ListFindingsResponse,\n    Log: Log_1.Log,\n    LogAttributes: LogAttributes_1.LogAttributes,\n    LogsAggregateBucket: LogsAggregateBucket_1.LogsAggregateBucket,\n    LogsAggregateBucketValueTimeseriesPoint: LogsAggregateBucketValueTimeseriesPoint_1.LogsAggregateBucketValueTimeseriesPoint,\n    LogsAggregateRequest: LogsAggregateRequest_1.LogsAggregateRequest,\n    LogsAggregateRequestPage: LogsAggregateRequestPage_1.LogsAggregateRequestPage,\n    LogsAggregateResponse: LogsAggregateResponse_1.LogsAggregateResponse,\n    LogsAggregateResponseData: LogsAggregateResponseData_1.LogsAggregateResponseData,\n    LogsAggregateSort: LogsAggregateSort_1.LogsAggregateSort,\n    LogsArchive: LogsArchive_1.LogsArchive,\n    LogsArchiveAttributes: LogsArchiveAttributes_1.LogsArchiveAttributes,\n    LogsArchiveCreateRequest: LogsArchiveCreateRequest_1.LogsArchiveCreateRequest,\n    LogsArchiveCreateRequestAttributes: LogsArchiveCreateRequestAttributes_1.LogsArchiveCreateRequestAttributes,\n    LogsArchiveCreateRequestDefinition: LogsArchiveCreateRequestDefinition_1.LogsArchiveCreateRequestDefinition,\n    LogsArchiveDefinition: LogsArchiveDefinition_1.LogsArchiveDefinition,\n    LogsArchiveDestinationAzure: LogsArchiveDestinationAzure_1.LogsArchiveDestinationAzure,\n    LogsArchiveDestinationGCS: LogsArchiveDestinationGCS_1.LogsArchiveDestinationGCS,\n    LogsArchiveDestinationS3: LogsArchiveDestinationS3_1.LogsArchiveDestinationS3,\n    LogsArchiveIntegrationAzure: LogsArchiveIntegrationAzure_1.LogsArchiveIntegrationAzure,\n    LogsArchiveIntegrationGCS: LogsArchiveIntegrationGCS_1.LogsArchiveIntegrationGCS,\n    LogsArchiveIntegrationS3: LogsArchiveIntegrationS3_1.LogsArchiveIntegrationS3,\n    LogsArchiveOrder: LogsArchiveOrder_1.LogsArchiveOrder,\n    LogsArchiveOrderAttributes: LogsArchiveOrderAttributes_1.LogsArchiveOrderAttributes,\n    LogsArchiveOrderDefinition: LogsArchiveOrderDefinition_1.LogsArchiveOrderDefinition,\n    LogsArchives: LogsArchives_1.LogsArchives,\n    LogsCompute: LogsCompute_1.LogsCompute,\n    LogsGroupBy: LogsGroupBy_1.LogsGroupBy,\n    LogsGroupByHistogram: LogsGroupByHistogram_1.LogsGroupByHistogram,\n    LogsListRequest: LogsListRequest_1.LogsListRequest,\n    LogsListRequestPage: LogsListRequestPage_1.LogsListRequestPage,\n    LogsListResponse: LogsListResponse_1.LogsListResponse,\n    LogsListResponseLinks: LogsListResponseLinks_1.LogsListResponseLinks,\n    LogsMetricCompute: LogsMetricCompute_1.LogsMetricCompute,\n    LogsMetricCreateAttributes: LogsMetricCreateAttributes_1.LogsMetricCreateAttributes,\n    LogsMetricCreateData: LogsMetricCreateData_1.LogsMetricCreateData,\n    LogsMetricCreateRequest: LogsMetricCreateRequest_1.LogsMetricCreateRequest,\n    LogsMetricFilter: LogsMetricFilter_1.LogsMetricFilter,\n    LogsMetricGroupBy: LogsMetricGroupBy_1.LogsMetricGroupBy,\n    LogsMetricResponse: LogsMetricResponse_1.LogsMetricResponse,\n    LogsMetricResponseAttributes: LogsMetricResponseAttributes_1.LogsMetricResponseAttributes,\n    LogsMetricResponseCompute: LogsMetricResponseCompute_1.LogsMetricResponseCompute,\n    LogsMetricResponseData: LogsMetricResponseData_1.LogsMetricResponseData,\n    LogsMetricResponseFilter: LogsMetricResponseFilter_1.LogsMetricResponseFilter,\n    LogsMetricResponseGroupBy: LogsMetricResponseGroupBy_1.LogsMetricResponseGroupBy,\n    LogsMetricUpdateAttributes: LogsMetricUpdateAttributes_1.LogsMetricUpdateAttributes,\n    LogsMetricUpdateCompute: LogsMetricUpdateCompute_1.LogsMetricUpdateCompute,\n    LogsMetricUpdateData: LogsMetricUpdateData_1.LogsMetricUpdateData,\n    LogsMetricUpdateRequest: LogsMetricUpdateRequest_1.LogsMetricUpdateRequest,\n    LogsMetricsResponse: LogsMetricsResponse_1.LogsMetricsResponse,\n    LogsQueryFilter: LogsQueryFilter_1.LogsQueryFilter,\n    LogsQueryOptions: LogsQueryOptions_1.LogsQueryOptions,\n    LogsResponseMetadata: LogsResponseMetadata_1.LogsResponseMetadata,\n    LogsResponseMetadataPage: LogsResponseMetadataPage_1.LogsResponseMetadataPage,\n    LogsWarning: LogsWarning_1.LogsWarning,\n    Metric: Metric_1.Metric,\n    MetricAllTags: MetricAllTags_1.MetricAllTags,\n    MetricAllTagsAttributes: MetricAllTagsAttributes_1.MetricAllTagsAttributes,\n    MetricAllTagsResponse: MetricAllTagsResponse_1.MetricAllTagsResponse,\n    MetricBulkTagConfigCreate: MetricBulkTagConfigCreate_1.MetricBulkTagConfigCreate,\n    MetricBulkTagConfigCreateAttributes: MetricBulkTagConfigCreateAttributes_1.MetricBulkTagConfigCreateAttributes,\n    MetricBulkTagConfigCreateRequest: MetricBulkTagConfigCreateRequest_1.MetricBulkTagConfigCreateRequest,\n    MetricBulkTagConfigDelete: MetricBulkTagConfigDelete_1.MetricBulkTagConfigDelete,\n    MetricBulkTagConfigDeleteAttributes: MetricBulkTagConfigDeleteAttributes_1.MetricBulkTagConfigDeleteAttributes,\n    MetricBulkTagConfigDeleteRequest: MetricBulkTagConfigDeleteRequest_1.MetricBulkTagConfigDeleteRequest,\n    MetricBulkTagConfigResponse: MetricBulkTagConfigResponse_1.MetricBulkTagConfigResponse,\n    MetricBulkTagConfigStatus: MetricBulkTagConfigStatus_1.MetricBulkTagConfigStatus,\n    MetricBulkTagConfigStatusAttributes: MetricBulkTagConfigStatusAttributes_1.MetricBulkTagConfigStatusAttributes,\n    MetricCustomAggregation: MetricCustomAggregation_1.MetricCustomAggregation,\n    MetricDistinctVolume: MetricDistinctVolume_1.MetricDistinctVolume,\n    MetricDistinctVolumeAttributes: MetricDistinctVolumeAttributes_1.MetricDistinctVolumeAttributes,\n    MetricEstimate: MetricEstimate_1.MetricEstimate,\n    MetricEstimateAttributes: MetricEstimateAttributes_1.MetricEstimateAttributes,\n    MetricEstimateResponse: MetricEstimateResponse_1.MetricEstimateResponse,\n    MetricIngestedIndexedVolume: MetricIngestedIndexedVolume_1.MetricIngestedIndexedVolume,\n    MetricIngestedIndexedVolumeAttributes: MetricIngestedIndexedVolumeAttributes_1.MetricIngestedIndexedVolumeAttributes,\n    MetricMetadata: MetricMetadata_1.MetricMetadata,\n    MetricOrigin: MetricOrigin_1.MetricOrigin,\n    MetricPayload: MetricPayload_1.MetricPayload,\n    MetricPoint: MetricPoint_1.MetricPoint,\n    MetricResource: MetricResource_1.MetricResource,\n    MetricSeries: MetricSeries_1.MetricSeries,\n    MetricSuggestedTagsAndAggregations: MetricSuggestedTagsAndAggregations_1.MetricSuggestedTagsAndAggregations,\n    MetricSuggestedTagsAndAggregationsResponse: MetricSuggestedTagsAndAggregationsResponse_1.MetricSuggestedTagsAndAggregationsResponse,\n    MetricSuggestedTagsAttributes: MetricSuggestedTagsAttributes_1.MetricSuggestedTagsAttributes,\n    MetricTagConfiguration: MetricTagConfiguration_1.MetricTagConfiguration,\n    MetricTagConfigurationAttributes: MetricTagConfigurationAttributes_1.MetricTagConfigurationAttributes,\n    MetricTagConfigurationCreateAttributes: MetricTagConfigurationCreateAttributes_1.MetricTagConfigurationCreateAttributes,\n    MetricTagConfigurationCreateData: MetricTagConfigurationCreateData_1.MetricTagConfigurationCreateData,\n    MetricTagConfigurationCreateRequest: MetricTagConfigurationCreateRequest_1.MetricTagConfigurationCreateRequest,\n    MetricTagConfigurationResponse: MetricTagConfigurationResponse_1.MetricTagConfigurationResponse,\n    MetricTagConfigurationUpdateAttributes: MetricTagConfigurationUpdateAttributes_1.MetricTagConfigurationUpdateAttributes,\n    MetricTagConfigurationUpdateData: MetricTagConfigurationUpdateData_1.MetricTagConfigurationUpdateData,\n    MetricTagConfigurationUpdateRequest: MetricTagConfigurationUpdateRequest_1.MetricTagConfigurationUpdateRequest,\n    MetricVolumesResponse: MetricVolumesResponse_1.MetricVolumesResponse,\n    MetricsAndMetricTagConfigurationsResponse: MetricsAndMetricTagConfigurationsResponse_1.MetricsAndMetricTagConfigurationsResponse,\n    MetricsScalarQuery: MetricsScalarQuery_1.MetricsScalarQuery,\n    MetricsTimeseriesQuery: MetricsTimeseriesQuery_1.MetricsTimeseriesQuery,\n    MonitorConfigPolicyAttributeCreateRequest: MonitorConfigPolicyAttributeCreateRequest_1.MonitorConfigPolicyAttributeCreateRequest,\n    MonitorConfigPolicyAttributeEditRequest: MonitorConfigPolicyAttributeEditRequest_1.MonitorConfigPolicyAttributeEditRequest,\n    MonitorConfigPolicyAttributeResponse: MonitorConfigPolicyAttributeResponse_1.MonitorConfigPolicyAttributeResponse,\n    MonitorConfigPolicyCreateData: MonitorConfigPolicyCreateData_1.MonitorConfigPolicyCreateData,\n    MonitorConfigPolicyCreateRequest: MonitorConfigPolicyCreateRequest_1.MonitorConfigPolicyCreateRequest,\n    MonitorConfigPolicyEditData: MonitorConfigPolicyEditData_1.MonitorConfigPolicyEditData,\n    MonitorConfigPolicyEditRequest: MonitorConfigPolicyEditRequest_1.MonitorConfigPolicyEditRequest,\n    MonitorConfigPolicyListResponse: MonitorConfigPolicyListResponse_1.MonitorConfigPolicyListResponse,\n    MonitorConfigPolicyResponse: MonitorConfigPolicyResponse_1.MonitorConfigPolicyResponse,\n    MonitorConfigPolicyResponseData: MonitorConfigPolicyResponseData_1.MonitorConfigPolicyResponseData,\n    MonitorConfigPolicyTagPolicy: MonitorConfigPolicyTagPolicy_1.MonitorConfigPolicyTagPolicy,\n    MonitorConfigPolicyTagPolicyCreateRequest: MonitorConfigPolicyTagPolicyCreateRequest_1.MonitorConfigPolicyTagPolicyCreateRequest,\n    MonitorDowntimeMatchResponse: MonitorDowntimeMatchResponse_1.MonitorDowntimeMatchResponse,\n    MonitorDowntimeMatchResponseAttributes: MonitorDowntimeMatchResponseAttributes_1.MonitorDowntimeMatchResponseAttributes,\n    MonitorDowntimeMatchResponseData: MonitorDowntimeMatchResponseData_1.MonitorDowntimeMatchResponseData,\n    MonitorType: MonitorType_1.MonitorType,\n    MuteFindingRequest: MuteFindingRequest_1.MuteFindingRequest,\n    MuteFindingRequestAttributes: MuteFindingRequestAttributes_1.MuteFindingRequestAttributes,\n    MuteFindingRequestData: MuteFindingRequestData_1.MuteFindingRequestData,\n    MuteFindingRequestProperties: MuteFindingRequestProperties_1.MuteFindingRequestProperties,\n    MuteFindingResponse: MuteFindingResponse_1.MuteFindingResponse,\n    MuteFindingResponseAttributes: MuteFindingResponseAttributes_1.MuteFindingResponseAttributes,\n    MuteFindingResponseData: MuteFindingResponseData_1.MuteFindingResponseData,\n    MuteFindingResponseProperties: MuteFindingResponseProperties_1.MuteFindingResponseProperties,\n    NullableRelationshipToUser: NullableRelationshipToUser_1.NullableRelationshipToUser,\n    NullableRelationshipToUserData: NullableRelationshipToUserData_1.NullableRelationshipToUserData,\n    OnDemandConcurrencyCap: OnDemandConcurrencyCap_1.OnDemandConcurrencyCap,\n    OnDemandConcurrencyCapAttributes: OnDemandConcurrencyCapAttributes_1.OnDemandConcurrencyCapAttributes,\n    OnDemandConcurrencyCapResponse: OnDemandConcurrencyCapResponse_1.OnDemandConcurrencyCapResponse,\n    OpsgenieServiceCreateAttributes: OpsgenieServiceCreateAttributes_1.OpsgenieServiceCreateAttributes,\n    OpsgenieServiceCreateData: OpsgenieServiceCreateData_1.OpsgenieServiceCreateData,\n    OpsgenieServiceCreateRequest: OpsgenieServiceCreateRequest_1.OpsgenieServiceCreateRequest,\n    OpsgenieServiceResponse: OpsgenieServiceResponse_1.OpsgenieServiceResponse,\n    OpsgenieServiceResponseAttributes: OpsgenieServiceResponseAttributes_1.OpsgenieServiceResponseAttributes,\n    OpsgenieServiceResponseData: OpsgenieServiceResponseData_1.OpsgenieServiceResponseData,\n    OpsgenieServiceUpdateAttributes: OpsgenieServiceUpdateAttributes_1.OpsgenieServiceUpdateAttributes,\n    OpsgenieServiceUpdateData: OpsgenieServiceUpdateData_1.OpsgenieServiceUpdateData,\n    OpsgenieServiceUpdateRequest: OpsgenieServiceUpdateRequest_1.OpsgenieServiceUpdateRequest,\n    OpsgenieServicesResponse: OpsgenieServicesResponse_1.OpsgenieServicesResponse,\n    Organization: Organization_1.Organization,\n    OrganizationAttributes: OrganizationAttributes_1.OrganizationAttributes,\n    Pagination: Pagination_1.Pagination,\n    PartialAPIKey: PartialAPIKey_1.PartialAPIKey,\n    PartialAPIKeyAttributes: PartialAPIKeyAttributes_1.PartialAPIKeyAttributes,\n    PartialApplicationKey: PartialApplicationKey_1.PartialApplicationKey,\n    PartialApplicationKeyAttributes: PartialApplicationKeyAttributes_1.PartialApplicationKeyAttributes,\n    PartialApplicationKeyResponse: PartialApplicationKeyResponse_1.PartialApplicationKeyResponse,\n    Permission: Permission_1.Permission,\n    PermissionAttributes: PermissionAttributes_1.PermissionAttributes,\n    PermissionsResponse: PermissionsResponse_1.PermissionsResponse,\n    ProcessSummariesMeta: ProcessSummariesMeta_1.ProcessSummariesMeta,\n    ProcessSummariesMetaPage: ProcessSummariesMetaPage_1.ProcessSummariesMetaPage,\n    ProcessSummariesResponse: ProcessSummariesResponse_1.ProcessSummariesResponse,\n    ProcessSummary: ProcessSummary_1.ProcessSummary,\n    ProcessSummaryAttributes: ProcessSummaryAttributes_1.ProcessSummaryAttributes,\n    QueryFormula: QueryFormula_1.QueryFormula,\n    RUMAggregateBucketValueTimeseriesPoint: RUMAggregateBucketValueTimeseriesPoint_1.RUMAggregateBucketValueTimeseriesPoint,\n    RUMAggregateRequest: RUMAggregateRequest_1.RUMAggregateRequest,\n    RUMAggregateSort: RUMAggregateSort_1.RUMAggregateSort,\n    RUMAggregationBucketsResponse: RUMAggregationBucketsResponse_1.RUMAggregationBucketsResponse,\n    RUMAnalyticsAggregateResponse: RUMAnalyticsAggregateResponse_1.RUMAnalyticsAggregateResponse,\n    RUMApplication: RUMApplication_1.RUMApplication,\n    RUMApplicationAttributes: RUMApplicationAttributes_1.RUMApplicationAttributes,\n    RUMApplicationCreate: RUMApplicationCreate_1.RUMApplicationCreate,\n    RUMApplicationCreateAttributes: RUMApplicationCreateAttributes_1.RUMApplicationCreateAttributes,\n    RUMApplicationCreateRequest: RUMApplicationCreateRequest_1.RUMApplicationCreateRequest,\n    RUMApplicationList: RUMApplicationList_1.RUMApplicationList,\n    RUMApplicationListAttributes: RUMApplicationListAttributes_1.RUMApplicationListAttributes,\n    RUMApplicationResponse: RUMApplicationResponse_1.RUMApplicationResponse,\n    RUMApplicationUpdate: RUMApplicationUpdate_1.RUMApplicationUpdate,\n    RUMApplicationUpdateAttributes: RUMApplicationUpdateAttributes_1.RUMApplicationUpdateAttributes,\n    RUMApplicationUpdateRequest: RUMApplicationUpdateRequest_1.RUMApplicationUpdateRequest,\n    RUMApplicationsResponse: RUMApplicationsResponse_1.RUMApplicationsResponse,\n    RUMBucketResponse: RUMBucketResponse_1.RUMBucketResponse,\n    RUMCompute: RUMCompute_1.RUMCompute,\n    RUMEvent: RUMEvent_1.RUMEvent,\n    RUMEventAttributes: RUMEventAttributes_1.RUMEventAttributes,\n    RUMEventsResponse: RUMEventsResponse_1.RUMEventsResponse,\n    RUMGroupBy: RUMGroupBy_1.RUMGroupBy,\n    RUMGroupByHistogram: RUMGroupByHistogram_1.RUMGroupByHistogram,\n    RUMQueryFilter: RUMQueryFilter_1.RUMQueryFilter,\n    RUMQueryOptions: RUMQueryOptions_1.RUMQueryOptions,\n    RUMQueryPageOptions: RUMQueryPageOptions_1.RUMQueryPageOptions,\n    RUMResponseLinks: RUMResponseLinks_1.RUMResponseLinks,\n    RUMResponseMetadata: RUMResponseMetadata_1.RUMResponseMetadata,\n    RUMResponsePage: RUMResponsePage_1.RUMResponsePage,\n    RUMSearchEventsRequest: RUMSearchEventsRequest_1.RUMSearchEventsRequest,\n    RUMWarning: RUMWarning_1.RUMWarning,\n    RelationshipToIncidentAttachment: RelationshipToIncidentAttachment_1.RelationshipToIncidentAttachment,\n    RelationshipToIncidentAttachmentData: RelationshipToIncidentAttachmentData_1.RelationshipToIncidentAttachmentData,\n    RelationshipToIncidentIntegrationMetadataData: RelationshipToIncidentIntegrationMetadataData_1.RelationshipToIncidentIntegrationMetadataData,\n    RelationshipToIncidentIntegrationMetadatas: RelationshipToIncidentIntegrationMetadatas_1.RelationshipToIncidentIntegrationMetadatas,\n    RelationshipToIncidentPostmortem: RelationshipToIncidentPostmortem_1.RelationshipToIncidentPostmortem,\n    RelationshipToIncidentPostmortemData: RelationshipToIncidentPostmortemData_1.RelationshipToIncidentPostmortemData,\n    RelationshipToOrganization: RelationshipToOrganization_1.RelationshipToOrganization,\n    RelationshipToOrganizationData: RelationshipToOrganizationData_1.RelationshipToOrganizationData,\n    RelationshipToOrganizations: RelationshipToOrganizations_1.RelationshipToOrganizations,\n    RelationshipToPermission: RelationshipToPermission_1.RelationshipToPermission,\n    RelationshipToPermissionData: RelationshipToPermissionData_1.RelationshipToPermissionData,\n    RelationshipToPermissions: RelationshipToPermissions_1.RelationshipToPermissions,\n    RelationshipToRole: RelationshipToRole_1.RelationshipToRole,\n    RelationshipToRoleData: RelationshipToRoleData_1.RelationshipToRoleData,\n    RelationshipToRoles: RelationshipToRoles_1.RelationshipToRoles,\n    RelationshipToSAMLAssertionAttribute: RelationshipToSAMLAssertionAttribute_1.RelationshipToSAMLAssertionAttribute,\n    RelationshipToSAMLAssertionAttributeData: RelationshipToSAMLAssertionAttributeData_1.RelationshipToSAMLAssertionAttributeData,\n    RelationshipToTeamLinkData: RelationshipToTeamLinkData_1.RelationshipToTeamLinkData,\n    RelationshipToTeamLinks: RelationshipToTeamLinks_1.RelationshipToTeamLinks,\n    RelationshipToUser: RelationshipToUser_1.RelationshipToUser,\n    RelationshipToUserData: RelationshipToUserData_1.RelationshipToUserData,\n    RelationshipToUserTeamPermission: RelationshipToUserTeamPermission_1.RelationshipToUserTeamPermission,\n    RelationshipToUserTeamPermissionData: RelationshipToUserTeamPermissionData_1.RelationshipToUserTeamPermissionData,\n    RelationshipToUserTeamUser: RelationshipToUserTeamUser_1.RelationshipToUserTeamUser,\n    RelationshipToUserTeamUserData: RelationshipToUserTeamUserData_1.RelationshipToUserTeamUserData,\n    RelationshipToUsers: RelationshipToUsers_1.RelationshipToUsers,\n    ResponseMetaAttributes: ResponseMetaAttributes_1.ResponseMetaAttributes,\n    RestrictionPolicy: RestrictionPolicy_1.RestrictionPolicy,\n    RestrictionPolicyAttributes: RestrictionPolicyAttributes_1.RestrictionPolicyAttributes,\n    RestrictionPolicyBinding: RestrictionPolicyBinding_1.RestrictionPolicyBinding,\n    RestrictionPolicyResponse: RestrictionPolicyResponse_1.RestrictionPolicyResponse,\n    RestrictionPolicyUpdateRequest: RestrictionPolicyUpdateRequest_1.RestrictionPolicyUpdateRequest,\n    Role: Role_1.Role,\n    RoleAttributes: RoleAttributes_1.RoleAttributes,\n    RoleClone: RoleClone_1.RoleClone,\n    RoleCloneAttributes: RoleCloneAttributes_1.RoleCloneAttributes,\n    RoleCloneRequest: RoleCloneRequest_1.RoleCloneRequest,\n    RoleCreateAttributes: RoleCreateAttributes_1.RoleCreateAttributes,\n    RoleCreateData: RoleCreateData_1.RoleCreateData,\n    RoleCreateRequest: RoleCreateRequest_1.RoleCreateRequest,\n    RoleCreateResponse: RoleCreateResponse_1.RoleCreateResponse,\n    RoleCreateResponseData: RoleCreateResponseData_1.RoleCreateResponseData,\n    RoleRelationships: RoleRelationships_1.RoleRelationships,\n    RoleResponse: RoleResponse_1.RoleResponse,\n    RoleResponseRelationships: RoleResponseRelationships_1.RoleResponseRelationships,\n    RoleUpdateAttributes: RoleUpdateAttributes_1.RoleUpdateAttributes,\n    RoleUpdateData: RoleUpdateData_1.RoleUpdateData,\n    RoleUpdateRequest: RoleUpdateRequest_1.RoleUpdateRequest,\n    RoleUpdateResponse: RoleUpdateResponse_1.RoleUpdateResponse,\n    RoleUpdateResponseData: RoleUpdateResponseData_1.RoleUpdateResponseData,\n    RolesResponse: RolesResponse_1.RolesResponse,\n    SAMLAssertionAttribute: SAMLAssertionAttribute_1.SAMLAssertionAttribute,\n    SAMLAssertionAttributeAttributes: SAMLAssertionAttributeAttributes_1.SAMLAssertionAttributeAttributes,\n    ScalarFormulaQueryRequest: ScalarFormulaQueryRequest_1.ScalarFormulaQueryRequest,\n    ScalarFormulaQueryResponse: ScalarFormulaQueryResponse_1.ScalarFormulaQueryResponse,\n    ScalarFormulaRequest: ScalarFormulaRequest_1.ScalarFormulaRequest,\n    ScalarFormulaRequestAttributes: ScalarFormulaRequestAttributes_1.ScalarFormulaRequestAttributes,\n    ScalarFormulaResponseAtrributes: ScalarFormulaResponseAtrributes_1.ScalarFormulaResponseAtrributes,\n    ScalarMeta: ScalarMeta_1.ScalarMeta,\n    ScalarResponse: ScalarResponse_1.ScalarResponse,\n    SecurityFilter: SecurityFilter_1.SecurityFilter,\n    SecurityFilterAttributes: SecurityFilterAttributes_1.SecurityFilterAttributes,\n    SecurityFilterCreateAttributes: SecurityFilterCreateAttributes_1.SecurityFilterCreateAttributes,\n    SecurityFilterCreateData: SecurityFilterCreateData_1.SecurityFilterCreateData,\n    SecurityFilterCreateRequest: SecurityFilterCreateRequest_1.SecurityFilterCreateRequest,\n    SecurityFilterExclusionFilter: SecurityFilterExclusionFilter_1.SecurityFilterExclusionFilter,\n    SecurityFilterExclusionFilterResponse: SecurityFilterExclusionFilterResponse_1.SecurityFilterExclusionFilterResponse,\n    SecurityFilterMeta: SecurityFilterMeta_1.SecurityFilterMeta,\n    SecurityFilterResponse: SecurityFilterResponse_1.SecurityFilterResponse,\n    SecurityFilterUpdateAttributes: SecurityFilterUpdateAttributes_1.SecurityFilterUpdateAttributes,\n    SecurityFilterUpdateData: SecurityFilterUpdateData_1.SecurityFilterUpdateData,\n    SecurityFilterUpdateRequest: SecurityFilterUpdateRequest_1.SecurityFilterUpdateRequest,\n    SecurityFiltersResponse: SecurityFiltersResponse_1.SecurityFiltersResponse,\n    SecurityMonitoringFilter: SecurityMonitoringFilter_1.SecurityMonitoringFilter,\n    SecurityMonitoringListRulesResponse: SecurityMonitoringListRulesResponse_1.SecurityMonitoringListRulesResponse,\n    SecurityMonitoringRuleCase: SecurityMonitoringRuleCase_1.SecurityMonitoringRuleCase,\n    SecurityMonitoringRuleCaseCreate: SecurityMonitoringRuleCaseCreate_1.SecurityMonitoringRuleCaseCreate,\n    SecurityMonitoringRuleImpossibleTravelOptions: SecurityMonitoringRuleImpossibleTravelOptions_1.SecurityMonitoringRuleImpossibleTravelOptions,\n    SecurityMonitoringRuleNewValueOptions: SecurityMonitoringRuleNewValueOptions_1.SecurityMonitoringRuleNewValueOptions,\n    SecurityMonitoringRuleOptions: SecurityMonitoringRuleOptions_1.SecurityMonitoringRuleOptions,\n    SecurityMonitoringRuleUpdatePayload: SecurityMonitoringRuleUpdatePayload_1.SecurityMonitoringRuleUpdatePayload,\n    SecurityMonitoringSignal: SecurityMonitoringSignal_1.SecurityMonitoringSignal,\n    SecurityMonitoringSignalAssigneeUpdateAttributes: SecurityMonitoringSignalAssigneeUpdateAttributes_1.SecurityMonitoringSignalAssigneeUpdateAttributes,\n    SecurityMonitoringSignalAssigneeUpdateData: SecurityMonitoringSignalAssigneeUpdateData_1.SecurityMonitoringSignalAssigneeUpdateData,\n    SecurityMonitoringSignalAssigneeUpdateRequest: SecurityMonitoringSignalAssigneeUpdateRequest_1.SecurityMonitoringSignalAssigneeUpdateRequest,\n    SecurityMonitoringSignalAttributes: SecurityMonitoringSignalAttributes_1.SecurityMonitoringSignalAttributes,\n    SecurityMonitoringSignalIncidentsUpdateAttributes: SecurityMonitoringSignalIncidentsUpdateAttributes_1.SecurityMonitoringSignalIncidentsUpdateAttributes,\n    SecurityMonitoringSignalIncidentsUpdateData: SecurityMonitoringSignalIncidentsUpdateData_1.SecurityMonitoringSignalIncidentsUpdateData,\n    SecurityMonitoringSignalIncidentsUpdateRequest: SecurityMonitoringSignalIncidentsUpdateRequest_1.SecurityMonitoringSignalIncidentsUpdateRequest,\n    SecurityMonitoringSignalListRequest: SecurityMonitoringSignalListRequest_1.SecurityMonitoringSignalListRequest,\n    SecurityMonitoringSignalListRequestFilter: SecurityMonitoringSignalListRequestFilter_1.SecurityMonitoringSignalListRequestFilter,\n    SecurityMonitoringSignalListRequestPage: SecurityMonitoringSignalListRequestPage_1.SecurityMonitoringSignalListRequestPage,\n    SecurityMonitoringSignalResponse: SecurityMonitoringSignalResponse_1.SecurityMonitoringSignalResponse,\n    SecurityMonitoringSignalRuleCreatePayload: SecurityMonitoringSignalRuleCreatePayload_1.SecurityMonitoringSignalRuleCreatePayload,\n    SecurityMonitoringSignalRuleQuery: SecurityMonitoringSignalRuleQuery_1.SecurityMonitoringSignalRuleQuery,\n    SecurityMonitoringSignalRuleResponse: SecurityMonitoringSignalRuleResponse_1.SecurityMonitoringSignalRuleResponse,\n    SecurityMonitoringSignalRuleResponseQuery: SecurityMonitoringSignalRuleResponseQuery_1.SecurityMonitoringSignalRuleResponseQuery,\n    SecurityMonitoringSignalStateUpdateAttributes: SecurityMonitoringSignalStateUpdateAttributes_1.SecurityMonitoringSignalStateUpdateAttributes,\n    SecurityMonitoringSignalStateUpdateData: SecurityMonitoringSignalStateUpdateData_1.SecurityMonitoringSignalStateUpdateData,\n    SecurityMonitoringSignalStateUpdateRequest: SecurityMonitoringSignalStateUpdateRequest_1.SecurityMonitoringSignalStateUpdateRequest,\n    SecurityMonitoringSignalTriageAttributes: SecurityMonitoringSignalTriageAttributes_1.SecurityMonitoringSignalTriageAttributes,\n    SecurityMonitoringSignalTriageUpdateData: SecurityMonitoringSignalTriageUpdateData_1.SecurityMonitoringSignalTriageUpdateData,\n    SecurityMonitoringSignalTriageUpdateResponse: SecurityMonitoringSignalTriageUpdateResponse_1.SecurityMonitoringSignalTriageUpdateResponse,\n    SecurityMonitoringSignalsListResponse: SecurityMonitoringSignalsListResponse_1.SecurityMonitoringSignalsListResponse,\n    SecurityMonitoringSignalsListResponseLinks: SecurityMonitoringSignalsListResponseLinks_1.SecurityMonitoringSignalsListResponseLinks,\n    SecurityMonitoringSignalsListResponseMeta: SecurityMonitoringSignalsListResponseMeta_1.SecurityMonitoringSignalsListResponseMeta,\n    SecurityMonitoringSignalsListResponseMetaPage: SecurityMonitoringSignalsListResponseMetaPage_1.SecurityMonitoringSignalsListResponseMetaPage,\n    SecurityMonitoringStandardRuleCreatePayload: SecurityMonitoringStandardRuleCreatePayload_1.SecurityMonitoringStandardRuleCreatePayload,\n    SecurityMonitoringStandardRuleQuery: SecurityMonitoringStandardRuleQuery_1.SecurityMonitoringStandardRuleQuery,\n    SecurityMonitoringStandardRuleResponse: SecurityMonitoringStandardRuleResponse_1.SecurityMonitoringStandardRuleResponse,\n    SecurityMonitoringTriageUser: SecurityMonitoringTriageUser_1.SecurityMonitoringTriageUser,\n    SensitiveDataScannerConfigRequest: SensitiveDataScannerConfigRequest_1.SensitiveDataScannerConfigRequest,\n    SensitiveDataScannerConfiguration: SensitiveDataScannerConfiguration_1.SensitiveDataScannerConfiguration,\n    SensitiveDataScannerConfigurationData: SensitiveDataScannerConfigurationData_1.SensitiveDataScannerConfigurationData,\n    SensitiveDataScannerConfigurationRelationships: SensitiveDataScannerConfigurationRelationships_1.SensitiveDataScannerConfigurationRelationships,\n    SensitiveDataScannerCreateGroupResponse: SensitiveDataScannerCreateGroupResponse_1.SensitiveDataScannerCreateGroupResponse,\n    SensitiveDataScannerCreateRuleResponse: SensitiveDataScannerCreateRuleResponse_1.SensitiveDataScannerCreateRuleResponse,\n    SensitiveDataScannerFilter: SensitiveDataScannerFilter_1.SensitiveDataScannerFilter,\n    SensitiveDataScannerGetConfigResponse: SensitiveDataScannerGetConfigResponse_1.SensitiveDataScannerGetConfigResponse,\n    SensitiveDataScannerGetConfigResponseData: SensitiveDataScannerGetConfigResponseData_1.SensitiveDataScannerGetConfigResponseData,\n    SensitiveDataScannerGroup: SensitiveDataScannerGroup_1.SensitiveDataScannerGroup,\n    SensitiveDataScannerGroupAttributes: SensitiveDataScannerGroupAttributes_1.SensitiveDataScannerGroupAttributes,\n    SensitiveDataScannerGroupCreate: SensitiveDataScannerGroupCreate_1.SensitiveDataScannerGroupCreate,\n    SensitiveDataScannerGroupCreateRequest: SensitiveDataScannerGroupCreateRequest_1.SensitiveDataScannerGroupCreateRequest,\n    SensitiveDataScannerGroupData: SensitiveDataScannerGroupData_1.SensitiveDataScannerGroupData,\n    SensitiveDataScannerGroupDeleteRequest: SensitiveDataScannerGroupDeleteRequest_1.SensitiveDataScannerGroupDeleteRequest,\n    SensitiveDataScannerGroupDeleteResponse: SensitiveDataScannerGroupDeleteResponse_1.SensitiveDataScannerGroupDeleteResponse,\n    SensitiveDataScannerGroupIncludedItem: SensitiveDataScannerGroupIncludedItem_1.SensitiveDataScannerGroupIncludedItem,\n    SensitiveDataScannerGroupItem: SensitiveDataScannerGroupItem_1.SensitiveDataScannerGroupItem,\n    SensitiveDataScannerGroupList: SensitiveDataScannerGroupList_1.SensitiveDataScannerGroupList,\n    SensitiveDataScannerGroupRelationships: SensitiveDataScannerGroupRelationships_1.SensitiveDataScannerGroupRelationships,\n    SensitiveDataScannerGroupResponse: SensitiveDataScannerGroupResponse_1.SensitiveDataScannerGroupResponse,\n    SensitiveDataScannerGroupUpdate: SensitiveDataScannerGroupUpdate_1.SensitiveDataScannerGroupUpdate,\n    SensitiveDataScannerGroupUpdateRequest: SensitiveDataScannerGroupUpdateRequest_1.SensitiveDataScannerGroupUpdateRequest,\n    SensitiveDataScannerGroupUpdateResponse: SensitiveDataScannerGroupUpdateResponse_1.SensitiveDataScannerGroupUpdateResponse,\n    SensitiveDataScannerMeta: SensitiveDataScannerMeta_1.SensitiveDataScannerMeta,\n    SensitiveDataScannerMetaVersionOnly: SensitiveDataScannerMetaVersionOnly_1.SensitiveDataScannerMetaVersionOnly,\n    SensitiveDataScannerReorderConfig: SensitiveDataScannerReorderConfig_1.SensitiveDataScannerReorderConfig,\n    SensitiveDataScannerReorderGroupsResponse: SensitiveDataScannerReorderGroupsResponse_1.SensitiveDataScannerReorderGroupsResponse,\n    SensitiveDataScannerRule: SensitiveDataScannerRule_1.SensitiveDataScannerRule,\n    SensitiveDataScannerRuleAttributes: SensitiveDataScannerRuleAttributes_1.SensitiveDataScannerRuleAttributes,\n    SensitiveDataScannerRuleCreate: SensitiveDataScannerRuleCreate_1.SensitiveDataScannerRuleCreate,\n    SensitiveDataScannerRuleCreateRequest: SensitiveDataScannerRuleCreateRequest_1.SensitiveDataScannerRuleCreateRequest,\n    SensitiveDataScannerRuleData: SensitiveDataScannerRuleData_1.SensitiveDataScannerRuleData,\n    SensitiveDataScannerRuleDeleteRequest: SensitiveDataScannerRuleDeleteRequest_1.SensitiveDataScannerRuleDeleteRequest,\n    SensitiveDataScannerRuleDeleteResponse: SensitiveDataScannerRuleDeleteResponse_1.SensitiveDataScannerRuleDeleteResponse,\n    SensitiveDataScannerRuleIncludedItem: SensitiveDataScannerRuleIncludedItem_1.SensitiveDataScannerRuleIncludedItem,\n    SensitiveDataScannerRuleRelationships: SensitiveDataScannerRuleRelationships_1.SensitiveDataScannerRuleRelationships,\n    SensitiveDataScannerRuleResponse: SensitiveDataScannerRuleResponse_1.SensitiveDataScannerRuleResponse,\n    SensitiveDataScannerRuleUpdate: SensitiveDataScannerRuleUpdate_1.SensitiveDataScannerRuleUpdate,\n    SensitiveDataScannerRuleUpdateRequest: SensitiveDataScannerRuleUpdateRequest_1.SensitiveDataScannerRuleUpdateRequest,\n    SensitiveDataScannerRuleUpdateResponse: SensitiveDataScannerRuleUpdateResponse_1.SensitiveDataScannerRuleUpdateResponse,\n    SensitiveDataScannerStandardPattern: SensitiveDataScannerStandardPattern_1.SensitiveDataScannerStandardPattern,\n    SensitiveDataScannerStandardPatternAttributes: SensitiveDataScannerStandardPatternAttributes_1.SensitiveDataScannerStandardPatternAttributes,\n    SensitiveDataScannerStandardPatternData: SensitiveDataScannerStandardPatternData_1.SensitiveDataScannerStandardPatternData,\n    SensitiveDataScannerStandardPatternsResponseData: SensitiveDataScannerStandardPatternsResponseData_1.SensitiveDataScannerStandardPatternsResponseData,\n    SensitiveDataScannerStandardPatternsResponseItem: SensitiveDataScannerStandardPatternsResponseItem_1.SensitiveDataScannerStandardPatternsResponseItem,\n    SensitiveDataScannerTextReplacement: SensitiveDataScannerTextReplacement_1.SensitiveDataScannerTextReplacement,\n    ServiceAccountCreateAttributes: ServiceAccountCreateAttributes_1.ServiceAccountCreateAttributes,\n    ServiceAccountCreateData: ServiceAccountCreateData_1.ServiceAccountCreateData,\n    ServiceAccountCreateRequest: ServiceAccountCreateRequest_1.ServiceAccountCreateRequest,\n    ServiceDefinitionCreateResponse: ServiceDefinitionCreateResponse_1.ServiceDefinitionCreateResponse,\n    ServiceDefinitionData: ServiceDefinitionData_1.ServiceDefinitionData,\n    ServiceDefinitionDataAttributes: ServiceDefinitionDataAttributes_1.ServiceDefinitionDataAttributes,\n    ServiceDefinitionGetResponse: ServiceDefinitionGetResponse_1.ServiceDefinitionGetResponse,\n    ServiceDefinitionMeta: ServiceDefinitionMeta_1.ServiceDefinitionMeta,\n    ServiceDefinitionMetaWarnings: ServiceDefinitionMetaWarnings_1.ServiceDefinitionMetaWarnings,\n    ServiceDefinitionV1: ServiceDefinitionV1_1.ServiceDefinitionV1,\n    ServiceDefinitionV1Contact: ServiceDefinitionV1Contact_1.ServiceDefinitionV1Contact,\n    ServiceDefinitionV1Info: ServiceDefinitionV1Info_1.ServiceDefinitionV1Info,\n    ServiceDefinitionV1Integrations: ServiceDefinitionV1Integrations_1.ServiceDefinitionV1Integrations,\n    ServiceDefinitionV1Org: ServiceDefinitionV1Org_1.ServiceDefinitionV1Org,\n    ServiceDefinitionV1Resource: ServiceDefinitionV1Resource_1.ServiceDefinitionV1Resource,\n    ServiceDefinitionV2: ServiceDefinitionV2_1.ServiceDefinitionV2,\n    ServiceDefinitionV2Doc: ServiceDefinitionV2Doc_1.ServiceDefinitionV2Doc,\n    ServiceDefinitionV2Dot1: ServiceDefinitionV2Dot1_1.ServiceDefinitionV2Dot1,\n    ServiceDefinitionV2Dot1Email: ServiceDefinitionV2Dot1Email_1.ServiceDefinitionV2Dot1Email,\n    ServiceDefinitionV2Dot1Integrations: ServiceDefinitionV2Dot1Integrations_1.ServiceDefinitionV2Dot1Integrations,\n    ServiceDefinitionV2Dot1Link: ServiceDefinitionV2Dot1Link_1.ServiceDefinitionV2Dot1Link,\n    ServiceDefinitionV2Dot1MSTeams: ServiceDefinitionV2Dot1MSTeams_1.ServiceDefinitionV2Dot1MSTeams,\n    ServiceDefinitionV2Dot1Opsgenie: ServiceDefinitionV2Dot1Opsgenie_1.ServiceDefinitionV2Dot1Opsgenie,\n    ServiceDefinitionV2Dot1Pagerduty: ServiceDefinitionV2Dot1Pagerduty_1.ServiceDefinitionV2Dot1Pagerduty,\n    ServiceDefinitionV2Dot1Slack: ServiceDefinitionV2Dot1Slack_1.ServiceDefinitionV2Dot1Slack,\n    ServiceDefinitionV2Email: ServiceDefinitionV2Email_1.ServiceDefinitionV2Email,\n    ServiceDefinitionV2Integrations: ServiceDefinitionV2Integrations_1.ServiceDefinitionV2Integrations,\n    ServiceDefinitionV2Link: ServiceDefinitionV2Link_1.ServiceDefinitionV2Link,\n    ServiceDefinitionV2MSTeams: ServiceDefinitionV2MSTeams_1.ServiceDefinitionV2MSTeams,\n    ServiceDefinitionV2Opsgenie: ServiceDefinitionV2Opsgenie_1.ServiceDefinitionV2Opsgenie,\n    ServiceDefinitionV2Repo: ServiceDefinitionV2Repo_1.ServiceDefinitionV2Repo,\n    ServiceDefinitionV2Slack: ServiceDefinitionV2Slack_1.ServiceDefinitionV2Slack,\n    ServiceDefinitionsListResponse: ServiceDefinitionsListResponse_1.ServiceDefinitionsListResponse,\n    SlackIntegrationMetadata: SlackIntegrationMetadata_1.SlackIntegrationMetadata,\n    SlackIntegrationMetadataChannelItem: SlackIntegrationMetadataChannelItem_1.SlackIntegrationMetadataChannelItem,\n    Span: Span_1.Span,\n    SpansAggregateBucket: SpansAggregateBucket_1.SpansAggregateBucket,\n    SpansAggregateBucketAttributes: SpansAggregateBucketAttributes_1.SpansAggregateBucketAttributes,\n    SpansAggregateBucketValueTimeseriesPoint: SpansAggregateBucketValueTimeseriesPoint_1.SpansAggregateBucketValueTimeseriesPoint,\n    SpansAggregateData: SpansAggregateData_1.SpansAggregateData,\n    SpansAggregateRequest: SpansAggregateRequest_1.SpansAggregateRequest,\n    SpansAggregateRequestAttributes: SpansAggregateRequestAttributes_1.SpansAggregateRequestAttributes,\n    SpansAggregateResponse: SpansAggregateResponse_1.SpansAggregateResponse,\n    SpansAggregateResponseMetadata: SpansAggregateResponseMetadata_1.SpansAggregateResponseMetadata,\n    SpansAggregateSort: SpansAggregateSort_1.SpansAggregateSort,\n    SpansAttributes: SpansAttributes_1.SpansAttributes,\n    SpansCompute: SpansCompute_1.SpansCompute,\n    SpansGroupBy: SpansGroupBy_1.SpansGroupBy,\n    SpansGroupByHistogram: SpansGroupByHistogram_1.SpansGroupByHistogram,\n    SpansListRequest: SpansListRequest_1.SpansListRequest,\n    SpansListRequestAttributes: SpansListRequestAttributes_1.SpansListRequestAttributes,\n    SpansListRequestData: SpansListRequestData_1.SpansListRequestData,\n    SpansListRequestPage: SpansListRequestPage_1.SpansListRequestPage,\n    SpansListResponse: SpansListResponse_1.SpansListResponse,\n    SpansListResponseLinks: SpansListResponseLinks_1.SpansListResponseLinks,\n    SpansListResponseMetadata: SpansListResponseMetadata_1.SpansListResponseMetadata,\n    SpansMetricCompute: SpansMetricCompute_1.SpansMetricCompute,\n    SpansMetricCreateAttributes: SpansMetricCreateAttributes_1.SpansMetricCreateAttributes,\n    SpansMetricCreateData: SpansMetricCreateData_1.SpansMetricCreateData,\n    SpansMetricCreateRequest: SpansMetricCreateRequest_1.SpansMetricCreateRequest,\n    SpansMetricFilter: SpansMetricFilter_1.SpansMetricFilter,\n    SpansMetricGroupBy: SpansMetricGroupBy_1.SpansMetricGroupBy,\n    SpansMetricResponse: SpansMetricResponse_1.SpansMetricResponse,\n    SpansMetricResponseAttributes: SpansMetricResponseAttributes_1.SpansMetricResponseAttributes,\n    SpansMetricResponseCompute: SpansMetricResponseCompute_1.SpansMetricResponseCompute,\n    SpansMetricResponseData: SpansMetricResponseData_1.SpansMetricResponseData,\n    SpansMetricResponseFilter: SpansMetricResponseFilter_1.SpansMetricResponseFilter,\n    SpansMetricResponseGroupBy: SpansMetricResponseGroupBy_1.SpansMetricResponseGroupBy,\n    SpansMetricUpdateAttributes: SpansMetricUpdateAttributes_1.SpansMetricUpdateAttributes,\n    SpansMetricUpdateCompute: SpansMetricUpdateCompute_1.SpansMetricUpdateCompute,\n    SpansMetricUpdateData: SpansMetricUpdateData_1.SpansMetricUpdateData,\n    SpansMetricUpdateRequest: SpansMetricUpdateRequest_1.SpansMetricUpdateRequest,\n    SpansMetricsResponse: SpansMetricsResponse_1.SpansMetricsResponse,\n    SpansQueryFilter: SpansQueryFilter_1.SpansQueryFilter,\n    SpansQueryOptions: SpansQueryOptions_1.SpansQueryOptions,\n    SpansResponseMetadataPage: SpansResponseMetadataPage_1.SpansResponseMetadataPage,\n    SpansWarning: SpansWarning_1.SpansWarning,\n    Team: Team_1.Team,\n    TeamAttributes: TeamAttributes_1.TeamAttributes,\n    TeamCreate: TeamCreate_1.TeamCreate,\n    TeamCreateAttributes: TeamCreateAttributes_1.TeamCreateAttributes,\n    TeamCreateRelationships: TeamCreateRelationships_1.TeamCreateRelationships,\n    TeamCreateRequest: TeamCreateRequest_1.TeamCreateRequest,\n    TeamLink: TeamLink_1.TeamLink,\n    TeamLinkAttributes: TeamLinkAttributes_1.TeamLinkAttributes,\n    TeamLinkCreate: TeamLinkCreate_1.TeamLinkCreate,\n    TeamLinkCreateRequest: TeamLinkCreateRequest_1.TeamLinkCreateRequest,\n    TeamLinkResponse: TeamLinkResponse_1.TeamLinkResponse,\n    TeamLinksResponse: TeamLinksResponse_1.TeamLinksResponse,\n    TeamPermissionSetting: TeamPermissionSetting_1.TeamPermissionSetting,\n    TeamPermissionSettingAttributes: TeamPermissionSettingAttributes_1.TeamPermissionSettingAttributes,\n    TeamPermissionSettingResponse: TeamPermissionSettingResponse_1.TeamPermissionSettingResponse,\n    TeamPermissionSettingUpdate: TeamPermissionSettingUpdate_1.TeamPermissionSettingUpdate,\n    TeamPermissionSettingUpdateAttributes: TeamPermissionSettingUpdateAttributes_1.TeamPermissionSettingUpdateAttributes,\n    TeamPermissionSettingUpdateRequest: TeamPermissionSettingUpdateRequest_1.TeamPermissionSettingUpdateRequest,\n    TeamPermissionSettingsResponse: TeamPermissionSettingsResponse_1.TeamPermissionSettingsResponse,\n    TeamRelationships: TeamRelationships_1.TeamRelationships,\n    TeamRelationshipsLinks: TeamRelationshipsLinks_1.TeamRelationshipsLinks,\n    TeamResponse: TeamResponse_1.TeamResponse,\n    TeamUpdate: TeamUpdate_1.TeamUpdate,\n    TeamUpdateAttributes: TeamUpdateAttributes_1.TeamUpdateAttributes,\n    TeamUpdateRelationships: TeamUpdateRelationships_1.TeamUpdateRelationships,\n    TeamUpdateRequest: TeamUpdateRequest_1.TeamUpdateRequest,\n    TeamsResponse: TeamsResponse_1.TeamsResponse,\n    TeamsResponseLinks: TeamsResponseLinks_1.TeamsResponseLinks,\n    TeamsResponseMeta: TeamsResponseMeta_1.TeamsResponseMeta,\n    TeamsResponseMetaPagination: TeamsResponseMetaPagination_1.TeamsResponseMetaPagination,\n    TimeseriesFormulaQueryRequest: TimeseriesFormulaQueryRequest_1.TimeseriesFormulaQueryRequest,\n    TimeseriesFormulaQueryResponse: TimeseriesFormulaQueryResponse_1.TimeseriesFormulaQueryResponse,\n    TimeseriesFormulaRequest: TimeseriesFormulaRequest_1.TimeseriesFormulaRequest,\n    TimeseriesFormulaRequestAttributes: TimeseriesFormulaRequestAttributes_1.TimeseriesFormulaRequestAttributes,\n    TimeseriesResponse: TimeseriesResponse_1.TimeseriesResponse,\n    TimeseriesResponseAttributes: TimeseriesResponseAttributes_1.TimeseriesResponseAttributes,\n    TimeseriesResponseSeries: TimeseriesResponseSeries_1.TimeseriesResponseSeries,\n    Unit: Unit_1.Unit,\n    UsageApplicationSecurityMonitoringResponse: UsageApplicationSecurityMonitoringResponse_1.UsageApplicationSecurityMonitoringResponse,\n    UsageAttributesObject: UsageAttributesObject_1.UsageAttributesObject,\n    UsageDataObject: UsageDataObject_1.UsageDataObject,\n    UsageLambdaTracedInvocationsResponse: UsageLambdaTracedInvocationsResponse_1.UsageLambdaTracedInvocationsResponse,\n    UsageObservabilityPipelinesResponse: UsageObservabilityPipelinesResponse_1.UsageObservabilityPipelinesResponse,\n    UsageTimeSeriesObject: UsageTimeSeriesObject_1.UsageTimeSeriesObject,\n    User: User_1.User,\n    UserAttributes: UserAttributes_1.UserAttributes,\n    UserCreateAttributes: UserCreateAttributes_1.UserCreateAttributes,\n    UserCreateData: UserCreateData_1.UserCreateData,\n    UserCreateRequest: UserCreateRequest_1.UserCreateRequest,\n    UserInvitationData: UserInvitationData_1.UserInvitationData,\n    UserInvitationDataAttributes: UserInvitationDataAttributes_1.UserInvitationDataAttributes,\n    UserInvitationRelationships: UserInvitationRelationships_1.UserInvitationRelationships,\n    UserInvitationResponse: UserInvitationResponse_1.UserInvitationResponse,\n    UserInvitationResponseData: UserInvitationResponseData_1.UserInvitationResponseData,\n    UserInvitationsRequest: UserInvitationsRequest_1.UserInvitationsRequest,\n    UserInvitationsResponse: UserInvitationsResponse_1.UserInvitationsResponse,\n    UserRelationships: UserRelationships_1.UserRelationships,\n    UserResponse: UserResponse_1.UserResponse,\n    UserResponseRelationships: UserResponseRelationships_1.UserResponseRelationships,\n    UserTeam: UserTeam_1.UserTeam,\n    UserTeamAttributes: UserTeamAttributes_1.UserTeamAttributes,\n    UserTeamCreate: UserTeamCreate_1.UserTeamCreate,\n    UserTeamPermission: UserTeamPermission_1.UserTeamPermission,\n    UserTeamPermissionAttributes: UserTeamPermissionAttributes_1.UserTeamPermissionAttributes,\n    UserTeamRelationships: UserTeamRelationships_1.UserTeamRelationships,\n    UserTeamRequest: UserTeamRequest_1.UserTeamRequest,\n    UserTeamResponse: UserTeamResponse_1.UserTeamResponse,\n    UserTeamUpdate: UserTeamUpdate_1.UserTeamUpdate,\n    UserTeamUpdateRequest: UserTeamUpdateRequest_1.UserTeamUpdateRequest,\n    UserTeamsResponse: UserTeamsResponse_1.UserTeamsResponse,\n    UserUpdateAttributes: UserUpdateAttributes_1.UserUpdateAttributes,\n    UserUpdateData: UserUpdateData_1.UserUpdateData,\n    UserUpdateRequest: UserUpdateRequest_1.UserUpdateRequest,\n    UsersResponse: UsersResponse_1.UsersResponse,\n};\nconst oneOfMap = {\n    APIKeyResponseIncludedItem: [\"User\"],\n    ApplicationKeyResponseIncludedItem: [\"User\", \"Role\"],\n    AuthNMappingIncluded: [\"SAMLAssertionAttribute\", \"Role\"],\n    CIAppAggregateBucketValue: [\n        \"string\",\n        \"number\",\n        \"Array\",\n    ],\n    CIAppCreatePipelineEventRequestAttributesResource: [\n        \"CIAppPipelineEventPipeline\",\n        \"CIAppPipelineEventStage\",\n        \"CIAppPipelineEventJob\",\n        \"CIAppPipelineEventStep\",\n    ],\n    CIAppGroupByMissing: [\"string\", \"number\"],\n    CIAppGroupByTotal: [\"boolean\", \"string\", \"number\"],\n    DowntimeMonitorIdentifier: [\n        \"DowntimeMonitorIdentifierId\",\n        \"DowntimeMonitorIdentifierTags\",\n    ],\n    DowntimeResponseIncludedItem: [\"User\", \"DowntimeMonitorIncludedItem\"],\n    DowntimeScheduleCreateRequest: [\n        \"DowntimeScheduleRecurrencesCreateRequest\",\n        \"DowntimeScheduleOneTimeCreateUpdateRequest\",\n    ],\n    DowntimeScheduleResponse: [\n        \"DowntimeScheduleRecurrencesResponse\",\n        \"DowntimeScheduleOneTimeResponse\",\n    ],\n    DowntimeScheduleUpdateRequest: [\n        \"DowntimeScheduleRecurrencesUpdateRequest\",\n        \"DowntimeScheduleOneTimeCreateUpdateRequest\",\n    ],\n    IncidentAttachmentAttributes: [\n        \"IncidentAttachmentPostmortemAttributes\",\n        \"IncidentAttachmentLinkAttributes\",\n    ],\n    IncidentAttachmentUpdateAttributes: [\n        \"IncidentAttachmentPostmortemAttributes\",\n        \"IncidentAttachmentLinkAttributes\",\n    ],\n    IncidentAttachmentsResponseIncludedItem: [\"User\"],\n    IncidentFieldAttributes: [\n        \"IncidentFieldAttributesSingleValue\",\n        \"IncidentFieldAttributesMultipleValue\",\n    ],\n    IncidentIntegrationMetadataMetadata: [\n        \"SlackIntegrationMetadata\",\n        \"JiraIntegrationMetadata\",\n    ],\n    IncidentIntegrationMetadataResponseIncludedItem: [\"User\"],\n    IncidentResponseIncludedItem: [\"User\", \"IncidentAttachmentData\"],\n    IncidentServiceIncludedItems: [\"User\"],\n    IncidentTeamIncludedItems: [\"User\"],\n    IncidentTimelineCellCreateAttributes: [\n        \"IncidentTimelineCellMarkdownCreateAttributes\",\n    ],\n    IncidentTodoAssignee: [\"string\", \"IncidentTodoAnonymousAssignee\"],\n    IncidentTodoResponseIncludedItem: [\"User\"],\n    LogsAggregateBucketValue: [\n        \"string\",\n        \"number\",\n        \"Array\",\n    ],\n    LogsArchiveCreateRequestDestination: [\n        \"LogsArchiveDestinationAzure\",\n        \"LogsArchiveDestinationGCS\",\n        \"LogsArchiveDestinationS3\",\n    ],\n    LogsArchiveDestination: [\n        \"LogsArchiveDestinationAzure\",\n        \"LogsArchiveDestinationGCS\",\n        \"LogsArchiveDestinationS3\",\n    ],\n    LogsGroupByMissing: [\"string\", \"number\"],\n    LogsGroupByTotal: [\"boolean\", \"string\", \"number\"],\n    MetricVolumes: [\"MetricDistinctVolume\", \"MetricIngestedIndexedVolume\"],\n    MetricsAndMetricTagConfigurations: [\"Metric\", \"MetricTagConfiguration\"],\n    MonitorConfigPolicyPolicy: [\"MonitorConfigPolicyTagPolicy\"],\n    MonitorConfigPolicyPolicyCreateRequest: [\n        \"MonitorConfigPolicyTagPolicyCreateRequest\",\n    ],\n    RUMAggregateBucketValue: [\n        \"string\",\n        \"number\",\n        \"Array\",\n    ],\n    RUMGroupByMissing: [\"string\", \"number\"],\n    RUMGroupByTotal: [\"boolean\", \"string\", \"number\"],\n    ScalarColumn: [\"GroupScalarColumn\", \"DataScalarColumn\"],\n    ScalarQuery: [\"MetricsScalarQuery\", \"EventsScalarQuery\"],\n    SecurityMonitoringRuleCreatePayload: [\n        \"SecurityMonitoringStandardRuleCreatePayload\",\n        \"SecurityMonitoringSignalRuleCreatePayload\",\n        \"CloudConfigurationRuleCreatePayload\",\n    ],\n    SecurityMonitoringRuleQuery: [\n        \"SecurityMonitoringStandardRuleQuery\",\n        \"SecurityMonitoringSignalRuleQuery\",\n    ],\n    SecurityMonitoringRuleResponse: [\n        \"SecurityMonitoringStandardRuleResponse\",\n        \"SecurityMonitoringSignalRuleResponse\",\n    ],\n    SensitiveDataScannerGetConfigIncludedItem: [\n        \"SensitiveDataScannerRuleIncludedItem\",\n        \"SensitiveDataScannerGroupIncludedItem\",\n    ],\n    ServiceDefinitionSchema: [\n        \"ServiceDefinitionV1\",\n        \"ServiceDefinitionV2\",\n        \"ServiceDefinitionV2Dot1\",\n    ],\n    ServiceDefinitionV2Contact: [\n        \"ServiceDefinitionV2Email\",\n        \"ServiceDefinitionV2Slack\",\n        \"ServiceDefinitionV2MSTeams\",\n    ],\n    ServiceDefinitionV2Dot1Contact: [\n        \"ServiceDefinitionV2Dot1Email\",\n        \"ServiceDefinitionV2Dot1Slack\",\n        \"ServiceDefinitionV2Dot1MSTeams\",\n    ],\n    ServiceDefinitionsCreateRequest: [\n        \"ServiceDefinitionV2Dot1\",\n        \"ServiceDefinitionV2\",\n        \"string\",\n    ],\n    SpansAggregateBucketValue: [\n        \"string\",\n        \"number\",\n        \"Array\",\n    ],\n    SpansGroupByMissing: [\"string\", \"number\"],\n    SpansGroupByTotal: [\"boolean\", \"string\", \"number\"],\n    TeamIncluded: [\"User\", \"TeamLink\", \"UserTeamPermission\"],\n    TimeseriesQuery: [\"MetricsTimeseriesQuery\", \"EventsTimeseriesQuery\"],\n    UserResponseIncludedItem: [\"Organization\", \"Permission\", \"Role\"],\n};\nclass ObjectSerializer {\n    static serialize(data, type, format) {\n        if (data == undefined || type == \"any\") {\n            return data;\n        }\n        else if (data instanceof util_1.UnparsedObject) {\n            return data._data;\n        }\n        else if (primitives.includes(type.toLowerCase()) &&\n            typeof data == type.toLowerCase()) {\n            return data;\n        }\n        else if (type.startsWith(ARRAY_PREFIX)) {\n            if (!Array.isArray(data)) {\n                throw new TypeError(`mismatch types '${data}' and '${type}'`);\n            }\n            // Array => Type\n            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.serialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(TUPLE_PREFIX)) {\n            // We only support homegeneus tuples\n            const subType = type\n                .substring(TUPLE_PREFIX.length, type.length - 1)\n                .split(\", \")[0];\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.serialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(MAP_PREFIX)) {\n            // { [key: string]: Type; } => Type\n            const subType = type.substring(MAP_PREFIX.length, type.length - 3);\n            const transformedData = {};\n            for (const key in data) {\n                transformedData[key] = ObjectSerializer.serialize(data[key], subType, format);\n            }\n            return transformedData;\n        }\n        else if (type === \"Date\") {\n            if (\"string\" == typeof data) {\n                return data;\n            }\n            if (format == \"date\" || format == \"date-time\") {\n                return (0, util_1.dateToRFC3339String)(data);\n            }\n            else {\n                return data.toISOString();\n            }\n        }\n        else {\n            if (enumsMap[type]) {\n                if (enumsMap[type].includes(data)) {\n                    return data;\n                }\n                throw new TypeError(`unknown enum value '${data}'`);\n            }\n            if (oneOfMap[type]) {\n                const oneOfs = [];\n                for (const oneOf of oneOfMap[type]) {\n                    try {\n                        oneOfs.push(ObjectSerializer.serialize(data, oneOf, format));\n                    }\n                    catch (e) {\n                        logger_1.logger.debug(`could not serialize ${oneOf} (${e})`);\n                    }\n                }\n                if (oneOfs.length > 1) {\n                    throw new TypeError(`${data} matches multiple types from ${oneOfMap[type]} ${oneOfs}`);\n                }\n                if (oneOfs.length == 0) {\n                    throw new TypeError(`${data} doesn't match any type from ${oneOfMap[type]} ${oneOfs}`);\n                }\n                return oneOfs[0];\n            }\n            if (!typeMap[type]) {\n                // dont know the type\n                throw new TypeError(`unknown type '${type}'`);\n            }\n            // get the map for the correct type.\n            const attributesMap = typeMap[type].getAttributeTypeMap();\n            const instance = {};\n            for (const attributeName in attributesMap) {\n                const attributeObj = attributesMap[attributeName];\n                if (attributeName == \"additionalProperties\") {\n                    if (data.additionalProperties) {\n                        for (const key in data.additionalProperties) {\n                            instance[key] = ObjectSerializer.serialize(data.additionalProperties[key], attributeObj.type, attributeObj.format);\n                        }\n                    }\n                    continue;\n                }\n                instance[attributeObj.baseName] = ObjectSerializer.serialize(data[attributeName], attributeObj.type, attributeObj.format);\n                // check for required properties\n                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) &&\n                    instance[attributeObj.baseName] === undefined) {\n                    throw new Error(`missing required property '${attributeObj.baseName}'`);\n                }\n            }\n            return instance;\n        }\n    }\n    static deserialize(data, type, format = \"\") {\n        var _a;\n        if (data == undefined || type == \"any\") {\n            return data;\n        }\n        else if (primitives.includes(type.toLowerCase()) &&\n            typeof data == type.toLowerCase()) {\n            return data;\n        }\n        else if (type.startsWith(ARRAY_PREFIX)) {\n            // Assert the passed data is Array type\n            if (!Array.isArray(data)) {\n                throw new TypeError(`mismatch types '${data}' and '${type}'`);\n            }\n            // Array => Type\n            const subType = type.substring(ARRAY_PREFIX.length, type.length - 1);\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.deserialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(TUPLE_PREFIX)) {\n            // [Type,...] => Type\n            const subType = type\n                .substring(TUPLE_PREFIX.length, type.length - 1)\n                .split(\", \")[0];\n            const transformedData = [];\n            for (const element of data) {\n                transformedData.push(ObjectSerializer.deserialize(element, subType, format));\n            }\n            return transformedData;\n        }\n        else if (type.startsWith(MAP_PREFIX)) {\n            // { [key: string]: Type; } => Type\n            const subType = type.substring(MAP_PREFIX.length, type.length - 3);\n            const transformedData = {};\n            for (const key in data) {\n                transformedData[key] = ObjectSerializer.deserialize(data[key], subType, format);\n            }\n            return transformedData;\n        }\n        else if (type === \"Date\") {\n            try {\n                return (0, util_1.dateFromRFC3339String)(data);\n            }\n            catch (_b) {\n                return new Date(data);\n            }\n        }\n        else {\n            if (enumsMap[type]) {\n                if (enumsMap[type].includes(data)) {\n                    return data;\n                }\n                return new util_1.UnparsedObject(data);\n            }\n            if (oneOfMap[type]) {\n                const oneOfs = [];\n                for (const oneOf of oneOfMap[type]) {\n                    try {\n                        const d = ObjectSerializer.deserialize(data, oneOf, format);\n                        if (!(d === null || d === void 0 ? void 0 : d._unparsed)) {\n                            oneOfs.push(d);\n                        }\n                    }\n                    catch (e) {\n                        logger_1.logger.debug(`could not deserialize ${oneOf} (${e})`);\n                    }\n                }\n                if (oneOfs.length != 1) {\n                    return new util_1.UnparsedObject(data);\n                }\n                return oneOfs[0];\n            }\n            if (!typeMap[type]) {\n                // dont know the type\n                throw new TypeError(`unknown type '${type}'`);\n            }\n            const instance = new typeMap[type]();\n            const attributesMap = typeMap[type].getAttributeTypeMap();\n            let extraAttributes = [];\n            if (\"additionalProperties\" in attributesMap) {\n                const attributesBaseNames = Object.keys(attributesMap).reduce((o, key) => Object.assign(o, { [attributesMap[key].baseName]: \"\" }), {});\n                extraAttributes = Object.keys(data).filter((key) => !Object.prototype.hasOwnProperty.call(attributesBaseNames, key));\n            }\n            for (const attributeName in attributesMap) {\n                const attributeObj = attributesMap[attributeName];\n                if (attributeName == \"additionalProperties\") {\n                    if (extraAttributes.length > 0) {\n                        if (!instance.additionalProperties) {\n                            instance.additionalProperties = {};\n                        }\n                        for (const key in extraAttributes) {\n                            instance.additionalProperties[extraAttributes[key]] =\n                                ObjectSerializer.deserialize(data[extraAttributes[key]], attributeObj.type, attributeObj.format);\n                        }\n                    }\n                    continue;\n                }\n                instance[attributeName] = ObjectSerializer.deserialize(data[attributeObj.baseName], attributeObj.type, attributeObj.format);\n                // check for required properties\n                if ((attributeObj === null || attributeObj === void 0 ? void 0 : attributeObj.required) && instance[attributeName] === undefined) {\n                    throw new Error(`missing required property '${attributeName}'`);\n                }\n                if (instance[attributeName] instanceof util_1.UnparsedObject ||\n                    ((_a = instance[attributeName]) === null || _a === void 0 ? void 0 : _a._unparsed)) {\n                    instance._unparsed = true;\n                }\n                if (Array.isArray(instance[attributeName])) {\n                    for (const d of instance[attributeName]) {\n                        if (d instanceof util_1.UnparsedObject || (d === null || d === void 0 ? void 0 : d._unparsed)) {\n                            instance._unparsed = true;\n                            break;\n                        }\n                    }\n                }\n            }\n            return instance;\n        }\n    }\n    /**\n     * Normalize media type\n     *\n     * We currently do not handle any media types attributes, i.e. anything\n     * after a semicolon. All content is assumed to be UTF-8 compatible.\n     */\n    static normalizeMediaType(mediaType) {\n        if (mediaType === undefined) {\n            return undefined;\n        }\n        return mediaType.split(\";\")[0].trim().toLowerCase();\n    }\n    /**\n     * From a list of possible media types, choose the one we can handle best.\n     *\n     * The order of the given media types does not have any impact on the choice\n     * made.\n     */\n    static getPreferredMediaType(mediaTypes) {\n        /** According to OAS 3 we should default to json */\n        if (!mediaTypes) {\n            return \"application/json\";\n        }\n        const normalMediaTypes = mediaTypes.map(this.normalizeMediaType);\n        let selectedMediaType = undefined;\n        let selectedRank = -Infinity;\n        for (const mediaType of normalMediaTypes) {\n            if (mediaType === undefined) {\n                continue;\n            }\n            const supported = supportedMediaTypes[mediaType];\n            if (supported !== undefined && supported > selectedRank) {\n                selectedMediaType = mediaType;\n                selectedRank = supported;\n            }\n        }\n        if (selectedMediaType === undefined) {\n            throw new Error(\"None of the given media types are supported: \" + mediaTypes.join(\", \"));\n        }\n        return selectedMediaType;\n    }\n    /**\n     * Convert data to a string according the given media type\n     */\n    static stringify(data, mediaType) {\n        if (mediaType === \"application/json\" || mediaType === \"text/json\") {\n            return JSON.stringify(data);\n        }\n        throw new Error(\"The mediaType \" +\n            mediaType +\n            \" is not supported by ObjectSerializer.stringify.\");\n    }\n    /**\n     * Parse data from a string according to the given media type\n     */\n    static parse(rawData, mediaType) {\n        try {\n            return JSON.parse(rawData);\n        }\n        catch (error) {\n            logger_1.logger.debug(`could not parse ${mediaType}: ${error}`);\n            return rawData;\n        }\n    }\n}\nexports.ObjectSerializer = ObjectSerializer;\n//# sourceMappingURL=ObjectSerializer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OnDemandConcurrencyCap = void 0;\n/**\n * On-demand concurrency cap.\n */\nclass OnDemandConcurrencyCap {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OnDemandConcurrencyCap.attributeTypeMap;\n    }\n}\nexports.OnDemandConcurrencyCap = OnDemandConcurrencyCap;\n/**\n * @ignore\n */\nOnDemandConcurrencyCap.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"OnDemandConcurrencyCapAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OnDemandConcurrencyCapType\",\n    },\n};\n//# sourceMappingURL=OnDemandConcurrencyCap.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OnDemandConcurrencyCapAttributes = void 0;\n/**\n * On-demand concurrency cap attributes.\n */\nclass OnDemandConcurrencyCapAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OnDemandConcurrencyCapAttributes.attributeTypeMap;\n    }\n}\nexports.OnDemandConcurrencyCapAttributes = OnDemandConcurrencyCapAttributes;\n/**\n * @ignore\n */\nOnDemandConcurrencyCapAttributes.attributeTypeMap = {\n    onDemandConcurrencyCap: {\n        baseName: \"on_demand_concurrency_cap\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=OnDemandConcurrencyCapAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OnDemandConcurrencyCapResponse = void 0;\n/**\n * On-demand concurrency cap response.\n */\nclass OnDemandConcurrencyCapResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OnDemandConcurrencyCapResponse.attributeTypeMap;\n    }\n}\nexports.OnDemandConcurrencyCapResponse = OnDemandConcurrencyCapResponse;\n/**\n * @ignore\n */\nOnDemandConcurrencyCapResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"OnDemandConcurrencyCap\",\n    },\n};\n//# sourceMappingURL=OnDemandConcurrencyCapResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceCreateAttributes = void 0;\n/**\n * The Opsgenie service attributes for a create request.\n */\nclass OpsgenieServiceCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceCreateAttributes.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceCreateAttributes = OpsgenieServiceCreateAttributes;\n/**\n * @ignore\n */\nOpsgenieServiceCreateAttributes.attributeTypeMap = {\n    customUrl: {\n        baseName: \"custom_url\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    opsgenieApiKey: {\n        baseName: \"opsgenie_api_key\",\n        type: \"string\",\n        required: true,\n    },\n    region: {\n        baseName: \"region\",\n        type: \"OpsgenieServiceRegionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceCreateData = void 0;\n/**\n * Opsgenie service data for a create request.\n */\nclass OpsgenieServiceCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceCreateData.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceCreateData = OpsgenieServiceCreateData;\n/**\n * @ignore\n */\nOpsgenieServiceCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"OpsgenieServiceCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OpsgenieServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceCreateRequest = void 0;\n/**\n * Create request for an Opsgenie service.\n */\nclass OpsgenieServiceCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceCreateRequest.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceCreateRequest = OpsgenieServiceCreateRequest;\n/**\n * @ignore\n */\nOpsgenieServiceCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"OpsgenieServiceCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceResponse = void 0;\n/**\n * Response of an Opsgenie service.\n */\nclass OpsgenieServiceResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceResponse.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceResponse = OpsgenieServiceResponse;\n/**\n * @ignore\n */\nOpsgenieServiceResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"OpsgenieServiceResponseData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceResponseAttributes = void 0;\n/**\n * The attributes from an Opsgenie service response.\n */\nclass OpsgenieServiceResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceResponseAttributes.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceResponseAttributes = OpsgenieServiceResponseAttributes;\n/**\n * @ignore\n */\nOpsgenieServiceResponseAttributes.attributeTypeMap = {\n    customUrl: {\n        baseName: \"custom_url\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"OpsgenieServiceRegionType\",\n    },\n};\n//# sourceMappingURL=OpsgenieServiceResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceResponseData = void 0;\n/**\n * Opsgenie service data from a response.\n */\nclass OpsgenieServiceResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceResponseData.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceResponseData = OpsgenieServiceResponseData;\n/**\n * @ignore\n */\nOpsgenieServiceResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"OpsgenieServiceResponseAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OpsgenieServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceUpdateAttributes = void 0;\n/**\n * The Opsgenie service attributes for an update request.\n */\nclass OpsgenieServiceUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceUpdateAttributes = OpsgenieServiceUpdateAttributes;\n/**\n * @ignore\n */\nOpsgenieServiceUpdateAttributes.attributeTypeMap = {\n    customUrl: {\n        baseName: \"custom_url\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    opsgenieApiKey: {\n        baseName: \"opsgenie_api_key\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"OpsgenieServiceRegionType\",\n    },\n};\n//# sourceMappingURL=OpsgenieServiceUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceUpdateData = void 0;\n/**\n * Opsgenie service for an update request.\n */\nclass OpsgenieServiceUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceUpdateData.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceUpdateData = OpsgenieServiceUpdateData;\n/**\n * @ignore\n */\nOpsgenieServiceUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"OpsgenieServiceUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OpsgenieServiceType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServiceUpdateRequest = void 0;\n/**\n * Update request for an Opsgenie service.\n */\nclass OpsgenieServiceUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServiceUpdateRequest.attributeTypeMap;\n    }\n}\nexports.OpsgenieServiceUpdateRequest = OpsgenieServiceUpdateRequest;\n/**\n * @ignore\n */\nOpsgenieServiceUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"OpsgenieServiceUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServiceUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpsgenieServicesResponse = void 0;\n/**\n * Response with a list of Opsgenie services.\n */\nclass OpsgenieServicesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OpsgenieServicesResponse.attributeTypeMap;\n    }\n}\nexports.OpsgenieServicesResponse = OpsgenieServicesResponse;\n/**\n * @ignore\n */\nOpsgenieServicesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=OpsgenieServicesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Organization = void 0;\n/**\n * Organization object.\n */\nclass Organization {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Organization.attributeTypeMap;\n    }\n}\nexports.Organization = Organization;\n/**\n * @ignore\n */\nOrganization.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"OrganizationAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OrganizationsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Organization.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrganizationAttributes = void 0;\n/**\n * Attributes of the organization.\n */\nclass OrganizationAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return OrganizationAttributes.attributeTypeMap;\n    }\n}\nexports.OrganizationAttributes = OrganizationAttributes;\n/**\n * @ignore\n */\nOrganizationAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    sharing: {\n        baseName: \"sharing\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=OrganizationAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pagination = void 0;\n/**\n * Pagination object.\n */\nclass Pagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Pagination.attributeTypeMap;\n    }\n}\nexports.Pagination = Pagination;\n/**\n * @ignore\n */\nPagination.attributeTypeMap = {\n    totalCount: {\n        baseName: \"total_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    totalFilteredCount: {\n        baseName: \"total_filtered_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=Pagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartialAPIKey = void 0;\n/**\n * Partial Datadog API key.\n */\nclass PartialAPIKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PartialAPIKey.attributeTypeMap;\n    }\n}\nexports.PartialAPIKey = PartialAPIKey;\n/**\n * @ignore\n */\nPartialAPIKey.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"PartialAPIKeyAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"APIKeyRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"APIKeysType\",\n    },\n};\n//# sourceMappingURL=PartialAPIKey.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartialAPIKeyAttributes = void 0;\n/**\n * Attributes of a partial API key.\n */\nclass PartialAPIKeyAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PartialAPIKeyAttributes.attributeTypeMap;\n    }\n}\nexports.PartialAPIKeyAttributes = PartialAPIKeyAttributes;\n/**\n * @ignore\n */\nPartialAPIKeyAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"string\",\n    },\n    last4: {\n        baseName: \"last4\",\n        type: \"string\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=PartialAPIKeyAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartialApplicationKey = void 0;\n/**\n * Partial Datadog application key.\n */\nclass PartialApplicationKey {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PartialApplicationKey.attributeTypeMap;\n    }\n}\nexports.PartialApplicationKey = PartialApplicationKey;\n/**\n * @ignore\n */\nPartialApplicationKey.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"PartialApplicationKeyAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"ApplicationKeyRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ApplicationKeysType\",\n    },\n};\n//# sourceMappingURL=PartialApplicationKey.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartialApplicationKeyAttributes = void 0;\n/**\n * Attributes of a partial application key.\n */\nclass PartialApplicationKeyAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PartialApplicationKeyAttributes.attributeTypeMap;\n    }\n}\nexports.PartialApplicationKeyAttributes = PartialApplicationKeyAttributes;\n/**\n * @ignore\n */\nPartialApplicationKeyAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"string\",\n    },\n    last4: {\n        baseName: \"last4\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    scopes: {\n        baseName: \"scopes\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=PartialApplicationKeyAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartialApplicationKeyResponse = void 0;\n/**\n * Response for retrieving a partial application key.\n */\nclass PartialApplicationKeyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PartialApplicationKeyResponse.attributeTypeMap;\n    }\n}\nexports.PartialApplicationKeyResponse = PartialApplicationKeyResponse;\n/**\n * @ignore\n */\nPartialApplicationKeyResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"PartialApplicationKey\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=PartialApplicationKeyResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Permission = void 0;\n/**\n * Permission object.\n */\nclass Permission {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Permission.attributeTypeMap;\n    }\n}\nexports.Permission = Permission;\n/**\n * @ignore\n */\nPermission.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"PermissionAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"PermissionsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Permission.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PermissionAttributes = void 0;\n/**\n * Attributes of a permission.\n */\nclass PermissionAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PermissionAttributes.attributeTypeMap;\n    }\n}\nexports.PermissionAttributes = PermissionAttributes;\n/**\n * @ignore\n */\nPermissionAttributes.attributeTypeMap = {\n    created: {\n        baseName: \"created\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    displayName: {\n        baseName: \"display_name\",\n        type: \"string\",\n    },\n    displayType: {\n        baseName: \"display_type\",\n        type: \"string\",\n    },\n    groupName: {\n        baseName: \"group_name\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    restricted: {\n        baseName: \"restricted\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=PermissionAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PermissionsResponse = void 0;\n/**\n * Payload with API-returned permissions.\n */\nclass PermissionsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return PermissionsResponse.attributeTypeMap;\n    }\n}\nexports.PermissionsResponse = PermissionsResponse;\n/**\n * @ignore\n */\nPermissionsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=PermissionsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessSummariesMeta = void 0;\n/**\n * Response metadata object.\n */\nclass ProcessSummariesMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessSummariesMeta.attributeTypeMap;\n    }\n}\nexports.ProcessSummariesMeta = ProcessSummariesMeta;\n/**\n * @ignore\n */\nProcessSummariesMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"ProcessSummariesMetaPage\",\n    },\n};\n//# sourceMappingURL=ProcessSummariesMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessSummariesMetaPage = void 0;\n/**\n * Paging attributes.\n */\nclass ProcessSummariesMetaPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessSummariesMetaPage.attributeTypeMap;\n    }\n}\nexports.ProcessSummariesMetaPage = ProcessSummariesMetaPage;\n/**\n * @ignore\n */\nProcessSummariesMetaPage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n    size: {\n        baseName: \"size\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=ProcessSummariesMetaPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessSummariesResponse = void 0;\n/**\n * List of process summaries.\n */\nclass ProcessSummariesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessSummariesResponse.attributeTypeMap;\n    }\n}\nexports.ProcessSummariesResponse = ProcessSummariesResponse;\n/**\n * @ignore\n */\nProcessSummariesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ProcessSummariesMeta\",\n    },\n};\n//# sourceMappingURL=ProcessSummariesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessSummary = void 0;\n/**\n * Process summary object.\n */\nclass ProcessSummary {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessSummary.attributeTypeMap;\n    }\n}\nexports.ProcessSummary = ProcessSummary;\n/**\n * @ignore\n */\nProcessSummary.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ProcessSummaryAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ProcessSummaryType\",\n    },\n};\n//# sourceMappingURL=ProcessSummary.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessSummaryAttributes = void 0;\n/**\n * Attributes for a process summary.\n */\nclass ProcessSummaryAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ProcessSummaryAttributes.attributeTypeMap;\n    }\n}\nexports.ProcessSummaryAttributes = ProcessSummaryAttributes;\n/**\n * @ignore\n */\nProcessSummaryAttributes.attributeTypeMap = {\n    cmdline: {\n        baseName: \"cmdline\",\n        type: \"string\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    pid: {\n        baseName: \"pid\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    ppid: {\n        baseName: \"ppid\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    start: {\n        baseName: \"start\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"string\",\n    },\n    user: {\n        baseName: \"user\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ProcessSummaryAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryFormula = void 0;\n/**\n * A formula for calculation based on one or more queries.\n */\nclass QueryFormula {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return QueryFormula.attributeTypeMap;\n    }\n}\nexports.QueryFormula = QueryFormula;\n/**\n * @ignore\n */\nQueryFormula.attributeTypeMap = {\n    formula: {\n        baseName: \"formula\",\n        type: \"string\",\n        required: true,\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"FormulaLimit\",\n    },\n};\n//# sourceMappingURL=QueryFormula.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMAggregateBucketValueTimeseriesPoint = void 0;\n/**\n * A timeseries point.\n */\nclass RUMAggregateBucketValueTimeseriesPoint {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMAggregateBucketValueTimeseriesPoint.attributeTypeMap;\n    }\n}\nexports.RUMAggregateBucketValueTimeseriesPoint = RUMAggregateBucketValueTimeseriesPoint;\n/**\n * @ignore\n */\nRUMAggregateBucketValueTimeseriesPoint.attributeTypeMap = {\n    time: {\n        baseName: \"time\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=RUMAggregateBucketValueTimeseriesPoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMAggregateRequest = void 0;\n/**\n * The object sent with the request to retrieve aggregation buckets of RUM events from your organization.\n */\nclass RUMAggregateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMAggregateRequest.attributeTypeMap;\n    }\n}\nexports.RUMAggregateRequest = RUMAggregateRequest;\n/**\n * @ignore\n */\nRUMAggregateRequest.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"RUMQueryFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"RUMQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"RUMQueryPageOptions\",\n    },\n};\n//# sourceMappingURL=RUMAggregateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMAggregateSort = void 0;\n/**\n * A sort rule.\n */\nclass RUMAggregateSort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMAggregateSort.attributeTypeMap;\n    }\n}\nexports.RUMAggregateSort = RUMAggregateSort;\n/**\n * @ignore\n */\nRUMAggregateSort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"RUMAggregationFunction\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"RUMSortOrder\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMAggregateSortType\",\n    },\n};\n//# sourceMappingURL=RUMAggregateSort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMAggregationBucketsResponse = void 0;\n/**\n * The query results.\n */\nclass RUMAggregationBucketsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMAggregationBucketsResponse.attributeTypeMap;\n    }\n}\nexports.RUMAggregationBucketsResponse = RUMAggregationBucketsResponse;\n/**\n * @ignore\n */\nRUMAggregationBucketsResponse.attributeTypeMap = {\n    buckets: {\n        baseName: \"buckets\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=RUMAggregationBucketsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMAnalyticsAggregateResponse = void 0;\n/**\n * The response object for the RUM events aggregate API endpoint.\n */\nclass RUMAnalyticsAggregateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMAnalyticsAggregateResponse.attributeTypeMap;\n    }\n}\nexports.RUMAnalyticsAggregateResponse = RUMAnalyticsAggregateResponse;\n/**\n * @ignore\n */\nRUMAnalyticsAggregateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RUMAggregationBucketsResponse\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"RUMResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"RUMResponseMetadata\",\n    },\n};\n//# sourceMappingURL=RUMAnalyticsAggregateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplication = void 0;\n/**\n * RUM application.\n */\nclass RUMApplication {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplication.attributeTypeMap;\n    }\n}\nexports.RUMApplication = RUMApplication;\n/**\n * @ignore\n */\nRUMApplication.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RUMApplicationAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMApplicationType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplication.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationAttributes = void 0;\n/**\n * RUM application attributes.\n */\nclass RUMApplicationAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationAttributes.attributeTypeMap;\n    }\n}\nexports.RUMApplicationAttributes = RUMApplicationAttributes;\n/**\n * @ignore\n */\nRUMApplicationAttributes.attributeTypeMap = {\n    applicationId: {\n        baseName: \"application_id\",\n        type: \"string\",\n        required: true,\n    },\n    clientToken: {\n        baseName: \"client_token\",\n        type: \"string\",\n        required: true,\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    createdByHandle: {\n        baseName: \"created_by_handle\",\n        type: \"string\",\n        required: true,\n    },\n    hash: {\n        baseName: \"hash\",\n        type: \"string\",\n    },\n    isActive: {\n        baseName: \"is_active\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    orgId: {\n        baseName: \"org_id\",\n        type: \"number\",\n        required: true,\n        format: \"int32\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n        required: true,\n    },\n    updatedAt: {\n        baseName: \"updated_at\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    updatedByHandle: {\n        baseName: \"updated_by_handle\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationCreate = void 0;\n/**\n * RUM application creation.\n */\nclass RUMApplicationCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationCreate.attributeTypeMap;\n    }\n}\nexports.RUMApplicationCreate = RUMApplicationCreate;\n/**\n * @ignore\n */\nRUMApplicationCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RUMApplicationCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMApplicationCreateType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationCreate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationCreateAttributes = void 0;\n/**\n * RUM application creation attributes.\n */\nclass RUMApplicationCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationCreateAttributes.attributeTypeMap;\n    }\n}\nexports.RUMApplicationCreateAttributes = RUMApplicationCreateAttributes;\n/**\n * @ignore\n */\nRUMApplicationCreateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMApplicationCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationCreateRequest = void 0;\n/**\n * RUM application creation request attributes.\n */\nclass RUMApplicationCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationCreateRequest.attributeTypeMap;\n    }\n}\nexports.RUMApplicationCreateRequest = RUMApplicationCreateRequest;\n/**\n * @ignore\n */\nRUMApplicationCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RUMApplicationCreate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationList = void 0;\n/**\n * RUM application list.\n */\nclass RUMApplicationList {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationList.attributeTypeMap;\n    }\n}\nexports.RUMApplicationList = RUMApplicationList;\n/**\n * @ignore\n */\nRUMApplicationList.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RUMApplicationListAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMApplicationListType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationList.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationListAttributes = void 0;\n/**\n * RUM application list attributes.\n */\nclass RUMApplicationListAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationListAttributes.attributeTypeMap;\n    }\n}\nexports.RUMApplicationListAttributes = RUMApplicationListAttributes;\n/**\n * @ignore\n */\nRUMApplicationListAttributes.attributeTypeMap = {\n    applicationId: {\n        baseName: \"application_id\",\n        type: \"string\",\n        required: true,\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    createdByHandle: {\n        baseName: \"created_by_handle\",\n        type: \"string\",\n        required: true,\n    },\n    hash: {\n        baseName: \"hash\",\n        type: \"string\",\n    },\n    isActive: {\n        baseName: \"is_active\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    orgId: {\n        baseName: \"org_id\",\n        type: \"number\",\n        required: true,\n        format: \"int32\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n        required: true,\n    },\n    updatedAt: {\n        baseName: \"updated_at\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    updatedByHandle: {\n        baseName: \"updated_by_handle\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationListAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationResponse = void 0;\n/**\n * RUM application response.\n */\nclass RUMApplicationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationResponse.attributeTypeMap;\n    }\n}\nexports.RUMApplicationResponse = RUMApplicationResponse;\n/**\n * @ignore\n */\nRUMApplicationResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RUMApplication\",\n    },\n};\n//# sourceMappingURL=RUMApplicationResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationUpdate = void 0;\n/**\n * RUM application update.\n */\nclass RUMApplicationUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationUpdate.attributeTypeMap;\n    }\n}\nexports.RUMApplicationUpdate = RUMApplicationUpdate;\n/**\n * @ignore\n */\nRUMApplicationUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RUMApplicationUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMApplicationUpdateType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationUpdate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationUpdateAttributes = void 0;\n/**\n * RUM application update attributes.\n */\nclass RUMApplicationUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.RUMApplicationUpdateAttributes = RUMApplicationUpdateAttributes;\n/**\n * @ignore\n */\nRUMApplicationUpdateAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMApplicationUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationUpdateRequest = void 0;\n/**\n * RUM application update request.\n */\nclass RUMApplicationUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationUpdateRequest.attributeTypeMap;\n    }\n}\nexports.RUMApplicationUpdateRequest = RUMApplicationUpdateRequest;\n/**\n * @ignore\n */\nRUMApplicationUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RUMApplicationUpdate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RUMApplicationUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMApplicationsResponse = void 0;\n/**\n * RUM applications response.\n */\nclass RUMApplicationsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMApplicationsResponse.attributeTypeMap;\n    }\n}\nexports.RUMApplicationsResponse = RUMApplicationsResponse;\n/**\n * @ignore\n */\nRUMApplicationsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=RUMApplicationsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMBucketResponse = void 0;\n/**\n * Bucket values.\n */\nclass RUMBucketResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMBucketResponse.attributeTypeMap;\n    }\n}\nexports.RUMBucketResponse = RUMBucketResponse;\n/**\n * @ignore\n */\nRUMBucketResponse.attributeTypeMap = {\n    by: {\n        baseName: \"by\",\n        type: \"{ [key: string]: string; }\",\n    },\n    computes: {\n        baseName: \"computes\",\n        type: \"{ [key: string]: RUMAggregateBucketValue; }\",\n    },\n};\n//# sourceMappingURL=RUMBucketResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMCompute = void 0;\n/**\n * A compute rule to compute metrics or timeseries.\n */\nclass RUMCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMCompute.attributeTypeMap;\n    }\n}\nexports.RUMCompute = RUMCompute;\n/**\n * @ignore\n */\nRUMCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"RUMAggregationFunction\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMComputeType\",\n    },\n};\n//# sourceMappingURL=RUMCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMEvent = void 0;\n/**\n * Object description of a RUM event after being processed and stored by Datadog.\n */\nclass RUMEvent {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMEvent.attributeTypeMap;\n    }\n}\nexports.RUMEvent = RUMEvent;\n/**\n * @ignore\n */\nRUMEvent.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RUMEventAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RUMEventType\",\n    },\n};\n//# sourceMappingURL=RUMEvent.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMEventAttributes = void 0;\n/**\n * JSON object containing all event attributes and their associated values.\n */\nclass RUMEventAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMEventAttributes.attributeTypeMap;\n    }\n}\nexports.RUMEventAttributes = RUMEventAttributes;\n/**\n * @ignore\n */\nRUMEventAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=RUMEventAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMEventsResponse = void 0;\n/**\n * Response object with all events matching the request and pagination information.\n */\nclass RUMEventsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMEventsResponse.attributeTypeMap;\n    }\n}\nexports.RUMEventsResponse = RUMEventsResponse;\n/**\n * @ignore\n */\nRUMEventsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"RUMResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"RUMResponseMetadata\",\n    },\n};\n//# sourceMappingURL=RUMEventsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMGroupBy = void 0;\n/**\n * A group-by rule.\n */\nclass RUMGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMGroupBy.attributeTypeMap;\n    }\n}\nexports.RUMGroupBy = RUMGroupBy;\n/**\n * @ignore\n */\nRUMGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    histogram: {\n        baseName: \"histogram\",\n        type: \"RUMGroupByHistogram\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    missing: {\n        baseName: \"missing\",\n        type: \"RUMGroupByMissing\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"RUMAggregateSort\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"RUMGroupByTotal\",\n    },\n};\n//# sourceMappingURL=RUMGroupBy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMGroupByHistogram = void 0;\n/**\n * Used to perform a histogram computation (only for measure facets).\n * Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval.\n */\nclass RUMGroupByHistogram {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMGroupByHistogram.attributeTypeMap;\n    }\n}\nexports.RUMGroupByHistogram = RUMGroupByHistogram;\n/**\n * @ignore\n */\nRUMGroupByHistogram.attributeTypeMap = {\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=RUMGroupByHistogram.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMQueryFilter = void 0;\n/**\n * The search and filter query settings.\n */\nclass RUMQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMQueryFilter.attributeTypeMap;\n    }\n}\nexports.RUMQueryFilter = RUMQueryFilter;\n/**\n * @ignore\n */\nRUMQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMQueryOptions = void 0;\n/**\n * Global query options that are used during the query.\n * Note: Only supply timezone or time offset, not both. Otherwise, the query fails.\n */\nclass RUMQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMQueryOptions.attributeTypeMap;\n    }\n}\nexports.RUMQueryOptions = RUMQueryOptions;\n/**\n * @ignore\n */\nRUMQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"time_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMQueryOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMQueryPageOptions = void 0;\n/**\n * Paging attributes for listing events.\n */\nclass RUMQueryPageOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMQueryPageOptions.attributeTypeMap;\n    }\n}\nexports.RUMQueryPageOptions = RUMQueryPageOptions;\n/**\n * @ignore\n */\nRUMQueryPageOptions.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=RUMQueryPageOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass RUMResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMResponseLinks.attributeTypeMap;\n    }\n}\nexports.RUMResponseLinks = RUMResponseLinks;\n/**\n * @ignore\n */\nRUMResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass RUMResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMResponseMetadata.attributeTypeMap;\n    }\n}\nexports.RUMResponseMetadata = RUMResponseMetadata;\n/**\n * @ignore\n */\nRUMResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"RUMResponsePage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"RUMResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=RUMResponseMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMResponsePage = void 0;\n/**\n * Paging attributes.\n */\nclass RUMResponsePage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMResponsePage.attributeTypeMap;\n    }\n}\nexports.RUMResponsePage = RUMResponsePage;\n/**\n * @ignore\n */\nRUMResponsePage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMResponsePage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMSearchEventsRequest = void 0;\n/**\n * The request for a RUM events list.\n */\nclass RUMSearchEventsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMSearchEventsRequest.attributeTypeMap;\n    }\n}\nexports.RUMSearchEventsRequest = RUMSearchEventsRequest;\n/**\n * @ignore\n */\nRUMSearchEventsRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"RUMQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"RUMQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"RUMQueryPageOptions\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"RUMSort\",\n    },\n};\n//# sourceMappingURL=RUMSearchEventsRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RUMWarning = void 0;\n/**\n * A warning message indicating something that went wrong with the query.\n */\nclass RUMWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RUMWarning.attributeTypeMap;\n    }\n}\nexports.RUMWarning = RUMWarning;\n/**\n * @ignore\n */\nRUMWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RUMWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentAttachment = void 0;\n/**\n * A relationship reference for attachments.\n */\nclass RelationshipToIncidentAttachment {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentAttachment.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentAttachment = RelationshipToIncidentAttachment;\n/**\n * @ignore\n */\nRelationshipToIncidentAttachment.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentAttachment.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentAttachmentData = void 0;\n/**\n * The attachment relationship data.\n */\nclass RelationshipToIncidentAttachmentData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentAttachmentData.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentAttachmentData = RelationshipToIncidentAttachmentData;\n/**\n * @ignore\n */\nRelationshipToIncidentAttachmentData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentAttachmentType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentAttachmentData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentIntegrationMetadataData = void 0;\n/**\n * A relationship reference for an integration metadata object.\n */\nclass RelationshipToIncidentIntegrationMetadataData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentIntegrationMetadataData.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentIntegrationMetadataData = RelationshipToIncidentIntegrationMetadataData;\n/**\n * @ignore\n */\nRelationshipToIncidentIntegrationMetadataData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentIntegrationMetadataType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentIntegrationMetadataData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentIntegrationMetadatas = void 0;\n/**\n * A relationship reference for multiple integration metadata objects.\n */\nclass RelationshipToIncidentIntegrationMetadatas {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentIntegrationMetadatas.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentIntegrationMetadatas = RelationshipToIncidentIntegrationMetadatas;\n/**\n * @ignore\n */\nRelationshipToIncidentIntegrationMetadatas.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentIntegrationMetadatas.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentPostmortem = void 0;\n/**\n * A relationship reference for postmortems.\n */\nclass RelationshipToIncidentPostmortem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentPostmortem.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentPostmortem = RelationshipToIncidentPostmortem;\n/**\n * @ignore\n */\nRelationshipToIncidentPostmortem.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToIncidentPostmortemData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentPostmortem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToIncidentPostmortemData = void 0;\n/**\n * The postmortem relationship data.\n */\nclass RelationshipToIncidentPostmortemData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToIncidentPostmortemData.attributeTypeMap;\n    }\n}\nexports.RelationshipToIncidentPostmortemData = RelationshipToIncidentPostmortemData;\n/**\n * @ignore\n */\nRelationshipToIncidentPostmortemData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"IncidentPostmortemType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToIncidentPostmortemData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToOrganization = void 0;\n/**\n * Relationship to an organization.\n */\nclass RelationshipToOrganization {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToOrganization.attributeTypeMap;\n    }\n}\nexports.RelationshipToOrganization = RelationshipToOrganization;\n/**\n * @ignore\n */\nRelationshipToOrganization.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToOrganizationData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToOrganization.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToOrganizationData = void 0;\n/**\n * Relationship to organization object.\n */\nclass RelationshipToOrganizationData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToOrganizationData.attributeTypeMap;\n    }\n}\nexports.RelationshipToOrganizationData = RelationshipToOrganizationData;\n/**\n * @ignore\n */\nRelationshipToOrganizationData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"OrganizationsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToOrganizationData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToOrganizations = void 0;\n/**\n * Relationship to organizations.\n */\nclass RelationshipToOrganizations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToOrganizations.attributeTypeMap;\n    }\n}\nexports.RelationshipToOrganizations = RelationshipToOrganizations;\n/**\n * @ignore\n */\nRelationshipToOrganizations.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToOrganizations.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToPermission = void 0;\n/**\n * Relationship to a permissions object.\n */\nclass RelationshipToPermission {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToPermission.attributeTypeMap;\n    }\n}\nexports.RelationshipToPermission = RelationshipToPermission;\n/**\n * @ignore\n */\nRelationshipToPermission.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToPermissionData\",\n    },\n};\n//# sourceMappingURL=RelationshipToPermission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToPermissionData = void 0;\n/**\n * Relationship to permission object.\n */\nclass RelationshipToPermissionData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToPermissionData.attributeTypeMap;\n    }\n}\nexports.RelationshipToPermissionData = RelationshipToPermissionData;\n/**\n * @ignore\n */\nRelationshipToPermissionData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"PermissionsType\",\n    },\n};\n//# sourceMappingURL=RelationshipToPermissionData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToPermissions = void 0;\n/**\n * Relationship to multiple permissions objects.\n */\nclass RelationshipToPermissions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToPermissions.attributeTypeMap;\n    }\n}\nexports.RelationshipToPermissions = RelationshipToPermissions;\n/**\n * @ignore\n */\nRelationshipToPermissions.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=RelationshipToPermissions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToRole = void 0;\n/**\n * Relationship to role.\n */\nclass RelationshipToRole {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToRole.attributeTypeMap;\n    }\n}\nexports.RelationshipToRole = RelationshipToRole;\n/**\n * @ignore\n */\nRelationshipToRole.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToRoleData\",\n    },\n};\n//# sourceMappingURL=RelationshipToRole.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToRoleData = void 0;\n/**\n * Relationship to role object.\n */\nclass RelationshipToRoleData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToRoleData.attributeTypeMap;\n    }\n}\nexports.RelationshipToRoleData = RelationshipToRoleData;\n/**\n * @ignore\n */\nRelationshipToRoleData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n    },\n};\n//# sourceMappingURL=RelationshipToRoleData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToRoles = void 0;\n/**\n * Relationship to roles.\n */\nclass RelationshipToRoles {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToRoles.attributeTypeMap;\n    }\n}\nexports.RelationshipToRoles = RelationshipToRoles;\n/**\n * @ignore\n */\nRelationshipToRoles.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=RelationshipToRoles.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToSAMLAssertionAttribute = void 0;\n/**\n * AuthN Mapping relationship to SAML Assertion Attribute.\n */\nclass RelationshipToSAMLAssertionAttribute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToSAMLAssertionAttribute.attributeTypeMap;\n    }\n}\nexports.RelationshipToSAMLAssertionAttribute = RelationshipToSAMLAssertionAttribute;\n/**\n * @ignore\n */\nRelationshipToSAMLAssertionAttribute.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToSAMLAssertionAttributeData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToSAMLAssertionAttribute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToSAMLAssertionAttributeData = void 0;\n/**\n * Data of AuthN Mapping relationship to SAML Assertion Attribute.\n */\nclass RelationshipToSAMLAssertionAttributeData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToSAMLAssertionAttributeData.attributeTypeMap;\n    }\n}\nexports.RelationshipToSAMLAssertionAttributeData = RelationshipToSAMLAssertionAttributeData;\n/**\n * @ignore\n */\nRelationshipToSAMLAssertionAttributeData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SAMLAssertionAttributesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToSAMLAssertionAttributeData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToTeamLinkData = void 0;\n/**\n * Relationship between a link and a team\n */\nclass RelationshipToTeamLinkData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToTeamLinkData.attributeTypeMap;\n    }\n}\nexports.RelationshipToTeamLinkData = RelationshipToTeamLinkData;\n/**\n * @ignore\n */\nRelationshipToTeamLinkData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamLinkType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToTeamLinkData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToTeamLinks = void 0;\n/**\n * Relationship between a team and a team link\n */\nclass RelationshipToTeamLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToTeamLinks.attributeTypeMap;\n    }\n}\nexports.RelationshipToTeamLinks = RelationshipToTeamLinks;\n/**\n * @ignore\n */\nRelationshipToTeamLinks.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"TeamRelationshipsLinks\",\n    },\n};\n//# sourceMappingURL=RelationshipToTeamLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUser = void 0;\n/**\n * Relationship to user.\n */\nclass RelationshipToUser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUser.attributeTypeMap;\n    }\n}\nexports.RelationshipToUser = RelationshipToUser;\n/**\n * @ignore\n */\nRelationshipToUser.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToUserData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUserData = void 0;\n/**\n * Relationship to user object.\n */\nclass RelationshipToUserData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUserData.attributeTypeMap;\n    }\n}\nexports.RelationshipToUserData = RelationshipToUserData;\n/**\n * @ignore\n */\nRelationshipToUserData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUserData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUserTeamPermission = void 0;\n/**\n * Relationship between a user team permission and a team\n */\nclass RelationshipToUserTeamPermission {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUserTeamPermission.attributeTypeMap;\n    }\n}\nexports.RelationshipToUserTeamPermission = RelationshipToUserTeamPermission;\n/**\n * @ignore\n */\nRelationshipToUserTeamPermission.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToUserTeamPermissionData\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"TeamRelationshipsLinks\",\n    },\n};\n//# sourceMappingURL=RelationshipToUserTeamPermission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUserTeamPermissionData = void 0;\n/**\n * Related user team permission data\n */\nclass RelationshipToUserTeamPermissionData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUserTeamPermissionData.attributeTypeMap;\n    }\n}\nexports.RelationshipToUserTeamPermissionData = RelationshipToUserTeamPermissionData;\n/**\n * @ignore\n */\nRelationshipToUserTeamPermissionData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamPermissionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUserTeamPermissionData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUserTeamUser = void 0;\n/**\n * Relationship between team membership and user\n */\nclass RelationshipToUserTeamUser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUserTeamUser.attributeTypeMap;\n    }\n}\nexports.RelationshipToUserTeamUser = RelationshipToUserTeamUser;\n/**\n * @ignore\n */\nRelationshipToUserTeamUser.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RelationshipToUserTeamUserData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUserTeamUser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUserTeamUserData = void 0;\n/**\n * A user's relationship with a team\n */\nclass RelationshipToUserTeamUserData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUserTeamUserData.attributeTypeMap;\n    }\n}\nexports.RelationshipToUserTeamUserData = RelationshipToUserTeamUserData;\n/**\n * @ignore\n */\nRelationshipToUserTeamUserData.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamUserType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUserTeamUserData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RelationshipToUsers = void 0;\n/**\n * Relationship to users.\n */\nclass RelationshipToUsers {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RelationshipToUsers.attributeTypeMap;\n    }\n}\nexports.RelationshipToUsers = RelationshipToUsers;\n/**\n * @ignore\n */\nRelationshipToUsers.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RelationshipToUsers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseMetaAttributes = void 0;\n/**\n * Object describing meta attributes of response.\n */\nclass ResponseMetaAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ResponseMetaAttributes.attributeTypeMap;\n    }\n}\nexports.ResponseMetaAttributes = ResponseMetaAttributes;\n/**\n * @ignore\n */\nResponseMetaAttributes.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"Pagination\",\n    },\n};\n//# sourceMappingURL=ResponseMetaAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPolicy = void 0;\n/**\n * Restriction policy object.\n */\nclass RestrictionPolicy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RestrictionPolicy.attributeTypeMap;\n    }\n}\nexports.RestrictionPolicy = RestrictionPolicy;\n/**\n * @ignore\n */\nRestrictionPolicy.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RestrictionPolicyAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RestrictionPolicyType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RestrictionPolicy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPolicyAttributes = void 0;\n/**\n * Restriction policy attributes.\n */\nclass RestrictionPolicyAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RestrictionPolicyAttributes.attributeTypeMap;\n    }\n}\nexports.RestrictionPolicyAttributes = RestrictionPolicyAttributes;\n/**\n * @ignore\n */\nRestrictionPolicyAttributes.attributeTypeMap = {\n    bindings: {\n        baseName: \"bindings\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RestrictionPolicyAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPolicyBinding = void 0;\n/**\n * Specifies which principals are associated with a relation.\n */\nclass RestrictionPolicyBinding {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RestrictionPolicyBinding.attributeTypeMap;\n    }\n}\nexports.RestrictionPolicyBinding = RestrictionPolicyBinding;\n/**\n * @ignore\n */\nRestrictionPolicyBinding.attributeTypeMap = {\n    principals: {\n        baseName: \"principals\",\n        type: \"Array\",\n        required: true,\n    },\n    relation: {\n        baseName: \"relation\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RestrictionPolicyBinding.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPolicyResponse = void 0;\n/**\n * Response containing information about a single restriction policy.\n */\nclass RestrictionPolicyResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RestrictionPolicyResponse.attributeTypeMap;\n    }\n}\nexports.RestrictionPolicyResponse = RestrictionPolicyResponse;\n/**\n * @ignore\n */\nRestrictionPolicyResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RestrictionPolicy\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RestrictionPolicyResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestrictionPolicyUpdateRequest = void 0;\n/**\n * Update request for a restriction policy.\n */\nclass RestrictionPolicyUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RestrictionPolicyUpdateRequest.attributeTypeMap;\n    }\n}\nexports.RestrictionPolicyUpdateRequest = RestrictionPolicyUpdateRequest;\n/**\n * @ignore\n */\nRestrictionPolicyUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RestrictionPolicy\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RestrictionPolicyUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Role = void 0;\n/**\n * Role object returned by the API.\n */\nclass Role {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Role.attributeTypeMap;\n    }\n}\nexports.Role = Role;\n/**\n * @ignore\n */\nRole.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"RoleResponseRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Role.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleAttributes = void 0;\n/**\n * Attributes of the role.\n */\nclass RoleAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleAttributes.attributeTypeMap;\n    }\n}\nexports.RoleAttributes = RoleAttributes;\n/**\n * @ignore\n */\nRoleAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    userCount: {\n        baseName: \"user_count\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=RoleAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleClone = void 0;\n/**\n * Data for the clone role request.\n */\nclass RoleClone {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleClone.attributeTypeMap;\n    }\n}\nexports.RoleClone = RoleClone;\n/**\n * @ignore\n */\nRoleClone.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleCloneAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleClone.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCloneAttributes = void 0;\n/**\n * Attributes required to create a new role by cloning an existing one.\n */\nclass RoleCloneAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCloneAttributes.attributeTypeMap;\n    }\n}\nexports.RoleCloneAttributes = RoleCloneAttributes;\n/**\n * @ignore\n */\nRoleCloneAttributes.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleCloneAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCloneRequest = void 0;\n/**\n * Request to create a role by cloning an existing role.\n */\nclass RoleCloneRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCloneRequest.attributeTypeMap;\n    }\n}\nexports.RoleCloneRequest = RoleCloneRequest;\n/**\n * @ignore\n */\nRoleCloneRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RoleClone\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleCloneRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCreateAttributes = void 0;\n/**\n * Attributes of the created role.\n */\nclass RoleCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCreateAttributes.attributeTypeMap;\n    }\n}\nexports.RoleCreateAttributes = RoleCreateAttributes;\n/**\n * @ignore\n */\nRoleCreateAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCreateData = void 0;\n/**\n * Data related to the creation of a role.\n */\nclass RoleCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCreateData.attributeTypeMap;\n    }\n}\nexports.RoleCreateData = RoleCreateData;\n/**\n * @ignore\n */\nRoleCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleCreateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"RoleRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n    },\n};\n//# sourceMappingURL=RoleCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCreateRequest = void 0;\n/**\n * Create a role.\n */\nclass RoleCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCreateRequest.attributeTypeMap;\n    }\n}\nexports.RoleCreateRequest = RoleCreateRequest;\n/**\n * @ignore\n */\nRoleCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RoleCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCreateResponse = void 0;\n/**\n * Response containing information about a created role.\n */\nclass RoleCreateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCreateResponse.attributeTypeMap;\n    }\n}\nexports.RoleCreateResponse = RoleCreateResponse;\n/**\n * @ignore\n */\nRoleCreateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RoleCreateResponseData\",\n    },\n};\n//# sourceMappingURL=RoleCreateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleCreateResponseData = void 0;\n/**\n * Role object returned by the API.\n */\nclass RoleCreateResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleCreateResponseData.attributeTypeMap;\n    }\n}\nexports.RoleCreateResponseData = RoleCreateResponseData;\n/**\n * @ignore\n */\nRoleCreateResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleCreateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"RoleResponseRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleCreateResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleRelationships = void 0;\n/**\n * Relationships of the role object.\n */\nclass RoleRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleRelationships.attributeTypeMap;\n    }\n}\nexports.RoleRelationships = RoleRelationships;\n/**\n * @ignore\n */\nRoleRelationships.attributeTypeMap = {\n    permissions: {\n        baseName: \"permissions\",\n        type: \"RelationshipToPermissions\",\n    },\n    users: {\n        baseName: \"users\",\n        type: \"RelationshipToUsers\",\n    },\n};\n//# sourceMappingURL=RoleRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleResponse = void 0;\n/**\n * Response containing information about a single role.\n */\nclass RoleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleResponse.attributeTypeMap;\n    }\n}\nexports.RoleResponse = RoleResponse;\n/**\n * @ignore\n */\nRoleResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Role\",\n    },\n};\n//# sourceMappingURL=RoleResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleResponseRelationships = void 0;\n/**\n * Relationships of the role object returned by the API.\n */\nclass RoleResponseRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleResponseRelationships.attributeTypeMap;\n    }\n}\nexports.RoleResponseRelationships = RoleResponseRelationships;\n/**\n * @ignore\n */\nRoleResponseRelationships.attributeTypeMap = {\n    permissions: {\n        baseName: \"permissions\",\n        type: \"RelationshipToPermissions\",\n    },\n};\n//# sourceMappingURL=RoleResponseRelationships.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleUpdateAttributes = void 0;\n/**\n * Attributes of the role.\n */\nclass RoleUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.RoleUpdateAttributes = RoleUpdateAttributes;\n/**\n * @ignore\n */\nRoleUpdateAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=RoleUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleUpdateData = void 0;\n/**\n * Data related to the update of a role.\n */\nclass RoleUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleUpdateData.attributeTypeMap;\n    }\n}\nexports.RoleUpdateData = RoleUpdateData;\n/**\n * @ignore\n */\nRoleUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"RoleRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleUpdateRequest = void 0;\n/**\n * Update a role.\n */\nclass RoleUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleUpdateRequest.attributeTypeMap;\n    }\n}\nexports.RoleUpdateRequest = RoleUpdateRequest;\n/**\n * @ignore\n */\nRoleUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RoleUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleUpdateResponse = void 0;\n/**\n * Response containing information about an updated role.\n */\nclass RoleUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleUpdateResponse.attributeTypeMap;\n    }\n}\nexports.RoleUpdateResponse = RoleUpdateResponse;\n/**\n * @ignore\n */\nRoleUpdateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"RoleUpdateResponseData\",\n    },\n};\n//# sourceMappingURL=RoleUpdateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RoleUpdateResponseData = void 0;\n/**\n * Role object returned by the API.\n */\nclass RoleUpdateResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RoleUpdateResponseData.attributeTypeMap;\n    }\n}\nexports.RoleUpdateResponseData = RoleUpdateResponseData;\n/**\n * @ignore\n */\nRoleUpdateResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"RoleUpdateAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"RoleResponseRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"RolesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=RoleUpdateResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RolesResponse = void 0;\n/**\n * Response containing information about multiple roles.\n */\nclass RolesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return RolesResponse.attributeTypeMap;\n    }\n}\nexports.RolesResponse = RolesResponse;\n/**\n * @ignore\n */\nRolesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ResponseMetaAttributes\",\n    },\n};\n//# sourceMappingURL=RolesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SAMLAssertionAttribute = void 0;\n/**\n * SAML assertion attribute.\n */\nclass SAMLAssertionAttribute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SAMLAssertionAttribute.attributeTypeMap;\n    }\n}\nexports.SAMLAssertionAttribute = SAMLAssertionAttribute;\n/**\n * @ignore\n */\nSAMLAssertionAttribute.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SAMLAssertionAttributeAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SAMLAssertionAttributesType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SAMLAssertionAttribute.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SAMLAssertionAttributeAttributes = void 0;\n/**\n * Key/Value pair of attributes used in SAML assertion attributes.\n */\nclass SAMLAssertionAttributeAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SAMLAssertionAttributeAttributes.attributeTypeMap;\n    }\n}\nexports.SAMLAssertionAttributeAttributes = SAMLAssertionAttributeAttributes;\n/**\n * @ignore\n */\nSAMLAssertionAttributeAttributes.attributeTypeMap = {\n    attributeKey: {\n        baseName: \"attribute_key\",\n        type: \"string\",\n    },\n    attributeValue: {\n        baseName: \"attribute_value\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SAMLAssertionAttributeAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarFormulaQueryRequest = void 0;\n/**\n * A wrapper request around one scalar query to be executed.\n */\nclass ScalarFormulaQueryRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarFormulaQueryRequest.attributeTypeMap;\n    }\n}\nexports.ScalarFormulaQueryRequest = ScalarFormulaQueryRequest;\n/**\n * @ignore\n */\nScalarFormulaQueryRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ScalarFormulaRequest\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ScalarFormulaQueryRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarFormulaQueryResponse = void 0;\n/**\n * A message containing one or more responses to scalar queries.\n */\nclass ScalarFormulaQueryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarFormulaQueryResponse.attributeTypeMap;\n    }\n}\nexports.ScalarFormulaQueryResponse = ScalarFormulaQueryResponse;\n/**\n * @ignore\n */\nScalarFormulaQueryResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ScalarResponse\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ScalarFormulaQueryResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarFormulaRequest = void 0;\n/**\n * A single scalar query to be executed.\n */\nclass ScalarFormulaRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarFormulaRequest.attributeTypeMap;\n    }\n}\nexports.ScalarFormulaRequest = ScalarFormulaRequest;\n/**\n * @ignore\n */\nScalarFormulaRequest.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ScalarFormulaRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ScalarFormulaRequestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ScalarFormulaRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarFormulaRequestAttributes = void 0;\n/**\n * The object describing a scalar formula request.\n */\nclass ScalarFormulaRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarFormulaRequestAttributes.attributeTypeMap;\n    }\n}\nexports.ScalarFormulaRequestAttributes = ScalarFormulaRequestAttributes;\n/**\n * @ignore\n */\nScalarFormulaRequestAttributes.attributeTypeMap = {\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    from: {\n        baseName: \"from\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n        required: true,\n    },\n    to: {\n        baseName: \"to\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=ScalarFormulaRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarFormulaResponseAtrributes = void 0;\n/**\n * The object describing a scalar response.\n */\nclass ScalarFormulaResponseAtrributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarFormulaResponseAtrributes.attributeTypeMap;\n    }\n}\nexports.ScalarFormulaResponseAtrributes = ScalarFormulaResponseAtrributes;\n/**\n * @ignore\n */\nScalarFormulaResponseAtrributes.attributeTypeMap = {\n    columns: {\n        baseName: \"columns\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ScalarFormulaResponseAtrributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarMeta = void 0;\n/**\n * Metadata for the resulting numerical values.\n */\nclass ScalarMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarMeta.attributeTypeMap;\n    }\n}\nexports.ScalarMeta = ScalarMeta;\n/**\n * @ignore\n */\nScalarMeta.attributeTypeMap = {\n    unit: {\n        baseName: \"unit\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ScalarMeta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScalarResponse = void 0;\n/**\n * A message containing the response to a scalar query.\n */\nclass ScalarResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ScalarResponse.attributeTypeMap;\n    }\n}\nexports.ScalarResponse = ScalarResponse;\n/**\n * @ignore\n */\nScalarResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ScalarFormulaResponseAtrributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ScalarFormulaResponseType\",\n    },\n};\n//# sourceMappingURL=ScalarResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilter = void 0;\n/**\n * The security filter's properties.\n */\nclass SecurityFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilter.attributeTypeMap;\n    }\n}\nexports.SecurityFilter = SecurityFilter;\n/**\n * @ignore\n */\nSecurityFilter.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityFilterAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityFilterType\",\n    },\n};\n//# sourceMappingURL=SecurityFilter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterAttributes = void 0;\n/**\n * The object describing a security filter.\n */\nclass SecurityFilterAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityFilterAttributes = SecurityFilterAttributes;\n/**\n * @ignore\n */\nSecurityFilterAttributes.attributeTypeMap = {\n    exclusionFilters: {\n        baseName: \"exclusion_filters\",\n        type: \"Array\",\n    },\n    filteredDataType: {\n        baseName: \"filtered_data_type\",\n        type: \"SecurityFilterFilteredDataType\",\n    },\n    isBuiltin: {\n        baseName: \"is_builtin\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SecurityFilterAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterCreateAttributes = void 0;\n/**\n * Object containing the attributes of the security filter to be created.\n */\nclass SecurityFilterCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterCreateAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityFilterCreateAttributes = SecurityFilterCreateAttributes;\n/**\n * @ignore\n */\nSecurityFilterCreateAttributes.attributeTypeMap = {\n    exclusionFilters: {\n        baseName: \"exclusion_filters\",\n        type: \"Array\",\n        required: true,\n    },\n    filteredDataType: {\n        baseName: \"filtered_data_type\",\n        type: \"SecurityFilterFilteredDataType\",\n        required: true,\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterCreateData = void 0;\n/**\n * Object for a single security filter.\n */\nclass SecurityFilterCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterCreateData.attributeTypeMap;\n    }\n}\nexports.SecurityFilterCreateData = SecurityFilterCreateData;\n/**\n * @ignore\n */\nSecurityFilterCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityFilterCreateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityFilterType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterCreateRequest = void 0;\n/**\n * Request object that includes the security filter that you would like to create.\n */\nclass SecurityFilterCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterCreateRequest.attributeTypeMap;\n    }\n}\nexports.SecurityFilterCreateRequest = SecurityFilterCreateRequest;\n/**\n * @ignore\n */\nSecurityFilterCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityFilterCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterCreateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterExclusionFilter = void 0;\n/**\n * Exclusion filter for the security filter.\n */\nclass SecurityFilterExclusionFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterExclusionFilter.attributeTypeMap;\n    }\n}\nexports.SecurityFilterExclusionFilter = SecurityFilterExclusionFilter;\n/**\n * @ignore\n */\nSecurityFilterExclusionFilter.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterExclusionFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterExclusionFilterResponse = void 0;\n/**\n * A single exclusion filter.\n */\nclass SecurityFilterExclusionFilterResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterExclusionFilterResponse.attributeTypeMap;\n    }\n}\nexports.SecurityFilterExclusionFilterResponse = SecurityFilterExclusionFilterResponse;\n/**\n * @ignore\n */\nSecurityFilterExclusionFilterResponse.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityFilterExclusionFilterResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterMeta = void 0;\n/**\n * Optional metadata associated to the response.\n */\nclass SecurityFilterMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterMeta.attributeTypeMap;\n    }\n}\nexports.SecurityFilterMeta = SecurityFilterMeta;\n/**\n * @ignore\n */\nSecurityFilterMeta.attributeTypeMap = {\n    warning: {\n        baseName: \"warning\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityFilterMeta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterResponse = void 0;\n/**\n * Response object which includes a single security filter.\n */\nclass SecurityFilterResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterResponse.attributeTypeMap;\n    }\n}\nexports.SecurityFilterResponse = SecurityFilterResponse;\n/**\n * @ignore\n */\nSecurityFilterResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityFilter\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SecurityFilterMeta\",\n    },\n};\n//# sourceMappingURL=SecurityFilterResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterUpdateAttributes = void 0;\n/**\n * The security filters properties to be updated.\n */\nclass SecurityFilterUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityFilterUpdateAttributes = SecurityFilterUpdateAttributes;\n/**\n * @ignore\n */\nSecurityFilterUpdateAttributes.attributeTypeMap = {\n    exclusionFilters: {\n        baseName: \"exclusion_filters\",\n        type: \"Array\",\n    },\n    filteredDataType: {\n        baseName: \"filtered_data_type\",\n        type: \"SecurityFilterFilteredDataType\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SecurityFilterUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterUpdateData = void 0;\n/**\n * The new security filter properties.\n */\nclass SecurityFilterUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterUpdateData.attributeTypeMap;\n    }\n}\nexports.SecurityFilterUpdateData = SecurityFilterUpdateData;\n/**\n * @ignore\n */\nSecurityFilterUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityFilterUpdateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityFilterType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFilterUpdateRequest = void 0;\n/**\n * The new security filter body.\n */\nclass SecurityFilterUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFilterUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SecurityFilterUpdateRequest = SecurityFilterUpdateRequest;\n/**\n * @ignore\n */\nSecurityFilterUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityFilterUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityFilterUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityFiltersResponse = void 0;\n/**\n * All the available security filters objects.\n */\nclass SecurityFiltersResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityFiltersResponse.attributeTypeMap;\n    }\n}\nexports.SecurityFiltersResponse = SecurityFiltersResponse;\n/**\n * @ignore\n */\nSecurityFiltersResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SecurityFilterMeta\",\n    },\n};\n//# sourceMappingURL=SecurityFiltersResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringFilter = void 0;\n/**\n * The rule's suppression filter.\n */\nclass SecurityMonitoringFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringFilter.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringFilter = SecurityMonitoringFilter;\n/**\n * @ignore\n */\nSecurityMonitoringFilter.attributeTypeMap = {\n    action: {\n        baseName: \"action\",\n        type: \"SecurityMonitoringFilterAction\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringFilter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringListRulesResponse = void 0;\n/**\n * List of rules.\n */\nclass SecurityMonitoringListRulesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringListRulesResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringListRulesResponse = SecurityMonitoringListRulesResponse;\n/**\n * @ignore\n */\nSecurityMonitoringListRulesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ResponseMetaAttributes\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringListRulesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleCase = void 0;\n/**\n * Case when signal is generated.\n */\nclass SecurityMonitoringRuleCase {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleCase.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleCase = SecurityMonitoringRuleCase;\n/**\n * @ignore\n */\nSecurityMonitoringRuleCase.attributeTypeMap = {\n    condition: {\n        baseName: \"condition\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    notifications: {\n        baseName: \"notifications\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SecurityMonitoringRuleSeverity\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleCase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleCaseCreate = void 0;\n/**\n * Case when signal is generated.\n */\nclass SecurityMonitoringRuleCaseCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleCaseCreate.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleCaseCreate = SecurityMonitoringRuleCaseCreate;\n/**\n * @ignore\n */\nSecurityMonitoringRuleCaseCreate.attributeTypeMap = {\n    condition: {\n        baseName: \"condition\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    notifications: {\n        baseName: \"notifications\",\n        type: \"Array\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SecurityMonitoringRuleSeverity\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleCaseCreate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleImpossibleTravelOptions = void 0;\n/**\n * Options on impossible travel rules.\n */\nclass SecurityMonitoringRuleImpossibleTravelOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleImpossibleTravelOptions.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleImpossibleTravelOptions = SecurityMonitoringRuleImpossibleTravelOptions;\n/**\n * @ignore\n */\nSecurityMonitoringRuleImpossibleTravelOptions.attributeTypeMap = {\n    baselineUserLocations: {\n        baseName: \"baselineUserLocations\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleImpossibleTravelOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleNewValueOptions = void 0;\n/**\n * Options on new value rules.\n */\nclass SecurityMonitoringRuleNewValueOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleNewValueOptions.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleNewValueOptions = SecurityMonitoringRuleNewValueOptions;\n/**\n * @ignore\n */\nSecurityMonitoringRuleNewValueOptions.attributeTypeMap = {\n    forgetAfter: {\n        baseName: \"forgetAfter\",\n        type: \"SecurityMonitoringRuleNewValueOptionsForgetAfter\",\n        format: \"int32\",\n    },\n    learningDuration: {\n        baseName: \"learningDuration\",\n        type: \"SecurityMonitoringRuleNewValueOptionsLearningDuration\",\n        format: \"int32\",\n    },\n    learningMethod: {\n        baseName: \"learningMethod\",\n        type: \"SecurityMonitoringRuleNewValueOptionsLearningMethod\",\n    },\n    learningThreshold: {\n        baseName: \"learningThreshold\",\n        type: \"SecurityMonitoringRuleNewValueOptionsLearningThreshold\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleNewValueOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleOptions = void 0;\n/**\n * Options on rules.\n */\nclass SecurityMonitoringRuleOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleOptions.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleOptions = SecurityMonitoringRuleOptions;\n/**\n * @ignore\n */\nSecurityMonitoringRuleOptions.attributeTypeMap = {\n    complianceRuleOptions: {\n        baseName: \"complianceRuleOptions\",\n        type: \"CloudConfigurationComplianceRuleOptions\",\n    },\n    decreaseCriticalityBasedOnEnv: {\n        baseName: \"decreaseCriticalityBasedOnEnv\",\n        type: \"boolean\",\n    },\n    detectionMethod: {\n        baseName: \"detectionMethod\",\n        type: \"SecurityMonitoringRuleDetectionMethod\",\n    },\n    evaluationWindow: {\n        baseName: \"evaluationWindow\",\n        type: \"SecurityMonitoringRuleEvaluationWindow\",\n        format: \"int32\",\n    },\n    hardcodedEvaluatorType: {\n        baseName: \"hardcodedEvaluatorType\",\n        type: \"SecurityMonitoringRuleHardcodedEvaluatorType\",\n    },\n    impossibleTravelOptions: {\n        baseName: \"impossibleTravelOptions\",\n        type: \"SecurityMonitoringRuleImpossibleTravelOptions\",\n    },\n    keepAlive: {\n        baseName: \"keepAlive\",\n        type: \"SecurityMonitoringRuleKeepAlive\",\n        format: \"int32\",\n    },\n    maxSignalDuration: {\n        baseName: \"maxSignalDuration\",\n        type: \"SecurityMonitoringRuleMaxSignalDuration\",\n        format: \"int32\",\n    },\n    newValueOptions: {\n        baseName: \"newValueOptions\",\n        type: \"SecurityMonitoringRuleNewValueOptions\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringRuleUpdatePayload = void 0;\n/**\n * Update an existing rule.\n */\nclass SecurityMonitoringRuleUpdatePayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringRuleUpdatePayload.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringRuleUpdatePayload = SecurityMonitoringRuleUpdatePayload;\n/**\n * @ignore\n */\nSecurityMonitoringRuleUpdatePayload.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n    },\n    complianceSignalOptions: {\n        baseName: \"complianceSignalOptions\",\n        type: \"CloudConfigurationRuleComplianceSignalOptions\",\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    hasExtendedTitle: {\n        baseName: \"hasExtendedTitle\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SecurityMonitoringRuleOptions\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringRuleUpdatePayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignal = void 0;\n/**\n * Object description of a security signal.\n */\nclass SecurityMonitoringSignal {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignal.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignal = SecurityMonitoringSignal;\n/**\n * @ignore\n */\nSecurityMonitoringSignal.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityMonitoringSignalAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringSignalType\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalAssigneeUpdateAttributes = void 0;\n/**\n * Attributes describing the new assignee of a security signal.\n */\nclass SecurityMonitoringSignalAssigneeUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalAssigneeUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalAssigneeUpdateAttributes = SecurityMonitoringSignalAssigneeUpdateAttributes;\n/**\n * @ignore\n */\nSecurityMonitoringSignalAssigneeUpdateAttributes.attributeTypeMap = {\n    assignee: {\n        baseName: \"assignee\",\n        type: \"SecurityMonitoringTriageUser\",\n        required: true,\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalAssigneeUpdateData = void 0;\n/**\n * Data containing the patch for changing the assignee of a signal.\n */\nclass SecurityMonitoringSignalAssigneeUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalAssigneeUpdateData.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalAssigneeUpdateData = SecurityMonitoringSignalAssigneeUpdateData;\n/**\n * @ignore\n */\nSecurityMonitoringSignalAssigneeUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityMonitoringSignalAssigneeUpdateAttributes\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalAssigneeUpdateRequest = void 0;\n/**\n * Request body for changing the assignee of a given security monitoring signal.\n */\nclass SecurityMonitoringSignalAssigneeUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalAssigneeUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalAssigneeUpdateRequest = SecurityMonitoringSignalAssigneeUpdateRequest;\n/**\n * @ignore\n */\nSecurityMonitoringSignalAssigneeUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityMonitoringSignalAssigneeUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalAssigneeUpdateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalAttributes = void 0;\n/**\n * The object containing all signal attributes and their\n * associated values.\n */\nclass SecurityMonitoringSignalAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalAttributes = SecurityMonitoringSignalAttributes;\n/**\n * @ignore\n */\nSecurityMonitoringSignalAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalIncidentsUpdateAttributes = void 0;\n/**\n * Attributes describing the new list of related signals for a security signal.\n */\nclass SecurityMonitoringSignalIncidentsUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalIncidentsUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalIncidentsUpdateAttributes = SecurityMonitoringSignalIncidentsUpdateAttributes;\n/**\n * @ignore\n */\nSecurityMonitoringSignalIncidentsUpdateAttributes.attributeTypeMap = {\n    incidentIds: {\n        baseName: \"incident_ids\",\n        type: \"Array\",\n        required: true,\n        format: \"int64\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalIncidentsUpdateData = void 0;\n/**\n * Data containing the patch for changing the related incidents of a signal.\n */\nclass SecurityMonitoringSignalIncidentsUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalIncidentsUpdateData.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalIncidentsUpdateData = SecurityMonitoringSignalIncidentsUpdateData;\n/**\n * @ignore\n */\nSecurityMonitoringSignalIncidentsUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityMonitoringSignalIncidentsUpdateAttributes\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalIncidentsUpdateRequest = void 0;\n/**\n * Request body for changing the related incidents of a given security monitoring signal.\n */\nclass SecurityMonitoringSignalIncidentsUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalIncidentsUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalIncidentsUpdateRequest = SecurityMonitoringSignalIncidentsUpdateRequest;\n/**\n * @ignore\n */\nSecurityMonitoringSignalIncidentsUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityMonitoringSignalIncidentsUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalIncidentsUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalListRequest = void 0;\n/**\n * The request for a security signal list.\n */\nclass SecurityMonitoringSignalListRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalListRequest.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalListRequest = SecurityMonitoringSignalListRequest;\n/**\n * @ignore\n */\nSecurityMonitoringSignalListRequest.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"SecurityMonitoringSignalListRequestFilter\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"SecurityMonitoringSignalListRequestPage\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"SecurityMonitoringSignalsSort\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalListRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalListRequestFilter = void 0;\n/**\n * Search filters for listing security signals.\n */\nclass SecurityMonitoringSignalListRequestFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalListRequestFilter.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalListRequestFilter = SecurityMonitoringSignalListRequestFilter;\n/**\n * @ignore\n */\nSecurityMonitoringSignalListRequestFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalListRequestFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalListRequestPage = void 0;\n/**\n * The paging attributes for listing security signals.\n */\nclass SecurityMonitoringSignalListRequestPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalListRequestPage.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalListRequestPage = SecurityMonitoringSignalListRequestPage;\n/**\n * @ignore\n */\nSecurityMonitoringSignalListRequestPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalListRequestPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalResponse = void 0;\n/**\n * Security Signal response data object.\n */\nclass SecurityMonitoringSignalResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalResponse = SecurityMonitoringSignalResponse;\n/**\n * @ignore\n */\nSecurityMonitoringSignalResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityMonitoringSignal\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalRuleCreatePayload = void 0;\n/**\n * Create a new signal correlation rule.\n */\nclass SecurityMonitoringSignalRuleCreatePayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalRuleCreatePayload.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalRuleCreatePayload = SecurityMonitoringSignalRuleCreatePayload;\n/**\n * @ignore\n */\nSecurityMonitoringSignalRuleCreatePayload.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n        required: true,\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    hasExtendedTitle: {\n        baseName: \"hasExtendedTitle\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SecurityMonitoringRuleOptions\",\n        required: true,\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringSignalRuleType\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalRuleCreatePayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalRuleQuery = void 0;\n/**\n * Query for matching rule on signals.\n */\nclass SecurityMonitoringSignalRuleQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalRuleQuery.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalRuleQuery = SecurityMonitoringSignalRuleQuery;\n/**\n * @ignore\n */\nSecurityMonitoringSignalRuleQuery.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"SecurityMonitoringRuleQueryAggregation\",\n    },\n    correlatedByFields: {\n        baseName: \"correlatedByFields\",\n        type: \"Array\",\n    },\n    correlatedQueryIndex: {\n        baseName: \"correlatedQueryIndex\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    ruleId: {\n        baseName: \"ruleId\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalRuleQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalRuleResponse = void 0;\n/**\n * Rule.\n */\nclass SecurityMonitoringSignalRuleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalRuleResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalRuleResponse = SecurityMonitoringSignalRuleResponse;\n/**\n * @ignore\n */\nSecurityMonitoringSignalRuleResponse.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n    },\n    createdAt: {\n        baseName: \"createdAt\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creationAuthorId: {\n        baseName: \"creationAuthorId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    deprecationDate: {\n        baseName: \"deprecationDate\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    hasExtendedTitle: {\n        baseName: \"hasExtendedTitle\",\n        type: \"boolean\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    isDefault: {\n        baseName: \"isDefault\",\n        type: \"boolean\",\n    },\n    isDeleted: {\n        baseName: \"isDeleted\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SecurityMonitoringRuleOptions\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringSignalRuleType\",\n    },\n    updateAuthorId: {\n        baseName: \"updateAuthorId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalRuleResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalRuleResponseQuery = void 0;\n/**\n * Query for matching rule on signals.\n */\nclass SecurityMonitoringSignalRuleResponseQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalRuleResponseQuery.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalRuleResponseQuery = SecurityMonitoringSignalRuleResponseQuery;\n/**\n * @ignore\n */\nSecurityMonitoringSignalRuleResponseQuery.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"SecurityMonitoringRuleQueryAggregation\",\n    },\n    correlatedByFields: {\n        baseName: \"correlatedByFields\",\n        type: \"Array\",\n    },\n    correlatedQueryIndex: {\n        baseName: \"correlatedQueryIndex\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    defaultRuleId: {\n        baseName: \"defaultRuleId\",\n        type: \"string\",\n    },\n    distinctFields: {\n        baseName: \"distinctFields\",\n        type: \"Array\",\n    },\n    groupByFields: {\n        baseName: \"groupByFields\",\n        type: \"Array\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    ruleId: {\n        baseName: \"ruleId\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalRuleResponseQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalStateUpdateAttributes = void 0;\n/**\n * Attributes describing the change of state of a security signal.\n */\nclass SecurityMonitoringSignalStateUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalStateUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalStateUpdateAttributes = SecurityMonitoringSignalStateUpdateAttributes;\n/**\n * @ignore\n */\nSecurityMonitoringSignalStateUpdateAttributes.attributeTypeMap = {\n    archiveComment: {\n        baseName: \"archive_comment\",\n        type: \"string\",\n    },\n    archiveReason: {\n        baseName: \"archive_reason\",\n        type: \"SecurityMonitoringSignalArchiveReason\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"SecurityMonitoringSignalState\",\n        required: true,\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalStateUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalStateUpdateData = void 0;\n/**\n * Data containing the patch for changing the state of a signal.\n */\nclass SecurityMonitoringSignalStateUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalStateUpdateData.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalStateUpdateData = SecurityMonitoringSignalStateUpdateData;\n/**\n * @ignore\n */\nSecurityMonitoringSignalStateUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityMonitoringSignalStateUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"any\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringSignalMetadataType\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalStateUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalStateUpdateRequest = void 0;\n/**\n * Request body for changing the state of a given security monitoring signal.\n */\nclass SecurityMonitoringSignalStateUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalStateUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalStateUpdateRequest = SecurityMonitoringSignalStateUpdateRequest;\n/**\n * @ignore\n */\nSecurityMonitoringSignalStateUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityMonitoringSignalStateUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalStateUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalTriageAttributes = void 0;\n/**\n * Attributes describing a triage state update operation over a security signal.\n */\nclass SecurityMonitoringSignalTriageAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalTriageAttributes.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalTriageAttributes = SecurityMonitoringSignalTriageAttributes;\n/**\n * @ignore\n */\nSecurityMonitoringSignalTriageAttributes.attributeTypeMap = {\n    archiveComment: {\n        baseName: \"archive_comment\",\n        type: \"string\",\n    },\n    archiveCommentTimestamp: {\n        baseName: \"archive_comment_timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    archiveCommentUser: {\n        baseName: \"archive_comment_user\",\n        type: \"SecurityMonitoringTriageUser\",\n    },\n    archiveReason: {\n        baseName: \"archive_reason\",\n        type: \"SecurityMonitoringSignalArchiveReason\",\n    },\n    assignee: {\n        baseName: \"assignee\",\n        type: \"SecurityMonitoringTriageUser\",\n        required: true,\n    },\n    incidentIds: {\n        baseName: \"incident_ids\",\n        type: \"Array\",\n        required: true,\n        format: \"int64\",\n    },\n    state: {\n        baseName: \"state\",\n        type: \"SecurityMonitoringSignalState\",\n        required: true,\n    },\n    stateUpdateTimestamp: {\n        baseName: \"state_update_timestamp\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    stateUpdateUser: {\n        baseName: \"state_update_user\",\n        type: \"SecurityMonitoringTriageUser\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalTriageAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalTriageUpdateData = void 0;\n/**\n * Data containing the updated triage attributes of the signal.\n */\nclass SecurityMonitoringSignalTriageUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalTriageUpdateData.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalTriageUpdateData = SecurityMonitoringSignalTriageUpdateData;\n/**\n * @ignore\n */\nSecurityMonitoringSignalTriageUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SecurityMonitoringSignalTriageAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringSignalMetadataType\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalTriageUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalTriageUpdateResponse = void 0;\n/**\n * The response returned after all triage operations, containing the updated signal triage data.\n */\nclass SecurityMonitoringSignalTriageUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalTriageUpdateResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalTriageUpdateResponse = SecurityMonitoringSignalTriageUpdateResponse;\n/**\n * @ignore\n */\nSecurityMonitoringSignalTriageUpdateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SecurityMonitoringSignalTriageUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalTriageUpdateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalsListResponse = void 0;\n/**\n * The response object with all security signals matching the request\n * and pagination information.\n */\nclass SecurityMonitoringSignalsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalsListResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalsListResponse = SecurityMonitoringSignalsListResponse;\n/**\n * @ignore\n */\nSecurityMonitoringSignalsListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"SecurityMonitoringSignalsListResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SecurityMonitoringSignalsListResponseMeta\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalsListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalsListResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass SecurityMonitoringSignalsListResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalsListResponseLinks.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalsListResponseLinks = SecurityMonitoringSignalsListResponseLinks;\n/**\n * @ignore\n */\nSecurityMonitoringSignalsListResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalsListResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalsListResponseMeta = void 0;\n/**\n * Meta attributes.\n */\nclass SecurityMonitoringSignalsListResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalsListResponseMeta.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalsListResponseMeta = SecurityMonitoringSignalsListResponseMeta;\n/**\n * @ignore\n */\nSecurityMonitoringSignalsListResponseMeta.attributeTypeMap = {\n    page: {\n        baseName: \"page\",\n        type: \"SecurityMonitoringSignalsListResponseMetaPage\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalsListResponseMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringSignalsListResponseMetaPage = void 0;\n/**\n * Paging attributes.\n */\nclass SecurityMonitoringSignalsListResponseMetaPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringSignalsListResponseMetaPage.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringSignalsListResponseMetaPage = SecurityMonitoringSignalsListResponseMetaPage;\n/**\n * @ignore\n */\nSecurityMonitoringSignalsListResponseMetaPage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringSignalsListResponseMetaPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringStandardRuleCreatePayload = void 0;\n/**\n * Create a new rule.\n */\nclass SecurityMonitoringStandardRuleCreatePayload {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringStandardRuleCreatePayload.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringStandardRuleCreatePayload = SecurityMonitoringStandardRuleCreatePayload;\n/**\n * @ignore\n */\nSecurityMonitoringStandardRuleCreatePayload.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n        required: true,\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    hasExtendedTitle: {\n        baseName: \"hasExtendedTitle\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n        required: true,\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SecurityMonitoringRuleOptions\",\n        required: true,\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringRuleTypeCreate\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringStandardRuleCreatePayload.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringStandardRuleQuery = void 0;\n/**\n * Query for matching rule.\n */\nclass SecurityMonitoringStandardRuleQuery {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringStandardRuleQuery.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringStandardRuleQuery = SecurityMonitoringStandardRuleQuery;\n/**\n * @ignore\n */\nSecurityMonitoringStandardRuleQuery.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"SecurityMonitoringRuleQueryAggregation\",\n    },\n    distinctFields: {\n        baseName: \"distinctFields\",\n        type: \"Array\",\n    },\n    groupByFields: {\n        baseName: \"groupByFields\",\n        type: \"Array\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    metrics: {\n        baseName: \"metrics\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringStandardRuleQuery.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringStandardRuleResponse = void 0;\n/**\n * Rule.\n */\nclass SecurityMonitoringStandardRuleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringStandardRuleResponse.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringStandardRuleResponse = SecurityMonitoringStandardRuleResponse;\n/**\n * @ignore\n */\nSecurityMonitoringStandardRuleResponse.attributeTypeMap = {\n    cases: {\n        baseName: \"cases\",\n        type: \"Array\",\n    },\n    complianceSignalOptions: {\n        baseName: \"complianceSignalOptions\",\n        type: \"CloudConfigurationRuleComplianceSignalOptions\",\n    },\n    createdAt: {\n        baseName: \"createdAt\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    creationAuthorId: {\n        baseName: \"creationAuthorId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    deprecationDate: {\n        baseName: \"deprecationDate\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    filters: {\n        baseName: \"filters\",\n        type: \"Array\",\n    },\n    hasExtendedTitle: {\n        baseName: \"hasExtendedTitle\",\n        type: \"boolean\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    isDefault: {\n        baseName: \"isDefault\",\n        type: \"boolean\",\n    },\n    isDeleted: {\n        baseName: \"isDeleted\",\n        type: \"boolean\",\n    },\n    isEnabled: {\n        baseName: \"isEnabled\",\n        type: \"boolean\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SecurityMonitoringRuleOptions\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SecurityMonitoringRuleTypeRead\",\n    },\n    updateAuthorId: {\n        baseName: \"updateAuthorId\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SecurityMonitoringStandardRuleResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SecurityMonitoringTriageUser = void 0;\n/**\n * Object representing a given user entity.\n */\nclass SecurityMonitoringTriageUser {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SecurityMonitoringTriageUser.attributeTypeMap;\n    }\n}\nexports.SecurityMonitoringTriageUser = SecurityMonitoringTriageUser;\n/**\n * @ignore\n */\nSecurityMonitoringTriageUser.attributeTypeMap = {\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    uuid: {\n        baseName: \"uuid\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SecurityMonitoringTriageUser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerConfigRequest = void 0;\n/**\n * Group reorder request.\n */\nclass SensitiveDataScannerConfigRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerConfigRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerConfigRequest = SensitiveDataScannerConfigRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerConfigRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerReorderConfig\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerConfigRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerConfiguration = void 0;\n/**\n * A Sensitive Data Scanner configuration.\n */\nclass SensitiveDataScannerConfiguration {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerConfiguration.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerConfiguration = SensitiveDataScannerConfiguration;\n/**\n * @ignore\n */\nSensitiveDataScannerConfiguration.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerConfigurationType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerConfiguration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerConfigurationData = void 0;\n/**\n * A Sensitive Data Scanner configuration data.\n */\nclass SensitiveDataScannerConfigurationData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerConfigurationData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerConfigurationData = SensitiveDataScannerConfigurationData;\n/**\n * @ignore\n */\nSensitiveDataScannerConfigurationData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerConfiguration\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerConfigurationData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerConfigurationRelationships = void 0;\n/**\n * Relationships of the configuration.\n */\nclass SensitiveDataScannerConfigurationRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerConfigurationRelationships.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerConfigurationRelationships = SensitiveDataScannerConfigurationRelationships;\n/**\n * @ignore\n */\nSensitiveDataScannerConfigurationRelationships.attributeTypeMap = {\n    groups: {\n        baseName: \"groups\",\n        type: \"SensitiveDataScannerGroupList\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerConfigurationRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerCreateGroupResponse = void 0;\n/**\n * Create group response.\n */\nclass SensitiveDataScannerCreateGroupResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerCreateGroupResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerCreateGroupResponse = SensitiveDataScannerCreateGroupResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerCreateGroupResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerGroupResponse\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerCreateGroupResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerCreateRuleResponse = void 0;\n/**\n * Create rule response.\n */\nclass SensitiveDataScannerCreateRuleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerCreateRuleResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerCreateRuleResponse = SensitiveDataScannerCreateRuleResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerCreateRuleResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerRuleResponse\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerCreateRuleResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerFilter = void 0;\n/**\n * Filter for the Scanning Group.\n */\nclass SensitiveDataScannerFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerFilter.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerFilter = SensitiveDataScannerFilter;\n/**\n * @ignore\n */\nSensitiveDataScannerFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerFilter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGetConfigResponse = void 0;\n/**\n * Get all groups response.\n */\nclass SensitiveDataScannerGetConfigResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGetConfigResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGetConfigResponse = SensitiveDataScannerGetConfigResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerGetConfigResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerGetConfigResponseData\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMeta\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGetConfigResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGetConfigResponseData = void 0;\n/**\n * Response data related to the scanning groups.\n */\nclass SensitiveDataScannerGetConfigResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGetConfigResponseData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGetConfigResponseData = SensitiveDataScannerGetConfigResponseData;\n/**\n * @ignore\n */\nSensitiveDataScannerGetConfigResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerConfigurationRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerConfigurationType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGetConfigResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroup = void 0;\n/**\n * A scanning group.\n */\nclass SensitiveDataScannerGroup {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroup.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroup = SensitiveDataScannerGroup;\n/**\n * @ignore\n */\nSensitiveDataScannerGroup.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroup.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupAttributes = void 0;\n/**\n * Attributes of the Sensitive Data Scanner group.\n */\nclass SensitiveDataScannerGroupAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupAttributes.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupAttributes = SensitiveDataScannerGroupAttributes;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupAttributes.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"SensitiveDataScannerFilter\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    productList: {\n        baseName: \"product_list\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupCreate = void 0;\n/**\n * Data related to the creation of a group.\n */\nclass SensitiveDataScannerGroupCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupCreate.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupCreate = SensitiveDataScannerGroupCreate;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerGroupAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerGroupRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupCreate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupCreateRequest = void 0;\n/**\n * Create group request.\n */\nclass SensitiveDataScannerGroupCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupCreateRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupCreateRequest = SensitiveDataScannerGroupCreateRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerGroupCreate\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupData = void 0;\n/**\n * A scanning group data.\n */\nclass SensitiveDataScannerGroupData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupData = SensitiveDataScannerGroupData;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerGroup\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupDeleteRequest = void 0;\n/**\n * Delete group request.\n */\nclass SensitiveDataScannerGroupDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupDeleteRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupDeleteRequest = SensitiveDataScannerGroupDeleteRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupDeleteRequest.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupDeleteRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupDeleteResponse = void 0;\n/**\n * Delete group response.\n */\nclass SensitiveDataScannerGroupDeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupDeleteResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupDeleteResponse = SensitiveDataScannerGroupDeleteResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupDeleteResponse.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupDeleteResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupIncludedItem = void 0;\n/**\n * A Scanning Group included item.\n */\nclass SensitiveDataScannerGroupIncludedItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupIncludedItem.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupIncludedItem = SensitiveDataScannerGroupIncludedItem;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupIncludedItem.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerGroupAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerGroupRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupIncludedItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupItem = void 0;\n/**\n * Data related to a Sensitive Data Scanner Group.\n */\nclass SensitiveDataScannerGroupItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupItem.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupItem = SensitiveDataScannerGroupItem;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupItem.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupList = void 0;\n/**\n * List of groups, ordered.\n */\nclass SensitiveDataScannerGroupList {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupList.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupList = SensitiveDataScannerGroupList;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupList.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupList.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupRelationships = void 0;\n/**\n * Relationships of the group.\n */\nclass SensitiveDataScannerGroupRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupRelationships.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupRelationships = SensitiveDataScannerGroupRelationships;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupRelationships.attributeTypeMap = {\n    configuration: {\n        baseName: \"configuration\",\n        type: \"SensitiveDataScannerConfigurationData\",\n    },\n    rules: {\n        baseName: \"rules\",\n        type: \"SensitiveDataScannerRuleData\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupResponse = void 0;\n/**\n * Response data related to the creation of a group.\n */\nclass SensitiveDataScannerGroupResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupResponse = SensitiveDataScannerGroupResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerGroupAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerGroupRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupUpdate = void 0;\n/**\n * Data related to the update of a group.\n */\nclass SensitiveDataScannerGroupUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupUpdate.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupUpdate = SensitiveDataScannerGroupUpdate;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerGroupAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerGroupRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerGroupType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupUpdate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupUpdateRequest = void 0;\n/**\n * Update group request.\n */\nclass SensitiveDataScannerGroupUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupUpdateRequest = SensitiveDataScannerGroupUpdateRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerGroupUpdate\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerGroupUpdateResponse = void 0;\n/**\n * Update group response.\n */\nclass SensitiveDataScannerGroupUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerGroupUpdateResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerGroupUpdateResponse = SensitiveDataScannerGroupUpdateResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerGroupUpdateResponse.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerGroupUpdateResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerMeta = void 0;\n/**\n * Meta response containing information about the API.\n */\nclass SensitiveDataScannerMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerMeta.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerMeta = SensitiveDataScannerMeta;\n/**\n * @ignore\n */\nSensitiveDataScannerMeta.attributeTypeMap = {\n    countLimit: {\n        baseName: \"count_limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    groupCountLimit: {\n        baseName: \"group_count_limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    hasHighlightEnabled: {\n        baseName: \"has_highlight_enabled\",\n        type: \"boolean\",\n    },\n    hasMultiPassEnabled: {\n        baseName: \"has_multi_pass_enabled\",\n        type: \"boolean\",\n    },\n    isPciCompliant: {\n        baseName: \"is_pci_compliant\",\n        type: \"boolean\",\n    },\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerMetaVersionOnly = void 0;\n/**\n * Meta payload containing information about the API.\n */\nclass SensitiveDataScannerMetaVersionOnly {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerMetaVersionOnly.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerMetaVersionOnly = SensitiveDataScannerMetaVersionOnly;\n/**\n * @ignore\n */\nSensitiveDataScannerMetaVersionOnly.attributeTypeMap = {\n    version: {\n        baseName: \"version\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerMetaVersionOnly.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerReorderConfig = void 0;\n/**\n * Data related to the reordering of scanning groups.\n */\nclass SensitiveDataScannerReorderConfig {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerReorderConfig.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerReorderConfig = SensitiveDataScannerReorderConfig;\n/**\n * @ignore\n */\nSensitiveDataScannerReorderConfig.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerConfigurationRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerConfigurationType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerReorderConfig.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerReorderGroupsResponse = void 0;\n/**\n * Group reorder response.\n */\nclass SensitiveDataScannerReorderGroupsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerReorderGroupsResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerReorderGroupsResponse = SensitiveDataScannerReorderGroupsResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerReorderGroupsResponse.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMeta\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerReorderGroupsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRule = void 0;\n/**\n * Rule item included in the group.\n */\nclass SensitiveDataScannerRule {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRule.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRule = SensitiveDataScannerRule;\n/**\n * @ignore\n */\nSensitiveDataScannerRule.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerRuleType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleAttributes = void 0;\n/**\n * Attributes of the Sensitive Data Scanner rule.\n */\nclass SensitiveDataScannerRuleAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleAttributes.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleAttributes = SensitiveDataScannerRuleAttributes;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleAttributes.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    excludedNamespaces: {\n        baseName: \"excluded_namespaces\",\n        type: \"Array\",\n    },\n    isEnabled: {\n        baseName: \"is_enabled\",\n        type: \"boolean\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    namespaces: {\n        baseName: \"namespaces\",\n        type: \"Array\",\n    },\n    pattern: {\n        baseName: \"pattern\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    textReplacement: {\n        baseName: \"text_replacement\",\n        type: \"SensitiveDataScannerTextReplacement\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleCreate = void 0;\n/**\n * Data related to the creation of a rule.\n */\nclass SensitiveDataScannerRuleCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleCreate.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleCreate = SensitiveDataScannerRuleCreate;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerRuleAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerRuleRelationships\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerRuleType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleCreate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleCreateRequest = void 0;\n/**\n * Create rule request.\n */\nclass SensitiveDataScannerRuleCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleCreateRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleCreateRequest = SensitiveDataScannerRuleCreateRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerRuleCreate\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleData = void 0;\n/**\n * Rules included in the group.\n */\nclass SensitiveDataScannerRuleData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleData = SensitiveDataScannerRuleData;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleDeleteRequest = void 0;\n/**\n * Delete rule request.\n */\nclass SensitiveDataScannerRuleDeleteRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleDeleteRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleDeleteRequest = SensitiveDataScannerRuleDeleteRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleDeleteRequest.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleDeleteRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleDeleteResponse = void 0;\n/**\n * Delete rule response.\n */\nclass SensitiveDataScannerRuleDeleteResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleDeleteResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleDeleteResponse = SensitiveDataScannerRuleDeleteResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleDeleteResponse.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleDeleteResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleIncludedItem = void 0;\n/**\n * A Scanning Rule included item.\n */\nclass SensitiveDataScannerRuleIncludedItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleIncludedItem.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleIncludedItem = SensitiveDataScannerRuleIncludedItem;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleIncludedItem.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerRuleAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerRuleRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerRuleType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleIncludedItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleRelationships = void 0;\n/**\n * Relationships of a scanning rule.\n */\nclass SensitiveDataScannerRuleRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleRelationships.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleRelationships = SensitiveDataScannerRuleRelationships;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleRelationships.attributeTypeMap = {\n    group: {\n        baseName: \"group\",\n        type: \"SensitiveDataScannerGroupData\",\n    },\n    standardPattern: {\n        baseName: \"standard_pattern\",\n        type: \"SensitiveDataScannerStandardPatternData\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleResponse = void 0;\n/**\n * Response data related to the creation of a rule.\n */\nclass SensitiveDataScannerRuleResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleResponse = SensitiveDataScannerRuleResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerRuleAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerRuleRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerRuleType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleUpdate = void 0;\n/**\n * Data related to the update of a rule.\n */\nclass SensitiveDataScannerRuleUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleUpdate.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleUpdate = SensitiveDataScannerRuleUpdate;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerRuleAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"SensitiveDataScannerRuleRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerRuleType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleUpdate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleUpdateRequest = void 0;\n/**\n * Update rule request.\n */\nclass SensitiveDataScannerRuleUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleUpdateRequest = SensitiveDataScannerRuleUpdateRequest;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerRuleUpdate\",\n        required: true,\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerRuleUpdateResponse = void 0;\n/**\n * Update rule response.\n */\nclass SensitiveDataScannerRuleUpdateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerRuleUpdateResponse.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerRuleUpdateResponse = SensitiveDataScannerRuleUpdateResponse;\n/**\n * @ignore\n */\nSensitiveDataScannerRuleUpdateResponse.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"SensitiveDataScannerMetaVersionOnly\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerRuleUpdateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerStandardPattern = void 0;\n/**\n * Data containing the standard pattern id.\n */\nclass SensitiveDataScannerStandardPattern {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerStandardPattern.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerStandardPattern = SensitiveDataScannerStandardPattern;\n/**\n * @ignore\n */\nSensitiveDataScannerStandardPattern.attributeTypeMap = {\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerStandardPatternType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerStandardPattern.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerStandardPatternAttributes = void 0;\n/**\n * Attributes of the Sensitive Data Scanner standard pattern.\n */\nclass SensitiveDataScannerStandardPatternAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerStandardPatternAttributes.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerStandardPatternAttributes = SensitiveDataScannerStandardPatternAttributes;\n/**\n * @ignore\n */\nSensitiveDataScannerStandardPatternAttributes.attributeTypeMap = {\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    pattern: {\n        baseName: \"pattern\",\n        type: \"string\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerStandardPatternAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerStandardPatternData = void 0;\n/**\n * A standard pattern.\n */\nclass SensitiveDataScannerStandardPatternData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerStandardPatternData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerStandardPatternData = SensitiveDataScannerStandardPatternData;\n/**\n * @ignore\n */\nSensitiveDataScannerStandardPatternData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SensitiveDataScannerStandardPattern\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerStandardPatternData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerStandardPatternsResponseData = void 0;\n/**\n * List Standard patterns response data.\n */\nclass SensitiveDataScannerStandardPatternsResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerStandardPatternsResponseData.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerStandardPatternsResponseData = SensitiveDataScannerStandardPatternsResponseData;\n/**\n * @ignore\n */\nSensitiveDataScannerStandardPatternsResponseData.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerStandardPatternsResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerStandardPatternsResponseItem = void 0;\n/**\n * Standard pattern item.\n */\nclass SensitiveDataScannerStandardPatternsResponseItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerStandardPatternsResponseItem.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerStandardPatternsResponseItem = SensitiveDataScannerStandardPatternsResponseItem;\n/**\n * @ignore\n */\nSensitiveDataScannerStandardPatternsResponseItem.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SensitiveDataScannerStandardPatternAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerStandardPatternType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerStandardPatternsResponseItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SensitiveDataScannerTextReplacement = void 0;\n/**\n * Object describing how the scanned event will be replaced.\n */\nclass SensitiveDataScannerTextReplacement {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SensitiveDataScannerTextReplacement.attributeTypeMap;\n    }\n}\nexports.SensitiveDataScannerTextReplacement = SensitiveDataScannerTextReplacement;\n/**\n * @ignore\n */\nSensitiveDataScannerTextReplacement.attributeTypeMap = {\n    numberOfChars: {\n        baseName: \"number_of_chars\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    replacementString: {\n        baseName: \"replacement_string\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SensitiveDataScannerTextReplacementType\",\n    },\n};\n//# sourceMappingURL=SensitiveDataScannerTextReplacement.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceAccountCreateAttributes = void 0;\n/**\n * Attributes of the created user.\n */\nclass ServiceAccountCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceAccountCreateAttributes.attributeTypeMap;\n    }\n}\nexports.ServiceAccountCreateAttributes = ServiceAccountCreateAttributes;\n/**\n * @ignore\n */\nServiceAccountCreateAttributes.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    serviceAccount: {\n        baseName: \"service_account\",\n        type: \"boolean\",\n        required: true,\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceAccountCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceAccountCreateData = void 0;\n/**\n * Object to create a service account User.\n */\nclass ServiceAccountCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceAccountCreateData.attributeTypeMap;\n    }\n}\nexports.ServiceAccountCreateData = ServiceAccountCreateData;\n/**\n * @ignore\n */\nServiceAccountCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ServiceAccountCreateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceAccountCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceAccountCreateRequest = void 0;\n/**\n * Create a service account.\n */\nclass ServiceAccountCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceAccountCreateRequest.attributeTypeMap;\n    }\n}\nexports.ServiceAccountCreateRequest = ServiceAccountCreateRequest;\n/**\n * @ignore\n */\nServiceAccountCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ServiceAccountCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceAccountCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionCreateResponse = void 0;\n/**\n * Create service definitions response.\n */\nclass ServiceDefinitionCreateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionCreateResponse.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionCreateResponse = ServiceDefinitionCreateResponse;\n/**\n * @ignore\n */\nServiceDefinitionCreateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionCreateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionData = void 0;\n/**\n * Service definition data.\n */\nclass ServiceDefinitionData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionData.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionData = ServiceDefinitionData;\n/**\n * @ignore\n */\nServiceDefinitionData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"ServiceDefinitionDataAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionDataAttributes = void 0;\n/**\n * Service definition attributes.\n */\nclass ServiceDefinitionDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionDataAttributes.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionDataAttributes = ServiceDefinitionDataAttributes;\n/**\n * @ignore\n */\nServiceDefinitionDataAttributes.attributeTypeMap = {\n    meta: {\n        baseName: \"meta\",\n        type: \"ServiceDefinitionMeta\",\n    },\n    schema: {\n        baseName: \"schema\",\n        type: \"ServiceDefinitionSchema\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionGetResponse = void 0;\n/**\n * Get service definition response.\n */\nclass ServiceDefinitionGetResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionGetResponse.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionGetResponse = ServiceDefinitionGetResponse;\n/**\n * @ignore\n */\nServiceDefinitionGetResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"ServiceDefinitionData\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionGetResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionMeta = void 0;\n/**\n * Metadata about a service definition.\n */\nclass ServiceDefinitionMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionMeta.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionMeta = ServiceDefinitionMeta;\n/**\n * @ignore\n */\nServiceDefinitionMeta.attributeTypeMap = {\n    githubHtmlUrl: {\n        baseName: \"github-html-url\",\n        type: \"string\",\n    },\n    ingestedSchemaVersion: {\n        baseName: \"ingested-schema-version\",\n        type: \"string\",\n    },\n    ingestionSource: {\n        baseName: \"ingestion-source\",\n        type: \"string\",\n    },\n    lastModifiedTime: {\n        baseName: \"last-modified-time\",\n        type: \"string\",\n    },\n    origin: {\n        baseName: \"origin\",\n        type: \"string\",\n    },\n    originDetail: {\n        baseName: \"origin-detail\",\n        type: \"string\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionMetaWarnings = void 0;\n/**\n * Schema validation warnings.\n */\nclass ServiceDefinitionMetaWarnings {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionMetaWarnings.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionMetaWarnings = ServiceDefinitionMetaWarnings;\n/**\n * @ignore\n */\nServiceDefinitionMetaWarnings.attributeTypeMap = {\n    instanceLocation: {\n        baseName: \"instance-location\",\n        type: \"string\",\n    },\n    keywordLocation: {\n        baseName: \"keyword-location\",\n        type: \"string\",\n    },\n    message: {\n        baseName: \"message\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionMetaWarnings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1 = void 0;\n/**\n * Deprecated - Service definition V1 for providing additional service metadata and integrations.\n */\nclass ServiceDefinitionV1 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1 = ServiceDefinitionV1;\n/**\n * @ignore\n */\nServiceDefinitionV1.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"ServiceDefinitionV1Contact\",\n    },\n    extensions: {\n        baseName: \"extensions\",\n        type: \"{ [key: string]: any; }\",\n    },\n    externalResources: {\n        baseName: \"external-resources\",\n        type: \"Array\",\n    },\n    info: {\n        baseName: \"info\",\n        type: \"ServiceDefinitionV1Info\",\n        required: true,\n    },\n    integrations: {\n        baseName: \"integrations\",\n        type: \"ServiceDefinitionV1Integrations\",\n    },\n    org: {\n        baseName: \"org\",\n        type: \"ServiceDefinitionV1Org\",\n    },\n    schemaVersion: {\n        baseName: \"schema-version\",\n        type: \"ServiceDefinitionV1Version\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1Contact = void 0;\n/**\n * Contact information about the service.\n */\nclass ServiceDefinitionV1Contact {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1Contact.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1Contact = ServiceDefinitionV1Contact;\n/**\n * @ignore\n */\nServiceDefinitionV1Contact.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n        format: \"email\",\n    },\n    slack: {\n        baseName: \"slack\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1Contact.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1Info = void 0;\n/**\n * Basic information about a service.\n */\nclass ServiceDefinitionV1Info {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1Info.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1Info = ServiceDefinitionV1Info;\n/**\n * @ignore\n */\nServiceDefinitionV1Info.attributeTypeMap = {\n    ddService: {\n        baseName: \"dd-service\",\n        type: \"string\",\n        required: true,\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    displayName: {\n        baseName: \"display-name\",\n        type: \"string\",\n    },\n    serviceTier: {\n        baseName: \"service-tier\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1Info.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1Integrations = void 0;\n/**\n * Third party integrations that Datadog supports.\n */\nclass ServiceDefinitionV1Integrations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1Integrations.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1Integrations = ServiceDefinitionV1Integrations;\n/**\n * @ignore\n */\nServiceDefinitionV1Integrations.attributeTypeMap = {\n    pagerduty: {\n        baseName: \"pagerduty\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1Integrations.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1Org = void 0;\n/**\n * Org related information about the service.\n */\nclass ServiceDefinitionV1Org {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1Org.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1Org = ServiceDefinitionV1Org;\n/**\n * @ignore\n */\nServiceDefinitionV1Org.attributeTypeMap = {\n    application: {\n        baseName: \"application\",\n        type: \"string\",\n    },\n    team: {\n        baseName: \"team\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1Org.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV1Resource = void 0;\n/**\n * Service's external links.\n */\nclass ServiceDefinitionV1Resource {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV1Resource.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV1Resource = ServiceDefinitionV1Resource;\n/**\n * @ignore\n */\nServiceDefinitionV1Resource.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV1ResourceType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV1Resource.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2 = void 0;\n/**\n * Service definition V2 for providing service metadata and integrations.\n */\nclass ServiceDefinitionV2 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2 = ServiceDefinitionV2;\n/**\n * @ignore\n */\nServiceDefinitionV2.attributeTypeMap = {\n    contacts: {\n        baseName: \"contacts\",\n        type: \"Array\",\n    },\n    ddService: {\n        baseName: \"dd-service\",\n        type: \"string\",\n        required: true,\n    },\n    ddTeam: {\n        baseName: \"dd-team\",\n        type: \"string\",\n    },\n    docs: {\n        baseName: \"docs\",\n        type: \"Array\",\n    },\n    extensions: {\n        baseName: \"extensions\",\n        type: \"{ [key: string]: any; }\",\n    },\n    integrations: {\n        baseName: \"integrations\",\n        type: \"ServiceDefinitionV2Integrations\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"Array\",\n    },\n    repos: {\n        baseName: \"repos\",\n        type: \"Array\",\n    },\n    schemaVersion: {\n        baseName: \"schema-version\",\n        type: \"ServiceDefinitionV2Version\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    team: {\n        baseName: \"team\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Doc = void 0;\n/**\n * Service documents.\n */\nclass ServiceDefinitionV2Doc {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Doc.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Doc = ServiceDefinitionV2Doc;\n/**\n * @ignore\n */\nServiceDefinitionV2Doc.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    provider: {\n        baseName: \"provider\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Doc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1 = void 0;\n/**\n * Service definition v2.1 for providing service metadata and integrations.\n */\nclass ServiceDefinitionV2Dot1 {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1 = ServiceDefinitionV2Dot1;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1.attributeTypeMap = {\n    application: {\n        baseName: \"application\",\n        type: \"string\",\n    },\n    contacts: {\n        baseName: \"contacts\",\n        type: \"Array\",\n    },\n    ddService: {\n        baseName: \"dd-service\",\n        type: \"string\",\n        required: true,\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    extensions: {\n        baseName: \"extensions\",\n        type: \"{ [key: string]: any; }\",\n    },\n    integrations: {\n        baseName: \"integrations\",\n        type: \"ServiceDefinitionV2Dot1Integrations\",\n    },\n    lifecycle: {\n        baseName: \"lifecycle\",\n        type: \"string\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"Array\",\n    },\n    schemaVersion: {\n        baseName: \"schema-version\",\n        type: \"ServiceDefinitionV2Dot1Version\",\n        required: true,\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    team: {\n        baseName: \"team\",\n        type: \"string\",\n    },\n    tier: {\n        baseName: \"tier\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Email = void 0;\n/**\n * Service owner's email.\n */\nclass ServiceDefinitionV2Dot1Email {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Email.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Email = ServiceDefinitionV2Dot1Email;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Email.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n        format: \"email\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2Dot1EmailType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Email.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Integrations = void 0;\n/**\n * Third party integrations that Datadog supports.\n */\nclass ServiceDefinitionV2Dot1Integrations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Integrations.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Integrations = ServiceDefinitionV2Dot1Integrations;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Integrations.attributeTypeMap = {\n    opsgenie: {\n        baseName: \"opsgenie\",\n        type: \"ServiceDefinitionV2Dot1Opsgenie\",\n    },\n    pagerduty: {\n        baseName: \"pagerduty\",\n        type: \"ServiceDefinitionV2Dot1Pagerduty\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Integrations.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Link = void 0;\n/**\n * Service's external links.\n */\nclass ServiceDefinitionV2Dot1Link {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Link.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Link = ServiceDefinitionV2Dot1Link;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Link.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    provider: {\n        baseName: \"provider\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2Dot1LinkType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Link.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1MSTeams = void 0;\n/**\n * Service owner's Microsoft Teams.\n */\nclass ServiceDefinitionV2Dot1MSTeams {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1MSTeams.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1MSTeams = ServiceDefinitionV2Dot1MSTeams;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1MSTeams.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2Dot1MSTeamsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1MSTeams.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Opsgenie = void 0;\n/**\n * Opsgenie integration for the service.\n */\nclass ServiceDefinitionV2Dot1Opsgenie {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Opsgenie.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Opsgenie = ServiceDefinitionV2Dot1Opsgenie;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Opsgenie.attributeTypeMap = {\n    region: {\n        baseName: \"region\",\n        type: \"ServiceDefinitionV2Dot1OpsgenieRegion\",\n    },\n    serviceUrl: {\n        baseName: \"service-url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Opsgenie.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Pagerduty = void 0;\n/**\n * PagerDuty integration for the service.\n */\nclass ServiceDefinitionV2Dot1Pagerduty {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Pagerduty.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Pagerduty = ServiceDefinitionV2Dot1Pagerduty;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Pagerduty.attributeTypeMap = {\n    serviceUrl: {\n        baseName: \"service-url\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Pagerduty.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Dot1Slack = void 0;\n/**\n * Service owner's Slack channel.\n */\nclass ServiceDefinitionV2Dot1Slack {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Dot1Slack.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Dot1Slack = ServiceDefinitionV2Dot1Slack;\n/**\n * @ignore\n */\nServiceDefinitionV2Dot1Slack.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2Dot1SlackType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Dot1Slack.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Email = void 0;\n/**\n * Service owner's email.\n */\nclass ServiceDefinitionV2Email {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Email.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Email = ServiceDefinitionV2Email;\n/**\n * @ignore\n */\nServiceDefinitionV2Email.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n        format: \"email\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2EmailType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Email.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Integrations = void 0;\n/**\n * Third party integrations that Datadog supports.\n */\nclass ServiceDefinitionV2Integrations {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Integrations.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Integrations = ServiceDefinitionV2Integrations;\n/**\n * @ignore\n */\nServiceDefinitionV2Integrations.attributeTypeMap = {\n    opsgenie: {\n        baseName: \"opsgenie\",\n        type: \"ServiceDefinitionV2Opsgenie\",\n    },\n    pagerduty: {\n        baseName: \"pagerduty\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Integrations.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Link = void 0;\n/**\n * Service's external links.\n */\nclass ServiceDefinitionV2Link {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Link.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Link = ServiceDefinitionV2Link;\n/**\n * @ignore\n */\nServiceDefinitionV2Link.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2LinkType\",\n        required: true,\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Link.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2MSTeams = void 0;\n/**\n * Service owner's Microsoft Teams.\n */\nclass ServiceDefinitionV2MSTeams {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2MSTeams.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2MSTeams = ServiceDefinitionV2MSTeams;\n/**\n * @ignore\n */\nServiceDefinitionV2MSTeams.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2MSTeamsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2MSTeams.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Opsgenie = void 0;\n/**\n * Opsgenie integration for the service.\n */\nclass ServiceDefinitionV2Opsgenie {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Opsgenie.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Opsgenie = ServiceDefinitionV2Opsgenie;\n/**\n * @ignore\n */\nServiceDefinitionV2Opsgenie.attributeTypeMap = {\n    region: {\n        baseName: \"region\",\n        type: \"ServiceDefinitionV2OpsgenieRegion\",\n    },\n    serviceUrl: {\n        baseName: \"service-url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Opsgenie.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Repo = void 0;\n/**\n * Service code repositories.\n */\nclass ServiceDefinitionV2Repo {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Repo.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Repo = ServiceDefinitionV2Repo;\n/**\n * @ignore\n */\nServiceDefinitionV2Repo.attributeTypeMap = {\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    provider: {\n        baseName: \"provider\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Repo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionV2Slack = void 0;\n/**\n * Service owner's Slack channel.\n */\nclass ServiceDefinitionV2Slack {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionV2Slack.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionV2Slack = ServiceDefinitionV2Slack;\n/**\n * @ignore\n */\nServiceDefinitionV2Slack.attributeTypeMap = {\n    contact: {\n        baseName: \"contact\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"ServiceDefinitionV2SlackType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=ServiceDefinitionV2Slack.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceDefinitionsListResponse = void 0;\n/**\n * Create service definitions response.\n */\nclass ServiceDefinitionsListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return ServiceDefinitionsListResponse.attributeTypeMap;\n    }\n}\nexports.ServiceDefinitionsListResponse = ServiceDefinitionsListResponse;\n/**\n * @ignore\n */\nServiceDefinitionsListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=ServiceDefinitionsListResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackIntegrationMetadata = void 0;\n/**\n * Incident integration metadata for the Slack integration.\n */\nclass SlackIntegrationMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SlackIntegrationMetadata.attributeTypeMap;\n    }\n}\nexports.SlackIntegrationMetadata = SlackIntegrationMetadata;\n/**\n * @ignore\n */\nSlackIntegrationMetadata.attributeTypeMap = {\n    channels: {\n        baseName: \"channels\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SlackIntegrationMetadata.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackIntegrationMetadataChannelItem = void 0;\n/**\n * Item in the Slack integration metadata channel array.\n */\nclass SlackIntegrationMetadataChannelItem {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SlackIntegrationMetadataChannelItem.attributeTypeMap;\n    }\n}\nexports.SlackIntegrationMetadataChannelItem = SlackIntegrationMetadataChannelItem;\n/**\n * @ignore\n */\nSlackIntegrationMetadataChannelItem.attributeTypeMap = {\n    channelId: {\n        baseName: \"channel_id\",\n        type: \"string\",\n        required: true,\n    },\n    channelName: {\n        baseName: \"channel_name\",\n        type: \"string\",\n        required: true,\n    },\n    redirectUrl: {\n        baseName: \"redirect_url\",\n        type: \"string\",\n        required: true,\n    },\n    teamId: {\n        baseName: \"team_id\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SlackIntegrationMetadataChannelItem.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Span = void 0;\n/**\n * Object description of a spans after being processed and stored by Datadog.\n */\nclass Span {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Span.attributeTypeMap;\n    }\n}\nexports.Span = Span;\n/**\n * @ignore\n */\nSpan.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansType\",\n    },\n};\n//# sourceMappingURL=Span.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateBucket = void 0;\n/**\n * Spans aggregate.\n */\nclass SpansAggregateBucket {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateBucket.attributeTypeMap;\n    }\n}\nexports.SpansAggregateBucket = SpansAggregateBucket;\n/**\n * @ignore\n */\nSpansAggregateBucket.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansAggregateBucketAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansAggregateBucketType\",\n    },\n};\n//# sourceMappingURL=SpansAggregateBucket.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateBucketAttributes = void 0;\n/**\n * A bucket values.\n */\nclass SpansAggregateBucketAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateBucketAttributes.attributeTypeMap;\n    }\n}\nexports.SpansAggregateBucketAttributes = SpansAggregateBucketAttributes;\n/**\n * @ignore\n */\nSpansAggregateBucketAttributes.attributeTypeMap = {\n    by: {\n        baseName: \"by\",\n        type: \"{ [key: string]: any; }\",\n    },\n    compute: {\n        baseName: \"compute\",\n        type: \"any\",\n    },\n    computes: {\n        baseName: \"computes\",\n        type: \"{ [key: string]: SpansAggregateBucketValue; }\",\n    },\n};\n//# sourceMappingURL=SpansAggregateBucketAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateBucketValueTimeseriesPoint = void 0;\n/**\n * A timeseries point.\n */\nclass SpansAggregateBucketValueTimeseriesPoint {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateBucketValueTimeseriesPoint.attributeTypeMap;\n    }\n}\nexports.SpansAggregateBucketValueTimeseriesPoint = SpansAggregateBucketValueTimeseriesPoint;\n/**\n * @ignore\n */\nSpansAggregateBucketValueTimeseriesPoint.attributeTypeMap = {\n    time: {\n        baseName: \"time\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SpansAggregateBucketValueTimeseriesPoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateData = void 0;\n/**\n * The object containing the query content.\n */\nclass SpansAggregateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateData.attributeTypeMap;\n    }\n}\nexports.SpansAggregateData = SpansAggregateData;\n/**\n * @ignore\n */\nSpansAggregateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansAggregateRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansAggregateRequestType\",\n    },\n};\n//# sourceMappingURL=SpansAggregateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateRequest = void 0;\n/**\n * The object sent with the request to retrieve a list of aggregated spans from your organization.\n */\nclass SpansAggregateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateRequest.attributeTypeMap;\n    }\n}\nexports.SpansAggregateRequest = SpansAggregateRequest;\n/**\n * @ignore\n */\nSpansAggregateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SpansAggregateData\",\n    },\n};\n//# sourceMappingURL=SpansAggregateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateRequestAttributes = void 0;\n/**\n * The object containing all the query parameters.\n */\nclass SpansAggregateRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateRequestAttributes.attributeTypeMap;\n    }\n}\nexports.SpansAggregateRequestAttributes = SpansAggregateRequestAttributes;\n/**\n * @ignore\n */\nSpansAggregateRequestAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"Array\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"SpansQueryFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SpansQueryOptions\",\n    },\n};\n//# sourceMappingURL=SpansAggregateRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateResponse = void 0;\n/**\n * The response object for the spans aggregate API endpoint.\n */\nclass SpansAggregateResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateResponse.attributeTypeMap;\n    }\n}\nexports.SpansAggregateResponse = SpansAggregateResponse;\n/**\n * @ignore\n */\nSpansAggregateResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SpansAggregateResponseMetadata\",\n    },\n};\n//# sourceMappingURL=SpansAggregateResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass SpansAggregateResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateResponseMetadata.attributeTypeMap;\n    }\n}\nexports.SpansAggregateResponseMetadata = SpansAggregateResponseMetadata;\n/**\n * @ignore\n */\nSpansAggregateResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SpansAggregateResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansAggregateResponseMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAggregateSort = void 0;\n/**\n * A sort rule.\n */\nclass SpansAggregateSort {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAggregateSort.attributeTypeMap;\n    }\n}\nexports.SpansAggregateSort = SpansAggregateSort;\n/**\n * @ignore\n */\nSpansAggregateSort.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"SpansAggregationFunction\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    order: {\n        baseName: \"order\",\n        type: \"SpansSortOrder\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansAggregateSortType\",\n    },\n};\n//# sourceMappingURL=SpansAggregateSort.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansAttributes = void 0;\n/**\n * JSON object containing all span attributes and their associated values.\n */\nclass SpansAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansAttributes.attributeTypeMap;\n    }\n}\nexports.SpansAttributes = SpansAttributes;\n/**\n * @ignore\n */\nSpansAttributes.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"{ [key: string]: any; }\",\n    },\n    custom: {\n        baseName: \"custom\",\n        type: \"{ [key: string]: any; }\",\n    },\n    endTimestamp: {\n        baseName: \"end_timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    env: {\n        baseName: \"env\",\n        type: \"string\",\n    },\n    host: {\n        baseName: \"host\",\n        type: \"string\",\n    },\n    ingestionReason: {\n        baseName: \"ingestion_reason\",\n        type: \"string\",\n    },\n    parentId: {\n        baseName: \"parent_id\",\n        type: \"string\",\n    },\n    resourceHash: {\n        baseName: \"resource_hash\",\n        type: \"string\",\n    },\n    resourceName: {\n        baseName: \"resource_name\",\n        type: \"string\",\n    },\n    retainedBy: {\n        baseName: \"retained_by\",\n        type: \"string\",\n    },\n    service: {\n        baseName: \"service\",\n        type: \"string\",\n    },\n    singleSpan: {\n        baseName: \"single_span\",\n        type: \"boolean\",\n    },\n    spanId: {\n        baseName: \"span_id\",\n        type: \"string\",\n    },\n    startTimestamp: {\n        baseName: \"start_timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    tags: {\n        baseName: \"tags\",\n        type: \"Array\",\n    },\n    traceId: {\n        baseName: \"trace_id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansCompute = void 0;\n/**\n * A compute rule to compute metrics or timeseries.\n */\nclass SpansCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansCompute.attributeTypeMap;\n    }\n}\nexports.SpansCompute = SpansCompute;\n/**\n * @ignore\n */\nSpansCompute.attributeTypeMap = {\n    aggregation: {\n        baseName: \"aggregation\",\n        type: \"SpansAggregationFunction\",\n        required: true,\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"string\",\n    },\n    metric: {\n        baseName: \"metric\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansComputeType\",\n    },\n};\n//# sourceMappingURL=SpansCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansGroupBy = void 0;\n/**\n * A group by rule.\n */\nclass SpansGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansGroupBy.attributeTypeMap;\n    }\n}\nexports.SpansGroupBy = SpansGroupBy;\n/**\n * @ignore\n */\nSpansGroupBy.attributeTypeMap = {\n    facet: {\n        baseName: \"facet\",\n        type: \"string\",\n        required: true,\n    },\n    histogram: {\n        baseName: \"histogram\",\n        type: \"SpansGroupByHistogram\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    missing: {\n        baseName: \"missing\",\n        type: \"SpansGroupByMissing\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"SpansAggregateSort\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"SpansGroupByTotal\",\n    },\n};\n//# sourceMappingURL=SpansGroupBy.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansGroupByHistogram = void 0;\n/**\n * Used to perform a histogram computation (only for measure facets).\n * Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval.\n */\nclass SpansGroupByHistogram {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansGroupByHistogram.attributeTypeMap;\n    }\n}\nexports.SpansGroupByHistogram = SpansGroupByHistogram;\n/**\n * @ignore\n */\nSpansGroupByHistogram.attributeTypeMap = {\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    max: {\n        baseName: \"max\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n    min: {\n        baseName: \"min\",\n        type: \"number\",\n        required: true,\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=SpansGroupByHistogram.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListRequest = void 0;\n/**\n * The request for a spans list.\n */\nclass SpansListRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListRequest.attributeTypeMap;\n    }\n}\nexports.SpansListRequest = SpansListRequest;\n/**\n * @ignore\n */\nSpansListRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SpansListRequestData\",\n    },\n};\n//# sourceMappingURL=SpansListRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListRequestAttributes = void 0;\n/**\n * The object containing all the query parameters.\n */\nclass SpansListRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListRequestAttributes.attributeTypeMap;\n    }\n}\nexports.SpansListRequestAttributes = SpansListRequestAttributes;\n/**\n * @ignore\n */\nSpansListRequestAttributes.attributeTypeMap = {\n    filter: {\n        baseName: \"filter\",\n        type: \"SpansQueryFilter\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"SpansQueryOptions\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"SpansListRequestPage\",\n    },\n    sort: {\n        baseName: \"sort\",\n        type: \"SpansSort\",\n    },\n};\n//# sourceMappingURL=SpansListRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListRequestData = void 0;\n/**\n * The object containing the query content.\n */\nclass SpansListRequestData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListRequestData.attributeTypeMap;\n    }\n}\nexports.SpansListRequestData = SpansListRequestData;\n/**\n * @ignore\n */\nSpansListRequestData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansListRequestAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansListRequestType\",\n    },\n};\n//# sourceMappingURL=SpansListRequestData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListRequestPage = void 0;\n/**\n * Paging attributes for listing spans.\n */\nclass SpansListRequestPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListRequestPage.attributeTypeMap;\n    }\n}\nexports.SpansListRequestPage = SpansListRequestPage;\n/**\n * @ignore\n */\nSpansListRequestPage.attributeTypeMap = {\n    cursor: {\n        baseName: \"cursor\",\n        type: \"string\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int32\",\n    },\n};\n//# sourceMappingURL=SpansListRequestPage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListResponse = void 0;\n/**\n * Response object with all spans matching the request and pagination information.\n */\nclass SpansListResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListResponse.attributeTypeMap;\n    }\n}\nexports.SpansListResponse = SpansListResponse;\n/**\n * @ignore\n */\nSpansListResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"SpansListResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"SpansListResponseMetadata\",\n    },\n};\n//# sourceMappingURL=SpansListResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListResponseLinks = void 0;\n/**\n * Links attributes.\n */\nclass SpansListResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListResponseLinks.attributeTypeMap;\n    }\n}\nexports.SpansListResponseLinks = SpansListResponseLinks;\n/**\n * @ignore\n */\nSpansListResponseLinks.attributeTypeMap = {\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansListResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansListResponseMetadata = void 0;\n/**\n * The metadata associated with a request.\n */\nclass SpansListResponseMetadata {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansListResponseMetadata.attributeTypeMap;\n    }\n}\nexports.SpansListResponseMetadata = SpansListResponseMetadata;\n/**\n * @ignore\n */\nSpansListResponseMetadata.attributeTypeMap = {\n    elapsed: {\n        baseName: \"elapsed\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    page: {\n        baseName: \"page\",\n        type: \"SpansResponseMetadataPage\",\n    },\n    requestId: {\n        baseName: \"request_id\",\n        type: \"string\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"SpansAggregateResponseStatus\",\n    },\n    warnings: {\n        baseName: \"warnings\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansListResponseMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricCompute = void 0;\n/**\n * The compute rule to compute the span-based metric.\n */\nclass SpansMetricCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricCompute.attributeTypeMap;\n    }\n}\nexports.SpansMetricCompute = SpansMetricCompute;\n/**\n * @ignore\n */\nSpansMetricCompute.attributeTypeMap = {\n    aggregationType: {\n        baseName: \"aggregation_type\",\n        type: \"SpansMetricComputeAggregationType\",\n        required: true,\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricCreateAttributes = void 0;\n/**\n * The object describing the Datadog span-based metric to create.\n */\nclass SpansMetricCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricCreateAttributes.attributeTypeMap;\n    }\n}\nexports.SpansMetricCreateAttributes = SpansMetricCreateAttributes;\n/**\n * @ignore\n */\nSpansMetricCreateAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"SpansMetricCompute\",\n        required: true,\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"SpansMetricFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansMetricCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricCreateData = void 0;\n/**\n * The new span-based metric properties.\n */\nclass SpansMetricCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricCreateData.attributeTypeMap;\n    }\n}\nexports.SpansMetricCreateData = SpansMetricCreateData;\n/**\n * @ignore\n */\nSpansMetricCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansMetricCreateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansMetricType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SpansMetricCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricCreateRequest = void 0;\n/**\n * The new span-based metric body.\n */\nclass SpansMetricCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricCreateRequest.attributeTypeMap;\n    }\n}\nexports.SpansMetricCreateRequest = SpansMetricCreateRequest;\n/**\n * @ignore\n */\nSpansMetricCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SpansMetricCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SpansMetricCreateRequest.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricFilter = void 0;\n/**\n * The span-based metric filter. Spans matching this filter will be aggregated in this metric.\n */\nclass SpansMetricFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricFilter.attributeTypeMap;\n    }\n}\nexports.SpansMetricFilter = SpansMetricFilter;\n/**\n * @ignore\n */\nSpansMetricFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricGroupBy = void 0;\n/**\n * A group by rule.\n */\nclass SpansMetricGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricGroupBy.attributeTypeMap;\n    }\n}\nexports.SpansMetricGroupBy = SpansMetricGroupBy;\n/**\n * @ignore\n */\nSpansMetricGroupBy.attributeTypeMap = {\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n        required: true,\n    },\n    tagName: {\n        baseName: \"tag_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponse = void 0;\n/**\n * The span-based metric object.\n */\nclass SpansMetricResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponse.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponse = SpansMetricResponse;\n/**\n * @ignore\n */\nSpansMetricResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SpansMetricResponseData\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponseAttributes = void 0;\n/**\n * The object describing a Datadog span-based metric.\n */\nclass SpansMetricResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponseAttributes.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponseAttributes = SpansMetricResponseAttributes;\n/**\n * @ignore\n */\nSpansMetricResponseAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"SpansMetricResponseCompute\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"SpansMetricResponseFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponseCompute = void 0;\n/**\n * The compute rule to compute the span-based metric.\n */\nclass SpansMetricResponseCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponseCompute.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponseCompute = SpansMetricResponseCompute;\n/**\n * @ignore\n */\nSpansMetricResponseCompute.attributeTypeMap = {\n    aggregationType: {\n        baseName: \"aggregation_type\",\n        type: \"SpansMetricComputeAggregationType\",\n    },\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponseCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponseData = void 0;\n/**\n * The span-based metric properties.\n */\nclass SpansMetricResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponseData.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponseData = SpansMetricResponseData;\n/**\n * @ignore\n */\nSpansMetricResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansMetricResponseAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansMetricType\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponseData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponseFilter = void 0;\n/**\n * The span-based metric filter. Spans matching this filter will be aggregated in this metric.\n */\nclass SpansMetricResponseFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponseFilter.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponseFilter = SpansMetricResponseFilter;\n/**\n * @ignore\n */\nSpansMetricResponseFilter.attributeTypeMap = {\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponseFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricResponseGroupBy = void 0;\n/**\n * A group by rule.\n */\nclass SpansMetricResponseGroupBy {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricResponseGroupBy.attributeTypeMap;\n    }\n}\nexports.SpansMetricResponseGroupBy = SpansMetricResponseGroupBy;\n/**\n * @ignore\n */\nSpansMetricResponseGroupBy.attributeTypeMap = {\n    path: {\n        baseName: \"path\",\n        type: \"string\",\n    },\n    tagName: {\n        baseName: \"tag_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansMetricResponseGroupBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricUpdateAttributes = void 0;\n/**\n * The span-based metric properties that will be updated.\n */\nclass SpansMetricUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.SpansMetricUpdateAttributes = SpansMetricUpdateAttributes;\n/**\n * @ignore\n */\nSpansMetricUpdateAttributes.attributeTypeMap = {\n    compute: {\n        baseName: \"compute\",\n        type: \"SpansMetricUpdateCompute\",\n    },\n    filter: {\n        baseName: \"filter\",\n        type: \"SpansMetricFilter\",\n    },\n    groupBy: {\n        baseName: \"group_by\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansMetricUpdateAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricUpdateCompute = void 0;\n/**\n * The compute rule to compute the span-based metric.\n */\nclass SpansMetricUpdateCompute {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricUpdateCompute.attributeTypeMap;\n    }\n}\nexports.SpansMetricUpdateCompute = SpansMetricUpdateCompute;\n/**\n * @ignore\n */\nSpansMetricUpdateCompute.attributeTypeMap = {\n    includePercentiles: {\n        baseName: \"include_percentiles\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=SpansMetricUpdateCompute.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricUpdateData = void 0;\n/**\n * The new span-based metric properties.\n */\nclass SpansMetricUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricUpdateData.attributeTypeMap;\n    }\n}\nexports.SpansMetricUpdateData = SpansMetricUpdateData;\n/**\n * @ignore\n */\nSpansMetricUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"SpansMetricUpdateAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"SpansMetricType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SpansMetricUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricUpdateRequest = void 0;\n/**\n * The new span-based metric body.\n */\nclass SpansMetricUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricUpdateRequest.attributeTypeMap;\n    }\n}\nexports.SpansMetricUpdateRequest = SpansMetricUpdateRequest;\n/**\n * @ignore\n */\nSpansMetricUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"SpansMetricUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=SpansMetricUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansMetricsResponse = void 0;\n/**\n * All the available span-based metric objects.\n */\nclass SpansMetricsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansMetricsResponse.attributeTypeMap;\n    }\n}\nexports.SpansMetricsResponse = SpansMetricsResponse;\n/**\n * @ignore\n */\nSpansMetricsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=SpansMetricsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansQueryFilter = void 0;\n/**\n * The search and filter query settings.\n */\nclass SpansQueryFilter {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansQueryFilter.attributeTypeMap;\n    }\n}\nexports.SpansQueryFilter = SpansQueryFilter;\n/**\n * @ignore\n */\nSpansQueryFilter.attributeTypeMap = {\n    from: {\n        baseName: \"from\",\n        type: \"string\",\n    },\n    query: {\n        baseName: \"query\",\n        type: \"string\",\n    },\n    to: {\n        baseName: \"to\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansQueryFilter.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansQueryOptions = void 0;\n/**\n * Global query options that are used during the query.\n * Note: You should only supply timezone or time offset but not both otherwise the query will fail.\n */\nclass SpansQueryOptions {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansQueryOptions.attributeTypeMap;\n    }\n}\nexports.SpansQueryOptions = SpansQueryOptions;\n/**\n * @ignore\n */\nSpansQueryOptions.attributeTypeMap = {\n    timeOffset: {\n        baseName: \"timeOffset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    timezone: {\n        baseName: \"timezone\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansQueryOptions.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansResponseMetadataPage = void 0;\n/**\n * Paging attributes.\n */\nclass SpansResponseMetadataPage {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansResponseMetadataPage.attributeTypeMap;\n    }\n}\nexports.SpansResponseMetadataPage = SpansResponseMetadataPage;\n/**\n * @ignore\n */\nSpansResponseMetadataPage.attributeTypeMap = {\n    after: {\n        baseName: \"after\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansResponseMetadataPage.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpansWarning = void 0;\n/**\n * A warning message indicating something that went wrong with the query.\n */\nclass SpansWarning {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return SpansWarning.attributeTypeMap;\n    }\n}\nexports.SpansWarning = SpansWarning;\n/**\n * @ignore\n */\nSpansWarning.attributeTypeMap = {\n    code: {\n        baseName: \"code\",\n        type: \"string\",\n    },\n    detail: {\n        baseName: \"detail\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=SpansWarning.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Team = void 0;\n/**\n * A team\n */\nclass Team {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Team.attributeTypeMap;\n    }\n}\nexports.Team = Team;\n/**\n * @ignore\n */\nTeam.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"TeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=Team.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamAttributes = void 0;\n/**\n * Team attributes\n */\nclass TeamAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamAttributes.attributeTypeMap;\n    }\n}\nexports.TeamAttributes = TeamAttributes;\n/**\n * @ignore\n */\nTeamAttributes.attributeTypeMap = {\n    avatar: {\n        baseName: \"avatar\",\n        type: \"string\",\n    },\n    banner: {\n        baseName: \"banner\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n        required: true,\n    },\n    hiddenModules: {\n        baseName: \"hidden_modules\",\n        type: \"Array\",\n    },\n    linkCount: {\n        baseName: \"link_count\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    summary: {\n        baseName: \"summary\",\n        type: \"string\",\n    },\n    userCount: {\n        baseName: \"user_count\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    visibleModules: {\n        baseName: \"visible_modules\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TeamAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamCreate = void 0;\n/**\n * Team create\n */\nclass TeamCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamCreate.attributeTypeMap;\n    }\n}\nexports.TeamCreate = TeamCreate;\n/**\n * @ignore\n */\nTeamCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamCreateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"TeamCreateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamCreate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamCreateAttributes = void 0;\n/**\n * Team creation attributes\n */\nclass TeamCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamCreateAttributes.attributeTypeMap;\n    }\n}\nexports.TeamCreateAttributes = TeamCreateAttributes;\n/**\n * @ignore\n */\nTeamCreateAttributes.attributeTypeMap = {\n    avatar: {\n        baseName: \"avatar\",\n        type: \"string\",\n    },\n    banner: {\n        baseName: \"banner\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n        required: true,\n    },\n    hiddenModules: {\n        baseName: \"hidden_modules\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    visibleModules: {\n        baseName: \"visible_modules\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TeamCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamCreateRelationships = void 0;\n/**\n * Relationships formed with the team on creation\n */\nclass TeamCreateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamCreateRelationships.attributeTypeMap;\n    }\n}\nexports.TeamCreateRelationships = TeamCreateRelationships;\n/**\n * @ignore\n */\nTeamCreateRelationships.attributeTypeMap = {\n    users: {\n        baseName: \"users\",\n        type: \"RelationshipToUsers\",\n    },\n};\n//# sourceMappingURL=TeamCreateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamCreateRequest = void 0;\n/**\n * Request to create a team\n */\nclass TeamCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamCreateRequest.attributeTypeMap;\n    }\n}\nexports.TeamCreateRequest = TeamCreateRequest;\n/**\n * @ignore\n */\nTeamCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamCreate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLink = void 0;\n/**\n * Team link\n */\nclass TeamLink {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLink.attributeTypeMap;\n    }\n}\nexports.TeamLink = TeamLink;\n/**\n * @ignore\n */\nTeamLink.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamLinkAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamLinkType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamLink.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLinkAttributes = void 0;\n/**\n * Team link attributes\n */\nclass TeamLinkAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLinkAttributes.attributeTypeMap;\n    }\n}\nexports.TeamLinkAttributes = TeamLinkAttributes;\n/**\n * @ignore\n */\nTeamLinkAttributes.attributeTypeMap = {\n    label: {\n        baseName: \"label\",\n        type: \"string\",\n        required: true,\n    },\n    position: {\n        baseName: \"position\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    teamId: {\n        baseName: \"team_id\",\n        type: \"string\",\n    },\n    url: {\n        baseName: \"url\",\n        type: \"string\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamLinkAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLinkCreate = void 0;\n/**\n * Team link create\n */\nclass TeamLinkCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLinkCreate.attributeTypeMap;\n    }\n}\nexports.TeamLinkCreate = TeamLinkCreate;\n/**\n * @ignore\n */\nTeamLinkCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamLinkAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamLinkType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamLinkCreate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLinkCreateRequest = void 0;\n/**\n * Team link create request\n */\nclass TeamLinkCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLinkCreateRequest.attributeTypeMap;\n    }\n}\nexports.TeamLinkCreateRequest = TeamLinkCreateRequest;\n/**\n * @ignore\n */\nTeamLinkCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamLinkCreate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamLinkCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLinkResponse = void 0;\n/**\n * Team link response\n */\nclass TeamLinkResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLinkResponse.attributeTypeMap;\n    }\n}\nexports.TeamLinkResponse = TeamLinkResponse;\n/**\n * @ignore\n */\nTeamLinkResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamLink\",\n    },\n};\n//# sourceMappingURL=TeamLinkResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamLinksResponse = void 0;\n/**\n * Team links response\n */\nclass TeamLinksResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamLinksResponse.attributeTypeMap;\n    }\n}\nexports.TeamLinksResponse = TeamLinksResponse;\n/**\n * @ignore\n */\nTeamLinksResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TeamLinksResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSetting = void 0;\n/**\n * Team permission setting\n */\nclass TeamPermissionSetting {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSetting.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSetting = TeamPermissionSetting;\n/**\n * @ignore\n */\nTeamPermissionSetting.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamPermissionSettingAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamPermissionSettingType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamPermissionSetting.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingAttributes = void 0;\n/**\n * Team permission setting attributes\n */\nclass TeamPermissionSettingAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingAttributes.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingAttributes = TeamPermissionSettingAttributes;\n/**\n * @ignore\n */\nTeamPermissionSettingAttributes.attributeTypeMap = {\n    action: {\n        baseName: \"action\",\n        type: \"TeamPermissionSettingSerializerAction\",\n    },\n    editable: {\n        baseName: \"editable\",\n        type: \"boolean\",\n    },\n    options: {\n        baseName: \"options\",\n        type: \"Array\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"TeamPermissionSettingValue\",\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingResponse = void 0;\n/**\n * Team permission setting response\n */\nclass TeamPermissionSettingResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingResponse.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingResponse = TeamPermissionSettingResponse;\n/**\n * @ignore\n */\nTeamPermissionSettingResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamPermissionSetting\",\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingUpdate = void 0;\n/**\n * Team permission setting update\n */\nclass TeamPermissionSettingUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingUpdate.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingUpdate = TeamPermissionSettingUpdate;\n/**\n * @ignore\n */\nTeamPermissionSettingUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamPermissionSettingUpdateAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamPermissionSettingType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingUpdate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingUpdateAttributes = void 0;\n/**\n * Team permission setting update attributes\n */\nclass TeamPermissionSettingUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingUpdateAttributes = TeamPermissionSettingUpdateAttributes;\n/**\n * @ignore\n */\nTeamPermissionSettingUpdateAttributes.attributeTypeMap = {\n    value: {\n        baseName: \"value\",\n        type: \"TeamPermissionSettingValue\",\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingUpdateRequest = void 0;\n/**\n * Team permission setting update request\n */\nclass TeamPermissionSettingUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingUpdateRequest.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingUpdateRequest = TeamPermissionSettingUpdateRequest;\n/**\n * @ignore\n */\nTeamPermissionSettingUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamPermissionSettingUpdate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamPermissionSettingsResponse = void 0;\n/**\n * Team permission settings response\n */\nclass TeamPermissionSettingsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamPermissionSettingsResponse.attributeTypeMap;\n    }\n}\nexports.TeamPermissionSettingsResponse = TeamPermissionSettingsResponse;\n/**\n * @ignore\n */\nTeamPermissionSettingsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TeamPermissionSettingsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamRelationships = void 0;\n/**\n * Resources related to a team\n */\nclass TeamRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamRelationships.attributeTypeMap;\n    }\n}\nexports.TeamRelationships = TeamRelationships;\n/**\n * @ignore\n */\nTeamRelationships.attributeTypeMap = {\n    teamLinks: {\n        baseName: \"team_links\",\n        type: \"RelationshipToTeamLinks\",\n    },\n    userTeamPermissions: {\n        baseName: \"user_team_permissions\",\n        type: \"RelationshipToUserTeamPermission\",\n    },\n};\n//# sourceMappingURL=TeamRelationships.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamRelationshipsLinks = void 0;\n/**\n * Links attributes.\n */\nclass TeamRelationshipsLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamRelationshipsLinks.attributeTypeMap;\n    }\n}\nexports.TeamRelationshipsLinks = TeamRelationshipsLinks;\n/**\n * @ignore\n */\nTeamRelationshipsLinks.attributeTypeMap = {\n    related: {\n        baseName: \"related\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=TeamRelationshipsLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamResponse = void 0;\n/**\n * Response with a team\n */\nclass TeamResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamResponse.attributeTypeMap;\n    }\n}\nexports.TeamResponse = TeamResponse;\n/**\n * @ignore\n */\nTeamResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Team\",\n    },\n};\n//# sourceMappingURL=TeamResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamUpdate = void 0;\n/**\n * Team update request\n */\nclass TeamUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamUpdate.attributeTypeMap;\n    }\n}\nexports.TeamUpdate = TeamUpdate;\n/**\n * @ignore\n */\nTeamUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TeamUpdateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"TeamUpdateRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamUpdate.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamUpdateAttributes = void 0;\n/**\n * Team update attributes\n */\nclass TeamUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.TeamUpdateAttributes = TeamUpdateAttributes;\n/**\n * @ignore\n */\nTeamUpdateAttributes.attributeTypeMap = {\n    avatar: {\n        baseName: \"avatar\",\n        type: \"string\",\n    },\n    banner: {\n        baseName: \"banner\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    color: {\n        baseName: \"color\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    description: {\n        baseName: \"description\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n        required: true,\n    },\n    hiddenModules: {\n        baseName: \"hidden_modules\",\n        type: \"Array\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n        required: true,\n    },\n    visibleModules: {\n        baseName: \"visible_modules\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TeamUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamUpdateRelationships = void 0;\n/**\n * Team update relationships\n */\nclass TeamUpdateRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamUpdateRelationships.attributeTypeMap;\n    }\n}\nexports.TeamUpdateRelationships = TeamUpdateRelationships;\n/**\n * @ignore\n */\nTeamUpdateRelationships.attributeTypeMap = {\n    teamLinks: {\n        baseName: \"team_links\",\n        type: \"RelationshipToTeamLinks\",\n    },\n};\n//# sourceMappingURL=TeamUpdateRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamUpdateRequest = void 0;\n/**\n * Team update request\n */\nclass TeamUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamUpdateRequest.attributeTypeMap;\n    }\n}\nexports.TeamUpdateRequest = TeamUpdateRequest;\n/**\n * @ignore\n */\nTeamUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TeamUpdate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TeamUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamsResponse = void 0;\n/**\n * Response with multiple teams\n */\nclass TeamsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamsResponse.attributeTypeMap;\n    }\n}\nexports.TeamsResponse = TeamsResponse;\n/**\n * @ignore\n */\nTeamsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"TeamsResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"TeamsResponseMeta\",\n    },\n};\n//# sourceMappingURL=TeamsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamsResponseLinks = void 0;\n/**\n * Teams response links.\n */\nclass TeamsResponseLinks {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamsResponseLinks.attributeTypeMap;\n    }\n}\nexports.TeamsResponseLinks = TeamsResponseLinks;\n/**\n * @ignore\n */\nTeamsResponseLinks.attributeTypeMap = {\n    first: {\n        baseName: \"first\",\n        type: \"string\",\n    },\n    last: {\n        baseName: \"last\",\n        type: \"string\",\n    },\n    next: {\n        baseName: \"next\",\n        type: \"string\",\n    },\n    prev: {\n        baseName: \"prev\",\n        type: \"string\",\n    },\n    self: {\n        baseName: \"self\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=TeamsResponseLinks.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamsResponseMeta = void 0;\n/**\n * Teams response metadata.\n */\nclass TeamsResponseMeta {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamsResponseMeta.attributeTypeMap;\n    }\n}\nexports.TeamsResponseMeta = TeamsResponseMeta;\n/**\n * @ignore\n */\nTeamsResponseMeta.attributeTypeMap = {\n    pagination: {\n        baseName: \"pagination\",\n        type: \"TeamsResponseMetaPagination\",\n    },\n};\n//# sourceMappingURL=TeamsResponseMeta.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TeamsResponseMetaPagination = void 0;\n/**\n * Teams response metadata.\n */\nclass TeamsResponseMetaPagination {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TeamsResponseMetaPagination.attributeTypeMap;\n    }\n}\nexports.TeamsResponseMetaPagination = TeamsResponseMetaPagination;\n/**\n * @ignore\n */\nTeamsResponseMetaPagination.attributeTypeMap = {\n    firstOffset: {\n        baseName: \"first_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    lastOffset: {\n        baseName: \"last_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    limit: {\n        baseName: \"limit\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    nextOffset: {\n        baseName: \"next_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    offset: {\n        baseName: \"offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    prevOffset: {\n        baseName: \"prev_offset\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    total: {\n        baseName: \"total\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=TeamsResponseMetaPagination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesFormulaQueryRequest = void 0;\n/**\n * A request wrapper around a single timeseries query to be executed.\n */\nclass TimeseriesFormulaQueryRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesFormulaQueryRequest.attributeTypeMap;\n    }\n}\nexports.TimeseriesFormulaQueryRequest = TimeseriesFormulaQueryRequest;\n/**\n * @ignore\n */\nTimeseriesFormulaQueryRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TimeseriesFormulaRequest\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TimeseriesFormulaQueryRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesFormulaQueryResponse = void 0;\n/**\n * A message containing one response to a timeseries query made with timeseries formula query request.\n */\nclass TimeseriesFormulaQueryResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesFormulaQueryResponse.attributeTypeMap;\n    }\n}\nexports.TimeseriesFormulaQueryResponse = TimeseriesFormulaQueryResponse;\n/**\n * @ignore\n */\nTimeseriesFormulaQueryResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"TimeseriesResponse\",\n    },\n    errors: {\n        baseName: \"errors\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=TimeseriesFormulaQueryResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesFormulaRequest = void 0;\n/**\n * A single timeseries query to be executed.\n */\nclass TimeseriesFormulaRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesFormulaRequest.attributeTypeMap;\n    }\n}\nexports.TimeseriesFormulaRequest = TimeseriesFormulaRequest;\n/**\n * @ignore\n */\nTimeseriesFormulaRequest.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TimeseriesFormulaRequestAttributes\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TimeseriesFormulaRequestType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=TimeseriesFormulaRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesFormulaRequestAttributes = void 0;\n/**\n * The object describing a timeseries formula request.\n */\nclass TimeseriesFormulaRequestAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesFormulaRequestAttributes.attributeTypeMap;\n    }\n}\nexports.TimeseriesFormulaRequestAttributes = TimeseriesFormulaRequestAttributes;\n/**\n * @ignore\n */\nTimeseriesFormulaRequestAttributes.attributeTypeMap = {\n    formulas: {\n        baseName: \"formulas\",\n        type: \"Array\",\n    },\n    from: {\n        baseName: \"from\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n    interval: {\n        baseName: \"interval\",\n        type: \"number\",\n        format: \"int64\",\n    },\n    queries: {\n        baseName: \"queries\",\n        type: \"Array\",\n        required: true,\n    },\n    to: {\n        baseName: \"to\",\n        type: \"number\",\n        required: true,\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=TimeseriesFormulaRequestAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesResponse = void 0;\n/**\n * A message containing the response to a timeseries query.\n */\nclass TimeseriesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesResponse.attributeTypeMap;\n    }\n}\nexports.TimeseriesResponse = TimeseriesResponse;\n/**\n * @ignore\n */\nTimeseriesResponse.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"TimeseriesResponseAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"TimeseriesFormulaResponseType\",\n    },\n};\n//# sourceMappingURL=TimeseriesResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesResponseAttributes = void 0;\n/**\n * The object describing a timeseries response.\n */\nclass TimeseriesResponseAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesResponseAttributes.attributeTypeMap;\n    }\n}\nexports.TimeseriesResponseAttributes = TimeseriesResponseAttributes;\n/**\n * @ignore\n */\nTimeseriesResponseAttributes.attributeTypeMap = {\n    series: {\n        baseName: \"series\",\n        type: \"Array\",\n    },\n    times: {\n        baseName: \"times\",\n        type: \"Array\",\n        format: \"int64\",\n    },\n    values: {\n        baseName: \"values\",\n        type: \"Array>\",\n        format: \"double\",\n    },\n};\n//# sourceMappingURL=TimeseriesResponseAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeseriesResponseSeries = void 0;\n/**\n\n*/\nclass TimeseriesResponseSeries {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return TimeseriesResponseSeries.attributeTypeMap;\n    }\n}\nexports.TimeseriesResponseSeries = TimeseriesResponseSeries;\n/**\n * @ignore\n */\nTimeseriesResponseSeries.attributeTypeMap = {\n    groupTags: {\n        baseName: \"group_tags\",\n        type: \"Array\",\n    },\n    queryIndex: {\n        baseName: \"query_index\",\n        type: \"number\",\n        format: \"int32\",\n    },\n    unit: {\n        baseName: \"unit\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=TimeseriesResponseSeries.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Unit = void 0;\n/**\n * Object containing the metric unit family, scale factor, name, and short name.\n */\nclass Unit {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return Unit.attributeTypeMap;\n    }\n}\nexports.Unit = Unit;\n/**\n * @ignore\n */\nUnit.attributeTypeMap = {\n    family: {\n        baseName: \"family\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    plural: {\n        baseName: \"plural\",\n        type: \"string\",\n    },\n    scaleFactor: {\n        baseName: \"scale_factor\",\n        type: \"number\",\n        format: \"double\",\n    },\n    shortName: {\n        baseName: \"short_name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=Unit.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageApplicationSecurityMonitoringResponse = void 0;\n/**\n * Application Security Monitoring usage response.\n */\nclass UsageApplicationSecurityMonitoringResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageApplicationSecurityMonitoringResponse.attributeTypeMap;\n    }\n}\nexports.UsageApplicationSecurityMonitoringResponse = UsageApplicationSecurityMonitoringResponse;\n/**\n * @ignore\n */\nUsageApplicationSecurityMonitoringResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageApplicationSecurityMonitoringResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageAttributesObject = void 0;\n/**\n * Usage attributes data.\n */\nclass UsageAttributesObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageAttributesObject.attributeTypeMap;\n    }\n}\nexports.UsageAttributesObject = UsageAttributesObject;\n/**\n * @ignore\n */\nUsageAttributesObject.attributeTypeMap = {\n    orgName: {\n        baseName: \"org_name\",\n        type: \"string\",\n    },\n    productFamily: {\n        baseName: \"product_family\",\n        type: \"string\",\n    },\n    publicId: {\n        baseName: \"public_id\",\n        type: \"string\",\n    },\n    region: {\n        baseName: \"region\",\n        type: \"string\",\n    },\n    timeseries: {\n        baseName: \"timeseries\",\n        type: \"Array\",\n    },\n    usageType: {\n        baseName: \"usage_type\",\n        type: \"HourlyUsageType\",\n    },\n};\n//# sourceMappingURL=UsageAttributesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageDataObject = void 0;\n/**\n * Usage data.\n */\nclass UsageDataObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageDataObject.attributeTypeMap;\n    }\n}\nexports.UsageDataObject = UsageDataObject;\n/**\n * @ignore\n */\nUsageDataObject.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UsageAttributesObject\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsageTimeSeriesType\",\n    },\n};\n//# sourceMappingURL=UsageDataObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageLambdaTracedInvocationsResponse = void 0;\n/**\n * Lambda Traced Invocations usage response.\n */\nclass UsageLambdaTracedInvocationsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageLambdaTracedInvocationsResponse.attributeTypeMap;\n    }\n}\nexports.UsageLambdaTracedInvocationsResponse = UsageLambdaTracedInvocationsResponse;\n/**\n * @ignore\n */\nUsageLambdaTracedInvocationsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageLambdaTracedInvocationsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageObservabilityPipelinesResponse = void 0;\n/**\n * Observability Pipelines usage response.\n */\nclass UsageObservabilityPipelinesResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageObservabilityPipelinesResponse.attributeTypeMap;\n    }\n}\nexports.UsageObservabilityPipelinesResponse = UsageObservabilityPipelinesResponse;\n/**\n * @ignore\n */\nUsageObservabilityPipelinesResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UsageObservabilityPipelinesResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsageTimeSeriesObject = void 0;\n/**\n * Usage timeseries data.\n */\nclass UsageTimeSeriesObject {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsageTimeSeriesObject.attributeTypeMap;\n    }\n}\nexports.UsageTimeSeriesObject = UsageTimeSeriesObject;\n/**\n * @ignore\n */\nUsageTimeSeriesObject.attributeTypeMap = {\n    timestamp: {\n        baseName: \"timestamp\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    value: {\n        baseName: \"value\",\n        type: \"number\",\n        format: \"int64\",\n    },\n};\n//# sourceMappingURL=UsageTimeSeriesObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.User = void 0;\n/**\n * User object returned by the API.\n */\nclass User {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return User.attributeTypeMap;\n    }\n}\nexports.User = User;\n/**\n * @ignore\n */\nUser.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserResponseRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n    },\n};\n//# sourceMappingURL=User.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserAttributes = void 0;\n/**\n * Attributes of user object returned by the API.\n */\nclass UserAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserAttributes.attributeTypeMap;\n    }\n}\nexports.UserAttributes = UserAttributes;\n/**\n * @ignore\n */\nUserAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    handle: {\n        baseName: \"handle\",\n        type: \"string\",\n    },\n    icon: {\n        baseName: \"icon\",\n        type: \"string\",\n    },\n    modifiedAt: {\n        baseName: \"modified_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    serviceAccount: {\n        baseName: \"service_account\",\n        type: \"boolean\",\n    },\n    status: {\n        baseName: \"status\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n    verified: {\n        baseName: \"verified\",\n        type: \"boolean\",\n    },\n};\n//# sourceMappingURL=UserAttributes.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserCreateAttributes = void 0;\n/**\n * Attributes of the created user.\n */\nclass UserCreateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserCreateAttributes.attributeTypeMap;\n    }\n}\nexports.UserCreateAttributes = UserCreateAttributes;\n/**\n * @ignore\n */\nUserCreateAttributes.attributeTypeMap = {\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n        required: true,\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n    title: {\n        baseName: \"title\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UserCreateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserCreateData = void 0;\n/**\n * Object to create a user.\n */\nclass UserCreateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserCreateData.attributeTypeMap;\n    }\n}\nexports.UserCreateData = UserCreateData;\n/**\n * @ignore\n */\nUserCreateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserCreateAttributes\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserCreateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserCreateRequest = void 0;\n/**\n * Create a user.\n */\nclass UserCreateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserCreateRequest.attributeTypeMap;\n    }\n}\nexports.UserCreateRequest = UserCreateRequest;\n/**\n * @ignore\n */\nUserCreateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserCreateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserCreateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationData = void 0;\n/**\n * Object to create a user invitation.\n */\nclass UserInvitationData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationData.attributeTypeMap;\n    }\n}\nexports.UserInvitationData = UserInvitationData;\n/**\n * @ignore\n */\nUserInvitationData.attributeTypeMap = {\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserInvitationRelationships\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserInvitationsType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserInvitationData.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationDataAttributes = void 0;\n/**\n * Attributes of a user invitation.\n */\nclass UserInvitationDataAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationDataAttributes.attributeTypeMap;\n    }\n}\nexports.UserInvitationDataAttributes = UserInvitationDataAttributes;\n/**\n * @ignore\n */\nUserInvitationDataAttributes.attributeTypeMap = {\n    createdAt: {\n        baseName: \"created_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    expiresAt: {\n        baseName: \"expires_at\",\n        type: \"Date\",\n        format: \"date-time\",\n    },\n    inviteType: {\n        baseName: \"invite_type\",\n        type: \"string\",\n    },\n    uuid: {\n        baseName: \"uuid\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UserInvitationDataAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationRelationships = void 0;\n/**\n * Relationships data for user invitation.\n */\nclass UserInvitationRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationRelationships.attributeTypeMap;\n    }\n}\nexports.UserInvitationRelationships = UserInvitationRelationships;\n/**\n * @ignore\n */\nUserInvitationRelationships.attributeTypeMap = {\n    user: {\n        baseName: \"user\",\n        type: \"RelationshipToUser\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserInvitationRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationResponse = void 0;\n/**\n * User invitation as returned by the API.\n */\nclass UserInvitationResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationResponse.attributeTypeMap;\n    }\n}\nexports.UserInvitationResponse = UserInvitationResponse;\n/**\n * @ignore\n */\nUserInvitationResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserInvitationResponseData\",\n    },\n};\n//# sourceMappingURL=UserInvitationResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationResponseData = void 0;\n/**\n * Object of a user invitation returned by the API.\n */\nclass UserInvitationResponseData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationResponseData.attributeTypeMap;\n    }\n}\nexports.UserInvitationResponseData = UserInvitationResponseData;\n/**\n * @ignore\n */\nUserInvitationResponseData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserInvitationDataAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserInvitationRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserInvitationsType\",\n    },\n};\n//# sourceMappingURL=UserInvitationResponseData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationsRequest = void 0;\n/**\n * Object to invite users to join the organization.\n */\nclass UserInvitationsRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationsRequest.attributeTypeMap;\n    }\n}\nexports.UserInvitationsRequest = UserInvitationsRequest;\n/**\n * @ignore\n */\nUserInvitationsRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserInvitationsRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserInvitationsResponse = void 0;\n/**\n * User invitations as returned by the API.\n */\nclass UserInvitationsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserInvitationsResponse.attributeTypeMap;\n    }\n}\nexports.UserInvitationsResponse = UserInvitationsResponse;\n/**\n * @ignore\n */\nUserInvitationsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UserInvitationsResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserRelationships = void 0;\n/**\n * Relationships of the user object.\n */\nclass UserRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserRelationships.attributeTypeMap;\n    }\n}\nexports.UserRelationships = UserRelationships;\n/**\n * @ignore\n */\nUserRelationships.attributeTypeMap = {\n    roles: {\n        baseName: \"roles\",\n        type: \"RelationshipToRoles\",\n    },\n};\n//# sourceMappingURL=UserRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserResponse = void 0;\n/**\n * Response containing information about a single user.\n */\nclass UserResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserResponse.attributeTypeMap;\n    }\n}\nexports.UserResponse = UserResponse;\n/**\n * @ignore\n */\nUserResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"User\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n};\n//# sourceMappingURL=UserResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserResponseRelationships = void 0;\n/**\n * Relationships of the user object returned by the API.\n */\nclass UserResponseRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserResponseRelationships.attributeTypeMap;\n    }\n}\nexports.UserResponseRelationships = UserResponseRelationships;\n/**\n * @ignore\n */\nUserResponseRelationships.attributeTypeMap = {\n    org: {\n        baseName: \"org\",\n        type: \"RelationshipToOrganization\",\n    },\n    otherOrgs: {\n        baseName: \"other_orgs\",\n        type: \"RelationshipToOrganizations\",\n    },\n    otherUsers: {\n        baseName: \"other_users\",\n        type: \"RelationshipToUsers\",\n    },\n    roles: {\n        baseName: \"roles\",\n        type: \"RelationshipToRoles\",\n    },\n};\n//# sourceMappingURL=UserResponseRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeam = void 0;\n/**\n * A user's relationship with a team\n */\nclass UserTeam {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeam.attributeTypeMap;\n    }\n}\nexports.UserTeam = UserTeam;\n/**\n * @ignore\n */\nUserTeam.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserTeamAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserTeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeam.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamAttributes = void 0;\n/**\n * Team membership attributes\n */\nclass UserTeamAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamAttributes.attributeTypeMap;\n    }\n}\nexports.UserTeamAttributes = UserTeamAttributes;\n/**\n * @ignore\n */\nUserTeamAttributes.attributeTypeMap = {\n    role: {\n        baseName: \"role\",\n        type: \"UserTeamRole\",\n    },\n};\n//# sourceMappingURL=UserTeamAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamCreate = void 0;\n/**\n * A user's relationship with a team\n */\nclass UserTeamCreate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamCreate.attributeTypeMap;\n    }\n}\nexports.UserTeamCreate = UserTeamCreate;\n/**\n * @ignore\n */\nUserTeamCreate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserTeamAttributes\",\n    },\n    relationships: {\n        baseName: \"relationships\",\n        type: \"UserTeamRelationships\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeamCreate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamPermission = void 0;\n/**\n * A user's permissions for a given team\n */\nclass UserTeamPermission {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamPermission.attributeTypeMap;\n    }\n}\nexports.UserTeamPermission = UserTeamPermission;\n/**\n * @ignore\n */\nUserTeamPermission.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserTeamPermissionAttributes\",\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamPermissionType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeamPermission.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamPermissionAttributes = void 0;\n/**\n * User team permission attributes\n */\nclass UserTeamPermissionAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamPermissionAttributes.attributeTypeMap;\n    }\n}\nexports.UserTeamPermissionAttributes = UserTeamPermissionAttributes;\n/**\n * @ignore\n */\nUserTeamPermissionAttributes.attributeTypeMap = {\n    permissions: {\n        baseName: \"permissions\",\n        type: \"any\",\n    },\n};\n//# sourceMappingURL=UserTeamPermissionAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamRelationships = void 0;\n/**\n * Relationship between membership and a user\n */\nclass UserTeamRelationships {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamRelationships.attributeTypeMap;\n    }\n}\nexports.UserTeamRelationships = UserTeamRelationships;\n/**\n * @ignore\n */\nUserTeamRelationships.attributeTypeMap = {\n    user: {\n        baseName: \"user\",\n        type: \"RelationshipToUserTeamUser\",\n    },\n};\n//# sourceMappingURL=UserTeamRelationships.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamRequest = void 0;\n/**\n * Team membership request\n */\nclass UserTeamRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamRequest.attributeTypeMap;\n    }\n}\nexports.UserTeamRequest = UserTeamRequest;\n/**\n * @ignore\n */\nUserTeamRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserTeamCreate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeamRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamResponse = void 0;\n/**\n * Team membership response\n */\nclass UserTeamResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamResponse.attributeTypeMap;\n    }\n}\nexports.UserTeamResponse = UserTeamResponse;\n/**\n * @ignore\n */\nUserTeamResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserTeam\",\n    },\n};\n//# sourceMappingURL=UserTeamResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamUpdate = void 0;\n/**\n * A user's relationship with a team\n */\nclass UserTeamUpdate {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamUpdate.attributeTypeMap;\n    }\n}\nexports.UserTeamUpdate = UserTeamUpdate;\n/**\n * @ignore\n */\nUserTeamUpdate.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserTeamAttributes\",\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UserTeamType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeamUpdate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamUpdateRequest = void 0;\n/**\n * Team membership request\n */\nclass UserTeamUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamUpdateRequest.attributeTypeMap;\n    }\n}\nexports.UserTeamUpdateRequest = UserTeamUpdateRequest;\n/**\n * @ignore\n */\nUserTeamUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserTeamUpdate\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserTeamUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTeamsResponse = void 0;\n/**\n * Team memberships response\n */\nclass UserTeamsResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserTeamsResponse.attributeTypeMap;\n    }\n}\nexports.UserTeamsResponse = UserTeamsResponse;\n/**\n * @ignore\n */\nUserTeamsResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    links: {\n        baseName: \"links\",\n        type: \"TeamsResponseLinks\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"TeamsResponseMeta\",\n    },\n};\n//# sourceMappingURL=UserTeamsResponse.js.map","\"use strict\";\n/**\n * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.\n * This product includes software developed at Datadog (https://www.datadoghq.com/).\n * Copyright 2020-Present Datadog, Inc.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserUpdateAttributes = void 0;\n/**\n * Attributes of the edited user.\n */\nclass UserUpdateAttributes {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserUpdateAttributes.attributeTypeMap;\n    }\n}\nexports.UserUpdateAttributes = UserUpdateAttributes;\n/**\n * @ignore\n */\nUserUpdateAttributes.attributeTypeMap = {\n    disabled: {\n        baseName: \"disabled\",\n        type: \"boolean\",\n    },\n    email: {\n        baseName: \"email\",\n        type: \"string\",\n    },\n    name: {\n        baseName: \"name\",\n        type: \"string\",\n    },\n};\n//# sourceMappingURL=UserUpdateAttributes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserUpdateData = void 0;\n/**\n * Object to update a user.\n */\nclass UserUpdateData {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserUpdateData.attributeTypeMap;\n    }\n}\nexports.UserUpdateData = UserUpdateData;\n/**\n * @ignore\n */\nUserUpdateData.attributeTypeMap = {\n    attributes: {\n        baseName: \"attributes\",\n        type: \"UserUpdateAttributes\",\n        required: true,\n    },\n    id: {\n        baseName: \"id\",\n        type: \"string\",\n        required: true,\n    },\n    type: {\n        baseName: \"type\",\n        type: \"UsersType\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserUpdateData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserUpdateRequest = void 0;\n/**\n * Update a user.\n */\nclass UserUpdateRequest {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UserUpdateRequest.attributeTypeMap;\n    }\n}\nexports.UserUpdateRequest = UserUpdateRequest;\n/**\n * @ignore\n */\nUserUpdateRequest.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"UserUpdateData\",\n        required: true,\n    },\n};\n//# sourceMappingURL=UserUpdateRequest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UsersResponse = void 0;\n/**\n * Response containing information about multiple users.\n */\nclass UsersResponse {\n    constructor() { }\n    /**\n     * @ignore\n     */\n    static getAttributeTypeMap() {\n        return UsersResponse.attributeTypeMap;\n    }\n}\nexports.UsersResponse = UsersResponse;\n/**\n * @ignore\n */\nUsersResponse.attributeTypeMap = {\n    data: {\n        baseName: \"data\",\n        type: \"Array\",\n    },\n    included: {\n        baseName: \"included\",\n        type: \"Array\",\n    },\n    meta: {\n        baseName: \"meta\",\n        type: \"ResponseMetaAttributes\",\n    },\n};\n//# sourceMappingURL=UsersResponse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.userAgent = void 0;\nconst version_1 = require(\"./version\");\nif (typeof process !== 'undefined' && process.release && process.release.name === 'node') {\n    exports.userAgent = `datadog-api-client-typescript/${version_1.version} (node ${process.versions.node}; os ${process.platform}; arch ${process.arch})`;\n}\nelse if (typeof window !== \"undefined\" && typeof window.document !== \"undefined\") {\n    // we don't set user-agent headers in browsers\n}\nelse {\n    exports.userAgent = `datadog-api-client-typescript/${version_1.version} (runtime unknown)`;\n}\n//# sourceMappingURL=userAgent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\nexports.version = \"1.17.0\";\n//# sourceMappingURL=version.js.map","module.exports =\n{\n  parallel      : require('./parallel.js'),\n  serial        : require('./serial.js'),\n  serialOrdered : require('./serialOrdered.js')\n};\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n  Object.keys(state.jobs).forEach(clean.bind(state));\n\n  // reset leftover jobs\n  state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this  state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n  if (typeof this.jobs[key] == 'function')\n  {\n    this.jobs[key]();\n  }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param   {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n  var isAsync = false;\n\n  // check if async happened\n  defer(function() { isAsync = true; });\n\n  return function async_callback(err, result)\n  {\n    if (isAsync)\n    {\n      callback(err, result);\n    }\n    else\n    {\n      defer(function nextTick_callback()\n      {\n        callback(err, result);\n      });\n    }\n  };\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n  var nextTick = typeof setImmediate == 'function'\n    ? setImmediate\n    : (\n      typeof process == 'object' && typeof process.nextTick == 'function'\n      ? process.nextTick\n      : null\n    );\n\n  if (nextTick)\n  {\n    nextTick(fn);\n  }\n  else\n  {\n    setTimeout(fn, 0);\n  }\n}\n","var async = require('./async.js')\n  , abort = require('./abort.js')\n  ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n  // store current index\n  var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n  state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n  {\n    // don't repeat yourself\n    // skip secondary callbacks\n    if (!(key in state.jobs))\n    {\n      return;\n    }\n\n    // clean up jobs\n    delete state.jobs[key];\n\n    if (error)\n    {\n      // don't process rest of the results\n      // stop still active jobs\n      // and reset the list\n      abort(state);\n    }\n    else\n    {\n      state.results[key] = output;\n    }\n\n    // return salvaged results\n    callback(error, state.results);\n  });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param   {function} iterator - iterator to invoke\n * @param   {string|number} key - key/index of the element in the list of jobs\n * @param   {mixed} item - job description\n * @param   {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n  var aborter;\n\n  // allow shortcut if iterator expects only two arguments\n  if (iterator.length == 2)\n  {\n    aborter = iterator(item, async(callback));\n  }\n  // otherwise go with full three arguments\n  else\n  {\n    aborter = iterator(item, key, async(callback));\n  }\n\n  return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param   {array|object} list - list to iterate over\n * @param   {function|null} sortMethod - function to use for keys sort,\n *                                     or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n  var isNamedList = !Array.isArray(list)\n    , initState =\n    {\n      index    : 0,\n      keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n      jobs     : {},\n      results  : isNamedList ? {} : [],\n      size     : isNamedList ? Object.keys(list).length : list.length\n    }\n    ;\n\n  if (sortMethod)\n  {\n    // sort array keys based on it's values\n    // sort object's keys just on own merit\n    initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n    {\n      return sortMethod(list[a], list[b]);\n    });\n  }\n\n  return initState;\n}\n","var abort = require('./abort.js')\n  , async = require('./async.js')\n  ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this  AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n  if (!Object.keys(this.jobs).length)\n  {\n    return;\n  }\n\n  // fast forward iteration index\n  this.index = this.size;\n\n  // abort jobs\n  abort(this);\n\n  // send back results we have so far\n  async(callback)(null, this.results);\n}\n","var iterate    = require('./lib/iterate.js')\n  , initState  = require('./lib/state.js')\n  , terminator = require('./lib/terminator.js')\n  ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param   {array|object} list - array or object (named list) to iterate over\n * @param   {function} iterator - iterator to run\n * @param   {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n  var state = initState(list);\n\n  while (state.index < (state['keyedList'] || list).length)\n  {\n    iterate(list, iterator, state, function(error, result)\n    {\n      if (error)\n      {\n        callback(error, result);\n        return;\n      }\n\n      // looks like it's the last one\n      if (Object.keys(state.jobs).length === 0)\n      {\n        callback(null, state.results);\n        return;\n      }\n    });\n\n    state.index++;\n  }\n\n  return terminator.bind(state, callback);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param   {array|object} list - array or object (named list) to iterate over\n * @param   {function} iterator - iterator to run\n * @param   {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n  return serialOrdered(list, iterator, null, callback);\n}\n","var iterate    = require('./lib/iterate.js')\n  , initState  = require('./lib/state.js')\n  , terminator = require('./lib/terminator.js')\n  ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending  = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param   {array|object} list - array or object (named list) to iterate over\n * @param   {function} iterator - iterator to run\n * @param   {function} sortMethod - custom sort function\n * @param   {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n  var state = initState(list, sortMethod);\n\n  iterate(list, iterator, state, function iteratorHandler(error, result)\n  {\n    if (error)\n    {\n      callback(error, result);\n      return;\n    }\n\n    state.index++;\n\n    // are we there yet?\n    if (state.index < (state['keyedList'] || list).length)\n    {\n      iterate(list, iterator, state, iteratorHandler);\n      return;\n    }\n\n    // done here\n    callback(null, state.results);\n  });\n\n  return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param   {mixed} a - an item to compare\n * @param   {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n  return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param   {mixed} a - an item to compare\n * @param   {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n  return -1 * ascending(a, b);\n}\n","/* eslint-disable node/no-deprecated-api */\n\nvar toString = Object.prototype.toString\n\nvar isModern = (\n  typeof Buffer !== 'undefined' &&\n  typeof Buffer.alloc === 'function' &&\n  typeof Buffer.allocUnsafe === 'function' &&\n  typeof Buffer.from === 'function'\n)\n\nfunction isArrayBuffer (input) {\n  return toString.call(input).slice(8, -1) === 'ArrayBuffer'\n}\n\nfunction fromArrayBuffer (obj, byteOffset, length) {\n  byteOffset >>>= 0\n\n  var maxLength = obj.byteLength - byteOffset\n\n  if (maxLength < 0) {\n    throw new RangeError(\"'offset' is out of bounds\")\n  }\n\n  if (length === undefined) {\n    length = maxLength\n  } else {\n    length >>>= 0\n\n    if (length > maxLength) {\n      throw new RangeError(\"'length' is out of bounds\")\n    }\n  }\n\n  return isModern\n    ? Buffer.from(obj.slice(byteOffset, byteOffset + length))\n    : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))\n}\n\nfunction fromString (string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  return isModern\n    ? Buffer.from(string, encoding)\n    : new Buffer(string, encoding)\n}\n\nfunction bufferFrom (value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (isArrayBuffer(value)) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(value, encodingOrOffset)\n  }\n\n  return isModern\n    ? Buffer.from(value)\n    : new Buffer(value)\n}\n\nmodule.exports = bufferFrom\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n  this.writable = false;\n  this.readable = true;\n  this.dataSize = 0;\n  this.maxDataSize = 2 * 1024 * 1024;\n  this.pauseStreams = true;\n\n  this._released = false;\n  this._streams = [];\n  this._currentStream = null;\n  this._insideLoop = false;\n  this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n  var combinedStream = new this();\n\n  options = options || {};\n  for (var option in options) {\n    combinedStream[option] = options[option];\n  }\n\n  return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n  return (typeof stream !== 'function')\n    && (typeof stream !== 'string')\n    && (typeof stream !== 'boolean')\n    && (typeof stream !== 'number')\n    && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n  var isStreamLike = CombinedStream.isStreamLike(stream);\n\n  if (isStreamLike) {\n    if (!(stream instanceof DelayedStream)) {\n      var newStream = DelayedStream.create(stream, {\n        maxDataSize: Infinity,\n        pauseStream: this.pauseStreams,\n      });\n      stream.on('data', this._checkDataSize.bind(this));\n      stream = newStream;\n    }\n\n    this._handleErrors(stream);\n\n    if (this.pauseStreams) {\n      stream.pause();\n    }\n  }\n\n  this._streams.push(stream);\n  return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n  Stream.prototype.pipe.call(this, dest, options);\n  this.resume();\n  return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n  this._currentStream = null;\n\n  if (this._insideLoop) {\n    this._pendingNext = true;\n    return; // defer call\n  }\n\n  this._insideLoop = true;\n  try {\n    do {\n      this._pendingNext = false;\n      this._realGetNext();\n    } while (this._pendingNext);\n  } finally {\n    this._insideLoop = false;\n  }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n  var stream = this._streams.shift();\n\n\n  if (typeof stream == 'undefined') {\n    this.end();\n    return;\n  }\n\n  if (typeof stream !== 'function') {\n    this._pipeNext(stream);\n    return;\n  }\n\n  var getStream = stream;\n  getStream(function(stream) {\n    var isStreamLike = CombinedStream.isStreamLike(stream);\n    if (isStreamLike) {\n      stream.on('data', this._checkDataSize.bind(this));\n      this._handleErrors(stream);\n    }\n\n    this._pipeNext(stream);\n  }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n  this._currentStream = stream;\n\n  var isStreamLike = CombinedStream.isStreamLike(stream);\n  if (isStreamLike) {\n    stream.on('end', this._getNext.bind(this));\n    stream.pipe(this, {end: false});\n    return;\n  }\n\n  var value = stream;\n  this.write(value);\n  this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n  var self = this;\n  stream.on('error', function(err) {\n    self._emitError(err);\n  });\n};\n\nCombinedStream.prototype.write = function(data) {\n  this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n  if (!this.pauseStreams) {\n    return;\n  }\n\n  if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n  this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n  if (!this._released) {\n    this._released = true;\n    this.writable = true;\n    this._getNext();\n  }\n\n  if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n  this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n  this._reset();\n  this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n  this._reset();\n  this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n  this.writable = false;\n  this._streams = [];\n  this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n  this._updateDataSize();\n  if (this.dataSize <= this.maxDataSize) {\n    return;\n  }\n\n  var message =\n    'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n  this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n  this.dataSize = 0;\n\n  var self = this;\n  this._streams.forEach(function(stream) {\n    if (!stream.dataSize) {\n      return;\n    }\n\n    self.dataSize += stream.dataSize;\n  });\n\n  if (this._currentStream && this._currentStream.dataSize) {\n    this.dataSize += this._currentStream.dataSize;\n  }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n  this._reset();\n  this.emit('error', err);\n};\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n  this.source = null;\n  this.dataSize = 0;\n  this.maxDataSize = 1024 * 1024;\n  this.pauseStream = true;\n\n  this._maxDataSizeExceeded = false;\n  this._released = false;\n  this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n  var delayedStream = new this();\n\n  options = options || {};\n  for (var option in options) {\n    delayedStream[option] = options[option];\n  }\n\n  delayedStream.source = source;\n\n  var realEmit = source.emit;\n  source.emit = function() {\n    delayedStream._handleEmit(arguments);\n    return realEmit.apply(source, arguments);\n  };\n\n  source.on('error', function() {});\n  if (delayedStream.pauseStream) {\n    source.pause();\n  }\n\n  return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n  configurable: true,\n  enumerable: true,\n  get: function() {\n    return this.source.readable;\n  }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n  return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n  if (!this._released) {\n    this.release();\n  }\n\n  this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n  this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n  this._released = true;\n\n  this._bufferedEvents.forEach(function(args) {\n    this.emit.apply(this, args);\n  }.bind(this));\n  this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n  var r = Stream.prototype.pipe.apply(this, arguments);\n  this.resume();\n  return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n  if (this._released) {\n    this.emit.apply(this, args);\n    return;\n  }\n\n  if (args[0] === 'data') {\n    this.dataSize += args[1].length;\n    this._checkIfMaxDataSizeExceeded();\n  }\n\n  this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n  if (this._maxDataSizeExceeded) {\n    return;\n  }\n\n  if (this.dataSize <= this.maxDataSize) {\n    return;\n  }\n\n  this._maxDataSizeExceeded = true;\n  var message =\n    'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n  this.emit('error', new Error(message));\n};\n","var CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar populate = require('./populate.js');\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n  if (!(this instanceof FormData)) {\n    return new FormData(options);\n  }\n\n  this._overheadLength = 0;\n  this._valueLength = 0;\n  this._valuesToMeasure = [];\n\n  CombinedStream.call(this);\n\n  options = options || {};\n  for (var option in options) {\n    this[option] = options[option];\n  }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n  options = options || {};\n\n  // allow filename as single option\n  if (typeof options == 'string') {\n    options = {filename: options};\n  }\n\n  var append = CombinedStream.prototype.append.bind(this);\n\n  // all that streamy business can't handle numbers\n  if (typeof value == 'number') {\n    value = '' + value;\n  }\n\n  // https://github.com/felixge/node-form-data/issues/38\n  if (util.isArray(value)) {\n    // Please convert your array into string\n    // the way web server expects it\n    this._error(new Error('Arrays are not supported.'));\n    return;\n  }\n\n  var header = this._multiPartHeader(field, value, options);\n  var footer = this._multiPartFooter();\n\n  append(header);\n  append(value);\n  append(footer);\n\n  // pass along options.knownLength\n  this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n  var valueLength = 0;\n\n  // used w/ getLengthSync(), when length is known.\n  // e.g. for streaming directly from a remote server,\n  // w/ a known file a size, and not wanting to wait for\n  // incoming file to finish to get its size.\n  if (options.knownLength != null) {\n    valueLength += +options.knownLength;\n  } else if (Buffer.isBuffer(value)) {\n    valueLength = value.length;\n  } else if (typeof value === 'string') {\n    valueLength = Buffer.byteLength(value);\n  }\n\n  this._valueLength += valueLength;\n\n  // @check why add CRLF? does this account for custom/multiple CRLFs?\n  this._overheadLength +=\n    Buffer.byteLength(header) +\n    FormData.LINE_BREAK.length;\n\n  // empty or either doesn't have path or not an http response or not a stream\n  if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {\n    return;\n  }\n\n  // no need to bother with the length\n  if (!options.knownLength) {\n    this._valuesToMeasure.push(value);\n  }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n\n  if (value.hasOwnProperty('fd')) {\n\n    // take read range into a account\n    // `end` = Infinity –> read file till the end\n    //\n    // TODO: Looks like there is bug in Node fs.createReadStream\n    // it doesn't respect `end` options without `start` options\n    // Fix it when node fixes it.\n    // https://github.com/joyent/node/issues/7819\n    if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n      // when end specified\n      // no need to calculate range\n      // inclusive, starts with 0\n      callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n    // not that fast snoopy\n    } else {\n      // still need to fetch file size from fs\n      fs.stat(value.path, function(err, stat) {\n\n        var fileSize;\n\n        if (err) {\n          callback(err);\n          return;\n        }\n\n        // update final size based on the range options\n        fileSize = stat.size - (value.start ? value.start : 0);\n        callback(null, fileSize);\n      });\n    }\n\n  // or http response\n  } else if (value.hasOwnProperty('httpVersion')) {\n    callback(null, +value.headers['content-length']);\n\n  // or request stream http://github.com/mikeal/request\n  } else if (value.hasOwnProperty('httpModule')) {\n    // wait till response come back\n    value.on('response', function(response) {\n      value.pause();\n      callback(null, +response.headers['content-length']);\n    });\n    value.resume();\n\n  // something else\n  } else {\n    callback('Unknown stream');\n  }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n  // custom header specified (as string)?\n  // it becomes responsible for boundary\n  // (e.g. to handle extra CRLFs on .NET servers)\n  if (typeof options.header == 'string') {\n    return options.header;\n  }\n\n  var contentDisposition = this._getContentDisposition(value, options);\n  var contentType = this._getContentType(value, options);\n\n  var contents = '';\n  var headers  = {\n    // add custom disposition as third element or keep it two elements if not\n    'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n    // if no content type. allow it to be empty array\n    'Content-Type': [].concat(contentType || [])\n  };\n\n  // allow custom headers.\n  if (typeof options.header == 'object') {\n    populate(headers, options.header);\n  }\n\n  var header;\n  for (var prop in headers) {\n    if (!headers.hasOwnProperty(prop)) continue;\n    header = headers[prop];\n\n    // skip nullish headers.\n    if (header == null) {\n      continue;\n    }\n\n    // convert all headers to arrays.\n    if (!Array.isArray(header)) {\n      header = [header];\n    }\n\n    // add non-empty headers.\n    if (header.length) {\n      contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n    }\n  }\n\n  return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n  var filename\n    , contentDisposition\n    ;\n\n  if (typeof options.filepath === 'string') {\n    // custom filepath for relative paths\n    filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n  } else if (options.filename || value.name || value.path) {\n    // custom filename take precedence\n    // formidable and the browser add a name property\n    // fs- and request- streams have path property\n    filename = path.basename(options.filename || value.name || value.path);\n  } else if (value.readable && value.hasOwnProperty('httpVersion')) {\n    // or try http response\n    filename = path.basename(value.client._httpMessage.path || '');\n  }\n\n  if (filename) {\n    contentDisposition = 'filename=\"' + filename + '\"';\n  }\n\n  return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n  // use custom content-type above all\n  var contentType = options.contentType;\n\n  // or try `name` from formidable, browser\n  if (!contentType && value.name) {\n    contentType = mime.lookup(value.name);\n  }\n\n  // or try `path` from fs-, request- streams\n  if (!contentType && value.path) {\n    contentType = mime.lookup(value.path);\n  }\n\n  // or if it's http-reponse\n  if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {\n    contentType = value.headers['content-type'];\n  }\n\n  // or guess it from the filepath or filename\n  if (!contentType && (options.filepath || options.filename)) {\n    contentType = mime.lookup(options.filepath || options.filename);\n  }\n\n  // fallback to the default content type if `value` is not simple value\n  if (!contentType && typeof value == 'object') {\n    contentType = FormData.DEFAULT_CONTENT_TYPE;\n  }\n\n  return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n  return function(next) {\n    var footer = FormData.LINE_BREAK;\n\n    var lastPart = (this._streams.length === 0);\n    if (lastPart) {\n      footer += this._lastBoundary();\n    }\n\n    next(footer);\n  }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n  return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n  var header;\n  var formHeaders = {\n    'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n  };\n\n  for (header in userHeaders) {\n    if (userHeaders.hasOwnProperty(header)) {\n      formHeaders[header.toLowerCase()] = userHeaders[header];\n    }\n  }\n\n  return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n  this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n  if (!this._boundary) {\n    this._generateBoundary();\n  }\n\n  return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n  var dataBuffer = new Buffer.alloc( 0 );\n  var boundary = this.getBoundary();\n\n  // Create the form content. Add Line breaks to the end of data.\n  for (var i = 0, len = this._streams.length; i < len; i++) {\n    if (typeof this._streams[i] !== 'function') {\n\n      // Add content to the buffer.\n      if(Buffer.isBuffer(this._streams[i])) {\n        dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n      }else {\n        dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n      }\n\n      // Add break after content.\n      if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n        dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n      }\n    }\n  }\n\n  // Add the footer and return the Buffer object.\n  return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n  // This generates a 50 character boundary similar to those used by Firefox.\n  // They are optimized for boyer-moore parsing.\n  var boundary = '--------------------------';\n  for (var i = 0; i < 24; i++) {\n    boundary += Math.floor(Math.random() * 10).toString(16);\n  }\n\n  this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n  var knownLength = this._overheadLength + this._valueLength;\n\n  // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n  // so it basically checks if there is any value added to the form\n  if (this._streams.length) {\n    knownLength += this._lastBoundary().length;\n  }\n\n  // https://github.com/form-data/form-data/issues/40\n  if (!this.hasKnownLength()) {\n    // Some async length retrievers are present\n    // therefore synchronous length calculation is false.\n    // Please use getLength(callback) to get proper length\n    this._error(new Error('Cannot calculate proper length in synchronous way.'));\n  }\n\n  return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n  var hasKnownLength = true;\n\n  if (this._valuesToMeasure.length) {\n    hasKnownLength = false;\n  }\n\n  return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n  var knownLength = this._overheadLength + this._valueLength;\n\n  if (this._streams.length) {\n    knownLength += this._lastBoundary().length;\n  }\n\n  if (!this._valuesToMeasure.length) {\n    process.nextTick(cb.bind(this, null, knownLength));\n    return;\n  }\n\n  asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n    if (err) {\n      cb(err);\n      return;\n    }\n\n    values.forEach(function(length) {\n      knownLength += length;\n    });\n\n    cb(null, knownLength);\n  });\n};\n\nFormData.prototype.submit = function(params, cb) {\n  var request\n    , options\n    , defaults = {method: 'post'}\n    ;\n\n  // parse provided url if it's string\n  // or treat it as options object\n  if (typeof params == 'string') {\n\n    params = parseUrl(params);\n    options = populate({\n      port: params.port,\n      path: params.pathname,\n      host: params.hostname,\n      protocol: params.protocol\n    }, defaults);\n\n  // use custom params\n  } else {\n\n    options = populate(params, defaults);\n    // if no port provided use default one\n    if (!options.port) {\n      options.port = options.protocol == 'https:' ? 443 : 80;\n    }\n  }\n\n  // put that good code in getHeaders to some use\n  options.headers = this.getHeaders(params.headers);\n\n  // https if specified, fallback to http in any other case\n  if (options.protocol == 'https:') {\n    request = https.request(options);\n  } else {\n    request = http.request(options);\n  }\n\n  // get content length and fire away\n  this.getLength(function(err, length) {\n    if (err && err !== 'Unknown stream') {\n      this._error(err);\n      return;\n    }\n\n    // add content length\n    if (length) {\n      request.setHeader('Content-Length', length);\n    }\n\n    this.pipe(request);\n    if (cb) {\n      var onResponse;\n\n      var callback = function (error, responce) {\n        request.removeListener('error', callback);\n        request.removeListener('response', onResponse);\n\n        return cb.call(this, error, responce);\n      };\n\n      onResponse = callback.bind(this, null);\n\n      request.on('error', callback);\n      request.on('response', onResponse);\n    }\n  }.bind(this));\n\n  return request;\n};\n\nFormData.prototype._error = function(err) {\n  if (!this.error) {\n    this.error = err;\n    this.pause();\n    this.emit('error', err);\n  }\n};\n\nFormData.prototype.toString = function () {\n  return '[object FormData]';\n};\n","// populates missing values\nmodule.exports = function(dst, src) {\n\n  Object.keys(src).forEach(function(prop)\n  {\n    dst[prop] = dst[prop] || src[prop];\n  });\n\n  return dst;\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n    \"use strict\";\n    if (typeof define === 'function' && define.amd) {\n        define(definition);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = definition();\n    } else {\n        root.log = definition();\n    }\n}(this, function () {\n    \"use strict\";\n\n    // Slightly dubious tricks to cut down minimized file size\n    var noop = function() {};\n    var undefinedType = \"undefined\";\n    var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n        /Trident\\/|MSIE /.test(window.navigator.userAgent)\n    );\n\n    var logMethods = [\n        \"trace\",\n        \"debug\",\n        \"info\",\n        \"warn\",\n        \"error\"\n    ];\n\n    // Cross-browser bind equivalent that works at least back to IE6\n    function bindMethod(obj, methodName) {\n        var method = obj[methodName];\n        if (typeof method.bind === 'function') {\n            return method.bind(obj);\n        } else {\n            try {\n                return Function.prototype.bind.call(method, obj);\n            } catch (e) {\n                // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n                return function() {\n                    return Function.prototype.apply.apply(method, [obj, arguments]);\n                };\n            }\n        }\n    }\n\n    // Trace() doesn't print the message in IE, so for that case we need to wrap it\n    function traceForIE() {\n        if (console.log) {\n            if (console.log.apply) {\n                console.log.apply(console, arguments);\n            } else {\n                // In old IE, native console methods themselves don't have apply().\n                Function.prototype.apply.apply(console.log, [console, arguments]);\n            }\n        }\n        if (console.trace) console.trace();\n    }\n\n    // Build the best logging method possible for this env\n    // Wherever possible we want to bind, not wrap, to preserve stack traces\n    function realMethod(methodName) {\n        if (methodName === 'debug') {\n            methodName = 'log';\n        }\n\n        if (typeof console === undefinedType) {\n            return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n        } else if (methodName === 'trace' && isIE) {\n            return traceForIE;\n        } else if (console[methodName] !== undefined) {\n            return bindMethod(console, methodName);\n        } else if (console.log !== undefined) {\n            return bindMethod(console, 'log');\n        } else {\n            return noop;\n        }\n    }\n\n    // These private functions always need `this` to be set properly\n\n    function replaceLoggingMethods(level, loggerName) {\n        /*jshint validthis:true */\n        for (var i = 0; i < logMethods.length; i++) {\n            var methodName = logMethods[i];\n            this[methodName] = (i < level) ?\n                noop :\n                this.methodFactory(methodName, level, loggerName);\n        }\n\n        // Define log.log as an alias for log.debug\n        this.log = this.debug;\n    }\n\n    // In old IE versions, the console isn't present until you first open it.\n    // We build realMethod() replacements here that regenerate logging methods\n    function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n        return function () {\n            if (typeof console !== undefinedType) {\n                replaceLoggingMethods.call(this, level, loggerName);\n                this[methodName].apply(this, arguments);\n            }\n        };\n    }\n\n    // By default, we use closely bound real methods wherever possible, and\n    // otherwise we wait for a console to appear, and then try again.\n    function defaultMethodFactory(methodName, level, loggerName) {\n        /*jshint validthis:true */\n        return realMethod(methodName) ||\n               enableLoggingWhenConsoleArrives.apply(this, arguments);\n    }\n\n    function Logger(name, defaultLevel, factory) {\n      var self = this;\n      var currentLevel;\n      defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n      var storageKey = \"loglevel\";\n      if (typeof name === \"string\") {\n        storageKey += \":\" + name;\n      } else if (typeof name === \"symbol\") {\n        storageKey = undefined;\n      }\n\n      function persistLevelIfPossible(levelNum) {\n          var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage[storageKey] = levelName;\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n          } catch (ignore) {}\n      }\n\n      function getPersistedLevel() {\n          var storedLevel;\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          try {\n              storedLevel = window.localStorage[storageKey];\n          } catch (ignore) {}\n\n          // Fallback to cookies if local storage gives us nothing\n          if (typeof storedLevel === undefinedType) {\n              try {\n                  var cookie = window.document.cookie;\n                  var location = cookie.indexOf(\n                      encodeURIComponent(storageKey) + \"=\");\n                  if (location !== -1) {\n                      storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n                  }\n              } catch (ignore) {}\n          }\n\n          // If the stored level is not valid, treat it as if nothing was stored.\n          if (self.levels[storedLevel] === undefined) {\n              storedLevel = undefined;\n          }\n\n          return storedLevel;\n      }\n\n      function clearPersistedLevel() {\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage.removeItem(storageKey);\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n          } catch (ignore) {}\n      }\n\n      /*\n       *\n       * Public logger API - see https://github.com/pimterry/loglevel for details\n       *\n       */\n\n      self.name = name;\n\n      self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n          \"ERROR\": 4, \"SILENT\": 5};\n\n      self.methodFactory = factory || defaultMethodFactory;\n\n      self.getLevel = function () {\n          return currentLevel;\n      };\n\n      self.setLevel = function (level, persist) {\n          if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n              level = self.levels[level.toUpperCase()];\n          }\n          if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n              currentLevel = level;\n              if (persist !== false) {  // defaults to true\n                  persistLevelIfPossible(level);\n              }\n              replaceLoggingMethods.call(self, level, name);\n              if (typeof console === undefinedType && level < self.levels.SILENT) {\n                  return \"No console available for logging\";\n              }\n          } else {\n              throw \"log.setLevel() called with invalid level: \" + level;\n          }\n      };\n\n      self.setDefaultLevel = function (level) {\n          defaultLevel = level;\n          if (!getPersistedLevel()) {\n              self.setLevel(level, false);\n          }\n      };\n\n      self.resetLevel = function () {\n          self.setLevel(defaultLevel, false);\n          clearPersistedLevel();\n      };\n\n      self.enableAll = function(persist) {\n          self.setLevel(self.levels.TRACE, persist);\n      };\n\n      self.disableAll = function(persist) {\n          self.setLevel(self.levels.SILENT, persist);\n      };\n\n      // Initialize with the right level\n      var initialLevel = getPersistedLevel();\n      if (initialLevel == null) {\n          initialLevel = defaultLevel;\n      }\n      self.setLevel(initialLevel, false);\n    }\n\n    /*\n     *\n     * Top-level API\n     *\n     */\n\n    var defaultLogger = new Logger();\n\n    var _loggersByName = {};\n    defaultLogger.getLogger = function getLogger(name) {\n        if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n          throw new TypeError(\"You must supply a name when creating a logger.\");\n        }\n\n        var logger = _loggersByName[name];\n        if (!logger) {\n          logger = _loggersByName[name] = new Logger(\n            name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n        }\n        return logger;\n    };\n\n    // Grab the current global log variable in case of overwrite\n    var _log = (typeof window !== undefinedType) ? window.log : undefined;\n    defaultLogger.noConflict = function() {\n        if (typeof window !== undefinedType &&\n               window.log === defaultLogger) {\n            window.log = _log;\n        }\n\n        return defaultLogger;\n    };\n\n    defaultLogger.getLoggers = function getLoggers() {\n        return _loggersByName;\n    };\n\n    // ES6 default export, for compatibility\n    defaultLogger['default'] = defaultLogger;\n\n    return defaultLogger;\n}));\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n  if (!type || typeof type !== 'string') {\n    return false\n  }\n\n  // TODO: use media-typer\n  var match = EXTRACT_TYPE_REGEXP.exec(type)\n  var mime = match && db[match[1].toLowerCase()]\n\n  if (mime && mime.charset) {\n    return mime.charset\n  }\n\n  // default text/* to utf-8\n  if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n    return 'UTF-8'\n  }\n\n  return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n  // TODO: should this even be in this module?\n  if (!str || typeof str !== 'string') {\n    return false\n  }\n\n  var mime = str.indexOf('/') === -1\n    ? exports.lookup(str)\n    : str\n\n  if (!mime) {\n    return false\n  }\n\n  // TODO: use content-type or other module\n  if (mime.indexOf('charset') === -1) {\n    var charset = exports.charset(mime)\n    if (charset) mime += '; charset=' + charset.toLowerCase()\n  }\n\n  return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n  if (!type || typeof type !== 'string') {\n    return false\n  }\n\n  // TODO: use media-typer\n  var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n  // get extensions\n  var exts = match && exports.extensions[match[1].toLowerCase()]\n\n  if (!exts || !exts.length) {\n    return false\n  }\n\n  return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n  if (!path || typeof path !== 'string') {\n    return false\n  }\n\n  // get the extension (\"ext\" or \".ext\" or full path)\n  var extension = extname('x.' + path)\n    .toLowerCase()\n    .substr(1)\n\n  if (!extension) {\n    return false\n  }\n\n  return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n  // source preference (least -> most)\n  var preference = ['nginx', 'apache', undefined, 'iana']\n\n  Object.keys(db).forEach(function forEachMimeType (type) {\n    var mime = db[type]\n    var exts = mime.extensions\n\n    if (!exts || !exts.length) {\n      return\n    }\n\n    // mime -> extensions\n    extensions[type] = exts\n\n    // extension -> mime\n    for (var i = 0; i < exts.length; i++) {\n      var extension = exts[i]\n\n      if (types[extension]) {\n        var from = preference.indexOf(db[types[extension]].source)\n        var to = preference.indexOf(mime.source)\n\n        if (types[extension] !== 'application/octet-stream' &&\n          (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n          // skip the remapping\n          continue\n        }\n      }\n\n      // set the extension -> mime\n      types[extension] = type\n    }\n  })\n}\n","// Top level file is just a mixin of submodules & constants\n'use strict';\n\nconst { Deflate, deflate, deflateRaw, gzip } = require('./lib/deflate');\n\nconst { Inflate, inflate, inflateRaw, ungzip } = require('./lib/inflate');\n\nconst constants = require('./lib/zlib/constants');\n\nmodule.exports.Deflate = Deflate;\nmodule.exports.deflate = deflate;\nmodule.exports.deflateRaw = deflateRaw;\nmodule.exports.gzip = gzip;\nmodule.exports.Inflate = Inflate;\nmodule.exports.inflate = inflate;\nmodule.exports.inflateRaw = inflateRaw;\nmodule.exports.ungzip = ungzip;\nmodule.exports.constants = constants;\n","'use strict';\n\n\nconst zlib_deflate = require('./zlib/deflate');\nconst utils        = require('./utils/common');\nconst strings      = require('./utils/strings');\nconst msg          = require('./zlib/messages');\nconst ZStream      = require('./zlib/zstream');\n\nconst toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n  Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH,\n  Z_OK, Z_STREAM_END,\n  Z_DEFAULT_COMPRESSION,\n  Z_DEFAULT_STRATEGY,\n  Z_DEFLATED\n} = require('./zlib/constants');\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `header` (Object) - custom header for gzip\n *   - `text` (Boolean) - true if compressed data believed to be text\n *   - `time` (Number) - modification time, unix timestamp\n *   - `os` (Number) - operation system code\n *   - `extra` (Array) - array of bytes with extra data (max 65536)\n *   - `name` (String) - file name (binary string)\n *   - `comment` (String) - comment (binary string)\n *   - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n *   , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n *   , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true);  // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n  this.options = utils.assign({\n    level: Z_DEFAULT_COMPRESSION,\n    method: Z_DEFLATED,\n    chunkSize: 16384,\n    windowBits: 15,\n    memLevel: 8,\n    strategy: Z_DEFAULT_STRATEGY\n  }, options || {});\n\n  let opt = this.options;\n\n  if (opt.raw && (opt.windowBits > 0)) {\n    opt.windowBits = -opt.windowBits;\n  }\n\n  else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n    opt.windowBits += 16;\n  }\n\n  this.err    = 0;      // error code, if happens (0 = Z_OK)\n  this.msg    = '';     // error message\n  this.ended  = false;  // used to avoid multiple onEnd() calls\n  this.chunks = [];     // chunks of compressed data\n\n  this.strm = new ZStream();\n  this.strm.avail_out = 0;\n\n  let status = zlib_deflate.deflateInit2(\n    this.strm,\n    opt.level,\n    opt.method,\n    opt.windowBits,\n    opt.memLevel,\n    opt.strategy\n  );\n\n  if (status !== Z_OK) {\n    throw new Error(msg[status]);\n  }\n\n  if (opt.header) {\n    zlib_deflate.deflateSetHeader(this.strm, opt.header);\n  }\n\n  if (opt.dictionary) {\n    let dict;\n    // Convert data if needed\n    if (typeof opt.dictionary === 'string') {\n      // If we need to compress text, change encoding to utf8.\n      dict = strings.string2buf(opt.dictionary);\n    } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n      dict = new Uint8Array(opt.dictionary);\n    } else {\n      dict = opt.dictionary;\n    }\n\n    status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n    if (status !== Z_OK) {\n      throw new Error(msg[status]);\n    }\n\n    this._dict_set = true;\n  }\n}\n\n/**\n * Deflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be\n *   converted to utf8 byte sequence.\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n *   See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must\n * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending\n * buffers and call [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true);  // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, flush_mode) {\n  const strm = this.strm;\n  const chunkSize = this.options.chunkSize;\n  let status, _flush_mode;\n\n  if (this.ended) { return false; }\n\n  if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n  else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\n\n  // Convert data if needed\n  if (typeof data === 'string') {\n    // If we need to compress text, change encoding to utf8.\n    strm.input = strings.string2buf(data);\n  } else if (toString.call(data) === '[object ArrayBuffer]') {\n    strm.input = new Uint8Array(data);\n  } else {\n    strm.input = data;\n  }\n\n  strm.next_in = 0;\n  strm.avail_in = strm.input.length;\n\n  for (;;) {\n    if (strm.avail_out === 0) {\n      strm.output = new Uint8Array(chunkSize);\n      strm.next_out = 0;\n      strm.avail_out = chunkSize;\n    }\n\n    // Make sure avail_out > 6 to avoid repeating markers\n    if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {\n      this.onData(strm.output.subarray(0, strm.next_out));\n      strm.avail_out = 0;\n      continue;\n    }\n\n    status = zlib_deflate.deflate(strm, _flush_mode);\n\n    // Ended => flush and finish\n    if (status === Z_STREAM_END) {\n      if (strm.next_out > 0) {\n        this.onData(strm.output.subarray(0, strm.next_out));\n      }\n      status = zlib_deflate.deflateEnd(this.strm);\n      this.onEnd(status);\n      this.ended = true;\n      return status === Z_OK;\n    }\n\n    // Flush if out buffer full\n    if (strm.avail_out === 0) {\n      this.onData(strm.output);\n      continue;\n    }\n\n    // Flush if requested and has data\n    if (_flush_mode > 0 && strm.next_out > 0) {\n      this.onData(strm.output.subarray(0, strm.next_out));\n      strm.avail_out = 0;\n      continue;\n    }\n\n    if (strm.avail_in === 0) break;\n  }\n\n  return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array): output data.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n  this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n *   other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n  // On success - join\n  if (status === Z_OK) {\n    this.result = utils.flattenChunks(this.chunks);\n  }\n  this.chunks = [];\n  this.err = status;\n  this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n *   negative windowBits implicitly.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n  const deflator = new Deflate(options);\n\n  deflator.push(input, true);\n\n  // That will never happens, if you don't cheat with options :)\n  if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n  return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n  options = options || {};\n  options.raw = true;\n  return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n  options = options || {};\n  options.gzip = true;\n  return deflate(input, options);\n}\n\n\nmodule.exports.Deflate = Deflate;\nmodule.exports.deflate = deflate;\nmodule.exports.deflateRaw = deflateRaw;\nmodule.exports.gzip = gzip;\nmodule.exports.constants = require('./zlib/constants');\n","'use strict';\n\n\nconst zlib_inflate = require('./zlib/inflate');\nconst utils        = require('./utils/common');\nconst strings      = require('./utils/strings');\nconst msg          = require('./zlib/messages');\nconst ZStream      = require('./zlib/zstream');\nconst GZheader     = require('./zlib/gzheader');\n\nconst toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n  Z_NO_FLUSH, Z_FINISH,\n  Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR\n} = require('./zlib/constants');\n\n/* ===========================================================================*/\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n *   from utf8 to utf16 (javascript) string. When string output requested,\n *   chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true);  // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n  this.options = utils.assign({\n    chunkSize: 1024 * 64,\n    windowBits: 15,\n    to: ''\n  }, options || {});\n\n  const opt = this.options;\n\n  // Force window size for `raw` data, if not set directly,\n  // because we have no header for autodetect.\n  if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n    opt.windowBits = -opt.windowBits;\n    if (opt.windowBits === 0) { opt.windowBits = -15; }\n  }\n\n  // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n  if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n      !(options && options.windowBits)) {\n    opt.windowBits += 32;\n  }\n\n  // Gzip header has no info about windows size, we can do autodetect only\n  // for deflate. So, if window size not set, force it to max when gzip possible\n  if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n    // bit 3 (16) -> gzipped data\n    // bit 4 (32) -> autodetect gzip/deflate\n    if ((opt.windowBits & 15) === 0) {\n      opt.windowBits |= 15;\n    }\n  }\n\n  this.err    = 0;      // error code, if happens (0 = Z_OK)\n  this.msg    = '';     // error message\n  this.ended  = false;  // used to avoid multiple onEnd() calls\n  this.chunks = [];     // chunks of compressed data\n\n  this.strm   = new ZStream();\n  this.strm.avail_out = 0;\n\n  let status  = zlib_inflate.inflateInit2(\n    this.strm,\n    opt.windowBits\n  );\n\n  if (status !== Z_OK) {\n    throw new Error(msg[status]);\n  }\n\n  this.header = new GZheader();\n\n  zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n  // Setup dictionary\n  if (opt.dictionary) {\n    // Convert data if needed\n    if (typeof opt.dictionary === 'string') {\n      opt.dictionary = strings.string2buf(opt.dictionary);\n    } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n      opt.dictionary = new Uint8Array(opt.dictionary);\n    }\n    if (opt.raw) { //In raw mode we need to set the dictionary early\n      status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n      if (status !== Z_OK) {\n        throw new Error(msg[status]);\n      }\n    }\n  }\n}\n\n/**\n * Inflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer): input data\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE\n *   flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,\n *   `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. If end of stream detected,\n * [[Inflate#onEnd]] will be called.\n *\n * `flush_mode` is not needed for normal operation, because end of stream\n * detected automatically. You may try to use it for advanced things, but\n * this functionality was not tested.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true);  // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, flush_mode) {\n  const strm = this.strm;\n  const chunkSize = this.options.chunkSize;\n  const dictionary = this.options.dictionary;\n  let status, _flush_mode, last_avail_out;\n\n  if (this.ended) return false;\n\n  if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n  else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\n\n  // Convert data if needed\n  if (toString.call(data) === '[object ArrayBuffer]') {\n    strm.input = new Uint8Array(data);\n  } else {\n    strm.input = data;\n  }\n\n  strm.next_in = 0;\n  strm.avail_in = strm.input.length;\n\n  for (;;) {\n    if (strm.avail_out === 0) {\n      strm.output = new Uint8Array(chunkSize);\n      strm.next_out = 0;\n      strm.avail_out = chunkSize;\n    }\n\n    status = zlib_inflate.inflate(strm, _flush_mode);\n\n    if (status === Z_NEED_DICT && dictionary) {\n      status = zlib_inflate.inflateSetDictionary(strm, dictionary);\n\n      if (status === Z_OK) {\n        status = zlib_inflate.inflate(strm, _flush_mode);\n      } else if (status === Z_DATA_ERROR) {\n        // Replace code with more verbose\n        status = Z_NEED_DICT;\n      }\n    }\n\n    // Skip snyc markers if more data follows and not raw mode\n    while (strm.avail_in > 0 &&\n           status === Z_STREAM_END &&\n           strm.state.wrap > 0 &&\n           data[strm.next_in] !== 0)\n    {\n      zlib_inflate.inflateReset(strm);\n      status = zlib_inflate.inflate(strm, _flush_mode);\n    }\n\n    switch (status) {\n      case Z_STREAM_ERROR:\n      case Z_DATA_ERROR:\n      case Z_NEED_DICT:\n      case Z_MEM_ERROR:\n        this.onEnd(status);\n        this.ended = true;\n        return false;\n    }\n\n    // Remember real `avail_out` value, because we may patch out buffer content\n    // to align utf8 strings boundaries.\n    last_avail_out = strm.avail_out;\n\n    if (strm.next_out) {\n      if (strm.avail_out === 0 || status === Z_STREAM_END) {\n\n        if (this.options.to === 'string') {\n\n          let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n          let tail = strm.next_out - next_out_utf8;\n          let utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n          // move tail & realign counters\n          strm.next_out = tail;\n          strm.avail_out = chunkSize - tail;\n          if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);\n\n          this.onData(utf8str);\n\n        } else {\n          this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));\n        }\n      }\n    }\n\n    // Must repeat iteration if out buffer is full\n    if (status === Z_OK && last_avail_out === 0) continue;\n\n    // Finalize if end of stream reached.\n    if (status === Z_STREAM_END) {\n      status = zlib_inflate.inflateEnd(this.strm);\n      this.onEnd(status);\n      this.ended = true;\n      return true;\n    }\n\n    if (strm.avail_in === 0) break;\n  }\n\n  return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|String): output data. When string output requested,\n *   each chunk will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n  this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n *   other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n  // On success - join\n  if (status === Z_OK) {\n    if (this.options.to === 'string') {\n      this.result = this.chunks.join('');\n    } else {\n      this.result = utils.flattenChunks(this.chunks);\n    }\n  }\n  this.chunks = [];\n  this.err = status;\n  this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n *   negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n *   from utf8 to utf16 (javascript) string. When string output requested,\n *   chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako');\n * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));\n * let output;\n *\n * try {\n *   output = pako.inflate(input);\n * } catch (err) {\n *   console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n  const inflator = new Inflate(options);\n\n  inflator.push(input);\n\n  // That will never happens, if you don't cheat with options :)\n  if (inflator.err) throw inflator.msg || msg[inflator.err];\n\n  return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n  options = options || {};\n  options.raw = true;\n  return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nmodule.exports.Inflate = Inflate;\nmodule.exports.inflate = inflate;\nmodule.exports.inflateRaw = inflateRaw;\nmodule.exports.ungzip = inflate;\nmodule.exports.constants = require('./zlib/constants');\n","'use strict';\n\n\nconst _has = (obj, key) => {\n  return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nmodule.exports.assign = function (obj /*from1, from2, from3, ...*/) {\n  const sources = Array.prototype.slice.call(arguments, 1);\n  while (sources.length) {\n    const source = sources.shift();\n    if (!source) { continue; }\n\n    if (typeof source !== 'object') {\n      throw new TypeError(source + 'must be non-object');\n    }\n\n    for (const p in source) {\n      if (_has(source, p)) {\n        obj[p] = source[p];\n      }\n    }\n  }\n\n  return obj;\n};\n\n\n// Join array of chunks to single array.\nmodule.exports.flattenChunks = (chunks) => {\n  // calculate data length\n  let len = 0;\n\n  for (let i = 0, l = chunks.length; i < l; i++) {\n    len += chunks[i].length;\n  }\n\n  // join chunks\n  const result = new Uint8Array(len);\n\n  for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {\n    let chunk = chunks[i];\n    result.set(chunk, pos);\n    pos += chunk.length;\n  }\n\n  return result;\n};\n","// String encode/decode helpers\n'use strict';\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nlet STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nconst _utf8len = new Uint8Array(256);\nfor (let q = 0; q < 256; q++) {\n  _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nmodule.exports.string2buf = (str) => {\n  if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {\n    return new TextEncoder().encode(str);\n  }\n\n  let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n  // count binary size\n  for (m_pos = 0; m_pos < str_len; m_pos++) {\n    c = str.charCodeAt(m_pos);\n    if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n      c2 = str.charCodeAt(m_pos + 1);\n      if ((c2 & 0xfc00) === 0xdc00) {\n        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n        m_pos++;\n      }\n    }\n    buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n  }\n\n  // allocate buffer\n  buf = new Uint8Array(buf_len);\n\n  // convert\n  for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n    c = str.charCodeAt(m_pos);\n    if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n      c2 = str.charCodeAt(m_pos + 1);\n      if ((c2 & 0xfc00) === 0xdc00) {\n        c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n        m_pos++;\n      }\n    }\n    if (c < 0x80) {\n      /* one byte */\n      buf[i++] = c;\n    } else if (c < 0x800) {\n      /* two bytes */\n      buf[i++] = 0xC0 | (c >>> 6);\n      buf[i++] = 0x80 | (c & 0x3f);\n    } else if (c < 0x10000) {\n      /* three bytes */\n      buf[i++] = 0xE0 | (c >>> 12);\n      buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n      buf[i++] = 0x80 | (c & 0x3f);\n    } else {\n      /* four bytes */\n      buf[i++] = 0xf0 | (c >>> 18);\n      buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n      buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n      buf[i++] = 0x80 | (c & 0x3f);\n    }\n  }\n\n  return buf;\n};\n\n// Helper\nconst buf2binstring = (buf, len) => {\n  // On Chrome, the arguments in a function call that are allowed is `65534`.\n  // If the length of the buffer is smaller than that, we can use this optimization,\n  // otherwise we will take a slower path.\n  if (len < 65534) {\n    if (buf.subarray && STR_APPLY_UIA_OK) {\n      return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));\n    }\n  }\n\n  let result = '';\n  for (let i = 0; i < len; i++) {\n    result += String.fromCharCode(buf[i]);\n  }\n  return result;\n};\n\n\n// convert array to string\nmodule.exports.buf2string = (buf, max) => {\n  const len = max || buf.length;\n\n  if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {\n    return new TextDecoder().decode(buf.subarray(0, max));\n  }\n\n  let i, out;\n\n  // Reserve max possible length (2 words per char)\n  // NB: by unknown reasons, Array is significantly faster for\n  //     String.fromCharCode.apply than Uint16Array.\n  const utf16buf = new Array(len * 2);\n\n  for (out = 0, i = 0; i < len;) {\n    let c = buf[i++];\n    // quick process ascii\n    if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n    let c_len = _utf8len[c];\n    // skip 5 & 6 byte codes\n    if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n    // apply mask on first byte\n    c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n    // join the rest\n    while (c_len > 1 && i < len) {\n      c = (c << 6) | (buf[i++] & 0x3f);\n      c_len--;\n    }\n\n    // terminated by end of string?\n    if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n    if (c < 0x10000) {\n      utf16buf[out++] = c;\n    } else {\n      c -= 0x10000;\n      utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n      utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n    }\n  }\n\n  return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max   - length limit (mandatory);\nmodule.exports.utf8border = (buf, max) => {\n\n  max = max || buf.length;\n  if (max > buf.length) { max = buf.length; }\n\n  // go back from last position, until start of sequence found\n  let pos = max - 1;\n  while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n  // Very small and broken sequence,\n  // return max, because we should return something anyway.\n  if (pos < 0) { return max; }\n\n  // If we came to start of buffer - that means buffer is too small,\n  // return max too.\n  if (pos === 0) { return max; }\n\n  return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst adler32 = (adler, buf, len, pos) => {\n  let s1 = (adler & 0xffff) |0,\n      s2 = ((adler >>> 16) & 0xffff) |0,\n      n = 0;\n\n  while (len !== 0) {\n    // Set limit ~ twice less than 5552, to keep\n    // s2 in 31-bits, because we force signed ints.\n    // in other case %= will fail.\n    n = len > 2000 ? 2000 : len;\n    len -= n;\n\n    do {\n      s1 = (s1 + buf[pos++]) |0;\n      s2 = (s2 + s1) |0;\n    } while (--n);\n\n    s1 %= 65521;\n    s2 %= 65521;\n  }\n\n  return (s1 | (s2 << 16)) |0;\n};\n\n\nmodule.exports = adler32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n  /* Allowed flush values; see deflate() and inflate() below for details */\n  Z_NO_FLUSH:         0,\n  Z_PARTIAL_FLUSH:    1,\n  Z_SYNC_FLUSH:       2,\n  Z_FULL_FLUSH:       3,\n  Z_FINISH:           4,\n  Z_BLOCK:            5,\n  Z_TREES:            6,\n\n  /* Return codes for the compression/decompression functions. Negative values\n  * are errors, positive values are used for special but normal events.\n  */\n  Z_OK:               0,\n  Z_STREAM_END:       1,\n  Z_NEED_DICT:        2,\n  Z_ERRNO:           -1,\n  Z_STREAM_ERROR:    -2,\n  Z_DATA_ERROR:      -3,\n  Z_MEM_ERROR:       -4,\n  Z_BUF_ERROR:       -5,\n  //Z_VERSION_ERROR: -6,\n\n  /* compression levels */\n  Z_NO_COMPRESSION:         0,\n  Z_BEST_SPEED:             1,\n  Z_BEST_COMPRESSION:       9,\n  Z_DEFAULT_COMPRESSION:   -1,\n\n\n  Z_FILTERED:               1,\n  Z_HUFFMAN_ONLY:           2,\n  Z_RLE:                    3,\n  Z_FIXED:                  4,\n  Z_DEFAULT_STRATEGY:       0,\n\n  /* Possible values of the data_type field (though see inflate()) */\n  Z_BINARY:                 0,\n  Z_TEXT:                   1,\n  //Z_ASCII:                1, // = Z_TEXT (deprecated)\n  Z_UNKNOWN:                2,\n\n  /* The deflate compression method */\n  Z_DEFLATED:               8\n  //Z_NULL:                 null // Use -1 or null inline, depending on var type\n};\n","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nconst makeTable = () => {\n  let c, table = [];\n\n  for (var n = 0; n < 256; n++) {\n    c = n;\n    for (var k = 0; k < 8; k++) {\n      c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n    }\n    table[n] = c;\n  }\n\n  return table;\n};\n\n// Create table on load. Just 255 signed longs. Not a problem.\nconst crcTable = new Uint32Array(makeTable());\n\n\nconst crc32 = (crc, buf, len, pos) => {\n  const t = crcTable;\n  const end = pos + len;\n\n  crc ^= -1;\n\n  for (let i = pos; i < end; i++) {\n    crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n  }\n\n  return (crc ^ (-1)); // >>> 0;\n};\n\n\nmodule.exports = crc32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = require('./trees');\nconst adler32 = require('./adler32');\nconst crc32   = require('./crc32');\nconst msg     = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n  Z_NO_FLUSH, Z_PARTIAL_FLUSH, Z_FULL_FLUSH, Z_FINISH, Z_BLOCK,\n  Z_OK, Z_STREAM_END, Z_STREAM_ERROR, Z_DATA_ERROR, Z_BUF_ERROR,\n  Z_DEFAULT_COMPRESSION,\n  Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY,\n  Z_UNKNOWN,\n  Z_DEFLATED\n} = require('./constants');\n\n/*============================================================================*/\n\n\nconst MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nconst MAX_WBITS = 15;\n/* 32K LZ77 window */\nconst DEF_MEM_LEVEL = 8;\n\n\nconst LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nconst LITERALS      = 256;\n/* number of literal bytes 0..255 */\nconst L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nconst D_CODES       = 30;\n/* number of distance codes */\nconst BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\nconst HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\nconst MAX_BITS  = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst MIN_MATCH = 3;\nconst MAX_MATCH = 258;\nconst MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nconst PRESET_DICT = 0x20;\n\nconst INIT_STATE    =  42;    /* zlib header -> BUSY_STATE */\n//#ifdef GZIP\nconst GZIP_STATE    =  57;    /* gzip header -> BUSY_STATE | EXTRA_STATE */\n//#endif\nconst EXTRA_STATE   =  69;    /* gzip extra block -> NAME_STATE */\nconst NAME_STATE    =  73;    /* gzip file name -> COMMENT_STATE */\nconst COMMENT_STATE =  91;    /* gzip comment -> HCRC_STATE */\nconst HCRC_STATE    = 103;    /* gzip header CRC -> BUSY_STATE */\nconst BUSY_STATE    = 113;    /* deflate -> FINISH_STATE */\nconst FINISH_STATE  = 666;    /* stream complete */\n\nconst BS_NEED_MORE      = 1; /* block not completed, need more input or more output */\nconst BS_BLOCK_DONE     = 2; /* block flush performed */\nconst BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nconst BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */\n\nconst OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nconst err = (strm, errorCode) => {\n  strm.msg = msg[errorCode];\n  return errorCode;\n};\n\nconst rank = (f) => {\n  return ((f) * 2) - ((f) > 4 ? 9 : 0);\n};\n\nconst zero = (buf) => {\n  let len = buf.length; while (--len >= 0) { buf[len] = 0; }\n};\n\n/* ===========================================================================\n * Slide the hash table when sliding the window down (could be avoided with 32\n * bit values at the expense of memory usage). We slide even when level == 0 to\n * keep the hash table consistent if we switch back to level > 0 later.\n */\nconst slide_hash = (s) => {\n  let n, m;\n  let p;\n  let wsize = s.w_size;\n\n  n = s.hash_size;\n  p = n;\n  do {\n    m = s.head[--p];\n    s.head[p] = (m >= wsize ? m - wsize : 0);\n  } while (--n);\n  n = wsize;\n//#ifndef FASTEST\n  p = n;\n  do {\n    m = s.prev[--p];\n    s.prev[p] = (m >= wsize ? m - wsize : 0);\n    /* If n is not on any hash chain, prev[n] is garbage but\n     * its value will never be used.\n     */\n  } while (--n);\n//#endif\n};\n\n/* eslint-disable new-cap */\nlet HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;\n// This hash causes less collisions, https://github.com/nodeca/pako/issues/135\n// But breaks binary compatibility\n//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;\nlet HASH = HASH_ZLIB;\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output, except for\n * some deflate_stored() output, goes through this function so some\n * applications may wish to modify it to avoid allocating a large\n * strm->next_out buffer and copying into it. (See also read_buf()).\n */\nconst flush_pending = (strm) => {\n  const s = strm.state;\n\n  //_tr_flush_bits(s);\n  let len = s.pending;\n  if (len > strm.avail_out) {\n    len = strm.avail_out;\n  }\n  if (len === 0) { return; }\n\n  strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);\n  strm.next_out  += len;\n  s.pending_out  += len;\n  strm.total_out += len;\n  strm.avail_out -= len;\n  s.pending      -= len;\n  if (s.pending === 0) {\n    s.pending_out = 0;\n  }\n};\n\n\nconst flush_block_only = (s, last) => {\n  _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n  s.block_start = s.strstart;\n  flush_pending(s.strm);\n};\n\n\nconst put_byte = (s, b) => {\n  s.pending_buf[s.pending++] = b;\n};\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nconst putShortMSB = (s, b) => {\n\n  //  put_byte(s, (Byte)(b >> 8));\n//  put_byte(s, (Byte)(b & 0xff));\n  s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n  s.pending_buf[s.pending++] = b & 0xff;\n};\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read.  All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nconst read_buf = (strm, buf, start, size) => {\n\n  let len = strm.avail_in;\n\n  if (len > size) { len = size; }\n  if (len === 0) { return 0; }\n\n  strm.avail_in -= len;\n\n  // zmemcpy(buf, strm->next_in, len);\n  buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);\n  if (strm.state.wrap === 1) {\n    strm.adler = adler32(strm.adler, buf, len, start);\n  }\n\n  else if (strm.state.wrap === 2) {\n    strm.adler = crc32(strm.adler, buf, len, start);\n  }\n\n  strm.next_in += len;\n  strm.total_in += len;\n\n  return len;\n};\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nconst longest_match = (s, cur_match) => {\n\n  let chain_length = s.max_chain_length;      /* max hash chain length */\n  let scan = s.strstart; /* current string */\n  let match;                       /* matched string */\n  let len;                           /* length of current match */\n  let best_len = s.prev_length;              /* best match length so far */\n  let nice_match = s.nice_match;             /* stop if match long enough */\n  const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n      s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n  const _win = s.window; // shortcut\n\n  const wmask = s.w_mask;\n  const prev  = s.prev;\n\n  /* Stop when cur_match becomes <= limit. To simplify the code,\n   * we prevent matches with the string of window index 0.\n   */\n\n  const strend = s.strstart + MAX_MATCH;\n  let scan_end1  = _win[scan + best_len - 1];\n  let scan_end   = _win[scan + best_len];\n\n  /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n   * It is easy to get rid of this optimization if necessary.\n   */\n  // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n  /* Do not waste too much time if we already have a good match: */\n  if (s.prev_length >= s.good_match) {\n    chain_length >>= 2;\n  }\n  /* Do not look for matches beyond the end of the input. This is necessary\n   * to make deflate deterministic.\n   */\n  if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n  // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n  do {\n    // Assert(cur_match < s->strstart, \"no future\");\n    match = cur_match;\n\n    /* Skip to next match if the match length cannot increase\n     * or if the match length is less than 2.  Note that the checks below\n     * for insufficient lookahead only occur occasionally for performance\n     * reasons.  Therefore uninitialized memory will be accessed, and\n     * conditional jumps will be made that depend on those values.\n     * However the length of the match is limited to the lookahead, so\n     * the output of deflate is not affected by the uninitialized values.\n     */\n\n    if (_win[match + best_len]     !== scan_end  ||\n        _win[match + best_len - 1] !== scan_end1 ||\n        _win[match]                !== _win[scan] ||\n        _win[++match]              !== _win[scan + 1]) {\n      continue;\n    }\n\n    /* The check at best_len-1 can be removed because it will be made\n     * again later. (This heuristic is not always a win.)\n     * It is not necessary to compare scan[2] and match[2] since they\n     * are always equal when the other bytes match, given that\n     * the hash keys are equal and that HASH_BITS >= 8.\n     */\n    scan += 2;\n    match++;\n    // Assert(*scan == *match, \"match[2]?\");\n\n    /* We check for insufficient lookahead only every 8th comparison;\n     * the 256th check will be made at strstart+258.\n     */\n    do {\n      /*jshint noempty:false*/\n    } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             scan < strend);\n\n    // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n    len = MAX_MATCH - (strend - scan);\n    scan = strend - MAX_MATCH;\n\n    if (len > best_len) {\n      s.match_start = cur_match;\n      best_len = len;\n      if (len >= nice_match) {\n        break;\n      }\n      scan_end1  = _win[scan + best_len - 1];\n      scan_end   = _win[scan + best_len];\n    }\n  } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n  if (best_len <= s.lookahead) {\n    return best_len;\n  }\n  return s.lookahead;\n};\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n *    At least one byte has been read, or avail_in == 0; reads are\n *    performed for at least two bytes (required for the zip translate_eol\n *    option -- not supported here).\n */\nconst fill_window = (s) => {\n\n  const _w_size = s.w_size;\n  let n, more, str;\n\n  //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n  do {\n    more = s.window_size - s.lookahead - s.strstart;\n\n    // JS ints have 32 bit, block below not needed\n    /* Deal with !@#$% 64K limit: */\n    //if (sizeof(int) <= 2) {\n    //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n    //        more = wsize;\n    //\n    //  } else if (more == (unsigned)(-1)) {\n    //        /* Very unlikely, but possible on 16 bit machine if\n    //         * strstart == 0 && lookahead == 1 (input done a byte at time)\n    //         */\n    //        more--;\n    //    }\n    //}\n\n\n    /* If the window is almost full and there is insufficient lookahead,\n     * move the upper half to the lower one to make room in the upper half.\n     */\n    if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n      s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0);\n      s.match_start -= _w_size;\n      s.strstart -= _w_size;\n      /* we now have strstart >= MAX_DIST */\n      s.block_start -= _w_size;\n      if (s.insert > s.strstart) {\n        s.insert = s.strstart;\n      }\n      slide_hash(s);\n      more += _w_size;\n    }\n    if (s.strm.avail_in === 0) {\n      break;\n    }\n\n    /* If there was no sliding:\n     *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n     *    more == window_size - lookahead - strstart\n     * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n     * => more >= window_size - 2*WSIZE + 2\n     * In the BIG_MEM or MMAP case (not yet supported),\n     *   window_size == input_size + MIN_LOOKAHEAD  &&\n     *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n     * Otherwise, window_size == 2*WSIZE so more >= 2.\n     * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n     */\n    //Assert(more >= 2, \"more < 2\");\n    n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n    s.lookahead += n;\n\n    /* Initialize the hash value now that we have some input: */\n    if (s.lookahead + s.insert >= MIN_MATCH) {\n      str = s.strstart - s.insert;\n      s.ins_h = s.window[str];\n\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n      s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);\n//#if MIN_MATCH != 3\n//        Call update_hash() MIN_MATCH-3 more times\n//#endif\n      while (s.insert) {\n        /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n        s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n        s.prev[str & s.w_mask] = s.head[s.ins_h];\n        s.head[s.ins_h] = str;\n        str++;\n        s.insert--;\n        if (s.lookahead + s.insert < MIN_MATCH) {\n          break;\n        }\n      }\n    }\n    /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n     * but this is not important since only literal bytes will be emitted.\n     */\n\n  } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n  /* If the WIN_INIT bytes after the end of the current data have never been\n   * written, then zero those bytes in order to avoid memory check reports of\n   * the use of uninitialized (or uninitialised as Julian writes) bytes by\n   * the longest match routines.  Update the high water mark for the next\n   * time through here.  WIN_INIT is set to MAX_MATCH since the longest match\n   * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n   */\n//  if (s.high_water < s.window_size) {\n//    const curr = s.strstart + s.lookahead;\n//    let init = 0;\n//\n//    if (s.high_water < curr) {\n//      /* Previous high water mark below current data -- zero WIN_INIT\n//       * bytes or up to end of window, whichever is less.\n//       */\n//      init = s.window_size - curr;\n//      if (init > WIN_INIT)\n//        init = WIN_INIT;\n//      zmemzero(s->window + curr, (unsigned)init);\n//      s->high_water = curr + init;\n//    }\n//    else if (s->high_water < (ulg)curr + WIN_INIT) {\n//      /* High water mark at or above current data, but below current data\n//       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n//       * to end of window, whichever is less.\n//       */\n//      init = (ulg)curr + WIN_INIT - s->high_water;\n//      if (init > s->window_size - s->high_water)\n//        init = s->window_size - s->high_water;\n//      zmemzero(s->window + s->high_water, (unsigned)init);\n//      s->high_water += init;\n//    }\n//  }\n//\n//  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n//    \"not enough room for search\");\n};\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n *\n * In case deflateParams() is used to later switch to a non-zero compression\n * level, s->matches (otherwise unused when storing) keeps track of the number\n * of hash table slides to perform. If s->matches is 1, then one hash table\n * slide will be done when switching. If s->matches is 2, the maximum value\n * allowed here, then the hash table will be cleared, since two or more slides\n * is the same as a clear.\n *\n * deflate_stored() is written to minimize the number of times an input byte is\n * copied. It is most efficient with large input and output buffers, which\n * maximizes the opportunites to have a single copy from next_in to next_out.\n */\nconst deflate_stored = (s, flush) => {\n\n  /* Smallest worthy block size when not flushing or finishing. By default\n   * this is 32K. This can be as small as 507 bytes for memLevel == 1. For\n   * large input and output buffers, the stored block size will be larger.\n   */\n  let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;\n\n  /* Copy as many min_block or larger stored blocks directly to next_out as\n   * possible. If flushing, copy the remaining available input to next_out as\n   * stored blocks, if there is enough space.\n   */\n  let len, left, have, last = 0;\n  let used = s.strm.avail_in;\n  do {\n    /* Set len to the maximum size block that we can copy directly with the\n     * available input data and output space. Set left to how much of that\n     * would be copied from what's left in the window.\n     */\n    len = 65535/* MAX_STORED */;     /* maximum deflate stored block length */\n    have = (s.bi_valid + 42) >> 3;     /* number of header bytes */\n    if (s.strm.avail_out < have) {         /* need room for header */\n      break;\n    }\n      /* maximum stored block length that will fit in avail_out: */\n    have = s.strm.avail_out - have;\n    left = s.strstart - s.block_start;  /* bytes left in window */\n    if (len > left + s.strm.avail_in) {\n      len = left + s.strm.avail_in;   /* limit len to the input */\n    }\n    if (len > have) {\n      len = have;             /* limit len to the output */\n    }\n\n    /* If the stored block would be less than min_block in length, or if\n     * unable to copy all of the available input when flushing, then try\n     * copying to the window and the pending buffer instead. Also don't\n     * write an empty block when flushing -- deflate() does that.\n     */\n    if (len < min_block && ((len === 0 && flush !== Z_FINISH) ||\n                        flush === Z_NO_FLUSH ||\n                        len !== left + s.strm.avail_in)) {\n      break;\n    }\n\n    /* Make a dummy stored block in pending to get the header bytes,\n     * including any pending bits. This also updates the debugging counts.\n     */\n    last = flush === Z_FINISH && len === left + s.strm.avail_in ? 1 : 0;\n    _tr_stored_block(s, 0, 0, last);\n\n    /* Replace the lengths in the dummy stored block with len. */\n    s.pending_buf[s.pending - 4] = len;\n    s.pending_buf[s.pending - 3] = len >> 8;\n    s.pending_buf[s.pending - 2] = ~len;\n    s.pending_buf[s.pending - 1] = ~len >> 8;\n\n    /* Write the stored block header bytes. */\n    flush_pending(s.strm);\n\n//#ifdef ZLIB_DEBUG\n//    /* Update debugging counts for the data about to be copied. */\n//    s->compressed_len += len << 3;\n//    s->bits_sent += len << 3;\n//#endif\n\n    /* Copy uncompressed bytes from the window to next_out. */\n    if (left) {\n      if (left > len) {\n        left = len;\n      }\n      //zmemcpy(s->strm->next_out, s->window + s->block_start, left);\n      s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);\n      s.strm.next_out += left;\n      s.strm.avail_out -= left;\n      s.strm.total_out += left;\n      s.block_start += left;\n      len -= left;\n    }\n\n    /* Copy uncompressed bytes directly from next_in to next_out, updating\n     * the check value.\n     */\n    if (len) {\n      read_buf(s.strm, s.strm.output, s.strm.next_out, len);\n      s.strm.next_out += len;\n      s.strm.avail_out -= len;\n      s.strm.total_out += len;\n    }\n  } while (last === 0);\n\n  /* Update the sliding window with the last s->w_size bytes of the copied\n   * data, or append all of the copied data to the existing window if less\n   * than s->w_size bytes were copied. Also update the number of bytes to\n   * insert in the hash tables, in the event that deflateParams() switches to\n   * a non-zero compression level.\n   */\n  used -= s.strm.avail_in;    /* number of input bytes directly copied */\n  if (used) {\n    /* If any input was used, then no unused input remains in the window,\n     * therefore s->block_start == s->strstart.\n     */\n    if (used >= s.w_size) {  /* supplant the previous history */\n      s.matches = 2;     /* clear hash */\n      //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);\n      s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0);\n      s.strstart = s.w_size;\n      s.insert = s.strstart;\n    }\n    else {\n      if (s.window_size - s.strstart <= used) {\n        /* Slide the window down. */\n        s.strstart -= s.w_size;\n        //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n        s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n        if (s.matches < 2) {\n          s.matches++;   /* add a pending slide_hash() */\n        }\n        if (s.insert > s.strstart) {\n          s.insert = s.strstart;\n        }\n      }\n      //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);\n      s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart);\n      s.strstart += used;\n      s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used;\n    }\n    s.block_start = s.strstart;\n  }\n  if (s.high_water < s.strstart) {\n    s.high_water = s.strstart;\n  }\n\n  /* If the last block was written to next_out, then done. */\n  if (last) {\n    return BS_FINISH_DONE;\n  }\n\n  /* If flushing and all input has been consumed, then done. */\n  if (flush !== Z_NO_FLUSH && flush !== Z_FINISH &&\n    s.strm.avail_in === 0 && s.strstart === s.block_start) {\n    return BS_BLOCK_DONE;\n  }\n\n  /* Fill the window with any remaining input. */\n  have = s.window_size - s.strstart;\n  if (s.strm.avail_in > have && s.block_start >= s.w_size) {\n    /* Slide the window down. */\n    s.block_start -= s.w_size;\n    s.strstart -= s.w_size;\n    //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n    s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n    if (s.matches < 2) {\n      s.matches++;       /* add a pending slide_hash() */\n    }\n    have += s.w_size;      /* more space now */\n    if (s.insert > s.strstart) {\n      s.insert = s.strstart;\n    }\n  }\n  if (have > s.strm.avail_in) {\n    have = s.strm.avail_in;\n  }\n  if (have) {\n    read_buf(s.strm, s.window, s.strstart, have);\n    s.strstart += have;\n    s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have;\n  }\n  if (s.high_water < s.strstart) {\n    s.high_water = s.strstart;\n  }\n\n  /* There was not enough avail_out to write a complete worthy or flushed\n   * stored block to next_out. Write a stored block to pending instead, if we\n   * have enough input for a worthy block, or if flushing and there is enough\n   * room for the remaining input as a stored block in the pending buffer.\n   */\n  have = (s.bi_valid + 42) >> 3;     /* number of header bytes */\n    /* maximum stored block length that will fit in pending: */\n  have = s.pending_buf_size - have > 65535/* MAX_STORED */ ? 65535/* MAX_STORED */ : s.pending_buf_size - have;\n  min_block = have > s.w_size ? s.w_size : have;\n  left = s.strstart - s.block_start;\n  if (left >= min_block ||\n     ((left || flush === Z_FINISH) && flush !== Z_NO_FLUSH &&\n     s.strm.avail_in === 0 && left <= have)) {\n    len = left > have ? have : left;\n    last = flush === Z_FINISH && s.strm.avail_in === 0 &&\n         len === left ? 1 : 0;\n    _tr_stored_block(s, s.block_start, len, last);\n    s.block_start += len;\n    flush_pending(s.strm);\n  }\n\n  /* We've done all we can with the available input and output. */\n  return last ? BS_FINISH_STARTED : BS_NEED_MORE;\n};\n\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nconst deflate_fast = (s, flush) => {\n\n  let hash_head;        /* head of the hash chain */\n  let bflush;           /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) {\n        break; /* flush the current block */\n      }\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     * At this point we have always match_length < MIN_MATCH\n     */\n    if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n    }\n    if (s.match_length >= MIN_MATCH) {\n      // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n      /*** _tr_tally_dist(s, s.strstart - s.match_start,\n                     s.match_length - MIN_MATCH, bflush); ***/\n      bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n\n      /* Insert new strings in the hash table only if the match length\n       * is not too large. This saves time but degrades compression.\n       */\n      if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n        s.match_length--; /* string at strstart already in table */\n        do {\n          s.strstart++;\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n          /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n           * always MIN_MATCH bytes ahead.\n           */\n        } while (--s.match_length !== 0);\n        s.strstart++;\n      } else\n      {\n        s.strstart += s.match_length;\n        s.match_length = 0;\n        s.ins_h = s.window[s.strstart];\n        /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n        s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);\n\n//#if MIN_MATCH != 3\n//                Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n        /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n         * matter since it will be recomputed at next deflate call.\n         */\n      }\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.sym_next) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nconst deflate_slow = (s, flush) => {\n\n  let hash_head;          /* head of hash chain */\n  let bflush;              /* set if current block must be flushed */\n\n  let max_insert;\n\n  /* Process the input block. */\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     */\n    s.prev_length = s.match_length;\n    s.prev_match = s.match_start;\n    s.match_length = MIN_MATCH - 1;\n\n    if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n        s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n\n      if (s.match_length <= 5 &&\n         (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n        /* If prev_match is also MIN_MATCH, match_start is garbage\n         * but we will ignore the current match anyway.\n         */\n        s.match_length = MIN_MATCH - 1;\n      }\n    }\n    /* If there was a match at the previous step and the current\n     * match is not better, output the previous match:\n     */\n    if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n      max_insert = s.strstart + s.lookahead - MIN_MATCH;\n      /* Do not insert strings in hash table beyond this. */\n\n      //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n      /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n                     s.prev_length - MIN_MATCH, bflush);***/\n      bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n      /* Insert in hash table all strings up to the end of the match.\n       * strstart-1 and strstart are already inserted. If there is not\n       * enough lookahead, the last two strings are not inserted in\n       * the hash table.\n       */\n      s.lookahead -= s.prev_length - 1;\n      s.prev_length -= 2;\n      do {\n        if (++s.strstart <= max_insert) {\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n        }\n      } while (--s.prev_length !== 0);\n      s.match_available = 0;\n      s.match_length = MIN_MATCH - 1;\n      s.strstart++;\n\n      if (bflush) {\n        /*** FLUSH_BLOCK(s, 0); ***/\n        flush_block_only(s, false);\n        if (s.strm.avail_out === 0) {\n          return BS_NEED_MORE;\n        }\n        /***/\n      }\n\n    } else if (s.match_available) {\n      /* If there was no match at the previous position, output a\n       * single literal. If there was a match but the current match\n       * is longer, truncate the previous match to a single literal.\n       */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n      /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n      bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n      if (bflush) {\n        /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n        flush_block_only(s, false);\n        /***/\n      }\n      s.strstart++;\n      s.lookahead--;\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n    } else {\n      /* There is no previous match to compare with, wait for\n       * the next step to decide.\n       */\n      s.match_available = 1;\n      s.strstart++;\n      s.lookahead--;\n    }\n  }\n  //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n  if (s.match_available) {\n    //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n    /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n    bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n    s.match_available = 0;\n  }\n  s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.sym_next) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_BLOCK_DONE;\n};\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one.  Do not maintain a hash table.  (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nconst deflate_rle = (s, flush) => {\n\n  let bflush;            /* set if current block must be flushed */\n  let prev;              /* byte at distance one to match */\n  let scan, strend;      /* scan goes up to strend for length of run */\n\n  const _win = s.window;\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the longest run, plus one for the unrolled loop.\n     */\n    if (s.lookahead <= MAX_MATCH) {\n      fill_window(s);\n      if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* See how many times the previous byte repeats */\n    s.match_length = 0;\n    if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n      scan = s.strstart - 1;\n      prev = _win[scan];\n      if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n        strend = s.strstart + MAX_MATCH;\n        do {\n          /*jshint noempty:false*/\n        } while (prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 scan < strend);\n        s.match_length = MAX_MATCH - (strend - scan);\n        if (s.match_length > s.lookahead) {\n          s.match_length = s.lookahead;\n        }\n      }\n      //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n    }\n\n    /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n    if (s.match_length >= MIN_MATCH) {\n      //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n      /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n      bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n      s.strstart += s.match_length;\n      s.match_length = 0;\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.sym_next) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nconst deflate_huff = (s, flush) => {\n\n  let bflush;             /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we have a literal to write. */\n    if (s.lookahead === 0) {\n      fill_window(s);\n      if (s.lookahead === 0) {\n        if (flush === Z_NO_FLUSH) {\n          return BS_NEED_MORE;\n        }\n        break;      /* flush the current block */\n      }\n    }\n\n    /* Output a literal byte */\n    s.match_length = 0;\n    //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n    /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n    bflush = _tr_tally(s, 0, s.window[s.strstart]);\n    s.lookahead--;\n    s.strstart++;\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.sym_next) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n};\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n\n  this.good_length = good_length;\n  this.max_lazy = max_lazy;\n  this.nice_length = nice_length;\n  this.max_chain = max_chain;\n  this.func = func;\n}\n\nconst configuration_table = [\n  /*      good lazy nice chain */\n  new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */\n  new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */\n  new Config(4, 5, 16, 8, deflate_fast),           /* 2 */\n  new Config(4, 6, 32, 32, deflate_fast),          /* 3 */\n\n  new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */\n  new Config(8, 16, 32, 32, deflate_slow),         /* 5 */\n  new Config(8, 16, 128, 128, deflate_slow),       /* 6 */\n  new Config(8, 32, 128, 256, deflate_slow),       /* 7 */\n  new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */\n  new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nconst lm_init = (s) => {\n\n  s.window_size = 2 * s.w_size;\n\n  /*** CLEAR_HASH(s); ***/\n  zero(s.head); // Fill with NIL (= 0);\n\n  /* Set the default configuration parameters:\n   */\n  s.max_lazy_match = configuration_table[s.level].max_lazy;\n  s.good_match = configuration_table[s.level].good_length;\n  s.nice_match = configuration_table[s.level].nice_length;\n  s.max_chain_length = configuration_table[s.level].max_chain;\n\n  s.strstart = 0;\n  s.block_start = 0;\n  s.lookahead = 0;\n  s.insert = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  s.ins_h = 0;\n};\n\n\nfunction DeflateState() {\n  this.strm = null;            /* pointer back to this zlib stream */\n  this.status = 0;            /* as the name implies */\n  this.pending_buf = null;      /* output still pending */\n  this.pending_buf_size = 0;  /* size of pending_buf */\n  this.pending_out = 0;       /* next pending byte to output to the stream */\n  this.pending = 0;           /* nb of bytes in the pending buffer */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.gzhead = null;         /* gzip header information to write */\n  this.gzindex = 0;           /* where in extra, name, or comment */\n  this.method = Z_DEFLATED; /* can only be DEFLATED */\n  this.last_flush = -1;   /* value of flush param for previous deflate call */\n\n  this.w_size = 0;  /* LZ77 window size (32K by default) */\n  this.w_bits = 0;  /* log2(w_size)  (8..16) */\n  this.w_mask = 0;  /* w_size - 1 */\n\n  this.window = null;\n  /* Sliding window. Input bytes are read into the second half of the window,\n   * and move to the first half later to keep a dictionary of at least wSize\n   * bytes. With this organization, matches are limited to a distance of\n   * wSize-MAX_MATCH bytes, but this ensures that IO is always\n   * performed with a length multiple of the block size.\n   */\n\n  this.window_size = 0;\n  /* Actual size of window: 2*wSize, except when the user input buffer\n   * is directly used as sliding window.\n   */\n\n  this.prev = null;\n  /* Link to older string with same hash index. To limit the size of this\n   * array to 64K, this link is maintained only for the last 32K strings.\n   * An index in this array is thus a window index modulo 32K.\n   */\n\n  this.head = null;   /* Heads of the hash chains or NIL. */\n\n  this.ins_h = 0;       /* hash index of string to be inserted */\n  this.hash_size = 0;   /* number of elements in hash table */\n  this.hash_bits = 0;   /* log2(hash_size) */\n  this.hash_mask = 0;   /* hash_size-1 */\n\n  this.hash_shift = 0;\n  /* Number of bits by which ins_h must be shifted at each input\n   * step. It must be such that after MIN_MATCH steps, the oldest\n   * byte no longer takes part in the hash key, that is:\n   *   hash_shift * MIN_MATCH >= hash_bits\n   */\n\n  this.block_start = 0;\n  /* Window position at the beginning of the current output block. Gets\n   * negative when the window is moved backwards.\n   */\n\n  this.match_length = 0;      /* length of best match */\n  this.prev_match = 0;        /* previous match */\n  this.match_available = 0;   /* set if previous match exists */\n  this.strstart = 0;          /* start of string to insert */\n  this.match_start = 0;       /* start of matching string */\n  this.lookahead = 0;         /* number of valid bytes ahead in window */\n\n  this.prev_length = 0;\n  /* Length of the best match at previous step. Matches not greater than this\n   * are discarded. This is used in the lazy match evaluation.\n   */\n\n  this.max_chain_length = 0;\n  /* To speed up deflation, hash chains are never searched beyond this\n   * length.  A higher limit improves compression ratio but degrades the\n   * speed.\n   */\n\n  this.max_lazy_match = 0;\n  /* Attempt to find a better match only when the current match is strictly\n   * smaller than this value. This mechanism is used only for compression\n   * levels >= 4.\n   */\n  // That's alias to max_lazy_match, don't use directly\n  //this.max_insert_length = 0;\n  /* Insert new strings in the hash table only if the match length is not\n   * greater than this length. This saves time but degrades compression.\n   * max_insert_length is used only for compression levels <= 3.\n   */\n\n  this.level = 0;     /* compression level (1..9) */\n  this.strategy = 0;  /* favor or force Huffman coding*/\n\n  this.good_match = 0;\n  /* Use a faster search when the previous match is longer than this */\n\n  this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n              /* used by trees.c: */\n\n  /* Didn't use ct_data typedef below to suppress compiler warning */\n\n  // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */\n  // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n  // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */\n\n  // Use flat array of DOUBLE size, with interleaved fata,\n  // because JS does not support effective\n  this.dyn_ltree  = new Uint16Array(HEAP_SIZE * 2);\n  this.dyn_dtree  = new Uint16Array((2 * D_CODES + 1) * 2);\n  this.bl_tree    = new Uint16Array((2 * BL_CODES + 1) * 2);\n  zero(this.dyn_ltree);\n  zero(this.dyn_dtree);\n  zero(this.bl_tree);\n\n  this.l_desc   = null;         /* desc. for literal tree */\n  this.d_desc   = null;         /* desc. for distance tree */\n  this.bl_desc  = null;         /* desc. for bit length tree */\n\n  //ush bl_count[MAX_BITS+1];\n  this.bl_count = new Uint16Array(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */\n  this.heap = new Uint16Array(2 * L_CODES + 1);  /* heap used to build the Huffman trees */\n  zero(this.heap);\n\n  this.heap_len = 0;               /* number of elements in the heap */\n  this.heap_max = 0;               /* element of largest frequency */\n  /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n   * The same heap array is used to build all trees.\n   */\n\n  this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n  zero(this.depth);\n  /* Depth of each subtree used as tie breaker for trees of equal frequency\n   */\n\n  this.sym_buf = 0;        /* buffer for distances and literals/lengths */\n\n  this.lit_bufsize = 0;\n  /* Size of match buffer for literals/lengths.  There are 4 reasons for\n   * limiting lit_bufsize to 64K:\n   *   - frequencies can be kept in 16 bit counters\n   *   - if compression is not successful for the first block, all input\n   *     data is still in the window so we can still emit a stored block even\n   *     when input comes from standard input.  (This can also be done for\n   *     all blocks if lit_bufsize is not greater than 32K.)\n   *   - if compression is not successful for a file smaller than 64K, we can\n   *     even emit a stored file instead of a stored block (saving 5 bytes).\n   *     This is applicable only for zip (not gzip or zlib).\n   *   - creating new Huffman trees less frequently may not provide fast\n   *     adaptation to changes in the input data statistics. (Take for\n   *     example a binary file with poorly compressible code followed by\n   *     a highly compressible string table.) Smaller buffer sizes give\n   *     fast adaptation but have of course the overhead of transmitting\n   *     trees more frequently.\n   *   - I can't count above 4\n   */\n\n  this.sym_next = 0;      /* running index in sym_buf */\n  this.sym_end = 0;       /* symbol table full when sym_next reaches this */\n\n  this.opt_len = 0;       /* bit length of current block with optimal trees */\n  this.static_len = 0;    /* bit length of current block with static trees */\n  this.matches = 0;       /* number of string matches in current block */\n  this.insert = 0;        /* bytes at end of window left to insert */\n\n\n  this.bi_buf = 0;\n  /* Output buffer. bits are inserted starting at the bottom (least\n   * significant bits).\n   */\n  this.bi_valid = 0;\n  /* Number of valid bits in bi_buf.  All bits above the last valid bit\n   * are always zero.\n   */\n\n  // Used for window memory init. We safely ignore it for JS. That makes\n  // sense only for pointers and memory check tools.\n  //this.high_water = 0;\n  /* High water mark offset in window for initialized bytes -- bytes above\n   * this are set to zero in order to avoid memory check warnings when\n   * longest match routines access bytes past the input.  This is then\n   * updated to the new high water mark.\n   */\n}\n\n\n/* =========================================================================\n * Check for a valid deflate stream state. Return 0 if ok, 1 if not.\n */\nconst deflateStateCheck = (strm) => {\n\n  if (!strm) {\n    return 1;\n  }\n  const s = strm.state;\n  if (!s || s.strm !== strm || (s.status !== INIT_STATE &&\n//#ifdef GZIP\n                                s.status !== GZIP_STATE &&\n//#endif\n                                s.status !== EXTRA_STATE &&\n                                s.status !== NAME_STATE &&\n                                s.status !== COMMENT_STATE &&\n                                s.status !== HCRC_STATE &&\n                                s.status !== BUSY_STATE &&\n                                s.status !== FINISH_STATE)) {\n    return 1;\n  }\n  return 0;\n};\n\n\nconst deflateResetKeep = (strm) => {\n\n  if (deflateStateCheck(strm)) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.total_in = strm.total_out = 0;\n  strm.data_type = Z_UNKNOWN;\n\n  const s = strm.state;\n  s.pending = 0;\n  s.pending_out = 0;\n\n  if (s.wrap < 0) {\n    s.wrap = -s.wrap;\n    /* was made negative by deflate(..., Z_FINISH); */\n  }\n  s.status =\n//#ifdef GZIP\n    s.wrap === 2 ? GZIP_STATE :\n//#endif\n    s.wrap ? INIT_STATE : BUSY_STATE;\n  strm.adler = (s.wrap === 2) ?\n    0  // crc32(0, Z_NULL, 0)\n  :\n    1; // adler32(0, Z_NULL, 0)\n  s.last_flush = -2;\n  _tr_init(s);\n  return Z_OK;\n};\n\n\nconst deflateReset = (strm) => {\n\n  const ret = deflateResetKeep(strm);\n  if (ret === Z_OK) {\n    lm_init(strm.state);\n  }\n  return ret;\n};\n\n\nconst deflateSetHeader = (strm, head) => {\n\n  if (deflateStateCheck(strm) || strm.state.wrap !== 2) {\n    return Z_STREAM_ERROR;\n  }\n  strm.state.gzhead = head;\n  return Z_OK;\n};\n\n\nconst deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {\n\n  if (!strm) { // === Z_NULL\n    return Z_STREAM_ERROR;\n  }\n  let wrap = 1;\n\n  if (level === Z_DEFAULT_COMPRESSION) {\n    level = 6;\n  }\n\n  if (windowBits < 0) { /* suppress zlib wrapper */\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n\n  else if (windowBits > 15) {\n    wrap = 2;           /* write gzip wrapper instead */\n    windowBits -= 16;\n  }\n\n\n  if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n    windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n    strategy < 0 || strategy > Z_FIXED || (windowBits === 8 && wrap !== 1)) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n\n  if (windowBits === 8) {\n    windowBits = 9;\n  }\n  /* until 256-byte window bug fixed */\n\n  const s = new DeflateState();\n\n  strm.state = s;\n  s.strm = strm;\n  s.status = INIT_STATE;     /* to pass state test in deflateReset() */\n\n  s.wrap = wrap;\n  s.gzhead = null;\n  s.w_bits = windowBits;\n  s.w_size = 1 << s.w_bits;\n  s.w_mask = s.w_size - 1;\n\n  s.hash_bits = memLevel + 7;\n  s.hash_size = 1 << s.hash_bits;\n  s.hash_mask = s.hash_size - 1;\n  s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n  s.window = new Uint8Array(s.w_size * 2);\n  s.head = new Uint16Array(s.hash_size);\n  s.prev = new Uint16Array(s.w_size);\n\n  // Don't need mem init magic for JS.\n  //s.high_water = 0;  /* nothing written to s->window yet */\n\n  s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n  /* We overlay pending_buf and sym_buf. This works since the average size\n   * for length/distance pairs over any compressed block is assured to be 31\n   * bits or less.\n   *\n   * Analysis: The longest fixed codes are a length code of 8 bits plus 5\n   * extra bits, for lengths 131 to 257. The longest fixed distance codes are\n   * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest\n   * possible fixed-codes length/distance pair is then 31 bits total.\n   *\n   * sym_buf starts one-fourth of the way into pending_buf. So there are\n   * three bytes in sym_buf for every four bytes in pending_buf. Each symbol\n   * in sym_buf is three bytes -- two for the distance and one for the\n   * literal/length. As each symbol is consumed, the pointer to the next\n   * sym_buf value to read moves forward three bytes. From that symbol, up to\n   * 31 bits are written to pending_buf. The closest the written pending_buf\n   * bits gets to the next sym_buf symbol to read is just before the last\n   * code is written. At that time, 31*(n-2) bits have been written, just\n   * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at\n   * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1\n   * symbols are written.) The closest the writing gets to what is unread is\n   * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and\n   * can range from 128 to 32768.\n   *\n   * Therefore, at a minimum, there are 142 bits of space between what is\n   * written and what is read in the overlain buffers, so the symbols cannot\n   * be overwritten by the compressed data. That space is actually 139 bits,\n   * due to the three-bit fixed-code block header.\n   *\n   * That covers the case where either Z_FIXED is specified, forcing fixed\n   * codes, or when the use of fixed codes is chosen, because that choice\n   * results in a smaller compressed block than dynamic codes. That latter\n   * condition then assures that the above analysis also covers all dynamic\n   * blocks. A dynamic-code block will only be chosen to be emitted if it has\n   * fewer bits than a fixed-code block would for the same set of symbols.\n   * Therefore its average symbol length is assured to be less than 31. So\n   * the compressed data for a dynamic block also cannot overwrite the\n   * symbols from which it is being constructed.\n   */\n\n  s.pending_buf_size = s.lit_bufsize * 4;\n  s.pending_buf = new Uint8Array(s.pending_buf_size);\n\n  // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n  //s->sym_buf = s->pending_buf + s->lit_bufsize;\n  s.sym_buf = s.lit_bufsize;\n\n  //s->sym_end = (s->lit_bufsize - 1) * 3;\n  s.sym_end = (s.lit_bufsize - 1) * 3;\n  /* We avoid equality with lit_bufsize*3 because of wraparound at 64K\n   * on 16 bit machines and because stored blocks are restricted to\n   * 64K-1 bytes.\n   */\n\n  s.level = level;\n  s.strategy = strategy;\n  s.method = method;\n\n  return deflateReset(strm);\n};\n\nconst deflateInit = (strm, level) => {\n\n  return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n};\n\n\n/* ========================================================================= */\nconst deflate = (strm, flush) => {\n\n  if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {\n    return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n  }\n\n  const s = strm.state;\n\n  if (!strm.output ||\n      (strm.avail_in !== 0 && !strm.input) ||\n      (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n    return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n  }\n\n  const old_flush = s.last_flush;\n  s.last_flush = flush;\n\n  /* Flush as much pending output as possible */\n  if (s.pending !== 0) {\n    flush_pending(strm);\n    if (strm.avail_out === 0) {\n      /* Since avail_out is 0, deflate will be called again with\n       * more output space, but possibly with both pending and\n       * avail_in equal to zero. There won't be anything to do,\n       * but this is not an error situation so make sure we\n       * return OK instead of BUF_ERROR at next call of deflate:\n       */\n      s.last_flush = -1;\n      return Z_OK;\n    }\n\n    /* Make sure there is something to do and avoid duplicate consecutive\n     * flushes. For repeated and useless calls with Z_FINISH, we keep\n     * returning Z_STREAM_END instead of Z_BUF_ERROR.\n     */\n  } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n    flush !== Z_FINISH) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* User must not provide more input after the first FINISH: */\n  if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* Write the header */\n  if (s.status === INIT_STATE && s.wrap === 0) {\n    s.status = BUSY_STATE;\n  }\n  if (s.status === INIT_STATE) {\n    /* zlib header */\n    let header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n    let level_flags = -1;\n\n    if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n      level_flags = 0;\n    } else if (s.level < 6) {\n      level_flags = 1;\n    } else if (s.level === 6) {\n      level_flags = 2;\n    } else {\n      level_flags = 3;\n    }\n    header |= (level_flags << 6);\n    if (s.strstart !== 0) { header |= PRESET_DICT; }\n    header += 31 - (header % 31);\n\n    putShortMSB(s, header);\n\n    /* Save the adler32 of the preset dictionary: */\n    if (s.strstart !== 0) {\n      putShortMSB(s, strm.adler >>> 16);\n      putShortMSB(s, strm.adler & 0xffff);\n    }\n    strm.adler = 1; // adler32(0L, Z_NULL, 0);\n    s.status = BUSY_STATE;\n\n    /* Compression must start with an empty pending buffer */\n    flush_pending(strm);\n    if (s.pending !== 0) {\n      s.last_flush = -1;\n      return Z_OK;\n    }\n  }\n//#ifdef GZIP\n  if (s.status === GZIP_STATE) {\n    /* gzip header */\n    strm.adler = 0;  //crc32(0L, Z_NULL, 0);\n    put_byte(s, 31);\n    put_byte(s, 139);\n    put_byte(s, 8);\n    if (!s.gzhead) { // s->gzhead == Z_NULL\n      put_byte(s, 0);\n      put_byte(s, 0);\n      put_byte(s, 0);\n      put_byte(s, 0);\n      put_byte(s, 0);\n      put_byte(s, s.level === 9 ? 2 :\n                  (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                   4 : 0));\n      put_byte(s, OS_CODE);\n      s.status = BUSY_STATE;\n\n      /* Compression must start with an empty pending buffer */\n      flush_pending(strm);\n      if (s.pending !== 0) {\n        s.last_flush = -1;\n        return Z_OK;\n      }\n    }\n    else {\n      put_byte(s, (s.gzhead.text ? 1 : 0) +\n                  (s.gzhead.hcrc ? 2 : 0) +\n                  (!s.gzhead.extra ? 0 : 4) +\n                  (!s.gzhead.name ? 0 : 8) +\n                  (!s.gzhead.comment ? 0 : 16)\n      );\n      put_byte(s, s.gzhead.time & 0xff);\n      put_byte(s, (s.gzhead.time >> 8) & 0xff);\n      put_byte(s, (s.gzhead.time >> 16) & 0xff);\n      put_byte(s, (s.gzhead.time >> 24) & 0xff);\n      put_byte(s, s.level === 9 ? 2 :\n                  (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                   4 : 0));\n      put_byte(s, s.gzhead.os & 0xff);\n      if (s.gzhead.extra && s.gzhead.extra.length) {\n        put_byte(s, s.gzhead.extra.length & 0xff);\n        put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n      }\n      if (s.gzhead.hcrc) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n      }\n      s.gzindex = 0;\n      s.status = EXTRA_STATE;\n    }\n  }\n  if (s.status === EXTRA_STATE) {\n    if (s.gzhead.extra/* != Z_NULL*/) {\n      let beg = s.pending;   /* start of bytes to update crc */\n      let left = (s.gzhead.extra.length & 0xffff) - s.gzindex;\n      while (s.pending + left > s.pending_buf_size) {\n        let copy = s.pending_buf_size - s.pending;\n        // zmemcpy(s.pending_buf + s.pending,\n        //    s.gzhead.extra + s.gzindex, copy);\n        s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);\n        s.pending = s.pending_buf_size;\n        //--- HCRC_UPDATE(beg) ---//\n        if (s.gzhead.hcrc && s.pending > beg) {\n          strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n        }\n        //---//\n        s.gzindex += copy;\n        flush_pending(strm);\n        if (s.pending !== 0) {\n          s.last_flush = -1;\n          return Z_OK;\n        }\n        beg = 0;\n        left -= copy;\n      }\n      // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility\n      //              TypedArray.slice and TypedArray.from don't exist in IE10-IE11\n      let gzhead_extra = new Uint8Array(s.gzhead.extra);\n      // zmemcpy(s->pending_buf + s->pending,\n      //     s->gzhead->extra + s->gzindex, left);\n      s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);\n      s.pending += left;\n      //--- HCRC_UPDATE(beg) ---//\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      //---//\n      s.gzindex = 0;\n    }\n    s.status = NAME_STATE;\n  }\n  if (s.status === NAME_STATE) {\n    if (s.gzhead.name/* != Z_NULL*/) {\n      let beg = s.pending;   /* start of bytes to update crc */\n      let val;\n      do {\n        if (s.pending === s.pending_buf_size) {\n          //--- HCRC_UPDATE(beg) ---//\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          //---//\n          flush_pending(strm);\n          if (s.pending !== 0) {\n            s.last_flush = -1;\n            return Z_OK;\n          }\n          beg = 0;\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.name.length) {\n          val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n      //--- HCRC_UPDATE(beg) ---//\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      //---//\n      s.gzindex = 0;\n    }\n    s.status = COMMENT_STATE;\n  }\n  if (s.status === COMMENT_STATE) {\n    if (s.gzhead.comment/* != Z_NULL*/) {\n      let beg = s.pending;   /* start of bytes to update crc */\n      let val;\n      do {\n        if (s.pending === s.pending_buf_size) {\n          //--- HCRC_UPDATE(beg) ---//\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          //---//\n          flush_pending(strm);\n          if (s.pending !== 0) {\n            s.last_flush = -1;\n            return Z_OK;\n          }\n          beg = 0;\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.comment.length) {\n          val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n      //--- HCRC_UPDATE(beg) ---//\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      //---//\n    }\n    s.status = HCRC_STATE;\n  }\n  if (s.status === HCRC_STATE) {\n    if (s.gzhead.hcrc) {\n      if (s.pending + 2 > s.pending_buf_size) {\n        flush_pending(strm);\n        if (s.pending !== 0) {\n          s.last_flush = -1;\n          return Z_OK;\n        }\n      }\n      put_byte(s, strm.adler & 0xff);\n      put_byte(s, (strm.adler >> 8) & 0xff);\n      strm.adler = 0; //crc32(0L, Z_NULL, 0);\n    }\n    s.status = BUSY_STATE;\n\n    /* Compression must start with an empty pending buffer */\n    flush_pending(strm);\n    if (s.pending !== 0) {\n      s.last_flush = -1;\n      return Z_OK;\n    }\n  }\n//#endif\n\n  /* Start a new block or continue the current one.\n   */\n  if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n    (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n    let bstate = s.level === 0 ? deflate_stored(s, flush) :\n                 s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :\n                 s.strategy === Z_RLE ? deflate_rle(s, flush) :\n                 configuration_table[s.level].func(s, flush);\n\n    if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n      s.status = FINISH_STATE;\n    }\n    if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n      if (strm.avail_out === 0) {\n        s.last_flush = -1;\n        /* avoid BUF_ERROR next call, see above */\n      }\n      return Z_OK;\n      /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n       * of deflate should use the same flush parameter to make sure\n       * that the flush is complete. So we don't have to output an\n       * empty block here, this will be done at next call. This also\n       * ensures that for a very small output buffer, we emit at most\n       * one empty block.\n       */\n    }\n    if (bstate === BS_BLOCK_DONE) {\n      if (flush === Z_PARTIAL_FLUSH) {\n        _tr_align(s);\n      }\n      else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n        _tr_stored_block(s, 0, 0, false);\n        /* For a full flush, this empty block will be recognized\n         * as a special marker by inflate_sync().\n         */\n        if (flush === Z_FULL_FLUSH) {\n          /*** CLEAR_HASH(s); ***/             /* forget history */\n          zero(s.head); // Fill with NIL (= 0);\n\n          if (s.lookahead === 0) {\n            s.strstart = 0;\n            s.block_start = 0;\n            s.insert = 0;\n          }\n        }\n      }\n      flush_pending(strm);\n      if (strm.avail_out === 0) {\n        s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n        return Z_OK;\n      }\n    }\n  }\n\n  if (flush !== Z_FINISH) { return Z_OK; }\n  if (s.wrap <= 0) { return Z_STREAM_END; }\n\n  /* Write the trailer */\n  if (s.wrap === 2) {\n    put_byte(s, strm.adler & 0xff);\n    put_byte(s, (strm.adler >> 8) & 0xff);\n    put_byte(s, (strm.adler >> 16) & 0xff);\n    put_byte(s, (strm.adler >> 24) & 0xff);\n    put_byte(s, strm.total_in & 0xff);\n    put_byte(s, (strm.total_in >> 8) & 0xff);\n    put_byte(s, (strm.total_in >> 16) & 0xff);\n    put_byte(s, (strm.total_in >> 24) & 0xff);\n  }\n  else\n  {\n    putShortMSB(s, strm.adler >>> 16);\n    putShortMSB(s, strm.adler & 0xffff);\n  }\n\n  flush_pending(strm);\n  /* If avail_out is zero, the application will call deflate again\n   * to flush the rest.\n   */\n  if (s.wrap > 0) { s.wrap = -s.wrap; }\n  /* write the trailer only once! */\n  return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n};\n\n\nconst deflateEnd = (strm) => {\n\n  if (deflateStateCheck(strm)) {\n    return Z_STREAM_ERROR;\n  }\n\n  const status = strm.state.status;\n\n  strm.state = null;\n\n  return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n};\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nconst deflateSetDictionary = (strm, dictionary) => {\n\n  let dictLength = dictionary.length;\n\n  if (deflateStateCheck(strm)) {\n    return Z_STREAM_ERROR;\n  }\n\n  const s = strm.state;\n  const wrap = s.wrap;\n\n  if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n  if (wrap === 1) {\n    /* adler32(strm->adler, dictionary, dictLength); */\n    strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n  }\n\n  s.wrap = 0;   /* avoid computing Adler-32 in read_buf */\n\n  /* if dictionary would fill window, just replace the history */\n  if (dictLength >= s.w_size) {\n    if (wrap === 0) {            /* already empty otherwise */\n      /*** CLEAR_HASH(s); ***/\n      zero(s.head); // Fill with NIL (= 0);\n      s.strstart = 0;\n      s.block_start = 0;\n      s.insert = 0;\n    }\n    /* use the tail */\n    // dictionary = dictionary.slice(dictLength - s.w_size);\n    let tmpDict = new Uint8Array(s.w_size);\n    tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);\n    dictionary = tmpDict;\n    dictLength = s.w_size;\n  }\n  /* insert dictionary into window and hash */\n  const avail = strm.avail_in;\n  const next = strm.next_in;\n  const input = strm.input;\n  strm.avail_in = dictLength;\n  strm.next_in = 0;\n  strm.input = dictionary;\n  fill_window(s);\n  while (s.lookahead >= MIN_MATCH) {\n    let str = s.strstart;\n    let n = s.lookahead - (MIN_MATCH - 1);\n    do {\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n      s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n      s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n      s.head[s.ins_h] = str;\n      str++;\n    } while (--n);\n    s.strstart = str;\n    s.lookahead = MIN_MATCH - 1;\n    fill_window(s);\n  }\n  s.strstart += s.lookahead;\n  s.block_start = s.strstart;\n  s.insert = s.lookahead;\n  s.lookahead = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  strm.next_in = next;\n  strm.input = input;\n  strm.avail_in = avail;\n  s.wrap = wrap;\n  return Z_OK;\n};\n\n\nmodule.exports.deflateInit = deflateInit;\nmodule.exports.deflateInit2 = deflateInit2;\nmodule.exports.deflateReset = deflateReset;\nmodule.exports.deflateResetKeep = deflateResetKeep;\nmodule.exports.deflateSetHeader = deflateSetHeader;\nmodule.exports.deflate = deflate;\nmodule.exports.deflateEnd = deflateEnd;\nmodule.exports.deflateSetDictionary = deflateSetDictionary;\nmodule.exports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.deflateBound = deflateBound;\nmodule.exports.deflateCopy = deflateCopy;\nmodule.exports.deflateGetDictionary = deflateGetDictionary;\nmodule.exports.deflateParams = deflateParams;\nmodule.exports.deflatePending = deflatePending;\nmodule.exports.deflatePrime = deflatePrime;\nmodule.exports.deflateTune = deflateTune;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n  /* true if compressed data believed to be text */\n  this.text       = 0;\n  /* modification time */\n  this.time       = 0;\n  /* extra flags (not used when writing a gzip file) */\n  this.xflags     = 0;\n  /* operating system */\n  this.os         = 0;\n  /* pointer to extra field or Z_NULL if none */\n  this.extra      = null;\n  /* extra field length (valid if extra != Z_NULL) */\n  this.extra_len  = 0; // Actually, we don't need it in JS,\n                       // but leave for few code modifications\n\n  //\n  // Setup limits is not necessary because in js we should not preallocate memory\n  // for inflate use constant limit in 65536 bytes\n  //\n\n  /* space at extra (only when reading header) */\n  // this.extra_max  = 0;\n  /* pointer to zero-terminated file name or Z_NULL */\n  this.name       = '';\n  /* space at name (only when reading header) */\n  // this.name_max   = 0;\n  /* pointer to zero-terminated comment or Z_NULL */\n  this.comment    = '';\n  /* space at comment (only when reading header) */\n  // this.comm_max   = 0;\n  /* true if there was or will be a header crc */\n  this.hcrc       = 0;\n  /* true when done reading gzip header (not used when writing a gzip file) */\n  this.done       = false;\n}\n\nmodule.exports = GZheader;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nconst BAD = 16209;       /* got a data error -- remain here until reset */\nconst TYPE = 16191;      /* i: waiting for type bits, including last-flag bit */\n\n/*\n   Decode literal, length, and distance codes and write out the resulting\n   literal and match bytes until either not enough input or output is\n   available, an end-of-block is encountered, or a data error is encountered.\n   When large enough input and output buffers are supplied to inflate(), for\n   example, a 16K input buffer and a 64K output buffer, more than 95% of the\n   inflate execution time is spent in this routine.\n\n   Entry assumptions:\n\n        state.mode === LEN\n        strm.avail_in >= 6\n        strm.avail_out >= 258\n        start >= strm.avail_out\n        state.bits < 8\n\n   On return, state.mode is one of:\n\n        LEN -- ran out of enough output space or enough available input\n        TYPE -- reached end of block code, inflate() to interpret next block\n        BAD -- error in block data\n\n   Notes:\n\n    - The maximum input bits used by a length/distance pair is 15 bits for the\n      length code, 5 bits for the length extra, 15 bits for the distance code,\n      and 13 bits for the distance extra.  This totals 48 bits, or six bytes.\n      Therefore if strm.avail_in >= 6, then there is enough input to avoid\n      checking for available input while decoding.\n\n    - The maximum bytes that a single length/distance pair can output is 258\n      bytes, which is the maximum length that can be coded.  inflate_fast()\n      requires strm.avail_out >= 258 for each loop to avoid checking for\n      output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n  let _in;                    /* local strm.input */\n  let last;                   /* have enough input while in < last */\n  let _out;                   /* local strm.output */\n  let beg;                    /* inflate()'s initial strm.output */\n  let end;                    /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n  let dmax;                   /* maximum distance from zlib header */\n//#endif\n  let wsize;                  /* window size or zero if not using window */\n  let whave;                  /* valid bytes in the window */\n  let wnext;                  /* window write index */\n  // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n  let s_window;               /* allocated sliding window, if wsize != 0 */\n  let hold;                   /* local strm.hold */\n  let bits;                   /* local strm.bits */\n  let lcode;                  /* local strm.lencode */\n  let dcode;                  /* local strm.distcode */\n  let lmask;                  /* mask for first level of length codes */\n  let dmask;                  /* mask for first level of distance codes */\n  let here;                   /* retrieved table entry */\n  let op;                     /* code bits, operation, extra bits, or */\n                              /*  window position, window bytes to copy */\n  let len;                    /* match length, unused bytes */\n  let dist;                   /* match distance */\n  let from;                   /* where to copy match from */\n  let from_source;\n\n\n  let input, output; // JS specific, because we have no pointers\n\n  /* copy state to local variables */\n  const state = strm.state;\n  //here = state.here;\n  _in = strm.next_in;\n  input = strm.input;\n  last = _in + (strm.avail_in - 5);\n  _out = strm.next_out;\n  output = strm.output;\n  beg = _out - (start - strm.avail_out);\n  end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n  dmax = state.dmax;\n//#endif\n  wsize = state.wsize;\n  whave = state.whave;\n  wnext = state.wnext;\n  s_window = state.window;\n  hold = state.hold;\n  bits = state.bits;\n  lcode = state.lencode;\n  dcode = state.distcode;\n  lmask = (1 << state.lenbits) - 1;\n  dmask = (1 << state.distbits) - 1;\n\n\n  /* decode literals and length/distances until end-of-block or not enough\n     input data or output space */\n\n  top:\n  do {\n    if (bits < 15) {\n      hold += input[_in++] << bits;\n      bits += 8;\n      hold += input[_in++] << bits;\n      bits += 8;\n    }\n\n    here = lcode[hold & lmask];\n\n    dolen:\n    for (;;) { // Goto emulation\n      op = here >>> 24/*here.bits*/;\n      hold >>>= op;\n      bits -= op;\n      op = (here >>> 16) & 0xff/*here.op*/;\n      if (op === 0) {                          /* literal */\n        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n        //        \"inflate:         literal '%c'\\n\" :\n        //        \"inflate:         literal 0x%02x\\n\", here.val));\n        output[_out++] = here & 0xffff/*here.val*/;\n      }\n      else if (op & 16) {                     /* length base */\n        len = here & 0xffff/*here.val*/;\n        op &= 15;                           /* number of extra bits */\n        if (op) {\n          if (bits < op) {\n            hold += input[_in++] << bits;\n            bits += 8;\n          }\n          len += hold & ((1 << op) - 1);\n          hold >>>= op;\n          bits -= op;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", len));\n        if (bits < 15) {\n          hold += input[_in++] << bits;\n          bits += 8;\n          hold += input[_in++] << bits;\n          bits += 8;\n        }\n        here = dcode[hold & dmask];\n\n        dodist:\n        for (;;) { // goto emulation\n          op = here >>> 24/*here.bits*/;\n          hold >>>= op;\n          bits -= op;\n          op = (here >>> 16) & 0xff/*here.op*/;\n\n          if (op & 16) {                      /* distance base */\n            dist = here & 0xffff/*here.val*/;\n            op &= 15;                       /* number of extra bits */\n            if (bits < op) {\n              hold += input[_in++] << bits;\n              bits += 8;\n              if (bits < op) {\n                hold += input[_in++] << bits;\n                bits += 8;\n              }\n            }\n            dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n            if (dist > dmax) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break top;\n            }\n//#endif\n            hold >>>= op;\n            bits -= op;\n            //Tracevv((stderr, \"inflate:         distance %u\\n\", dist));\n            op = _out - beg;                /* max distance in output */\n            if (dist > op) {                /* see if copy from window */\n              op = dist - op;               /* distance back in window */\n              if (op > whave) {\n                if (state.sane) {\n                  strm.msg = 'invalid distance too far back';\n                  state.mode = BAD;\n                  break top;\n                }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//                if (len <= op - whave) {\n//                  do {\n//                    output[_out++] = 0;\n//                  } while (--len);\n//                  continue top;\n//                }\n//                len -= op - whave;\n//                do {\n//                  output[_out++] = 0;\n//                } while (--op > whave);\n//                if (op === 0) {\n//                  from = _out - dist;\n//                  do {\n//                    output[_out++] = output[from++];\n//                  } while (--len);\n//                  continue top;\n//                }\n//#endif\n              }\n              from = 0; // window index\n              from_source = s_window;\n              if (wnext === 0) {           /* very common case */\n                from += wsize - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              else if (wnext < op) {      /* wrap around window */\n                from += wsize + wnext - op;\n                op -= wnext;\n                if (op < len) {         /* some from end of window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = 0;\n                  if (wnext < len) {  /* some from start of window */\n                    op = wnext;\n                    len -= op;\n                    do {\n                      output[_out++] = s_window[from++];\n                    } while (--op);\n                    from = _out - dist;      /* rest from output */\n                    from_source = output;\n                  }\n                }\n              }\n              else {                      /* contiguous in window */\n                from += wnext - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              while (len > 2) {\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                len -= 3;\n              }\n              if (len) {\n                output[_out++] = from_source[from++];\n                if (len > 1) {\n                  output[_out++] = from_source[from++];\n                }\n              }\n            }\n            else {\n              from = _out - dist;          /* copy direct from output */\n              do {                        /* minimum length is three */\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                len -= 3;\n              } while (len > 2);\n              if (len) {\n                output[_out++] = output[from++];\n                if (len > 1) {\n                  output[_out++] = output[from++];\n                }\n              }\n            }\n          }\n          else if ((op & 64) === 0) {          /* 2nd level distance code */\n            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n            continue dodist;\n          }\n          else {\n            strm.msg = 'invalid distance code';\n            state.mode = BAD;\n            break top;\n          }\n\n          break; // need to emulate goto via \"continue\"\n        }\n      }\n      else if ((op & 64) === 0) {              /* 2nd level length code */\n        here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n        continue dolen;\n      }\n      else if (op & 32) {                     /* end-of-block */\n        //Tracevv((stderr, \"inflate:         end of block\\n\"));\n        state.mode = TYPE;\n        break top;\n      }\n      else {\n        strm.msg = 'invalid literal/length code';\n        state.mode = BAD;\n        break top;\n      }\n\n      break; // need to emulate goto via \"continue\"\n    }\n  } while (_in < last && _out < end);\n\n  /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n  len = bits >> 3;\n  _in -= len;\n  bits -= len << 3;\n  hold &= (1 << bits) - 1;\n\n  /* update state and return */\n  strm.next_in = _in;\n  strm.next_out = _out;\n  strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n  strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n  state.hold = hold;\n  state.bits = bits;\n  return;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst adler32       = require('./adler32');\nconst crc32         = require('./crc32');\nconst inflate_fast  = require('./inffast');\nconst inflate_table = require('./inftrees');\n\nconst CODES = 0;\nconst LENS = 1;\nconst DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n  Z_FINISH, Z_BLOCK, Z_TREES,\n  Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR, Z_BUF_ERROR,\n  Z_DEFLATED\n} = require('./constants');\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nconst    HEAD = 16180;       /* i: waiting for magic header */\nconst    FLAGS = 16181;      /* i: waiting for method and flags (gzip) */\nconst    TIME = 16182;       /* i: waiting for modification time (gzip) */\nconst    OS = 16183;         /* i: waiting for extra flags and operating system (gzip) */\nconst    EXLEN = 16184;      /* i: waiting for extra length (gzip) */\nconst    EXTRA = 16185;      /* i: waiting for extra bytes (gzip) */\nconst    NAME = 16186;       /* i: waiting for end of file name (gzip) */\nconst    COMMENT = 16187;    /* i: waiting for end of comment (gzip) */\nconst    HCRC = 16188;       /* i: waiting for header crc (gzip) */\nconst    DICTID = 16189;    /* i: waiting for dictionary check value */\nconst    DICT = 16190;      /* waiting for inflateSetDictionary() call */\nconst        TYPE = 16191;      /* i: waiting for type bits, including last-flag bit */\nconst        TYPEDO = 16192;    /* i: same, but skip check to exit inflate on new block */\nconst        STORED = 16193;    /* i: waiting for stored size (length and complement) */\nconst        COPY_ = 16194;     /* i/o: same as COPY below, but only first time in */\nconst        COPY = 16195;      /* i/o: waiting for input or output to copy stored block */\nconst        TABLE = 16196;     /* i: waiting for dynamic block table lengths */\nconst        LENLENS = 16197;   /* i: waiting for code length code lengths */\nconst        CODELENS = 16198;  /* i: waiting for length/lit and distance code lengths */\nconst            LEN_ = 16199;      /* i: same as LEN below, but only first time in */\nconst            LEN = 16200;       /* i: waiting for length/lit/eob code */\nconst            LENEXT = 16201;    /* i: waiting for length extra bits */\nconst            DIST = 16202;      /* i: waiting for distance code */\nconst            DISTEXT = 16203;   /* i: waiting for distance extra bits */\nconst            MATCH = 16204;     /* o: waiting for output space to copy string */\nconst            LIT = 16205;       /* o: waiting for output space to write literal */\nconst    CHECK = 16206;     /* i: waiting for 32-bit check value */\nconst    LENGTH = 16207;    /* i: waiting for 32-bit length (gzip) */\nconst    DONE = 16208;      /* finished check, done -- remain here until reset */\nconst    BAD = 16209;       /* got a data error -- remain here until reset */\nconst    MEM = 16210;       /* got an inflate() memory error -- remain here until reset */\nconst    SYNC = 16211;      /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nconst ENOUGH_LENS = 852;\nconst ENOUGH_DISTS = 592;\n//const ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst MAX_WBITS = 15;\n/* 32K LZ77 window */\nconst DEF_WBITS = MAX_WBITS;\n\n\nconst zswap32 = (q) => {\n\n  return  (((q >>> 24) & 0xff) +\n          ((q >>> 8) & 0xff00) +\n          ((q & 0xff00) << 8) +\n          ((q & 0xff) << 24));\n};\n\n\nfunction InflateState() {\n  this.strm = null;           /* pointer back to this zlib stream */\n  this.mode = 0;              /* current inflate mode */\n  this.last = false;          /* true if processing last block */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip,\n                                 bit 2 true to validate check value */\n  this.havedict = false;      /* true if dictionary provided */\n  this.flags = 0;             /* gzip header method and flags (0 if zlib), or\n                                 -1 if raw or no header yet */\n  this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */\n  this.check = 0;             /* protected copy of check value */\n  this.total = 0;             /* protected copy of output count */\n  // TODO: may be {}\n  this.head = null;           /* where to save gzip header information */\n\n  /* sliding window */\n  this.wbits = 0;             /* log base 2 of requested window size */\n  this.wsize = 0;             /* window size or zero if not using window */\n  this.whave = 0;             /* valid bytes in the window */\n  this.wnext = 0;             /* window write index */\n  this.window = null;         /* allocated sliding window, if needed */\n\n  /* bit accumulator */\n  this.hold = 0;              /* input bit accumulator */\n  this.bits = 0;              /* number of bits in \"in\" */\n\n  /* for string and stored block copying */\n  this.length = 0;            /* literal or length of data to copy */\n  this.offset = 0;            /* distance back to copy string from */\n\n  /* for table and code decoding */\n  this.extra = 0;             /* extra bits needed */\n\n  /* fixed and dynamic code tables */\n  this.lencode = null;          /* starting table for length/literal codes */\n  this.distcode = null;         /* starting table for distance codes */\n  this.lenbits = 0;           /* index bits for lencode */\n  this.distbits = 0;          /* index bits for distcode */\n\n  /* dynamic table building */\n  this.ncode = 0;             /* number of code length code lengths */\n  this.nlen = 0;              /* number of length code lengths */\n  this.ndist = 0;             /* number of distance code lengths */\n  this.have = 0;              /* number of code lengths in lens[] */\n  this.next = null;              /* next available space in codes[] */\n\n  this.lens = new Uint16Array(320); /* temporary storage for code lengths */\n  this.work = new Uint16Array(288); /* work area for code table building */\n\n  /*\n   because we don't have pointers in js, we use lencode and distcode directly\n   as buffers so we don't need codes\n  */\n  //this.codes = new Int32Array(ENOUGH);       /* space for code tables */\n  this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */\n  this.distdyn = null;             /* dynamic table for distance codes (JS specific) */\n  this.sane = 0;                   /* if false, allow invalid distance too far */\n  this.back = 0;                   /* bits back of last unprocessed length/lit */\n  this.was = 0;                    /* initial length of match */\n}\n\n\nconst inflateStateCheck = (strm) => {\n\n  if (!strm) {\n    return 1;\n  }\n  const state = strm.state;\n  if (!state || state.strm !== strm ||\n    state.mode < HEAD || state.mode > SYNC) {\n    return 1;\n  }\n  return 0;\n};\n\n\nconst inflateResetKeep = (strm) => {\n\n  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\n  const state = strm.state;\n  strm.total_in = strm.total_out = state.total = 0;\n  strm.msg = ''; /*Z_NULL*/\n  if (state.wrap) {       /* to support ill-conceived Java test suite */\n    strm.adler = state.wrap & 1;\n  }\n  state.mode = HEAD;\n  state.last = 0;\n  state.havedict = 0;\n  state.flags = -1;\n  state.dmax = 32768;\n  state.head = null/*Z_NULL*/;\n  state.hold = 0;\n  state.bits = 0;\n  //state.lencode = state.distcode = state.next = state.codes;\n  state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);\n  state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);\n\n  state.sane = 1;\n  state.back = -1;\n  //Tracev((stderr, \"inflate: reset\\n\"));\n  return Z_OK;\n};\n\n\nconst inflateReset = (strm) => {\n\n  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\n  const state = strm.state;\n  state.wsize = 0;\n  state.whave = 0;\n  state.wnext = 0;\n  return inflateResetKeep(strm);\n\n};\n\n\nconst inflateReset2 = (strm, windowBits) => {\n  let wrap;\n\n  /* get the state */\n  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\n  const state = strm.state;\n\n  /* extract wrap request from windowBits parameter */\n  if (windowBits < 0) {\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n  else {\n    wrap = (windowBits >> 4) + 5;\n    if (windowBits < 48) {\n      windowBits &= 15;\n    }\n  }\n\n  /* set number of window bits, free window if different */\n  if (windowBits && (windowBits < 8 || windowBits > 15)) {\n    return Z_STREAM_ERROR;\n  }\n  if (state.window !== null && state.wbits !== windowBits) {\n    state.window = null;\n  }\n\n  /* update state and reset the rest of it */\n  state.wrap = wrap;\n  state.wbits = windowBits;\n  return inflateReset(strm);\n};\n\n\nconst inflateInit2 = (strm, windowBits) => {\n\n  if (!strm) { return Z_STREAM_ERROR; }\n  //strm.msg = Z_NULL;                 /* in case we return an error */\n\n  const state = new InflateState();\n\n  //if (state === Z_NULL) return Z_MEM_ERROR;\n  //Tracev((stderr, \"inflate: allocated\\n\"));\n  strm.state = state;\n  state.strm = strm;\n  state.window = null/*Z_NULL*/;\n  state.mode = HEAD;     /* to pass state test in inflateReset2() */\n  const ret = inflateReset2(strm, windowBits);\n  if (ret !== Z_OK) {\n    strm.state = null/*Z_NULL*/;\n  }\n  return ret;\n};\n\n\nconst inflateInit = (strm) => {\n\n  return inflateInit2(strm, DEF_WBITS);\n};\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding.  Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter.  This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time.  However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nlet virgin = true;\n\nlet lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\n\nconst fixedtables = (state) => {\n\n  /* build fixed huffman tables if first call (may not be thread safe) */\n  if (virgin) {\n    lenfix = new Int32Array(512);\n    distfix = new Int32Array(32);\n\n    /* literal/length table */\n    let sym = 0;\n    while (sym < 144) { state.lens[sym++] = 8; }\n    while (sym < 256) { state.lens[sym++] = 9; }\n    while (sym < 280) { state.lens[sym++] = 7; }\n    while (sym < 288) { state.lens[sym++] = 8; }\n\n    inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });\n\n    /* distance table */\n    sym = 0;\n    while (sym < 32) { state.lens[sym++] = 5; }\n\n    inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });\n\n    /* do this just once */\n    virgin = false;\n  }\n\n  state.lencode = lenfix;\n  state.lenbits = 9;\n  state.distcode = distfix;\n  state.distbits = 5;\n};\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning.  If window does not exist yet, create it.  This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nconst updatewindow = (strm, src, end, copy) => {\n\n  let dist;\n  const state = strm.state;\n\n  /* if it hasn't been done already, allocate space for the window */\n  if (state.window === null) {\n    state.wsize = 1 << state.wbits;\n    state.wnext = 0;\n    state.whave = 0;\n\n    state.window = new Uint8Array(state.wsize);\n  }\n\n  /* copy state->wsize or less output bytes into the circular window */\n  if (copy >= state.wsize) {\n    state.window.set(src.subarray(end - state.wsize, end), 0);\n    state.wnext = 0;\n    state.whave = state.wsize;\n  }\n  else {\n    dist = state.wsize - state.wnext;\n    if (dist > copy) {\n      dist = copy;\n    }\n    //zmemcpy(state->window + state->wnext, end - copy, dist);\n    state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);\n    copy -= dist;\n    if (copy) {\n      //zmemcpy(state->window, end - copy, copy);\n      state.window.set(src.subarray(end - copy, end), 0);\n      state.wnext = copy;\n      state.whave = state.wsize;\n    }\n    else {\n      state.wnext += dist;\n      if (state.wnext === state.wsize) { state.wnext = 0; }\n      if (state.whave < state.wsize) { state.whave += dist; }\n    }\n  }\n  return 0;\n};\n\n\nconst inflate = (strm, flush) => {\n\n  let state;\n  let input, output;          // input/output buffers\n  let next;                   /* next input INDEX */\n  let put;                    /* next output INDEX */\n  let have, left;             /* available input and output */\n  let hold;                   /* bit buffer */\n  let bits;                   /* bits in bit buffer */\n  let _in, _out;              /* save starting available input and output */\n  let copy;                   /* number of stored or match bytes to copy */\n  let from;                   /* where to copy match bytes from */\n  let from_source;\n  let here = 0;               /* current decoding table entry */\n  let here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n  //let last;                   /* parent table entry */\n  let last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n  let len;                    /* length to copy for repeats, bits to drop */\n  let ret;                    /* return code */\n  const hbuf = new Uint8Array(4);    /* buffer for gzip header crc calculation */\n  let opts;\n\n  let n; // temporary variable for NEED_BITS\n\n  const order = /* permutation of code lengths */\n    new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);\n\n\n  if (inflateStateCheck(strm) || !strm.output ||\n      (!strm.input && strm.avail_in !== 0)) {\n    return Z_STREAM_ERROR;\n  }\n\n  state = strm.state;\n  if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */\n\n\n  //--- LOAD() ---\n  put = strm.next_out;\n  output = strm.output;\n  left = strm.avail_out;\n  next = strm.next_in;\n  input = strm.input;\n  have = strm.avail_in;\n  hold = state.hold;\n  bits = state.bits;\n  //---\n\n  _in = have;\n  _out = left;\n  ret = Z_OK;\n\n  inf_leave: // goto emulation\n  for (;;) {\n    switch (state.mode) {\n      case HEAD:\n        if (state.wrap === 0) {\n          state.mode = TYPEDO;\n          break;\n        }\n        //=== NEEDBITS(16);\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */\n          if (state.wbits === 0) {\n            state.wbits = 15;\n          }\n          state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          state.mode = FLAGS;\n          break;\n        }\n        if (state.head) {\n          state.head.done = false;\n        }\n        if (!(state.wrap & 1) ||   /* check if zlib header allowed */\n          (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n          strm.msg = 'incorrect header check';\n          state.mode = BAD;\n          break;\n        }\n        if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n        len = (hold & 0x0f)/*BITS(4)*/ + 8;\n        if (state.wbits === 0) {\n          state.wbits = len;\n        }\n        if (len > 15 || len > state.wbits) {\n          strm.msg = 'invalid window size';\n          state.mode = BAD;\n          break;\n        }\n\n        // !!! pako patch. Force use `options.windowBits` if passed.\n        // Required to always use max window size by default.\n        state.dmax = 1 << state.wbits;\n        //state.dmax = 1 << len;\n\n        state.flags = 0;               /* indicate zlib header */\n        //Tracev((stderr, \"inflate:   zlib header ok\\n\"));\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = hold & 0x200 ? DICTID : TYPE;\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        break;\n      case FLAGS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.flags = hold;\n        if ((state.flags & 0xff) !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        if (state.flags & 0xe000) {\n          strm.msg = 'unknown header flags set';\n          state.mode = BAD;\n          break;\n        }\n        if (state.head) {\n          state.head.text = ((hold >> 8) & 1);\n        }\n        if ((state.flags & 0x0200) && (state.wrap & 4)) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = TIME;\n        /* falls through */\n      case TIME:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.time = hold;\n        }\n        if ((state.flags & 0x0200) && (state.wrap & 4)) {\n          //=== CRC4(state.check, hold)\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          hbuf[2] = (hold >>> 16) & 0xff;\n          hbuf[3] = (hold >>> 24) & 0xff;\n          state.check = crc32(state.check, hbuf, 4, 0);\n          //===\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = OS;\n        /* falls through */\n      case OS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.xflags = (hold & 0xff);\n          state.head.os = (hold >> 8);\n        }\n        if ((state.flags & 0x0200) && (state.wrap & 4)) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = EXLEN;\n        /* falls through */\n      case EXLEN:\n        if (state.flags & 0x0400) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length = hold;\n          if (state.head) {\n            state.head.extra_len = hold;\n          }\n          if ((state.flags & 0x0200) && (state.wrap & 4)) {\n            //=== CRC2(state.check, hold);\n            hbuf[0] = hold & 0xff;\n            hbuf[1] = (hold >>> 8) & 0xff;\n            state.check = crc32(state.check, hbuf, 2, 0);\n            //===//\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        else if (state.head) {\n          state.head.extra = null/*Z_NULL*/;\n        }\n        state.mode = EXTRA;\n        /* falls through */\n      case EXTRA:\n        if (state.flags & 0x0400) {\n          copy = state.length;\n          if (copy > have) { copy = have; }\n          if (copy) {\n            if (state.head) {\n              len = state.head.extra_len - state.length;\n              if (!state.head.extra) {\n                // Use untyped array for more convenient processing later\n                state.head.extra = new Uint8Array(state.head.extra_len);\n              }\n              state.head.extra.set(\n                input.subarray(\n                  next,\n                  // extra field is limited to 65536 bytes\n                  // - no need for additional size check\n                  next + copy\n                ),\n                /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n                len\n              );\n              //zmemcpy(state.head.extra + len, next,\n              //        len + copy > state.head.extra_max ?\n              //        state.head.extra_max - len : copy);\n            }\n            if ((state.flags & 0x0200) && (state.wrap & 4)) {\n              state.check = crc32(state.check, input, copy, next);\n            }\n            have -= copy;\n            next += copy;\n            state.length -= copy;\n          }\n          if (state.length) { break inf_leave; }\n        }\n        state.length = 0;\n        state.mode = NAME;\n        /* falls through */\n      case NAME:\n        if (state.flags & 0x0800) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            // TODO: 2 or 1 bytes?\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.name_max*/)) {\n              state.head.name += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n\n          if ((state.flags & 0x0200) && (state.wrap & 4)) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.name = null;\n        }\n        state.length = 0;\n        state.mode = COMMENT;\n        /* falls through */\n      case COMMENT:\n        if (state.flags & 0x1000) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.comm_max*/)) {\n              state.head.comment += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n          if ((state.flags & 0x0200) && (state.wrap & 4)) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.comment = null;\n        }\n        state.mode = HCRC;\n        /* falls through */\n      case HCRC:\n        if (state.flags & 0x0200) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if ((state.wrap & 4) && hold !== (state.check & 0xffff)) {\n            strm.msg = 'header crc mismatch';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        if (state.head) {\n          state.head.hcrc = ((state.flags >> 9) & 1);\n          state.head.done = true;\n        }\n        strm.adler = state.check = 0;\n        state.mode = TYPE;\n        break;\n      case DICTID:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        strm.adler = state.check = zswap32(hold);\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = DICT;\n        /* falls through */\n      case DICT:\n        if (state.havedict === 0) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          return Z_NEED_DICT;\n        }\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = TYPE;\n        /* falls through */\n      case TYPE:\n        if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case TYPEDO:\n        if (state.last) {\n          //--- BYTEBITS() ---//\n          hold >>>= bits & 7;\n          bits -= bits & 7;\n          //---//\n          state.mode = CHECK;\n          break;\n        }\n        //=== NEEDBITS(3); */\n        while (bits < 3) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.last = (hold & 0x01)/*BITS(1)*/;\n        //--- DROPBITS(1) ---//\n        hold >>>= 1;\n        bits -= 1;\n        //---//\n\n        switch ((hold & 0x03)/*BITS(2)*/) {\n          case 0:                             /* stored block */\n            //Tracev((stderr, \"inflate:     stored block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = STORED;\n            break;\n          case 1:                             /* fixed block */\n            fixedtables(state);\n            //Tracev((stderr, \"inflate:     fixed codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = LEN_;             /* decode codes */\n            if (flush === Z_TREES) {\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n              break inf_leave;\n            }\n            break;\n          case 2:                             /* dynamic block */\n            //Tracev((stderr, \"inflate:     dynamic codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = TABLE;\n            break;\n          case 3:\n            strm.msg = 'invalid block type';\n            state.mode = BAD;\n        }\n        //--- DROPBITS(2) ---//\n        hold >>>= 2;\n        bits -= 2;\n        //---//\n        break;\n      case STORED:\n        //--- BYTEBITS() ---// /* go to byte boundary */\n        hold >>>= bits & 7;\n        bits -= bits & 7;\n        //---//\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n          strm.msg = 'invalid stored block lengths';\n          state.mode = BAD;\n          break;\n        }\n        state.length = hold & 0xffff;\n        //Tracev((stderr, \"inflate:       stored length %u\\n\",\n        //        state.length));\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = COPY_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case COPY_:\n        state.mode = COPY;\n        /* falls through */\n      case COPY:\n        copy = state.length;\n        if (copy) {\n          if (copy > have) { copy = have; }\n          if (copy > left) { copy = left; }\n          if (copy === 0) { break inf_leave; }\n          //--- zmemcpy(put, next, copy); ---\n          output.set(input.subarray(next, next + copy), put);\n          //---//\n          have -= copy;\n          next += copy;\n          left -= copy;\n          put += copy;\n          state.length -= copy;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       stored end\\n\"));\n        state.mode = TYPE;\n        break;\n      case TABLE:\n        //=== NEEDBITS(14); */\n        while (bits < 14) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n        if (state.nlen > 286 || state.ndist > 30) {\n          strm.msg = 'too many length or distance symbols';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracev((stderr, \"inflate:       table sizes ok\\n\"));\n        state.have = 0;\n        state.mode = LENLENS;\n        /* falls through */\n      case LENLENS:\n        while (state.have < state.ncode) {\n          //=== NEEDBITS(3);\n          while (bits < 3) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n          //--- DROPBITS(3) ---//\n          hold >>>= 3;\n          bits -= 3;\n          //---//\n        }\n        while (state.have < 19) {\n          state.lens[order[state.have++]] = 0;\n        }\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        //state.next = state.codes;\n        //state.lencode = state.next;\n        // Switch to use dynamic table\n        state.lencode = state.lendyn;\n        state.lenbits = 7;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n        state.lenbits = opts.bits;\n\n        if (ret) {\n          strm.msg = 'invalid code lengths set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       code lengths ok\\n\"));\n        state.have = 0;\n        state.mode = CODELENS;\n        /* falls through */\n      case CODELENS:\n        while (state.have < state.nlen + state.ndist) {\n          for (;;) {\n            here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          if (here_val < 16) {\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            state.lens[state.have++] = here_val;\n          }\n          else {\n            if (here_val === 16) {\n              //=== NEEDBITS(here.bits + 2);\n              n = here_bits + 2;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              if (state.have === 0) {\n                strm.msg = 'invalid bit length repeat';\n                state.mode = BAD;\n                break;\n              }\n              len = state.lens[state.have - 1];\n              copy = 3 + (hold & 0x03);//BITS(2);\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n            }\n            else if (here_val === 17) {\n              //=== NEEDBITS(here.bits + 3);\n              n = here_bits + 3;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 3 + (hold & 0x07);//BITS(3);\n              //--- DROPBITS(3) ---//\n              hold >>>= 3;\n              bits -= 3;\n              //---//\n            }\n            else {\n              //=== NEEDBITS(here.bits + 7);\n              n = here_bits + 7;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 11 + (hold & 0x7f);//BITS(7);\n              //--- DROPBITS(7) ---//\n              hold >>>= 7;\n              bits -= 7;\n              //---//\n            }\n            if (state.have + copy > state.nlen + state.ndist) {\n              strm.msg = 'invalid bit length repeat';\n              state.mode = BAD;\n              break;\n            }\n            while (copy--) {\n              state.lens[state.have++] = len;\n            }\n          }\n        }\n\n        /* handle error breaks in while */\n        if (state.mode === BAD) { break; }\n\n        /* check for end-of-block code (better have one) */\n        if (state.lens[256] === 0) {\n          strm.msg = 'invalid code -- missing end-of-block';\n          state.mode = BAD;\n          break;\n        }\n\n        /* build code tables -- note: do not change the lenbits or distbits\n           values here (9 and 6) without reading the comments in inftrees.h\n           concerning the ENOUGH constants, which depend on those values */\n        state.lenbits = 9;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.lenbits = opts.bits;\n        // state.lencode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid literal/lengths set';\n          state.mode = BAD;\n          break;\n        }\n\n        state.distbits = 6;\n        //state.distcode.copy(state.codes);\n        // Switch to use dynamic table\n        state.distcode = state.distdyn;\n        opts = { bits: state.distbits };\n        ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.distbits = opts.bits;\n        // state.distcode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid distances set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, 'inflate:       codes ok\\n'));\n        state.mode = LEN_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case LEN_:\n        state.mode = LEN;\n        /* falls through */\n      case LEN:\n        if (have >= 6 && left >= 258) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          inflate_fast(strm, _out);\n          //--- LOAD() ---\n          put = strm.next_out;\n          output = strm.output;\n          left = strm.avail_out;\n          next = strm.next_in;\n          input = strm.input;\n          have = strm.avail_in;\n          hold = state.hold;\n          bits = state.bits;\n          //---\n\n          if (state.mode === TYPE) {\n            state.back = -1;\n          }\n          break;\n        }\n        state.back = 0;\n        for (;;) {\n          here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if (here_bits <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if (here_op && (here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.lencode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        state.length = here_val;\n        if (here_op === 0) {\n          //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n          //        \"inflate:         literal '%c'\\n\" :\n          //        \"inflate:         literal 0x%02x\\n\", here.val));\n          state.mode = LIT;\n          break;\n        }\n        if (here_op & 32) {\n          //Tracevv((stderr, \"inflate:         end of block\\n\"));\n          state.back = -1;\n          state.mode = TYPE;\n          break;\n        }\n        if (here_op & 64) {\n          strm.msg = 'invalid literal/length code';\n          state.mode = BAD;\n          break;\n        }\n        state.extra = here_op & 15;\n        state.mode = LENEXT;\n        /* falls through */\n      case LENEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", state.length));\n        state.was = state.length;\n        state.mode = DIST;\n        /* falls through */\n      case DIST:\n        for (;;) {\n          here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if ((here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.distcode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        if (here_op & 64) {\n          strm.msg = 'invalid distance code';\n          state.mode = BAD;\n          break;\n        }\n        state.offset = here_val;\n        state.extra = (here_op) & 15;\n        state.mode = DISTEXT;\n        /* falls through */\n      case DISTEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n//#ifdef INFLATE_STRICT\n        if (state.offset > state.dmax) {\n          strm.msg = 'invalid distance too far back';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracevv((stderr, \"inflate:         distance %u\\n\", state.offset));\n        state.mode = MATCH;\n        /* falls through */\n      case MATCH:\n        if (left === 0) { break inf_leave; }\n        copy = _out - left;\n        if (state.offset > copy) {         /* copy from window */\n          copy = state.offset - copy;\n          if (copy > state.whave) {\n            if (state.sane) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break;\n            }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//          Trace((stderr, \"inflate.c too far\\n\"));\n//          copy -= state.whave;\n//          if (copy > state.length) { copy = state.length; }\n//          if (copy > left) { copy = left; }\n//          left -= copy;\n//          state.length -= copy;\n//          do {\n//            output[put++] = 0;\n//          } while (--copy);\n//          if (state.length === 0) { state.mode = LEN; }\n//          break;\n//#endif\n          }\n          if (copy > state.wnext) {\n            copy -= state.wnext;\n            from = state.wsize - copy;\n          }\n          else {\n            from = state.wnext - copy;\n          }\n          if (copy > state.length) { copy = state.length; }\n          from_source = state.window;\n        }\n        else {                              /* copy from output */\n          from_source = output;\n          from = put - state.offset;\n          copy = state.length;\n        }\n        if (copy > left) { copy = left; }\n        left -= copy;\n        state.length -= copy;\n        do {\n          output[put++] = from_source[from++];\n        } while (--copy);\n        if (state.length === 0) { state.mode = LEN; }\n        break;\n      case LIT:\n        if (left === 0) { break inf_leave; }\n        output[put++] = state.length;\n        left--;\n        state.mode = LEN;\n        break;\n      case CHECK:\n        if (state.wrap) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            // Use '|' instead of '+' to make sure that result is signed\n            hold |= input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          _out -= left;\n          strm.total_out += _out;\n          state.total += _out;\n          if ((state.wrap & 4) && _out) {\n            strm.adler = state.check =\n                /*UPDATE_CHECK(state.check, put - _out, _out);*/\n                (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n          }\n          _out = left;\n          // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n          if ((state.wrap & 4) && (state.flags ? hold : zswap32(hold)) !== state.check) {\n            strm.msg = 'incorrect data check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   check matches trailer\\n\"));\n        }\n        state.mode = LENGTH;\n        /* falls through */\n      case LENGTH:\n        if (state.wrap && state.flags) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if ((state.wrap & 4) && hold !== (state.total & 0xffffffff)) {\n            strm.msg = 'incorrect length check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   length matches trailer\\n\"));\n        }\n        state.mode = DONE;\n        /* falls through */\n      case DONE:\n        ret = Z_STREAM_END;\n        break inf_leave;\n      case BAD:\n        ret = Z_DATA_ERROR;\n        break inf_leave;\n      case MEM:\n        return Z_MEM_ERROR;\n      case SYNC:\n        /* falls through */\n      default:\n        return Z_STREAM_ERROR;\n    }\n  }\n\n  // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n  /*\n     Return from inflate(), updating the total counts and the check value.\n     If there was no progress during the inflate() call, return a buffer\n     error.  Call updatewindow() to create and/or update the window state.\n     Note: a memory error from inflate() is non-recoverable.\n   */\n\n  //--- RESTORE() ---\n  strm.next_out = put;\n  strm.avail_out = left;\n  strm.next_in = next;\n  strm.avail_in = have;\n  state.hold = hold;\n  state.bits = bits;\n  //---\n\n  if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n                      (state.mode < CHECK || flush !== Z_FINISH))) {\n    if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n      state.mode = MEM;\n      return Z_MEM_ERROR;\n    }\n  }\n  _in -= strm.avail_in;\n  _out -= strm.avail_out;\n  strm.total_in += _in;\n  strm.total_out += _out;\n  state.total += _out;\n  if ((state.wrap & 4) && _out) {\n    strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/\n      (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n  }\n  strm.data_type = state.bits + (state.last ? 64 : 0) +\n                    (state.mode === TYPE ? 128 : 0) +\n                    (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n  if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n    ret = Z_BUF_ERROR;\n  }\n  return ret;\n};\n\n\nconst inflateEnd = (strm) => {\n\n  if (inflateStateCheck(strm)) {\n    return Z_STREAM_ERROR;\n  }\n\n  let state = strm.state;\n  if (state.window) {\n    state.window = null;\n  }\n  strm.state = null;\n  return Z_OK;\n};\n\n\nconst inflateGetHeader = (strm, head) => {\n\n  /* check state */\n  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\n  const state = strm.state;\n  if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n  /* save header structure */\n  state.head = head;\n  head.done = false;\n  return Z_OK;\n};\n\n\nconst inflateSetDictionary = (strm, dictionary) => {\n  const dictLength = dictionary.length;\n\n  let state;\n  let dictid;\n  let ret;\n\n  /* check state */\n  if (inflateStateCheck(strm)) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  if (state.wrap !== 0 && state.mode !== DICT) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* check for correct dictionary identifier */\n  if (state.mode === DICT) {\n    dictid = 1; /* adler32(0, null, 0)*/\n    /* dictid = adler32(dictid, dictionary, dictLength); */\n    dictid = adler32(dictid, dictionary, dictLength, 0);\n    if (dictid !== state.check) {\n      return Z_DATA_ERROR;\n    }\n  }\n  /* copy dictionary to window using updatewindow(), which will amend the\n   existing dictionary if appropriate */\n  ret = updatewindow(strm, dictionary, dictLength, dictLength);\n  if (ret) {\n    state.mode = MEM;\n    return Z_MEM_ERROR;\n  }\n  state.havedict = 1;\n  // Tracev((stderr, \"inflate:   dictionary set\\n\"));\n  return Z_OK;\n};\n\n\nmodule.exports.inflateReset = inflateReset;\nmodule.exports.inflateReset2 = inflateReset2;\nmodule.exports.inflateResetKeep = inflateResetKeep;\nmodule.exports.inflateInit = inflateInit;\nmodule.exports.inflateInit2 = inflateInit2;\nmodule.exports.inflate = inflate;\nmodule.exports.inflateEnd = inflateEnd;\nmodule.exports.inflateGetHeader = inflateGetHeader;\nmodule.exports.inflateSetDictionary = inflateSetDictionary;\nmodule.exports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.inflateCodesUsed = inflateCodesUsed;\nmodule.exports.inflateCopy = inflateCopy;\nmodule.exports.inflateGetDictionary = inflateGetDictionary;\nmodule.exports.inflateMark = inflateMark;\nmodule.exports.inflatePrime = inflatePrime;\nmodule.exports.inflateSync = inflateSync;\nmodule.exports.inflateSyncPoint = inflateSyncPoint;\nmodule.exports.inflateUndermine = inflateUndermine;\nmodule.exports.inflateValidate = inflateValidate;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst MAXBITS = 15;\nconst ENOUGH_LENS = 852;\nconst ENOUGH_DISTS = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst CODES = 0;\nconst LENS = 1;\nconst DISTS = 2;\n\nconst lbase = new Uint16Array([ /* Length codes 257..285 base */\n  3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n  35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n]);\n\nconst lext = new Uint8Array([ /* Length codes 257..285 extra */\n  16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n  19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n]);\n\nconst dbase = new Uint16Array([ /* Distance codes 0..29 base */\n  1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n  257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n  8193, 12289, 16385, 24577, 0, 0\n]);\n\nconst dext = new Uint8Array([ /* Distance codes 0..29 extra */\n  16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n  23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n  28, 28, 29, 29, 64, 64\n]);\n\nconst inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>\n{\n  const bits = opts.bits;\n      //here = opts.here; /* table entry for duplication */\n\n  let len = 0;               /* a code's length in bits */\n  let sym = 0;               /* index of code symbols */\n  let min = 0, max = 0;          /* minimum and maximum code lengths */\n  let root = 0;              /* number of index bits for root table */\n  let curr = 0;              /* number of index bits for current table */\n  let drop = 0;              /* code bits to drop for sub-table */\n  let left = 0;                   /* number of prefix codes available */\n  let used = 0;              /* code entries in table used */\n  let huff = 0;              /* Huffman code */\n  let incr;              /* for incrementing code, index */\n  let fill;              /* index for replicating entries */\n  let low;               /* low bits for current root entry */\n  let mask;              /* mask for low root bits */\n  let next;             /* next available space in table */\n  let base = null;     /* base value table to use */\n//  let shoextra;    /* extra bits table to use */\n  let match;                  /* use base and extra for symbol >= match */\n  const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */\n  const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */\n  let extra = null;\n\n  let here_bits, here_op, here_val;\n\n  /*\n   Process a set of code lengths to create a canonical Huffman code.  The\n   code lengths are lens[0..codes-1].  Each length corresponds to the\n   symbols 0..codes-1.  The Huffman code is generated by first sorting the\n   symbols by length from short to long, and retaining the symbol order\n   for codes with equal lengths.  Then the code starts with all zero bits\n   for the first code of the shortest length, and the codes are integer\n   increments for the same length, and zeros are appended as the length\n   increases.  For the deflate format, these bits are stored backwards\n   from their more natural integer increment ordering, and so when the\n   decoding tables are built in the large loop below, the integer codes\n   are incremented backwards.\n\n   This routine assumes, but does not check, that all of the entries in\n   lens[] are in the range 0..MAXBITS.  The caller must assure this.\n   1..MAXBITS is interpreted as that code length.  zero means that that\n   symbol does not occur in this code.\n\n   The codes are sorted by computing a count of codes for each length,\n   creating from that a table of starting indices for each length in the\n   sorted table, and then entering the symbols in order in the sorted\n   table.  The sorted table is work[], with that space being provided by\n   the caller.\n\n   The length counts are used for other purposes as well, i.e. finding\n   the minimum and maximum length codes, determining if there are any\n   codes at all, checking for a valid set of lengths, and looking ahead\n   at length counts to determine sub-table sizes when building the\n   decoding tables.\n   */\n\n  /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n  for (len = 0; len <= MAXBITS; len++) {\n    count[len] = 0;\n  }\n  for (sym = 0; sym < codes; sym++) {\n    count[lens[lens_index + sym]]++;\n  }\n\n  /* bound code lengths, force root to be within code lengths */\n  root = bits;\n  for (max = MAXBITS; max >= 1; max--) {\n    if (count[max] !== 0) { break; }\n  }\n  if (root > max) {\n    root = max;\n  }\n  if (max === 0) {                     /* no symbols to code at all */\n    //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */\n    //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;\n    //table.val[opts.table_index++] = 0;   //here.val = (var short)0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n    //table.op[opts.table_index] = 64;\n    //table.bits[opts.table_index] = 1;\n    //table.val[opts.table_index++] = 0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n    opts.bits = 1;\n    return 0;     /* no symbols, but wait for decoding to report error */\n  }\n  for (min = 1; min < max; min++) {\n    if (count[min] !== 0) { break; }\n  }\n  if (root < min) {\n    root = min;\n  }\n\n  /* check for an over-subscribed or incomplete set of lengths */\n  left = 1;\n  for (len = 1; len <= MAXBITS; len++) {\n    left <<= 1;\n    left -= count[len];\n    if (left < 0) {\n      return -1;\n    }        /* over-subscribed */\n  }\n  if (left > 0 && (type === CODES || max !== 1)) {\n    return -1;                      /* incomplete set */\n  }\n\n  /* generate offsets into symbol table for each length for sorting */\n  offs[1] = 0;\n  for (len = 1; len < MAXBITS; len++) {\n    offs[len + 1] = offs[len] + count[len];\n  }\n\n  /* sort symbols by length, by symbol order within each length */\n  for (sym = 0; sym < codes; sym++) {\n    if (lens[lens_index + sym] !== 0) {\n      work[offs[lens[lens_index + sym]]++] = sym;\n    }\n  }\n\n  /*\n   Create and fill in decoding tables.  In this loop, the table being\n   filled is at next and has curr index bits.  The code being used is huff\n   with length len.  That code is converted to an index by dropping drop\n   bits off of the bottom.  For codes where len is less than drop + curr,\n   those top drop + curr - len bits are incremented through all values to\n   fill the table with replicated entries.\n\n   root is the number of index bits for the root table.  When len exceeds\n   root, sub-tables are created pointed to by the root entry with an index\n   of the low root bits of huff.  This is saved in low to check for when a\n   new sub-table should be started.  drop is zero when the root table is\n   being filled, and drop is root when sub-tables are being filled.\n\n   When a new sub-table is needed, it is necessary to look ahead in the\n   code lengths to determine what size sub-table is needed.  The length\n   counts are used for this, and so count[] is decremented as codes are\n   entered in the tables.\n\n   used keeps track of how many table entries have been allocated from the\n   provided *table space.  It is checked for LENS and DIST tables against\n   the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n   the initial root table size constants.  See the comments in inftrees.h\n   for more information.\n\n   sym increments through all symbols, and the loop terminates when\n   all codes of length max, i.e. all codes, have been processed.  This\n   routine permits incomplete codes, so another loop after this one fills\n   in the rest of the decoding tables with invalid code markers.\n   */\n\n  /* set up for code type */\n  // poor man optimization - use if-else instead of switch,\n  // to avoid deopts in old v8\n  if (type === CODES) {\n    base = extra = work;    /* dummy value--not used */\n    match = 20;\n\n  } else if (type === LENS) {\n    base = lbase;\n    extra = lext;\n    match = 257;\n\n  } else {                    /* DISTS */\n    base = dbase;\n    extra = dext;\n    match = 0;\n  }\n\n  /* initialize opts for loop */\n  huff = 0;                   /* starting code */\n  sym = 0;                    /* starting code symbol */\n  len = min;                  /* starting code length */\n  next = table_index;              /* current table to fill in */\n  curr = root;                /* current table index bits */\n  drop = 0;                   /* current bits to drop from code for index */\n  low = -1;                   /* trigger new sub-table when len > root */\n  used = 1 << root;          /* use root table entries */\n  mask = used - 1;            /* mask for comparing low */\n\n  /* check available table space */\n  if ((type === LENS && used > ENOUGH_LENS) ||\n    (type === DISTS && used > ENOUGH_DISTS)) {\n    return 1;\n  }\n\n  /* process all codes and make table entries */\n  for (;;) {\n    /* create table entry */\n    here_bits = len - drop;\n    if (work[sym] + 1 < match) {\n      here_op = 0;\n      here_val = work[sym];\n    }\n    else if (work[sym] >= match) {\n      here_op = extra[work[sym] - match];\n      here_val = base[work[sym] - match];\n    }\n    else {\n      here_op = 32 + 64;         /* end of block */\n      here_val = 0;\n    }\n\n    /* replicate for those indices with low len bits equal to huff */\n    incr = 1 << (len - drop);\n    fill = 1 << curr;\n    min = fill;                 /* save offset to next table */\n    do {\n      fill -= incr;\n      table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n    } while (fill !== 0);\n\n    /* backwards increment the len-bit code huff */\n    incr = 1 << (len - 1);\n    while (huff & incr) {\n      incr >>= 1;\n    }\n    if (incr !== 0) {\n      huff &= incr - 1;\n      huff += incr;\n    } else {\n      huff = 0;\n    }\n\n    /* go to next symbol, update count, len */\n    sym++;\n    if (--count[len] === 0) {\n      if (len === max) { break; }\n      len = lens[lens_index + work[sym]];\n    }\n\n    /* create new sub-table if needed */\n    if (len > root && (huff & mask) !== low) {\n      /* if first time, transition to sub-tables */\n      if (drop === 0) {\n        drop = root;\n      }\n\n      /* increment past last table */\n      next += min;            /* here min is 1 << curr */\n\n      /* determine length of next table */\n      curr = len - drop;\n      left = 1 << curr;\n      while (curr + drop < max) {\n        left -= count[curr + drop];\n        if (left <= 0) { break; }\n        curr++;\n        left <<= 1;\n      }\n\n      /* check for enough space */\n      used += 1 << curr;\n      if ((type === LENS && used > ENOUGH_LENS) ||\n        (type === DISTS && used > ENOUGH_DISTS)) {\n        return 1;\n      }\n\n      /* point entry in root table to sub-table */\n      low = huff & mask;\n      /*table.op[low] = curr;\n      table.bits[low] = root;\n      table.val[low] = next - opts.table_index;*/\n      table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n    }\n  }\n\n  /* fill in remaining table entry if code is incomplete (guaranteed to have\n   at most one remaining entry, since if the code is incomplete, the\n   maximum code length that was allowed to get this far is one bit) */\n  if (huff !== 0) {\n    //table.op[next + huff] = 64;            /* invalid code marker */\n    //table.bits[next + huff] = len - drop;\n    //table.val[next + huff] = 0;\n    table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n  }\n\n  /* set return parameters */\n  //opts.table_index += used;\n  opts.bits = root;\n  return 0;\n};\n\n\nmodule.exports = inflate_table;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n  2:      'need dictionary',     /* Z_NEED_DICT       2  */\n  1:      'stream end',          /* Z_STREAM_END      1  */\n  0:      '',                    /* Z_OK              0  */\n  '-1':   'file error',          /* Z_ERRNO         (-1) */\n  '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */\n  '-3':   'data error',          /* Z_DATA_ERROR    (-3) */\n  '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */\n  '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */\n  '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//const Z_FILTERED          = 1;\n//const Z_HUFFMAN_ONLY      = 2;\n//const Z_RLE               = 3;\nconst Z_FIXED               = 4;\n//const Z_DEFAULT_STRATEGY  = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nconst Z_BINARY              = 0;\nconst Z_TEXT                = 1;\n//const Z_ASCII             = 1; // = Z_TEXT\nconst Z_UNKNOWN             = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nconst STORED_BLOCK = 0;\nconst STATIC_TREES = 1;\nconst DYN_TREES    = 2;\n/* The three kinds of block type */\n\nconst MIN_MATCH    = 3;\nconst MAX_MATCH    = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nconst LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nconst LITERALS      = 256;\n/* number of literal bytes 0..255 */\n\nconst L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nconst D_CODES       = 30;\n/* number of distance codes */\n\nconst BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\n\nconst HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\n\nconst MAX_BITS      = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst Buf_size      = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nconst MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nconst END_BLOCK   = 256;\n/* end of block literal code */\n\nconst REP_3_6     = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nconst REPZ_3_10   = 17;\n/* repeat a zero length 3-10 times  (3 bits of repeat count) */\n\nconst REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times  (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nconst extra_lbits =   /* extra bits for each length code */\n  new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);\n\nconst extra_dbits =   /* extra bits for each distance code */\n  new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);\n\nconst extra_blbits =  /* extra bits for each bit length code */\n  new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);\n\nconst bl_order =\n  new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nconst DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nconst static_ltree  = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nconst static_dtree  = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nconst _dist_code    = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nconst _length_code  = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nconst base_length   = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nconst base_dist     = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n  this.static_tree  = static_tree;  /* static tree or NULL */\n  this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */\n  this.extra_base   = extra_base;   /* base index for extra_bits */\n  this.elems        = elems;        /* max number of elements in the tree */\n  this.max_length   = max_length;   /* max bit length for the codes */\n\n  // show if `static_tree` has data or dummy - needed for monomorphic objects\n  this.has_stree    = static_tree && static_tree.length;\n}\n\n\nlet static_l_desc;\nlet static_d_desc;\nlet static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n  this.dyn_tree = dyn_tree;     /* the dynamic tree */\n  this.max_code = 0;            /* largest code with non zero frequency */\n  this.stat_desc = stat_desc;   /* the corresponding static tree */\n}\n\n\n\nconst d_code = (dist) => {\n\n  return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n};\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nconst put_short = (s, w) => {\n//    put_byte(s, (uch)((w) & 0xff));\n//    put_byte(s, (uch)((ush)(w) >> 8));\n  s.pending_buf[s.pending++] = (w) & 0xff;\n  s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n};\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nconst send_bits = (s, value, length) => {\n\n  if (s.bi_valid > (Buf_size - length)) {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    put_short(s, s.bi_buf);\n    s.bi_buf = value >> (Buf_size - s.bi_valid);\n    s.bi_valid += length - Buf_size;\n  } else {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    s.bi_valid += length;\n  }\n};\n\n\nconst send_code = (s, c, tree) => {\n\n  send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n};\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nconst bi_reverse = (code, len) => {\n\n  let res = 0;\n  do {\n    res |= code & 1;\n    code >>>= 1;\n    res <<= 1;\n  } while (--len > 0);\n  return res >>> 1;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nconst bi_flush = (s) => {\n\n  if (s.bi_valid === 16) {\n    put_short(s, s.bi_buf);\n    s.bi_buf = 0;\n    s.bi_valid = 0;\n\n  } else if (s.bi_valid >= 8) {\n    s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n    s.bi_buf >>= 8;\n    s.bi_valid -= 8;\n  }\n};\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n *    above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n *     array bl_count contains the frequencies for each bit length.\n *     The length opt_len is updated; static_len is also updated if stree is\n *     not null.\n */\nconst gen_bitlen = (s, desc) => {\n//    deflate_state *s;\n//    tree_desc *desc;    /* the tree descriptor */\n\n  const tree            = desc.dyn_tree;\n  const max_code        = desc.max_code;\n  const stree           = desc.stat_desc.static_tree;\n  const has_stree       = desc.stat_desc.has_stree;\n  const extra           = desc.stat_desc.extra_bits;\n  const base            = desc.stat_desc.extra_base;\n  const max_length      = desc.stat_desc.max_length;\n  let h;              /* heap index */\n  let n, m;           /* iterate over the tree elements */\n  let bits;           /* bit length */\n  let xbits;          /* extra bits */\n  let f;              /* frequency */\n  let overflow = 0;   /* number of elements with bit length too large */\n\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    s.bl_count[bits] = 0;\n  }\n\n  /* In a first pass, compute the optimal bit lengths (which may\n   * overflow in the case of the bit length tree).\n   */\n  tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n  for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n    n = s.heap[h];\n    bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n    if (bits > max_length) {\n      bits = max_length;\n      overflow++;\n    }\n    tree[n * 2 + 1]/*.Len*/ = bits;\n    /* We overwrite tree[n].Dad which is no longer needed */\n\n    if (n > max_code) { continue; } /* not a leaf node */\n\n    s.bl_count[bits]++;\n    xbits = 0;\n    if (n >= base) {\n      xbits = extra[n - base];\n    }\n    f = tree[n * 2]/*.Freq*/;\n    s.opt_len += f * (bits + xbits);\n    if (has_stree) {\n      s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n    }\n  }\n  if (overflow === 0) { return; }\n\n  // Tracev((stderr,\"\\nbit length overflow\\n\"));\n  /* This happens for example on obj2 and pic of the Calgary corpus */\n\n  /* Find the first bit length which could increase: */\n  do {\n    bits = max_length - 1;\n    while (s.bl_count[bits] === 0) { bits--; }\n    s.bl_count[bits]--;      /* move one leaf down the tree */\n    s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n    s.bl_count[max_length]--;\n    /* The brother of the overflow item also moves one step up,\n     * but this does not affect bl_count[max_length]\n     */\n    overflow -= 2;\n  } while (overflow > 0);\n\n  /* Now recompute all bit lengths, scanning in increasing frequency.\n   * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n   * lengths instead of fixing only the wrong ones. This idea is taken\n   * from 'ar' written by Haruhiko Okumura.)\n   */\n  for (bits = max_length; bits !== 0; bits--) {\n    n = s.bl_count[bits];\n    while (n !== 0) {\n      m = s.heap[--h];\n      if (m > max_code) { continue; }\n      if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n        // Tracev((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n        s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n        tree[m * 2 + 1]/*.Len*/ = bits;\n      }\n      n--;\n    }\n  }\n};\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n *     zero code length.\n */\nconst gen_codes = (tree, max_code, bl_count) => {\n//    ct_data *tree;             /* the tree to decorate */\n//    int max_code;              /* largest code with non zero frequency */\n//    ushf *bl_count;            /* number of codes at each bit length */\n\n  const next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n  let code = 0;              /* running code value */\n  let bits;                  /* bit index */\n  let n;                     /* code index */\n\n  /* The distribution counts are first used to generate the code values\n   * without bit reversal.\n   */\n  for (bits = 1; bits <= MAX_BITS; bits++) {\n    code = (code + bl_count[bits - 1]) << 1;\n    next_code[bits] = code;\n  }\n  /* Check that the bit counts in bl_count are consistent. The last code\n   * must be all ones.\n   */\n  //Assert (code + bl_count[MAX_BITS]-1 == (1< {\n\n  let n;        /* iterates over tree elements */\n  let bits;     /* bit counter */\n  let length;   /* length value */\n  let code;     /* code value */\n  let dist;     /* distance index */\n  const bl_count = new Array(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  // do check in _tr_init()\n  //if (static_init_done) return;\n\n  /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n  static_l_desc.static_tree = static_ltree;\n  static_l_desc.extra_bits = extra_lbits;\n  static_d_desc.static_tree = static_dtree;\n  static_d_desc.extra_bits = extra_dbits;\n  static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n  /* Initialize the mapping length (0..255) -> length code (0..28) */\n  length = 0;\n  for (code = 0; code < LENGTH_CODES - 1; code++) {\n    base_length[code] = length;\n    for (n = 0; n < (1 << extra_lbits[code]); n++) {\n      _length_code[length++] = code;\n    }\n  }\n  //Assert (length == 256, \"tr_static_init: length != 256\");\n  /* Note that the length 255 (match length 258) can be represented\n   * in two different ways: code 284 + 5 bits or code 285, so we\n   * overwrite length_code[255] to use the best encoding:\n   */\n  _length_code[length - 1] = code;\n\n  /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n  dist = 0;\n  for (code = 0; code < 16; code++) {\n    base_dist[code] = dist;\n    for (n = 0; n < (1 << extra_dbits[code]); n++) {\n      _dist_code[dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: dist != 256\");\n  dist >>= 7; /* from now on, all distances are divided by 128 */\n  for (; code < D_CODES; code++) {\n    base_dist[code] = dist << 7;\n    for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n      _dist_code[256 + dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n  /* Construct the codes of the static literal tree */\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    bl_count[bits] = 0;\n  }\n\n  n = 0;\n  while (n <= 143) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  while (n <= 255) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 9;\n    n++;\n    bl_count[9]++;\n  }\n  while (n <= 279) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 7;\n    n++;\n    bl_count[7]++;\n  }\n  while (n <= 287) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  /* Codes 286 and 287 do not exist, but we must include them in the\n   * tree construction to get a canonical Huffman tree (longest code\n   * all ones)\n   */\n  gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n  /* The static distance tree is trivial: */\n  for (n = 0; n < D_CODES; n++) {\n    static_dtree[n * 2 + 1]/*.Len*/ = 5;\n    static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n  }\n\n  // Now data ready and we can init static trees\n  static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n  static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);\n  static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);\n\n  //static_init_done = true;\n};\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nconst init_block = (s) => {\n\n  let n; /* iterates over tree elements */\n\n  /* Initialize the trees. */\n  for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n  s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n  s.opt_len = s.static_len = 0;\n  s.sym_next = s.matches = 0;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nconst bi_windup = (s) =>\n{\n  if (s.bi_valid > 8) {\n    put_short(s, s.bi_buf);\n  } else if (s.bi_valid > 0) {\n    //put_byte(s, (Byte)s->bi_buf);\n    s.pending_buf[s.pending++] = s.bi_buf;\n  }\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n};\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nconst smaller = (tree, n, m, depth) => {\n\n  const _n2 = n * 2;\n  const _m2 = m * 2;\n  return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n         (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n};\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nconst pqdownheap = (s, tree, k) => {\n//    deflate_state *s;\n//    ct_data *tree;  /* the tree to restore */\n//    int k;               /* node to move down */\n\n  const v = s.heap[k];\n  let j = k << 1;  /* left son of k */\n  while (j <= s.heap_len) {\n    /* Set j to the smallest of the two sons: */\n    if (j < s.heap_len &&\n      smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n      j++;\n    }\n    /* Exit if v is smaller than both sons */\n    if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n    /* Exchange v with the smallest son */\n    s.heap[k] = s.heap[j];\n    k = j;\n\n    /* And continue down the tree, setting j to the left son of k */\n    j <<= 1;\n  }\n  s.heap[k] = v;\n};\n\n\n// inlined manually\n// const SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nconst compress_block = (s, ltree, dtree) => {\n//    deflate_state *s;\n//    const ct_data *ltree; /* literal tree */\n//    const ct_data *dtree; /* distance tree */\n\n  let dist;           /* distance of matched string */\n  let lc;             /* match length or unmatched char (if dist == 0) */\n  let sx = 0;         /* running index in sym_buf */\n  let code;           /* the code to send */\n  let extra;          /* number of extra bits to send */\n\n  if (s.sym_next !== 0) {\n    do {\n      dist = s.pending_buf[s.sym_buf + sx++] & 0xff;\n      dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8;\n      lc = s.pending_buf[s.sym_buf + sx++];\n      if (dist === 0) {\n        send_code(s, lc, ltree); /* send a literal byte */\n        //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n      } else {\n        /* Here, lc is the match length - MIN_MATCH */\n        code = _length_code[lc];\n        send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n        extra = extra_lbits[code];\n        if (extra !== 0) {\n          lc -= base_length[code];\n          send_bits(s, lc, extra);       /* send the extra length bits */\n        }\n        dist--; /* dist is now the match distance - 1 */\n        code = d_code(dist);\n        //Assert (code < D_CODES, \"bad d_code\");\n\n        send_code(s, code, dtree);       /* send the distance code */\n        extra = extra_dbits[code];\n        if (extra !== 0) {\n          dist -= base_dist[code];\n          send_bits(s, dist, extra);   /* send the extra distance bits */\n        }\n      } /* literal or match pair ? */\n\n      /* Check that the overlay between pending_buf and sym_buf is ok: */\n      //Assert(s->pending < s->lit_bufsize + sx, \"pendingBuf overflow\");\n\n    } while (sx < s.sym_next);\n  }\n\n  send_code(s, END_BLOCK, ltree);\n};\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n *     and corresponding code. The length opt_len is updated; static_len is\n *     also updated if stree is not null. The field max_code is set.\n */\nconst build_tree = (s, desc) => {\n//    deflate_state *s;\n//    tree_desc *desc; /* the tree descriptor */\n\n  const tree     = desc.dyn_tree;\n  const stree    = desc.stat_desc.static_tree;\n  const has_stree = desc.stat_desc.has_stree;\n  const elems    = desc.stat_desc.elems;\n  let n, m;          /* iterate over heap elements */\n  let max_code = -1; /* largest code with non zero frequency */\n  let node;          /* new node being created */\n\n  /* Construct the initial heap, with least frequent element in\n   * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n   * heap[0] is not used.\n   */\n  s.heap_len = 0;\n  s.heap_max = HEAP_SIZE;\n\n  for (n = 0; n < elems; n++) {\n    if (tree[n * 2]/*.Freq*/ !== 0) {\n      s.heap[++s.heap_len] = max_code = n;\n      s.depth[n] = 0;\n\n    } else {\n      tree[n * 2 + 1]/*.Len*/ = 0;\n    }\n  }\n\n  /* The pkzip format requires that at least one distance code exists,\n   * and that at least one bit should be sent even if there is only one\n   * possible code. So to avoid special checks later on we force at least\n   * two codes of non zero frequency.\n   */\n  while (s.heap_len < 2) {\n    node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n    tree[node * 2]/*.Freq*/ = 1;\n    s.depth[node] = 0;\n    s.opt_len--;\n\n    if (has_stree) {\n      s.static_len -= stree[node * 2 + 1]/*.Len*/;\n    }\n    /* node is 0 or 1 so it does not have extra bits */\n  }\n  desc.max_code = max_code;\n\n  /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n   * establish sub-heaps of increasing lengths:\n   */\n  for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n  /* Construct the Huffman tree by repeatedly combining the least two\n   * frequent nodes.\n   */\n  node = elems;              /* next internal node of the tree */\n  do {\n    //pqremove(s, tree, n);  /* n = node of least frequency */\n    /*** pqremove ***/\n    n = s.heap[1/*SMALLEST*/];\n    s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n    /***/\n\n    m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n    s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n    s.heap[--s.heap_max] = m;\n\n    /* Create a new node father of n and m */\n    tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n    s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n    tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n    /* and insert the new node in the heap */\n    s.heap[1/*SMALLEST*/] = node++;\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n\n  } while (s.heap_len >= 2);\n\n  s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n  /* At this point, the fields freq and dad are set. We can now\n   * generate the bit lengths.\n   */\n  gen_bitlen(s, desc);\n\n  /* The field len is now set, we can generate the bit codes */\n  gen_codes(tree, max_code, s.bl_count);\n};\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nconst scan_tree = (s, tree, max_code) => {\n//    deflate_state *s;\n//    ct_data *tree;   /* the tree to be scanned */\n//    int max_code;    /* and its largest code of non zero frequency */\n\n  let n;                     /* iterates over all tree elements */\n  let prevlen = -1;          /* last emitted length */\n  let curlen;                /* length of current code */\n\n  let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  let count = 0;             /* repeat count of the current code */\n  let max_count = 7;         /* max repeat count */\n  let min_count = 4;         /* min repeat count */\n\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n  tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n    } else if (curlen !== 0) {\n\n      if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n      s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n    } else if (count <= 10) {\n      s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n    } else {\n      s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n    }\n\n    count = 0;\n    prevlen = curlen;\n\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n};\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nconst send_tree = (s, tree, max_code) => {\n//    deflate_state *s;\n//    ct_data *tree; /* the tree to be scanned */\n//    int max_code;       /* and its largest code of non zero frequency */\n\n  let n;                     /* iterates over all tree elements */\n  let prevlen = -1;          /* last emitted length */\n  let curlen;                /* length of current code */\n\n  let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  let count = 0;             /* repeat count of the current code */\n  let max_count = 7;         /* max repeat count */\n  let min_count = 4;         /* min repeat count */\n\n  /* tree[max_code+1].Len = -1; */  /* guard already set */\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n    } else if (curlen !== 0) {\n      if (curlen !== prevlen) {\n        send_code(s, curlen, s.bl_tree);\n        count--;\n      }\n      //Assert(count >= 3 && count <= 6, \" 3_6?\");\n      send_code(s, REP_3_6, s.bl_tree);\n      send_bits(s, count - 3, 2);\n\n    } else if (count <= 10) {\n      send_code(s, REPZ_3_10, s.bl_tree);\n      send_bits(s, count - 3, 3);\n\n    } else {\n      send_code(s, REPZ_11_138, s.bl_tree);\n      send_bits(s, count - 11, 7);\n    }\n\n    count = 0;\n    prevlen = curlen;\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n};\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nconst build_bl_tree = (s) => {\n\n  let max_blindex;  /* index of last bit length code of non zero freq */\n\n  /* Determine the bit length frequencies for literal and distance trees */\n  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n  /* Build the bit length tree: */\n  build_tree(s, s.bl_desc);\n  /* opt_len now includes the length of the tree representations, except\n   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n   */\n\n  /* Determine the number of bit length codes to send. The pkzip format\n   * requires that at least 4 bit length codes be sent. (appnote.txt says\n   * 3 but the actual value used is 4.)\n   */\n  for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n    if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n      break;\n    }\n  }\n  /* Update opt_len to include the bit length tree and counts */\n  s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n  //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n  //        s->opt_len, s->static_len));\n\n  return max_blindex;\n};\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nconst send_all_trees = (s, lcodes, dcodes, blcodes) => {\n//    deflate_state *s;\n//    int lcodes, dcodes, blcodes; /* number of codes for each tree */\n\n  let rank;                    /* index in bl_order */\n\n  //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n  //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n  //        \"too many codes\");\n  //Tracev((stderr, \"\\nbl counts: \"));\n  send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n  send_bits(s, dcodes - 1,   5);\n  send_bits(s, blcodes - 4,  4); /* not -3 as stated in appnote.txt */\n  for (rank = 0; rank < blcodes; rank++) {\n    //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n    send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n  }\n  //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n  //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n  //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n};\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n *    a) There are no non-portable control characters belonging to the\n *       \"block list\" (0..6, 14..25, 28..31).\n *    b) There is at least one printable character belonging to the\n *       \"allow list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n *   \"gray list\" that is ignored in this detection algorithm:\n *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nconst detect_data_type = (s) => {\n  /* block_mask is the bit mask of block-listed bytes\n   * set bits 0..6, 14..25, and 28..31\n   * 0xf3ffc07f = binary 11110011111111111100000001111111\n   */\n  let block_mask = 0xf3ffc07f;\n  let n;\n\n  /* Check for non-textual (\"block-listed\") bytes. */\n  for (n = 0; n <= 31; n++, block_mask >>>= 1) {\n    if ((block_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n      return Z_BINARY;\n    }\n  }\n\n  /* Check for textual (\"allow-listed\") bytes. */\n  if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n      s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n    return Z_TEXT;\n  }\n  for (n = 32; n < LITERALS; n++) {\n    if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n      return Z_TEXT;\n    }\n  }\n\n  /* There are no \"block-listed\" or \"allow-listed\" bytes:\n   * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n   */\n  return Z_BINARY;\n};\n\n\nlet static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nconst _tr_init = (s) =>\n{\n\n  if (!static_init_done) {\n    tr_static_init();\n    static_init_done = true;\n  }\n\n  s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);\n  s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);\n  s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n\n  /* Initialize the first block of the first file: */\n  init_block(s);\n};\n\n\n/* ===========================================================================\n * Send a stored block\n */\nconst _tr_stored_block = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf;       /* input block */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n\n  send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);    /* send block type */\n  bi_windup(s);        /* align on byte boundary */\n  put_short(s, stored_len);\n  put_short(s, ~stored_len);\n  if (stored_len) {\n    s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending);\n  }\n  s.pending += stored_len;\n};\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nconst _tr_align = (s) => {\n  send_bits(s, STATIC_TREES << 1, 3);\n  send_code(s, END_BLOCK, static_ltree);\n  bi_flush(s);\n};\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and write out the encoded block.\n */\nconst _tr_flush_block = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf;       /* input block, or NULL if too old */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n\n  let opt_lenb, static_lenb;  /* opt_len and static_len in bytes */\n  let max_blindex = 0;        /* index of last bit length code of non zero freq */\n\n  /* Build the Huffman trees unless a stored block is forced */\n  if (s.level > 0) {\n\n    /* Check if the file is binary or text */\n    if (s.strm.data_type === Z_UNKNOWN) {\n      s.strm.data_type = detect_data_type(s);\n    }\n\n    /* Construct the literal and distance trees */\n    build_tree(s, s.l_desc);\n    // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n\n    build_tree(s, s.d_desc);\n    // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n    /* At this point, opt_len and static_len are the total bit lengths of\n     * the compressed block data, excluding the tree representations.\n     */\n\n    /* Build the bit length tree for the above two trees, and get the index\n     * in bl_order of the last bit length code to send.\n     */\n    max_blindex = build_bl_tree(s);\n\n    /* Determine the best encoding. Compute the block lengths in bytes. */\n    opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n    static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n    // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n    //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n    //        s->sym_next / 3));\n\n    if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n  } else {\n    // Assert(buf != (char*)0, \"lost buf\");\n    opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n  }\n\n  if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n    /* 4: two words for the lengths */\n\n    /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n     * Otherwise we can't have processed more than WSIZE input bytes since\n     * the last block flush, because compression would have been\n     * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n     * transform a block into a stored block.\n     */\n    _tr_stored_block(s, buf, stored_len, last);\n\n  } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n    send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n    compress_block(s, static_ltree, static_dtree);\n\n  } else {\n    send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n    send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n    compress_block(s, s.dyn_ltree, s.dyn_dtree);\n  }\n  // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n  /* The above check is made mod 2^32, for files larger than 512 MB\n   * and uLong implemented on 32 bits.\n   */\n  init_block(s);\n\n  if (last) {\n    bi_windup(s);\n  }\n  // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n  //       s->compressed_len-7*last));\n};\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nconst _tr_tally = (s, dist, lc) => {\n//    deflate_state *s;\n//    unsigned dist;  /* distance of matched string */\n//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */\n\n  s.pending_buf[s.sym_buf + s.sym_next++] = dist;\n  s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;\n  s.pending_buf[s.sym_buf + s.sym_next++] = lc;\n  if (dist === 0) {\n    /* lc is the unmatched char */\n    s.dyn_ltree[lc * 2]/*.Freq*/++;\n  } else {\n    s.matches++;\n    /* Here, lc is the match length - MIN_MATCH */\n    dist--;             /* dist = match distance - 1 */\n    //Assert((ush)dist < (ush)MAX_DIST(s) &&\n    //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n    //       (ush)d_code(dist) < (ush)D_CODES,  \"_tr_tally: bad match\");\n\n    s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n    s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n  }\n\n  return (s.sym_next === s.sym_end);\n};\n\nmodule.exports._tr_init  = _tr_init;\nmodule.exports._tr_stored_block = _tr_stored_block;\nmodule.exports._tr_flush_block  = _tr_flush_block;\nmodule.exports._tr_tally = _tr_tally;\nmodule.exports._tr_align = _tr_align;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n  /* next input byte */\n  this.input = null; // JS specific, because we have no pointers\n  this.next_in = 0;\n  /* number of bytes available at input */\n  this.avail_in = 0;\n  /* total number of input bytes read so far */\n  this.total_in = 0;\n  /* next output byte should be put there */\n  this.output = null; // JS specific, because we have no pointers\n  this.next_out = 0;\n  /* remaining free space at output */\n  this.avail_out = 0;\n  /* total number of bytes output so far */\n  this.total_out = 0;\n  /* last error message, NULL if no error */\n  this.msg = ''/*Z_NULL*/;\n  /* not visible by applications */\n  this.state = null;\n  /* best guess about the data type: binary or text */\n  this.data_type = 2/*Z_UNKNOWN*/;\n  /* adler32 value of the uncompressed data */\n  this.adler = 0;\n}\n\nmodule.exports = ZStream;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n  try {\n    return decodeURIComponent(input.replace(/\\+/g, ' '));\n  } catch (e) {\n    return null;\n  }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n  try {\n    return encodeURIComponent(input);\n  } catch (e) {\n    return null;\n  }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n  var parser = /([^=?#&]+)=?([^&]*)/g\n    , result = {}\n    , part;\n\n  while (part = parser.exec(query)) {\n    var key = decode(part[1])\n      , value = decode(part[2]);\n\n    //\n    // Prevent overriding of existing properties. This ensures that build-in\n    // methods like `toString` or __proto__ are not overriden by malicious\n    // querystrings.\n    //\n    // In the case if failed decoding, we want to omit the key/value pairs\n    // from the result.\n    //\n    if (key === null || value === null || key in result) continue;\n    result[key] = value;\n  }\n\n  return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n  prefix = prefix || '';\n\n  var pairs = []\n    , value\n    , key;\n\n  //\n  // Optionally prefix with a '?' if needed\n  //\n  if ('string' !== typeof prefix) prefix = '?';\n\n  for (key in obj) {\n    if (has.call(obj, key)) {\n      value = obj[key];\n\n      //\n      // Edge cases where we actually want to encode the value to an empty\n      // string instead of the stringified value.\n      //\n      if (!value && (value === null || value === undef || isNaN(value))) {\n        value = '';\n      }\n\n      key = encode(key);\n      value = encode(value);\n\n      //\n      // If we failed to encode the strings, we should bail out as we don't\n      // want to add invalid strings to the query.\n      //\n      if (key === null || value === null) continue;\n      pairs.push(key +'='+ value);\n    }\n  }\n\n  return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n  protocol = protocol.split(':')[0];\n  port = +port;\n\n  if (!port) return false;\n\n  switch (protocol) {\n    case 'http':\n    case 'ws':\n    return port !== 80;\n\n    case 'https':\n    case 'wss':\n    return port !== 443;\n\n    case 'ftp':\n    return port !== 21;\n\n    case 'gopher':\n    return port !== 70;\n\n    case 'file':\n    return false;\n  }\n\n  return port !== 0;\n};\n","'use strict';\n\nvar required = require('requires-port')\n  , qs = require('querystringify')\n  , controlOrWhitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n  , CRHTLF = /[\\n\\r\\t]/g\n  , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n  , port = /:\\d+$/\n  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i\n  , windowsDriveLetter = /^[a-zA-Z]:/;\n\n/**\n * Remove control characters and whitespace from the beginning of a string.\n *\n * @param {Object|String} str String to trim.\n * @returns {String} A new string representing `str` stripped of control\n *     characters and whitespace from its beginning.\n * @public\n */\nfunction trimLeft(str) {\n  return (str ? str : '').toString().replace(controlOrWhitespace, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n *    indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n *    the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n  ['#', 'hash'],                        // Extract from the back.\n  ['?', 'query'],                       // Extract from the back.\n  function sanitize(address, url) {     // Sanitize what is left of the address\n    return isSpecial(url.protocol) ? address.replace(/\\\\/g, '/') : address;\n  },\n  ['/', 'pathname'],                    // Extract from the back.\n  ['@', 'auth', 1],                     // Extract from the front.\n  [NaN, 'host', undefined, 1, 1],       // Set left over value.\n  [/:(\\d*)$/, 'port', undefined, 1],    // RegExp the back.\n  [NaN, 'hostname', undefined, 1, 1]    // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n  var globalVar;\n\n  if (typeof window !== 'undefined') globalVar = window;\n  else if (typeof global !== 'undefined') globalVar = global;\n  else if (typeof self !== 'undefined') globalVar = self;\n  else globalVar = {};\n\n  var location = globalVar.location || {};\n  loc = loc || location;\n\n  var finaldestination = {}\n    , type = typeof loc\n    , key;\n\n  if ('blob:' === loc.protocol) {\n    finaldestination = new Url(unescape(loc.pathname), {});\n  } else if ('string' === type) {\n    finaldestination = new Url(loc, {});\n    for (key in ignore) delete finaldestination[key];\n  } else if ('object' === type) {\n    for (key in loc) {\n      if (key in ignore) continue;\n      finaldestination[key] = loc[key];\n    }\n\n    if (finaldestination.slashes === undefined) {\n      finaldestination.slashes = slashes.test(loc.href);\n    }\n  }\n\n  return finaldestination;\n}\n\n/**\n * Check whether a protocol scheme is special.\n *\n * @param {String} The protocol scheme of the URL\n * @return {Boolean} `true` if the protocol scheme is special, else `false`\n * @private\n */\nfunction isSpecial(scheme) {\n  return (\n    scheme === 'file:' ||\n    scheme === 'ftp:' ||\n    scheme === 'http:' ||\n    scheme === 'https:' ||\n    scheme === 'ws:' ||\n    scheme === 'wss:'\n  );\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @param {Object} location\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address, location) {\n  address = trimLeft(address);\n  address = address.replace(CRHTLF, '');\n  location = location || {};\n\n  var match = protocolre.exec(address);\n  var protocol = match[1] ? match[1].toLowerCase() : '';\n  var forwardSlashes = !!match[2];\n  var otherSlashes = !!match[3];\n  var slashesCount = 0;\n  var rest;\n\n  if (forwardSlashes) {\n    if (otherSlashes) {\n      rest = match[2] + match[3] + match[4];\n      slashesCount = match[2].length + match[3].length;\n    } else {\n      rest = match[2] + match[4];\n      slashesCount = match[2].length;\n    }\n  } else {\n    if (otherSlashes) {\n      rest = match[3] + match[4];\n      slashesCount = match[3].length;\n    } else {\n      rest = match[4]\n    }\n  }\n\n  if (protocol === 'file:') {\n    if (slashesCount >= 2) {\n      rest = rest.slice(2);\n    }\n  } else if (isSpecial(protocol)) {\n    rest = match[4];\n  } else if (protocol) {\n    if (forwardSlashes) {\n      rest = rest.slice(2);\n    }\n  } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n    rest = match[4];\n  }\n\n  return {\n    protocol: protocol,\n    slashes: forwardSlashes || isSpecial(protocol),\n    slashesCount: slashesCount,\n    rest: rest\n  };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n  if (relative === '') return base;\n\n  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n    , i = path.length\n    , last = path[i - 1]\n    , unshift = false\n    , up = 0;\n\n  while (i--) {\n    if (path[i] === '.') {\n      path.splice(i, 1);\n    } else if (path[i] === '..') {\n      path.splice(i, 1);\n      up++;\n    } else if (up) {\n      if (i === 0) unshift = true;\n      path.splice(i, 1);\n      up--;\n    }\n  }\n\n  if (unshift) path.unshift('');\n  if (last === '.' || last === '..') path.push('');\n\n  return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n  address = trimLeft(address);\n  address = address.replace(CRHTLF, '');\n\n  if (!(this instanceof Url)) {\n    return new Url(address, location, parser);\n  }\n\n  var relative, extracted, parse, instruction, index, key\n    , instructions = rules.slice()\n    , type = typeof location\n    , url = this\n    , i = 0;\n\n  //\n  // The following if statements allows this module two have compatibility with\n  // 2 different API:\n  //\n  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n  //    where the boolean indicates that the query string should also be parsed.\n  //\n  // 2. The `URL` interface of the browser which accepts a URL, object as\n  //    arguments. The supplied object will be used as default values / fall-back\n  //    for relative paths.\n  //\n  if ('object' !== type && 'string' !== type) {\n    parser = location;\n    location = null;\n  }\n\n  if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n  location = lolcation(location);\n\n  //\n  // Extract protocol information before running the instructions.\n  //\n  extracted = extractProtocol(address || '', location);\n  relative = !extracted.protocol && !extracted.slashes;\n  url.slashes = extracted.slashes || relative && location.slashes;\n  url.protocol = extracted.protocol || location.protocol || '';\n  address = extracted.rest;\n\n  //\n  // When the authority component is absent the URL starts with a path\n  // component.\n  //\n  if (\n    extracted.protocol === 'file:' && (\n      extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n    (!extracted.slashes &&\n      (extracted.protocol ||\n        extracted.slashesCount < 2 ||\n        !isSpecial(url.protocol)))\n  ) {\n    instructions[3] = [/(.*)/, 'pathname'];\n  }\n\n  for (; i < instructions.length; i++) {\n    instruction = instructions[i];\n\n    if (typeof instruction === 'function') {\n      address = instruction(address, url);\n      continue;\n    }\n\n    parse = instruction[0];\n    key = instruction[1];\n\n    if (parse !== parse) {\n      url[key] = address;\n    } else if ('string' === typeof parse) {\n      index = parse === '@'\n        ? address.lastIndexOf(parse)\n        : address.indexOf(parse);\n\n      if (~index) {\n        if ('number' === typeof instruction[2]) {\n          url[key] = address.slice(0, index);\n          address = address.slice(index + instruction[2]);\n        } else {\n          url[key] = address.slice(index);\n          address = address.slice(0, index);\n        }\n      }\n    } else if ((index = parse.exec(address))) {\n      url[key] = index[1];\n      address = address.slice(0, index.index);\n    }\n\n    url[key] = url[key] || (\n      relative && instruction[3] ? location[key] || '' : ''\n    );\n\n    //\n    // Hostname, host and protocol should be lowercased so they can be used to\n    // create a proper `origin`.\n    //\n    if (instruction[4]) url[key] = url[key].toLowerCase();\n  }\n\n  //\n  // Also parse the supplied query string in to an object. If we're supplied\n  // with a custom parser as function use that instead of the default build-in\n  // parser.\n  //\n  if (parser) url.query = parser(url.query);\n\n  //\n  // If the URL is relative, resolve the pathname against the base URL.\n  //\n  if (\n      relative\n    && location.slashes\n    && url.pathname.charAt(0) !== '/'\n    && (url.pathname !== '' || location.pathname !== '')\n  ) {\n    url.pathname = resolve(url.pathname, location.pathname);\n  }\n\n  //\n  // Default to a / for pathname if none exists. This normalizes the URL\n  // to always have a /\n  //\n  if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n    url.pathname = '/' + url.pathname;\n  }\n\n  //\n  // We should not add port numbers if they are already the default port number\n  // for a given protocol. As the host also contains the port number we're going\n  // override it with the hostname which contains no port number.\n  //\n  if (!required(url.port, url.protocol)) {\n    url.host = url.hostname;\n    url.port = '';\n  }\n\n  //\n  // Parse down the `auth` for the username and password.\n  //\n  url.username = url.password = '';\n\n  if (url.auth) {\n    index = url.auth.indexOf(':');\n\n    if (~index) {\n      url.username = url.auth.slice(0, index);\n      url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n      url.password = url.auth.slice(index + 1);\n      url.password = encodeURIComponent(decodeURIComponent(url.password))\n    } else {\n      url.username = encodeURIComponent(decodeURIComponent(url.auth));\n    }\n\n    url.auth = url.password ? url.username +':'+ url.password : url.username;\n  }\n\n  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n    ? url.protocol +'//'+ url.host\n    : 'null';\n\n  //\n  // The href is just the compiled result.\n  //\n  url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part          Property we need to adjust.\n * @param {Mixed} value          The newly assigned value.\n * @param {Boolean|Function} fn  When setting the query, it will be the function\n *                               used to parse the query.\n *                               When setting the protocol, double slash will be\n *                               removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n  var url = this;\n\n  switch (part) {\n    case 'query':\n      if ('string' === typeof value && value.length) {\n        value = (fn || qs.parse)(value);\n      }\n\n      url[part] = value;\n      break;\n\n    case 'port':\n      url[part] = value;\n\n      if (!required(value, url.protocol)) {\n        url.host = url.hostname;\n        url[part] = '';\n      } else if (value) {\n        url.host = url.hostname +':'+ value;\n      }\n\n      break;\n\n    case 'hostname':\n      url[part] = value;\n\n      if (url.port) value += ':'+ url.port;\n      url.host = value;\n      break;\n\n    case 'host':\n      url[part] = value;\n\n      if (port.test(value)) {\n        value = value.split(':');\n        url.port = value.pop();\n        url.hostname = value.join(':');\n      } else {\n        url.hostname = value;\n        url.port = '';\n      }\n\n      break;\n\n    case 'protocol':\n      url.protocol = value.toLowerCase();\n      url.slashes = !fn;\n      break;\n\n    case 'pathname':\n    case 'hash':\n      if (value) {\n        var char = part === 'pathname' ? '/' : '#';\n        url[part] = value.charAt(0) !== char ? char + value : value;\n      } else {\n        url[part] = value;\n      }\n      break;\n\n    case 'username':\n    case 'password':\n      url[part] = encodeURIComponent(value);\n      break;\n\n    case 'auth':\n      var index = value.indexOf(':');\n\n      if (~index) {\n        url.username = value.slice(0, index);\n        url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n        url.password = value.slice(index + 1);\n        url.password = encodeURIComponent(decodeURIComponent(url.password));\n      } else {\n        url.username = encodeURIComponent(decodeURIComponent(value));\n      }\n  }\n\n  for (var i = 0; i < rules.length; i++) {\n    var ins = rules[i];\n\n    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n  }\n\n  url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n    ? url.protocol +'//'+ url.host\n    : 'null';\n\n  url.href = url.toString();\n\n  return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n  var query\n    , url = this\n    , host = url.host\n    , protocol = url.protocol;\n\n  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n  var result =\n    protocol +\n    ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n  if (url.username) {\n    result += url.username;\n    if (url.password) result += ':'+ url.password;\n    result += '@';\n  } else if (url.password) {\n    result += ':'+ url.password;\n    result += '@';\n  } else if (\n    url.protocol !== 'file:' &&\n    isSpecial(url.protocol) &&\n    !host &&\n    url.pathname !== '/'\n  ) {\n    //\n    // Add back the empty userinfo, otherwise the original invalid URL\n    // might be transformed into a valid one with `url.pathname` as host.\n    //\n    result += '@';\n  }\n\n  //\n  // Trailing colon is removed from `url.host` when it is parsed. If it still\n  // ends with a colon, then add back the trailing colon that was removed. This\n  // prevents an invalid URL from being transformed into a valid one.\n  //\n  if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {\n    host += ':';\n  }\n\n  result += host + url.pathname;\n\n  query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n  if (url.hash) result += url.hash;\n\n  return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/action.yml b/dist/action.yml
new file mode 100644
index 0000000..e6844f0
--- /dev/null
+++ b/dist/action.yml
@@ -0,0 +1,34 @@
+name: Backstage Actions
+description: "A suite of Backstage workflows"
+inputs:
+  helper:
+    description: "The helper workflow to invoke"
+    required: true
+  backstage_url:
+    description: "Backstage URL - url of Backstage backend"
+    required: false
+  backstage_entities_repo:
+    description: "Backstage Entities repository - fallback for the URL endpoint"
+    required: false
+  scope:
+    description: "Group or User entity name to filter by ownership of entities"
+  lifecycle:
+    description: "Spec lifecycle name to filter entities by"
+  template_path:
+    description: "Handlebars Template Path"
+    required: false
+  output_path:
+    description: "Handlebars Template Output Path"
+    required: false
+
+outputs:
+  output:
+    description: "The output of the helper"
+
+runs:
+  using: "node16"
+  main: "dist/index.js"
+
+branding:
+  icon: user-check
+  color: purple
diff --git a/dist/index.js b/dist/index.js
new file mode 100644
index 0000000..20890c8
--- /dev/null
+++ b/dist/index.js
@@ -0,0 +1,24536 @@
+require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap
+/******/ 	var __webpack_modules__ = ({
+
+/***/ 19484:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.issue = exports.issueCommand = void 0;
+const os = __importStar(__nccwpck_require__(22037));
+const utils_1 = __nccwpck_require__(15688);
+/**
+ * Commands
+ *
+ * Command Format:
+ *   ::name key=value,key=value::message
+ *
+ * Examples:
+ *   ::warning::This is the message
+ *   ::set-env name=MY_VAR::some value
+ */
+function issueCommand(command, properties, message) {
+    const cmd = new Command(command, properties, message);
+    process.stdout.write(cmd.toString() + os.EOL);
+}
+exports.issueCommand = issueCommand;
+function issue(name, message = '') {
+    issueCommand(name, {}, message);
+}
+exports.issue = issue;
+const CMD_STRING = '::';
+class Command {
+    constructor(command, properties, message) {
+        if (!command) {
+            command = 'missing.command';
+        }
+        this.command = command;
+        this.properties = properties;
+        this.message = message;
+    }
+    toString() {
+        let cmdStr = CMD_STRING + this.command;
+        if (this.properties && Object.keys(this.properties).length > 0) {
+            cmdStr += ' ';
+            let first = true;
+            for (const key in this.properties) {
+                if (this.properties.hasOwnProperty(key)) {
+                    const val = this.properties[key];
+                    if (val) {
+                        if (first) {
+                            first = false;
+                        }
+                        else {
+                            cmdStr += ',';
+                        }
+                        cmdStr += `${key}=${escapeProperty(val)}`;
+                    }
+                }
+            }
+        }
+        cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
+        return cmdStr;
+    }
+}
+function escapeData(s) {
+    return utils_1.toCommandValue(s)
+        .replace(/%/g, '%25')
+        .replace(/\r/g, '%0D')
+        .replace(/\n/g, '%0A');
+}
+function escapeProperty(s) {
+    return utils_1.toCommandValue(s)
+        .replace(/%/g, '%25')
+        .replace(/\r/g, '%0D')
+        .replace(/\n/g, '%0A')
+        .replace(/:/g, '%3A')
+        .replace(/,/g, '%2C');
+}
+//# sourceMappingURL=command.js.map
+
+/***/ }),
+
+/***/ 68434:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
+const command_1 = __nccwpck_require__(19484);
+const file_command_1 = __nccwpck_require__(59585);
+const utils_1 = __nccwpck_require__(15688);
+const os = __importStar(__nccwpck_require__(22037));
+const path = __importStar(__nccwpck_require__(71017));
+const oidc_utils_1 = __nccwpck_require__(83032);
+/**
+ * The code to exit an action
+ */
+var ExitCode;
+(function (ExitCode) {
+    /**
+     * A code indicating that the action was successful
+     */
+    ExitCode[ExitCode["Success"] = 0] = "Success";
+    /**
+     * A code indicating that the action was a failure
+     */
+    ExitCode[ExitCode["Failure"] = 1] = "Failure";
+})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
+//-----------------------------------------------------------------------
+// Variables
+//-----------------------------------------------------------------------
+/**
+ * Sets env variable for this action and future actions in the job
+ * @param name the name of the variable to set
+ * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function exportVariable(name, val) {
+    const convertedVal = utils_1.toCommandValue(val);
+    process.env[name] = convertedVal;
+    const filePath = process.env['GITHUB_ENV'] || '';
+    if (filePath) {
+        return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
+    }
+    command_1.issueCommand('set-env', { name }, convertedVal);
+}
+exports.exportVariable = exportVariable;
+/**
+ * Registers a secret which will get masked from logs
+ * @param secret value of the secret
+ */
+function setSecret(secret) {
+    command_1.issueCommand('add-mask', {}, secret);
+}
+exports.setSecret = setSecret;
+/**
+ * Prepends inputPath to the PATH (for this action and future actions)
+ * @param inputPath
+ */
+function addPath(inputPath) {
+    const filePath = process.env['GITHUB_PATH'] || '';
+    if (filePath) {
+        file_command_1.issueFileCommand('PATH', inputPath);
+    }
+    else {
+        command_1.issueCommand('add-path', {}, inputPath);
+    }
+    process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
+}
+exports.addPath = addPath;
+/**
+ * Gets the value of an input.
+ * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
+ * Returns an empty string if the value is not defined.
+ *
+ * @param     name     name of the input to get
+ * @param     options  optional. See InputOptions.
+ * @returns   string
+ */
+function getInput(name, options) {
+    const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
+    if (options && options.required && !val) {
+        throw new Error(`Input required and not supplied: ${name}`);
+    }
+    if (options && options.trimWhitespace === false) {
+        return val;
+    }
+    return val.trim();
+}
+exports.getInput = getInput;
+/**
+ * Gets the values of an multiline input.  Each value is also trimmed.
+ *
+ * @param     name     name of the input to get
+ * @param     options  optional. See InputOptions.
+ * @returns   string[]
+ *
+ */
+function getMultilineInput(name, options) {
+    const inputs = getInput(name, options)
+        .split('\n')
+        .filter(x => x !== '');
+    if (options && options.trimWhitespace === false) {
+        return inputs;
+    }
+    return inputs.map(input => input.trim());
+}
+exports.getMultilineInput = getMultilineInput;
+/**
+ * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
+ * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
+ * The return value is also in boolean type.
+ * ref: https://yaml.org/spec/1.2/spec.html#id2804923
+ *
+ * @param     name     name of the input to get
+ * @param     options  optional. See InputOptions.
+ * @returns   boolean
+ */
+function getBooleanInput(name, options) {
+    const trueValue = ['true', 'True', 'TRUE'];
+    const falseValue = ['false', 'False', 'FALSE'];
+    const val = getInput(name, options);
+    if (trueValue.includes(val))
+        return true;
+    if (falseValue.includes(val))
+        return false;
+    throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
+        `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
+}
+exports.getBooleanInput = getBooleanInput;
+/**
+ * Sets the value of an output.
+ *
+ * @param     name     name of the output to set
+ * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function setOutput(name, value) {
+    const filePath = process.env['GITHUB_OUTPUT'] || '';
+    if (filePath) {
+        return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
+    }
+    process.stdout.write(os.EOL);
+    command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
+}
+exports.setOutput = setOutput;
+/**
+ * Enables or disables the echoing of commands into stdout for the rest of the step.
+ * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
+ *
+ */
+function setCommandEcho(enabled) {
+    command_1.issue('echo', enabled ? 'on' : 'off');
+}
+exports.setCommandEcho = setCommandEcho;
+//-----------------------------------------------------------------------
+// Results
+//-----------------------------------------------------------------------
+/**
+ * Sets the action status to failed.
+ * When the action exits it will be with an exit code of 1
+ * @param message add error issue message
+ */
+function setFailed(message) {
+    process.exitCode = ExitCode.Failure;
+    error(message);
+}
+exports.setFailed = setFailed;
+//-----------------------------------------------------------------------
+// Logging Commands
+//-----------------------------------------------------------------------
+/**
+ * Gets whether Actions Step Debug is on or not
+ */
+function isDebug() {
+    return process.env['RUNNER_DEBUG'] === '1';
+}
+exports.isDebug = isDebug;
+/**
+ * Writes debug message to user log
+ * @param message debug message
+ */
+function debug(message) {
+    command_1.issueCommand('debug', {}, message);
+}
+exports.debug = debug;
+/**
+ * Adds an error issue
+ * @param message error issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function error(message, properties = {}) {
+    command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.error = error;
+/**
+ * Adds a warning issue
+ * @param message warning issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function warning(message, properties = {}) {
+    command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.warning = warning;
+/**
+ * Adds a notice issue
+ * @param message notice issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function notice(message, properties = {}) {
+    command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.notice = notice;
+/**
+ * Writes info to log with console.log.
+ * @param message info message
+ */
+function info(message) {
+    process.stdout.write(message + os.EOL);
+}
+exports.info = info;
+/**
+ * Begin an output group.
+ *
+ * Output until the next `groupEnd` will be foldable in this group
+ *
+ * @param name The name of the output group
+ */
+function startGroup(name) {
+    command_1.issue('group', name);
+}
+exports.startGroup = startGroup;
+/**
+ * End an output group.
+ */
+function endGroup() {
+    command_1.issue('endgroup');
+}
+exports.endGroup = endGroup;
+/**
+ * Wrap an asynchronous function call in a group.
+ *
+ * Returns the same type as the function itself.
+ *
+ * @param name The name of the group
+ * @param fn The function to wrap in the group
+ */
+function group(name, fn) {
+    return __awaiter(this, void 0, void 0, function* () {
+        startGroup(name);
+        let result;
+        try {
+            result = yield fn();
+        }
+        finally {
+            endGroup();
+        }
+        return result;
+    });
+}
+exports.group = group;
+//-----------------------------------------------------------------------
+// Wrapper action state
+//-----------------------------------------------------------------------
+/**
+ * Saves state for current action, the state can only be retrieved by this action's post job execution.
+ *
+ * @param     name     name of the state to store
+ * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function saveState(name, value) {
+    const filePath = process.env['GITHUB_STATE'] || '';
+    if (filePath) {
+        return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
+    }
+    command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
+}
+exports.saveState = saveState;
+/**
+ * Gets the value of an state set by this action's main execution.
+ *
+ * @param     name     name of the state to get
+ * @returns   string
+ */
+function getState(name) {
+    return process.env[`STATE_${name}`] || '';
+}
+exports.getState = getState;
+function getIDToken(aud) {
+    return __awaiter(this, void 0, void 0, function* () {
+        return yield oidc_utils_1.OidcClient.getIDToken(aud);
+    });
+}
+exports.getIDToken = getIDToken;
+/**
+ * Summary exports
+ */
+var summary_1 = __nccwpck_require__(34591);
+Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } }));
+/**
+ * @deprecated use core.summary
+ */
+var summary_2 = __nccwpck_require__(34591);
+Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } }));
+/**
+ * Path exports
+ */
+var path_utils_1 = __nccwpck_require__(85266);
+Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } }));
+Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } }));
+Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }));
+//# sourceMappingURL=core.js.map
+
+/***/ }),
+
+/***/ 59585:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+// For internal use, subject to change.
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
+// We use any as a valid input type
+/* eslint-disable @typescript-eslint/no-explicit-any */
+const fs = __importStar(__nccwpck_require__(57147));
+const os = __importStar(__nccwpck_require__(22037));
+const uuid_1 = __nccwpck_require__(36529);
+const utils_1 = __nccwpck_require__(15688);
+function issueFileCommand(command, message) {
+    const filePath = process.env[`GITHUB_${command}`];
+    if (!filePath) {
+        throw new Error(`Unable to find environment variable for file command ${command}`);
+    }
+    if (!fs.existsSync(filePath)) {
+        throw new Error(`Missing file at path: ${filePath}`);
+    }
+    fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {
+        encoding: 'utf8'
+    });
+}
+exports.issueFileCommand = issueFileCommand;
+function prepareKeyValueMessage(key, value) {
+    const delimiter = `ghadelimiter_${uuid_1.v4()}`;
+    const convertedValue = utils_1.toCommandValue(value);
+    // These should realistically never happen, but just in case someone finds a
+    // way to exploit uuid generation let's not allow keys or values that contain
+    // the delimiter.
+    if (key.includes(delimiter)) {
+        throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
+    }
+    if (convertedValue.includes(delimiter)) {
+        throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
+    }
+    return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
+}
+exports.prepareKeyValueMessage = prepareKeyValueMessage;
+//# sourceMappingURL=file-command.js.map
+
+/***/ }),
+
+/***/ 83032:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OidcClient = void 0;
+const http_client_1 = __nccwpck_require__(2228);
+const auth_1 = __nccwpck_require__(81565);
+const core_1 = __nccwpck_require__(68434);
+class OidcClient {
+    static createHttpClient(allowRetry = true, maxRetry = 10) {
+        const requestOptions = {
+            allowRetries: allowRetry,
+            maxRetries: maxRetry
+        };
+        return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);
+    }
+    static getRequestToken() {
+        const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];
+        if (!token) {
+            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');
+        }
+        return token;
+    }
+    static getIDTokenUrl() {
+        const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];
+        if (!runtimeUrl) {
+            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');
+        }
+        return runtimeUrl;
+    }
+    static getCall(id_token_url) {
+        var _a;
+        return __awaiter(this, void 0, void 0, function* () {
+            const httpclient = OidcClient.createHttpClient();
+            const res = yield httpclient
+                .getJson(id_token_url)
+                .catch(error => {
+                throw new Error(`Failed to get ID Token. \n 
+        Error Code : ${error.statusCode}\n 
+        Error Message: ${error.message}`);
+            });
+            const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;
+            if (!id_token) {
+                throw new Error('Response json body do not have ID Token field');
+            }
+            return id_token;
+        });
+    }
+    static getIDToken(audience) {
+        return __awaiter(this, void 0, void 0, function* () {
+            try {
+                // New ID Token is requested from action service
+                let id_token_url = OidcClient.getIDTokenUrl();
+                if (audience) {
+                    const encodedAudience = encodeURIComponent(audience);
+                    id_token_url = `${id_token_url}&audience=${encodedAudience}`;
+                }
+                core_1.debug(`ID token url is ${id_token_url}`);
+                const id_token = yield OidcClient.getCall(id_token_url);
+                core_1.setSecret(id_token);
+                return id_token;
+            }
+            catch (error) {
+                throw new Error(`Error message: ${error.message}`);
+            }
+        });
+    }
+}
+exports.OidcClient = OidcClient;
+//# sourceMappingURL=oidc-utils.js.map
+
+/***/ }),
+
+/***/ 85266:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;
+const path = __importStar(__nccwpck_require__(71017));
+/**
+ * toPosixPath converts the given path to the posix form. On Windows, \\ will be
+ * replaced with /.
+ *
+ * @param pth. Path to transform.
+ * @return string Posix path.
+ */
+function toPosixPath(pth) {
+    return pth.replace(/[\\]/g, '/');
+}
+exports.toPosixPath = toPosixPath;
+/**
+ * toWin32Path converts the given path to the win32 form. On Linux, / will be
+ * replaced with \\.
+ *
+ * @param pth. Path to transform.
+ * @return string Win32 path.
+ */
+function toWin32Path(pth) {
+    return pth.replace(/[/]/g, '\\');
+}
+exports.toWin32Path = toWin32Path;
+/**
+ * toPlatformPath converts the given path to a platform-specific path. It does
+ * this by replacing instances of / and \ with the platform-specific path
+ * separator.
+ *
+ * @param pth The path to platformize.
+ * @return string The platform-specific path.
+ */
+function toPlatformPath(pth) {
+    return pth.replace(/[/\\]/g, path.sep);
+}
+exports.toPlatformPath = toPlatformPath;
+//# sourceMappingURL=path-utils.js.map
+
+/***/ }),
+
+/***/ 34591:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;
+const os_1 = __nccwpck_require__(22037);
+const fs_1 = __nccwpck_require__(57147);
+const { access, appendFile, writeFile } = fs_1.promises;
+exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
+exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
+class Summary {
+    constructor() {
+        this._buffer = '';
+    }
+    /**
+     * Finds the summary file path from the environment, rejects if env var is not found or file does not exist
+     * Also checks r/w permissions.
+     *
+     * @returns step summary file path
+     */
+    filePath() {
+        return __awaiter(this, void 0, void 0, function* () {
+            if (this._filePath) {
+                return this._filePath;
+            }
+            const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];
+            if (!pathFromEnv) {
+                throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
+            }
+            try {
+                yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
+            }
+            catch (_a) {
+                throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);
+            }
+            this._filePath = pathFromEnv;
+            return this._filePath;
+        });
+    }
+    /**
+     * Wraps content in an HTML tag, adding any HTML attributes
+     *
+     * @param {string} tag HTML tag to wrap
+     * @param {string | null} content content within the tag
+     * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add
+     *
+     * @returns {string} content wrapped in HTML element
+     */
+    wrap(tag, content, attrs = {}) {
+        const htmlAttrs = Object.entries(attrs)
+            .map(([key, value]) => ` ${key}="${value}"`)
+            .join('');
+        if (!content) {
+            return `<${tag}${htmlAttrs}>`;
+        }
+        return `<${tag}${htmlAttrs}>${content}`;
+    }
+    /**
+     * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.
+     *
+     * @param {SummaryWriteOptions} [options] (optional) options for write operation
+     *
+     * @returns {Promise} summary instance
+     */
+    write(options) {
+        return __awaiter(this, void 0, void 0, function* () {
+            const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
+            const filePath = yield this.filePath();
+            const writeFunc = overwrite ? writeFile : appendFile;
+            yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });
+            return this.emptyBuffer();
+        });
+    }
+    /**
+     * Clears the summary buffer and wipes the summary file
+     *
+     * @returns {Summary} summary instance
+     */
+    clear() {
+        return __awaiter(this, void 0, void 0, function* () {
+            return this.emptyBuffer().write({ overwrite: true });
+        });
+    }
+    /**
+     * Returns the current summary buffer as a string
+     *
+     * @returns {string} string of summary buffer
+     */
+    stringify() {
+        return this._buffer;
+    }
+    /**
+     * If the summary buffer is empty
+     *
+     * @returns {boolen} true if the buffer is empty
+     */
+    isEmptyBuffer() {
+        return this._buffer.length === 0;
+    }
+    /**
+     * Resets the summary buffer without writing to summary file
+     *
+     * @returns {Summary} summary instance
+     */
+    emptyBuffer() {
+        this._buffer = '';
+        return this;
+    }
+    /**
+     * Adds raw text to the summary buffer
+     *
+     * @param {string} text content to add
+     * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
+     *
+     * @returns {Summary} summary instance
+     */
+    addRaw(text, addEOL = false) {
+        this._buffer += text;
+        return addEOL ? this.addEOL() : this;
+    }
+    /**
+     * Adds the operating system-specific end-of-line marker to the buffer
+     *
+     * @returns {Summary} summary instance
+     */
+    addEOL() {
+        return this.addRaw(os_1.EOL);
+    }
+    /**
+     * Adds an HTML codeblock to the summary buffer
+     *
+     * @param {string} code content to render within fenced code block
+     * @param {string} lang (optional) language to syntax highlight code
+     *
+     * @returns {Summary} summary instance
+     */
+    addCodeBlock(code, lang) {
+        const attrs = Object.assign({}, (lang && { lang }));
+        const element = this.wrap('pre', this.wrap('code', code), attrs);
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds an HTML list to the summary buffer
+     *
+     * @param {string[]} items list of items to render
+     * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
+     *
+     * @returns {Summary} summary instance
+     */
+    addList(items, ordered = false) {
+        const tag = ordered ? 'ol' : 'ul';
+        const listItems = items.map(item => this.wrap('li', item)).join('');
+        const element = this.wrap(tag, listItems);
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds an HTML table to the summary buffer
+     *
+     * @param {SummaryTableCell[]} rows table rows
+     *
+     * @returns {Summary} summary instance
+     */
+    addTable(rows) {
+        const tableBody = rows
+            .map(row => {
+            const cells = row
+                .map(cell => {
+                if (typeof cell === 'string') {
+                    return this.wrap('td', cell);
+                }
+                const { header, data, colspan, rowspan } = cell;
+                const tag = header ? 'th' : 'td';
+                const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));
+                return this.wrap(tag, data, attrs);
+            })
+                .join('');
+            return this.wrap('tr', cells);
+        })
+            .join('');
+        const element = this.wrap('table', tableBody);
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds a collapsable HTML details element to the summary buffer
+     *
+     * @param {string} label text for the closed state
+     * @param {string} content collapsable content
+     *
+     * @returns {Summary} summary instance
+     */
+    addDetails(label, content) {
+        const element = this.wrap('details', this.wrap('summary', label) + content);
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds an HTML image tag to the summary buffer
+     *
+     * @param {string} src path to the image you to embed
+     * @param {string} alt text description of the image
+     * @param {SummaryImageOptions} options (optional) addition image attributes
+     *
+     * @returns {Summary} summary instance
+     */
+    addImage(src, alt, options) {
+        const { width, height } = options || {};
+        const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));
+        const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds an HTML section heading element
+     *
+     * @param {string} text heading text
+     * @param {number | string} [level=1] (optional) the heading level, default: 1
+     *
+     * @returns {Summary} summary instance
+     */
+    addHeading(text, level) {
+        const tag = `h${level}`;
+        const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)
+            ? tag
+            : 'h1';
+        const element = this.wrap(allowedTag, text);
+        return this.addRaw(element).addEOL();
+    }
+    /**
+     * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map + +/***/ }), + +/***/ 15688: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 81565: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map + +/***/ }), + +/***/ 2228: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__nccwpck_require__(13685)); +const https = __importStar(__nccwpck_require__(95687)); +const pm = __importStar(__nccwpck_require__(89889)); +const tunnel = __importStar(__nccwpck_require__(74798)); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', (chunk) => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 89889: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + try { + return new URL(proxyVar); + } + catch (_a) { + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) + return new URL(`http://${proxyVar}`); + } + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map + +/***/ }), + +/***/ 64072: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var loader = __nccwpck_require__(53279); +var dumper = __nccwpck_require__(11227); + + +function renamed(from, to) { + return function () { + throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + + 'Use yaml.' + to + ' instead, which is now safe by default.'); + }; +} + + +module.exports.Type = __nccwpck_require__(4011); +module.exports.Schema = __nccwpck_require__(95909); +module.exports.FAILSAFE_SCHEMA = __nccwpck_require__(69013); +module.exports.JSON_SCHEMA = __nccwpck_require__(58087); +module.exports.CORE_SCHEMA = __nccwpck_require__(13435); +module.exports.DEFAULT_SCHEMA = __nccwpck_require__(64743); +module.exports.load = loader.load; +module.exports.loadAll = loader.loadAll; +module.exports.dump = dumper.dump; +module.exports.YAMLException = __nccwpck_require__(44859); + +// Re-export all types in case user wants to create custom schema +module.exports.types = { + binary: __nccwpck_require__(32687), + float: __nccwpck_require__(77774), + map: __nccwpck_require__(3702), + null: __nccwpck_require__(86083), + pairs: __nccwpck_require__(1654), + set: __nccwpck_require__(54351), + timestamp: __nccwpck_require__(75558), + bool: __nccwpck_require__(18003), + int: __nccwpck_require__(71881), + merge: __nccwpck_require__(14229), + omap: __nccwpck_require__(86875), + seq: __nccwpck_require__(90449), + str: __nccwpck_require__(78039) +}; + +// Removed functions from JS-YAML 3.0.x +module.exports.safeLoad = renamed('safeLoad', 'load'); +module.exports.safeLoadAll = renamed('safeLoadAll', 'loadAll'); +module.exports.safeDump = renamed('safeDump', 'dump'); + + +/***/ }), + +/***/ 92147: +/***/ ((module) => { + +"use strict"; + + + +function isNothing(subject) { + return (typeof subject === 'undefined') || (subject === null); +} + + +function isObject(subject) { + return (typeof subject === 'object') && (subject !== null); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; + + return [ sequence ]; +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +function isNegativeZero(number) { + return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); +} + + +module.exports.isNothing = isNothing; +module.exports.isObject = isObject; +module.exports.toArray = toArray; +module.exports.repeat = repeat; +module.exports.isNegativeZero = isNegativeZero; +module.exports.extend = extend; + + +/***/ }), + +/***/ 11227: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-use-before-define*/ + +var common = __nccwpck_require__(92147); +var YAMLException = __nccwpck_require__(44859); +var DEFAULT_SCHEMA = __nccwpck_require__(64743); + +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +var CHAR_BOM = 0xFEFF; +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_EQUALS = 0x3D; /* = */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + + +var QUOTING_TYPE_SINGLE = 1, + QUOTING_TYPE_DOUBLE = 2; + +function State(options) { + this.schema = options['schema'] || DEFAULT_SCHEMA; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; + this.forceQuotes = options['forceQuotes'] || false; + this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// Including s-white (for some reason, examples doesn't match specs in this aspect) +// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark +function isNsCharOrWhitespace(c) { + return isPrintable(c) + && c !== CHAR_BOM + // - b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out +// c = flow-in ⇒ ns-plain-safe-in +// c = block-key ⇒ ns-plain-safe-out +// c = flow-key ⇒ ns-plain-safe-in +// [128] ns-plain-safe-out ::= ns-char +// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator +// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:” - “#” ) +// | ( /* An ns-char preceding */ “#” ) +// | ( “:” /* Followed by an ns-plain-safe(c) */ ) +function isPlainSafe(c, prev, inblock) { + var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); + var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); + return ( + // ns-plain-safe + inblock ? // c = flow-in + cIsNsCharOrWhitespace + : cIsNsCharOrWhitespace + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + ) + // ns-plain-char + && c !== CHAR_SHARP // false on '#' + && !(prev === CHAR_COLON && !cIsNsChar) // false on ': ' + || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#' + || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]' +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + // No support of ( ( “?” | “:” | “-” ) /* Followed by an ns-plain-safe(c)) */ ) part + return isPrintable(c) && c !== CHAR_BOM + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Simplified test for values allowed as the last character in plain style. +function isPlainSafeLast(c) { + // just not whitespace or colon, it will be checked to be plain character later + return !isWhitespace(c) && c !== CHAR_COLON; +} + +// Same as 'string'.codePointAt(pos), but works in older browsers. +function codePointAt(string, pos) { + var first = string.charCodeAt(pos), second; + if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { + second = string.charCodeAt(pos + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { + // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, + testAmbiguousType, quotingType, forceQuotes, inblock) { + + var i; + var char = 0; + var prevChar = null; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(codePointAt(string, 0)) + && isPlainSafeLast(codePointAt(string, string.length - 1)); + + if (singleLineOnly || forceQuotes) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + if (plain && !forceQuotes && !testAmbiguousType(string)) { + return STYLE_PLAIN; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + if (!forceQuotes) { + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey, inblock) { + state.dump = (function () { + if (string.length === 0) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; + } + if (!state.noCompatMode) { + if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? ('"' + string + '"') : ("'" + string + "'"); + } + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, + testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { + + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char = 0; + var escapeSeq; + + for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + escapeSeq = ESCAPE_SEQUENCES[char]; + + if (!escapeSeq && isPrintable(char)) { + result += string[i]; + if (char >= 0x10000) result += string[i + 1]; + } else { + result += escapeSeq || encodeHex(char); + } + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level, value, false, false) || + (typeof value === 'undefined' && + writeNode(state, level, null, false, false))) { + + if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level + 1, value, true, true, false, true) || + (typeof value === 'undefined' && + writeNode(state, level + 1, null, true, true, false, true))) { + + if (!compact || _result !== '') { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (_result !== '') pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || _result !== '') { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + if (explicit) { + if (type.multi && type.representName) { + state.tag = type.representName(object); + } else { + state.tag = type.tag; + } + } else { + state.tag = '?'; + } + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey, isblockseq) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + var inblock = block; + var tagStr; + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + if (block && (state.dump.length !== 0)) { + if (state.noArrayIndent && !isblockseq && level > 0) { + writeBlockSequence(state, level - 1, state.dump, compact); + } else { + writeBlockSequence(state, level, state.dump, compact); + } + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey, inblock); + } + } else if (type === '[object Undefined]') { + return false; + } else { + if (state.skipInvalid) return false; + throw new YAMLException('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + // Need to encode all characters except those allowed by the spec: + // + // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */ + // [36] ns-hex-digit ::= ns-dec-digit + // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */ + // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */ + // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-” + // [39] ns-uri-char ::= “%” ns-hex-digit ns-hex-digit | ns-word-char | “#” + // | “;” | “/” | “?” | “:” | “@” | “&” | “=” | “+” | “$” | “,” + // | “_” | “.” | “!” | “~” | “*” | “'” | “(” | “)” | “[” | “]” + // + // Also need to encode '!' because it has special meaning (end of tag prefix). + // + tagStr = encodeURI( + state.tag[0] === '!' ? state.tag.slice(1) : state.tag + ).replace(/!/g, '%21'); + + if (state.tag[0] === '!') { + tagStr = '!' + tagStr; + } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { + tagStr = '!!' + tagStr.slice(18); + } else { + tagStr = '!<' + tagStr + '>'; + } + + state.dump = tagStr + ' ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + var value = input; + + if (state.replacer) { + value = state.replacer.call({ '': value }, '', value); + } + + if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; + + return ''; +} + +module.exports.dump = dump; + + +/***/ }), + +/***/ 44859: +/***/ ((module) => { + +"use strict"; +// YAML error class. http://stackoverflow.com/questions/8458984 +// + + + +function formatError(exception, compact) { + var where = '', message = exception.reason || '(unknown reason)'; + + if (!exception.mark) return message; + + if (exception.mark.name) { + where += 'in "' + exception.mark.name + '" '; + } + + where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; + + if (!compact && exception.mark.snippet) { + where += '\n\n' + exception.mark.snippet; + } + + return message + ' ' + where; +} + + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + return this.name + ': ' + formatError(this, compact); +}; + + +module.exports = YAMLException; + + +/***/ }), + +/***/ 53279: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len,no-use-before-define*/ + +var common = __nccwpck_require__(92147); +var YAMLException = __nccwpck_require__(44859); +var makeSnippet = __nccwpck_require__(96381); +var DEFAULT_SCHEMA = __nccwpck_require__(64743); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || DEFAULT_SCHEMA; + this.onWarning = options['onWarning'] || null; + // (Hidden) Remove? makes the loader to expect YAML 1.1 documents + // if such documents have no explicit %YAML directive + this.legacy = options['legacy'] || false; + + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + // position of first leading tab in the current line, + // used to make sure there are no tabs in the indentation + this.firstTabInLine = -1; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), // omit trailing \0 + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + + mark.snippet = makeSnippet(mark); + + return new YAMLException(message, mark); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, 'tag prefix is malformed: ' + prefix); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, + startLine, startLineStart, startPos) { + + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + + // used for this specific key only because Object.defineProperty is slow + if (keyNode === '__proto__') { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _lineStart, + _pos, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = Object.create(null), + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } else if (ch === 0x2C/* , */) { + // "flow collection entries can never be completely empty", as per YAML 1.2, section 7.4 + throwError(state, "expected the node content, but found ','"); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; // Save the current line. + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _keyLine, + _keyLineStart, + _keyPos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = Object.create(null), + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + // Neither implicit nor explicit notation. + // Reading is done. Go to the epilogue. + break; + } + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, 'tag name is malformed: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!_hasOwnProperty.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + + } else if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== '!') { + if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + } else { + // looking for multi type + type = null; + typeList = state.typeMap.multi[state.kind || 'fallback']; + + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type = typeList[typeIndex]; + break; + } + } + } + + if (!type) { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = Object.create(null); + state.anchorMap = Object.create(null); + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new YAMLException('expected a single document in the stream, but found more'); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; + + +/***/ }), + +/***/ 95909: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len*/ + +var YAMLException = __nccwpck_require__(44859); +var Type = __nccwpck_require__(4011); + + +function compileList(schema, name) { + var result = []; + + schema[name].forEach(function (currentType) { + var newIndex = result.length; + + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && + previousType.kind === currentType.kind && + previousType.multi === currentType.multi) { + + newIndex = previousIndex; + } + }); + + result[newIndex] = currentType; + }); + + return result; +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, index, length; + + function collectType(type) { + if (type.multi) { + result.multi[type.kind].push(type); + result.multi['fallback'].push(type); + } else { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + return this.extend(definition); +} + + +Schema.prototype.extend = function extend(definition) { + var implicit = []; + var explicit = []; + + if (definition instanceof Type) { + // Schema.extend(type) + explicit.push(definition); + + } else if (Array.isArray(definition)) { + // Schema.extend([ type1, type2, ... ]) + explicit = explicit.concat(definition); + + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] }) + if (definition.implicit) implicit = implicit.concat(definition.implicit); + if (definition.explicit) explicit = explicit.concat(definition.explicit); + + } else { + throw new YAMLException('Schema.extend argument should be a Type, [ Type ], ' + + 'or a schema definition ({ implicit: [...], explicit: [...] })'); + } + + implicit.forEach(function (type) { + if (!(type instanceof Type)) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + if (type.loadKind && type.loadKind !== 'scalar') { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + + if (type.multi) { + throw new YAMLException('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); + } + }); + + explicit.forEach(function (type) { + if (!(type instanceof Type)) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + }); + + var result = Object.create(Schema.prototype); + + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + + result.compiledImplicit = compileList(result, 'implicit'); + result.compiledExplicit = compileList(result, 'explicit'); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + + return result; +}; + + +module.exports = Schema; + + +/***/ }), + +/***/ 13435: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, Core schema has no distinctions from JSON schema is JS-YAML. + + + + + +module.exports = __nccwpck_require__(58087); + + +/***/ }), + +/***/ 64743: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +// +// This schema is based on standard YAML's Core schema and includes most of +// extra types described at YAML tag repository. (http://yaml.org/type/) + + + + + +module.exports = (__nccwpck_require__(13435).extend)({ + implicit: [ + __nccwpck_require__(75558), + __nccwpck_require__(14229) + ], + explicit: [ + __nccwpck_require__(32687), + __nccwpck_require__(86875), + __nccwpck_require__(1654), + __nccwpck_require__(54351) + ] +}); + + +/***/ }), + +/***/ 69013: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + + + + +var Schema = __nccwpck_require__(95909); + + +module.exports = new Schema({ + explicit: [ + __nccwpck_require__(78039), + __nccwpck_require__(90449), + __nccwpck_require__(3702) + ] +}); + + +/***/ }), + +/***/ 58087: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, this schema is not such strict as defined in the YAML specification. +// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + + + + +module.exports = (__nccwpck_require__(69013).extend)({ + implicit: [ + __nccwpck_require__(86083), + __nccwpck_require__(18003), + __nccwpck_require__(71881), + __nccwpck_require__(77774) + ] +}); + + +/***/ }), + +/***/ 96381: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var common = __nccwpck_require__(92147); + + +// get snippet for a single line, respecting maxLength +function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { + var head = ''; + var tail = ''; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + + if (position - lineStart > maxHalfLength) { + head = ' ... '; + lineStart = position - maxHalfLength + head.length; + } + + if (lineEnd - position > maxHalfLength) { + tail = ' ...'; + lineEnd = position + maxHalfLength - tail.length; + } + + return { + str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, + pos: position - lineStart + head.length // relative position + }; +} + + +function padStart(string, max) { + return common.repeat(' ', max - string.length) + string; +} + + +function makeSnippet(mark, options) { + options = Object.create(options || null); + + if (!mark.buffer) return null; + + if (!options.maxLength) options.maxLength = 79; + if (typeof options.indent !== 'number') options.indent = 1; + if (typeof options.linesBefore !== 'number') options.linesBefore = 3; + if (typeof options.linesAfter !== 'number') options.linesAfter = 2; + + var re = /\r?\n|\r|\0/g; + var lineStarts = [ 0 ]; + var lineEnds = []; + var match; + var foundLineNo = -1; + + while ((match = re.exec(mark.buffer))) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + + if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; + + var result = '', i, line; + var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); + + for (i = 1; i <= options.linesBefore; i++) { + if (foundLineNo - i < 0) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo - i], + lineEnds[foundLineNo - i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), + maxLineLength + ); + result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n' + result; + } + + line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; + + for (i = 1; i <= options.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo + i], + lineEnds[foundLineNo + i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), + maxLineLength + ); + result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + } + + return result.replace(/\n$/, ''); +} + + +module.exports = makeSnippet; + + +/***/ }), + +/***/ 4011: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var YAMLException = __nccwpck_require__(44859); + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'multi', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'representName', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.options = options; // keep original options in case user wants to extend this type later + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.representName = options['representName'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.multi = options['multi'] || false; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +module.exports = Type; + + +/***/ }), + +/***/ 32687: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-bitwise*/ + + +var Type = __nccwpck_require__(4011); + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + return new Uint8Array(result); +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(obj) { + return Object.prototype.toString.call(obj) === '[object Uint8Array]'; +} + +module.exports = new Type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + + +/***/ }), + +/***/ 18003: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +module.exports = new Type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 77774: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(92147); +var Type = __nccwpck_require__(4011); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 71881: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(92147); +var Type = __nccwpck_require__(4011); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'o') { + // base 8 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + } + + // base 10 (except 0) + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + return true; +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); + if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + + +/***/ }), + +/***/ 3702: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + + +/***/ }), + +/***/ 14229: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + + +/***/ }), + +/***/ 86083: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +module.exports = new Type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; }, + empty: function () { return ''; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 86875: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +module.exports = new Type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + + +/***/ }), + +/***/ 1654: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +var _toString = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + + +/***/ }), + +/***/ 90449: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + + +/***/ }), + +/***/ 54351: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +module.exports = new Type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + + +/***/ }), + +/***/ 78039: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + + +/***/ }), + +/***/ 75558: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(4011); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + + +/***/ }), + +/***/ 8749: +/***/ (function(module, exports, __nccwpck_require__) { + +/* module decorator */ module = __nccwpck_require__.nmd(module); +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = true && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

' + func(text) + '

'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '

fred, barney, & pebbles

' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<%- value %>'); + * compiled({ 'value': '